Vous êtes sur la page 1sur 12

Optimisation numerique

Methodes du gradient conjugue lineaire


(Chapitre 5.1)

Daniel KAUTH

Universite de Fribourg

le 5 novembre 2009
Table des mati`
eres

1 La methode du gradient conjugu e lin


eaire 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Quel est le probl`eme `a resoudre ? . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Methode des directions conjuguees . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Proprietes de base de la methode du gradient conjugue . . . . . . . . . . . . . 4
1.5 Une forme plus pratique de la methode du gradient conjugue . . . . . . . . . 6
1.6 La vitesse de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 Preconditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8 Preconditionneurs pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapitre 1

La m ethode du gradient conjugu


e
lin
eaire

1.1 Introduction
La methode presentee dans ce seminaire est celle du gradient conjugue. Il ne sagit non seule-
ment dune des techniques les plus utiles pour resoudre de grands syst`emes lineaires, mais
elle peut meme etre adaptee de telle mani`ere `a ce quelle resoud des probl`emes doptimisation
non-lineaires. Ces deux variantes, reposant sur la meme idee de base, sont respectivement
appelees methodes du gradient conjugue lineaire et non-lineaire.
La methode analysee ci dessous est celle trouvee dans les annees 50 par Hestens et Stie-
fel, `a savoir la methode du gradient conjugue lineaire. Cette derni`ere se base sur la re-
cherche de directions successives permettant datteindre la solution exacte dun syst`eme
lineaire de matrice symetrique et definie positive et represente une alternative `a lalgorithme
delimination de Gauss. Elle est meme souvent preferee `a cette derni`ere lorsque les syst`emes
dequations sont grands. Dans la suite, nous allons rencontrer leffet damelioration provoque
par le preconditionnement du syst`eme lineaire ainsi quun grand nombre dautres proprietes
interessantes de cette methode.

1.2 Quel est le probl`


eme `
a r
esoudre ?
La methode du gradient conjugue lineaire est une methode qui resoud deux probl`emes equivalents
possedant la meme solution unique. Ces probl`emes sont le syst`eme dequations lineaires

Ax = b

et le probl`eme de minimisation suivant :


1
(x) = xT Ax bT x.
2
Dans ces deux probl`emes, A est une matrice n n, symetrique et definie positive. Pour la
bonne comprehension de la suite de ce seminaire, notons encore que le gradient de est egal
au residu du syst`eme lineaire :

(x) = Ax b := r(x).

1

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 2

1.3 M
ethode des directions conjugu
ees
Une des multiples proprietes interessantes de la methode du gradient conjugue est la creation
economique dune suite de vecteurs (pk )kN de n vecteurs A-conjugues, avec A une matrice
symetrique definie positive. Lensemble de ces vecteurs non-nuls de Rn {p0 ,p2 ,...,pn1 } est dit
A-conjugue si
pTi Apj = 0, pour tout i 6= j
et forme une base de Rn . Gr ace `a lA-conjugaison des vecteurs de direction {p0 ,p2 ,...,pn1 },
il est possible de minimiser (.) en seulement n pas, en minimisant (.) successivement selon
les n directions. Soient x0 Rn un point de depart quelconque et x Rn la solution exacte
dun probl`eme comme presente au point (1.1) . Definissons la suite

xk+1 = xk + k pk (1.3.1)

o`
u k est le scalaire minimisant (.) selon la direction xk + pk et qui est defini par

rk T pk
k = (1.3.2)
pk T Apk

Theor` eme 1. x0 Rn , la suite {xk }, definie par lalgorithme des directions conjuguees
(defini par (1.3.1) et (1.3.2)), converge en au maximum n pas vers x .

Demonstration.
pT A(x x )
Sachant que p0 , ..., pn1 engendrent Rn , definissons k = k pT Ap 0 t.q.
k k
x x0 = 0 p0 + 1 p1 + ... + n1 pn1 .
Selon lalgorithme (1.3.1), nous avons que xk = x0 + 0 p0 + 1 p1 + ... + k1 pk1 .
En multipliant cette expression par pTk A, on voit que pTk A(xk x0 ) = 0 et donc que

pTk A(x x0 ) = pTk A(x xk ) = pTk (b Axk ) = pTk rk .

Ainsi, finalement k = k , ce qui demontre le theor`eme.

