Vous êtes sur la page 1sur 9

4ma066 : Optimisation numérique et science des données 20212022

Corrigé n◦1 : Calcul diérentiel

Exercice 1  Gradient et matrice hessienne Les fonctions f , g et k admettent des dérivées partielles conti-
nues, elles sont donc diérentiables (et même C 1 ). De même, les dérivées partielles admettent des dérivées partielles
continues, donc les fonctions sont de classe C 2 et la matrice hessienne est bien dénie.

Attention : l'existence de dérivées partielles ne sut pas (cf. Exercice 3).

4 x3 + 4 ey 12 x2 4 ey
   
(a) ∀ (x, y) ∈ R , ∇f (x, y) =
2
et Hess f (x, y) =
4 x ey 4 e y 4 x ey
ln x + y 2 + 1
   
1/x 2 y
(b) ∀ (x, y) ∈ R × R, ∇g(x, y) =
+∗
et Hess g(x, y) =
2xy 2y 2x
 x−y  x−y
− ex−y sin z ex−y cos z
 
e sin z e sin z
(c) ∀ (x, y, z) ∈ R3 , ∇k(x, y, z) = − ex−y sin z  et Hess k(x, y, z) = − ex−y sin z ex−y sin z − ex−y cos z 
ex−y cos z ex−y cos z − ex−y cos z − ex−y sin z

Exercice 2  Composition par un opérateur linéaire Diérentiabilité : les fonctions f et g sont des fonctions
polynomiales en les coordonnées de x (ou de x et y le cas échéant).
(a) Soit (x, h) ∈ (Rn )2 . On a
1 1 1
f (x + h) = kA x + A hk22 = kA xk22 +hA x, A hi + kA hk22
2 2
| {z } 2
=f (x)

On a d'une part hA x, A hi = hA> A x, hi linéaire en h

et d'autre part, 0 ≤ kA hk2 ≤ |||A||| khk2 donc kA hk22 = o(khk2 ) par comparaison

donc ∀ x ∈ Rn , ∇f (x) = A> A x

Soit A ∈ Mm,n (R) une matrice. On dénit

kA xk2
|||A||| = sup
x∈Rn \{0} kxk2

On peut montrer que cette quantité est nie ; on l'appelle norme d'opérateur de A, subordonnée à la norme
euclidienne. On a alors pour tout x 6= 0

kA xk2 kA yk2
kA xk2 = kxk2 ≤ sup kxk2 = |||A||| kxk2
kxk2 y∈R \{0} kyk2
n

Puisque kA xk2 = kxk2 = 0 lorsque x = 0, on a

∀ x ∈ Rn , kA xk2 ≤ |||A||| kxk2

On peut également montrer que

|||A A> ||| = |||A> A||| = |||A|||2 = |||A> |||2

(b) Soit (x, y), (y, k) ∈ Rn × Rm . On a


g(x + h, y + k) = hA x + A h, y + ki = hA x, yi +hA h, yi + hA x, ki + hA h, ki
| {z }
=g(x,y)

On a d'une part hA h, yi + hA x, ki = hh, A> yi + hA x, ki linéaire en (h, k)

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

et d'autre part 0 ≤ |hA h, ki| ≤ kA hk2 kkk2 ≤ |||A||| khk2 kkk2 (inégalité de CauchySchwarz)
On remarque que khk2 kkk2 ≤ (khk22 + kkk22 )/2 = k(h, k)k22 /2, donc hA h, ki = o(k(h, k)k2 ),
 > 
A y
donc ∀ (x, y) ∈ Rn × Rm , ∇g(x, y) =
Ax

(c) Soit (x, h) ∈ (Rn )2 . On a


1 1 1 1 1
k(x + h) = hA (x + h), x + hi − hb, x + hi = hA x, xi − hb, xi + hA x, hi + hA h, xi − hb, hi + hA h, hi
2 |2 {z } |2 2 {z } |2 {z }
=k(x) = 12 h(A+A> ) x−2b,hi =o(khk2 )

