Académique Documents
Professionnel Documents
Culture Documents
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.
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)
et d'autre part, 0 ≤ kA hk2 ≤ |||A||| khk2 donc kA hk22 = o(khk2 ) par comparaison
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
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
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
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
(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
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.
(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)
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
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
a ei + kxk22 ei − xi x
Hess g(x) · ei = p
( kxk22 + a)3
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
∇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.
J 0 (x0 ; d) < 0
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.
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.
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
(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
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
X X
donc dH(In ) · K = ki,j d(det)In · Ei,j = ki,j δi,j = trK
i,j i,j
(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.
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
+∞
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
lim kxk+1 − x∗ k2 = 0
k→+∞
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
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
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
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
H(A−1 ) = A−1
D'autre part,
Ainsi, DH(A−1 ) = 0
1 1
Par récurrence, |||Xk − A−1 ||| ≤ |||X0 − A−1 ||| ≤ k ε
2k 2
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