Méthode du gradient à pas optimal
Ce développement est extrait du Cours de mathématiques pures et appliquées, volume 1 de Ramis, Warusfel et Moulin. La preuve de l’inégalité de Kantorovitch se trouve dans les oraux X-ENS.
SoitAune matrice symétrique définie positive. On utilise sans démonstration le résultat suivant :xest la solution du systèmeAx=bsi et seulement s’il minimise la fonctionf :x7→ 12hAx, xi − hb, xi. Il s’agit d’appliquer l’algorithme de minimisation du gradient à pas optimal à la fonctionf : on construit la suite (xn)en posant
xn+1=xn+αn+1rn
oùrn=−∇f(xn) =b−Axn(direction de plus grande pente) etαn+1est le pas optimal, c’est-à-dire que f(xn+αn+1rn) = min
α>0f(xn+αrn).
On vérifie queαn+1=hArkrnk2
n,rni,défini tant que xn6=x.
On rappelle l’algorithme :
Soitx0donné et r0=b−Ax0. On se fixe un seuil de toléranceT OL.
Tant que krkrnk
0k >T OL, faire
αn+1= krnk2
hArn, rni (1)
xn+1=xn+αn+1rn (2) rn+1=b−Axn+1. (3)
Théorème. L’algorithme du gradient converge vers la solutionxdu systèmeAx=bet, pour toutn∈N
kxn−xk6
Cond(A)−1 Cond(A) + 1
n
pCond(A)kx0−xk.
Démonstration.
Lemme. Inégalité de Kantorovitch Soit A ∈ MN(R) symétique définie positive, de valeurs propres minimale et maximaleλm etλM. Alors
∀x∈R, kxk4
kxk2A−1kxk2A >4 λmλM
(λM +λm)2 oùkxkA=p
hAx, xi.
Démonstration. Il suffit de montrer cette inégalité pourxde norme 1, ce qu’on supposera dans la suite.
A est symétrique donc il existe une base (e1,· · ·, en)orthonormale de vecteurs propres de A. On note x=P
xiei et 0< λ16· · ·6λn les valeurs propres deA.
hAx, xi
A−1x, x
=
n
X
i=1
λix2i
n
X
i=1
1
λix2i = λ1
λn
n
X
i=1
λi
λnx2i
n
X
i=1
λ1
λix2i
6 λ1 4λn
n
X
i=1
λi λn
+λ1 λi
x2i
!2 .
1
Après étude de la fonctionx7→x+1x qui atteint son maximum1 +λλn
1 enλ1et enλn, on en déduit que hAx, xi
A−1x, x 6 λ1
4λn
1 +λn
λ1
n X
i=1
x2i
!2
=6 λ1
4λn
1 + λn
λ1
2
= (λ1+λn)2 4λ1λn
.
Il suffit d’inverser cette formule pour obtenir l’inégalité escomptée.
Pour la preuve générale, remarquons que f(x) =1
2hAx, xi − hb, xi= 1
2hAx, xi − hAx, xi= 1
2hA(x−x), x−xi −1
2hAx, xi,
c’est-à-diref(x) = 12kx−xkA−12hAx, xi. L’algorithme garantit la décroissance def à chaque itération.
Reste à voir qu’on a en fait une contractance def : kxn+1−xk2A
kxn−xk2A =kxn+αn+1rn−xk2A
kxn−xk2A = kxn−xk2A+α2n+1krnk2A+ 2hA(xn−x), αn+1rni
kxn−xk2A (4)
= 1 +krnk4/krnk2A+ 2αn+1hAxn−b, b−Axni
kxn−xk2A (5)
= 1−krnk4/krnk2A
kxn−xk2A = 1− krnk4
krnk2AkA−1rnk2A = 1− krnk4
hArn, rni hA−1rn, rni. (6) On peut alors appliquer l’inégalité de Kantorovitch qui donne
kxn+1−xk2A6
1−4 λ1λn (λ1+λn)2
kxn−xk2A (7)
6
λ1−λn
λ1+λn 2
kxn−xk2A. (8)
6
1−Cond(A) 1 + Cond(A)
2
kxn−xk2A. (9)
Ceci montre la convergence linéaire de(xn)versxpour k · kA. Or, pour toutx,6λ1kxk2hAx, xi=kxk2A6λnkxk2, c’est-à-dire
kxn−xk6
1−Cond(A) 1 + Cond(A)
n
pλn/λ1kx0−xk=
1−Cond(A) 1 + Cond(A)
n
pCond(A)kx0−xk,
ce qu’il fallait montrer.
2