Il est interessant de remarquer que si notre matrice A est diagonale, alors les contours de la
fonction (.) forment une ellipse dont les axes sont alignes aux directions coordonnees. Dans
ce cas, une mani`ere facile et elegante `a minimiser (.) est de trouver la solution en minimisant
(.) par des minimiseurs, dune seule dimension chacun, selon les directions coordonnees. Bien
s
ur, on ne peut pas toujours avoir de la chance : souvent la matrice A nest pas diagonale.
Dans ce cas, les contours de (.) restent une ellipse. Mais une ellipse, dont les axes ne sont en
general plus alignes aux directions coordonnees ei . Ainsi, la solution de Ax = b ne peut plus
etre trouvee en n iterations et parfois meme pas en un nombre fini diterations. Pour profiter
quand-meme du joli comportement decrit ci-dessus, nous allons transformer la matrice A de
telle mani`ere ` a ce quelle soit diagonale. Cette transformation est realisee par introduction de
la variable x qui est definie par
= S 1 x
x
avec S la matrice qui a comme colonnes les vecteurs A-conjugues p0 , ..., pn1 c.`a.d. S :=
p0 p1 ... pn1 .

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 3

x) := (S x
Nous definissons donc ( ) = 12 x
T (S T AS)
x (S T b)T x
. Ici, on peut facilement
voir qu`a cause des vecteurs colonnes A-conjugues, la matrice S T AS est effectivement dia-
gonale. A partir de ce point, nous utilisons la meme procedure quavant : nous cherchons
par des minimiseurs, dune seule dimension chacun, selon les
une solution en minimisant (.)
directions coordonnees ei . Mais cette fois-ci on minimise x , au lieu de x. Chaque direction
coordonnee dans lx-espace correspond `a une direction pi dans lx-espace. Nous pouvons donc
constater, grace au Theor`eme 1, que meme dans ce deuxi`eme cas, on aboutit `a une solution
apr`es au plus n pas de lalgorithme.
Remarquons encore un cas particulier interessant : lorsque notre matrice A est diagonale et
que la matrice de Hess est diagonale aussi, alors les minimiseurs `a une dimension, vus lors de
la stragegie vue pour une matrice diagonale ci-dessus, determinent chacun une composante
de la solution. Par consequent, apr`es k minimiseurs `a une dimension, on a minimise sur
un sous-espace de dimension k, par exemple span{e1 , ..., ek } avec ei un element de la base
canonique. Avant de passer au Theor`eme 2, notons encore que

rk+1 = rk + k Apk .

Theor` eme 2. Soit x0 Rn un point de depart quelconque et soit la suite {xk } generee par
lalgorithme des directions conjuguees.
Alors
rkT pi = 0 pour i = 0, ... ,k-1 (1.3.3)
et xk est le minimiseur de (x) sur lensemble

{x | x = x0 + span{p0 , ..., pk1 }} (1.3.4)

Demonstration.
Nous montrons dabord quun point x minimise sur lensemble (1.3.4) si et seulement si
x)T pi = 0, pour tout i = 0, 1, ..., k 1. Definissons h() = (x0 + 0 p0 + ... + k1 pk1 ), o`
r( u
T
= (0 , 1 , ..., k1 ) . Comme h() est une fonction quadratique strictement convexe, elle a
un unique minimiseur, qui satisfait
h( )
=0 i = 0, 1, ..., k 1. (1.3.5)
i
Par la r`egle de la chane, ceci implique que

(x0 + 0 p0 + ... + k1

pk1 )T pi = 0 = r(xk )T pi i = 0, 1, ..., k 1.

Ce qui nous donne le resultat.


Ensuite, nous montrons par recurrence que xk satisfait (1.3.3).
Ancrage : pour k = 1, on a r1T p0 = 0, por le choix de 0 dans (1.3.2).
T p = 0 pour i = 0, 1, ..., k-2.
Hypoth`ese de recurrence : rk1 i
Par
rk = rk1 + k1 Apk1
nous obtenons
pTk1 rk = pTk1 rk1 + k1 pTk1 Apk1 = 0
Pour les autres vecteurs pi , i = 0, 1, ..., k 2, nous avons

pTi rk = pTi rk1 + k1 pTi Apk1 = 0



CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 4

par lhypoth`ese de recurrence et la conjugaison de pi . Nous concluons que rkT pi = 0, pour


