Résolution de syst`emes linéaires par des méthodes de Krylov

Chapitre 5
R´esolution de syst`emes lin´eaires
par des m´ethodes de Krylov
5.1 Introduction
Que fait-on lorsqu’il s’agit de r´esoudre un syst`eme lin´eaire et que les m´ethodes bas´ees
sur des factorisations matricielles sont trop coˆuteuses (en temps de calcul ou en m´emoire)
compte tenu du mat´eriel informatique utilis´e ? On utilise des m´ethodes it´eratives qui
g´en`erent une suite d’it´er´es sens´es converger vers la solution du probl`eme. Le but de ce
chapitre est de pr´esenter les m´ethodes qui figurent parmi les plus utilis´ees : les m´ethodes
bas´ees sur un espace dit de Krylov. Ce chapitre sera notamment l’occasion de d´ecrire la
m´ethode GMRES, la m´ethode du gradient conjugu´e, le but du pr´econdiitonnement et la
n´ecessit´e de disposer de bons crit`eres d’arrˆet des it´erations.
Dans les cas pratiques il est bon de se rappeler qu’il ne faut se tourner vers les m´ethodes
it´eratives que lorsque les m´ethodes directes ne sont pas utilisables, car la mise en œuvre
d’une m´ethode it´erative peut n´ecessiter beaucoup d’efforts, notamment concernant les
techniques de pr´econditionnement.
5.2 G´en´eralit´es
On d´efinit par l’espace de Krylov de d’ordre massoci´e `a la matrice carr´ee inversible
ARn×net bCnpar K(A, b, m) = Span{b, Ab, ..., Am1b}. Il est clair que les espaces
de Krylov sont des espaces emboˆıt´es lorsque mcroˆıt. Dans ce chapitre, sauf pr´ecision
contraire, kk est la norme Euclidienne pour les vecteurs et la norme induite correspondante
pour les matrices.
Proposition 5.1 Montrez, en utilisant le polynˆome caract´eristique, que la solution x=
A1bappartient `a l’espace de Krylov de d’ordre n(not´e K(A, b, n)). Noter que cet espace
peut ˆetre de dimension tr`es inf´erieure a n(exemple si Aest la matrice identit´e).
Preuve 5.1 Si q(t)est le polynˆome caract´eristique, on a q(t) = Pn
j=0 αjtj.Donc α0=
1
2Chapitre 5 : R´esolution de syst`emes lin´eaires par des m´ethodes de Krylov
q(0) = det(A)6= 0 ssi Aest inversible. De plus, comme
0 = q(A) = α0I+α1A+... +αnAn,(5.1)
on a
A1=1
α0
n1
X
j=0
αj+1Aj.
Ainsi x=A1bappartient `a l’espace de Krylov de d’ordre nassoci´e `a Aet bet not´e
K(A, b, n) = Span{b, Ab, ..., An1b}.
2
Les m´ethodes de Krylov se r´epartissent en plusieurs classes suivant la mani`ere dont
l’it´er´e xk∈ K(A, b, k)est construit. Par convention on pose x0= 0. Si x06= 0, c’est a
dire, si l’on dispose d’une approximation de la solution, on se ram`ene au cas pr´ec´edent en
r´esolvant Az =bAx0puis en faisant la mise `a jour x=x0+z. On trouve
L’approche de Ritz-Galerkin : xkest tel que bAxk⊥K(A, b, k).
Le r´esidu minimum : trouver xk∈ K(A, b, k)tel que ||bAxk||2. est minimum
L’approche de Petrov-Galerkin : trouver xktel que bAxkest orthogonal `a un
espace de dimension keventuellement diff´erent de K(A, b, k)).
L’approche erreur minimum : trouver xkATK(A, b, k)tel que ||bAxk||2est
minimal.
5.3 La m´ethode GMRES
5.3.1 Pr´esentation de l’algorithme
Dans l’algorithme GMRES, on choisit xk∈ K(A, b, k)tel que ||bAxk||2est minimum.
Soit l’algorithme suivant :
Arnoldi’s algorithm
1. v1=b/kbk
2. For j=1,2, ... m-1 Do
3. Compute hij =vT
iAvjfor i= 1, j
4. Compute wj=AvjPj
i=1 hijvi
5. hj+1,j =kwjk
6. If (hj+1,j = 0) then Stop
7. vj+1 =wj/hj+1,j
8. EndDo
Proposition 5.2 Les vecteurs vjg´en´er´es par l’algorithme sont orthogonaux.
Preuve 5.2 D´emonstration. En effet, `a l’´etape jde l’algorithme, on r´ealise l’orthogona-
lisation de Schmidt de Avjpar rapport `a vi,ij, pour obtenir vj+1. Les vi,ij+ 1
sont donc bien orthogonaux.
S. Gratton, Analyse matricielle et Optimisation, ´
Ed. Ress. P´edag. Ouv. INPT,0727 (2014) 24h
3Chapitre 5 : R´esolution de syst`emes lin´eaires par des m´ethodes de Krylov
2
Proposition 5.3 Si `a l’´etape jsl’algorithme rencontre une quantit´e hjs+1,jsnulle, il
s’arrˆete.
Les quantit´es vjet hij en´er´ees par l’algorithme pour j < jspeuvent ˆetre r´ecrites `a
chaque pas de la boucle en jsous forme matricielle
AVj=Vj+1 ¯
Hj,
o`u ¯
HjRj+1×jest une matrice de Hessenberg sup´erieure.
Preuve 5.3 D´emonstration. En effet, d’apr`es les ´etapes 4. et 7. de l’algorithme hj+1,j vj+1 =
AvjPj
i=1 hijvi, ce qui s’´ecrit bien AVj=Vj+1 ¯
Hjavec Vj= [v1, . . . , vj]Rn×jet
¯
Hj= [hi,j]Rj+1×jHessenberg sup´erieure.
2
Proposition 5.4 On se place au dernier pas jsde l’algorithme. On a alors AVjs=VjsHjs,
o`u la matrice Hjsest une matrice carr´ee d’ordre js. Les valeurs propres de Hjssont des
valeurs propres de A. Si yest un vecteur propre de Hjsassoci´e a la valeur propre λ(de A
et de Hjs), Vjsyest un vecteur propre de Aassoci´e.
Preuve 5.4 D´emonstration. Si pour y6= 0,Hjsy=λy,AVjsy=VjsHjsy=λVjsy, avec
Vjsy6= 0. Donc toute valeur propre de Hjsest une valeur propre de A. Pour tout vecteur
propre yde Hjs,Vjsyest un vecteur propre de A.
2
Proposition 5.5 Soit Hj=VT
jAVj. La matrice Hjest Hessenberg sup´erieure. En parti-
culier, si Aest sym´etrique, Hjest tridiagonale.
Preuve 5.5 D´emonstration. On sait que HjRj×jest Hessenberg sup´erieure (car elle
est constitu´ee des jpremi`eres lignes de la matrice rectangulaire Hessenberg sup´erieure
¯
HjRj+1×j). Si de plus Aest sym´etrique, ¯
Hj=VT
j+1AVj. et HT
j= (VT
jAVj)T=
VT
jATVj=Hj. Donc Hjest carr´ee Hessenberg sup´erieure et sym´etrique ; elle est donc
carr´ee et tridiagonale.
2
Proposition 5.6 L’espace image de Vj, pour jinf´erieur `a js, est K(A, b, j). L’espace
K(A, b, js)est un espace invariant pour A.
Preuve 5.6 D´emonstration. Par r´ecurrence. Vrai pour j= 1. Supposons le r´esultat sui-
vant vrai au rang j: il existe une matrice XjRj×jtelle que [b, . . . , Aj1b]=[v1,...vj]Xj,
S. Gratton, Analyse matricielle et Optimisation, ´
Ed. Ress. P´edag. Ouv. INPT,0727 (2014) 24h
4Chapitre 5 : R´esolution de syst`emes lin´eaires par des m´ethodes de Krylov
la matrice Xj´etant triangulaire sup´erieure inversible (´el´ements non nuls sur la diagonale).
Alors , on posant β=kbk,
[b, . . . , Aj1b, Ajb]=[βv1, A[b, . . . , Aj1b]] = [βv1, A[v1,...vj]Xj]
= [βv1, Vj+1 ¯
HjXj] = Vj+1
β
0
.
.
.
0
¯
HjXj
.
Montrons que la matrice entre crochets que nous appelons Xj+1 est triangulaire sup´erieure
inversible. La matrice ¯
Hjest de rang j(Hessenberg avec ´el´ements non nuls sur la sous-
diagonale sinon l’algorithme se serait arrˆet´e). La matrice ¯
HjXjest Hessenberg sup´erieure
et son ´el´ement sous diagonal de la colonne kde ¯
Hjpar le ki`eme ´el´ement diagonal de Xj: il
est donc non nul. La matrice Xj+1 est donc triangulaire sup´erieure `a ´el´ements diagonaux
non nuls : elle est inversible. Enfin on a AVjs=VjsHjsdonc comme les colonnes de Vjs
forment une base de K(A, b, js), on a AK(A, b, js)⊂ K(A, b, js).
2
Proposition 5.7 L’it´er´e xjminimisant la norme du r´esidu kbAxksur l’espace K(A, b, j)
s’´ecrit xj=Vjzjo`u zjminimise kkbke1¯
Hjzjk.
Preuve 5.7 D´emonstration. Si xest dans l’image de Vj, il existe zRjtel que x=
Vjz. Alors kbAxk=kkbkv1AVjzk=kkbkv1Vj+1 ¯
Hjzk=kVj+1(kbke1¯
Hjzk). La
norme euclidienne ´etant unitairement invariante, kbAxk=kkbke1¯
Hjzk. Donc on est
ramen´e `a la r´esolution du probl`eme de moindres carr´es minzRjkkbke1¯
Hjzk. Soit zjla
solution obtenue. La solution du probl`eme de d´epart est Vjzj.
2
Proposition 5.8 Le pas js´etant celui o`u se produit l’arrˆet de l’algorithme GMRES, xjs
est la solution du syst`eme lin´eaire Ax =b.
Preuve 5.8 D´emonstration. En reprenant la d´emonstration de la question pr´ec´edente,
pour le pas js, on obtient que kbAxk=kkbke1¯
Hjszjsk=kkbke1¯
Hjszjsk. La matrice
Hjs´etant carr´ee et inversible (les valeurs propres de Hssont des valeurs propres de la
matrice inversible A), le minimum kkbke1¯
Hjszjskest nul `a l’optimum zjs. Donc xjs=
Vjszjsv´erifie kbAxjsk=kkbke1¯
Hjszjsk= 0.
2
En rassemblant les propri´et´es ci-dessus, nous obtenons l’algorithme GMRES :
S. Gratton, Analyse matricielle et Optimisation, ´
Ed. Ress. P´edag. Ouv. INPT,0727 (2014) 24h
5Chapitre 5 : R´esolution de syst`emes lin´eaires par des m´ethodes de Krylov
GMRES algorithm
1. x0initial guess, r0=bAx0,β=kr0kand v1=r0
2. For k=1,2, ... Do
3. Compute wk=Avk
4. For i=1, ...,k, Do
5. hi,k =wT
kvi
6. wk=wkhi,kvi
7. EndDo
8. hk+1,k =kwkk
9. If hk+1,k = 0 set m=kand Goto 12
10. vk+1 =wk/hk+1,k
11. endDo
12. Set-up the (m+ 1) ×mmatrix ¯
Hm= (hi,j)1im+1,1jm
13. Compute, ymthe solution of kβe1¯
Hmyk2
14. Compute, xm=x0+Vmym
Notons que la r´esolution du probl`eme de moindres carr´es en 13. est r´ealis´ee par une
m´ethode stable (Givens),
5.3.2 GMRES restart´e (ou red´emarr´e)
L’algorithme GMRES peut ˆetre lent et n´ecessiter un stockage trop important pour les
vecteurs vj. C’est pour cela que l’on utilise l’algorithme red´emarr´e suivant :
Restarted GMRES : GMRES(m)
1. x0initial guess, r0=bAx0,β=kr0kand v1=r0
2. For k=1,2, ... Do
3. Compute wk=Avk
4. For i=1, ...,k, Do
5. hi,k =wT
kvi
6. wk=wkhi,kvi
7. EndDo
8. hk+1,k =kwkk
9. If hk+1,k = 0 set m=kand Goto 12
10. vk+1 =wk/hk+1,k
11. endDo
12. Compute, ymthe solution of kβe1¯
Hmyk2
13. Compute, xm=x0+Vmym
14. If hm+1,m 6= 0 then x0=xmGoto 1
Nous ´etudions `a pr´esent la convergence de l’algorithme red´emarr´e. Une premi`ere chose
est que au passage `a l’algorithme red´emarr´e, on perd la propri´et´e de terminaison en un
nombre fini de pas. Il existe des conditions n´ecessaires et suffisantes de convergence de l’al-
gorithme pour toute matrice, malheureusement elles font intervenir l’ ”image num´erique”
g´en´eralis´e, qui est une quantit´e que l’on se sait pas actuellement exploiter.
S. Gratton, Analyse matricielle et Optimisation, ´
Ed. Ress. P´edag. Ouv. INPT,0727 (2014) 24h
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !