TD6 Corrige

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

Sup’Galilée Année 2020/2021

MACS1

Analyse numérique - TD6 & TD 7 - Corrigé


Méthodes directes pour la résolution des systèmes linéaires

1 Méthode de Gauss et factorisation LU


Exercice 1 : un exemple
Soient α, β, γ P R. On considère le système linéaire suivant d’inconnues x1 , x2 , x3 :
$
& x1 ` 2x2 ´ 3x3 “ α
2x1 ` 6x2 ´ 5x3 “ β (1)
x1 ´ 2x2 ` 7x3 “ γ
%

x “ b , avec A P M3 pRq, x P R3 , et b P R3 , que l’on explicitera.


1. Écrire le système (1) sous la forme Ax
2. Est-ce que le système (1) admet une unique solution pour tout α, β, γ P R ?
3. Montrer que A admet une unique factorisation LU.
Dans la suite on choisit α “ 1, β “ ´1 et γ “ 2 et on va résoudre le système Ax
x “ b de plusieurs façons :
(a) Résoudre le système (1) par l’algorithme de Gauss sans pivot.
(b) Calculer la factorisation LU de A puis résoudre le système (1) en utilisant cette factorisation LU.
(c) Résoudre le système (1) par l’algorithme de Gauss avec pivot partiel.
(d) Calculer la factorisation L̄Ū de PA (où P est la matrice produit des matrices de permutations effectuées dans
l’algorithme de Gauss avec pivot partiel), puis résoudre le système (1) en utilisant cette factorisation.

Correction
1. On a ¨ ˛ ¨ ˛ ¨ ˛
1 2 ´3 x1 α
A “ ˝2 6 ´5‚, x “ ˝x2 ‚, b “ ˝β ‚,
1 ´2 7 x3 γ
A et b étant les données, et x P R3 le vecteur inconnu.
2. On calcule detpAq “ 24 ‰ 0 donc A est inversible. Le système admet donc une unique solution : x “ A´1b , Pour tout
b P R3 , c’est-à-dire pour tout α, β, γ P R.
3. On choisit α “ 1, β “ ´1 et γ “ 2. Vérifions que A admet une unique factorisation LU. D’après le cours (ou l’exercice 3
ci-dessous), une condition suffisante est que
ˆ les sous
˙ matrices principales de A sont inversibles. Ceci est bien le cas car :
1 2
detp∆1 q “ detp1q “ 1 ‰ 0, detp∆2 q “ det “ 2 ‰ 0, et detp∆3 q “ detpAq ‰ 0.
2 6
3. (a) Le fait que A admet une (unique) factorisation LU revient à dire que l’on peut effectuer l’algorithme de Gauss sans
pivot. On regroupe A et b (en ajoutant b à droite de A) :
¨ ˛ ¨ ˛ ¨ ˛
1 2 ´3 1 ÝÑ 1 2 ´3 1 1 2 ´3 1
ÝÑ
˝ 2 6 ´5 ´1 ‚L2 ÐL2 ´2L1 ˝ 0 2 1 ´3 ‚L3 ÐL3 `2L2 ˝ 0 2 1 ´3 ‚
L3 ÐL3 ´L1
1 ´2 7 2 0 ´4 10 1 0 0 12 ´5
Ap0q “ A b p0q “ b Ap1q b p1q Ap2q b p2q

En posant U “ Ap2q et c “ b p2q on est ramené à résoudre le système triangulaire supérieur Uxx “ c , que l’on résout par
remontée :
$ 5
& 12x3 “ ´5 ñ permet de calculer x3 : x3 “ ´ 12
2x2 ` x3 “ ´3 ñ permet de calculer x2 connaissant x3 : x2 “ ´ 31 24
ñ permet de calculer x1 connaissant x2 , x3 : x1 “ 37
%
x1 ` 2x2 ´ 3x3 “ 1

