Vous êtes sur la page 1sur 3

DÉVELOPPEMENTS POUR L’AGRÉGATION EXTERNE

Algorithme du gradient à pas optimal


Leçons : 232, 215, 219, 226, 229

[HU], exercice II.8


[X-ENS Al3], exercice 2.35
Théorème
1
Soient A ∈ Sn++ (R) et b ∈ Rn ; on veut minimiser f : x 7→ h Ax, x i + hb, x i, quand x parcourt Rn .
2
Il existe une unique solution à ceproblème, et elle est caractérisée par ∇ f ( x ) = 0.
x 0 ∈ Rn
De plus, l’algorithme défini par , où dk = −∇ f ( xk ) et où tk est l’unique
∀k ∈ N, xk+1 = xk + tk dk
réel minimisant la fonction t 7→ f ( xk + tdk ), converge vers x.

Démonstration :
1. Soit x un point minimal, alors nécessairement ∇ f ( x ) = 0.
1
Or, pour tous x, h ∈ Rn : f ( x + h) = h A( x + h), x + hi + hb, x + hi
2
1 1 1 1
= h Ax, x i + h Ah, x i + h Ax, hi + h Ah, hi + hb, x i + hb, hi
2 2 2 2
1
= f ( x ) + h Ax, hi + hb, hi + h Ah, hi (car A est symétrique)
2
= f ( x ) + h Ax + b, hi + o (khk)
De ce calcul, il vient notamment que f est différentiable 1 et que ∀ x ∈ Rn , ∇ f ( x ) = Ax + b.
Mais A étant symétrique définie positive, f est strictement convexe et on en déduit : x = − A−1 b.
Procédons alors au calcul de la valeur optimale :
1 1 1
f := f ( x ) = h−b, − A−1 bi + hb, − A−1 bi = h A−1 b, bi − h A−1 b, bi = − h A−1 b, bi
2 2 2
2. Soit k ∈ N ; on suppose que dk 6= 0, car sinon Axk = −b et alors l’algorithme a convergé en temps
fini, et on n’a plus rien à dire.
3. On va maintenant calculer tk .
1
Pour t ∈ R, on pose g(t) := f ( xk + tdk ) = f ( xk ) + h Axk + b, tdk i + h Atdk , tdk i.
| {z } 2
=−dk
t2
Et donc, g(t) = f ( xk ) − t kdk k2 + h Adk , dk i.
2
k d k k2
Ainsi 2 , g atteint son minimum en tk = (on rappelle que dk 6= 0, assurant que h Adk , dk i 6= 0,
h Adk , dk i
étant donné que A est symétrique définie positive).
4. Calculons l’erreur commise entre f ( xk ) et f .

k d k k4 1 k d k k4 1 k d k k4
f ( x k +1 ) = f ( x k + t k d k ) = f ( x k ) − + = f ( xk ) −
h Adk , dk i 2 h Adk , dk i 2 h Adk , dk i
 
  1 k d k4   1 kdk k 4
k
f ( x k +1 ) − f = f ( x k ) − f − = f ( x k ) − f 1 −  
2 h Adk , dk i 2 f ( xk ) − f h Ad k , dk i

Mais en fait, h A−1 dk , dk i = h A−1 ( Axk + b) , Axk + bi = h xk , Axk i + h xk , bi + h A−1 b, Axk i +h A−1 b, bi
| {z }
=hb,xk i
 
1  
=2 h Axk , xk i + hb, xk i − f = 2 f ( xk ) − f
2
1. En même temps, f est polynomiale, donc la différentiabilité était déjà évidente.
2. Je trouvais que le fait d’invoquer directement la formule bien connue des polynômes du 2nd degré était préférable à la
dérivation, car cela permet d’aller plus vite, ce qui n’est pas négligeable sur ce développement.

Florian L EMONNIER 1 ENS Rennes – Université Rennes 1


Diffusion à titre gratuit uniquement.
DÉVELOPPEMENTS POUR L’AGRÉGATION EXTERNE

!
  k d k k4
On en déduit alors que : f ( xk+1 ) − f = f ( xk ) − f 1− .
h A−1 dk , dk ih Adk , dk i

Lemme (Inégalité de Kantorovitch 3 )


Soit A ∈ Sn++ (R), dont λ1 et λn sont less plus petite
s et!grande valeurs propres.
1 λ1 λn
Alors ∀ x ∈ Rn , h Ax, x ih A−1 x, x i 6 + k x k4 . 4
4 λn λ1

Démonstration 
du lemme
 :
