# Élimination de Gauss-Jordan

En mathématiques, plus précisément en algèbre linéaire, l'élimination de Gauss-Jordan, est un algorithme pour déterminer les solutions d'un système d'équations linéaires. Cette méthode permet aussi de déterminer le rang d'une matrice et de calculer l'inverse d'une matrice (carrée) inversible. Lorsqu'on applique l'élimination de Gauss à une matrice, on obtient sa forme échelonnée réduite.
La méthode est nommée ainsi en hommage à Carl Friedrich Gauss et Wilhelm Jordan.

## Histoire

Cette méthode est connue des mathématiciens chinois depuis au moins le Ier siècle de notre ère. Elle est référencée dans le livre chinois Jiuzhang suanshu (Les Neuf Chapitres sur l'art mathématique), dont elle constitue le huitième chapitre, sous le titre « Fang cheng » (la disposition rectangulaire). La méthode est présentée au moyen de dix-huit exercices. Dans son commentaire daté de 263, Liu Hui en attribue la paternité à Chang Ts'ang, chancelier de l'empereur de Chine au IIe siècle avant notre ère.
En Europe, cette méthode a été découverte et présentée sous forme moderne au XIXe siècle. En 1810, Carl Friedrich Gauss présente sa méthode des moindres carrés dans un livre étudiant le mouvement de l'astéroïde Pallas. Dans l'article 13 de ce livre, il décrit une méthode générale de résolution de système d'équations linéaires qui constitue l'essentiel de la méthode du pivot. En 1888, Wilhelm Jordan publie un livre de géodésie précisant comment utiliser cette méthode et adoptant une notation un peu différente. C'est grâce à ce dernier livre que cette méthode se diffusa dans tout l'Occident. Elle est aujourd'hui connue sous le nom d'élimination de Gauss-Jordan ou méthode du pivot de Gauss.

## Algorithme
### Opérations

L'algorithme de Gauss-Jordan produit la matrice échelonnée réduite d'une matrice à l'aide d'opérations élémentaires sur les lignes. Trois types d'opérations élémentaires sont utilisées :
* Échange de deux lignes ;
* Multiplication d'une ligne par un scalaire non nul ;
* Ajout du multiple d'une ligne à une autre ligne.

### Pseudocode

Soit une matrice A de dimensions n × m ;
L'algorithme de Gauss-Jordan est le suivant :
Exemple.
On part de la matrice
    $\mathrm {A} ={\begin{pmatrix}2&-1&0\\-1&2&-1\\0&-1&2\end{pmatrix}}$
Il s'agit d'une matrice réelle, donc le module d'un coefficient est sa valeur absolue.
* Première itération, j = 1 (et r = 0) :
** étape 1.1 : on cherche dans la première colonne de la matrice la valeur maximale des valeurs absolues des coefficients. Elle vaut 2, située en (1, 1), de sorte que k = 1,
** étape 1.2.1 : r = 1,
** étape 1.2.2 : r = k, il n'y a pas d'échange,
** étape 1.2.3 : on divise la ligne 1 par A(1, 1) = 2, soit ${\begin{pmatrix}1&-1/2&0\end{pmatrix}}$,
** étape 1.2.4 :
*** ligne i = 2, on a A(2, 1) = -1 ; on calcule ${\begin{pmatrix}-1&2&-1\end{pmatrix}}-(-1)\times {\begin{pmatrix}1&-1/2&0\end{pmatrix}}={\begin{pmatrix}0&3/2&-1\end{pmatrix}}$,
*** ligne i = 3, on a A(3, 1) = 0, la ligne n'est donc pas modifiée,
** la matrice est alors $\mathrm {A} '={\begin{pmatrix}1&-1/2&0\\0&3/2&-1\\0&-1&2\end{pmatrix}}$ ;
* deuxième itération, j = 2 (et r = 1) :
** étape 2.1 : on cherche dans les lignes 2 à 3 de la deuxième colonne la valeur maximale en valeur absolue. Il s'agit de 3/2, situé en (2, 2),
** étape 2.2.1 : r = 2,
** étape 2.2.2 : r = k, il n'y a pas d'échange.
** étape 2.2.3 : on divise la ligne 2 par A'(2, 2) = 3/2, soit ${\begin{pmatrix}0&1&-2/3\end{pmatrix}}$,
** étape 2.2.4 :
*** ligne i = 1, on a A'(1, 2) = -1/2 ; on calcule ${\begin{pmatrix}1&-1/2&0\end{pmatrix}}-(-1/2)\times {\begin{pmatrix}0&1&-2/3\end{pmatrix}}={\begin{pmatrix}1&0&-1/3\end{pmatrix}}$,
*** ligne i = 3, on a A'(3, 2) = -1 ; on calcule ${\begin{pmatrix}0&-1&2\end{pmatrix}}-(-1)\times {\begin{pmatrix}0&1&-2/3\end{pmatrix}}={\begin{pmatrix}0&0&4/3\end{pmatrix}}$,
** la matrice est alors $\mathrm {A} ''={\begin{pmatrix}1&0&-1/3\\0&1&-2/3\\0&0&4/3\end{pmatrix}}$ ;
* troisième itération, j = 3 (et r = 2) :
** étape 3.1 : le pivot de la troisième colonne, troisième ligne est 4/3. Donc k = 3
** étape 3.2.1 : r = k,
** étape 3.2.2 : il n'y a aucune ligne à permuter,
** étape 3.2.3 : on divise la ligne 3 par A''(3, 3) = 4/3, elle devient ${\begin{pmatrix}0&0&1\end{pmatrix}}$
** étape 3.2.4 :
*** ligne i = 1, on a A''(1, 3) = -1/3. La dernière étape annule ce coefficient.
*** ligne i = 2, on a A''(2, 3) = -2/3. La dernière étape annule ce coefficient.
** la matrice est alors $\mathrm {A} '''={\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}}$ qui est réduite échelonnée.

### Stabilité numérique

La première section de l'algorithme, soit l'échange de ligne avec la valeur de pivot la plus grande, a pour but d'améliorer la stabilité numérique de l'algorithme. Cette étape tente de minimiser les erreurs d'arrondis cumulatives causant de l'instabilité numérique. Cette stratégie permet en général de remédier à cette instabilité, même si on peut donner des contre-exemples.

### Complexité algorithmique

La complexité algorithmique asymptotique de l'élimination de Gauss est O(n$^3$) (notations de Landau) : n×n est la taille de la matrice et le nombre d'instructions à réaliser est proportionnel à n$^3$. Cet algorithme peut être utilisé sur un ordinateur pour des systèmes avec des milliers d'inconnues et d'équations$^,$. Cependant, l'algorithme de Strassen, qui est en O(n$^{2,807}$) a une meilleure complexité algorithmique asymptotique.
La complexité algorithmique du pivot de Gauss reste O(n$^3$) quand la matrice est creuse. En effet, prenons une matrice n×n dont seulement k n entrées sont non nulles mais dont les entrées sont régulièrement réparties sur les lignes et les colonnes, alors au cours de l'algorithme du pivot de Gauss le nombre moyen de valeurs non nulles sur une ligne passera de k à 2k puis 3k jusqu'à n. On trouve donc que le nombre d'instructions est de l'ordre de n n (n-1)/2.

## Calcul de l'inverse d'une matrice carrée

L'élimination de Gauss-Jordan peut être utilisée pour inverser une matrice carrée si celle-ci est inversible. Pour cela, on crée une matrice à n lignes et 2n colonnes en bordant la matrice A par la matrice identité I$_n$, ce qui génère une matrice augmentée (en) notée [ A | I ]. Si la matrice d'entrée est inversible, on applique l'algorithme de Gauss-Jordan à la matrice augmentée. La matrice finale est de la forme [ I | A$^{−1}$ ] et contient l'inverse de la matrice initiale dans sa section de droite.

### Exemple

Admettons la matrice suivante:
    $\mathrm {A} =\left({\begin{array}{rrr}2&-1&0\\-1&2&-1\\0&-1&2\end{array}}\right)$
Pour trouver l'inverse de cette matrice, il faut générer la matrice augmentée [ A | I ] comme suit:
    $[\mathrm {A} |\mathrm {I} ]=\left({\begin{array}{rrr|rrr}2&-1&0&1&0&0\\-1&2&-1&0&1&0\\0&-1&2&0&0&1\end{array}}\right)$
En appliquant l'algorithme de Gauss-Jordan, on obtient la matrice augmentée sous sa forme échelonnée réduite suivante:
    $[\mathrm {I} |\mathrm {B} ]=\left({\begin{array}{rrr|rrr}1&0&0&{\frac {3}{4}}&{\frac {1}{2}}&{\frac {1}{4}}\\[3pt]0&1&0&{\frac {1}{2}}&1&{\frac {1}{2}}\\[3pt]0&0&1&{\frac {1}{4}}&{\frac {1}{2}}&{\frac {3}{4}}\end{array}}\right)$
Comme précédemment, le premier pivot est sur la première ligne. À l'étape 2.2.3, la première ligne devient
    $\left({\begin{array}{rrr|rrr}1&-1/2&0&1/2&0&0\end{array}}\right)$
L'étape 2.2.4 devient :
* ligne i = 2, on a A(2, 1) = -1 ; on calcule $({\begin{array}{rrr|rrr}-1&2&-1&0&1&0\end{array}})-(-1)\times ({\begin{array}{rrr|rrr}1&-1/2&0&1/2&0&0\end{array}})=({\begin{array}{rrr|rrr}0&3/2&-1&1/2&1&0\end{array}})$ ;
* ligne i = 3, on a A(3, 1) = 0, la ligne n'est pas modifiée.
On a donc
    $\left({\begin{array}{rrr|rrr}1&-1/2&0&1/2&0&0\\0&3/2&-1&1/2&1&0\\0&-1&2&0&0&1\end{array}}\right)$
Pour la deuxième itération, on permute les lignes 2 et 3, et on divise la nouvelle ligne 2 par 2, soit à l'étape 2.2.3 :
    $\left({\begin{array}{rrr|rrr}1&-1/2&0&1/2&0&0\\0&-1/2&1&0&0&1/2\\0&3/2&-1&1/2&1&0\end{array}}\right)$
À l'étape 2.2.4 :
* ligne i = 1, on a A(1, 3) = 0, la ligne n'est pas modifiée ;
* ligne i = 3, on a A(3, 3) = -1 ; on calcule $({\begin{array}{rrr|rrr}0&3/2&-1&1/2&1&0\end{array}})-(-1)\times ({\begin{array}{rrr|rrr}0&-1/2&1&0&0&1/2\end{array}})=({\begin{array}{rrr|rrr}0&1&0&1/2&1&1/2\end{array}})$ ;
On a donc
    $\left({\begin{array}{rrr|rrr}1&-1/2&0&1/2&0&0\\0&-1/2&1&0&0&1/2\\0&1&0&1/2&1&1/2\end{array}}\right)$
Pour la troisième itération, on divise la ligne 3 par 1, la matrice est inchangée à l'étape 2.2.3.
À l'étape 2.2.4 :
* ligne i = 1, on a A(1, 2) = -1/2 ; on calcule $({\begin{array}{rrr|rrr}1&-1/2&0&1/2&0&0\end{array}})-(-1/2)\times ({\begin{array}{rrr|rrr}0&1&0&1/2&1&1/2\end{array}})=({\begin{array}{rrr|rrr}1&0&0&3/4&1/2&1/4\end{array}})$ ;
* ligne i = 2, on a A(2, 2) = -1/2 ; on calcule $({\begin{array}{rrr|rrr}0&-1/2&1&0&0&1/2\end{array}})-(-1/2)\times ({\begin{array}{rrr|rrr}0&1&0&1/2&1&1/2\end{array}})=({\begin{array}{rrr|rrr}0&0&1&1/4&1/2&3/4\end{array}})$ ;
On a donc
    $\left({\begin{array}{rrr|rrr}1&0&0&3/4&1/2&1/4\\0&0&1&1/4&1/2&3/4\\0&1&0&1/2&1&1/2\end{array}}\right)$.
Une dernière permutation des lignes 2 et 3 nous donne
    $\left({\begin{array}{rrr|rrr}1&0&0&3/4&1/2&1/4\\0&1&0&1/2&1&1/2\\0&0&1&1/4&1/2&3/4\end{array}}\right)$.
La section gauche de la matrice est la matrice identité, ce qui démontre que A est inversible. La section 3x3 de droite, soit la matrice B, est l'inverse de A.

### Cas général

Effectuer une opération élémentaire O sur les n lignes d'une matrice revient à la multiplier à gauche par la matrice élémentaire (inversible) G$_s$ := O(I$_n$).
En notant O$_1$, …, O$_s$ les opérations élémentaires que l'on effectue sur A, et G$_s$ = O$_s$(I$_n$) les matrices élémentaires associées, on aboutit donc, dans la section de gauche, à la matrice
$\mathrm {I} _{n}=(O_{s}\circ \ldots \circ O_{1})(A)=G_{s}\ldots G_{1}A$
et dans celle de droite, à la matrice
$B=(O_{s}\circ \ldots \circ O_{1})(\mathrm {I} _{n})=G_{s}\ldots G_{1}.$
Ainsi, B est inversible et BA = I$_n$, donc B$^{−1}$ = A et A$^{−1}$ = B.

## Résolution d'un système d'équations linéaires

L'élimination de Gauss-Jordan peut résoudre un système d'équations AX = B, où A est une matrice n × m de rang r, B est un vecteur fixé, et X le vecteur inconnu. On crée un tableau à n lignes et m + 1 colonnes en bordant la matrice A par le vecteur B. On réduit la matrice sous forme échelonnée réduite.
Si les pivots de la matrice échelonnée réduite associée à (A|B) sont situés uniquement dans les m premières colonnes (ce qui est toujours le cas si r = n ) et ont pour indice de colonnes k$_1$, …, k$_r$, alors la dernière colonne fournit une solution particulière, obtenue en prenant tous ses termes nuls sauf ceux situés à la ligne d'indice k$_i$ et à qui on donne la valeur du terme situé à la ligne i de la dernière colonne, i variant de 1 à r.
On obtient la solution générale du système en ajoutant à cette solution particulière un élément quelconque du noyau de A. Celle-ci s'obtient en donnant des valeurs quelconques aux coefficients de X situés à un indice de ligne autre que les k$_i$, et en déterminant les coefficients situés aux lignes d'indice k$_i$ de façon à satisfaire le système (ce qui est facile compte tenu de la forme échelonnée de la matrice).
Si le dernier pivot de la matrice échelonnée réduite associée à (A|B) se situe dans la dernière colonne, alors il n'y a pas de solution.
Si la matrice A est carrée inversible (autrement dit, le système est de Cramer), alors on obtient dans la dernière colonne l'unique solution X du système.
Variante : dans l'algorithme précédent, si on se borne à obtenir une matrice échelonnée (non réduite), on obtient une matrice triangulaire supérieure. Il ne reste plus qu'à « remonter » pour retrouver les valeurs des coefficients de X.
Soit le système d'équations linéaires :
    $\left\{{\begin{array}{*{7}{c}}x&-&y&+&2z&=&5\\3x&+&2y&+&z&=&10\\2x&-&3y&-&2z&=&-10\\\end{array}}\right.$
On établit la matrice correspondante :
    $\left({\begin{array}{ccc|c}1&-1&2&5\\&&&\\3&2&1&10\\&&&\\2&-3&-2&-10\end{array}}\right)$
On commence par la colonne 1. Le pivot est le maximum en valeur absolue entre 1, 3 et 2, soit 3 :
    $\left({\begin{array}{ccc|c}1&-1&2&5\\&&&\\(3)&2&1&10\\&&&\\2&-3&-2&-10\end{array}}\right)$
Comme ce pivot n'est pas nul, on divise la ligne où il se trouve (c'est-à-dire la ligne 2) par le pivot :
    $\left({\begin{array}{ccc|c}1&-1&2&5\\&&&\\(1)&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\\&&&\\2&-3&-2&-10\end{array}}\right)$
On échange les lignes 1 et 2 :
    $\left({\begin{array}{ccc|c}(1)&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\\&&&\\1&-1&2&5\\&&&\\2&-3&-2&-10\end{array}}\right)$
On analyse maintenant les lignes autres que celle du pivot. Ligne 2, on a A(2, 1) = 1. On calcule
    ${\begin{pmatrix}1&-1&2&5\end{pmatrix}}-(1)\times {\begin{pmatrix}1&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\end{pmatrix}}={\begin{pmatrix}0&-{\frac {5}{3}}&{\frac {5}{3}}&{\frac {5}{3}}\end{pmatrix}}$
Ligne 3, on a A(3, 1) = 2. On calcule
    ${\begin{pmatrix}2&-3&-2&-10\end{pmatrix}}-(2)\times {\begin{pmatrix}1&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\end{pmatrix}}={\begin{pmatrix}0&-{\frac {13}{3}}&-{\frac {8}{3}}&-{\frac {50}{3}}\end{pmatrix}}$
On remplace les lignes 2 et 3 ainsi calculées :
    $\left({\begin{array}{ccc|c}(1)&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\\&&&\\0&-{\frac {5}{3}}&{\frac {5}{3}}&{\frac {5}{3}}\\&&&\\0&-{\frac {13}{3}}&-{\frac {8}{3}}&-{\frac {50}{3}}\end{array}}\right)$
On passe à la colonne 2. Le pivot est le maximum en valeur absolue entre $-{\frac {5}{3}}$ et $-{\frac {13}{3}}$, soit $-{\frac {13}{3}}$ :
    $\left({\begin{array}{ccc|c}1&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\\&&&\\0&-{\frac {5}{3}}&{\frac {5}{3}}&{\frac {5}{3}}\\&&&\\0&\left(-{\frac {13}{3}}\right)&-{\frac {8}{3}}&-{\frac {50}{3}}\end{array}}\right)$
Comme ce pivot n'est pas nul, on divise la ligne où il se trouve (c'est-à-dire la ligne 3) par le pivot :
    $\left({\begin{array}{ccc|c}1&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\\&&&\\0&-{\frac {5}{3}}&{\frac {5}{3}}&{\frac {5}{3}}\\&&&\\0&(1)&{\frac {8}{13}}&{\frac {50}{13}}\end{array}}\right)$
On échange les lignes 2 et 3 :
    $\left({\begin{array}{ccc|c}1&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\\&&&\\0&(1)&{\frac {8}{13}}&{\frac {50}{13}}\\&&&\\0&-{\frac {5}{3}}&{\frac {5}{3}}&{\frac {5}{3}}\end{array}}\right)$
On analyse maintenant les lignes autres que celle du pivot. Ligne 1, on a A(1, 2) = ${\frac {2}{3}}$. On calcule
    ${\begin{pmatrix}1&{\frac {2}{3}}&{\frac {1}{3}}&{\frac {10}{3}}\end{pmatrix}}-\left(\textstyle {\frac {2}{3}}\right)\times {\begin{pmatrix}0&1&{\frac {8}{13}}&{\frac {50}{13}}\end{pmatrix}}={\begin{pmatrix}1&0&-{\frac {1}{13}}&{\frac {10}{13}}\end{pmatrix}}$
Ligne 3, on a A(3, 2) = $-{\frac {5}{3}}$. On calcule
    ${\begin{pmatrix}0&-{\frac {5}{3}}&{\frac {5}{3}}&{\frac {5}{3}}\end{pmatrix}}-\left(-\textstyle {\frac {5}{3}}\right)\times {\begin{pmatrix}0&1&{\frac {8}{13}}&{\frac {50}{13}}\end{pmatrix}}={\begin{pmatrix}0&0&{\frac {35}{13}}&{\frac {105}{13}}\end{pmatrix}}$
On remplace les lignes 1 et 3 ainsi calculées :
    $\left({\begin{array}{ccc|c}1&0&-{\frac {1}{13}}&{\frac {10}{13}}\\&&&\\0&(1)&{\frac {8}{13}}&{\frac {50}{13}}\\&&&\\0&0&{\frac {35}{13}}&{\frac {105}{13}}\end{array}}\right)$
On passe à la colonne 3. Le pivot est ${\frac {35}{13}}$ :
    $\left({\begin{array}{ccc|c}1&0&-{\frac {1}{13}}&{\frac {10}{13}}\\&&&\\0&1&{\frac {8}{13}}&{\frac {50}{13}}\\&&&\\0&0&\left({\frac {35}{13}}\right)&{\frac {105}{13}}\end{array}}\right)$
Comme ce pivot n'est pas nul, on divise la ligne où il se trouve (c'est-à-dire la ligne 3) par le pivot :
    $\left({\begin{array}{ccc|c}1&0&-{\frac {1}{13}}&{\frac {10}{13}}\\&&&\\0&1&{\frac {8}{13}}&{\frac {50}{13}}\\&&&\\0&0&(1)&3\end{array}}\right)$
Comme ce pivot est déjà ligne 3, on n'a pas besoin d'échanger de lignes.
On analyse maintenant les lignes autres que celle du pivot. Ligne 1, on a A(1, 3) = $-{\frac {1}{13}}$. On calcule
    ${\begin{pmatrix}1&0&-{\frac {1}{13}}&{\frac {10}{13}}\end{pmatrix}}-\left(-\textstyle {\frac {1}{13}}\right)\times {\begin{pmatrix}0&0&1&3\end{pmatrix}}={\begin{pmatrix}1&0&0&1\end{pmatrix}}$
Ligne 2, on a A(2, 3) = ${\frac {8}{13}}$. On calcule
    ${\begin{pmatrix}0&1&{\frac {8}{13}}&{\frac {50}{13}}\end{pmatrix}}-\left(\textstyle {\frac {8}{13}}\right)\times {\begin{pmatrix}0&0&1&3\end{pmatrix}}={\begin{pmatrix}0&1&0&2\end{pmatrix}}$
On remplace les lignes 1 et 2 ainsi calculées :
    $\left({\begin{array}{ccc|c}1&0&0&1\\&&&\\0&1&0&2\\&&&\\0&0&1&3\end{array}}\right)$
Toutes les colonnes à gauche de la barre verticale ont été traitées. Nous sommes en présence d'une matrice échelonnée réduite, avec la matrice identité d'un côté et la valeur des variables de l'autre. La solution du système d'équations est donc :
    $\left\{{\begin{array}{ccc}x&=&1\\y&=&2\\z&=&3\\\end{array}}\right.$
Soit le système d'équations linéaires :
    $\left\{{\begin{array}{*{11}{c}}x_{1}&+&2x_{2}&+&2x_{3}&-&3x_{4}&+&2x_{5}&=&3\\2x_{1}&+&4x_{2}&+&x_{3}&&&-&5x_{5}&=&-6\\4x_{1}&+&8x_{2}&+&5x_{3}&-&6x_{4}&-&x_{5}&=&0\\-x_{1}&-&2x_{2}&-&x_{3}&+&x_{4}&+&x_{5}&=&1\end{array}}\right.$
La matrice échelonnée réduite associée à
    $\left({\begin{array}{ccccc|c}1&2&2&-3&2&3\\2&4&1&0&-5&-6\\4&8&5&-6&-1&0\\-1&-2&-1&1&1&1\end{array}}\right)$
est
    $\left({\begin{array}{ccccc|c}1&2&0&1&-4&-5\\0&0&1&-2&3&4\\0&0&0&0&0&0\\0&0&0&0&0&0\end{array}}\right)$.
Les pivots sont situés aux colonnes d'indice 1 et 3. Une solution particulière est donc : $x_{1}=-5,x_{3}=4,x_{2}=x_{4}=x_{5}=0$, ce qui correspond au vecteur :
    $\left({\begin{array}{ccc}-5\\0\\4\\0\\0\end{array}}\right)$
Soit le système d'équations linéaires :
    $\left\{{\begin{array}{*{11}{c}}x_{1}&+&2x_{2}&+&2x_{3}&-&3x_{4}&+&2x_{5}&=&3\\2x_{1}&+&4x_{2}&+&x_{3}&&&-&5x_{5}&=&-6\\4x_{1}&+&8x_{2}&+&5x_{3}&-&6x_{4}&-&x_{5}&=&0\\-x_{1}&-&2x_{2}&-&x_{3}&+&x_{4}&+&x_{5}&=&2\end{array}}\right.$
La matrice échelonnée réduite associée à
    $\left({\begin{array}{ccccc|c}1&2&2&-3&2&3\\2&4&1&0&-5&-6\\4&8&5&-6&-1&0\\-1&-2&-1&1&1&2\end{array}}\right)$
est
    $\left({\begin{array}{ccccc|c}1&2&0&1&-4&0\\0&0&1&-2&3&0\\0&0&0&0&0&1\\0&0&0&0&0&0\end{array}}\right)$.
Il n'y a pas de solution.

## Déterminant

Cet algorithme permet également de calculer le déterminant d'une matrice :
$\det(A)=(-1)^{p}.\prod _{j\mathop {=} 1}^{n}(A[k,j])$
avec p le nombre de permutations de lignes, et $A[k,j]$ le pivot noté à l'étape j de l'algorithme.
Si l'un des pivots est nul, alors le déterminant de la matrice est nul et celle-ci n'est pas inversible.

### Exemple

On part de la matrice
    $\mathrm {A} ={\begin{pmatrix}2&-1&0\\0&-1&2\\-1&2&-1\end{pmatrix}}$
Il s'agit d'une matrice réelle, donc le module d'un coefficient est sa valeur absolue.
On recherche le pivot dans la colonne 1 :
    ${\begin{pmatrix}(2)&-1&0\\0&-1&2\\-1&2&-1\end{pmatrix}}$
On divise la ligne 1 par 2 de sorte que l'on obtienne un 1 sur la diagonale :
    ${\begin{pmatrix}1&-1/2&0\\0&-1&2\\-1&2&-1\end{pmatrix}}$
On modifie les lignes 2 et 3 par combinaisons linéaires avec la ligne 1 de sorte que l'on obtienne des zéros dans la première colonne (hors diagonale) :
    ${\begin{pmatrix}1&-1/2&0\\0&-1&2\\0&3/2&-1\end{pmatrix}}$
On recherche le pivot dans la colonne 2 :
    ${\begin{pmatrix}1&-1/2&0\\0&-1&2\\0&(3/2)&-1\end{pmatrix}}$
On échange les lignes 2 et 3 :
    ${\begin{pmatrix}1&-1/2&0\\0&(3/2)&-1\\0&-1&2\end{pmatrix}}$
On divise la ligne 2 par (3/2) de sorte que l'on obtienne 1 sur la diagonale :
    ${\begin{pmatrix}1&-1/2&0\\0&1&-2/3\\0&-1&2\end{pmatrix}}$
On modifie les lignes 1 et 3 par combinaisons linéaires avec la ligne 2 de sorte que l'on obtienne des zéros dans la deuxième colonne (hors diagonale) :
    ${\begin{pmatrix}1&0&-1/3\\0&1&-2/3\\0&0&4/3\end{pmatrix}}$
On recherche le pivot dans la colonne 3 :
    ${\begin{pmatrix}1&0&-1/3\\0&1&-2/3\\0&0&(4/3)\end{pmatrix}}$
On divise la ligne 3 par (4/3) de sorte que l'on obtienne 1 sur la diagonale :
    ${\begin{pmatrix}1&0&-1/3\\0&1&-2/3\\0&0&1\end{pmatrix}}$
On modifie les lignes 1 et 2 par combinaisons linéaires avec la ligne 3 de sorte que l'on obtienne des zéros dans la troisième colonne (hors diagonale), la matrice est alors :
    ${\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}}$
qui est réduite échelonnée.
Le déterminant de la matrice vaut donc $(-1)^{1}\times 2\times {\frac {3}{2}}\times {\frac {4}{3}}=-4$.