1
Puisque h(A + A> ) x − 2 b, hi est linéaire en h
2

1
on en déduit que ∀ x ∈ Rn , ∇k(x) = (A + A> ) x − b
2

Il est essentiel dans ce cours de maîtriser le calcul des gradients (éventuellement des matrices hessiennes) car
ces objets interviennent directement dans la conception des algorithmes d'optimisation étudiés (par exemple :
méthodes du gradient, méthode de Newton).

Exercice 3  Dérivées partielles versus gradient On considère la fonction dénie pour tout (x, y, z) ∈ R3 par
(x y
si z 6= 0
f (x, y, z) = z
0 sinon
On pose a = (1, 1, 1).
(a) Soit (x0 , y0 ) ∈ R2 . Distinguons deux cas : si y0 = 0, alors la fonction
x 7→ f (x, y0 ) = 0

est constante donc est dérivable ; sa dérivée en x0 vaut :


∂f
(x0 , y0 ) = 0
∂x

x y0
Si y0 6= 0, alors la fonction x 7→ f (x, y0 ) =
x2 + y02

∂f y0 (y02 − x20 )
est dérivable sur R, de dérivée en x0 (x0 , y0 ) =
∂x (x20 + y02 )2
Par symétrie des rôles de x et y dans la dénition de f , on démontre de même que
2 2
 x0 (x0 − y0 ) si x 6= 0

∂f 2 2 0
(x0 , y0 ) = (x + y0 )2
∂y  0
0 sinon

Ainsi, f admet des dérivées partielles en tout point de R2 .

(b) Si la fonction f était diérentiable sur R2 , alors elle y serait continue. Or, nous avons
1/n2
    
1 1 1 1
lim f , = lim = 1/2 6= f lim , = f (0, 0) = 0
n→+∞ n n n→+∞ 2/n2 n→+∞ n n

f n'est pas diérentiable sur R2 .

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

Ce contre-exemple est important pour comprendre qu'il ne sut pas de calculer les dérivées partielles d'une
fonction (et donc, son gradient) pour assurer qu'elle est diérentiable.

Exercice 4  Fonctions régulières

(a) D'après l'Exercice 2, on a ∀ x ∈ Rn , ∇f (x) = M > M x


Le gradient est linéaire ; donc, puisque

∀ x ∈ Rn , kM > M xk2 ≤ |||M > M ||| kxk2 ≤ |||M |||2 kxk2

Il s'ensuit que ∇f est lipschitzien, de constante de Lipschitz |||M |||2 .

(b) Soit x, h ∈ Rn . On a
s
2 hx, hi + khk22
q q q
g(x + h) = kx + hk22 + a = kxk22 + a + 2 hx, hi + khk22 = kxk22 + a × 1 +
| {z } kxk22 + a
=g(x)

Un développement limité en 0 assure que


s
2 hx, hi + khk22 1 2 hx, hi + khk22 hx, hi
1+ 2 = 1 + 2 + o(khk2 ) = 1 + + o(khk2 )
kxk2 + a 2 kxk2 + a kxk22 + a

Il s'ensuit que
  * +
hx, hi hx, hi x
g(x + h) = g(x) × 1 + + o(khk2 ) = g(x) + p + o(khk2 ) = g(x) + p , h + o(khk2 )
kxk22 + a kxk22 + a kxk22 + a

On en déduit que g est diérentiable, de gradient


x x
∀ x ∈ Rn , ∇g(x) = p =
kxk22 + a g(x)

En diérentiant le gradient, on obtient que


x+h 1 1
∇g(x + h) = = (x + h) × ×
g(x) + h∇g(x), hi + o(khk2 ) g(x) h∇g(x), hi
1+ + o(khk2 )
g(x)

Un nouveau développement limité permet d'obtenir

1 h∇g(x), hi hx, hi
=1− + o(khk2 ) = 1 − + o(khk2 )
h∇g(x), hi g(x) (g(x))2
1+ + o(khk2 )
g(x)

Par conséquent,
 
1 hx, hi x hx, hi x h
∇g(x + h) = (x + h) × × 1− 2
+ o(khk2 ) = − 3
+ +o(khk2 )
g(x) (g(x)) g(x) (g(x)) g(x)
| {z } | {z }
=∇g(x) linéaire en h

hx, hi x h (kxk22 + a) h − hx, hi x


de sorte que ∀ x ∈ Rn Hess g(x) · h = − p + p = p
( kxk22 + a)3 kxk22 + a ( kxk22 + a)3
Soit i ∈ [[ 1 ; n ]]. En notant ei le i-ème vecteur de la base canonique de Rn , on obtient que

a ei + kxk22 ei − xi x
Hess g(x) · ei = p
( kxk22 + a)3

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

On en déduit que
( )
∂2g a + kxk22 − x2i kxk2 + a
 
1 1
max (x) = max p ≤ p 22 =p ≤√
1≤i,j≤n ∂xi ∂xj 1≤i,j≤n ( kxk22 + a)3 ( kxk2 + a) 3 2
kxk2 + a a

Ainsi, la norme de Fröbenius de Hess g(x) est majorée, et par équivalence des normes, |||Hess g(x)||| l'est également ;
l'inégalité des accroissements nis assure alors que

∀ x, x0 ∈ Rn , k∇g(x) − ∇g(x0 )k22 ≤ |||Hess g(x)||| kx − x0 k2 ≤ C kx − x0 k2

∇g est lipschitzien.

Il est possible d'utiliser l'inégalité des accroissements nis pour obtenir une constante de Lipschitz explicite.

Lorsque n = 1, les calculs précédents montrent que L = 1/ a est la constante de Lipschitz de g 0 .

Les fonctions régulières, c'est-à-dire de gradient lipschitzien, jouent un rôle important dans les algorithmes de
type méthodes de gradient (et leurs dérivées : gradient projeté, forward-backward splitting...). De nombreuses
preuves de convergence nécessitent en eet que les fonctions en jeu soient régulières, et la convergence est alors
en général assurée pour des paramètres faisant intervenir une constante de Lipschitz du gradient (en général,
le pas de temps et / ou la vitesse de convergence décroissent avec cette valeur). C'est la raison pour laquelle il
est essentiel d'être capable de donner la plus petite constante de Lipschitz possible.

Exercice 5  Directions de descente Soit D ⊂ Rn et J : D → R une fonction. Soit x0 ∈ D et d ∈ Rn tel que la


dérivée directionnelle J 0 (x0 ; d) existe. On dit que d est une direction de descente pour J au point x0 si

J 0 (x0 ; d) < 0

(a) Par dénition de la dérivée directionnelle, on a


J(x0 + t d) − J(x0 )
lim <0
t→0 t
Autrement dit, il existe α > 0 tel que

J(x0 + t d) − J(x0 )
∀t ∈ ]0;α], <0
t
Il sut alors de multiplier l'inégalité par t > 0 pour obtenir le résultat désiré.
La réciproque est fausse : considérons la fonction J = −k · k22 et x0 = 0. On a bien J(x0 + t d) < J(x0 ) pour
tout t > 0 et tout d ∈ Rn , mais J 0 (x0 ; d) = 0.
(b) Raisonnons par l'absurde. On suppose donc que J admet d comme direction de descente en x0 . Par dénition de d,
il existe α > 0 tel que
∀t ∈ ]0;α], J(x0 + t d) < J(x0 )
Cela implique notamment que le point x = x0 + α d/2 vérie J(x) < J(x0 ), ce qui contredit l'hypothèse initiale.

