MatrixCalc

Calculateur de décomposition LU

Factorisez une matrice carrée en A = L·U avec pivot partiel et suivez la construction pas à pas des deux facteurs triangulaires. Avec Cholesky pour les matrices symétriques définies positives.

Matrice A
lignes: 3
colonnes: 3
Matrice B
lignes: 3
colonnes: 3
Opérations

Ouvrez les étapes ci-dessous pour voir la réponse complète.

Résultat
Choisissez une opération pour voir le résultat ici. Les erreurs s’afficheront dans cette zone.

Astuces : ajustez les tailles (max 50×50). Pour A×B, les colonnes de A doivent égaler les lignes de B. det/inverse/trace/puissance nécessitent des matrices carrées.

React, Tailwind & shadcn/ui. No external math deps. — Français

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

43
63
=
10
3/21
×
43
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 : 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 :

211
4−60
−272
=
100
210
−1−11
×
211
0−8−2
001

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.

42
25
=
20
12
·
21
02

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.

Questions fréquentes

À quoi sert la décomposition LU ?
À résoudre des systèmes partageant la même matrice avec des seconds membres différents. La factorisation n’est calculée qu’une fois ; chaque système suivant ne coûte plus que deux résolutions triangulaires.
Que représente la matrice de permutation P ?
Elle enregistre les échanges de lignes effectués. Avec pivot partiel, le résultat s’écrit P·A = L·U.
Quand faut-il préférer Cholesky ?
Quand la matrice est symétrique et définie positive. Cholesky est environ deux fois plus rapide et n’exige qu’un seul facteur triangulaire, puisque A = L·Lᵀ.
Que se passe-t-il si ma matrice n’est pas définie positive ?
L’algorithme atteint la racine carrée d’un nombre négatif ou nul et s’arrête. Cet échec est instructif : c’est le test numérique standard de définie-positivité.
Peut-on obtenir le déterminant à partir de LU ?
Oui — c’est le produit de la diagonale de U, multiplié par −1 pour chaque échange de lignes effectué.

Autres calculateurs