1
(b) Pour trouver la factorisation LU de A on reprend les étapes de l’algorithme de Gauss :
¨ ˛ ¨ ˛ ¨ ˛¨ ˛
1 2 ´3 ÝÑ 1 2 ´3 1 0 0 1 2 ´3
˝ 2 6 ´5 ‚L2 ÐL2 ´22˚L1 ˝ 0 2 1 ‚ “ ˝ ´2 1 0 ‚˝ 2 6 ´5 ‚
L3 ÐL3 ´1
1˚L1
1 ´2 7
loooooooooomoooooooooon 0 ´4 10
loooooooooomoooooooooon ´1 0 1 loooooooooomoooooooooon
loooooooomoooooooon 1 ´2 7
A“Ap0q Ap1q Ep1q Ap0q
¨ ˛ ¨ ˛¨ ˛
1 2 ´3 1 0 0 1 2 ´3
ÝÑ
L3 ÐL3 ´p´2
´2
´2q˚L2
˝ 0 2 1 ‚ “ ˝ 0 1 0 ‚˝ 0 2 1 ‚
0 0 12
loooooooomoooooooon 0 2 1 loooooooooomoooooooooon
looooooomooooooon 0 ´4 10
Ap2q Ep2q Ap1q
¨ ˛ ¨ ˛
1 0 0 1 0 0
Notons que Ep1q est inversible, et pEp1q q´1 “ ˝ 2 1 0 ‚. De même, Ep2q est inversible, et pEp2q q´1 “ ˝ 0 1 0 ‚.
1 0 1 0 ´2 1
Ainsi, à la fin de la 1ère étape de la méthode de Gauss on a :

Ap1q “ Ep1q A,

et à la fin de la 2ème étape on obtient :

U “ Ap2q “ Ep2q Ap1q “ Ep2q Ep1q A.


def

De l’égalité ci-dessus, on a

Ep2q Ep1q A “ U ðñ A “ pEp2q Ep1q q´1 U


´ ¯
ðñ A “ pEp1q q´1 pEp2q q´1 U
ðñ A “ LU
¨ ˛¨ ˛ ¨ ˛
1 0 0 1 0 0 1 0 0
avec L “ “ pEp1q q´1 pEp2q q´1 “˝ 2 1 0 ‚˝ 0 1 0 ‚ “ ˝ 2 1 0 ‚.
def
1 0 1 0 ´2 1 1 ´2 1
Notons que pour obtenir L il suffit de partir de la matrice identité I puis de recopier dans cette matrice, en les changeant de
signe, les coefficients utilisés à chaque opération élémentaire
¨ ˛ ¨ ˛
1 0 0 1 0 0
˝ 0 1 0 ‚ ÝÑ ˝ 2 1 0 ‚.
0 0 1 1 ´2 1
I L “ pEp1q q´1 pEp2q q´1