x1
En notant x =  ...  dans une base orthonormée de vecteurs propres de A 5 , on fait les calculs
 

xn
suivants :

n
!
n
!
n √ !2
n
!2
1 λi 2
h Ax, x ih A −1
x, x i = ∑ λi xi2 ∑ λi xi2 >
Cauchy-
∑ √ λ xi = ∑ xi2 >0
i =1 i =1 i =1 i i =1
Schwarz


1
Mais comme on sait 6 que ( a + b) :
ab 6
2
s v u n ! ! s
n n  
1
q
λ λ λn λ1 λi λn
1
∑ λ xi2
i
∑ λi xi2 ∑
u
h Ax, x ih A−1 x, x i = t 6 + xi2
λn i =1 1 i =1
2 λn i =1
λ1 λi

x λn √ √
λ1 λ n , λ n . 7
 
On peut montrer que α : x 7→ + est décroissante sur λ1 , λ1 λn et croissante sur
λ1 x
λn
Toujours est-il que α admet son maximum en λ1 ou en λn ; mais α (λ1 ) = α (λn ) = 1 + .
s s s ! λ1
1 λ1 n n
 
1
q
λn λ1 λn
− 1
D’où : h Ax, x ih A x, x i 6 ∑
2 λ n i =1
1+
λ1
xi2 =
2 λn
+ ∑ x2 .
λ 1 i =1 i
s s !2
−1 1 λ1 λn
Ce qui donne finalement, en élevant au carré : h Ax, x ih A x, x i 6 + k x k4 .
4 λn λ1

Utilisons l’inégalité de Kantorovitch :


 
!
  4    4c( A)
f ( x k +1 ) − f 6 f ( x k ) − f 1 −  2  = f ( x k ) − f 1−
 
( c ( A ) + 1)2
c( A) + √ 1
 p 
c( A)
   c ( A ) − 1 2
6 f ( xk ) − f
c( A) + 1
   c( A) − 1 2k
Et donc ∀k ∈ N, f ( xk ) − f 6 f ( x0 ) − f .
c( A) + 1

3. Dites juste que vous admettez l’inégalité de Kantorovitch et utilisez-la sans l’énoncer. Gardez un œil sur le chrono...
1
4. Comme A ∈ Sn++ (R), k Ak2 = ρ (t AA) = ρ( A) = λn (dites “décomposition polaire”) et aussi A−1 =
p
. Ainsi, on

2 λ1
λn
fait apparaître le conditionnement en norme 2 de A : cond2 ( A) = , qu’on notera par la suite (pour plus de simplicité) c( A).
λ1
5. Rappelez-vous le théorème spectral : toute matrice symétrique est diagonalisable dans une base orthonormée.
6. En fait, c’est une application toute bête des identités remarquables : comme ( a − b)2 > 0, on sait que a2 + b2 > 2ab. Ainsi,
 2
1 1 2  1
( a + b) = a + b2 + ab > ab.
2 4 2
7. On peut, mais là, j’ai la flemme.

Florian L EMONNIER 2 ENS Rennes – Université Rennes 1


Diffusion à titre gratuit uniquement.
DÉVELOPPEMENTS POUR L’AGRÉGATION EXTERNE

5. Pour finir, on va calculer l’erreur sur k xk − x k.


1 1
On a : k xk − x k2 6 h A ( xk − x ) , xk − x i = (h Axk , xk i − h Axk , x i − h Ax, xk i + h Ax, x i)
8 λ 1 λ 1

1   1  
= h Axk , xk i − 2h xk , Ax i − 2 f = 2 f ( xk ) − 2 f
λ1 λ1
2  
= f (x ) − f
λ1 s k s
2
q
2    c( A) − 1 k
En fin de compte, k xk − x k 6 f ( xk ) − f 6 f ( x0 ) − f .
λ1 λ1 c( A) + 1

c( A) − 1 9
< 1, on en déduit que la suite ( xk )
Comme
c( A) + 1 k ∈N converge vers x.

Références
[HU] J.-B. H IRIART-U RRUTY – Optimisation et analyse convexe, EDP Sciences, 2009.
[X-ENS Al3] S. F RANCINOU, H. G IANELLA et S. N ICOLAS – Oraux X-ENS Algèbre 3, 2e éd., Cassini, 2013.

8. Vous souvenez-vous du quotient de Rayleigh ?


9. Ouf !

Florian L EMONNIER 3 ENS Rennes – Université Rennes 1


Diffusion à titre gratuit uniquement.

Vous aimerez peut-être aussi