Systèmes linéaires

Plan du chapitre "Matrices et applications linéaires"

Généralités et définitions

On appelle système linéaire de {n} équations, à {p} inconnues et à coefficients dans {\mathbb{K}} tout système d’équations de la forme : {\text{(S)\ }\begin{cases}a_{11}\,x_1+a_{12}\,x_2+\cdots+a_{1j}\,x_j+\cdots+a_{1p}\,x_p=b_1\cr a_{21}\,x_1+a_{22}\,x_2+\cdots+a_{2j}\,x_j+\cdots+a_{2p}\,x_p=b_2\cr \vdots\qquad\vdots\qquad\vdots\qquad\vdots\cr a_{i1}\,x_1\,+a_{i2}\,x_2\,+\cdots\,+a_{ij}\,x_j+\cdots+a_{ip}\,x_p=b_i\cr \vdots\qquad\vdots\qquad\vdots\qquad\vdots\cr a_{n1}\,x_1+a_{n2}\,x_2+\cdots+a_{nj}\,x_j+\cdots+a_{np}\,x_p=b_n\end{cases}}

{\vartriangleright} Matrice du système, et seconds membres

Les {a_{ij}} sont appelés les coefficients du système.
La matrice {A=(a_{i,j})}, élément de {{\mathcal M}_{n,p}(\mathbb{K})}, est appelée matrice du système.
Le rang de la matrice {A} est appelé le rang du système.
Les coefficients {b_1,\ldots,b_n} sont appelés seconds membres du système.

Le système (S) est dit triangulaire (ou en escaliers”, ou en cascades”) si la matrice {A} est triangulaire.
Il est dit carré si {n=p}. La matrice {A} est alors un élément de {{\mathcal M}_n(\mathbb{K})}.

{\vartriangleright} Inconnues et solutions

On dit que l’élément {(x_1,x_2,\ldots,x_p)} de {\mathbb{K}^p} est le {p}-uplet des inconnues du système.
On dit que {(x_1,x_2,\ldots,x_p)} est une solution du système si les valeurs {x_1,x_2,\ldots,x_p} satisfont à chacune des égalités figurant dans (S).

L’ensemble des solutions d’un système linéaire peut être vide ou non vide.
S’il est non vide, on verra qu’il est soit réduit à un seul élément de {\mathbb{K}^p} , soit infini.
Deux systèmes linéaires sont dits équivalents s’ils ont le même ensemble de solutions.

{\vartriangleright} Système homogène associé

Un système linéaire est dit homogène si ses seconds membres {b_i} sont nuls.
À un système (S) on associe un système homogène (H) en annulant les seconds membres.
Un système homogène possède au moins la solution {(0,0,\ldots,0)} dite solution triviale.

Interprétations d’un système linéaire

On reprend le système (S) défini au paragraphe précédent.

{\vartriangleright} Interprétation matricielle

Soit {A=(a_{ij})\in\mathcal{M}_{n,p}(\mathbb{K})} la matrice de (S), {B=\begin{pmatrix}b_1\cr b_2\cr\vdots\cr b_n\end{pmatrix}}et {X=\begin{pmatrix}x_1\cr x_2\cr\vdots\cr x_p\end{pmatrix}}.

(S) s’écrit : {\begin{pmatrix}a_{11}&\ldots&a_{1j}&\ldots&a_{1p}\cr \vdots& &\vdots& &\vdots\cr a_{i1}&\ldots&a_{ij}&\ldots&a_{ip}\cr \vdots& &\vdots& &\vdots\cr a_{n1}&\ldots&a_{nj}&\ldots&a_{np}\end{pmatrix}\begin{pmatrix}x_1\cr\vdots\cr x_j\cr\vdots\cr\vdots\cr x_p\end{pmatrix}=\begin{pmatrix}b_1\cr\vdots\cr b_i\cr\vdots\cr b_n\end{pmatrix}}, c’est-à-dire {AX=B}.

Si {A} est carrée inversible (système dit “de Cramer”), (S) a une solution unique {X=A^{-1}B}.

Le système homogène (H) associé à (S) s’écrit : {AX=0}.

