Vous êtes sur la page 1sur 21

Université Sultan Moulay Slimane, ENSA Khouribga, AP2,

S2, Année universitaire 2021-22,- Analyse


Numérique-Correction TD1

Exercice 1 :
1. Soit A ∈ Mn (R) une matrice symétrique inversible admettant une factorisation
LU où L ∈ Mn (R) est une matrice triangulaire inférieure à diagonale unité et
U ∈ Mn (R) est une matrice triangulaire supérieure (notons que L ∈ Mn (R) et
U ∈ Mn (R) par construction). Montrer que A admet une unique factorisation
A = LDLt où L est une matrice triangulaire inférieure à diagonale unité et D
est une matrice diagonale inversible.
2. Montrer qu’une matrice A ∈ Mn (R) admet une factorisation A = LDL où L est
une matrice triangulaire inférieure à diagonale unité et D est une matrice diago-
nale dont tous les coefficients diagonaux sont strictement positifs si et seulement
si A est symétrique définie positive. Montrer que cette factorisation est unique.
3. En déduire que A admet une unique factorisation de Cholesky A = BBt où B est
une matrice triangulaire dont les coefficients diagonaux sont strictement positifs
si et seulement si A est matrice symétrique définie positive.
4. On suppose A symétrique définie positive. Décrire une méthode permettant de
calculer explicitement les coefficients de la matrice B précédente.

Solution: 1. On suppose qu’il existe une matrice U triangulaire supérieure et une


matrice L triangulaire inférieure à diagonale unité telle que A = LU. Comme de
plus, A est inversible, U est inversible, et donc que les éléments diagonaux de U
sont non nuls. On définit D ∈ Mn (R) comme la matrice diagonale formée des
éléments diagonaux de U :

u11 0 · · · 0
 


. .. 
 0 u22 . .

0 si i 6= j . 
 
dij = D= . . .
u si i = j.  .. .. .. 0 


 ii

0 · · · 0 unn

La matrice D est inversible. II est clair que U = DŨ où Ũ = D−1 U. Les
composantes de Ũ sont
uij
ũij = ∀(i, j) ∈ [1 : n]2 .
uii
Ù est une matrice triangulaire supérieure à diagonale unité.
Puisque par ailleurs, A = LU, on a A = LDU. Nous allons montrer que Ũ = Lt ,
ce qui montrera que A = LDL. Comme A est symétrique, on a
 
LU = A = At = (LDŨ)t = Ũt Dt Lt = Ũt Dt L t

| {z } | {z }
tri. inf. diag. unité tri. sup
Par unicité de la factorisation LU, on en déduit que Ũt = L. 2. On procède par
double implication :
1. Étape 1 : on montre que si A est symétrique définie positive (SDP), alors il
existe une matrice diagonale D > 0 (i.e dii > 0 pour tout i ∈ [1 : n] ) et une
matrice L triangulaire inférieure à diagonale unité telle que A = LDLt .
2. Étape 2 : On montre que s’il existe une matrice diagonale D > 0 (i.e dii > 0
pour tout i ∈ [1 : n] ) et une matrice L triangulaire inférieure à diagonale unité
telle que A = LDLt , alors A est symétrique définie positive (SDP).
Enfin, on montre que l’unicité d’une telle factorisation a postériori.
Rappel sur les matrices symétriques définies positives
Une matrice A est symétrique définie positive si
a- A est symétrique : At = A.
b- A est définie : s’il existe x ∈ Rn tel que hAx, xi = 0 alors x = 0, (h·, ·i désigne
le produit scalaire euclidien de Rn ).
c- A est positive : pour tout x ∈ Rn , hAx, xi ≥ 0.
Remarque: une matrice SDP est inversible. En effet, si A est SDP et s’il existe
x ∈ Rn tel que Ax = 0, alors hAx, xi = 0. D’après la propriété b, on en déduit
que x = 0.
Étape 1 (implication)
On montre que si A est symétrique définie positive (SDP), alors il existe une
matrice diagonale D > 0 (i.e dii > 0 pour tout i ∈ [1 : n] ) et une matrice L
triangulaire inférieure à diagonale unité telle que A = LDLt . Pour cela, on va
utiliser la proposition suivante (preuve ci-dessous) :
Proposition 0.1. Soit A une matrice symétrique définie positive. Alors tous les
mineurs principaux de A sont non nuls.
Soit A une matrice SDP. Alors, d’après la proposition précédente, ses mineurs
principaux sont non nuls, et donc A admet une décomposition LU. Par conséquent,
en utilisant la question 1 , il existe une matrice diagonale D inversible et une
matrice triangulaire inférieure à diagonale unité L telle que
A = LDLt .
Pour terminer l’étape 1 , il suffit de montrer que D > 0. Tout d’abord, puisque A
est SDP,
∀x ∈ Rn , hAx, xi > 0 ⇔ D Lt x , Lt x > 0∀x ∈ Rn .



