Vous êtes sur la page 1sur 13

I.

Méthodes directes
I-3 Factorisation LU : algorithme de CROUT

I-3-1 Principe de la méthode

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 :

⃗ ⃗⃗ ⃗

et de poser ⃗ ⃗. La résolution du système linéaire se fait alors en deux étapes :

⃗ ⃗⃗

⃗ ⃗

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.

Pour illustrer la non-unicité de la décomposition , il suffit de vérifier les égalités suivantes :

( ) ( )( )

( ) ( )( )

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 :

( ) ( )( )

Cas particulier : Algorithme de CROUT :

( ) ( )( )

Il suffit de procéder de façon systématique par identification des coefficients. On remarque


d’abord qu’il y a exactement 16 ( ) inconnues à déterminer. On peut
faire le produit des matrices et et se servir des différents coefficients on obtient ainsi
les 16 ( ) équations nécessaire pour déterminer les coefficients et .

1. Produit des lignes de L par la première colonne de U .

On obtient immédiatement que :

et la première colonne de L est tout simplement la première colonne de A.

2. Produit de la première ligne L par les colonnes de U :

On obtient respectivement :

d’où l’on tire :

On a donc la première ligne de U si .

3. Produit des lignes de L par la deuxième colonne de U.

Les différents produits donnent :

Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 2
ou encore :

Et la deuxième colonne de L est connue.

4. Produit de la deuxième ligne de L par les colonnes de U.

On trouve immédiatement :

ce qui donne :

5. Produit des lignes de L par la troisième colonne de U.

La même suite d’opérations donne :

ce qui permet d’obtenir la troisième colonne de L :

6. Produit de la troisième ligne de L par la quatrième colonne de U.

ce qui permet d’obtenir :

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 :

Le dernier coefficient recherché est donc :

De façon générale on a l’algorithme suivant :

Algorithme : Décomposition de CROUT

1. Décomposition LU (sans permutation de lignes)


- Première colonne de L :
- Première ligne de U :
- Pour

(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)

2. Descente et remontée triangulaire


- Descente triangulaire pour résoudre ⃗⃗ ⃗⃗

Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 4
-

- Pour


(3-6)

- Remontée triangulaire pour résoudre ⃗⃗ ⃗⃗ ( )

- 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

La notation compacte de la décomposition LU est la matrice des coefficients :

( )

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.

1. Première colonne de L c’est tout simplement la première colonne de A

2. Première ligne de U

Le pivot de la première ligne est 3. On divise donc la première ligne de A par 3 :

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

De la relation (3-4) on tire :

( )( ⁄ )

La matrice compacte devient :

5. Calcul de

D’après la relation (3-5)

( )( ⁄ ) ( ⁄ )( )

La matrice compacte est donc :

La matrice de départ A (maintenant détruite) vérifie aisément :

Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 7
6. Résolution de ⃗ ⃗⃗

La descente triangulaire donne :

( ⁄ )

( )( )

( )( ) ( ⁄ )( )
( )

7. Résolution de U ⃗ ⃗

( )( )

( ⁄ )( ) ( ⁄ )( )

La solution recherchée est : ⃗ ( )

I- 3- Décomposition de LU et permutation de lignes

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.

Illustrons cela par un exemple ;

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

Puisqu’il s’agit de première colonne de A, on a :

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

Il suffit de diviser cette ligne par le nouveau pivot 3 :

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

La relation (3-4) donne :

Pr. R. SEHAQUI Université Hassan II de Casablanca Faculté des Sciences Aïn Chock Page 10
( )( ⁄ )

5. Calcul de

On calcule enfin :

( )( ⁄ ) ( )( ⁄ ) ⁄

La décomposition LU de la matrice A est donc :

Il faut toutefois remarquer que le produit LU donne :

C’est-à-dire que la matrice A permutée suivant le vecteur ⃗⃗. On veut maintenant résoudre :

⃗ [ ]

Compte tenu de vecteur ⃗⃗ on résout d’abord :

⃗ [ ]

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

exercices) donne ⃗ [ ] . Il suffit maintenant d’effectuer la remontée


triangulaire :

[ ]
Qui nous donne la solution finale : ⃗ [ ] .

Comme on a permuté deux lignes deux fois, le déterminant a changé de signe deux fois.

Cela nous amène au théorème suivant.

Théorème 1

On peut calculer le déterminant de la matrice A à l’aide de la méthode de la décomposition LU


de Crout de façon suivante :

( ) ∏

Où N est le nombre de fois où on a interverti deux lignes.

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

La décomposition LU pour la résolution d’un système linéaire de dimension n sur n requiert


exactement multiplications/divisions et additions/soustractions à l’étape de
décomposition en un produit LU. De plus , les remontée et descente triangulaires nécessitent
multiplications/divisions et ( ) additions/soustractions, pour un total de :

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

Vous aimerez peut-être aussi