Universit´e de Pau et des Pays de l’Adour 2016-2017
D´epartement de Math´ematiques Licence L3 – ANSL
M´ethode du gradient conjugu´e (Hestenes–Stiefel, 1952)
On consid`ere une matrice A ∈ Rd×d, sym´etrique et d´efinie positive, un vecteur b ∈ Rd et on note •,•
le produit scalaire usuel de Rd
1) Montrer que la r´esolution du syst`eme lin´eaire Ax=b´equivaut `a r´esoudre le probl`eme de minimisation
min
x∈Rd
J(x) o`u J(x) = 1
2 Ax, x
− b, x Description de l’algorithme
Initialisation: On se donne x(0)∈Rn etp(0)=Ax(0)−b.
On suppose connus l’´etatx(k)ainsi que la direction de descentep(k). L’´etatx(k+1)au pas suivant est issu de l’´etat x(k) via un incr´ement proportionnel `a la direction de descente p(k) :
x(k+1)=x(k)+αkp(k) (1)
de fa¸con `a minimiser la fonctionnelle J sur la droite de direction p(k) et passant parx(k) :
J(x(k+1))≤J(x(k)+α p(k)) ∀α∈R. (2)
On notera r(k) le gradient de J (ou r´esidu deAx−b) au pointx(k), soitr(k)=Ax(k)−b.
2) Calculerαk en fonction de r(k) et p(k). 3) Montrer que l’on a r(k+1), p(k)
= 0 (4)
La nouvelle direction de descente p(k+1) est cherch´ee sous la forme
p(k+1)=r(k+1)+βk+1p(k) (5)
de la sorte quep(k) etp(k+1) soientA−conjugu´es, autrement dit quep(k+1) soit orthogonal `a la direction p(k) pour le produit scalaire associ´e `a la matriceA, c’est-`a-dire
p(k+1), A p(k)
= 0 (6)
4) Calculer la valeur deβk+1 en fonction der(k+1),p(k). L’algorithme converge au plus en d ´etapes
5) Remarquer que si les gradients successifsr(`),`= 0, . . . , k−1 sont non nuls et sir(k)= 0, alors l’´etatx(k) est solution du syst`eme lin´eaire.
6) On suppose dans cette question que les gradients successifs r(`) sont non nuls jusqu’`a l’´etapem≥1 inclusivement. Etablir les relations d’orthogonalit´e :
r(k), p(`)
= 0, pour 0≤` < k≤m (i)
αk 6= 0, pour 0≤k≤m (ii)
r(k), r(`)
= 0, pour 0≤` < k≤m (iii)
p(k), A p(`)
= 0, pour 0≤` < k≤m (iv)
1
On pourra raisonner par r´ecurrence sur k, pour l’ensemble des 4 relations et les ´etablir dans l’ordre o`u elles apparaissent.
7) Montrer que l’algorithme converge en au plusdit´erations.
Autres propri´et´es 8) Montrer que l’on a
r(k), p(k)
=kr(k)k2 et βk=
r(k)
2
r(k−1)
2; et qu’ainsi l’algorithme s’´ecrit :
Algorithme du gradient conjugu´e Initialisation : x(0) donn´e,εdonn´e
r(0)=b−A·x(0) (r´esidu initial)
p(0)=r(0) (direction de descente initiale) θ0= (p(0), r(0)) ( (.,.) repr´esente le produit scalaire) It´erations :k≥0 αk=θk/(A·p(k), p(k)) (taux dans la direction de descente)
x(k+1)=x(k)+αkp(k) (mise `a jour de la solution) r(k+1)=r(k)−αkA·p(k) (r´esidu `a l’it´erationk+ 1) Arrˆet des it´erations:kr(k+1)k ≤ε?
θk+1= (r(k+1), r(k+1)) βk+1=θk+1/θk
p(k+1)=r(k+1)+βk+1p(k) (nouvelle direction de descente)
2