Par ailleurs, on remarque que pour tout i ∈ [1 : n], dii = hDei , ei i. Ainsi, en choi-
−1
sissant x = (Lt ) ei dans (1) (Lt est inversible car L est une matrice triangulaire
à diagonale unité), on a donc
dii = hDei , ei i = D Lt x , Lt x > 0.



demonstration de la Proposition 0.1. Nous prouvons cette proposition par contra-


diction. Décomposons A par blocs : Soit k ∈ N, k ≤ n, on a
 
Ak B
A=
Bt C

Page 2
où Ak est la sous matrice de A formée des k premières colonnes et k premières
lignes de A, B ∈ Mk,n−k (R), C ∈ Mn−k,n−k (R). Supposons que le mineur principal
d’ordre k de A soit nul. Cela signifie exactement que Ak n’est pas inversible. Donc
il existe xk ∈ Rk non nul tel que Ak xk = 0. Par conséquent, (Ak xk , xk ) = 0. On
définit maintenant x ∈ Rn par
  (
xk (xk )i si i ∈ [1 : k],
x= i.e xi =
0 0 si i ∈ [k + 1 : n],

où 0 désigne le vecteur nul de Rn−k . On a

hAx, xi = hAk xk + B0, xk i + Bt xk + C0, 0 = hAk xk , xk i = 0.



Comme A est symétrique définie positive, on en déduit que x = 0 ce qui entraine


que xk = 0. On aboutit donc à une contradiction. Donc, pour tout k ∈ [1 : n], la
matrice Ak est inversible.
Étape 2 (implication réciproque)
On montre qu’une matrice de la forme A = LDLt où L est une matrice triangulaire
inférieure à diagonale unité et D > 0 est une matrice diagonale strictement positive,
est symétrique définie positive.
- On montre que A est symétrique :
t t t
At = (LDL)t = Lt |{z} D L = LDLLt = A
| {z }
=D
=L

- On montre que A est positive : on considère x ∈ Rn et on pose y = Lt x. Alors,

hAx, xi = LDLt x, x = DLt x, Lt x = hDy, yi ≥ 0




car D est une matrice positive.


- On montre que A est définie : soit x ∈ Rn tel que hAx, xi = 0. Posons y = Lt x.
D’après (2), on a
Xn
hDy, yi = dii yi2 = 0.
i=1

Comme, pour tout i ∈ [1 : n]dii > 0, on en déduit que yi = 0 pour tout i ∈ [1 : n].
−1
Donc y = 0 et comme = Lt est inversible, on en déduit que x = (Lt ) y = 0.
Pour terminer cette question, il reste à montrer l’unicité de la factorisation LDL .
Supposons que
A = L1 D1 (L1 )t = L2 D2 (L2 )t
avec L1 et L2 triangulaires inférieures à diagonale unité et D1 , D2 diagonales ayant
des coefficients strictement positifs. On pose U1 = D1 (L1 )t et U2 = D1 (L2 )t .
Alors U1 et U2 sont triagulaires supérieures inversibles. Donc

A = L1 U1 = L2 U2

Page 3
par unicité de la factorisation LU, on trouve que L1 = L2 et U1 = U2 . On en
déduit que D1 = D2 , ce qui termine la preuve d’unicité. 3. Comme pour la
question précédente, nous procédons par double implication : Étape 1 (implica-
tion) Supposons que A est SDP. Alors, d’après la question 2, il existe une matrice
diagonale D ayant des coefficients diagonaux strictement positifs, et une matrice
triangulaire inférieure à diagonale unité telle que A = LDLLt . On introduit la
matrice diagonale D1/2 définie par
(√
dii si i = j,
d1/2 ij =

0 sinon.
t
On peut vérifier que D1/2 D1/2 = D. Alors, comme D1/2 = D1/2 , on a
  t    t
A = LDLLt = LD1/2 D1/2 Lt = LD1/2 D1/2 Lt = LD1/2 LD1/2 .

Si on définit par B = LD1/2 , on a donc A = BBt . Pour conclure, il suffit de


vérifier que B est une matrice triangulaire inférieure dont les éléments diagonaux
sont strictement positifs :
- B est le produit d’une matrice triangulaire inférieure et d’une matrice diagonale,
donc B est triangulaire inférieure
- On a n
X p
`ik d1/2 ki = `ii d1/2 ii = dii > 0.
 
bii =
|{z}
k=1
| {z }
=0 sauf si k=i =1

Étape 2 (implication réciproque) Réciproquement, soit A une matrice se décomposant


sous la forme A = BBt où B est une matrice triangulaire inférieure dont les
éléments diagonaux sont strictement positifs. Vérifions que A est SDP. - A est
symétrique. En effet,
t t
At = BBt = Bt Bt = BBt = A

- A est positive. En effet, pour tout x ∈ Rn ,


2
hAx, xi = BBt x, x = Bt x, Bt x = Bt x 2 ≥ 0.

- A est définie. Supposons qu’il existe x ∈ Rn tel que hAx, xi = 0. Alors, d’après
le calcul précédent, t
B x = 0,
2
et donc Bt x = 0. Comme B est inversible (det (Bt ) = ni=1 bi,i > 0), on en déduit
Q
que x = 0. 4. Comme B est triangulaire inférieure bmp = 0 pour tout p > m.
Donc,
n n min(i,j)
X X X
t t
A = BB ⇔ aij = bik b kj = bik bjk = bik bjk ∀(i, j) ∈ [1 : n]2 .
k=1 k=1 k=1

Page 4
Nous allons nous servir de l’égalité précédente pour calculer successivement les
colonnes de B :
Étape 1 Nous calculons la première colonne de B c’est à dire les coefficient bi1 pour
tout i ∈ [1 : n]. L’égalité (3) dans le cas j = 1 donne
1
X
ai1 = bik b1k = b11 bi1
k=1

On en déduit d’abord que



b11 = a11 ,
puis, b11 étant désormais connu,
ai1
bi1 = ∀i ∈ [2 : n].
a11

Étape j: On suppose que les j − 1 premières colonnes de B ont déjà été calculées
lors des étapes précédentes ( bik est connu pour tout k ∈ [1 : j − 1] et pour tout
i ∈ [0 : n] ). Nous allons calculer les coefficients de la colonne j de B, c’est à dire
bij pour i ∈ [j : n] (en effet, on sait déjà que bij = 0 quand i < j ). On remarque
que pour les coefficients qui nous intéressent, i ≥ j(min(i, j) = j), si bien que
L’égalité (3) devient
j
X
aij = bik bjk ∀i ∈ [j : n].
k=1

D’après l’hypothèse de récurrence, pour k ≤ j − 1, les coefficients bik et bjk sont


connus. L’équation précédente devient donc
j−1
X
aij = bik bjk +bij bjj ∀i ∈ [j : n].
k=1
| {z }
connu

L’égalité va nous permettre de calculer tous les termes bij , en commençant par le
coefficient diagonal bjj : on obtient
v
u
u j−1
X
bjj = ajj −
t b2jk
k=1

puis
j−1
P
ajj − bik bjk
k=1
bij =
bjj
Le fait que bjj > 0 provient directement de la question précédente (A SDP, donc il
existe B triangulaire inférieure à diagonale strictement positive telle que A = BBt

Page 5
). Puisque bjj 6= 0, la formule (5) a bien un sens. Noter, que tout comme à l’étape
1 , il faut d’abord calculer le coefficient diagonal bjj . Par contre pour i > j, les
calculs des coefficients bij peuvent être effectués en parallèle.
Remarque : Pour construite B, nous avons effectuer une identification colonne
par colonne de (3). Nous aurions aussi pu faire cette identification ligne par ligne.

Exercice 2 :
Soient α, β, γ ∈ R. On considère le système linéaire suivant d’inconnues x1 , x2 , x3 :

 x1 + 2x2 − 3x3 = α

2x1 + 6x2 − 5x3 = β (1)

 x − 2x + 7x = γ
1 2 3

1. Écrire le système (1) sous la forme Ax = b, avec A ∈ M3 (R), x ∈ R3 , et b ∈ R3 ,


que l’on explicitera.

Solution: 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 ∈ R3 le vecteur inconnu.

2. Est-ce que le système (1) admet une unique solution pour tout α, β, γ ∈ R ?

Solution: On calcule det(A) = 24 6= 0 donc A est inversible. Le système


admet donc une unique solution : x = A−1 b, Pour tout b ∈ R3 , c’est-à-dire
pour tout α, β, γ ∈ 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 = b de plusieurs façons :

(a) Résoudre le système (1) par l’élimination de Gauss sans pivot.

Page 6
Solution: Le fait que A admet une (unique) factorisation LU revient
à dire que l’on peut effectuer l’algorithme de Gauss sans pivot. On
considère la matrice augmenté c’est à dire qu’on regroupe A et b (en
ajoutant b à droite de A ):
 
1 2 −3 1
 2 6 −5 −1 
1 −2 7 2

On remplace la ligne L2 ← L2 − 2L1 et la ligne L3 ← L3 − L1


 
1 2 −3 1
 0 2 1 −3 
0 −4 10 1

Ensuite la ligne L3 ← L3 + 2L2 , on obtient:


 
1 2 −3 1
 0 2 1 −3 
0 0 12 −5

En posant dans la denière notation compacte U et le vecteur transposé


c; on est ramené à résoudre le système triangulaire supérieur Ux = c,
que l’on résout par remontée
5


 12x3 = −5 ⇒ permet de calculer x3 : x3 = −


 12
31

2x2 + x3 = −3 ⇒ permet de calculer x2 connaissant x3 : x2 = −

 24


x1 + 2x2 − 3x3 = 1 7
⇒ permet de calculer x1 connaissant x2 , x3 : x1 =

3

(b) Calculer la factorisation LU de A puis résoudre le système (1) en utilisant


cette factorisation LU.

Solution: Pour trouver la factorisation LU de A on reprend les étapes


de I’algorithme de Gauss.
 
1 2 −3
 2 6 −5 
1 −2 7
| {z }
A=A(0)

On remplace la ligne L2 ← L2 − 2 × L1 et la ligne L3 ← L3 − 2 × L1 ,

Page 7
on obtient:
    
1 2 −3 1 0 0 1 2 −3
 0 2 1  =  −2 1 0   2 6 −5 
0 −4 10 −1 0 1 1 −2 7
| {z } | {z }| {z }
A(1) E(1) A(0)

 
1 0 0
(1) −1
(1)

Notons que E est inversible, et E =  2 1 0 . De même,
 1 0 1
1 0 0
(2) −1
(2)

E est inversible, et E =  0 1 0 . Ainsi, à la fin de la
0 −2 1
lère étape de la méthode de Gauss on a

A(1) = E(1) A

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

Udef =A(2) = E(2) A(1) = E(2) E(1) A.

De l’égalité ci-dessus, on a
−1
E(2) E(1) A = U ⇐⇒ A = E(2) E(1) U
 −1 −1 
⇐⇒ A = E(1) E(2)

U
⇐⇒ A = LU

(c) Résoudre le système (1) par l’algorithme de l’élimination de Gauss avec


pivot partiel.

Solution: Effectuons maintenant I’algorithme de Gauss avec pivot par-


tiel:
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  →  1 2 −3 1 
L2 ↔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 1 2 6 −5 −1
L ← L2 − 2 L1 
 1 2 −3 1  2 0 −1 − 12 32 
L3 ← L3 − 12 L1
1 −2 7 2 0 −5 19 2
5
2

Page 8
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 − 1 3   0 −5 19 5 
2 2 2 2
19 5 1 3
0 −5 2 2 L3 ↔C2
0 −1 − 2 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 5  1
2 2
L3 ← L3 − L2  0 −5 19 2
5 
2
5
0 −1 − 12 32 0 0 − 12 5
1
   
2 6 −5 −1
En posant Ū =  0 −5 19 2
 et c̄ =  5 , on est ramené à
2
12
0 0 −5 1
résoudre le système triangulaire supérieur Ū x = c̄, que I’on résout par
remontée.
5 T
31
On retrouve alors x = 73 , − 24

, − 12 .

(d) Calculer la factorisation LU 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.

Solution: Pour trouver la factorisation LŪ de PAon reprend les étapes


1 2 −3
de l’algorithme de Gauss avec pivot partiel :  2 6 −5  −→
1 −2 7
| {z }
Λ=A (0)
      
2 6 −5 0 1 0 1 2 −3 2 6 −5
−→  1 2 −3  =  1 0 0   2 6 −5  −→  0 −1 − 1  =
2
L2 ←L2 − 12 L1
|{z}
L2 ↔L1 1 −2 7 0 0 1 1 −2 7 0 −5 19
| {z } | {z }| {z } | {z 2 }
A(0) 1
 L3 − 2 L1
P1
     

1 0 0 2 6 −5 2 6 −5 1 0 0 2 6 −5
 − 1 1 0   1 2 −3  −→  0 −5 19  =  0 0 1   0 −1 − 1 
2 L3 ↔L2 2 2
− 12 0 1 1 −2 7 0 −1 − 12 0 1 0 0 −5 19
| {z }| {z } | {z } | {z }| {z 2 }
(1) P1 A(0) P2 Λ(1)
B P2 Å(1)
    
2 6 −5 1 0 0 2 6 −5
 0 −5 19  =  0 1 0   0 −5 19  =
2 2
0 0 − 12 5
0 − 1
5
1 0 −1 − 1
2
L3 ←L3 −(− 51 )∗L2
| {z } | {z }
A(2) E(2)

Page 9


1 0 0
(1) −1
(1)
 
Notons que E est inversible, et E =  12 1 0 . De même,
1
 2 0 1
 (2) −1 1 0 0
(2)
E est inversible, et E =  0 1 0 . Ainsi, à la fin de la
0 51 1
1ère étape de la méthode de Gauss on a :
(1)
A(1) = E P1 A,
et à la fin de la 2ème étape on obtient :
(2) (2) (1)
U = A(2) = E P2 A(1) = E P2 E P1 A
def
 (2) (1)  (1)
⇐⇒ U = E E (P2 P1 ) A (car P2 et E com
De l’égalité ci-dessus, on a
 (2) (1)   (2) (1) −1
E E (P2 P1 ) A = U ⇐⇒ (P2 P1 ) A = E E U
   (2) −1 
(1) −1
⇐⇒ (P2 P1 ) A = E E U

⇐⇒ PA = LŪ
  
1 0 0 1 0 0
(1) −1 −1
   (2)

avec P = P2 P1 et L = def E =  21 1 0   0 1 0  =
1
  2
0 1 0 15 1
1 0 0
 1 1 0 
2
1 1
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  −→  1 1 0  .
2
1 1
0 0 1 2 5
1
- pour obtenir P : de faire, à partir de I, chaque permutation élémentaire
: on a alors PA = L̄Ū . Utilisons maintenant cette factorisation PA =
L̄Ū pour résoudre le système Ax = b. On a, puisque P est inversible
Ax = b ⇐⇒ PAx = Pb ⇐⇒ LUx = Pb
⇐⇒ Lȳ = Pb puis Ux = ȳ
t
On résout par descente L̄y = Pb et on trouve y = −1, 52 , 1 (notons
que y = c de la question (c)). Puis on résout Ux = y par remontée, et
5 t
on trouve x = 73 , − 31

24
, − 12 .

Page 10
Exercice 3 :
Soit A ∈ Mn (R) 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.

Solution: Supposons que la matrice A ∈ Mn (R) vérifie:

A = L1 U1 == L2 U2 (2)

où

• U1 ∈ Mn (R) et U2 ∈ Mn (R) sont des matrices triangulaires supérieures,

• L1 ∈ Mn (R) et L2 ∈ Mn (R) 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

det(A) = det (L1 U1 ) = det (L1 ) det (U1 ) 6= 0

Cela signifie donc que det (L1 ) 6= 0 et det (U1 ) 6= 0, autrement dit que les
matrices L1 et U1 sont inversibles (on savait déjà en fait que L1 était inversible
puisque det (L1 ) = 1 ).
De manière similaire, on montre que L2 et U2 sont inversibles.
Ainsi, la seconde égalité de (2) est équivalente à

(L2 )−1 L1 = U2 (U1 )−1 (3)

La matrice L2 est triangulaire inférieure à diagonale unité. Par conséquent, la


matrice L−12 est triangulaire inférieure à diagonale unité. Donc comme L2 L1
−1

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 (U1 )−1 est triangulaire supérieure. Donc, le terme de
droite de l’égalité (3) est une matrice triangulaire supérieure. Ainsi, I’égalité
(3) implique que (L2 )−1 L1 triangulaire inférieure est égale à et U2 (U1 )−1
triangulaire supérieure, donc ce sont deux matrices diagonales identiques. De
plus, (L2 )−1 L1 étant à diagonale unité, elle est égale à la matrice identité:

(L2 )−1 L1 = U2 (U1 )−1 = I,

ou de façon équivalente

L2 = L1 et U2 = U1

Page 11
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. Décrire une méthode pour calculer explicitement les coefficients des matrices L
et U.

Solution: On suppose que A admet une décomposition LU.


L’objectif de cette question de calculer L et U.
On pose A = (aij )(i,j)∈[1,n]2 , L = (`ij )(i,j)∈[1,n]2 , U = (uij )(i,j)∈[1,n]2

a11 a12 · · · · · · a1n 0 ··· ··· 0


   
1
 a21 a22 · · · · · · a2n   `21 1 0 ··· 0 
 .. .. .. .. ..   .. . . . . . . ..

A=

. . . . . , L = 
 
. . . . . ,

 .. .. .. .. ..   .. .. . . .. 
 . . . . .   . . . . 0 
an1 an2 · · · · · · ann `n1 `n2 · · · · · · 1

u11 u12 · · · · · ·
 
u1n
 0 u22 u23 · · · u2n 
 . .. 
... ... ...
U =  .. . 
 
 . .. ... ... 
 .. . 0 
0 ··· ··· 0 unn
Comme L est triangulaire inférieure à diagonale unité, on sait que, pour tout
i ∈ J1, n]
`ii = 1 et `ik = 0 ∀k > i (4)
De manière similaire, comme U est triangulaire supérieure, pour tout j ∈
J1, n],
ukj = 0 ∀k > j (5)
Ainsi les inconnues du problèmes sont:

• les nombres `ik , pour tout i ∈ J1, nK et pour tout k < i.


• les nombres ukj , pour tout j ∈ J1, nK et pour tout k 6 j.

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


n min(i,j)
X X
2
∀(i, j) ∈ J1, nK , aij = `ik ukj = `ik ukj (6)
k=1 k=1

Page 12
De plus, comme A est inversible, on a det(A) 6= 0, et ainsi l’égalité A = LU
n
Q
implique que det(L) det(U) 6= 0 donc U est inversible. Or det(U) = ujj
j=1
(car U est triangulaire supérieure), donc
ujj 6= 0, ∀j ∈ J1, nK (7)
La question est donc la suivante:
Comment utiliser la formule (6) pour touver un algorithme de calcul des
inconnues `ik (i ∈ [1, nK, k < i) et ukj (j ∈ J1, nK, k 6 j)?
Pour déterminer ces coefficients, nous allons utiliser une identification des
coefficients de A = LU ligne par ligne :
(a) É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 ∈ J1, n]) 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
X
a1j = `1k ukj = `11 u1j = u1j
k=1

car min(1, j) = 1 et `11 = 1. Ainsi, pour tout j ∈ J1, nK,


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.
(b) É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
min(2,j)
X
a2j = `2k ukj (9)
k=1

Nous discutons deux cas, suivant la valeur de min(2, j) :


i. j < 2 (min(2, j) = j) :
Dans ce cas, j = 1, et on a a21 = `21 u11 . Comme u11 a été calculé
à la première étape, et u11 6= 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.

Page 13
ii. j > 2 (min(2, j) = 2) :
La formule (9) devient a2j = `21 u1j + `22 u2j , ou encore, puisque
`22 = 1, pour tout j ∈ J2, n],
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 − i((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 − i et 2 − ii.
iii. Étape i : identification de la ligne i de A = LU
Dans cette étape, nous allons calculer la ligne i de L (i.e, le coef-
ficient `ij , j < i) (Étape i-i) puis la ligne i de U (i.e les coefficient
uij pour tout j > i ) (Étape i-ii)).

Nous faisons I’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
min(i,j)
X
aij = `ik ukj (12)
k=1

Nous discutons deux cas, suivant la valeur de min(i, j) :


A. j < i (min(i, j) = j) :
L’équation (12) devient
j
X
aij = `ik ukj (13)
k=1

On remarque que, comme k 6 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

Page 14
de l’équation précédente est `i2 . On obtient alors (puisque A
est inversible et A = LU, u22 6= 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 6 j − 1. D’après (7 ) on a ujj 6= 0, ∀j ∈ [1, nK. On peut donc
réécrire l’équation (13) comme
j−1
P
aij − `ik ukj
k=1
`ij = (∀j 6 i − 1) (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 6 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. L’équation L’équation (12) devient
i
X X
aij = `ik ukj = `ik ukj + `ii uij (15)
k=1 k=1i−1

qui, comme `ii = 1 donne


i−1
X
uij = aij − `ik ukj (∀j > i) (16)
k=1

3. 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?

Solution: 5. Non, même quand la matrice A est inversible, on ne peut pas


toujours la décomposer sous la forme A = LU n’est pas toujours possible.
En effet, si ujj = 0, on ne peut pas appliquer l’algorithme (puisqu’il faudrait
diviser par 0 ). Une condition suffisante pour cette factorisation existe est
que les mineurs principaux de A soient tous non nuls. On rappelle que le
mineur principal de A d’ordre i est le déterminant de la matrice formée par
la i premières colonnes et i premières lignes de A. Par contre, on peut tou-
jours permuter des lignes pour obtenir une décomposition de type PA=LU.

Page 15
Remarque. En général, si on souhaite résoudre simplement Ax = b, on ne
calculer pas explicitement L et U mais on effectue directement le procédé
d’élimination de Gauss. Par contre, si on a besoin de résoudre une famille de
systèmes Ax = bi ( pour différents second membres bi ), alors il devient utile
de calculer les matrices L et U.

4. Quel est le coût de cette méthode (évaluer le nombre d’opérations élémentaires)?

Solution: Coût de la factorisation LU:Identification par lignes


On évalue d’abord le coût pour l’identification chaque ligne. On pose
- Ni+ : nombre d’additions ou de soustractions intervenant dans le caclul de
la ligne i de L et U.
- Ni∗ : nombre de multiplications ou de divisions intervenant dans le caclul
de la ligne i de L et U.
En étudiant l’algorithme de la question 3 , on voit que
+ ∗
colonne Ni,j Ni,j
j<i j−1 j
j≥i i−1 i−1
Donc
n−1
X i−1
X n
X
Ni∗ = ∗
Ni,j = j + (i − 1)
| {z }
j=1 j=1 j=i
| {z } independant de j
somme de suite arithmétique

=i
z }| {
(i − 1) (1 + (i − 1))
= + (n − i + 1)(i − 1)
2
i2 i
= − + + (n + 1)(i − 1).
2 2
De même,
i−1
X n
X
Ni+ = (j − 1) + (i − 1)
j=1 j=1
(i − 1)(i − 2)
= + (n − i + 1)(i − 1)
2
= Ni∗ − (i − 1).
On calcule ensuite le nombre total d’additions N + et de multilplications N ∗
en effectuant la somme sur les lignes pour i allant de 1 à n. On a
n
X n(n + 1)(2n + 1)
i2 =
j=1
6

Page 16
Donc
n 
i2

X i n(n + 1)(2n + 1) n(n + 1) n(n + 1)(n − 1)
− + =− + =−
j=1
2 2 12 4 6

De plus,
n n−1
X X n(n + 1)(n − 1)
(n + 1)(i − 1) = (n + 1) i=
i=1 i=0
2

Finalement
n(n + 1)(n − 1) n(n + 1)(n − 1) n(n + 1)(n − 1)
N∗ = − =
2 6 3
De même,
n
X n
X n
X
N+ = Ni+ = Ni∗ − (i − 1)
i=1 i=1
|i=1 {z }
=n(n−1)/2

n(n + 1)(n − 1) n(n − 1)


= −
3 2
n(n − 1)
= (2(n + 1) − 3)
6
n(n − 1)(2n − 1)
= .
6
Le nombre total d’opérations Ntotal = N + + N ∗ est donc donné par
n(n − 1)(2n − 1) n(n + 1)(n − 1)
Ntotal = +
6 3
n(n − 1)(4n − 1)
= .
6
Quand n est grand le coût total de la factorisation LU est donc de l’ordre
3
de 2n3 . Pour résoudre le système Ax = LUx = b est donc de

2n3  2n3
+ O n2 ∼ .
3 3
Identification mixte:
On pose
1. Np+ : nombre d’additions et de soustractions intervenant lors du calcul de
la ligne p de U et de la colonne p de L.
2. Np∗ : nombre de multilplications et de divisions intervenant lors du calcul
de la ligne p de U et de la colonne p de L. On a
+ +
Np+ = Np,U + Np,L

Page 17
+ +
où Np,U (resp. Np,L ) désigne le nombre d’additions et de soustractions inter-
venant lors du calcul de la ligne p de U (resp. Colonne p de L). Or,
n
X
+ +
Np,U = Np,U,j
j=p

+
où Np,U,j désigne le nombre d’additions et de soustractions intervenant lors
du calcul de de upj . On a
+
Np,U,j =p
Donc
+
Np,U = p(n − p + 1)
De manière similaire, on trouve
+
Np,L = p(n − p + 1)

ce qui donne
Np+ = 2p(n − p + 1)
En sommant sur p, on trouve donc
n
X n(n + 1)(n + 2)
N+ = 2p(n − p + 1) =
p=1
3

De manière similaire,
n3
N∗ ∼
3
et on retrouve le même nombre d’opérations que dans le cas de l’identification
par lignes.
Remarque: Même si les deux algorithmes conduisent à un nombre similaire
de calculs, l’algorithme par indentification mixte se révèle avantageux dans
le cas d’une implémentation parallèle.

Exercice 4 :
Une matrice tridiagonale est une matrice de la forme :
 
a1 c 1 0 ... 0
. .. .. 
 b 2 a2 . . . . 

 0 ... ... ..
 
 . 0 
. .
 .. .. ... ... 
cn−1 
0 ... 0 b n an

Page 18
1. Soit A la matrice tridiagonale n × n suivante (ai = 2, bj = ck = −1) :
 
2 −1 0 . . . 0
. . 
−1 2 −1 . . .. 

A=
 .. .. .. 
0 . . . 0 
 . . . .
 .. . . . . . . −1

0 . . . 0 −1 2

On cherche une factorisation A = LU de A, où L et U sont des matrices bidiag-


onales de la forme :
   
1 0 0 ... 0 α1 −1 0 ...
0
. . . ..  .. 
...
β2 1 0 .  0 α2 −1 . 
 

L=0
 . . .  
. . . . . . 0 , U =  ... ... ... 
0 0
 

. . . .
 .. . . . . . . . . 0  .. .. .. ..
 
. . −1
0 . . . 0 βn 1 0 ... 0 0 αn

Montrer que cette factorisation existe et que les coefficients αi et βi s’obtiennent


avec les relations suivantes:
1
α1 = 2, βi = , αi = 2 + βi ∀i = 2, . . . , n
αi−1

2. Soit f = (f1 , . . . , fn )T .
Montrer que la solution x = (x1 , . . . , xn ) du système linéaire Ax = f se calcule
par des formules de récurrence, en deux temps:

(a) Calcul d’un vecteur y = (y1 , ..., yn ) vérifiant:

y 1 = f1 , yi = fi − βi yi−1 , ∀ i = 2, . . . , n

(b) Calcul de la solution x par :

xn = y n α n , xi = yi + xi+1 αi , ∀ i = n − 1, . . . , 1

3. Préciser les matrices L et U dans le cas n = 3.

Solution:

1. Montrer que cette factorisation existe et que les coefficients αi et βi s’obtiennent


avec les relations suivantes:
−1
α1 = 2, βi = , αi = 2 + βi , ∀i = 2, · · · , n
αi−1

Page 19
Pour montrer les relations, on calcule le produit matriciel LU. Pour simplicité,
on va prendre n = 5 (le calcul est similaire pour un n général) :
  
1 0 0 0 0 α1 −1 0 0 0

 β2 1 0 0 0 
 0 α2 −1 0 0 

LU = 
 0 β3 1 0 0 
 0 0 α3 −1 0 

 0 0 β4 1 0  0 0 0 α4 −1 
0 0 0 β5 1 0 0 0 0 α5
 
α1 −1 0 0 0

 α1 β2 −β2 + α2 −1 0 0 

=
 0 α2 β3 −β3 + α3 −1 0 

 0 0 α3 β4 −β4 + α4 −1 
0 0 0 α4 β5 −β5 + α5
On a donc  
2 −1 0 0 0

 −1 2 −1 0 0 

A=
 0 −1 2 −1 0 

 0 0 −1 2 −1 
0 0 0 −1 2
 
α1 −1 0 0 0

 α1 β2 −β2 + α2 −1 0 0 

=
 0 α2 β3 −β3 + α3 −1 0  = LU

 0 0 α3 β4 −β4 + α4 −1 
0 0 0 α4 β5 −β5 + α5
En comparant les deux matrices élément par élément, on retrouve les relations
cherchées.

2. Soit f = (f1 , . . . , fn )> . Montrer que la solution x = (x1 , . . . , xn )> du système


linéaire Ax = f se calcule par des formules de récurrence, en deux temps:

(a) Calcul d’un vecteur y = (y1 , . . . , yn )> vérifiant :

y 1 = f1 , yi = fi − βi yi−1 , ∀i = 2, . . . , n

(b) Calcul de la solution x par :

yn yi + xi+1
xn = , xi = , ∀i = n − 1, . . . , 1
αn αi

On veut calculer la solution du système Ax = f ce qui est équivalent à


résoudre
LUx = f

Page 20
Notons y = Ux(y est un vecteur colonne). On peut maintenant réécrire
notre système comme deux systèmes suivants.

Ly = f
Ux = y

Il faut d’abord résoudre le premier système car f est connu. En reprenant


l’exemple pour n = 5 :
    
1 0 0 0 0 y1 f1
 β2 1 0 0 0   y2   f2 
    
Ly =  0 β3 1 0 0   y3  =  f3  = f
   
 0 0 β4 1 0   y4   f4 
0 0 0 β5 1 y5 f5

La première ligne donne tout de suite y1 = f1 . En progressant aux


lignes suivantes, on retrouve les relations cherchées:

yi = fi − βi yi−1 .

On peut maintenant résoudre le deuxième système


    
α1 −1 0 0 0 x1 y1
 0 α2 −1 0 0   x2   y2
   
 
Ux =  0
 0 α3 −1 0   x3 
 
=
 y3  = y.

 0 0 0 α4 −1   x4   y4 
0 0 0 0 α5 x5 y5

La dernière ligne donne tout de suite x5 = αy55 . En progressant aux lignes


précédentes, on retrouve les relations cherchées:
yi + xi+1
xi =
αi

3. Préciser les matrices L et U dans le cas n = 3.


   
1 0 0 2 −1 0
L =  − 12 1 0  U= 0 3
2
−1 
2 4
0 −3 1 0 0 3

Page 21

Vous aimerez peut-être aussi