Deux méthodes de gradient
Leçons : 158,162, 219,226, 233(gradient conjugué) On considèreA∈ Sn++(R).
Proposition 1
La résolution deAx =béquivaut à trouver le point qui minimise la fonctionnelle : Φ(y) = 1
2yTAy−yTb.
Démonstration.Il est facile de voir que
∇Φ(y) = 1
2(AT +A)y−b=Ay−b. (1)
Et si x est solution du système linéaire, alors Φ(y) = Φ(x + (y −x)) = Φ(x) + 12(y − x)TA(y−x)i.e 1
2ky−xk2A=Φ(y)−Φ(x), oùkzk2A=zTAz est la norme associée àAque l’on utilisera toujours par la suite.
Définition 2
Uneméthode de gradientconsiste à partir d’un point x0∈Rn et à construire la suite
xk+1=xk+αkdk (2)
oùdk∈Rn est unedirectionà choisir etαk∈R.
Une idée naturelle est de choisir αk de sorte à optimiser Φ(xk+1) dans la direction dk, c’est à dire tel que d
dαk
Φ(xk+αkdk) =−dkTrk+αkdkTAdk=0, où−rk:=∇Φ(xk) =Axk−b.
On trouve :
αk=〈dk,rk〉
kdkk2A (3)
(c’est bien défini lorsquedk6=0 car A∈ Sn++(R)).
Méthode de gradient conjugué
Remarquons que pour toutk∈N:
rk+1=rk−αkAdk (4)
etαk est choisi de sorte à ce que
〈rk+1,dk〉=0. (5)
Idée.Construire des directions(dk)deux à deuxA-orthogonales ; ainsi,rk+1sera orthogonal à Vect(d0, . . . ,dk).
Gabriel LEPETIT 1 ENS Rennes - Université Rennes 1
Notations. Pour x,y ∈Rn, on note x ⊥ y lorsque x et y sont orthogonaux pour le produit scalaire euclidien et x ⊥A y lorsque x et y sont orthogonaux pour le produit scalaire donné parA. On étend naturellement cette notation à des sous-espaces de Rn.
On posed0=r0et pourk∈N, on construitdk+1comme l’orthogonalisé de Gram-Schmidt pour le produit scalaire donné par Ade rk+1 relativement à Vect(dk):
dk+1=rk+1−βkdk (6)
où
βk=〈rk+1,Adk〉
kdkk2A si dk6=0, βk=0 sinon. (7) Remarquons que si dk=0 alorsrk et dk−1 sont colinéaires et comme ils sont aussi orthogo- naux par (5), rk=0.
Lemme 3
Avec le choix(7), les directions(6) vérifient pour tout k ∈Nla propriété suivante : si r0, . . . ,rk ne sont pas nuls alors,
1 Vect(r0, . . . ,rk) =Vect(d0, . . . ,dk) 2 rk+1⊥Vect(d0, . . . ,dk)
3 dk+1⊥AVect(d0, . . . ,dk)
Démonstration.On procède par récurrence sur k∈N. Lorsque k=0, 1, 2 et 3 sont vrais grâce aux relationsr0=d0, (5) et (6) et bien sûrr06=0 sinon il n’y a rien à faire. Supposons donc le résultat vrai au rangk−1,k∈N∗.
1 Par (6), on a : dk=rk−βk−1dk−1.
2 Par (5), on a déjàrk+1⊥dket si j∈ {0, . . . ,k−1}, la relation (4) couplée à l’hypothèse de récurrence 2 et 3 donnerk+1⊥dj.
3 Par (6), on a déjàdk+1⊥Adk(c’est la définition) et si j∈ {0, . . . ,k−1}, la relation (6) couplée à l’hypothèse de récurrence 3 donne〈dk+1,Adj〉=〈rk+1,Adj〉.
Montrons queAdj ∈Vect(r0, . . . ,rk), ce qui conclura grâce aux relations 1 et 2 que l’on vient de prouver. Grâce à la relation (4) aveck= j, il suffit de montrer queαj 6=0. Or, αj =0⇐⇒ 〈(3) rj,dj〉=0⇐⇒(6) rj =0 puisque〈rj,rj〉=〈dj,rj〉+βj−1〈dj−1,rj〉=〈dj,rj〉 selon 2. Donc comme on a supposérj6=0, on aαj6=0.
Théorème 4
La méthode de gradient associée aux directions (6)avec le choix (7)converge vers la solution x du problèmeAx=ben au plus nitérations.
Démonstration.Les conditions 1 et 2 du lemme précédent assurent que tant que rl 6=0, la famille (r0, . . . ,rl) est une famille orthogonale donc libre. On est en dimension ndonc nécessairement l+1¶net sirl =0, xl est solution du système.
Méthode de gradient à pas optimal
On choisit pour direction la « plus grande pente » , c’est à diredk=−∇Φ(xk) =−Axk+ b=rk.
Gabriel LEPETIT 2 ENS Rennes - Université Rennes 1
Dans ce cas,dk 6=0 tant que la solution n’est pas atteinte. La convergence découle es- sentiellement de l’inégalité de Kantorovich :
Lemme 5 (Inégalité de Kantorovich)
En notant0< λ1≤. . .≤λn les valeurs propres deA, on a pour tout y ∈Rn, kyk4
kyk2Akyk2A−1
≥ 4λnλ1
(λn+λ1)2.
Démonstration.On va montrer l’inégalité équivalente :
∀y ∈Rn, kyk4≤1 4
v tλn
λ1
+ v tλ1
λn
2 .
On peut même supposer quekyk=1 et commencer par remarquer : 1=kyk2=〈y,AA−1y〉 ≤ kykAkA−1ykA=kykAkykA−1
Et dans une base orthonormale de vecteurs propres :
kykAkykA−1= v u t
n X
i=1
λiyi2
n X
i=1
1 λi
yi2
= v u tλ1
λn
n X
i=1
λi
λ1
yi2
n X
i=1
λn
λi
yi2
≤ 1 2
v tλ1
λn
n X
i=1
λi
λ1
yi2
+
n X
i=1
λn
λi
yi2
≤ 1 2
v tλ1
λn
n X
i=1
λi
λ1
+λn
λi
yi2
La fonction x 7→ x λ1
+λn
x admet un maximum enλ1 ou enλn et il vaut dans les deux cas : 1+λn
λ1
. Ainsi,
kykAkykA−1≤ 1 2
v tλ1
λn
n X
i=1
1+λn
λ1
yi2
≤1 2
v tλn
λ1
+ v tλ1
λn
, et le résultat suit en élevant au carré.
Et sachant que cond(A) =λn/λ1, on obtient le résultat suivant : Théorème 6
Avec les choix précédents etdk=rk, la suite(2)converge vers x avec : kxk+1−xkA≤λn−λ1
λn+λ1
kxk−xkA. Plus précisément,
kxk−xk ≤Æ
cond(A)cond(A)−1 cond(A) +1
k
kx0−xk.
Gabriel LEPETIT 3 ENS Rennes - Université Rennes 1
Démonstration.La première inégalité découle directement de l’inégalité de Kantorovich.
Pour la seconde, on remarque que pour tout y ∈Rn,λ1kyk2≤ kyk2A≤λnkyk2.
Avec la dernière inégalité, on voit que la convergence peut être lente lorsque la matrice est mal conditionnée.
Référence : Alfio QUARTERONI, Ricardo SACCO et Fausto SALERI (2007). Méthodes nu- mériques : Algorithmes, analyse et applications. Springer, pp. 138-145.
Merci à Antoine Diez pour ce développement.
Gabriel LEPETIT 4 ENS Rennes - Université Rennes 1