Décomposition LU

Infos
En algèbre linéaire, la décomposition LU est une méthode de décomposition d'une matrice en une matrice triangulaire inférieure L (comme "Low", bas) et une matrice triangulaire supérieure U (comme "Up", haut). Cette décomposition est utilisée en analyse numérique pour résoudre des systèmes d'équations linéaires.
Décomposition LU

En algèbre linéaire, la décomposition LU est une méthode de décomposition d'une matrice en une matrice triangulaire inférieure L (comme "Low", bas) et une matrice triangulaire supérieure U (comme "Up", haut). Cette décomposition est utilisée en analyse numérique pour résoudre des systèmes d'équations linéaires.

Définition

Soit A une matrice inversible. La matrice A peut être décomposée ainsi :PA = L U \; :A = P L U \; où P est une matrice de permutation (de même pour P-1), L est une matrice triangulaire inférieure et U une matrice triangulaire supérieure. Parfois, la matrice de passage P peut être choisie afin d'être une matrice identité. Dans ce cas, la décomposition devient A = L U.

Exemple

Soit par exemple la matrice : : \begin 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \\ \end Cette matrice se factorise en un produit d'une matrice triangulaire inférieure par une matrice triangulaire supérieure de la façon suivante : : \begin 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \\ \end =\begin 1 & 0 & 0 \\ -1/2 & 1 & 0 \\ 0 & -2/3 & 1 \\ \end.\begin 2 & -1 & 0 \\ 0 & 3/2 & -1 \\ 0 & 0 & 4/3 \\ \end

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 d'inconnues associé au second membre : :A \beginx\end= \beginb\end Ce problème est donc équivalent à la résolution de : L U \beginx\end= \beginb\end ou encore : L \begin U.x \end=\beginb\end que l'on peut mettre, en posant \beginU.x\end= \beginy\end sous la forme : L \beginy\end= \beginb\end On trouve les composantes de y une par une par des substitutions élémentaires, puisque d'abord y_1 = \frac, puis y_2 = \frac, etc. Cette étape est appelée descente, puisqu'on résout le système en descendant de y_1 à y_n. Il reste à calculer les composantes du vecteur en résolvant le système triangulaire supérieur : : U.\beginx\end= \beginy\end ce qui se fait de manière similaire, mais en calculant d'abord x_n :x_n = \frac, etc. en remontant (étape dite de remontée). Notation. - Les matrices triangulaires L et U 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 à n é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 b, il est plus intéressant de réaliser la décomposition LU une fois pour toute et d'effectuer les substitutions de descente-remontée pour les différents b 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 A a été factorisée sous forme LU ou Cholesky (cf. infra, § Le cas symétrique ), on écrit par abus b = A^x pour signifier que le calcul de b 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 A^ de A, ce qui serait inutilement coûteux en temps de calcul.

Inverser une matrice

Les matrices L et U 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.

Existence

La décomposition LU existe si et seulement si toutes les sous matrices principales d'ordre 1 à n-1 sont inversiblesPour la démonstration, cf. Ciarlet, chap. 4, §4.3.

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 A en une matrice triangulaire supérieure U en éliminant les éléments sous la diagonale. Les éliminations se font colonne après colonne, en commencant par la gauche, en multipliant A par la gauche avec une matrice triangulaire inférieure.

Algorithme

Étant donné une matrice de dimension N \times N : A= (a_)\; on définit : A^ := A\; et les itérations se font pour n = 1, ..., N-1 de la manière suivante. Sur nième colonne de A(n-1), on élimine les éléments sous la diagonale en ajoutant à la ième ligne de cette matrice, la nième ligne multipliée par :l_ := -\frac pour i = n+1, \ldots, N. Ceci peut être fait en multipliant par la gauche A(n-1) avec la matrice triangulaire inférieure : L_n = \begin 1 & & & & & 0 \\ & \ddots & & & & \\ & & 1 & & & \\ & & l_ & \ddots & & \\ & & \vdots & & \ddots & \\ 0 & & l_ & & & 1 \\ \end. : A^ := L_n A^.\; Après N-1 itérations, nous avons éliminé tous les éléments sous la diagonale, par conséquent, nous avons maintenant une matrice triangulaire supérieure A(N-1). Nous obtenons la décomposition : A = L_^ L_ A^ = L_^ A^ = L_^ L_^ L_ A^ = L_^L_^ A^ =\ldots = L_^ \ldots L_^ A^. Notons U la matrice triangulaire supérieure A(N-1) et L=L_^ \ldots L_^. Sachant que l'inverse d'une matrice triangulaire inférieure est aussi une matrice triangulaire inférieure et que le produit de 2 matrices triangulaires inférieures est encore une matrice triangulaire inférieure, L est donc une matrice triangulaire inférieure. On obtient A=LU. Au vu de l'algorithme, il est nécessaire que a_^\not=0 à chaque itération (voir la définition de l_). 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 P^A = L U .

Le cas symétrique

-Si la matrice A est une matrice symétrique, il existe une décomposition dite factorisation de Crout :A = L.D.^tL où L est une matrice triangulaire inférieure dont la diagonale ne comprend que des 1, ^tL est la transposée de L, et D 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 Cholesky :A = L.^tL où L est une matrice triangulaire inférieure à diagonale positive et ^tL est la transposée de L.

Notes et références


- 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

Voir aussi

-Méthode de Cholesky
-Décomposition QR
- Catégorie:Matrice de:LR-Zerlegung en:LU decomposition es:Factorización LU fi:LU-hajotelma is:LU-þáttun it:Decomposizione LU ja:LU分解 nl:LU-decompositie pl:Metoda LU
Sujets connexes
Algèbre linéaire   Analyse numérique   Complexité algorithmique   Décomposition QR   Factorisation de Cholesky   Matrice (mathématiques)   Matrice de passage   Matrice de permutation   Matrice définie positive   Matrice identité   Matrice inversible   Matrice symétrique   Matrice transposée   Matrice triangulaire   Système d'équations linéaires  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^