MPSI · Calcul matriciel et systèmes linéaires

Échelonnement et algorithme de Gauss-Jordan

Matrices échelonnées par lignes

Question

Les opérations élémentaires ne coûtent rien : on peut en enchaîner autant qu'on veut. Encore faut-il savoir où l'on va. Vers quelle forme, la plus creusée de zéros possible, peut-on toujours espérer amener une matrice — et comment reconnaître qu'on y est arrivé ?

Définition 1 : Matrice échelonnée par lignes et pivot

Une matrice AA est dite échelonnée par lignes si le nombre de zéros au début de chaque ligne augmente strictement jusqu'à ce qu'il ne reste plus que des lignes nulles.

Le premier coefficient non nul de chaque ligne est appelé pivot.

(000000000000000) : pivots\begin{pmatrix} * & \cdots & \cdots & \cdots & \cdots & \cdots\\ 0 & 0 & * & \cdots & \cdots & \cdots\\ 0 & 0 & 0 & * & \cdots & \cdots\\ 0 & 0 & 0 & 0 & 0 & *\\ \vdots & & & & & \vdots\\ 0 & 0 & 0 & 0 & \cdots & 0 \end{pmatrix} \qquad *\ :\ \text{pivots}

Exemple :

  1. La matrice (12140321000100000000)\begin{pmatrix} 1 & 2 & -1 & 4\\ 0 & 3 & 2 & -1\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{pmatrix} est échelonnée par lignes.

  2. La matrice (1213012102150012)\begin{pmatrix} -1 & 2 & 1 & 3\\ 0 & 1 & 2 & -1\\ 0 & 2 & 1 & 5\\ 0 & 0 & 1 & 2 \end{pmatrix} n'est pas échelonnée par lignes.

Remarque :

Dans une matrice échelonnée, chaque ligne non nulle porte exactement un pivot, et deux pivots ne sont jamais dans la même colonne : les colonnes des pivots, lues de haut en bas, forment une suite strictement croissante d'indices.

Test 1 : Triangulaire et échelonnée

Toute matrice triangulaire supérieure de Mn(K)\mathcal{M}_{n}(\mathbb{K}) est échelonnée par lignes.

Test 2 : Échelonnée et triangulaire

Toute matrice carrée échelonnée par lignes est triangulaire supérieure.

Question

Une forme échelonnée n'est pas encore la plus simple possible : les pivots peuvent valoir n'importe quoi, et leur colonne peut contenir d'autres coefficients non nuls, au-dessus d'eux. Jusqu'où peut-on pousser le nettoyage ?

Définition 2 : Matrice échelonnée réduite par lignes

Une matrice AA est dite échelonnée réduite par lignes si elle est échelonnée par lignes, si ses pivots sont égaux à 11 et s'ils sont les seuls coefficients non nuls de leur colonne.

(100010000100000)\begin{pmatrix} 1 & 0 & * & 0 & \cdots\\ 0 & 1 & * & 0 & \cdots\\ 0 & 0 & 0 & 1 & \cdots\\ \vdots & \vdots & \vdots & 0 & \cdots\\ 0 & 0 & 0 & 0 & \cdots \end{pmatrix}

Exemple :

Les matrices

(10000100001000010000)et(1010012000010000)\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{pmatrix} \qquad\text{et}\qquad \begin{pmatrix} 1 & 0 & -1 & 0\\ 0 & 1 & 2 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{pmatrix}

sont échelonnées réduites par lignes.

Test 3 : Pivots égaux à 1

Une matrice échelonnée par lignes dont tous les pivots valent 11 est échelonnée réduite par lignes.

L'algorithme de Gauss-Jordan

Question

Toute matrice peut-elle être amenée à une forme échelonnée réduite ? Et si oui, la suite d'opérations qui y conduit se résume-t-elle, comme on l'a vu à la leçon précédente, en une seule matrice EE multipliant AA à gauche ?

Théorème 1 : Algorithme de Gauss-Jordan

Pour toute matrice AA, il existe une matrice EE, produit de matrices d'opérations élémentaires, et une matrice RR échelonnée réduite par lignes telles que EA=REA=R.

Démonstration :

