Vous êtes sur la page 1sur 39

Analyse numérique Linéaire

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

Cas particulier : A est symétrique définie positive


Matrice symétrique définie positive
Symétrique : A’=AT=A
Positive : ∀𝑥 ≠ 0 𝐴𝑥, 𝑥 ≥ 0 (> 0 ∶ définie positive)
Exemple :

Soit B une matrice inversible. Alors 𝐴 = 𝐵𝑇 𝐵 est symétrique définie positive.

𝑓(𝑥) = 𝐵𝑥 2 = 𝐵𝑥, 𝐵𝑥 = 𝑥 𝑇 (𝐵𝑇 𝐵)𝑥 = 𝑥 𝑇 𝐴𝑥


avec 𝐴 = 𝐵𝑇 𝐵
∀𝑥, 𝐴𝑥, 𝑥 = 𝐵𝑥 2 ≥ 0
𝑥 𝑇 𝐴𝑥 = 0 ⇔ 𝐵𝑥 = 0
Exemple
2 −1 0
• la matrice −1 2 −1 est elle définie positive ?
0 −1 2
2 −1 0 𝑥1
• x T 𝐴𝑥 = 𝑥1 𝑥2 𝑥3 −1 2 −1 𝑥2 =
0 −1 2 𝑥3
2𝑥1 −𝑥2
𝑥1 𝑥2 𝑥3 −𝑥1 +2𝑥2 −𝑥3
−𝑥2 +2𝑥3
• = 2𝑥12 − 2𝑥1 𝑥2 + 2𝑥22 − 2𝑥2 𝑥3 + 2𝑥32
= 𝑥12 + 𝑥1 − 𝑥2 2 + 𝑥2 − 𝑥3 2 + 𝑥32 ≥ 0
Propriétés des matrices définies positives
Théorème :
Si A est une matrice n x n définie positive. Alors :
1. A est inversible
2. aii > 0 pour i=1,n
2
3. 𝑎𝑖𝑗 < 𝑎𝑖𝑖 𝑎𝑗𝑗 ∀𝑖 ≠ 𝑗
4. max 𝑎𝑗𝑘 ≤ max 𝑎𝑖𝑖
𝑘,𝑗 𝑖

A non inversible  ker( A)  0


 x  0  ker( A)
or x  ker( A)  Ax = 0 et donc x' Ax = 0
ce qui est contradictoire avec l' hypothèse
Propriétés des matrices définies positives
Théorème :
Si A est une matrice n x n définie positive. Alors :
1. A est inversible
2. aii > 0 pour i=1,n
2
3. 𝑎𝑖𝑗 < 𝑎𝑖𝑖 𝑎𝑗𝑗 ∀𝑖 ≠ 𝑗
4. max 𝑎𝑗𝑘 ≤ max 𝑎𝑖𝑖
𝑘,𝑗 𝑖

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

• 𝒂𝟏𝟏 = 𝒍𝟐𝟏𝟏 ; 𝒍𝟏𝟏 𝒍𝟐𝟏 = 𝒂𝟏𝟐 ; 𝒍𝟏𝟏 𝒍𝟑𝟏 = 𝒂𝟏𝟑


• 𝒍𝟐𝟐𝟐 + 𝒍𝟐𝟐𝟏 = 𝒂𝟐𝟐 ; 𝒍𝟑𝟏 𝒍𝟐𝟏 + 𝒍𝟐𝟐 𝒍𝟑𝟐 = 𝒂𝟐𝟑
• 𝒍𝟐𝟑𝟏 + 𝒍𝟐𝟑𝟐 + 𝒍𝟐𝟑𝟑 = 𝒂𝟑𝟑
Opérations en dimension 3
• 𝒂𝟏𝟏 = 𝒍𝟐𝟏𝟏 ; 𝒍𝟏𝟏 𝒍𝟐𝟏 = 𝒂𝟏𝟐 ; 𝒍𝟏𝟏 𝒍𝟑𝟏 = 𝒂𝟏𝟑
• 𝒍𝟐𝟐𝟐 + 𝒍𝟐𝟐𝟏 = 𝒂𝟐𝟐 ; 𝒍𝟑𝟏 𝒍𝟐𝟏 + 𝒍𝟐𝟐 𝒍𝟑𝟐 = 𝒂𝟐𝟑
• 𝒍𝟐𝟑𝟏 + 𝒍𝟐𝟑𝟐 + 𝒍𝟐𝟑𝟑 = 𝒂𝟑𝟑

𝒂𝟏𝟐 𝒂𝟏𝟑
• 𝒍𝟏𝟏 = 𝒂𝟏𝟏 ; 𝒍𝟐𝟏 = ; 𝒍𝟑𝟏 = ; 𝒍𝟐𝟐 = 𝒂𝟐𝟐 − 𝒍𝟐𝟐𝟏 ;
𝒍𝟏𝟏 𝒍𝟏𝟏

𝒂𝟐𝟑 −𝒍𝟐𝟏 𝒍𝟑𝟏