(c) Lorsque J est diérentiable, on a J 0 (x0 ; d) = h∇J(x0 ), di


Par conséquent,

d est une direction de descente pour J en x0 si et seulement si h∇J(x0 ), di < 0.

Puisque J 0 (x0 ; −∇J(x0 )) = h∇J(x0 ), −∇J(x0 )i = −k∇J(x0 )k


qui est strictement négatif si et seulement si ∇J(x0 ) 6= 0.

d = −∇J(x0 ) est une direction de descente pour J en x0 si et seulement si ∇J(x0 ) 6= 0.

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

Cette propriété permet d'interpréter les méthodes de gradient comme des méthodes de descente.

(d) Puisque HessJ(x0 ) est dénie positive, elle est diagonalisable. Notons λmax la plus grande valeur propre (positive)
de HessJ(x0 ). On a alors
k∇J(x0 )k2
h∇J(x0 ), −(HessJ(x0 ))−1 ∇J(x)i ≤ − <0
λmax
ce qui assure que d est bien une direction de descente pour J d'après la question (c).

Cette propriété permet d'interpréter la méthode de Newton pour l'optimisation comme une méthode de
descente.

? Exercice 6  Espace de matrices

En dimension nie, toutes les normes sont équivalentes. On peut choisir la norme matricielle (de Frobenius),
dénie par
v
um X
n
uX
p p
∀ A = (ai,j )1≤i≤m ∈ Mm,n (R), kAkF = t a2i,j = tr(A> A) = tr(A A> )
1≤j≤n
i=1 j=1