Soit nNn\in\mathbb{N}^{*} fixé. On raisonne par récurrence sur le nombre pp de colonnes, la propriété au rang pp étant : « pour toute AMn,p(K)A\in\mathcal{M}_{n,p}(\mathbb{K}), il existe EE, produit de matrices d'opérations élémentaires de taille n×nn\times n, telle que EAEA soit échelonnée réduite par lignes ».

Initialisation (p=1p=1). La matrice AA est une colonne. Si A=On,1A=O_{n,1}, elle est déjà échelonnée réduite et E=InE=I_{n} convient. Sinon, il existe ii tel que ai,10a_{i,1}\neq 0. On effectue successivement :

  • L1LiL_{1}\longleftrightarrow L_{i}, de matrice P1,iP_{1,i} ;
  • L11ai,1L1L_{1}\leftarrow \dfrac{1}{a_{i,1}}L_{1}, de matrice D1 ⁣(1ai,1)D_{1}\!\left(\dfrac{1}{a_{i,1}}\right), ce qui amène un pivot égal à 11 en première ligne ;
  • pour chaque k2k\geqslant 2, LkLkbkL1L_{k}\leftarrow L_{k}-b_{k}L_{1}, de matrice Tk,1(bk)T_{k,1}(-b_{k}), où bkb_{k} désigne le coefficient courant de la ligne kk.

La colonne obtenue a un 11 en tête et des zéros en dessous : elle est échelonnée réduite. La matrice EE est le produit des matrices ci-dessus, prises dans l'ordre inverse de leur emploi.

Hérédité. Soit pNp\in\mathbb{N}^{*} tel que la propriété soit vraie au rang pp, et soit AMn,p+1(K)A\in\mathcal{M}_{n,p+1}(\mathbb{K}). On écrit A=(AC)A=\bigl(A'\mid C\bigr), où AMn,p(K)A'\in\mathcal{M}_{n,p}(\mathbb{K}) est formée des pp premières colonnes de AA et CC de la dernière. Par hypothèse de récurrence, il existe EE', produit de matrices d'opérations élémentaires, telle que R=EAR'=E'A' soit échelonnée réduite. Comme les colonnes d'un produit sont les produits par les colonnes,

EA=(EAEC)=(RC),avec C=EC.E'A=\bigl(E'A'\mid E'C\bigr)=\bigl(R'\mid C'\bigr), \qquad\text{avec } C'=E'C.

Notons rr le nombre de pivots de RR' : les lignes de RR' d'indice supérieur ou égal à r+1r+1 sont nulles. Deux cas se présentent.

