Académique Documents
Professionnel Documents
Culture Documents
Chap3 LDL'EtCholeski
Chap3 LDL'EtCholeski
𝑇
(Décomposition 𝐴 = 𝐿𝐷𝐿 et Choleski)
Yassine Hachaïchi
Smart Electricity & ICT
ENICarthage
Résoudre un système linéaire
2 x1 + 4 x2 − 2 x3 = −6
x + 3x + x4 = 0
Ax = b 1 2
3x1 − x2 + x3 + 2 x4 = 8
− x2 + 2 x3 + x4 = 6
Fonction x = Gauss(A,b) Fonction x = LU(A,b)
L,U = decompose(A)
U,c = descent(A,b)
y = triang(L,b)
x = triang(U,c)
x = triang(U,y)
0
(i )
x, x' Ax 0, en particulier pour x = 1 i ème position
(i ) (i ) 0
or x Ax = aii 0 par hypothèse
Caractérisation
Définition : une sous matrice principale d’une matrice A est une matrice
𝑎11 ⋯ 𝑎1𝑖
carrée de la forme 𝐴 1: 𝑖, 1: 𝑖 = ⋮ ⋱ ⋮
𝑎𝑖1 ⋯ 𝑎𝑖𝑖
Théorème : Une matrice symétrique est définie positive ssi chacune de
ses sous matrice principales a un déterminant strictement positif
2 -1 0
A = - 1 2 - 1 det A1 = 2 0;
0 - 1 2
2 − 1
det A2 = det = 4 −1 = 3 0
− 1 2
detA2 = det A = 2 det A2 − 1det .... = 4
Autres propriétés
Théorème :
Une matrice symétrique est définie positive ssi la méthode de Gauss est
appliquée sans permutations et n’admet que des pivots strictement positifs
Corollaire
si A est une matrice symétrique inversible,
Alors il existe une matrice diagonale D et une matrice triangulaire avec
des 1 sur la diagonale L telles que :
𝐴 = 𝐿𝐷𝐿𝑇
Eléments de démonstration : A non singulière => 𝐴 = 𝐿𝑈 = 𝐿𝐷𝑉
et 𝐴𝑇 = 𝑉 𝑇 𝐷𝐿𝑇 que l’on identifie car A est symétrique
Soit la décomposition A=LU
On pose 𝑫 = 𝑫𝒊𝒂𝒈(𝒅𝟏 , ⋯ , 𝒅𝒏 ) telle que 𝒅𝒊 = 𝒖𝒊𝒊
𝑑1 ⋯ 0 𝑎11 ⋯ 𝑎1𝑛 𝑑1 𝑎11 ⋯ 𝑑1 𝑎1𝑛
⋮ ⋱ ⋮ × ⋮ ⋱ ⋮ = ⋮ ⋱ ⋮
0 ⋯ 𝑑𝑛 𝑎𝑛1 ⋯ 𝑎𝑛𝑛 𝑑𝑛 𝑎𝑛1 ⋯ 𝑑𝑛 𝑎𝑛𝑛
Ceci correspond à la multiplication de chacune des lignes de la matrice par le
coefficient 𝑑𝑖 correspondant :
𝑳𝒊 ← 𝒅 𝒊 𝑳 𝒊
Alors :
𝑢12 𝑢1𝑛
1 ⋯
𝑢11 ⋯ 𝑢1𝑛 𝑢11 ⋯ 0 𝑢11 𝑢11
⋮ ⋱ ⋮ = ⋮ ⋱ ⋮ × 0 ⋱ ⋱ ⋮
𝑢𝑛−1 𝑛
0 ⋯ 𝑢𝑛𝑛 0 ⋯ 𝑢𝑛𝑛 ⋮ ⋱ 1
𝑢𝑛−1 𝑛−1
0 ⋯ 0 1
𝑼=𝑫×𝑽
Décomposition
Soit la décomposition A=LU
On pose 𝐷 = 𝐷𝑖𝑎𝑔(𝑑1 , ⋯ , 𝑑𝑛 ) telle que 𝑑𝑖 = 𝑢𝑖𝑖
On a alors A=LDV tels que L est triangulaire inférieure ayant des 1
sur la diagonale, et V est triangulaire supérieure ayant des 1 sur la
diagonale.
Puisque A’=A (symétrique) on a
V’(DL’)=L(DV)
Par unicité de la décomposition A=LU, on a L=V’, d’où
A=LDL’
𝑇
Choleski : 𝐴 = 𝑅𝑅
𝐴 = 𝐿𝐷𝐿𝑇 ; 𝑑𝑖𝑖 > 0 alors 𝐴 = 𝑅𝑅𝑇
𝑅=𝐿 𝐷
D doit être positif !
Théorème :
toute matrice A symétrique définie positive admet une
décomposition unique sous la forme
𝐴 = 𝑅𝑅𝑇
où R est une matrice triangulaire inférieure dont tous les éléments
diagonaux sont positifs
Equations
𝑙𝑖1 𝑙𝑗1
⋮ ⋮ min(𝑖,𝑗)
𝑙𝑖𝑖 𝑙𝑗𝑗 𝑎𝑖𝑗 − σ𝑖−1
𝑘=1 𝑙𝑖𝑘 × 𝑙𝑗𝑘
𝑎𝑗𝑖 = 𝑎𝑖𝑗 = = 𝑙𝑖𝑘 × 𝑙𝑗𝑘 → 𝑙𝑗𝑖 =
0 0 𝑙𝑖𝑖
𝑘=1
⋮ ⋮
0 0
Pour 𝒊 = 𝒋, on
𝑖 𝑖−1
2 2
𝑎𝑖𝑖 = 𝑙𝑖𝑘 → 𝑙𝑖𝑖 = 𝑎𝑖𝑖 − 𝑙𝑖𝑘
𝑘=1 𝑘=1
Choleski : 11 a11
pour j = 2 jusqu' à n
l’algorithme a j1
j1
l11
Fonction L = Choleski(A) fait
pour i = 2 jusqu' à n − 1
somme 0
pour k = 1 jusqu' à i − 1
somme somme + ( ik )2
fait
ii aii − somme
pour j = i + 1 jusqu' à n
somme 0
pour k = 1 jusqu' à i − 1
somme somme + jk ik
fait a − somme
ji
ji
lii
fait
nn ann − somme
Comparaison : temps de calcul
Gauss Choleski
Additions (n3-n)/3 n3/6
Multiplications (n3-n)/3 n3/6
Division n(n-1)/2 n2/2
Racines Carrées n
Total 2 n3/3 n3/3
Résolution par méthode directe
récapitulatif
– Cas général : 𝑃𝐴 = 𝐿𝑈
– Matrice symétrique définie positive :
𝐴 = 𝐿𝐿𝑇 (Choleski)
– Matrice symétrique : 𝐴 = 𝐿𝐷𝐿𝑇
– Matrice tridiagonale (heisenberg) :
LU par bande (cf TD)
– Matrice triangulaire : « remontée en n2 »
Conditions de décomposition de Choleski
en dimension 3
• A symétrique définie positive :
𝑎11 𝑎12 𝑎13
1. 𝑎12 𝑎22 𝑎23
𝑎13 𝑎23 𝑎33
𝑎11 𝑎12 𝑎13 𝑥1 𝑥1 0
2. (𝑥1 , 𝑥2 , 𝑥3 ) 𝑎12 𝑎22 𝑎23 𝑥2 ≥ 0 et est nul ssi 𝑥2 = 0
𝑎13 𝑎23 𝑎33 𝑥3 𝑥3 0
𝑎11 𝑎12 𝑎13
𝑎11 𝑎12
• Ou bien : 𝑎11 > 0, 𝑎 𝑎22 > 0 et 𝑎12 𝑎22 𝑎23 > 0
12
𝑎13 𝑎23 𝑎33
Opérations en dimension 3
𝑙11 𝟎 𝟎 𝑙11 𝑙21 𝑙31
• 𝐿 × 𝐿𝑇 = 𝐴 ↔ 𝑙21 𝑙22 𝟎 × 0 𝑙22 𝑙32 =
𝑙31 𝑙32 𝑙33 0 0 𝑙33
2
𝑙11 𝑙11 𝑙21 𝑙11 𝑙31 𝑎11 𝑎12 𝑎13
• 𝑙11 𝑙21 2
𝑙22 + 𝑙212
𝑙31 𝑙21 + 𝑙22 𝑙32 = 𝑎21 𝑎22 𝑎23
𝑙11 𝑙31 𝑙31 𝑙21 + 𝑙22 𝑙32 2
𝑙31 2
+ 𝑙32 2
+ 𝑙33 𝑎31 𝑎32 𝑎33
𝒂𝟏𝟐 𝒂𝟏𝟑
• 𝒍𝟏𝟏 = 𝒂𝟏𝟏 ; 𝒍𝟐𝟏 = ; 𝒍𝟑𝟏 = ; 𝒍𝟐𝟐 = 𝒂𝟐𝟐 − 𝒍𝟐𝟐𝟏 ;
𝒍𝟏𝟏 𝒍𝟏𝟏
𝑨𝒙 = 𝒃; 𝑨 = 𝑳𝑳𝑻 → 𝑳(𝑳𝑻 𝒙) = 𝒃
𝑻
On pose : 𝑳 𝒙 = 𝒚. L’équation devient alors :
𝑳𝒚 = 𝒃
On résout alors en deux phases :
𝑳𝒚 = 𝒃
𝑳𝑻 𝒙 = 𝒚
Exemple Choleski
𝐴 1
= max |𝑎𝑖𝑗 |
1≤𝑗≤𝑛
𝑖=1
Norme subordonnée de la norme infinie
𝐴 1
= 𝐴𝑇 ∞
Norme subordonnée de la norme 2
Soit 𝑥 = σ 𝑥𝑖 avec 𝑥𝑖 une décomposition de x selon les sous espaces
propres (orthogonaux) de B, qui est une matrice symétrique réelle.
2
2 2 2 2
𝐵𝑥 = 𝜆𝑖 𝑥𝑖 = ||𝜆𝑖 𝑥𝑖 | ቚ ≤ 𝜌 𝐵 ||𝑥𝑖 | ቚ = 𝜌 𝐵 𝑥
𝐴𝑥, 𝐴𝑥 = 𝐴𝑥 𝑇 𝐴𝑥
= 𝑥 𝑇 𝐴𝑇 𝐴𝑥 = (𝐴𝑇 𝐴𝑥, 𝑥)
Norme subordonnée de la norme 2
Exemple
3 9 − 5 17
= A
7 − 2 4
13
6 8 1 15
16 19 10
= A1
32
Conditionnement des matrices
𝐴 (𝑥 + 𝛿 𝑥) = 𝑏 + 𝛿 𝑏
Comme 𝐴𝑥 = 𝑏, on a 𝜹 𝒙 = 𝑨−𝟏 𝜹 𝒃
En utilisant une norme subordonnée, on obtient :
𝛿 𝑥 ≤ ||𝐴−1 || ||𝛿 𝑏||
D’autre part
𝑏 ≤ ||𝐴|| ||𝑥||
On conclut :
𝜹𝒙 −𝟏
𝜹𝒃
≤ 𝑨 × 𝑨
𝒙 𝒃
Conditionnement des matrices