Académique Documents
Professionnel Documents
Culture Documents
Méthodes directes
I-3 Factorisation LU : algorithme de CROUT
Supposons un instant que nous ayons réussi à exprimer la matrice en un produit de deux
matrices triangulaires et . Comment cela nous permet-il de résoudre le système ⃗ ⃗⃗
Il suffit de remarquer que :
⃗ ⃗⃗ ⃗
⃗ ⃗⃗
⃗ ⃗
qui sont deux systèmes triangulaires. On utilise d’abord une descente triangulaire sur la
matrice pour obtenir ⃗ et par la suite une remontée triangulaire sur la matrice pour obtenir
la solution recherchée ⃗.
Il faut tout de suite souligner que la décomposition n’est pas unique. On peut en
effet écrire un nombre réel comme le produit de deux autres nombres d’une infinité de façons.
Il en est de même pour les matrices.
( ) ( )( )
( ) ( )( )
Remarque
La décomposition n’étant pas unique, il faut faire au préalable des choix arbitraires. Le
choix le plus populaire consiste à imposer que la matrice ait des 1 sur sa diagonale. C’est la
décomposition de CROUT. Certains logiciels comme Matlab préfèrent mettre des 1 sur la
diagonale de . Il en résulte bien sûr une décomposition différente de celle de CROUT,
mais le principe de base est le même.
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 1
I- 3-2 Décomposition de CROUT sans permutation de lignes
Pour obtenir cette décomposition (ou factorisation), nous considérons une matrice de
dimension 4 sur 4, le cas général étant similaire. On doit donc déterminer les coefficients et
des matrices et de telle sorte que . En imposant que la diagonale de soit
composée de 1 ( ), on doit avoir :
( ) ( )( )
( ) ( )( )
On obtient respectivement :
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 2
ou encore :
On trouve immédiatement :
ce qui donne :
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 3
7. Produit de la quatrième ligne de L par la quatrième colonne de U.
On obtient :
(3-1)
- Calcul du pivot :
∑ (3-2)
- pour :
- Calcul de la colonne de L :
∑ (3-3)
- Calcul de la ligne de U :
∑
(3-4)
Calcul de :
∑ (3-5)
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 4
-
- Pour
∑
(3-6)
- Pour
∑ (3-7)
Remarque 1
L’algorithme précédent ne fonctionne que si les pivots sont tous non nuls. Ce n’est pas
toujours le cas et il est possible qu’il faille permuter deux lignes pour éviter cette situation,
tout comme pour l’élimination de Gauss. Le coefficient est encore appelé pivot. Nous
abordons un peu plus loin les techniques de recherche du meilleur pivot.
Remarque 2
Une fois utilisés, les coefficients de la matrice A ne servent plus à rien. Ils peuvent dons être
détruit au fur et à mesure que la décomposition progresse. De fait, on peut les remplacer par
les valeurs ou selon le cas. C’est ce que l’on nomme la notation compacte. La notation
compacte évite de garder inutilement en mémoire des matrices de grande taille.
Définition
( )
Dans le cas d’une matrice de dimension 4 sur 4. La matrice initiale A est tout simplement
détruite. Les coefficients 1 sur la diagonale de la matrice U ne sont pas indiqués
explicitement, mais doivent tout de même être indiqués. De façon plus rigoureuse, la notation
compacte revient à mettre en mémoire la matrice :
et à détruire la matrice A.
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 5
Exemple
Soit le système :
[ ][ ] [ ]
Que l’on doit décomposer en produit LU. Pour illustrer la notation compacte on remplace au
fur et à mesure les coefficients par les coefficients ou ; les cases soulignent que
l’élément a été détruit.
2. Première ligne de U
3. Deuxième colonne de L
De la relation (3-3)
( )( ⁄ )
( )( ⁄ )
On a maintenant :
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 6
4. Deuxième ligne de U
( )( ⁄ )
⁄
5. Calcul de
( )( ⁄ ) ( ⁄ )( )
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 7
6. Résolution de ⃗ ⃗⃗
( ⁄ )
( )( )
⁄
( )( ) ( ⁄ )( )
( )
7. Résolution de U ⃗ ⃗
( )( )
( ⁄ )( ) ( ⁄ )( )
Comme nous l’avons remarqué l’algorithme de décomposition LU exige que les pivots
soient non nuls. Dans le cas contraire il faut essayer de permuter deux lignes . contrairement
à la méthode d’élimination de Gauss, la décomposition LU n’utilise le terme de droit ⃗⃗ qu’à
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 8
toute la fin au moment de la descente triangulaire ⃗ ⃗⃗ . Si l’on permute des lignes, on doit
en garder la trace de façon à effectuer les mêmes opérations sur ⃗⃗. A cette fin on introduit le
vecteur un ⃗⃗ dit de permutation qui contient tout simplement la numérotation des équations.
Remarque
Dans décomposition LU, la permutation des lignes s’effectue toujours après le calcul de la
colonne de L. On place en position le pivot le plus grand terme en valeur absolue de cette
colonne (sous le pivot actuel),pour des raisons de précision que nous verrons plus loin.
Exemple
Soit :
[ ] ⃗⃗ [ ]
Au départ le vecteur permutation ⃗⃗ indique que la numérotation des équations n’a pas été
modifiée.
1. Première colonne de L
Le vecteur permutation n’a pas été modifié, mais on a un pivot nul . On effectue alors
l’opération ( ). On aurait tout aussi bien pu permuté la ligne 1 et la ligne 2, mais
on choisit immédiatement le plus grand pivot (en valeur absolue). Le vecteur permutation
est alors modifié
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 9
2. Première ligne de U
3. Deuxième colonne de L
De la relation (3-3)
( )( )
( )( )
On a maintenant :
⁄
[ ] ⃗⃗ [ ]
et encore un pivot nul qui oblige d’intervertir les lignes 2 et 3et à modifier le vecteur ⃗⃗ en
conséquence ( ):
⁄
[ ] ⃗⃗ [ ]
4. Calcul de
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 10
( )( ⁄ )
⁄
5. Calcul de
On calcule enfin :
( )( ⁄ ) ( )( ⁄ ) ⁄
C’est-à-dire que la matrice A permutée suivant le vecteur ⃗⃗. On veut maintenant résoudre :
⃗ [ ]
⃗ [ ]
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 11
A noter l’ordre des valeurs dans le membre de droite. La descente triangulaire (laissée en
[ ]
Qui nous donne la solution finale : ⃗ [ ] .
Comme on a permuté deux lignes deux fois, le déterminant a changé de signe deux fois.
Théorème 1
( ) ∏
Remarque
Nous venons au fait de montrer que toute matrice inversible A peut décomposé sous forme
de :
où P est une matrice de permutation. Pour obtenir la matrice P, il suffit de réordonner les
lignes de la matrice identité suivant le vecteur de permutation ⃗⃗. Ainsi dans l’exemple
précédent, on avait :
[ ][ ] [ ][ ]
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 12
Nous avons mentionné que la décomposition LUest une méthode directe, c’est-à-dire que l’on
peurt prévoir le nombre exact d’opérations arithmétiques nécessaires pour résoudre le système
d’équations. On a de fait le résultat suivant (Voir Burden et Faires : Numerical Analysis .
Brooks/Cole Pacific Grove, septième édition, 2001, ISBN 0-534-38216-9.
Théorème 2
multiplications/divisions
additions/soustractions
Du point de vue informatique, une multiplication (ou une division) est une opération plus
couteuse qu’une simple addition (ou soustraction). C’est donc principalement le nombre de
multiplications/divisions qui est important de plus, on note que si n est grand, le nombre total
de multiplications/divisions est de l’ordre de , en négligeant les puissances de n inférieures
à 3.
Enfin et cela est très important ,La décomposition de la matrice A en un produit LU coûte
beaucoup plus cher ( multiplications/divisions) que les remontée et descente
triangulaires( multiplications/divisions) . Le gros du travail se trouve donc dans la
décomposition elle-même.
Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 13