Elle est sous-multiplicative : kA BkF ≤ kAkF kBkF . On pourrait également choisir la norme d'opérateur

kA xk
|||A||| = sup
x6=0 kxk

qui est également sous-multiplicative.

(a) On a F (A + H) = (A + H)2 = A2 + A H + H A + H 2

H2 H2
avec H 2 = kHkF et lim =0
kHkF H→0 kHkF

de sorte que ∀ (A, H) ∈ X 2 , dF (A) · H = A H + H A

Attention : on n'oublie pas que le produit matriciel n'est pas nécessairement commutatif, et donc en
général A H + H A 6= 2 A H .

+∞ +∞
Hi Hi
(b) Pour tout H ∈ X , on a
X X
exp(0 + H) = = In +H +
i=0
i! |{z}
i=2
i!
=exp(0)

+∞ +∞
X Hi X kHki
avec ≤ F
≤ kHk2F exp(kHkF )
i=2
i! i=2
i!
F

Ainsi, dG(0) = Id

(c) det A est un polynôme en les coecients de A, donc diérentiable. En particulier, dH(In ) existe : c'est une application
linéaire de X dans R. Pour la calculer, il sut de déterminer l'image de chaque élément d'une base de X . En notant
Ei,j ceux de la base canonique (Ei,j est la matrice ne comportant que des coecients nuls, sauf en (i, j) où le
coecient vaut 1), on a
(
det(In + t Ei,j ) − det In 1 si i = j
dH(In ) · Ei,j = lim = = δi,j
t→0 t 0 sinon

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

X X
donc dH(In ) · K = ki,j d(det)In · Ei,j = ki,j δi,j = trK
i,j i,j

Si A est inversible, alors


 
det(A + K) = det A det(In + A−1 K) = det A det In + dH(In ) · A−1 K + o(kA−1 KkF )

Comme kA−1 KkF ≤ kA−1 kF kKkF , on en déduit que


det(A + K) = det A + det A tr(A−1 K) + o(kKkF )
Si on note B la comatrice de A, alors on a également det A tr(A−1 K) = tr( tB K). On utilise alors la densité des
matrices inversibles dans X pour en déduire que, pour tout A ∈ X ,

∀ (A, K) ∈ X 2 , dH(A) · K = tr(B > K)

(d) Puisque |||A||| < 1, la série de terme général |||A|||k est convergente. Aussi, par sous-multiplicativité de la norme,
on a
∀A ∈ X, |||Ak ||| ≤ |||A|||k
de sorte que la série de terme général |||Ak ||| converge également. Il s'ensuit que la série de terme général Ak converge
aussi.

La série dénissant l'inverse de In + A est appelée série de Newmann.

Soit m ∈ N∗ . On remarque que


m−1
X m−1
X m−1
X n−1
X
(In − A) Ak = Ak (In − A) = Ak − Ak+1 = In − Am
k=0 k=0 k=0 k=0

Ainsi, puisque la suite des Am converge vers 0, on obtient en passant à la limite dans les égalités précédentes que
+∞
X +∞
X
k
(In − A) A = Ak (In − A) = In
k=0 k=0

+∞
X
Autrement dit, (In − A)−1 = Ak
k=0

Soit A ∈ Y une matrice inversible. Remarquons que, pour tout K ∈ X , on a


A + K = A (In + A−1 K)
Lorsque K est susamment proche de 0 (plus précisément, lorsque |||K||| < 1/|||A−1 |||, donc si |||A−1 K||| < 1), on
a montré plus haut que la matrice In + A−1 K est inversible et on a
+∞
X +∞
X
J(A + K) = (In + A−1 K)−1 A−1 = (A−1 K)k A−1 = |{z}
A−1 + A −1
| KA
−1
{z } + (A−1 K)k A−1
k=0 =J(A) linéaire et continue en K k=2

+∞
X +∞
X
Or, puisque (A−1 K)k A−1 = (A−1 K)2 (A−1 K)k A−1 = (A−1 K)2 (In − A−1 K)−1 A−1
k=2 k=0

+∞
X
et que (A−1 K)k A−1 ≤ |||A−1 |||2 × |||K|||2 × |||(In − A−1 K)−1 A−1 |||
k=2

avec |||A −1
||| × |||(In − A−1 K)−1 A−1 ||| tendant vers |||A−1 |||3 lorsque K tend vers 0, on en déduit que
2

+∞
X
(A−1 K)k A−1 = o(|||K|||)
k=2

Il s'ensuit nalement que J est diérentiable en tout A ∈ Y , et que

∀ (A, K) ∈ Y × X , dJ(A) K = −A−1 K A−1

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

? Exercice 7  Méthode de Newton pour la recherche d'un zéro


(a) Les points xes de H sont, par dénition, les points x ∈ Rn tels que H(x) = x, c'est-à-dire tels que
x − (JG(x))−1 (G(x)) = x soit (JG(x))−1 (G(x)) = 0 soit G(x) = 0

Les points xes de H sont les zéros de G.

(b) D'après la question précédente,


∀ k ∈ N, kxk+1 − x∗ k2 = kH(xk ) − H(x∗ )k2 ≤ L kxk − x∗ k2

Il s'ensuit que ∀ k ∈ N, kxk+1 − x∗ k2 ≤ Lk+1 kx0 − x∗ k2


Puisque 0 < L < 1, la suite (Lk )k∈N converge vers 0 et par comparaison

lim kxk+1 − x∗ k2 = 0
k→+∞

Autrement dit, (xk )k∈N tend vers x∗ .

Les calculs précédents étant valables pour tout zéro de G, et la limite de la suite des xk étant unique, il
s'ensuit que l'hypothèse  H est contractante implique nécessairement que G ne possède qu'un seul zéro x∗ .

(c) Exemple 1 : calcul d'une racine carrée. Source : d'après Petit guide de calcul diérentiel à l'usage de la licence
et de l'agrégation, François Rouvière.
√ √
(i) La fonction G est polynomiale, donc de classe C 2 ; elle admet deux racines a et − a, la première étant
strictement positive et la seconde strictement négative.

x∗a = a

Si a < 1, alors a < x∗a < 1 ; si a ≥ 1, alors 1 ≥ x∗a < a, si bien que

∀ a > 0, x∗a < 2 max{1, a} = M

1
De même ∀ a > 0, x∗a > min{1, a} = m
2
(ii) Soit x ∈ [ m ; M ]. On a
G(x) G(x) − G(x∗a ) G(x∗a ) − G(x) − G0 (x) (x∗a − x)
H(x) − x∗a = x − x∗a − = x − x ∗
a − =
G0 (x) G0 (x) G0 (x)

La formule de Taylor à l'ordre 2 assure qu'il existe t entre x et x∗a tel que
1 00
G(x∗a ) − G(x) − G0 (x) (x∗a − x) = G (t) (x − x∗a )2
2

1 G00 (t)
Par conséquent, Il existe t entre x et x∗a tel que H(x) − x∗a = (x − x∗a )2
2 G0 (x)

G00 (t) 2 1 1
Puisque = = ≤
G0 (x) 2x x m

1
on obtient C=
2m

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

(iii) Soit 0 < ε. Si |x − x∗a | ≤ ε, alors d'après la question précédente


|H(x) − x∗ | ≤ C ε2

1
Il sut de choisir ε tel que C ε2 < ε soit ε<
C
Ainsi, si |x0 − x∗a | ≤ ε, on montre d'abord par récurrence que |xk − x∗a | ≤ ε pour tout k ∈ N, puis que
k k
∀ k ∈ N, C |xk+1 − x∗a | ≤ C 2 |xk − x∗a |2 ≤ (C |x0 − x∗a |)2 ≤ (C ε)2

1 k
Par conséquent, ∀ k ∈ N, |xk+1 − x∗a | ≤ C ε )2
(|{z}
C
<1

En passant à la limite lorsque k tend vers +∞,



(xk )k∈N converge vers a.

Autrement dit, si l'on initialise susamment près de la racine carrée recherchée, la suite (xk )k∈N converge
vers cette racine. La convergence est dite d'ordre 2, ce qui en fait un algorithme à la convergence très
rapide permettant de donner une estimation très précise de la racine carrée d'un nombre donné. Le
seul inconvénient réside dans l'initialisation, qui dépend du point que l'on cherche à atteindre (donc
inconnu).

(d) Exemple 2 : inversion d'une matrice. Soit A ∈ Mp,p (R) une matrice inversible. On considère l'application G
dénie pour toute matrice inversible X ∈ Mp,p (R) par

G(X) = A − X −1

(i) Soit X ∈ Mp,p (R) inversible. D'après l'exercice 6, l'application G est diérentiable en X , de diérentielle
∀ K ∈ Mp,p (R), DG(X) K = X −1 KX −1

Ainsi, puisque JG(X)JG(X)−1 K = JG(X)−1 JG(X) K = K

il s'ensuit que DG(X)−1 K = XKX

et H(X) = X − JG(X)−1 G(X) = X − X (A − X −1 ) X = 2 X − X A X

L'application H est de classe C 1 car polynomiale en chaque coecient de X . On a d'une part

H(A−1 ) = A−1

D'autre part,

∀ K ∈ Mp,p (R), H(X + K) = 2 X − X A X + 2 K − X A K − K A X − K A K}


