Examen (L3) Méthodes Numériques : Optimisation.
11 mai 2021 D. Gontier, [email protected]
Deux heures. Les documents et calculatrices ne sont pas autorisés.
1 page recto-verso.
On note S
d+( R ) et S
d++( R ) l’ensemble des matrices symétriques positives et définies positive respectivement.
On note aussi h·, ·i le produit scalaire canonique de R
d, et S
d−1= {u ∈ R
d, kuk = 1}.
Enfin, on rappelle le théorème de Cesàro, qui dit que si (u
n) converge vers `, alors v
n:=
1nP
n−1k=0
u
kconverge aussi vers `.
Exercice 1. Une fonction qui s’annule fortement...
Soit p un entier pair plus grand que 4. On pose F(x) = x
p. Soit 0 < α <
p2, on étudie la suite x
0= 1, x
n+1= x
n− αF
0(x
n).
a/ Quel est le minimum de F ? Est-ce que F a un unique minimiseur ?
b/ Montrer que la suite (|x
n|)
nest strictement décroissante. Quelle est la limite de la suite x
n? c/ On pose y
n= x
p−2n. Montrer que y
n+1= y
n(1 − αpy
n)
p−2, puis que
1 y
n+1− 1 y
nconverge vers αp(p − 2).
d/ Montrer que
1ny1n
converge vers αp(p − 2), puis que x
n∼ Cn
p−2−1, avec une constante C à expliciter.
e/ Quelle est la vitesse de convergence de la suite (x
n) ?
On regarde maintenant la suite de Newton , appelée (z
n) qui commence à z
0= 1.
f/ Montrer que
z
n= p − 2
p − 1
n. g/ Que se passe-t-il pour p = 2 ? Pouvait-on prédire le résultat ? h/ Quelle est la limite de (z
n) ? Quelle est la vitesse de convergence ?
a/ On a F (x) ≥ 0 = F(0), avec égalité ssi x = 0. Donc x = 0 est l’unique minimiseur de F sur R . Le minimum de F est 0.
b/ On a
x
n+1= x
n− αpx
p−1n= x
n1 − αpx
p−2n, et donc |x
n+1| = |x
n| · |1 − αpx
p−2n|.
On a |x
2| = |1 − αp| < 1 car 0 < α < 2/p. Par récurrence, on obtient |1 − αpx
p−2n| ≤ |1 − αp| < 1, et donc |x
n+1| < |x
n|. La suite |x
n| est décroissante, bornée inférieurement par 0, donc converge vers une limite 0 ≤ ` ≤ x
2< 1. On doit avoir
` = `(1 − αp`
p−2).
La seule solution de cette équation est ` = 0, donc x
nconverge vers 0.
c/ On a
x
p−2n+1= x
p−2n(1 − αpx
p−2n)
p−2, donc y
n+1= y
n(1 − αpy
n)
p−2, et 1 y
n+1= 1 y
n1 (1 − αpy
n)
p−2Comme y
ntend vers 0, on a aussi
(1 − αpy
n)
−(p−2)= 1 + (p − 2)αpy
n+ o(y
n), et donc
1 y
n+1= 1
y
n(1 + (p − 2)αpy
n+ o(y
n)) = 1
y
n+ αp(p − 2) + o(1).
ce qu’il fallait démontrer.
d/ On utilise le théorème de Cesaro pour la suite u
n:= (
y1n+1
−
y1n
). On a
1 n
n−1
X
k=0
u
k= αp(p − 2), avec
1 n
n−1
X
k=0
u
k= 1 n
n−1
X
k=0
1 y
k+1− 1
y
k= 1 n
1 y
n− 1
= 1
ny
n+ o(1).
On en déduit que
ny1n
= αp(p − 2). Ainsi,
1 nx
p−2n→ αp(p − 2), et enfin x
n∼ 1
np(p − 2)
p−21.
e/ C’est une convergence sous-linéaire : n
sconverge vers 0 plus lentement que α
n. f/ Avec Newton, on a
z
n+1= z
n− f
0(z
n)
f
00(z
n) = z
n− pz
np−1p(p − 1)z
np−2= z
n− 1
p − 1 z
n= z
n1 − 1
p − 1
= z
np − 2 p − 1
.
g/ On reconnaît une suite géométrique avec z
0= 1. On a directement z
n=
p − 2 p − 1
n.
h/ Comme 0 < p − 2 < p
1, le terme entre parenthèse est plus petit que 1. Donc z
n→ 0. C’est une vitesse linéaire à taux α =
p−2p−1.
Remarque : plus p est grand, plus α est proche de 1. Plus le minimum est dégénéré, plus la convergence est lente ! On est loin de la convergence quadratique de Newton en général.
Exercice 2. Minimisation non linéaire
Soit g : R → R une fonction C
∞( R , R ) convexe, telle que g
0(0) ≥ 0, et telle que lim
t→∞g(t) ≥ t.
Soit A ∈ S
d++( R ) une matrice définie positive, et b ∈ R
d. On considère la fonction F : R
d→ R définie par F (x) := g (hx, Axi) − hb, xi.
a/ Montrer que F est continue, et coercive.
b/ On rappelle que x 7→ hx, Axi est strictement convexe. Montrer que g est croissante sur R
+. En déduire que F a un unique minimiseur x
∗∈ R
d.
c/ Montrer que
2g
0(hx
∗, Ax
∗i) Ax
∗= b.
d/ Montrer qu’il existe λ ∈ R tel que x
∗= λA
−1b. Le nombre λ est le minimiseur de quelle problème ? e/ Application : Soit p ≥ 1. Calculer le minimiseur x
∗de
F
1(x) := hx, Axi
p− hb, xi.
f/ Dans le cas général, quel(s) algorithme(s) proposeriez-vous pour calculer x
∗numériquement ?
a/ F est continue comme composée de fonctions continues. Comme g(t) ≥ |t|, on a F (x) ≥ hx, Axi − hb, xi.
D’après le cours, le terme de droite est coercive, donc F aussi. En fait, on a, hx, Axi − hb, xi ≥ λ
1(A)kxk
2− kbk · kxk − −−− →
x→∞
+∞.
b/ Le fait que N (x) := hx, Axi est strictement convexe a été démontré en TD. On a donc 0 ≤ N (tx + (1 − t)y) ≤ tN (x) + (1 − t)N (y).
On a g
00≥ 0 car g est convexe. Donc g
0est croissante, et comme g
0(0) > 0, on a g
0(x) > 0 sur R
+, donc g est strictement croissante sur R
+. On peut alors composer l’inégalité précédente par g, et on a
g (N (tx + (1 − t)y)) ≤ g (tN (x) + (1 − t)N(y)) ≤ tg(N(x)) + (1 − t)g(N (y)),
2
où on a utilisé la convexité de g dans la dernière inégalité. On en déduit que F est convexe.
F est une fonction strictement convexe, continue et coercive, donc F admet un unique minimum d’après le cours.
c/ Soit x
∗le point critique de F . Comme x
∗est un point critique, il annule le gradient. On a (par exemple avec la règle de la chaîne) que
∇F (x) = g
0(hx, Axi)2Ax − b.
d/ Si g
0(hx
∗, Ax
∗i) = 0, alors b = 0, et x
∗= 0 est le minimum. Il suffit de prendre λ = 0 par exemple.
Sinon, g
0(hx
∗, Ax
∗i) 6= 0. En notant λ :=
2g0(hx,Axi)1, on a
Ax
∗= λb, et comme A est inversible, x
∗= λA
−1b.
Il ne reste plus qu’à trouver λ. Comme x
∗est le minimum de F sur tout R
d, λ est le minimum de G(λ) :=
F (λA
−1b), donc λ minimise
G(t) := g t
2hb, A
−1bi
− thb, A
−1bi.
e/ Si F
1(x) = hx, Axi
p− hp, xi, alors λ minimise G(t) = t
2hb, A
−1bi
p− thb, A
−1bi = t
2pΘ
p− tΘ, où on a noté Θ := hb, A
−1bi ∈ R . En dérivant, on obtient
G
0(λ) = 0 ssi (2p)λ
2p−1Θ
p− Θ ssi λ = 1
(2p)Θ
p−1 2p−11.
Le minimiseur est donc
x
∗=
1 (2p)hb, A
−1bi
2p−11A
−1b.
f/ Il faut calculer A
−1b. Pour cela, on peut utiliser le gradient conjugué. Ensuite, il faut trouver λ comme minimum d’un problème unidimensionnel. On peut utiliser la méthode de la section dorée, ou la méthode de la sécante.
Exercice 3. Approximation de matrices
Soit A ∈ S
d++( R ). Dans cet exercice, on cherche à résoudre argmin
kA − Bk
op, B ∈ S
d+( R ) de rang 1 .
On note A =
d
X
i=1
λ
i|u
iihu
i| la décomposition spectrale de A, avec (u
1, · · · , u
d) une base orthonormale de R
d, et λ
1≥ λ
2≥ · · · ≥ λ
d> 0 les valeurs propres de A dans l’ordre décroissant.
a/ On rappelle qu’une matrice B est de rang 1 ssi elle est de la forme B = |aihb| avec a, b ∈ R
d. a1/ Montrer que si B = |aihb|, alors B
T= |biha|.
a2/ Montrer que Im(B) ⊂ Vect(a). En déduire que B est symétrique ssi a et b sont colinéaires.
a3/ Montrer que B ∈ S
d+( R ) est de rang 1 ssi B est de la forme B = λ|uihu| avec λ > 0 et u ∈ S
d−1. b/ Soit B
1:= λ
1|u
1ihu
1|.
b1/ Montrer que B
1∈ S
d+( R ), et est de rang 1.
b2/ Montrer que kA − B
1k
op= λ
2.
c/ Soit B de rang 1 de la forme B = λ|uihu| avec λ > 0 et u ∈ S
d−1.
c1/ Pour θ ∈ R , on pose v
θ= cos(θ)u
1+ sin(θ)u
2. Montrer que v
θ∈ S
d−1.
c2/ Montrer qu’il existe θ ∈ R tel que hv
θ, ui = 0. Indice : on pourra calculer hv
θ, uihv
θ+π, ui...) c3/ Montrer que, pour cette valeur de θ, on a hv
θ, (A − B)v
θi ≥ λ
2.
d/ Montrer que B
1est un minimiseur du problème.
a1/ On a B = |aihb| = ab
T, et donc B
T= ba
T= |biha|.
a2/ Pour x ∈ R
d, on a Bx = a(hb, xi) ∈ Vect(a). Ceci étant vrai pour tout x, on a Im(B) ⊂ Vect(a). Si B = B
T, on a Im(B) = Im(B
T), et donc Vect(a) = Vect(b), et donc a et b sont colinéaires.
a3/ Soit u un vecteur normalisé tel que Vect(a) = Vect(b) = Vect(u). On a donc a = αu et b = β u pour un certain α, β ∈ R . En notant λ = αβ, on a
B = |aihb| = |αuihβu| = αβ|uihu| = λ|uihu|.
De plus, comme B ≥ 0, on a 0 ≤ hu, Bui = λkuk
4= λ, donc λ ≥ 0, et comme B n’est pas null, λ > 0.
3
b1/ C’est la question précédente.
b2/ On a
A − B
1=
d
X
i=2
λ
i|u
iihu
i| + 0|u
1ihu
1|.
C’est la décomposition spectrale de A − B
1. Les valeurs propres de A −B
1sont donc {λ
2≥ λ
3≥ · · · ≥ λ
d≥ 0}.
La plus grande valeur propre est λ
2, donc kA − B
1k
op= λ
2. c1/ On a, en développant
kv
θk
2= hcos(θ)u
1+ sin(θ)u
2, cos(θ)u
1+ sin(θ)u
2, i = cos(θ)
2ku
1k
2+ sin(θ)
2ku
2k + 2 cos(θ) sin(θ)hu
1, u
2i.
Comme (u
1, u
2) est orthonormale, on a ku
1k = ku
2k = 1 et hu
1, u
2i = 0. Donc kv
θk = cos
2(θ) + sin
2(θ) = 1, et v
θ∈ S
d−1.
c2/ Considérons la fonction g(θ) := hv
θ, ui. On a g(θ + π) = −g(θ). D’après le théorème des valeurs intermé- diaires, il existe θ tel que g(θ) = 0.
c3/ Comme hv
θ, ui = 0, on a hv
θ, Bv
θi = 0, puis
hv
θ, (A − B)vθi = hv
θ, Av
θ= cos
2(θ)λ
1+ sin
2(θ)λ
2≥ λ
2. d/ Ainsi, pour tout B, de rang 1, on a
kA − Bk
op= max{hv, (A − b)vi, v ∈ S
d−1} ≥ hv
θ, (A − B)v
θi ≥ λ
2, et l’égalité est atteinte pour B = B
1. Donc B
1est un minimiseur.
Exercice 4. Mon code a des bugs
On rappelle que les itérations du gradient conjugué, pour résoudre Ax = b, sont de la forme x
1= 0, r
1= p, p
1= b
α
n= kr
nk
2kp
nk
2A, x
n+1= x
n+ α
np
n, r
n+1= r
n− α
nAp
n, β
n= kr
n+1k
2kr
nk
2, p
n+1= r
n+1+ β
np
n. Voici un code qui implémente la méthode.
Code 1 – Algorithme du gradient conjugué.
1 d e f g r a d i e n t C o n j u g u e( A , b , tol =1 e -6) : 2 x0 , p0 , r0 = 0 , b , b # I n i t i a l i s a t i o n 3
4 f o r n in r a n g e( d ) :
5 if dot ( A , xn ) - b < tol :
6 r e t u r n xn
7 Apn = dot ( A , pn )
8 a l p h a n = dot ( rn , rn ) / dot ( pn , Apn ) 9 xn = xn + a l p h a n * pn
10 r n p 1 = rn - a l p h a n * Apn
11 b e t a n = dot ( rnp1 , r n p 1 ) / dot ( rn , rn ) 12 pn = r n p 1 + b e t a n * pn