{\vartriangleright} Interprétation en termes d’applications linéaires

Soit {f} l’application linéaire de {\mathbb{K}^p} vers {\mathbb{K}^n}, de matrice {A} dans les bases canoniques.
Soit {x=(x_1,x_2,\ldots,x_p)} dans {\mathbb{K}^p} et {b=(b_1,b_2,\ldots,b_n)} dans {\mathbb{K}^n}.

Le système (S) équivaut alors à l’égalité vectorielle {f(x)=b}.
Résoudre (S), c’est donc chercher l’image réciproque de {b\in\mathbb{K}^n} par l’application linéaire {f}.
Le système (S) admet donc au moins une solution si et seulement si {b} est dans l’image de {f}.

Le système homogène associé (H) équivaut à {f(x)=0}.
Résoudre (H), c’est donc trouver {\text{Ker}(f)}.

{\vartriangleright} Interprétation en termes de combinaisons linéaires

Pour {1\le j\le p}, soit {C_j=\begin{pmatrix}a_{1j}\cr a_{2j}\cr\vdots\cr a_{nj}\end{pmatrix}} la {j}-ième colonne de {A}, et {B=\begin{pmatrix}b_1\cr b_2\cr\vdots\cr b_n\end{pmatrix}}.

Le système (S) s’écrit : {x_1\begin{pmatrix}a_{11}\cr a_{21}\cr\vdots\cr a_{n1}\end{pmatrix}+\cdots+x_j\begin{pmatrix}a_{1j}\cr a_{2j}\cr\vdots\cr a_{nj}\end{pmatrix}+\cdots+x_p\begin{pmatrix}a_{1p}\cr a_{2p}\cr\vdots\cr a_{np}\end{pmatrix}=\begin{pmatrix}b_1\cr b_2\cr\vdots\cr b_n\end{pmatrix}}
Autrement dit, (S) s’écrit : {x_1C_1+\cdots+x_jC_j+\cdots+x_pC_p=B}.

Résoudre (S), c’est trouver les façons d’écrire {B} comme combinaison linéaire de {C_1,\ldots, C_p}.

Le système (S) a donc au moins une solution si et seulement si {B\in\text{Vect}(C_1,C_2,\ldots,C_p)}.

Résoudre (H), c’est trouver les {p}-uplets {(x_1,\ldots,x_p)} tels que {\displaystyle\sum_{k=1}^px_kC_k=0}.
Le système (H) a d’autres solutions que la solution nulle si et seulement si {C_1,C_2,\ldots,C_p} sont liés.

{\vartriangleright} Interprétation en termes d’intersections d’hyperplans affines

Revenons à la définition initiale du système (S).
Considérons la {i}-ème équation {(\text{E}_i) : a_{i1}\,x_1\,+a_{i2}\,x_2\,+\cdots\,+a_{ij}\,x_j+\cdots+a_{ip}\,x_p=b_i}

On commence par éliminer le cas où tous les coefficients {a_{i,j}} de cette ligne sont nuls : si {b_i=0}, alors {(\text{E}_i)} se réduit à {0=0} et disparaît, mais si {b_i\ne0} alors {(\text{E}_i)} (et donc (S)) n’a aucune solution.

On suppose donc que les {p}-uplets {(a_{i1},a_{i2},\ldots,a_{ip})}, avec {1\le i\le n} sont non nuls.

Chaque application {\varphi_i\colon\mathbb{K}^p\to\mathbb{K}} définie par {\varphi_i(x_1,x_2,\ldots,x_p)=a_{i1}\,x_1\,+a_{i2}\,x_2\,+\cdots\,+a_{ij}\,x_j+\cdots+a_{ip}\,x_p}
est alors une forme linéaire non nulle sur {\mathbb{K}^p}.

L’équation {(\text{E}_i)} s’écrit {\varphi_{i}(x)=b}, et elle définit un hyperplan affine {\mathcal{H}_i} de {\mathbb{K}^p}.

L’équation correspondante du système homogène associé (H) s’écrit {\varphi_{i}(x)=0}, et elle définit l’ hyperplan vectoriel {H_i} de {\mathbb{K}^p} qui est la direction de {\mathcal{H}_i}.

