Saisissez une matrice carrée, ouvrez l’onglet Décompositions et appuyez sur LU(A). Comme la réponse est un couple de matrices et non une seule, elle vit entièrement dans le panneau détaillé, qui s’ouvre de lui-même et montre L et U côte à côte à la fin. Cholesky(A) se trouve dans le même onglet, pour le cas symétrique expliqué plus bas.
Ce que sont les facteurs
La LU écrit A = L·U, avec L triangulaire inférieure et U triangulaire supérieure. Aucune des deux n’est mystérieuse : U est exactement la forme échelonnée que produit le pivot de Gauss, et L conserve les multiplicateurs employés en chemin. Faire l’élimination une fois vous donne les deux.
Exemple résolu
| 4 | 3 |
| 6 | 3 |
| 1 | 0 |
| 3/2 | 1 |
| 4 | 3 |
| 0 | −3/2 |
Le 3/2 dans L est le multiplicateur qui a annulé le 6 sous le pivot. Remarquez que le déterminant est désormais gratuit : multipliez la diagonale de U, soit 4 · (−3/2) = −6, fois −1 pour chaque échange de lignes effectué.
Pourquoi cela vaut la peine
Parce que la factorisation est réutilisable. Résoudre Ax = b depuis zéro coûte environ n³/3 opérations. Une fois L et U obtenues, chaque nouveau second membre ne coûte plus que n² : résolvez Ly = b par substitution descendante, puis Ux = y par substitution remontante. Si vous résolvez le même système contre de nombreux vecteurs b — le cas normal en ingénierie et en simulation — l’économie est énorme. Pour une matrice 100×100 et cinquante seconds membres, cela fait une factorisation plus cinquante passes bon marché, au lieu de cinquante éliminations complètes.
Substitutions descendante et remontante, en pratique
Prenez la matrice 3×3 chargée ci-dessus. Une seule élimination donne les deux facteurs :
| 2 | 1 | 1 |
| 4 | −6 | 0 |
| −2 | 7 | 2 |
| 1 | 0 | 0 |
| 2 | 1 | 0 |
| −1 | −1 | 1 |
| 2 | 1 | 1 |
| 0 | −8 | −2 |
| 0 | 0 | 1 |
Les coefficients de L sont exactement les multiplicateurs de l’élimination : 2 a annulé le 4, −1 a annulé le −2, et −1 a annulé ce qui restait en deuxième colonne. Résolvez maintenant Ax = b avec b = (4, −2, 7). D’abord Ly = b, de haut en bas, chaque ligne livrant aussitôt une valeur puisque tout ce qui est à sa droite est nul :
y₁ = 4 ; puis 2·4 + y₂ = −2, donc y₂ = −10 ; puis −4 + 10 + y₃ = 7, donc y₃ = 1.
Ensuite Ux = y, de bas en haut : x₃ = 1 ; puis −8x₂ − 2 = −10, donc x₂ = 1 ; puis 2x₁ + 1 + 1 = 4, donc x₁ = 1. La solution est (1, 1, 1), atteinte sans une seule division par autre chose qu’un coefficient diagonal. Le déterminant tombe des mêmes facteurs : 2 · (−8) · 1 = −16.
Pivotage
Toute matrice n’admet pas un A = L·U simple : un zéro en position de pivot le brise. Le remède est une matrice de permutation, donnant P·A = L·U. En pratique on pivote de toute façon, parce que choisir le plus grand pivot disponible garde les erreurs d’arrondi sous contrôle. La factorisation est unique une fois la convention fixée ; ce calculateur emploie celle de Doolittle, qui met des 1 sur la diagonale de L.
Cholesky : le cas symétrique
Si A est symétrique et définie positive, elle se factorise en A = L·Lᵀ — une racine carrée pour matrices, avec un seul facteur triangulaire. Symétrique signifie A = Aᵀ ; définie positive signifie que toute valeur propre est strictement positive. Cela paraît restrictif, mais les matrices ainsi décrites sont partout : matrices de covariance, matrices de Gram, équations normales des moindres carrés et matrices de rigidité des éléments finis sont toutes symétriques définies positives par construction.
| 4 | 2 |
| 2 | 5 |
| 2 | 0 |
| 1 | 2 |
| 2 | 1 |
| 0 | 2 |
Chaque coefficient diagonal de L est une racine carrée — ici √4 = 2 et √(5 − 1²) = 2 — d’où l’exigence que la quantité sous chaque racine reste positive. Cette exigence est exactement la définie-positivité, et elle transforme l’algorithme en test : si la décomposition va au bout, la matrice est définie positive ; si elle bute sur une valeur négative ou nulle sous une racine, elle ne l’est pas. Cholesky est environ deux fois plus rapide que LU, utilise moitié moins de mémoire et reste stable sans pivotage — d’où le réflexe des solveurs de tester d’abord la symétrie et d’y recourir dès qu’ils le peuvent.
Erreurs fréquentes
- Supposer que toute matrice se factorise. Un zéro en position de pivot brise la LU simple. Le remède est une matrice de permutation :
P·A = L·U. - Appliquer Cholesky à une matrice non symétrique. A = L·Lᵀ est symétrique par construction : une entrée non symétrique n’admet pas cette factorisation. Utilisez LU.
- Croire que la symétrie suffit. Une matrice symétrique à valeur propre négative est indéfinie et échouera en cours d’algorithme.
- Attendre des facteurs entiers. La diagonale de Cholesky contient des racines carrées : L est souvent irrationnelle même quand A ne l’est pas.
- Oublier les échanges de lignes dans le déterminant. Chaque échange en change le signe.