| {z
| {z } | {z }
= H(X) linéaire en K = o(|||K|||)

Ainsi, DH(A−1 ) = 0

(ii) Par continuité de la diérentielle,


Il existe une boule B centrée en A−1 telle que |||DH(X)||| < 1/2 pour tout X ∈ B .

Pauline Tan Sorbonne Université


4ma066 : Optimisation numérique et science des données 20212022

(iii) D'après la question précédente, il existe ε > 0 telle que


1
|||X − A−1 ||| ≤ ε =⇒ |||DH(X)||| <
2
Soit k ∈ N. On suppose que |||Xk − A−1 ||| ≤ ε. On a
1
|||Xk+1 − A−1 ||| = |||H(Xk ) − H(A−1 )||| ≤ sup |||DH(X)||| × |||Xk − A−1 ||| ≤ ε≤ε
X∈B 2

1 1
Par récurrence, |||Xk − A−1 ||| ≤ |||X0 − A−1 ||| ≤ k ε
2k 2

La suite (Xk )k∈N converge vers A−1 .

La méthode de Newton permet ici d'évaluer (de manière approchée) l'inverse d'une matrice. L'intérêt
principal de cette approche est d'eectuer cette tâche en ne réalisant que des produits matriciels, puisque
les Xk sont générés de manière récursive par

Xk+1 = 2 Xk − Xk A−1 Xk

Pauline Tan Sorbonne Université

Vous aimerez peut-être aussi