1 methode de gauss factorisation lu. 2 i la méthode de gauss i-1 présentation de la méthode de la...
TRANSCRIPT
1
METHODE DE GAUSS FACTORISATION LU
2
I La méthode de GaussI-1 Présentation de la
méthode
De la 1ère équation, on tire l’égalité n
1 1 1j j11 j=2
1x = (b - a x )
a
On la reporte dans les équations 2 à n:
n
i1 1j i1 1ij j i
11 11j=2
a a a bPour i = 2 à n (a - )x = b -
a a1
n
i1 1ji1 1i1 1 j
11 11j=2
a aa ba x = - x
a a
On veut résoudre un système de n équations à n inconnues
Ax=b avec A matrice (n,n) d’éléments aij, b, x nIR
3
La 1ère équation de Ax=b et les équations (1) forment un système équivalent à Ax=b noté
(2) (2)A x = b
On note (1) (1)A = A b = b
0
0
(2)A
4
Formules de passage de A(1), b(1) à A(2), b(2):
(2) (1)1j 1j
(2)i1
a a j=1 à n
a 0 i=
(2
à
)
2 n
(1) (1)i1 1j(2) (1)
ij ij (1)11
a aa = a - , i, j = 2 à n
a
(2) (1)1 1
(
b
)
b
3
(1) (1)(2) (1) i1 1i i (1)
11
a bb = b - , i = 2 à n
a
pour i 2 à n 1 n
i1 1j i1 1ij j i
11 11j=2
a a a b(a - )x = b -
a a
5
A partir du système A(2) x=b(2), on peut procéder de façon similaire à partir de la 2ème équation et l’inconnue x2 . En éliminant successivement x1,x2…xn-1, on construit ainsi une suite de systèmes équivalents A(k)x=b(k) k=1 à n
0
0
0 0
0
(k)A
k
k
6
Formules de passage de A(k), b(k) à A(k+1), b(k+1):
(k 1) (k)ij ij
(k+1) (
(k) (k)ik kj(k 1) (k)
ij ij
k)i i
(k+1)i
k)k
j
(k
Pour i 1 à k
a a pour j=1 à n
b b
Pour i=k+
1 à n
a =0 pour j=1 à
a a(4) a a , j=k+1 à n
a
k
(5)
(k) (k)(k+1) (k) ik ki i (k)
kk
a b b b
a
partie non modifiée
formules qui se traduisent par un calcul
7
k j
i
k
A(k) b(k)
valeurs de A(k) et b(k) modifiés par les formules (4) et (5)
valeurs de A(k) et b(k) intervenant dans les formules (4) et (5)
8
Si l’élimination est possible jusqu’au bout, l’algorithme aboutit à une matrice A(n) triangulaire supérieure.
notations: U=A(n) d=b(n)
Le système final Ux=d est équivalent au système initial Ax=b. Il se résout facilement par remontée:
nn
nn
n
i i ij jii j i 1
dx
u
pour i n 1 à 1
1 x (d u x )
u
9
Remarque:
pour k=1 à n-1 A(k+1)=M(k)A(k) b(k+1)=M(k)b(k)
M(k)=
1
1
1
1
k 1(k)
k 2 iki (k)
kk
n
a avec i=k+1 à n
a
k
10
det(M(k))=1 car M(k) est triangulaire supérieure avec des 1 sur la diagonale.
det(A(k+1))=det(M(k)A(k)) =det(M(k))det(A(k)) =det(A(k))
det(A(k+1))=det(A(k)) k=1 à n-1
det(A)=det(U)n
iii 1
u
A inversible A(k) inversible pour k=1 à n
11
L’élimination de xk n’est possible que si
(k)kka 0
Dans ce cas est dit pivot de l’étape k. (k)kka
Sinon le processus d’élimination doit être modifié.
12
2ème cas: (k)k'k k ' k a 0
L’élimination de xk est donc déjà faite!
A(k+1)=A(k)
La phase d’élimination peut donc toujours être menée jusqu’à la fin.
On poursuit l’élimination avec comme pivot de l’étape k .
(k)kka
1er cas: (k)k'k k ' k tel que a 0
On permute l’équation k avec l’équation
nouveau système (k) (k)A x b
k '
13
Remarques:
(k) (k)det(A ) det(A ) (1 permutation de 2 équations)
det(A)=(-1)p det(U) où p est le nombre de permutations d’équations effectuées dans la phase d’élimination.
det(A)=0 det(U)=0
La phase de remontée complète n’est possible que si A est inversible (régulière).
De plus si A est inversible, alors A(k) est inversible et on ne rencontre jamais le 2ème cas dans la phase d’élimination.
14
I-2 Programmation de la méthodea)cas sans permutation de
lignes avec A régulière
Réservations mémoire:
1 tableau A (n,n) initialisé avec les valeurs ija
1 tableau b (n) initialisé avec les valeurs bi
1 tableau x (n) pour la solution cherchée
Durant la phase d ’élimination, les calculs se font uniquement dans les tableaux A et b (les valeurs initiales de A et b sont écrasées!)
La phase de remontée s ’effectue à partir des valeurs finales contenues dans A et b.
15
ik
kk
ij ij kj
i i k
pour k 1,n 1 faire
pour i k 1,n
a r
a
pour j k 1,n faire
phase d 'élimina
a a r a*
b b r b*
tion
nn
nn
k
kj j
kkk
bx
a
pour k n 1,1 faire
S b
pour j k 1,n faire
S
phase de remon
S-a x*S
x
té
a
e
16
2 2 1 1
8 9 5 4
12 0 2
A =
14
b
ik
ij ij kj
i i k
pour k 1,n 1 faire
pour i k 1,n
a r
pour j k 1,n faire
phase d 'élimin
a a r a*
atio
b b
n
r b*
kka
8
12
2 1 1
2
Simulation sur un exemple où n=3:
k=1
2 1 1
8 1 0
12 1
2
2
1
k=2
r=8/2=4
r=12/2=6 -12 -4 8
r=-12/1=-12 8 8
1 01
17
A 8
12 12
2
1
8
12 1
1 b= 0
8
8
8 3x 1
S 0
32S 1 -1S 1
11S 0 1
1S 3 2 1
1
1
2x -1
k=2
2
2 1x 1
x
1
-1
1
kj
nn
kk
k
nn
j
k
pour k n 1,1 faire
S
pour j k 1,n faire
xb
ph
a
b
a
ase de re
S S-
mont
*
x
ée
a
S
x
k=1
18
b)cas avec permutation de lignesPas de permutation physique à l’intérieur des tableaux contenant A et b!Mise à jour de la numérotation à chaque permutation à l’aide d’un tableau supplémentaire Point (n).
k
k '
1
2
i
i 1
i 2
n
valeurs initiales
de Point
'
k
k
permutation de ligne n° k avec ligne n° k’
19
I-3 coûts de calculEstimation des coûts de calcul ou de la complexité d’un algorithme =Estimation du nombre d’opérations élémentaires: additions, multiplications, divisions.
L’unité de mesure de la puissance d’un calculateur est donné en Megaflops (Mflops) où 1 Mflops=106
opérations en virgule flottante par seconde.
Cette mesure n’est qu’indicative car la vitesse de calcul peut varier en fonction de l’algorithme utilisé et de la taille du problème traité.
Les plus gros calculateurs au monde ont des puissances supérieurs à 106 Mflops= 1 Teraflops
20
IBM SP Power4 :ZAHIR
124 processeurs 6,55 Tflops 3136 Goctets
Institut du Développement et des Ressources en Informatique Scientifique (IDRIS)
21
Le coût de résolution d’un système linéaire est donnée en fonction de sa dimension n, ce qui permet des comparaisons d’efficacité entre différentes méthodes.
En pratique, on ne retient qu’une estimation asymptotique lorsque , suffisante pour les systèmes de grande taille.
n
22
Pour la méthode de Gauss,
on obtient:
3
3
2
nadditions
3
nmultiplications
3
ndivisions
2
n 1
k 1
n(n 1)k
2
n 12
k 1
n(n 1/ 2)(n 1)k
3
Ses estimations s’obtiennent à partir de l’algorithme en utilisant les formules:
23
OPERATIONS DIVISION ADDITION MULTIPLICATION
coût éliminationn(n1)
2
n(n1)(n1)
3
Idem
coût remontéen n(n1)
2
Idem
coût totaln(n1)
2
~ 2n
2
n(n1)(2n5)
6
~ 3n
3
idem
24
Illustration numérique montrant l’importance du choix d’une méthode de résolution:Formules de Cramer donnant la solution d’un système (n,n):
jj
0
Dx , j=1 à n.
D Dj est le déterminant d’une matrice (n,n)
Le calcul du déterminant par une méthode de développement par ligne conduit à un coût de résolution supérieur à (n+1)!
inférieur à 1/100 seconde par Gauss
de l’ordre de 10185 l ’age de l’Univers par méthode de Cramer
Temps de résolution sur un système (100,100) sur un calculateur à 100 Mflops:
25
I-4 Un résultat théorique admisAk désigne les sous-matrices principales de A définies par
11 12 1k
22 2kk
k1 k2 kk
a a a
a aA
a a a
Théorème 1 Si det(Ak) 0 pour k=1 à n, alors la phase d’élimination est faisable sans permutation de lignes et les éléments diagonaux de la matrice triangulaire supérieure U ainsi obtenue sont données par
k1
11 kk k 1
det(A )u det(A ) et u , k=2 à n
det(A )
26
Conséquences:
Sur une matrice s.d.p. l’élimination de Gauss peut se faire sans permutation de lignes et les éléments diagonaux de la matrice U obtenue sont strictement positifs.
Remarque:
A s.d.p. Ak s.d.p. k=1 à n det(Ak)>0
27
II Factorisation LUII-1 Intérêt d ’une factorisation
LUDéfinition 1On dit qu’une matrice A(n,n) possède une factorisation LU si A=LU avec L matrice(n,n) triangulaire inférieure à diagonale unité et U matrice triangulaire supérieure.
1
L
1
1
U
28
On verra dans la suite que le coût de la factorisation est égal au coût de l’élimination de Gauss.
Pour résoudre Ax=bk connaissant sa factorisation LU, on résout successivement 2 systèmes « triangulaires »
Ly=bk (descente) puis Ux=y (remontée)
On obtient alors le tableau des coûts asymptotiques suivant:
Supposons que l’on doit résoudre successivement plusieurs systèmes de même matrice:
Ax=bk k=1 à p
29
OPERATIONS DIVISION ADDITION OUMULTIPLICATION
Factorisation LU2n
2
3n
3
p remontée-descente
pn 2pn
coût total2n
2+pn
3n
3+pn2
mieux que
coût de p résolutions de Gauss
3pn
3
30
I-2 Conditions d ’existence et d ’unicité d’une factorisation LU
Proposition 1(unicité) On suppose que A est régulière et admet une factorisation LU. Alors U est régulière et la factorisation est unique
Démonstration:a) U régulière?
det(A)=det(LU)=det(L)det(U)=det(U) 0
31
b) Unicité?
U2 triang. sup. X triang. sup.
Supposons A=L1U1=L2U2
1 12 1 2 1L L U U X
U1 triang. sup.1
1U triang. sup.
L1 triang. inf.à diag. unité X triang. inf.à diag. unité
L2 triang. inf.à diag.unité 12L triang. inf.à diag unité
X =matrice identité d’où L1=L2 et U1=U2
32
Proposition 2On suppose que l’élimination de Gauss est faisable sans permutation de lignes sur un système de matrice A supposée régulière. Alors A possède une factorisation LU avec U régulière.
k 1
k 2
n
(k)ik
i (k)kk
aavec i=k+1 à n
a
Démonstration: on introduit les matrices L(k)
L(k)=
1
1
1
1
k
33
A=L(1)L(2)….L(n-1)A(n)
On pose L= L(1)L(2)….L(n-1) produit de triang. inf. à diag. unité
On pose U=A(n) triang. sup. régulière car A régulière
A(k)=[M(k)]-1A(k+1)=L(k)A(k+1)
On vérifie que L(k) =[M(k)]-1
A(k+1)=M(k)A(k)
34
Théorème 2A matrice (n,n) possède une factorisation LU avec U régulière si et seulement si ses sous-matrices principales Ak k=1 à n sont régulières.
35
a) Supposons det(A(k)) 0 k=1 à n
Démonstration:
Théorème 1élimination de Gauss faisable sans permutation de lignes
A=A(n) régulière
+ proposition 2 existence de la factorisation LU et U régulière
36
b) Supposons A=LU avec U régulière
11 12 12
21 22 21 22 22
A A 0 U
A A L L 0 U
11 11L U
11 11 11A = L U
det(A11)=det(U11) 0 car U régulière
Or A11 est une sous-matrice principale A(k).
37
1
1
1
1
1
I-3 Programmation de la factorisation LU
aucun calcul pour effectuer le produit de matrices L(k)!
(k)ik(k)kk
a
a
L=L(1)L(2)…L(n-1)=
1
1
L(1)
11
1
L(2)
1
1
1
L(k)
... ...
1
11
L(n-1)
38
A(k)
k
ik
kk
ij ij kj
i i k
pour k 1,n 1 faire
pour i k 1,n
a r
a
pour j k 1,n faire
phase d 'élimina
a a r a*
b b r b*
tion
ika r
élément qui n’est plus utilisé après le traitement complet de la ligne
39
Algorithme de factorisation
ik
kk
ij ij kj
ik
pour k 1,n 1 faire
pour i k 1,n faire
a r
a
pour j k 1,n faire
a a r a
a r
2 2 1
4 1 1
6
-12
Simulation sur un exemple où n=3:
2 2 1
8 9 5
12 0 2
A
ik
kk
ij ij kj
ik
pour k 1,n 1 faire
pour i k 1,n faire
a r
a
pour j k 1,n faire
a a r a
a r
algorithme de factorisation
k=12 2 1
r=8/2=4 1 14r=12/2=6 -12 -46
r=-12/1=-12 8
2 2 1
U 1 1
8
0
0 0
L 4
6 12
1 0 0
1 0
1
k=2
41
III Matrices à structure particulièreIII-1 Matrice symétrique
Proposition 4Soit A une matrice (n,n) régulière et symétrique. Si la phase d’élimination de Gauss s’effectue sans permutation de lignes
alors toutes les matrices a(k) k=1 à n sont symétriques.
k
kA(k)=
a(k)
Notation:
42
Démonstration: (par récurrence)a(1)=A symétrique par hypothèse
(k) (k)ik kj(k 1) (k)
ij ij (k)kk
(k) (k)jk ki(k 1) (k)
ji ji (k)kk
a aa a
a i, j k 1 à n
a aa a
a
a(k) symétrique (k 1) (k)ij ija a i,j=k+1 à n
43
Proposition 4Soit A une matrice (n,n) régulière et symétrique. Si elle possède une factorisation A=LU alors U=DLt où D est une matrice diagonale . On a donc A=LDLt. et dii=uii i=1 à n.
Démonstration:
Soit A=LU .
On introduit la matrice diagonale
11
22
nn
u
uD
u
44
U régulière D régulière
On pose L1=LD et U1=D-1U A=L1U1
A=At t t1 1A U L
t1U triang. inf.à diag unité et t
1L triang. supérieure
Unicité de la factorisation t t t1 1L U et U=L DL
soit A=LDLt
45
Remarque dans le cas où A est s.d.p. :A=LDLt avec dii>0 i=1 à n
On pose
11
221/ 2
nn
d
dD
d
0
0
d’où A=LD1/2D1/2Lt
avec B=LD1/2, on obtient A=BBt
dite factorisation de Cholesky
46
III-2 Matrice à structure bandeDéfinition 2On dit qu’une matrice A(n,n) est de structure bande avec une demi-largeur de bande m si m est le plus petit entier tel que |i-j|>m aij=0
n-m
n-m
m+1
m+1
47
a) Une matrice tridiagonale a une demi-largeur de bande égale à 1.
Exemples:
N=n2
H matrice (n,n)
I matrice identité (n,n)
-I
-I -I
-I -I
-I -I
-
H
H
H
H
I H
2A =h
0
0
b) Matrice 2hA
Sa demi-largeur de bande est donc égal à n = N
48
Proposition 4Soit A(n,n) une matrice de structure bande avec une demi-largeur de bande m. Si la phase d ’élimination de Gauss s’effectue sans permutation
de lignes, alors toutes les matrices a(k), k=1 à n ont une structure bande
avec une demi-largeur de bande inférieure ou égale à m. De plus m2
éléments changent de valeurs à l ’étape k dans la matrice a(k).
bca a -
d
a n’est pas modifié si
b ou c nul.
a
d
b
cA(k)=
k
k
49
A(k)=
k
k0 0
0
0
non modifié
: éléments non modifiés
:éléments modifiés
m
m
50
L’économie de calculs se fait aussi dans la remontée car U est à structure bande.
O P E R A T I O N S D I V I S I O N A D D I T I O N O UM U L T I P L I C A T I O N
é l i m i n a t i o n n m 2n m
r e m o n t é e n n m
Coûts asymptotiques
au lieu de 3n
3
au lieu de 2n
2
Exemples: a) matrice (tridiagonale: m=1) Coût en O(n)
b) matrice Coût en O(n2)
1hA
2hA (m n)
51
Pour minimiser les coûts de calcul dans les méthodes de résolution par Gauss ou factorisation LU, on a donc intérêt à avoir la plus petite largeur de bande possible.
Pour les matrices différences finies, cela revient à bien choisir l’ordre de numérotation des nœuds de la grille.
Au chapitre suivant, nous présenterons des méthodes itératives de résolution dont le coût pour ces matrices est indépendant de l’ordre de numérotation.
matlab