i = 0, 1, ..., k 1.

Le Theor`eme 2 nous dit donc que le residu rk est orthogonal `a toutes les directions de
recherche precedentes p0 , p1 , ..., pk1 .
Dailleurs, il y a plusieurs methodes pour choisir les directions de recherche. On pourrait
par exemple utiliser les valeurs propres de la matrice A ou encore modifier lorthogonalisation
de Gram-Schmidt ` a ce que cette procedure produit un ensemble de vecteurs `a directions
conjugues.

1.4 Propri
et
es de base de la m
ethode du gradient conjugu
e
La methode du gradient conjugue est une methode de directions conjuguees qui poss`ede la
propriete particuli`ere de nutiliser que le vecteur pk1 et le residu rk pour generer le vecteur
pk de lensemble des vecteurs A-conjugues. On a donc `a faire avec un algorithme tr`es bon
marche en termes dutilisation de la memoire.
Dans la methode du gradient conjugue, les directions pk sont choisies telles quelles sont
des combinaisons lineaires entre la direction de la plus grande pente (xk ) = rk et la
direction de pk1 :
pk = rk + k pk1
o`
u k est choisi tel que lA-conjugaison entre pk et pk1 soit verifiee. Apr`es multiplication par
pTk1 A, on obtient
rT Apk1
k = Tk .
pk1 Apk1
On choisit la direction de la plus grande pente au point initial x0 comme la premi`ere direction
de recherche, p0 . Voici une premi`ere version dun algorithme pour la methode du grandient
conjugue :

Algorithme 3. Gradient Conjugue- premi`ere version


x0 soit fixe ;
Posons r0 Ax0 b, p0 r0 , k 0;
while rk 6= 0
r T pk
k Tk ;
pk Apk
xk+1 xk + k pk ;
rk+1 Axk+1 b;
T Ap
rk+1 k
k+1 ;
pTk Apk
pk+1 rk+1 + k+1 pk ;
k k + 1;
end(while)

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 5

Passons maintenant au Theor`eme 4, qui nous dit que les directions p0 , ..., pn1 sont effec-
tivement A-conjuguees. Dautant plus, il nous dit que les residus ri sont deux `a deux ortho-
gonaux et que chaque pk et chaque residu rk sont contenus dans le sous-espace de Krylov de
degre k pour r0 , defini par

K(r0 ; k) := span{r0 , Ar0 , ..., Ak r0 }.

Theor` eme 4. Supposons que le k-i`eme itere, genere par la methode du gradient conjugue,
nest pas le point x . Alors les quatre proprietes suivantes sont vraies :

rkT ri = 0, pour i=0, ..., k-1

span{r0 , r1 , ..., rk } = span{r0 , Ar0 , ..., Ak r0 },


span{p0 , p1 , ..., pk } = span{r0 , Ar0 , ..., Ak r0 },
pTk Api = 0, pour i = 0, 1, ..., k-1.
a pourquoi la sequence {xk } converge vers x en au plus n pas.
Voil`

Demonstration. Nous allons demontrer les 3 derni`eres proprietes par recurrence. Ce qui
concerne lancrage, les proprietes 2 et 3 sont trivialement vraies pour k = 0 et par construc-
tion, la propriete 4 est vraie pour k = 1. Supposons que ces proprietes soient vraies pour k et
montrons quelles restent vraies pour k + 1. Par ces hypoth`eses, on a que

rk span{r0 , Ar0 , ..., Ak r0 } et pk span{r0 , Ar0 , ..., Ak r0 }

En multipliant cette deuxi`eme expression par A et en se rappelant que rk+1 = rk + k Apk ,


on voit facilement que
rk+1 span{r0 , Ar0 , ..., Ak+1 r0 }.
Gr
ace `a cette constatation et au moyen de lhypoth`ese de recurrence de la deuxi`eme propriete,
nous avons que
span{r0 , r1 , ..., rk+1 } span{r0 , Ar0 , ..., Ak+1 r0 }.
Par lhypoth`ese de recurrence pour la troisi`eme propriete, on peut deduire que

Ak+1 r0 = A(Ak r0 ) span{Ap0 , Ap1 , ..., Apk }


(ri+1 ri )
Comme rk+1 = rk + k Apk , il en suit que Api = i et donc

