La décomposition LU réécrit une matrice carrée A comme le produit d’une matrice triangulaire inférieure L et d’une matrice triangulaire supérieure U, de sorte que A = LU. Les calculs sont ceux de l’élimination de Gauss classique, mais organisés pour que le travail effectué puisse être réutilisé. C’est pourquoi cette méthode est celle qu’emploient par défaut la plupart des bibliothèques numériques pour résoudre des systèmes linéaires, inverser des matrices et calculer des déterminants.
Pourquoi factoriser la matrice A ?
Si vous devez résoudre Ax = b une seule fois, l’élimination de Gauss classique sur la matrice augmentée convient très bien. La décomposition LU devient avantageuse lorsque vous devez résoudre Ax = b avec la même matrice A et plusieurs vecteurs b différents, ce qui arrive souvent en simulation, en analyse de circuits et dans les méthodes itératives. Une fois A = LU calculée, chaque nouveau vecteur b ne demande qu’une substitution avant peu coûteuse (résoudre Ly = b), puis une substitution arrière peu coûteuse (résoudre Ux = y), au lieu de reprendre à zéro toute l’élimination en O(n³).
Comment le pivot partiel garantit la validité des calculs
L’élimination de Gauss échoue dès qu’un pivot (l’élément diagonal par lequel on s’apprête à diviser) est nul : une division par zéro est impossible, tandis qu’une division par un nombre très petit amplifie les erreurs d’arrondi. Le pivot partiel évite ce problème en examinant les lignes restantes de la colonne courante et en échangeant la ligne avec celle qui contient la plus grande valeur absolue avant de poursuivre l’élimination. Chaque échange est enregistré dans une matrice de permutation P ; l’identité obtenue est donc P·A = L·U, et non A = L·U. L’onglet Étapes de cette calculatrice montre précisément quand et pourquoi chaque échange intervient.
Le déterminant est obtenu gratuitement
La matrice L est triangulaire et sa diagonale ne contient que des 1 ; son déterminant vaut donc toujours 1. Comme U est triangulaire, son déterminant est le produit de ses éléments diagonaux. Enfin, chaque échange de lignes change le signe du déterminant : det(A) = (−1)^(nombre d’échanges) × (produit des éléments diagonaux de U). Il n’est pas nécessaire de développer séparément par cofacteurs. C’est aussi pourquoi la présence d’un zéro sur la diagonale de U indique une matrice singulière : le produit est nul et det(A) = 0, quels que soient les échanges effectués.