ASI 3
Méthodes numériques pour l’ingénieur
Résolution de systèmes linéaires par des méthodes directes :
LDL’ et Choleski
Résoudre un système linéaire
= +
+
−
= +
+
−
= +
+
−
=
− +
⇔
=
6
2
8 2
3
0
3
6 2
4 2
4 3
2
4 3
2 1
4 2
1
3 2
1
x x
x
x x
x x
x x
x
x x
x b
Ax
U,c = descent(A,b) x = triang(U,c) Fonction x = Gauss(A,b)
L,U = decompose(A) y = triang(L,b) x = triang(U,y) Fonction x = LU(A,b)
Cas particulier : A est symétrique définie positive
Matrice à diagonale dominante
Définition :
une matrice carrée A est dite à diagonale dominante ssi :
Théorème : Si A est a diagonale strictement dominante, Alors est elle alors non singulière,
De plus Gauss est stable
et peut fonctionner sans changement de colonne Éléments de démonstration : Ax=0, par l’absurde
[ ]
1 0
3
0 2
4
3 4
6 , 6
5 0
1 5
3
0 2
7
, , 1
, 1
−
−
−
−
−
>
∈
∀
∑
≠
= n
i j j
ij
ii a
a n
i
(
x ≠ 0, Asingulière)
( )
( )
=
=
=
≥ ⇔
=
∀
=
=
=
=
⇔
=
∑ ∑ ∑
∑ ∑ ∑
∑ ∑
= = =
= = =
= =
m i
i n
j
j kj m
k
ik n
i
m j
j ij m
j
j ij n
i
m j
j ij
x x x x
x
x x
b b
x b x
b x
b
Ax Bx
x Ax x
B B A
Ax x
x B B x
Bx,Bx Bx
Bx y
y
1 1 1
1 1 1
2
1 1
2
2 2
: ion démonstrat
de éléments
0
0 ,
,
'
avec
' min
) ' ( ' min
min
min
avec
min
Matrice symétrique définie positive
Symétrique : A’=A
Définie positive : ∀x,
(
Ax, x)
≥ 0 (> 0:strictement d.f.)Exemple :
Rappelez vous
des moindres carrés
Exemple
[ ]
[ ]
( ) ( )
0
2 2
2 2
2
2 -
- 2
-
- 2
2 1 - 0
1 - 2 1 -
0 1 - 2 '
? positive définie
elle est 2 1 - 0
1 - 2 1 -
0 1 - 2 matrice la
2 3 2
3 2
2 2 1
2 1
2 3 3
2 2
2 2
1 2
1
3 2
3 2
1
2 1
3 2
1
3 2 1 3
2 1
≥ +
− +
− +
=
+
− +
−
=
+ +
=
=
x x
x x
x x
x x
x x
x x x
x x
x x
x
x x
x x
x
x x x x
x x
Ax x
Exemple
[ ]
[ ]
( ) ( )
0
2 2
2 2
2
2 -
- 2
-
- 2
2 1 - 0
1 - 2 1 -
0 1 - 2 '
? positive définie
elle est 2 1 - 0
1 - 2 1 -
0 1 - 2 matrice la
2 3 2
3 2
2 2 1
2 1
2 3 3
2 2
2 2
1 2
1
3 2
3 2
1
2 1
3 2
1
3 2 1 3
2 1
≥ +
− +
− +
=
+
− +
−
=
+ +
=
=
x x
x x
x x
x x
x x
x x x
x x
x x
x
x x
x x
x
x x x x
x x
Ax x
Propriétés des matrices définies positives
Théorème :
( )
i ii j jk
k
jj ii ij
a a
j i
a a a
max max
, 2
≤
−
≠
∀
<
−
{ }
hypothèse l'
avec oire
contradict est
qui ce
0 '
donc et
0 )
ker(
or
) ker(
0
0 )
ker(
singulière
=
⇒ =
∈
∈
≠
∃
⇔ ≠
⇔
Ax x
Ax A
x
A x
A A
Si
A est une matrice n x n strictement définie positive Alors :
– A est non singulière – aii > 0 pour i=1,n
Propriétés des matrices définies positives
Théorème :
( )
i ii j jk
k
jj ii ij
a a
j i
a a a
max max
, 2
≤
−
≠
∀
<
−
hypothèse par
0 or
position
0 1 0
pour r
particulie en
, 0 '
,
) ( )
(
) (
>
=
←
=
>
∀
ii i
i
ème i
a x
A x
i x
Ax x
x
Si
A est une matrice n x n strictement définie positive Alors :
– A est non singulière – aii > 0 pour i=1,n
Propriétés des matrices définies positives
Théorème :
i ii j jk
k a max a
max
, ≤
−
i ii k jk
ii j i
kk jj
jk
kk jj
jk
kj jk
kk ii
jk jk
kk jj
jk
kj jk
kk jj
jk jk
jk
a a
a a a a
et
a a
a A
a a
a a
x A x
a a
a A
a a
a a
x A
x i k
j i
j i
j i
x Ax
x x
max max
: donc et
2 max
) 2 ( ) 1 (
2 symétrique
) 2 (
0 et
2 symétrique
) 1 (
0
or -1si
si 1
et si
0 pour
r particulie en
, 0 '
,
, )
( )
(
) ( )
(
) (
<
+ ≤
⇒ <
+
<
⇒ −
>
+ +
+
=
+
⇒ <
>
−
− +
=
=
=
≠
≠
=
=
∀
Si
A est une matrice n x n symétrique strictement définie positive Alors :
Propriétés des matrices définies positives
( )
aij < aiiajj ∀i ≠ j− 2
kk jj jk
kk jj jk
jk kk
jj jk
jk
jk
a a a
a a a
a a
a x
A
x i k
j i
j i
j i
x Ax
x x
<
⇔
<
−
=
∆
>
+ +
=
=
=
≠
≠
=
>
∀
2 2
2 )
( )
(
) (
0 4
4
négatif est
t déterminan sont
réelle, racine
de pas adettant n'
e quadratiqu équation
l'
0 2
or si
si 1
et si
0 pour
r particulie en
, 0 '
,
α
α α
Théorème :
Si
A est une matrice n x n symétrique strictement définie positive Alors :
Autres propriétés
Définition : une sous matrice principale d’une matrice A est une matrice carrée de la forme A(1:i,1:i) quelque soit i Théorème : Une matrice symétrique est définie positive
ssi chacune de ses sous matrice principales à un déterminant positif
4 ....
det 1 det
2 det
det
0 3 1 2 4
1
1 det 2
det
; 0 2 det
2
1 - 0
1 - 2 1 -
0 1 - 2 A
2 2
2 1
=
−
=
=
>
=
−
=
−
= −
>
=
=
A A
A A A
Autres propriétés
Définition : une sous matrice principale d’une matrice A est une matrice carrée de la forme A(1:i,1:i) quelque soit i Théorème : Une matrice symétrique est définie positive
ssi chacune de ses sous matrice principales à un déterminant positif
4 ....
det 1 det
2 det
det
0 3 1 2 4
1
1 det 2
det
; 0 2 det
2
1 - 0
1 - 2 1 -
0 1 - 2 A
2 2
2 1
=
−
=
=
>
=
−
=
−
= −
>
=
=
A A
A A A
Autres propriétés
Théorème :
Une matrice est symétrique définie positive si la méthode de Gauss être appliquée sans permutations n’admet que des pivots positifs De plus, le résultat est stable par rapport aux erreurs d’arrondi Corollaire
si A est une matrice symétrique non singulière, Alors il existe une matrice diagonale D
et une matrice triangulaire avec des 1 sur la diagonale L telles que :
A = LDL’
éléments de démonstration : A non singulière => A=LU =LDV
et A’=V’DL’ que l’on identifie car A est symétrique
Factorisation LDL’
L
V=DL’
0 A
0
−
−
=
−
−
1 0
0
75 . 0 1
0
25 . 0 25
. 0 1
1 0
0
0 4
0
0 0
4
1 75 . 0 25
. 0
0 1
25 . 0
0 0
1
5 , 3 75
, 2 1
75 , 2 25
, 4 1
1 1
4
Exemple :
i
vj=Σ lijdj
aii=di+Σ lijvj aij=dilij+Σ likvk
La factorisation LDL’
fait
fait
fait
1 à
jusqu' 1
pour
0
à jusqu' 1
pour
fait
1 à
jusqu' 1
pour
0
à jusqu' 1
pour
i ji
ji
k jk ii
i
j ij j
ij j
d
somme l a
v somme
somme
i k
somme
n i
j
somme a
d
v somme
somme d v
i j
somme
n i
← −
+
← −
←+=
=−
←
+
←=← ← −
=
Fonction L,D = décomposeLDL(A)
Choleski : LL’
D L
L
L L A
LDL A
=
=
=
~
~' et ~
'
Théorème :
toute matrice A symétrique définie positive
admet une décomposition unique sous la forme A=LL’
ou L est une matrice triangulaire inférieure dont tous les éléments diagonaux sont positifs
D doit être positif !
Choleski : l’algorithme
Fonction L = Choleski(A)
( )
somme a
l
somme a
somme somme
i k
somme
n i
j
somme a
somme somme
i k
somme
n i
l a
n j
a
nn nn
ii ji
ji
ik jk ii
ii
ik j
j
−
←
← −
+
← −
=← +
= −
←
+
← −
=← −
=
←
=
←
fait
fait
1 à
jusqu' 1
pour
0
à jusqu' 1
pour
fait
1 à
jusqu' 1
pour
0
1 à
jusqu' 2
pour fait
à jusqu' 2
pour
2 11
1 1
11 11
Comparaison : temps de calcul
Gauss Choleski
Additions (n (n (n (n
3333-n)/3 nnnn -n)/3 -n)/3 -n)/3
3333/6 /6 /6 /6
Multiplications (n (n (n (n
3333-n)/3 nnnn -n)/3 -n)/3 -n)/3
3333/6 /6 /6 /6
division n(n-1)/2 n(n-1)/2 nnnn n(n-1)/2 n(n-1)/2
3333/2 /2 /2 /2
racines
nnnn
Total 2n 2n 2n 2n
3333/3 n /3 n /3 n /3 n
3333/3 /3 /3 /3
Plus stable !
2
Logiciels
– Cas général : PA=LU
– Matrice symétrique définie positive : A=LL’ (Choleski) – Matrice symétrique : A=LDL’
– Matrice tridiagonale (heisenberg) : LU par bande (cf TD) – Matrice triangulaire : « remontée en n2 »
LAPACK = BLAS (basic linear algebra subprograms) - blaise, octave, matlab (interprétés calcul)
- scilab, maple (interprétés formels) - IMSL, NAG (bibliothèques)
Matlab : x =A\b ;
si A triangulaire : x=trisup(A,b)
sinon si A symétrique définie positive ; L=chol(A) sinon : (* cas général*)
[L,U,P]=lu(A); z=L\(P*b); x=U\z;