Ak+1 r0 span{r0 , r1 , ..., rk+1 }

Ensemble avec lhypoth`ese de recurrence de la deuxi`eme propriete, on trouve que

span{r0 , Ar0 , ..., Ak+1 r0 } span{r0 , r1 , ..., rk , rk+1 }

et donc la deuxi`eme propriete est demontree. Montrons encore que la troisi`eme propriete reste
vraie pour k + 1 :

span{p0 , p1 , ..., pk , pk+1 } = span{p0 , p1 , ..., pk , rk+1 }, par lavant-derni`ere ligne de lalgorithme

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 6

= span{r0 , Ar0 , ..., Ak r0 , rk+1 }, par lhypoth`ese de recurrence de la troisi`eme propriete


= span{r0 , r1 , ..., rk , rk+1 }, par la deuxi`eme propriete quon vient de demontrer
= span{r0 , Ar0 , ..., Ak+1 r0 }, par la deuxi`eme propriete pour k + 1

Passons `a la quatri`eme propriete `


a demontrer.
Nous multiplions lavant derni`ere ligne de lalgorithme avec Api , i = 0, 1, ..., k pour obtenir
pTk+1 Api = rk+1
T
Api + k+1 pTk Api (1.4.1)

Par la quatri`eme ligne de lalgorithme, nous avons que si i = k, alors pTk+1 Api = 0.
Lhypoth`ese de recurrence de la quatri`eme propriete a` demontrer nous dit que p0 , ..., pk sont
A-conjugues et elle nous permet ainsi dutiliser le Theor`eme 2. Il en suit que
T
rk+1 pi = 0, pour i = 0, 1, ..., k
Ensuite, apr`es plusieurs applications de la troisi`eme propriete, on trouve pour k = 0, ..., k 1
que
Api A span{r0 , Ar0 , ..., Ai r0 } = span{Ar0 , A2 r0 , ..., Ai+1 r0 } span{p0 , ..., pi+1 }
T Ap = 0,
Des deux derni`eres expressions trouvees, nous concluons que rk+1 pour i = 0, 1, ..., k 1
i
Le terme de droite de (1.4.1) disparat donc pour i = 0, ..., k-1. Finalement, par le
Theor`eme 2 et par rearrangement de lavant derni`ere ligne de lalgorithme, nous trouvons que
pi = ri + i pi1 ,
tel que ri span{pi , pi1 } pour tout i = 1, ..., k 1. On conclut que la premi`ere affirmation
du
Theor`eme 4 est verifiee.

A ce point, il est interessant de remarquer que le nom methode du gradient conjugue


est mal choisi, car les gradients ri ne sont quorthogonaux alors que ce sont les directions de
recherche pk qui sont A-conjugues. Un meilleur nom pour cette methode serait donc methode
des directions de recherche conjuguees.

1.5 Une forme plus pratique de la m


ethode du gradient conjugu
e
Dans le but de trouver un algorithme plus economique, nous utilisons les resultats des
Theor`emes 2 et 4, afin darriver `
a une nouvelle formule pour k :
rkT rk
k = .
pTk Apk
Gr
ace `a ceci, il nous est possible decrire
T r
rk+1 k+1
k+1 = .
rkT rk
De ce qui prec`ede, on trouve un deuxi`eme algoritme pour la methode du gradient conjugue :

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 7

Algorithme 5. Gradient Conjugue


x0 soit fixe ;
Posons r0 Ax0 b, p0 r0 , k 0;
while rk 6= 0
rkT rk
k ;
pTk Apk
xk+1 xk + k pk ;
rk+1 rk + k Apk ;
T r
rk+1 k+1
k+1 ;
rkT rk
pk+1 rk+1 + k+1 pk ;
k k + 1;
end(while)

Une propriete qui rend la methode du gradient conjugue particuli`erement interessante est
que dans aucune etape de cet algorithme, nous avons besoin de connatre les vecteurs x,r et
p pour plus que les deux derni`eres iterations, les autres ne sont pas stockes.

1.6 La vitesse de convergence


Gr
ace `a la troisi`eme propriete du Theor`eme 4 et au deuxi`eme pas de lAlgorithme 5, nous
avons que

xk+1 = x0 + 0 p0 + ... + k pk = x0 + 0 r0 + 1 Ar0 + ... + k Ak r0 .