Premier cas : [C]k,1=0[C']_{k,1}=0 pour tout kr+1k\geqslant r+1. Alors les lignes d'indice r+1\geqslant r+1 de (RC)\bigl(R'\mid C'\bigr) sont nulles, les rr premières portent les pivots de RR', qui valent 11 et sont seuls non nuls dans leur colonne. La matrice (RC)\bigl(R'\mid C'\bigr) est donc échelonnée réduite, et E=EE=E' convient.

Second cas : il existe kr+1k\geqslant r+1 tel que γ=[C]k,10\gamma=[C']_{k,1}\neq 0. On effectue alors :

  • Lr+1LkL_{r+1}\longleftrightarrow L_{k} ;
  • Lr+11γLr+1L_{r+1}\leftarrow \dfrac{1}{\gamma}L_{r+1} ;
  • LmLm[C]m,1Lr+1L_{m}\leftarrow L_{m}-[C']_{m,1}L_{r+1} pour tout mr+1m\neq r+1.

Ces opérations ne modifient pas le bloc RR' : les deux premières ne font intervenir que des lignes d'indice r+1\geqslant r+1, où RR' est nulle, et la troisième ajoute à chaque ligne un multiple de la ligne r+1r+1, dont la partie gauche est nulle. Sur la dernière colonne, elles produisent un 11 en position r+1r+1 et des zéros partout ailleurs. La matrice obtenue est échelonnée réduite, avec r+1r+1 pivots, et EE est le produit de EE' par les matrices de ces opérations, dans l'ordre voulu.

Vocabulaire :

On dit que AA et RR sont équivalentes par lignes et on écrit ALRA\sim_{L}R.

Remarque :

Chaque opération élémentaire peut être défaite par une opération élémentaire : LiLjL_{i}\leftrightarrow L_{j} est sa propre inverse, LiαLiL_{i}\leftarrow \alpha L_{i} se défait par Li1αLiL_{i}\leftarrow \frac{1}{\alpha}L_{i} (c'est ici que sert l'hypothèse α0\alpha\neq 0), et LiLi+αLjL_{i}\leftarrow L_{i}+\alpha L_{j} par LiLiαLjL_{i}\leftarrow L_{i}-\alpha L_{j}. La relation L\sim_{L} est donc symétrique : si ALBA\sim_{L}B, alors BLAB\sim_{L}A.

Test 4 : Unicité de E

Dans le théorème de Gauss-Jordan, la matrice EE telle que EA=REA=R est unique.

Rédaction — Mener une réduction de Gauss-Jordan :

Pour amener AA à sa forme échelonnée réduite RR et obtenir au passage la matrice EE :

  1. Border AA par l'identité : former la matrice augmentée (AIn)\bigl(A\mid I_{n}\bigr). Toute opération sera menée sur les lignes entières, à travers la barre.
  2. Descendre (échelonnement). Pour la première colonne non nulle : amener en tête, par un échange de lignes, une ligne dont le coefficient est non nul — ce sera le pivot. Annuler tous les coefficients situés en dessous de lui par des opérations LkLkαLpivotL_{k}\leftarrow L_{k}-\alpha L_{\text{pivot}}. Recommencer sur le bloc restant, une ligne plus bas et au moins une colonne plus à droite.
  3. Normaliser : diviser chaque ligne non nulle par son pivot, pour que tous les pivots vaillent 11.
  4. Remonter (réduction). En partant du dernier pivot, annuler tous les coefficients situés au-dessus de lui, toujours par des opérations LkLkαLpivotL_{k}\leftarrow L_{k}-\alpha L_{\text{pivot}}.
  5. Lire le résultat. À l'arrivée, la matrice augmentée vaut (RE)\bigl(R\mid E\bigr) : le bloc de gauche est la forme échelonnée réduite, le bloc de droite est la matrice EE, puisque les mêmes opérations ont transformé InI_{n} en EE et AA en EAEA.

Conseil de calcul : retarder autant que possible l'étape 3, qui introduit les fractions.

Vocabulaire :

La matrice (AI)\bigl(A\mid I\bigr) est appelée matrice augmentée.

Exercice 1 : Réduction de Gauss-Jordan

Soit A=(012123111230)A=\begin{pmatrix} 0 & -1 & 2 & 1\\ 2 & 3 & 1 & -1\\ 1 & 2 & 3 & 0 \end{pmatrix}. Déterminer EE et RR telles que EA=REA=R, avec RR échelonnée réduite par lignes.

Solution :(cliquer pour afficher)

On applique l'algorithme de Gauss-Jordan à la matrice (AI3)\bigl(A\mid I_{3}\bigr) :

(012110023110101230001)L1L3(123000123110100121100)\left(\begin{array}{cccc|ccc} 0 & -1 & 2 & 1 & 1 & 0 & 0\\ 2 & 3 & 1 & -1 & 0 & 1 & 0\\ 1 & 2 & 3 & 0 & 0 & 0 & 1 \end{array}\right) \underset{L_{1}\leftrightarrow L_{3}}{\sim} \left(\begin{array}{cccc|ccc} 1 & 2 & 3 & 0 & 0 & 0 & 1\\ 2 & 3 & 1 & -1 & 0 & 1 & 0\\ 0 & -1 & 2 & 1 & 1 & 0 & 0 \end{array}\right)L2L22L1(123000101510120121100)L2L2(123000101510120121100)\underset{L_{2}\leftarrow L_{2}-2L_{1}}{\sim} \left(\begin{array}{cccc|ccc} 1 & 2 & 3 & 0 & 0 & 0 & 1\\ 0 & -1 & -5 & -1 & 0 & 1 & -2\\ 0 & -1 & 2 & 1 & 1 & 0 & 0 \end{array}\right) \underset{L_{2}\leftarrow -L_{2}}{\sim} \left(\begin{array}{cccc|ccc} 1 & 2 & 3 & 0 & 0 & 0 & 1\\ 0 & 1 & 5 & 1 & 0 & -1 & 2\\ 0 & -1 & 2 & 1 & 1 & 0 & 0 \end{array}\right)L1L12L2, L3L3+L2(107202301510120072112)L317L3(1072023015101200127171727)\underset{L_{1}\leftarrow L_{1}-2L_{2},\ L_{3}\leftarrow L_{3}+L_{2}}{\sim} \left(\begin{array}{cccc|ccc} 1 & 0 & -7 & -2 & 0 & 2 & -3\\ 0 & 1 & 5 & 1 & 0 & -1 & 2\\ 0 & 0 & 7 & 2 & 1 & -1 & 2 \end{array}\right) \underset{L_{3}\leftarrow \frac{1}{7}L_{3}}{\sim} \left(\begin{array}{cccc|ccc} 1 & 0 & -7 & -2 & 0 & 2 & -3\\ 0 & 1 & 5 & 1 & 0 & -1 & 2\\ 0 & 0 & 1 & \frac{2}{7} & \frac{1}{7} & -\frac{1}{7} & \frac{2}{7} \end{array}\right)L1L1+7L3, L2L25L3(10001110103757274700127171727).\underset{L_{1}\leftarrow L_{1}+7L_{3},\ L_{2}\leftarrow L_{2}-5L_{3}}{\sim} \left(\begin{array}{cccc|ccc} 1 & 0 & 0 & 0 & 1 & 1 & -1\\ 0 & 1 & 0 & -\frac{3}{7} & -\frac{5}{7} & -\frac{2}{7} & \frac{4}{7}\\ 0 & 0 & 1 & \frac{2}{7} & \frac{1}{7} & -\frac{1}{7} & \frac{2}{7} \end{array}\right).

Donc

R=(10000103700127)etE=(111572747171727).R=\begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & -\frac{3}{7}\\ 0 & 0 & 1 & \frac{2}{7} \end{pmatrix} \qquad\text{et}\qquad E=\begin{pmatrix} 1 & 1 & -1\\ -\frac{5}{7} & -\frac{2}{7} & \frac{4}{7}\\ \frac{1}{7} & -\frac{1}{7} & \frac{2}{7} \end{pmatrix}.

Exercice 2 : Deux échelonnements

Déterminer la forme échelonnée réduite par lignes de chacune des matrices suivantes.

A=(121324101223),B=(123246111).A=\begin{pmatrix} 1 & 2 & -1 & 3\\ 2 & 4 & 1 & 0\\ -1 & -2 & 2 & -3 \end{pmatrix}, \qquad B=\begin{pmatrix} 1 & 2 & 3\\ 2 & 4 & 6\\ 1 & 1 & 1 \end{pmatrix}.
Solution :(cliquer pour afficher)

Matrice AA. On échelonne d'abord :

AL2L22L1, L3L3+L1(121300360010)L213L2(121300120010)A \underset{L_{2}\leftarrow L_{2}-2L_{1},\ L_{3}\leftarrow L_{3}+L_{1}}{\sim} \begin{pmatrix} 1 & 2 & -1 & 3\\ 0 & 0 & 3 & -6\\ 0 & 0 & 1 & 0 \end{pmatrix} \underset{L_{2}\leftarrow \frac{1}{3}L_{2}}{\sim} \begin{pmatrix} 1 & 2 & -1 & 3\\ 0 & 0 & 1 & -2\\ 0 & 0 & 1 & 0 \end{pmatrix}L3L3L2(121300120002)L312L3(121300120001).\underset{L_{3}\leftarrow L_{3}-L_{2}}{\sim} \begin{pmatrix} 1 & 2 & -1 & 3\\ 0 & 0 & 1 & -2\\ 0 & 0 & 0 & 2 \end{pmatrix} \underset{L_{3}\leftarrow \frac{1}{2}L_{3}}{\sim} \begin{pmatrix} 1 & 2 & -1 & 3\\ 0 & 0 & 1 & -2\\ 0 & 0 & 0 & 1 \end{pmatrix}.

On remonte ensuite :

L2L2+2L3, L1L13L3(121000100001)L1L1+L2(120000100001).\underset{L_{2}\leftarrow L_{2}+2L_{3},\ L_{1}\leftarrow L_{1}-3L_{3}}{\sim} \begin{pmatrix} 1 & 2 & -1 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix} \underset{L_{1}\leftarrow L_{1}+L_{2}}{\sim} \begin{pmatrix} 1 & 2 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{pmatrix}.

La matrice obtenue est échelonnée réduite ; elle possède trois pivots, situés dans les colonnes 11, 33 et 44. Noter que la deuxième colonne ne porte aucun pivot : les colonnes des pivots ne sont pas nécessairement les premières.

Matrice BB. On a

BL2L22L1, L3L3L1(123000012)L2L3(123012000)B \underset{L_{2}\leftarrow L_{2}-2L_{1},\ L_{3}\leftarrow L_{3}-L_{1}}{\sim} \begin{pmatrix} 1 & 2 & 3\\ 0 & 0 & 0\\ 0 & -1 & -2 \end{pmatrix} \underset{L_{2}\leftrightarrow L_{3}}{\sim} \begin{pmatrix} 1 & 2 & 3\\ 0 & -1 & -2\\ 0 & 0 & 0 \end{pmatrix}L2L2(123012000)L1L12L2(101012000).\underset{L_{2}\leftarrow -L_{2}}{\sim} \begin{pmatrix} 1 & 2 & 3\\ 0 & 1 & 2\\ 0 & 0 & 0 \end{pmatrix} \underset{L_{1}\leftarrow L_{1}-2L_{2}}{\sim} \begin{pmatrix} 1 & 0 & -1\\ 0 & 1 & 2\\ 0 & 0 & 0 \end{pmatrix}.

Cette dernière matrice est échelonnée réduite, avec deux pivots seulement : la deuxième ligne de BB était le double de la première, et cette dépendance se solde par une ligne nulle.

Réduction simultanée et rang

Question

L'algorithme n'agit que sur les lignes, et laisse subsister au-dessus des pivots des colonnes sans pivot, encore encombrées de coefficients. Si l'on s'autorise en plus les opérations sur les colonnes, jusqu'où descend-on ?

Proposition 1 : Réduction simultanée par lignes et par colonnes

Si l'on agit à la fois sur les lignes et sur les colonnes, on obtient EAE=JrEAE'=J_{r}, avec

Jr=(Ir(0)(0)(0)),J_{r}=\left(\begin{array}{c|c} I_{r} & (0)\\ \hline (0) & (0) \end{array}\right),

JrJ_{r} est unique, tandis que EE et EE' ne sont pas nécessairement uniques.

Démonstration :

Montrons l'existence d'une telle écriture. D'après le théorème de Gauss-Jordan, il existe EE, produit de matrices d'opérations élémentaires, telle que R=EAR=EA soit échelonnée réduite. Notons rr le nombre de pivots de RR et j1<<jrj_{1}<\cdots<j_{r} les colonnes où ils se trouvent.

Étape 1 : ramener les colonnes des pivots en tête. Les échanges de colonnes C1Cj1C_{1}\leftrightarrow C_{j_{1}}, puis C2Cj2C_{2}\leftrightarrow C_{j_{2}}, et ainsi de suite, s'obtiennent par multiplication à droite par des matrices Pi,jP_{i,j}. On obtient une matrice de la forme

(IrB(0)(0)),\left(\begin{array}{c|c} I_{r} & B\\ \hline (0) & (0) \end{array}\right),

car les rr premières lignes portent maintenant les pivots en positions (1,1),,(r,r)(1,1),\dots,(r,r), ces pivots valent 11 et sont seuls non nuls dans leur colonne, et les lignes d'indice >r>r sont nulles.

Étape 2 : annuler le bloc BB. Pour chaque colonne CjC_{j} avec j>rj>r, on effectue CjCji=1r[B]i,jrCiC_{j}\leftarrow C_{j}-\sum_{i=1}^{r}[B]_{i,j-r}\,C_{i}, ce qui est une suite d'opérations CjCj+λCiC_{j}\leftarrow C_{j}+\lambda C_{i}, donc une suite de multiplications à droite par des matrices Ti,j(λ)T_{i,j}(\lambda). Comme la colonne CiC_{i} vaut, pour iri\leqslant r, la ieˋmei^{\text{ème}} colonne de IrI_{r} complétée par des zéros, cette opération retranche exactement le coefficient [B]i,jr[B]_{i,j-r} à la ligne ii et ne touche à rien d'autre. Le bloc BB devient nul, et l'on obtient JrJ_{r}.

En notant EE' le produit de toutes les matrices intervenant à droite, dans l'ordre où elles ont été employées, on a bien EAE=JrEAE'=J_{r}.

Quant à l'unicité de JrJ_{r} — c'est-à-dire au fait que l'entier rr ne dépend pas des opérations choisies — elle est admise ici ; elle sera établie plus tard, lorsque le rang aura reçu une définition indépendante de tout calcul.

Vocabulaire :

On appelle rang d'une matrice AA le nombre de pivots de la matrice échelonnée qui lui est équivalente. On le note rg(A)\mathrm{rg}(A).

Remarque :

Le rang se lit indifféremment comme le nombre de pivots, comme le nombre de lignes non nulles de la forme échelonnée, ou comme l'entier rr de la matrice JrJ_{r} : ces trois nombres coïncident, puisque chaque ligne non nulle d'une matrice échelonnée porte exactement un pivot.

Test 5 : Une borne sur le rang

Pour toute matrice AMn,p(K)A\in\mathcal{M}_{n,p}(\mathbb{K}), on a rg(A)min(n,p)\mathrm{rg}(A)\leqslant\min(n,p).

Test 6 : Rang et coefficients non nuls

Une matrice de M3(K)\mathcal{M}_{3}(\mathbb{K}) dont tous les coefficients sont non nuls est de rang 33.

Exercice 3 : Réduction à la forme Jᵣ

Soit A=(1224)A=\begin{pmatrix} 1 & 2\\ 2 & 4\end{pmatrix}.

  1. Déterminer EE, produit de matrices d'opérations élémentaires, telle que EAEA soit échelonnée réduite.
  2. Déterminer EE' telle que EAE=JrEAE'=J_{r}, et préciser rr.
  3. En déduire le rang de AA.
Solution :(cliquer pour afficher)
  1. L'opération L2L22L1L_{2}\leftarrow L_{2}-2L_{1}, de matrice T2,1(2)=(1021)T_{2,1}(-2)=\begin{pmatrix} 1 & 0\\ -2 & 1\end{pmatrix}, donne
EA=(1021)(1224)=(1200),EA=\begin{pmatrix} 1 & 0\\ -2 & 1\end{pmatrix}\begin{pmatrix} 1 & 2\\ 2 & 4\end{pmatrix} =\begin{pmatrix} 1 & 2\\ 0 & 0\end{pmatrix},

qui est échelonnée réduite : son unique pivot vaut 11 et est seul non nul dans sa colonne. On prend donc E=T2,1(2)E=T_{2,1}(-2).

  1. Il reste à annuler le coefficient 22 par l'opération C2C22C1C_{2}\leftarrow C_{2}-2C_{1}. D'après la traduction matricielle, cette opération sur les colonnes correspond à une multiplication à droite par T1,2(2)=(1201)T_{1,2}(-2)=\begin{pmatrix} 1 & -2\\ 0 & 1\end{pmatrix}. On a bien
(1200)(1201)=(1000)=J1.\begin{pmatrix} 1 & 2\\ 0 & 0\end{pmatrix}\begin{pmatrix} 1 & -2\\ 0 & 1\end{pmatrix} =\begin{pmatrix} 1 & 0\\ 0 & 0\end{pmatrix}=J_{1}.

Donc E=T1,2(2)E'=T_{1,2}(-2) et r=1r=1.

  1. La forme échelonnée de AA ne possède qu'un pivot : rg(A)=1\mathrm{rg}(A)=1. On le comprend en regardant AA : sa deuxième ligne est le double de la première.