Vous êtes sur la page 1sur 4

Deux méthodes de gradient

Leçons : 158, 162, 219, 226, 233 (gradient conjugué)

On considère A ∈ Sn++ (R).


Proposition 1
La résolution de Ax = b équivaut à trouver le point qui minimise la fonctionnelle :

1 T
Φ( y) = y Ay − y T b.
2

Démonstration. Il est facile de voir que

1
∇Φ( y) = (AT + A) y − b = Ay − b. (1)
2
Et si x est solution du système linéaire, alors Φ( y) = Φ(x + ( y − x)) = Φ(x) + 12 ( y −
1
x) T A( y − x) i.e k y − xk2A = Φ( y) − Φ(x), où kzk2A = z T Az est la norme associée à A que l’on
2
utilisera toujours par la suite.

Définition 2
Une méthode de gradient consiste à partir d’un point x 0 ∈ Rn et à construire la suite

x k+1 = x k + αk dk (2)
où dk ∈ Rn est une direction à choisir et αk ∈ R.

Une idée naturelle est de choisir αk de sorte à optimiser Φ(x k+1 ) dans la direction dk ,
d
c’est à dire tel que Φ(x k + αk dk ) = −dkT rk + αk dkT Adk = 0, où −rk := ∇Φ(x k ) = Ax k − b.
dαk
On trouve :

〈dk , rk 〉
αk = (3)
kdk k2A
(c’est bien défini lorsque dk 6= 0 car A ∈ Sn++ (R)).

Méthode de gradient conjugué


Remarquons que pour tout k ∈ N :

rk+1 = rk − αk Adk (4)


et αk est choisi de sorte à ce que

〈rk+1 , dk 〉 = 0. (5)
Idée. Construire des directions (dk ) deux à deux A-orthogonales ; ainsi, rk+1 sera 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é
par A. On étend naturellement cette notation à des sous-espaces de Rn .
On pose d0 = r0 et pour k ∈ N, on construit dk+1 comme l’orthogonalisé de Gram-Schmidt
pour le produit scalaire donné par A de rk+1 relativement à Vect(dk ) :
dk+1 = rk+1 − βk dk (6)

〈rk+1 , Adk 〉
βk = si dk 6= 0, βk = 0 sinon. (7)
kdk k2A
Remarquons que si dk = 0 alors rk 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 ∈ N la 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 ⊥A Vect(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 relations r0 = d0 , (5) et (6) et bien sûr r0 6= 0 sinon il n’y a rien à faire. Supposons
donc le résultat vrai au rang k − 1, k ∈ N∗ .
1 Par (6), on a : dk = rk − βk−1 dk−1 .
2 Par (5), on a déjà rk+1 ⊥ dk et si j ∈ {0, . . . , k −1}, la relation (4) couplée à l’hypothèse
de récurrence 2 et 3 donne rk+1 ⊥ d j .
3 Par (6), on a déjà dk+1 ⊥A dk (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 , Ad j 〉 = 〈rk+1 , Ad j 〉.
Montrons que Ad j ∈ Vect(r0 , . . . , rk ), ce qui conclura grâce aux relations 1 et 2 que l’on
vient de prouver. Grâce à la relation (4) avec k = j, il suffit de montrer que α j 6= 0. Or,
(3) (6)
α j = 0 ⇐⇒ 〈r j , d j 〉 = 0 ⇐⇒ r j = 0 puisque 〈r j , r j 〉 = 〈d j , r j 〉 + β j−1 〈d j−1 , r j 〉 = 〈d j , r j 〉
selon 2. Donc comme on a supposé r j 6= 0, on a α j 6= 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ème Ax = b en au plus n ité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 n donc
nécessairement l + 1 ¶ n et si rl = 0, x l est solution du système.

Méthode de gradient à pas optimal


On choisit pour direction la « plus grande pente » , c’est à dire dk = −∇Φ(x k ) = −Ax k +
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 notant 0 < λ1 ≤ . . . ≤ λn les valeurs propres de A, on a pour tout y ∈ Rn ,

k yk4 4λn λ1
≥ .
2 2
k ykAk ykA−1 (λn + λ1 )2

Démonstration. On va montrer l’inégalité équivalente :


v v 2
1 tλ tλ
n 1
∀ y ∈ Rn , k yk4 ≤ + .
4 λ1 λn
On peut même supposer que k yk = 1 et commencer par remarquer :

1 = k yk2 = 〈 y, AA−1 y〉 ≤ k ykAkA−1 ykA = k ykAk ykA−1


Et dans une base orthonormale de vecteurs propres :

v‚ Œ‚ Œ v
n n u ‚X n
Œ‚ n Œ
1 λ λ Xλ
u X X
1 i n
= λi yi2 yi2 = yi2 yi2
t t
k ykAk ykA−1
i=1 i=1
λ i λ n i=1
λ 1 i=1
λ i
v ‚‚ n Œ ‚ n ŒŒ
1 t λ1 X λi 2 X λn 2
≤ yi + y
2 λn i=1
λ1 i=1
λi i
v ‚ n  ‹ Œ
1 t λ1 X λ i λ n
≤ + yi2
2 λn i=1 λ1 λi

x λn
La fonction x 7→ + admet un maximum en λ1 ou en λn et il vaut dans les deux
λ1 x
λn
cas : 1 + . Ainsi,
λ1
v ‚ n  ‹ Œ v v 
1 t λ1 X λn 1 t λ n t λ1
k ykAk ykA−1 ≤ 1+ 2
yi ≤ + ,
2 λn i=1 λ1 2 λ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 et dk = rk , la suite (2) converge vers x avec :

λ n − λ1
kx k+1 − xkA ≤ kx k − xkA.
λ n + λ1
Plus précisément,
‹k
cond(A) − 1
Æ 
kx k − xk ≤ cond(A) kx 0 − xk.
cond(A) + 1

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 , λ1 k yk2 ≤ k yk2A ≤ λn k yk2 .

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

Vous aimerez peut-être aussi