Avec cette interprétation, résoudre (S) c’est déterminer l’intersection des hyperplans affines {\mathcal{H}_i}, et résoudre (H) c’est déterminer l’intersection des hyperplans vectoriels {H_i}.

Structure de l’ensemble des solutions

On reprend le système (S) défini dans les deux sous-sections précédentes.

{\vartriangleright} Structure de l’ensemble des solutions du système homogène

Utilisons l’interprétation de (H) en termes d’applications linéaires : {x=(x_1,x_2,\ldots,x_p)} est solution du système homogène (H) si et seulement si {f(x)=0} c’est-à-dire {x\in\text{Ker}(f)}.

Or le théorème du rang dit que {\text{Ker}(f)} est un sous-espace de {\mathbb{K}^p} de dimension {p-\text{rg}(f)}, où {\text{rg}(f)} est le rang de l’application linéaire {f} c’est-à-dire le rang de {A}.

On peut donc énoncer :

Proposition (structure de l'ensemble des solutions du système linéaire homogène (H))
Soit (H) un système linéaire homogène de {n} équations, à {p} inconnues et à coefficients dans {\mathbb{K}}.
Soit {AX=0} l’écriture matricielle de ce système, avec {A} dans {\mathcal{M}_{n,p}(\mathbb{K})} et {X} dans {\mathcal{M}_{p,1}(\mathbb{K})}.
Soit {r} le rang du système, c’est-à-dire le rang de la matrice {A}.
Alors l’ensemble des solutions {X} de (H) est un espace vectoriel de dimension {p-r}.

{\vartriangleright} Structure de l’ensemble des solutions du système (S)

Supposons que (S) possède au moins une solution {x_0}. Soit {x} un vecteur de {\mathbb{K}^p}.

On a les équivalences : {(x\text{\ est solution de\ }(S))\Leftrightarrow f(x)=b \Leftrightarrow f(x)=f(x_0)\Leftrightarrow f(x-x_0)=0}

Ainsi les solution de (S) sont les {x=x_0+h}{h} est une solution quelconque de (H).

L’ensemble des solutions {\mathcal{S}_S} de (S) est alors un sous-espace affine dont la direction est l’ensemble des solutions {\mathcal{S}_H} de (H) (et dont la dimension est donc {p-r}).

Attention : le calcul précédent est fait sous réserve que le système (S) admette au moins une solution!

Définition (système linéaire compatible)
Soit (S) un système linéaire homogène de {n} équations, à {p} inconnues et à coefficients dans {\mathbb{K}}.
Soit {AX=B} l’écriture matricielle de (S), avec {A\in\mathcal{M}_{n,p}(\mathbb{K})}, {B\in\mathcal{M}_{n,1}(\mathbb{K})}, {X\in\mathcal{M}_{p,1}(\mathbb{K})}.
On dit que le système (S) est compatible si l’ensemble de ses solutions est non vide.
Cela équivaut, avec l’interprétation matricielle, à dire que {B} est dans l’image de {A}.

On peut donc énoncer :

Proposition (structure de l'ensemble des solutions d'un système linéaire compatible)
Soit (S) un système linéaire homogène de {n} équations, à {p} inconnues et à coefficients dans {\mathbb{K}}.
Soit {AX=B} l’écriture matricielle de (S), avec {A\in\mathcal{M}_{n,p}(\mathbb{K})}, {B\in\mathcal{M}_{n,1}(\mathbb{K})}, {X\in\mathcal{M}_{p,1}(\mathbb{K})}.
Soit {r} le rang du système, c’est-à-dire le rang de la matrice {A}.
On suppose que le système (S) est compatible.
Alors l’ensemble des solutions {X} de (S) est un sous-espace affine de dimension {p-r}.
Il s’obtient en ajoutant à une solution particulière de (S) la solution générale de (H).

{\vartriangleright} Remarques

On garde bien sûr les notations précédentes, le système {(S)} s’écrivant indifféremment {f(x)=b} (avec {f} dans {\mathcal{L}(\mathbb{K}^{p},\mathbb{K}^{n})}) ou {AX=B} (avec {A} dans {\mathcal{M}_{n,p}(\mathbb{K})}).

Le système (S) est compatible si et seulement si {b} appartient à {\text{Im}(f)}.
Cela dépend de {b}, mais si {f} est surjective (c’est-à-dire {\text{rg}(A)=n}) alors (S) est toujours compatible.

Si {f} est injective (c’est-à-dire {\text{rg}(A)=p}) alors (S) possède au plus une solution, quelque soit le second membre {b}. Le système homogène (H), quant à lui, possède alors uniquement la solution triviale.

L’ensemble des solutions d’un système linéaire quelconque (S) est donc ou bien vide (système dit incompatible) ou bien réduit à un seul élément (cas où {f} est bijective), ou bien infini (en tant que sous-espace affine de dimension supérieure ou égale à {1}).

Systèmes de Cramer

On se place ici dans le cas d’un système carré ({n} équations et {n} inconnues).
Matriciellement, (S) s’écrit donc {AX=B}, avec {A\in\mathcal{M}_n(\mathbb{K})}, et {X,B\in\mathcal{M}_{n,1}(\mathbb{K})}.

Proposition (solution unique d'un système de Cramer)
Soit (S) un système linéaire de {n} équations, à {n} inconnues et à coefficients dans {\mathbb{K}}.
Soit {AX=B} son écriture matricielle, avec {A\in\mathcal{M}_{n}(\mathbb{K})}, {B\in\mathcal{M}_{n,1}(\mathbb{K})}, {X\in\mathcal{M}_{n,1}(\mathbb{K})}.
Soit {r} le rang du système, c’est-à-dire le rang de la matrice {A}.
Le système (S) possède une solution unique si et seulement {r=n}, c’est-à-dire si et seulement si la matrice {A} est inversible. Cette solution est {X=A^{-1}B}.
On dit alors que (S) est un “système de Cramer”

Avec l’interprétation en termes d’applications linéaires : {f(x)=b\Leftrightarrow x=f^{-1}(b)}.

Si on utilise l’interprétation de (S) en termes de combinaisons linéaires, l’unique solution {(x_1,x_2,\ldots,x_n)} de (S) est le {n}-uplet des coordonnées du vecteur {B} (colonne des seconds membres) dans la base de {\mathbb{K}^n} formée par les colonnes {C_1,C_2,\ldots,C_n} de la matrice {A}.

Résolution d’un système de Cramer avec Python

On utilise la fonction solve dans numpy.linalg :

>>> import numpy as np         # toujours s’assurer que numpy est importé!
>>> a = np.array([[1,3,2],[4,1,5],[6,2,7]]);
>>> a # matrice A carrée d’ordre 3
array([[1, 3, 2],
[4, 1, 5],
[6, 2, 7]])
>>> np.linalg.det(a) # déterminant non nul, matrice inversible
7.0000000000000071
>>> b = np.array([1,4,2]); b # le vecteur B des seconds membres
array([1, 4, 2])
>>> x = np.linalg.solve(a, b); x # la solution X du système
array([-6.42857143, -1.71428571, 6.28571429])
>>> np.dot(a,x) # on vérifie qu’on a bien AX=B
array([ 1., 4., 2.])

Voici ce qui se passe si la matrice carrée {A} n’est pas inversible.
Dans l’exemple ci-dessous la matrice {A} est de rang {2} (on a en effet {\text{L}_{3}=\text{L}_{2}-2\text{L}_{1}}).

>>> a = np.array([[1,3,2],[4,1,5],[2,-5,1]]); a
array([[ 1, 3, 2],
[ 4, 1, 5],
[ 2, -5, 1]])
>>> x = np.linalg.solve(a, b); # avec les mêmes seconds membres
[…]
numpy.linalg.linalg.LinAlgError : Singular matrix
>>> np.linalg.det(a) # effectivement le déterminant est nul
0.0

Résolution par la méthode du pivot de Gauss

Les aspects techniques de la résolution des systèmes linéaires par la méthode du pivot de Gauss ont été traités dans le chapitre 2 (“Calculs algébriques”) de ce cours

Page précédente : calcul effectif du rang
Retour au début: matrice d’une application linéaire