Si l’on souhaite
¨ directement trouver
˛ la ¨
factorisation LU de˛A sans passer par les étapes de l’algorithme de Gauss, alors on
1 0 0 u11 u12 u13
cherche L “ ˝ `21 1 0 ‚ et U “ ˝ 0 u22 u23 ‚ telles que LU “ A. Identifions les coefficients ligne par ligne :
`31 `32 1 0 0 u33

Étape 1 : identification de la première ligne de LU “ A :

u11 “ a11 “ 1, u12 “ a12 “ 2, u13 “ a13 “ ´3.

Étape 2 : identification de la deuxième ligne de LU “ A :

`21 u11 “ a21 “ 2 ñ `21 “ 2,


`21 u12 ` u22 “ a22 “ 6 ñ u22 “ 2,
`21 u13 ` u23 “ a23 “ ´5 ñ u23 “ 1.

Étape 2 : identification de la troisième ligne de LU “ A :

`31 u11 “ a31 “ 1 ñ `31 “ 1,


`31 u12 ` `32 u22 “ a32 “ ´2 ñ `32 “ ´2,
`31 u13 ` `32 u23 ` u33 “ a33 “ 7 ñ u33 “ 12.

2
C’est cette méthode que l’on généralisera ci-dessous, dans l’exercice 2, pour écrire l’algorithme de calcul de la factorisation LU
d’une matrice A de dimension quelconque.

Utilisons maintenant cette factorisation LU pour résoudre le système Ax


x “ b . On a

x “ b ðñ LUx
Ax x“b
ðñ Lyy “ b puis Ux
x“y

On résout par descente Lyy “ b et on trouve y “ p1, ´3, ´5qt (notons que y “ c de la question (a)). Puis on résout Ux
x“y
par remontée, et on trouve x “ p 37 , ´ 31
24 , ´ 5 t
12 q .

(c) Effectuons maintenant l’algorithme de Gauss avec pivot partiel. On commence par chercher dans la colonne 1 le plus grand
nombre en valeur absolue : ici 2 (à la 2ème ligne) et on permute la 2ème ligne avec la 1ère :
¨ ˛ ¨ ˛
1 2 ´3 1 2 6 ´5 ´1
˝ 2 6 ´5 ´1 ‚L ÝÑ ˝ 1 2 ´3 1 ‚
2 ØL1
1 ´2 7 2 1 ´2 7 2

Ensuite on effectue la 1ère étape de la méthode de Gauss :


¨ ˛ ¨ ˛
2 6 ´5 ´1 ÝÑ 2 6 ´5 ´1
˝ 1 2 ´3 1 ‚L2 ÐL2 ´ 2 L1 ˝ 0 1
´1 ´ 21 3
2

1 ´2 7 2 L3 ÐL3 ´ 12 L1 19 5
0 ´5 2 2

On cherche maintenant dans la colonne 2 à partir de la ligne 2 le plus grand nombre en valeur absolue : ici -5 (à la 3ème
ligne) et on permute la 3ème ligne avec la 2ème :
¨ ˛ ¨ ˛
2 6 ´5 ´1 2 6 ´5 ´1
˝ 0 ´1 ´ 2 1 3 ÝÑ 19 5
2
‚ L3 ØL2
˝ 0 ´5 2 2

19 5
0 ´5 2 2 0 ´1 ´ 21 3
2

Puis on effectue la 2ème (et dernière) étape de la méthode de Gauss :


¨ ˛ ¨ ˛
2 6 ´5 ´1 2 6 ´5 ´1
ÝÑ
˝ 0 ´5 19 2
5 ‚
2 L3 ÐL3 ´ 51 L2
˝ 0 ´5 19
2
5 ‚
2
0 ´1 ´ 21 3
2 0 0 ´ 12
5 1
¨ ˛ ¨ ˛
2 6 ´5 ´1
19 ‚ 5 ‚
En posant Ū “ ˝ 0 ´5 2 et c
c̄ “ ˝ 2 on est ramené à résoudre le système triangulaire supérieur Ūx
x “ c̄c, que
12
0 0 ´5 1
l’on résout par remontée. On retrouve alors x “ p 37 , ´ 31 5 t
24 , ´ 12 q .

(d) Pour trouver la factorisation L̄Ū de PA on reprend les étapes de l’algorithme de Gauss avec pivot partiel :
¨ ˛ ¨ ˛ ¨ ˛¨ ˛
1 2 ´3 2 6 ´5 0 1 0 1 2 ´3
ÝÑ
˝ 2 6 ´5 ‚L ØL ˝ 1 2 ´3 ‚ “ ˝ 1 0 0 ‚˝ 2 6 ´5 ‚
2 1
1 ´2 7
loooooooooomoooooooooon 1 ´2 7
loooooooooomoooooooooon 0 0 1 loooooooooomoooooooooon
looooooomooooooon 1 ´2 7
A“Ap0q P1 A P1 Ap0q
¨ ˛ ¨ ˛¨ ˛
ÝÑ 2 6 ´5 1 0 0 2 6 ´5
L2 ÐL2 ´ 12 L1 1 1
˝ 0 ´1 ´ 2 ‚ “ ˝ ´ 2 1 0 ‚˝ 1 2 ´3 ‚
L3 ÐL3 ´ 12 L1
0 ´5 19 2
loooooooooomoooooooooon ´ 12 0 1 loooooooooomoooooooooon
looooooooomooooooooon
1 ´2 7
Ap1q Ēp1q P1 Ap0q
¨ ˛ ¨ ˛¨ ˛
2 6 ´5 1 0 0 2 6 ´5
ÝÑ
L3 ØL2
˝ 0 ´5 19 2
‚ “ ˝ 0 0 1 ‚˝ 0 ´1 ´ 21 ‚
0 ´1 ´ 12
loooooooooomoooooooooon
0 1 0
looooooomooooooon 0 ´5 19 2
loooooooooomoooooooooon
P2 Ap1q P2 Ap1q
¨ ˛ ¨ ˛¨ ˛
2 6 ´5 1 0 0 2 6 ´5
ÝÑ 19 ‚ 19 ‚
´ 15 q˚L2
L3 ÐL3 ´p´
˝ 0 ´5 2 “ ˝ 0 1 0 ‚˝ 0 ´5 2 “
12 1 1
0 0 ´ 5
0 ´ 5 1
looooooooomooooooooon 0 ´1 ´ 2
looooooooooomooooooooooon loooooooooomoooooooooon
Ap2q Ēp2q P2 Ap1q

3
¨ ˛ ¨ ˛
1 0 0 1 0 0
1
Notons que Ēp1q est inversible, et pĒp1q q´1 “ ˝ 2 1 0 ‚. De même, Ēp2q est inversible, et pĒp2q q´1 “ ˝ 0 1 0 ‚.
1 1
2 0 1 0 5 1
Ainsi, à la fin de la 1ère étape de la méthode de Gauss on a :

Ap1q “ Ēp1q P1 A,

et à la fin de la 2ème étape on obtient :

Ū “ Ap2q “ Ēp2q P2 Ap1q “ Ēp2q P2 Ēp1q P1 A


def
ðñ Ū “ pĒp2q Ēp1q qpP2 P1 qA (car P2 et Ēp1q commutent)

De l’égalité ci-dessus, on a

pĒp2q Ēp1q qpP2 P1 qA “ Ū ðñ pP2 P1 qA “ pĒp2q Ēp1q q´1 Ū


´ ¯
ðñ pP2 P1 qA “ pĒp1q q´1 pĒp2q q´1 Ū
ðñ PA “ L̄Ū
¨ ˛¨ ˛ ¨ ˛
1 0 0 1 0 0 1 0 0
1 1
avec P “ P2 P1 et L “ “ pĒp1q q´1 pĒp2q q´1 “ ˝ 2 1 0 ‚˝ 0 1 0 ‚“ ˝ 2 1 0 ‚.
def 1
1 0 1 1 1
2 0 1 5 2 5 1
Notons que pour obtenir L et P il suffit de partir de la matrice identité I puis :
— pour obtenir L̄ : de recopier dans I, en les changeant de signe, les coefficients utilisés à chaque opération élémentaire :
¨ ˛
¨
1 0 0
˛ 1 0 0
˝ 0 1 0 ‚ ÝÑ ˚ ˝ 21 1 0 ‚.

0 0 1 1 1
1 2 5
I L̄

— pour obtenir P̄ : de faire, à partir de I, chaque permutation élémentaire :


¨ ˛ ¨ ˛ ¨ ˛
1 0 0 0 1 0 0 1 0
ÝÑ ÝÑ
˝ 0 1 0 ‚L2 ØL1 ˝ 1 0 0 ‚L3 ØL2 ˝ 0 0 1 ‚,
0 0 1 0 0 1 1 0 0
I P1 P “ P2 P1

on a alors PA “ L̄Ū.

Utilisons maintenant cette factorisation PA “ L̄Ū pour résoudre le système Ax


x “ b . On a, puisque P est inversible

x “ b ðñ PAx
Ax x “ Pbb ðñ L̄Ūx
x “ Pbb
ðñ L̄ȳy “ Pbb puis Ūx
x “ ȳy

On résout par descente L̄yy “ Pbb et on trouve ȳy “ p´1, 52 , 1qt (notons que ȳy “ c̄c de la question (c)). Puis on résout Ūx
x “ ȳy
par remontée, et on trouve x “ p 37 , ´ 31
24 , ´ 5 t
12 q .

Exercice 2 : généralités
Soit A P Mn pRq une matrice inversible admettant une factorisation LU où L est une matrice triangulaire inférieure à diagonale
unité et U est une matrice triangulaire supérieure.
1. Montrer que si la factorisation LU existe alors elle est unique.
2. Décrire une méthode permettant de calculer explicitement les coefficients des matrices L et U.
3. (algo) Ecrire une fonction FactLU permettant de calculer les matrices L et U. Quel est le coût de cette méthode ?
(on évaluera le nombre d’opérations élémentaires)
4. Soit A P Mn pRq une matrice inversible. Est-il toujours possible de décomposer A sous la forme A “ LU où L est une
matrice triangulaire inférieure à diagonale unité et U est une matrice triangulaire supérieure ?

4
5. (algo) Soit A P Mn pRq une matrice inversible admettant une factorisation LU. Expliquer comment résoudre le système
Ax “ b en utilisant cette factorisation et écrire l’algorithme (fonction ResFactLU) correspondant. Calculer le coût de
cet algorithme.

Correction
1. Supposons que la matrice A P Mn pRq vérifie

A “ L1 U1 “ L2 U2 , (2)


- U1 P Mn pRq et U2 P Mn pRq sont des matrices triangulaires supérieures,
- L1 P Mn pRq et L2 P Mn pRq sont des matrices triangulaires inférieures à diagonale unité (leurs coefficients diagonaux
sont tous égaux à 1).
Nous allons montrer que L1 “ L2 et U1 “ U2 . Comme A est inversible, alors

detpAq “ detpL1 U1 q “ detpL1 qdetpU1 q ‰ 0.

Cela signifie donc que detpL1 q ‰ 0 et detpU1 q ‰ 0, autrement dit que les matrices L1 et U1 sont inversibles (on savait déjà
en fait que L1 était inversible puisque detpL1 q “ 1). De manière similaire, on montre que L2 et U2 sont inversibles.

Ainsi, la seconde égalité de (2) est équivalente à

pL2 q´1 L1 “ U2 pU1 q´1 . (3)

La matrice L2 est triangulaire inférieure à diagonale unité. Par conséquent, d’après l’exercice 4 du TD2, la matrice L´1 2
est triangulaire inférieure à diagonale unité. Donc comme L´1 2 L1 est le produit de deux matrices triangulaires inférieures à
diagonale unité, le terme de gauche de l’égalité (3) est une matrice triangulaire inférieure à diagonale unité.
De manière similaire, comme la matrice U1 est triangulaire supérieure, son inverse pU1 q´1 est triangulaire supérieure. Donc,
le terme de droite de l’égalité (3) est une matrice triangulaire supérieure.
Ainsi, l’égalité (3) implique que pL2 q´1 L1 triangulaire inférieure est égale à et U2 pU1 q´1 triangulaire supérieure, donc ce sont
deux matrices diagonales identiques. De plus, pL2 q´1 L1 étant à diagonale unité, elle est égale à la matrice identité :

pL2 q´1 L1 “ U2 pU1 q´1 “ I,

ou de façon équivalente
L2 “ L1 et U2 “ U1 .
Autrement dit, si A admet une factorisation LU (avec L triangulaire inférieure à diagonale unité et U triangulaire inférieure),
alors cette factorisation est unique.
Remarque. Ce résultat repose de manière essentielle sur le fait que L est à diagonale unité. Sans cette hypothèse, il n’y a pas
unicité de la décomposition LU.
2. On suppose que A admet une décomposition LU. L’objectif de cette question de calculer L et U.
On pose A “ paij qpi,jqPv1,nw2 , L “ p`ij qpi,jqPv1,nw2 , U “ puij qpi,jqPv1,nw2 :
¨ ˛ ¨ ˛ ¨ ˛
a11 a12 ¨ ¨ ¨ ¨ ¨ ¨ a1n 1 0 ¨¨¨ ¨¨¨ 0 u11 u12 ¨ ¨ ¨ ¨¨¨ u1n
˚ a21 a22 ¨ ¨ ¨ ¨ ¨ ¨ a2n ‹ ˚ `21 1 0 ¨ ¨ ¨ 0 ‹ ˚ 0 u22 u23 ¨¨¨ u2n ‹
˚ ‹ ˚ ‹ ˚ ‹
˚ .. .. .. .. .. ‹ ˚ . .. .. .. .. ‹ ˚ . .. .. .. .. ‹
A“˚ . . . . . ‹ , L “ ˚ .. . . . . ‹ , U “ ˚ .. . . . . ‹
˚ ‹ ˚ ‹ ˚ ‹
˚ .. .. .. . .. .
.. ‚ . . . . . . .. .. ‹
˝ .. .. .. . . 0‚ ˝ .. ..
‹ ˚ ‹ ˚
˝ . . . 0 . .‚
an1 an2 ¨ ¨ ¨ ¨ ¨ ¨ ann `n1 `n2 ¨ ¨ ¨ ¨ ¨ ¨ 1 0 ¨¨¨ ¨¨¨ 0 unn

Comme L est triangulaire inférieure à diagonale unité, on sait que, pour tout i P v1, nw

`ii “ 1 et `ik “ 0 @k ą i. (4)

De manière similaire, comme U est triangulaire supérieure, pour tout j P v1, nw,

ukj “ 0 @k ą j. (5)

Ainsi les inconnues du problèmes sont :

5
- les nombres `ik , pour tout i P v1, nw et pour tout k ă i.
- les nombres ukj , pour tout j P v1, nw et pour tout k ď j.

