Académique Documents
Professionnel Documents
Culture Documents
07 Conjgrad PDF
07 Conjgrad PDF
Daniel KAUTH
Universite de Fribourg
le 5 novembre 2009
Table des mati`
eres
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.
Ax = b
(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
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
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.
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 :
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
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 :
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
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
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.
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.
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
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
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)/
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
(C T AC 1 )
x = C T b,
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.