• 𝒍𝟑𝟐 = ; 𝒍𝟑𝟑 = 𝒂𝟑𝟑 − 𝒍𝟐𝟑𝟏 − 𝒍𝟐𝟑𝟐
𝒍𝟐𝟐
Résolution

𝑨𝒙 = 𝒃; 𝑨 = 𝑳𝑳𝑻 → 𝑳(𝑳𝑻 𝒙) = 𝒃
𝑻
On pose : 𝑳 𝒙 = 𝒚. L’équation devient alors :
𝑳𝒚 = 𝒃
On résout alors en deux phases :
𝑳𝒚 = 𝒃
𝑳𝑻 𝒙 = 𝒚
Exemple Choleski

On vérifie que la matrice est symétrique définie positive :


9 −3 3
9 −3
•9 > 0; = 81 > 0 ; −3 10 −4 = 1296 > 0
−3 10
3 −4 18
• La matrice est clairement symétrique, alors elle admet une
décomposition de Choleski
𝑙11 𝟎 𝟎
On pose 𝐿 = 𝑙21 𝑙22 𝟎 et A = LLT
𝑙31 𝑙32 𝑙33

• On utilise l’algorithme en dimension 3 :


𝑎12 𝑎13 2
• 𝑙11 = 𝑎11 ; 𝑙21 = ; 𝑙31 = ; 𝑙22 = 𝑎22 − 𝑙21 ;
𝑎11 𝑎11
𝑎23 −𝑙21 𝑙31 2 2
• 𝑙32 = et 𝑙33 = 𝑎33 − 𝑙31 − 𝑙32
𝑙22
−3 3
• 𝑙11 = 9 = 3; 𝑙21 = = −1; 𝑙31 = = 1; 𝑙22 =
3 3
10 − −1 2 = 3;
−4−(−1)×1
• 𝑙32 = = −1; 𝑙33 = 18 − 12 − −1 2 =4
3
3 𝟎 𝟎
𝐿 = −1 3 𝟎
1 −1 4
3
• Résolution de 𝐴𝑥 = −4 , on commence par
18
3 𝟎 𝟎 𝑦1 3
𝐿 = −1 3 𝟎 𝑦2 = −4
1 −1 4 𝑦3 18
• qui nous donne
𝑦1 1
𝑦2 = −1
𝑦3 4
𝑥1 1
• Ensuite, on résout : 𝐿𝑇 𝑥2 = −1
𝑥3 4
• qui nous donne
𝑥1 0
𝑥2 = 0
𝑥3 1
Analyse numérique Linéaire
(Conditionnement des matrices)
Yassine Hachaïchi
Smart Electricity & ICT
ENICarthage
Valeurs et vecteurs propres

∃𝑥 ≠ 0 / 𝐴𝑥 = 𝜆𝑥, on dit que 𝜆 est une valeur propre de 𝐴 ∈ 𝑀𝑛 (𝐾).


↔ 𝜒𝐴 𝜆 = 𝐷𝑒𝑡 𝐴 − 𝜆𝐼𝑛 = 0 polynôme caractéristique de A.
L’ensemble des valeurs propres de A est appelé spectre de A.
Le module (dans C) de la plus grande valeur propre de A est appelé le
rayon spectral de A :
𝜌 𝐴 = 𝑚𝑎𝑥 |𝜆|
𝜆∈𝑆𝑝(𝐴)
𝑥 ≠ 0 𝑒𝑡 𝐴𝑥 = 𝜆𝑥, on dit que x est un vecteur propre associé à la valeur
propre 𝜆.
Normes matricielles
Une norme est une application 𝑁: 𝐸 → 𝑅 telle que :
𝑁 𝑥 ≥ 0 𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑥
𝑁 𝑥 =0 ↔𝑥=0
𝑁 𝛼𝑥 = 𝛼 𝑁(𝑥)
𝑁 𝑥 + 𝑦 ≤ 𝑁 𝑥 + 𝑁(𝑦)
Les normes usuelles de 𝑅𝑛 sont :
𝒏 𝒏 𝒏
𝟐 𝒑
𝒙 𝟐
= ෍ 𝒙𝟐𝒊 ; 𝒙 𝒑
= ෍ |𝒙𝒊 |𝒑 ; 𝒙 𝟏
= ෍ |𝒙𝒊 | ; 𝒙 ∞
= 𝐦𝐚𝐱 |𝒙𝒊 |
𝒊
𝒊=𝟏 𝒊=𝟏 𝒊=𝟏
Définition : Soit A une matrice carrée d’ordre n, étant donnée une norme vectorielle, on
appelle norme matricielle subordonnée, la norme matricielle définie par :
sup | 𝐴𝑥 |
𝐴 =
𝑥≠0 |𝑥|
Conséquence immédiate : 𝑨𝒙 ≤ 𝑨 × | 𝒙 |
Chaque norme sur 𝑅𝑛 induit une norme subordonnée sur 𝑀𝑛 𝑅
Pour toute norme subordonnée :
𝒔𝒖𝒑 | 𝑨𝒙 | 𝒔𝒖𝒑
𝑨 = = | 𝑨𝒙 |
𝒙≠𝟎 |𝒙| 𝒙 = 𝟏
| 𝑨𝒙 | 𝟏
= 𝑨 𝒙
|𝒙| 𝒙
Et 𝑰𝒏 = 𝟏
𝑛 𝑛
2 2
𝐴 2
= ෍ ෍ 𝑎𝑖𝑗 = 𝑡𝑟(𝐴𝑇 𝐴)
𝑖=1 𝑗=1
N’est pas une nome subordonnée car 𝑰𝒏 = 𝒏
Pour les normes matricielles, on rajoute la condition :
𝑨𝑩 ≤ 𝑨 × 𝑩
Norme subordonnée de la norme 1
On munit 𝑅𝑛 de la norme ||. ||1
𝑛 𝑛 𝑛 𝑛 𝑛 𝑛 𝑛 𝑛

