6.6.2 : Algorithme de Gauss



La décomposition se fait glocalement de la même manière que dans la section 6.5.2. Les matrices élémentaires seront :

  • Les matrices de permutation
  • Les matrices d'échelle


Le calcul de l'inverse utilise la propriété suivante des matrices :

(A×B)1=B1×A1

Par conséquent, le produit des K matrices élémentaires qui décomposent A de sorte que :

A=i=1KGi

Permet de trouver immédiatement l'inverse :

A1=i=0K1GKi1

Le calcul est bien plus simple, car ces matrices sont soit orthogonales :

Q1=QT

Soit diagonnales :

Di,i1=1Di,i1iN

Un dernier point, est qu'il n'y a pas besoin d'effectuer explicitement les multiplications car :

  • Les matrices de permutation échangent deux lignes ou deux colonnes entre elles (lecture et écriture de 2N valeurs)
  • Les matrices d'échelle multiplient une ligne ou une colonne par une valeur (multiplication de N valeurs)


Leur complexité est donc en O(N) .

Pour résumer :



  • On applique le pivot de Gauss sur notre matrice de départ A jusqu'à ce que l'on obtienne la matrice unitaire
  • On applique les mêmes transformations sur la matrice unitaire, qui donnera A1 à la fin de l'algorithme


Cela nous donne donc un algorithme avec une complexité en O(N3) ce qui est bien mieux que O(N!) .

Si l'algorithme du pivot de Gauss reste bloqué sur un 0 alors la matrice A n'a pas d'inverse et son déterminant est nul. Il n'est donc pas nécessaire de calculer sont déterminant en plus.