Definissons maintenant Pk comme etant un polyn


ome de degre k avec les coefficients 0 , 1 , ..., k .
Remplacons notre polyn ome dans lexpression ci-dessus :

xk+1 = x0 + Pk (A)r0

Nous allons voir maintenant que parmi toutes les methodes possibles dont les k premiers pas
sont restreints sur le sous-espace de Krylov K(r0 ; k), lAlgorithme 5 donne le meilleur resultat
en termes de minimisation de la distance vers la solution, si cette distance est mesuree par
|| . ||A , defini comme
|| z ||2A = z T Az
Dapr`es cette definition, on constate que
1 1
|| x x ||2A = (x x )T A(x x ) = (x) (x ).
2 2
Par consequent le Theor`eme 2 nous dit que xk+1 minimise || x x ||2A sur lensemble x0 +
span{p0 , ..., pk }. Comme xk+1 = x0 + Pk (A)r0 , il en suit que Pk est la solution de

min || x0 + Pk (A)r0 x ||A


Pk

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 8

De plus, nous avons que

xk+1 x = x0 + Pk (A)r0 x = [I + Pk (A)A](x0 x ).

Soient 0 < 1 2 ... n les valeurs propres de A et v1 , ..., vn les vecteurs propres
orthonormes correspondants. Nous savons bien que ces vecteurs propres engendrent Rn , donc
n
X
x0 x = i vi
i=1

et il est aussi facile `


a voir que les vecteurs propres de A sont aussi des vecteurs propres de
Pk (A) pour tout polyn ome. Nous pouvons donc ecrire que Pk (A)vi = Pk (i )vi , i = 1, 2, ..., n
et donc
Xn
xk+1 x = [1 + i Pk (i )]i vi
i=1

La norme definie ci-dessus nous permet de dire que


n
X
|| xk+1 x
||2A = min i [1 + i Pk (i )]2 i2
Pk
i=1

Xn
2
min max [1 + i Pk (i )] ( j j2 ) = min max [1 + i Pk (i )]2 || xo x ||2A ,
Pk 1in Pk 1in
j=1

sachant que || xo x ||2A = nj=1 j j2 . Cette derni`ere expression nous permet de quantifier
P
le taux de convergence de la methode du gradient conjugue.

Theor` eme 6. Si A a seulement r (avec r < n) valeurs propres distinctes, alors lalgorithme
du gradient conjugue arrive a
` la solution en au plus r iterations.

Demonstration. Soient 1 < ... < r les valeurs distinctes des valeurs propres 1 , ..., n .
Definissons maintenant Qr () par

(1)r
Qr () = ( 1 )...( r ).
1 2 ...r
Il est facile `
a voir que Qr ()1 est un polyn
ome de degre r avec une racine = 0. Definissons

ensuite P r1 , un polyn
ome de degre r 1 par

P r1 () = (Qr () 1)/

En posant k = r 1 dans min max [1 + i Pk (i )]2 , nous obtenons


Pk 1in

0 min max [1 + i Pr1 (i )]2 max [1 + i Pr1 (i )]2 = max Qr (i ) = 0


Pr1 1in 1in 1in

Donc, pour k = r 1 on trouve que || xr x ||A = 0 et alors xr = x .



CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 9

eme 7. Si A a des valeurs propres 1 2 ... n , nous avons que


Theor`
nk 1 2
|| xk+1 x ||2A ( ) || x0 x ||2A
nk + 1

Nous nallons pas nous occuper de cette preuve. On donne juste une idee au lecteur,

comment ce resultat a ete trouve. On choisit un polyn
ome P k de degre k tel que le polyn
ome

