Décomposition LU
En algèbre linéaire, la décomposition LU est une méthode de décomposition d'une matrice comme produit d'une matrice triangulaire inférieure Modèle:Formule (comme Modèle:Lang, inférieure en anglais) par une matrice triangulaire supérieure Modèle:Formule (comme Modèle:Lang, supérieure). Cette décomposition est utilisée en analyse numérique pour résoudre des systèmes d'équations linéaires.
Définition
Soit Modèle:Formule une matrice carrée. On dit que Modèle:Formule admet une décomposition LU s'il existe une matrice triangulaire inférieure formée de 1 sur la diagonale, notée Modèle:Formule, et une matrice triangulaire supérieure, notée Modèle:Formule, qui vérifient l'égalité
Il n'est pas toujours vrai qu'une matrice Modèle:Formule admette une décomposition LU. Cependant dans certains cas, en permutant des lignes de Modèle:Formule, la décomposition devient possible. On obtient alors une décomposition de la forme
où Modèle:Formule est une matrice de permutation.
Bien que les décompositions LU et PLU conduisent à des formules distinctes, généralement quand on parle de la décomposition LU, on fait référence à l'une ou l'autre de ces décompositions.
Exemple
La matrice symétrique
se factorise de la façon suivante :
- .
Applications
Résoudre un système d'équations linéaires
Cette factorisation matricielle permet de résoudre des systèmes d'équations linéaires où les coefficients des inconnues sont les mêmes, mais avec plusieurs seconds membres différents. Soit à déterminer le vecteur Modèle:Formule d'inconnues associé au second membre Modèle:Formule :
- .
Ce problème est donc équivalent à la résolution de
que l'on peut mettre, en posant , sous la forme :
- .
On trouve les composantes de par des substitutions élémentaires, puisque d'abord , puis , etc.
Cette étape est appelée descente, puisqu'on résout le système en descendant de à . Il reste à calculer les composantes du vecteur Modèle:Formule en résolvant le système triangulaire supérieur :
- ,
ce qui se fait de manière similaire, mais en calculant d'abord Modèle:Formule :
- , etc. en remontant (étape dite de remontée).
Remarque. - Les matrices triangulaires Modèle:Formule et Modèle:Formule auraient pu être inversées aisément en utilisant l'élimination de Gauss-Jordan. Mais si l'on compte simplement le nombre d'opérations que cela représente pour un système à Modèle:Formule équations, on trouvera que la complexité algorithmique du calcul des matrices inverses est supérieure, de sorte que si l'on veut résoudre ce système pour divers Modèle:Formule, il est plus intéressant de réaliser la décomposition LU une fois pour toutes et d'effectuer les substitutions de descente-remontée pour les différents Modèle:Formule plutôt que d'utiliser l'élimination de Gauss-Jordan à de multiples reprises. Ainsi, dans la plupart des publications d'analyse numérique, lorsque la matrice Modèle:Formule a été factorisée sous forme LU ou Cholesky (cf. infra, § Le cas symétrique), on écrit par abus Modèle:Formule pour signifier que le calcul de Modèle:Formule peut se faire par cette méthode de descente-remontée. Il est sous-entendu qu'il n'est absolument pas question d'utiliser l'algorithme en calculant la matrice inverse Modèle:Formule de Modèle:Formule, ce qui serait inutilement coûteux en temps de calcul.
Inverser une matrice
Les matrices Modèle:Formule et Modèle:Formule peuvent être utilisées pour déterminer l'inverse d'une matrice. Les programmes informatiques qui implémentent ce type de calcul utilisent généralement cette méthode.
Calcul d'un déterminant
Si Modèle:Formule est sous forme Modèle:Formule et Modèle:Formule, son déterminant se calcule facilement : . Les trois déterminants de ce produit sont très simples à calculer (matrices triangulaires ou de permutations).
Existence, unicité
Pour toute matrice carrée, on a existence d'une décomposition Modèle:Formule. Pour une matrice inversible, la décomposition LU existe si et seulement si toutes les sous-matrices principales d’ordre 1 à Modèle:Formule sont inversibles. [Pour une matrice carrée de rang r < n, il y a des conditions suffisantes analogues.] Si toutes les sous-matrices principales d'ordre 1 à Modèle:Formule sont inversibles, elle est même unique[1].
Calcul de la décomposition
Idée principale
La décomposition LU est une forme particulière d'élimination de Gauss-Jordan. On transforme la matrice Modèle:Formule en une matrice triangulaire supérieure Modèle:Formule en éliminant les éléments sous la diagonale. Les éliminations se font colonne après colonne, en commençant par la gauche, en multipliant Modèle:Formule par la gauche avec une matrice triangulaire inférieure.
Algorithme
Étant donné une matrice de dimension
on définit
et on va construire les matrices itérativement, en ayant pour objectif que la matrice ait ses n premières colonnes de coefficients nuls sous la diagonale.
Soit la matrice , on construit la matrice de la manière suivante : considérant la nième colonne de , on élimine les éléments sous la diagonale en ajoutant à la ième ligne de cette matrice, la nième ligne multipliée par
pour . Ceci peut être fait en multipliant par la gauche Modèle:Formule avec la matrice triangulaire inférieure
Après Modèle:Formule itérations, nous avons éliminé tous les éléments sous la diagonale, par conséquent, nous avons maintenant une matrice triangulaire supérieure Modèle:Formule.
Nous obtenons la décomposition
Notons Modèle:Formule, la matrice triangulaire supérieure Modèle:Formule. et . Sachant que l'inverse d'une matrice triangulaire inférieure est aussi une matrice triangulaire inférieure et que le produit de deux matrices triangulaires inférieures est encore une matrice triangulaire inférieure, Modèle:Formule est donc une matrice triangulaire inférieure. On obtient Modèle:Formule.
Au vu de l'algorithme, il est nécessaire que à chaque itération (voir la définition de Modèle:Formule). Si, au cours du calcul, ce cas de figure venait à se produire, il faut intervertir la nième ligne avec une autre pour pouvoir continuer (il est toujours possible de trouver un élément non nul sur la colonne qui pose problème car la matrice est inversible). C'est la raison pour laquelle la décomposition LU s'écrit généralement Modèle:Formule.
Le cas symétrique
- Si la matrice Modèle:Formule est une matrice symétrique, il existe une décomposition dite factorisation de CroutModèle:Retraitoù Modèle:Formule est une matrice triangulaire inférieure dont la diagonale ne comprend que des 1, Modèle:Formule est la transposée de Modèle:Formule, et Modèle:Formule est une matrice diagonale.
- Si la matrice A est symétrique définie positive, il existe une décomposition plus simple, donnée par la méthode de CholeskyModèle:Retraitoù Modèle:Formule est une matrice triangulaire inférieure à diagonale positive et Modèle:Formule est la transposée de Modèle:Formule.
Notes et références
- ↑ Pour la démonstration, cf. Ciarlet, chap. 4, §4.3
- P. G. Ciarlet - « Introduction à l'analyse numérique matricielle et à l'optimisation » (1985, rééd. 2001), éd. Masson, coll. Math. Appl. pour la Maîtrise Modèle:ISBN
Voir aussi
Liens externes
- Cours d'analyse numérique de licence (2010) de R. Herbin, Université d'Aix-Marseille
- Tutoriel Pourquoi l'algorithme de la décomposition LU fonctionne-t-il?