Comme A “ LU, et en utilisant (4) et (5),


n
ÿ minpi,jq
ÿ
@pi, jq P v1, nw2 , aij “ `ik ukj “ `ik ukj . (6)
k“1 k“1

De plus, comme A est inversible,


śn on a detpAq ‰ 0, et ainsi l’égalité A “ LU implique que detpLq detpUq ‰ 0 donc U est
inversible. Or detpUq “ j“1 ujj (car U est triangulaire supérieure), donc

ujj ‰ 0, @j P v1, nw. (7)

La question est donc la suivante : comment utiliser la formule (6) pour touver un algorithme de calcul des inconnues `ik
(i P v1, nw, k ă i) et ukj (j P v1, nw, k ď j) ? Pour déterminer ces coefficients, nous allons utiliser une identification des
coefficients de A “ LU ligne par ligne :

Étape 1 : identification de la première ligne de A “ LU


Nous allons voir que cette étape va nous permettre de calculer la première ligne de U (i.e les coefficient u1j pour tout
j P v1, nw) et la première ligne de L (il n’y a en fait rien à calculer puisque `11 “ 1 et `1k “ 0 sinon).

L’equation (6) pour i “ 1 donne


1
ÿ
a1j “ `1k ukj “ `11 u1j “ u1j
k“1

car minp1, jq “ 1 et `11 “ 1. Ainsi, pour tout j P v1, nw,

