Beruflich Dokumente
Kultur Dokumente
Rsolution
des
systmes linaires
aot 2007
@Eric Lunville
Objectifs
Rsoudre des systmes linaires de faon efficace
AX = B
|X|
1 (A) A / A
|B| A
+
|B|
A
1
avec (A) = A A conditionnement de A ((A) 1 et (I) =1)
A=
A=
2.23
1.3
2.23
1.3
1.2
0.7
1.2
0.7
B=
|B| = 10
B=
2.06
1.2
2.061
1.201
(A) 10
= X =
= X =
|X|
0.5
|X|
2
2
1.5
1
(50% derreur)
2
INUTILISABLE !!!
3
UX = C
u11
avec U =
u12
u22
...
...
..
.
u1n
u2n
..
.
unn
prconditionnement possible
peuvent tre trs performantes
5
Types de stockage
stockage bande
rangement diagonal
a21 a32 a43 ... an,n1 a11 a22 ... ann a12 a23 ... an1,n
rangement ligne
a11 a12 a21 a22 a23 a32 a33 a34 ... an,n1 ann
p+
i = max{j/aij
p
i = min{j/aij
= 0}
= 0}
+
aij = 0 si j < p
ou
j
>
p
i
i
p
4
=3
rangement ligne
p+
4
=5
a11 a12 a13 a14 a21 a22 a23 a31 a32 a33 ...
variante ligne/colonne
variante pour matrice non symtrique profil symtrique
existe des algorithmes doptimisation de profil (Cutill-MacKee)
compatible avec tous les algorithmes de rsolution
7
stockage morse
Seuls les termes non nuls sont stocks
pour chaque ligne i on stocke
les coefficients non nuls
les indices des colonnes des coefficients
ligne 1
ligne 2
124
13
x
x
x
x
x
x
x
x
x
x
Mthodes directes
Rsolution des systmes triangulaires
L matrice triangulaire inferieure : Lij = 0 si j > i
On a det L =
i
Lii
det U =
Uii
Algorithmes de rsolution
Resolution de LX = B
Resolution de UX = B
pour i = n, 1
Xi = Bi
pour j = i + 1, n
pour i = 1, n
Xi = Bi
pour j = 1, i 1
Xi = Xi Lij Xj
Xi = Xi /Lii
Xi = Xi Uij Xj
Xi = Xi /Uii
Nb operations n2
Resolution de LX = B
variante colonne
X=B
pour j = 1, n
Xj = Xj /Ljj
pour i = j + 1, n
Xi = Xi Lij Xj
10
en stockage profil
Resolution de LX = B
Resolution de UX = B
pour i = 1, n
Xi = Bi
pour j = p
i ,i1
pour i = n, 1
Xi = Bi
pour j = i + 1, p+
i
Xi = Xi Lij Xj
Xi = Xi /Lii
Xi = Xi Uij Xj
Xi = Xi /Uii
11
Elimination de Gauss
Se ramener un systme triangulaire suprieur par combinaison linaire de lignes
B1
A1
A11 A12 A23
B2
A
A2
A
A
21
22
23
A12 = A2
A13
A21
B1
A11
A21
B31 = B3
B1
A11
B21 = B2
plus generalement :
A1i = Ai
Ai1
A1
A11
Bi1 = Bi
Ai1
B1
A11
i = 2, n
12
matrice A1 `
a lissue de la premi`ere iterations
A1 =
A11
0
0
0
A12
A122
A132
..
.
A23
A123
A133
..
.
..
.
B1
B21
B31
..
.
itration 2
On recommence le processus
1
A22 A123
A132 A133
..
..
.
.
B2
B31
..
..
.
.
pour k = 1, n 1
algorithme auto-crasant
pour j = k + 1, n
Aij = Aij p Akj
Aik = 0
Bi = Bi p Bk
Nb operations 23 n3
14
Stratgie de permutation
Pivot trs petit ou nul litration k
0
Akk Akn
0
..
..
..
..
.
.
.
.
..
..
Ank Ann
.
.
A11
0
0
..
.
..
.
..
.
A12
0
0
..
.
..
.
..
.
A13
A23
Akk
..
.
Ai0 k
..
.
A1n
Akn
Ai0 n
15
pour i = k + 1, n
p = Aq(i)k /Aq(k)k
pour j = k + 1, n
Aq(i)j = Aq(i)j p Aq(k)j
Aq(i)k = 0
pour k = 1, n 1
mme algorithme
+
pour j = max(k + 1, p
),
p
i
i
Aij = Aij p Akj
boucle seulement
sur les coefficients non nuls
Aik = 0
Bi = Bi p Bk
Factorisation LU
Llimination de Gauss est une mthode de factorisation
A = LU
Iteration k
A(k) = L(k) A(k1)
L(k)
L triangulaire inf.
U triangulaire sup.
1
..
.
1
..
.
..
(k1)
Ai,k
(k1)
Ak,k
..
..
.
(k) 1
L
= 2I L(k)
triangulaire inferieure
A = LU avec Lii = 1 i = 1, n
18
Algorithme de factorisation
pour k = 1, n 1
Lkk = Akk
Lkj Ujk
j<k
pour i = k
+ 1, n
Lik =
Aik
Lkk = 1
pour i = k + 1, n
Uki =
Aki
j<k
j<k
Lij Ujk
Lkj Uji
/Ukk
si Ukk = 0
Nb operations
2n3 /3
formules obtenues `
a partir de A = LU Aik =
Lij Ujk
Permutation de ligne
si Ukk = 0 (|Ukk | ) echec de lalgorithme strategie de permutation
matrice de permutation
..
Pik ,k =
..
..
.
..
.
1
k
..
ik
0
..
. 1
j<k
Aki
j<k
Lkj Uji
pour k = 1, n 1
Lkk = Akk
Lkj Ujk
Pk j<k
pour i = k + 1, n
si k Pi alors
Lik
= Aik
Pk j<k
Lkk = 1
pour i = k + 1, Pk+
Uki
= Aki
Pk j<k
si Ukk = 0
Lkj Uji
22
Variante Gauss-Jordan
A partir de la factorisation A = LU on obtient facilement la factorisation :
A = LDU
(unique)
a diagonale unite
avec D matrice diagonale Dii = Uii et L et U `
relation simple entre U et U
i = 1, k
23
algorithme
pour k = 1, n
Lkk = 1
Dkk = Akk
j<k
pour i = k+ 1, n
Lik =
Nb operations
n3 /3
L2kj
Aik
j<k
Lij Ljk
/Dkk
si Dkk = 0
24
(AX, X) > 0 X = 0
Y = 0
poser L = L D pour obtenir
la factorisation dite de Choleski
L
t
A =L
25
forme colonne
Akk
forme ligne
Aik
pour k = 1, n
pour i = 1,k 1
Lki =
Lkk =
Aki
Akk
L2kj
j<k
pour i = k
+ 1, n
Lik =
Nb operations
n3 /3
12
Lkj Lij
j<i
j<k
/Lkk
/Lii
Lij Ljk
j<k
L2kj
12
Conclusions
Mthode du dterminant proscrire
Rsolution facile des systmes triangulaires
Mthodes de type factorisation
peuvent tre efficaces (stockage profil)
cas particuliers (symtriques, def pos.)
Mthodes itratives adaptes au stockage morse ( optimal )
27
17