Qk+1 () = 1 + P k () a comme racines les plus grandes valeurs propres n , n1,...,nk+1 et
le point milieu entre 1 et nk . On peut montrer que la valeur maximale atteinte par Qk+1
sur 1 , ..., nk+1 est (nk 1 )/(nk + 1 ).
Le Theor`eme 7 nous permet de predire le comportement de la methode du gradient
conjugue. Supposons par exemple que les valeurs propres de A consistent en m grandes valeurs
propres et les n m valeurs propres restantes sont situees autour de 1. Si nous definissons
= nm 1 , le Theor`eme 7 nous dit quapr`es m+1 pas de la methode du gradient conjugue,
nous avons que
|| xm+1 x ||A || x0 x ||A .
Pour une petite valeur de apr`es m + 1 pas, la methode va nous donner une bonne approxi-
mation de la solution. Mais attention, le Theor`eme 7 nous donne une borne superieure. Il se
peut que la methode nous donne dej` a des bons resultats apr`es les premi`eres iterations. Il est
generalement vrai que si les valeurs propres apparaissent en r groupes, alors la methode du
gradient conjugue resoud approximativement le probl`eme apr`es r pas.
Une autre expression de convergence pour la methode du gradient conjugue est celle basee
sur le nombre de condition spectral. Celui-ci est defini par
n
K =|| A ||2 || A1 ||2 = .
1
On arrive ensuite `
a montrer que
!2k
K 1
|| xk x ||A || x0 x ||A .
K +1

Cette expression est plus approximative que celle du Theor`eme 7 et donne souvent dimpor-
tantes surestimations de lerreur. Mais en realite, souvent, on na pas beaucoup dinforma-
tions sur A et ses valeurs propres. Cette derni`ere methode ne demande que les valeurs propres
extremes ou des approximations de celles-ci.

1.7 Pr
econditionnement
Pour accelerer la methode du gradient conjugue, on peut transformer le syst`eme lineaire de
telle facon `
a ce que les valeurs propres de la matrice A soient mieux distribues. Le processus
presente par la suite est appele le preconditionnement. Il sagit de changer la variable x en
une variable x au moyen dune matrice C non-siguli`ere : x = Cx. Par consequent, est
transformee en
x) = 1 x
( T (C T AC 1 )
x (C T b)T x
(1.7.1)
2

CHAPITRE 1. LA METHODE LINEAIRE
DU GRADIENT CONJUGUE 10

x) ou bien pour resoudre le syst`eme lineaire


En utilisant lAlgorithme 5 pour minimiser (

(C T AC 1 )
x = C T b,

le taux de convergence depend des valeurs propres de la matrice C T AC 1 et non de celles


de la matrice A. On pourrait donc par exemple choisir C de telle mani`ere que le nombre de
condition de C T AC 1 soit plus petit que le nombre de condition de A. Une autre idee serait
de choisir C tel que les valeurs propres de C T AC 1 sont regroupees en un petit nombre r de
groupes. Ainsi on trouve une bonne approximation apr`es seulement r iterations. LAlgorithme
8 ci-dessous nous nest rien dautre quune application de lAlgorithme 5 au probl`eme (1.7.1)
par rapport `a x. Ensuite, il transforme toutes les equations pour les exprimer par rapport
`a x. On remarque que lAlgorithme 8 nutilise pas explicitement C, mais plut ot la matrice
M = C T C, qui est symetrique et definie positive par construction.
Algorithme 8. Gradient Conjugue Preconditionne
x0 soit fixe et M le preconditionneur de Ai ;
Posons r0 Ax0 b ;
Resoudre M y0 = r0 par rapport a ` y0 ; Posons p0 r0 , k 0;
while rk 6= 0
r T yk
k Tk ;
pk Apk
xk+1 xk + k pk ;
rk+1 rk + k Apk ;
M yk+1 rk+1
T y
rk+1 k+1
k+1 ;
rkT rk
pk+1 yk+1 + k+1 pk ;
k k + 1;
end(while)
Si dans lAlgorithme 8, nous remplacons M par I, on retombe sur lAlgorithme 5. Les
proprietes de lAlgorithme 5 se generalisent de facon interessante. Par exemple la premi`ere
affirmation du Theor`eme 4, `a savoir rkT ri = 0, pour i = 0, ..., k 1 devient

riT M 1 rj = 0, pour tout i 6= j .

Du point de vue de lordinateur, la grande difference entre lAlgorithme 8 et lAlgorithme 5


est quil faut encore resoudre des syst`emes de la forme M y = r.

1.8 Pr
econditionneurs pratiques
Comme si souvent en numerique, il nexiste pas une meilleure strategie de preconditionnement
valable pour tout type de matrices. Des preconditionneurs generaux ont bien ete proposes,
mais leur efficacite varie fortement dun probl`eme `a lautre. Les strategies les plus importantes
de ce genre sont la SSOR (symmetric successive overrelaxation), la methode de Cholesky
incompl`ete et les preconditionneurs par bande.

Vous aimerez peut-être aussi