u1j “ a1j (8)

ce qui nous permet de calculer la première ligne de U. A l’issue de cette première étape, la première ligne de L et la première
ligne de U sont intégralement déterminées.

Étape 2 : identification de la deuxième ligne de A “ LU


Nous allons voir que cette étape va nous permettre de calculer la deuxième ligne de L (i.e, le coefficient `21 ) puis la deuxième
ligne de U (i.e les coefficient u2j pour tout j ě 2).

L’equation (6) pour i “ 2 donne


minp2,jq
ÿ
a2j “ `2k ukj (9)
k“1

Nous discutons deux cas, suivant la valeur de minp2, jq :


a- j ă 2 (minp2, jq “ j) : dans ce cas, j “ 1, et on a a21 “ `21 u11 . Comme u11 a été calculé à la première étape, et
u11 ‰ 0 d’après (7), on en déduit que
a21
`21 “ (10)
u11
si bien que la deuxième ligne de L est maintenant déterminée.
b- j ě 2 (minp2, jq “ 2) : la formule (9) devient a2j “ `21 u1j ` `22 u2j , ou encore, puisque `22 “ 1, pour tout j P v2, nw,

u2j “ a2j ´ `21 u1j . (11)

Le terme de droite de l’equation précédente est connu intégralement : `21 a été calculé lors de l’étape 2-a ((10)) et les
termes u1j , j ě 2, sont connus depuis l’étape 1. La seconde ligne de U est maintenant complètement déterminée.
Remarque. Dans le processus d’identification ci dessus, il n’est pas possible d’intervertir les étapes 2-a et 2-b.

6
Étape i : identification de la ligne i de A “ LU
Dans cette étape, nous allons calculer la ligne i de L (i.e, le coefficient `ij , j ă i) (Étape i-a) puis la ligne i de U (i.e les
coefficient uij pour tout j ě i) (Étape i-b)).

Nous faisons l’hypothèse que les étapes précédentes (étapes k pour k ă i) ont permis de calculer les i ´ 1 premières lignes
de L et les i ´ 1 premières lignes de U. On rappelle que l’equation (6) donne
minpi,jq
ÿ
aij “ `ik ukj . (12)
k“1

Nous discutons deux cas, suivant la valeur de minpi, jq :


a- j ă i (minpi, jq “ j) : L’équation (12) devient
j
ÿ
aij “ `ik ukj . (13)
k“1

On remarque que, comme k ď j ă i, les nombres ukj sont connus. Pour j “ 1, nous obtenons alors ai1 “ `i1 u11 ce
qui nous permet de déterminer `i1 par la formule
ai1
`i1 “
u11
`i1 étant déterminé, nous allons pouvoir déterminer `i2 . En effet, l’équation (13) pour j “ 2 donne

ai2 “ `i1 u12 ` `i2 u22

Puisque les termes u12 et u22 ont été calculés lors d’étapes précédentes et que `i1 vient d’être calculé, la seule inconnue
de l’équation précédente est `i2 . On obtient alors (puisque A est inversible et A “ LU, u22 ‰ 0)

ai2 ´ `i1 u12


`i2 “ .
u22
On peut ainsi continuer à déterminer `ij de proche en proche pour tout j ă i. En effet, supposons `ik connu pour tout
k ď j ´ 1. D’après (7) on a ujj ‰ 0, @j P v1, nw. On peut donc réécrire l’équation (13) comme
j´1
ÿ
aij ´ `ik ukj
k“1
`ij “ p@j ď i ´ 1q. (14)
ujj

Le terme de droite de l’équation précédente est connu : en effet ukj est connu pour tout k ă i (donc en particulier
pour k ď j). De même, les termes `ik sont connus, par conqéquent `ij est déterminé.
A l’issue de cette étape i-a, les coefficients `ij pour j ă i sont déterminés.
b- j ě i (minpi, jq “ i) : l’équation L’équation (12) devient
i
ÿ i´1
ÿ
aij “ `ik ukj “ `ik ukj ` `ii uij , (15)
k“1 k“1

qui, comme `ii “ 1 donne


i´1
ÿ
uij “ aij ´ `ik ukj p@j ě iq. (16)
k“1

Puisque les coefficients ukj pour k ď i ´ 1 ont été déterminés lors des étapes précédentes et que les coefficients `ik
(k ě i) sont connus depuis l’étape i-a, le terme de droite de (16) est connu et l’équation (16) permet de construire uij
pour tout j ě i.

Algorithm 1 Fonction FactLU : Calcule (en identifiant par lignes) les matrices L et U de la factorisation LU d’une matrice A

Données : A : matrice de Mn pRq inversible et admettant une factorisation LU


Résultat : L : matrice de Mn pRq triangulaire inférieure à diagonale unité
U : matrice de Mn pRq trianguaire supérieure inversible

1: Fonction rL, Us Ð FactLU(A)

7
2: n Ð sizepA, 1q
3: L Ð In Ź matrice identité de Mn pRq
4: U Ð On Ź matrice nulle de Mn pRq
5: Pour i Ð 1 à n faire
6: Pour j Ð 1 à i ´ 1 faire Ź Calcul de la ligne i de L (`ij , j ă i) (formule (14))
7: Lpi, jq Ð Api, jq
8: Pour k Ð 1 à j ´ 1 faire
9: Lpi, jq Ð Lpi, jq ´ Lpi, kq ˚ Upk, jq
10: fin Pour
11: Lpi, jq Ð Lpi, jq{Upj, jq
12: fin Pour
13: Pour j Ð i à n faire Ź Calcul de la ligne i de U (uij , j ě i) (formule (16))
14: Upi, jq Ð Api, jq
15: Pour k Ð 1 à i ´ 1 faire
16: Upi, jq Ð Upi, jq ´ Lpi, kq ˚ Upk, jq
17: fin Pour
18: fin Pour
19: fin Pour
20: fin Fonction

Remarque.
1. Une autre méthode est proposée en cours, pour calculer L et U. Elle consiste à calculer, à chaque étape i, la i-ème ligne de
U et la i-ème colonne de L.
2. Dans le processus d’identification de l’étape i-a, il n’est pas possible d’intervertir les sous étapes : dans l’égalité (14), il
faut connaitre `ik pour k ď j ´ 1 pour pouvoir calculer `ij . Il faut donc commencer par calculer `i1 , puis `i2 et ainsi de
suite jusqu à `i,i´1 . Par contre, la définition (16) de uij ne fait pas appel à uik pour k ď j ´ 1. Les calculs (16) peuvent
donc être effectués en parallèle.
3. On aurait aussi pu identifier les équations (6) colonne par colonne.

Vous aimerez peut-être aussi