| 𝐴𝑥 |1 = ෍ ෍ 𝑎𝑖𝑗 𝑥𝑗 ≤ ෍ ෍ |𝑎𝑖𝑗 | |𝑥𝑗 | = ෍ ෍ |𝑎𝑖𝑗 | |𝑥𝑗 | = ෍ |𝑥𝑗 | ෍ |𝑎𝑖𝑗 |


𝑖=1 𝑗=1 𝒊=𝟏 𝒋=𝟏 𝒋=𝟏 𝒊=𝟏 𝑗=1 𝑖=1
Soit
𝑛 𝑛

𝐾 = max ෍ |𝑎𝑖𝑗 | = ෍ |𝑎𝑖𝑗0 |


1≤𝑗≤𝑛
𝑖=1 𝑖=1
Alors| 𝑨𝒙 |𝟏 ≤ 𝑲 σ𝒏𝒋=𝟏 𝒙𝒋 = 𝑲||𝒙||𝟏
Or, | 𝐴𝑒𝑗0 |1 = 𝐾 (puisque la 𝑗0 ième colonne correspond à 𝐴 〖𝑒𝑗0 〗)
Conclusion :
𝑛

𝐴 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

Soit A une matrice inversible réelle d’ordre n et b un vecteur de


𝑅𝑛 . On considère le système
𝐴𝑥 = 𝑏
Supposons que le système est perturbé en b par 𝛿 𝑏 et A reste
inchangée. La sulution est alors perturbée :
𝐴 (𝑥 + 𝜹 𝒙) = 𝑏 + 𝜹 𝒃
Conditionnement des matrices

𝐴 (𝑥 + 𝛿 𝑥) = 𝑏 + 𝛿 𝑏
Comme 𝐴𝑥 = 𝑏, on a 𝜹 𝒙 = 𝑨−𝟏 𝜹 𝒃
En utilisant une norme subordonnée, on obtient :
𝛿 𝑥 ≤ ||𝐴−1 || ||𝛿 𝑏||
D’autre part
𝑏 ≤ ||𝐴|| ||𝑥||
On conclut :
𝜹𝒙 −𝟏
𝜹𝒃
≤ 𝑨 × 𝑨
𝒙 𝒃
Conditionnement des matrices

Par conséquent, le rapport d’amplification des erreurs relatives


est au plus égal à :
||𝐴|| ||𝐴−1 ||
Conditionnement des matrices

Supposons que le système est perturbé en A par 𝛿 𝐴 et b reste inchangée.


La sulution est alors perturbée :
𝐴+𝛿𝐴 𝑥+𝛿𝑥 = 𝑏
−𝐴𝛿𝑥 = 𝛿𝐴 𝑥 + 𝛿 𝑥
𝛿𝑥 = −𝐴−1 𝛿𝐴 𝑥 + 𝛿 𝑥
On obtient :
𝜹𝒙 −𝟏
𝜹𝑨
≤ 𝑨 × 𝑨
𝒙+𝜹𝒙 𝑨
Conditionnement des matrices

Par conséquent, le rapport d’amplification des erreurs relatives


est au plus égal à :
||𝐴|| ||𝐴−1 ||
Nous notons cette quantité le conditionnement de la matrice
inversible A
𝑪𝒐𝒏𝒅(𝑨) = ||𝑨|| × ||𝑨−𝟏 ||
Conditionnement des matrices

Pour n’importe quelle norme matricielle subordonnée, la norme


de la matrice identité est 1. D’autre part :
𝑰 = 𝑨 𝑨−𝟏 et 𝑨 𝑨−𝟏 ≤ ||𝑨|| ||𝑨−𝟏 ||.
On a alors 𝑐𝑜𝑛𝑑 𝐴 ≥ 1.
On dit que le système est bien conditionné si cond(A) est proche
de 1.
On dit qu’il est mal conditionné si cond(A) est très grand par
rapport à 1.
On utilisera :
𝐴𝐵 ≤ 𝐴 × | 𝐵 |

Vous aimerez peut-être aussi