Partiel (L3) Méthodes Numériques : Optimisation.
9 mars 2020 D. Gontier, gontier@ceremade.dauphine.fr
Deux heures. Les documents et calculatrices ne sont pas autorisés.
1 page recto-verso.
Exercice 1. (Newton-Schultz pour des nombres)
Soit a > 0. On veut calculer 1/a sans effectuer de division. On pose f (x) :=
1x− a, et on définit la suite x
0= 1, x
n+1= x
n− f (x
n)
f
0(x
n) . a/ Montrer que x
n+1= x
n(2 − ax
n).
b/ On pose ε
n:= ax
n− 1. Montrer que ε
n+1= −ε
2n. c/ En déduire que pour tout n ≥ 1, ε
n= −ε
20n, puis que
∀n ≥ 1, x
n= 1
a − (1 − a)
2na .
d/ Montrer que si 0 < a < 2, alors (x
n) converge vers
a1. Quelle est la vitesse de convergence dans ce cas ? Pouvait-on s’attendre à une telle vitesse de convergence ?
e/ Que se passe-t-il si a = 2 ? Que se passe-t-il si a > 2 ?
a/ On a
x − f (x) f
0(x) = x −
1 x
− a
−
x12= x + x
21
x − a
= x + x − ax
2= x(2 − ax).
En remplaçant x par x
n, on obtient le résultat.
b/ En remarquant que ax
n= (ε
n+ 1), on obtient
ε
n+1= ax
n+1− 1 = ax
n(2 − ax
n) − 1 = (ε
n+ 1)(2 − (ε
n+ 1)) − 1 = (1 + ε
n)(1 − ε
n) − 1 = −ε
2n. c/ Par une récurrence immédiate, on a
ε
n= −ε
2n−1= − (−ε
n−2)
4= −ε
2n−22= · · · = −ε
20n. Comme on a ε
0= ax
0− 1 = a − 1, on obtient
x
n= 1
a (ε
n+ 1) = 1 a
−ε
20n+ 1
= 1 a
1 − (a − 1)
2n.
On remarquera que comme la puissance 2
nest toujours paire, le signe de a − 1 n’importe pas.
d/ Si 0 < a < 2, alors α := |a − 1| < 1, et on a
x
n− 1 a
= 1 a α
2n.
La convergence est donc quadratique. Ce n’est pas très étonnant, car c’est une méthode de type Newton.
e/ Si a = 2, on a x
1= 0, puis x
n= 0 tout le temps, et la suite converge vers 0 6=
12. Si a > 2, on |a − 1| > 1, et la suite diverge vers +∞.
Exercice 2. (Newton-Schultz pour des matrices)
Soit A ∈ M
d( R ) une matrice inversible (pas forcément symétrique). On veut calculer A
−1sans faire d’inversion.
On pose
M
0= I
d, M
n+1= M
n(2 I
d− AM
n) . a/ Montrer que pour tout n ≥ 0, M
ncommute avec A.
b/ Montrer par récurrence que
∀n ≥ 1, M
n= A
−1− A
−1( I
d− A)
2n.
c/ Montrer que si k I
d− Ak
op< 1, alors (M
n) convergence vers A
−1. Quelle est la vitesse de convergence ? d/ Que se passe-t-il si
A =
3 0 0 0 2 0 0 0 1
?
a/ Par récurrence, on voit que M
nest un polynôme de A, donc commute avec A. On peut aussi le montrer directement par récurrence. On a M
0= I
dqui commute avec A. Si pour un n ∈ N , on a M
nA = AM
n, alors
AM
n+1= AM
n(2 − AM
n) = M
nA(2 − AM
n) = M
n(2 − AM
n)A = M
n+1A.
b/ Pour n = 0, on a
A
−1− A
−1(1 − A)
20= A
−1− A
−1(1 − A) = I
d= M
0. Supposons que la formule soit vrai au rang n ∈ N . On a
M
n+1= M
n(2 − AM
n) =
A
−1− A
−1(1 − A)
2n(2 − 1 + (1 − A)
2n)
= A
−11 − (1 − A)
2n1 + (1 − A)
2n)
= A
−11 − (1 − A)
2n+1, ce qu’il fallait démontrer.
c/ On a
kM
n− A
−1k
op= kA
−1( I
d− A)
2nk
op≤ kA
−1k
op· k I
d− Ak
2opn. Donc si α := k I
d− Ak
op< 1, on a une convergence quadratique.
d/ Si A = diag(3, 2, 1), on a ( I
d− A)
2n= diag(2
2n, 1, 0). La première valeur propre diverge vers +∞, donc il n’y a pas de convergence.
Exercice 3. Vitesse de convergence du gradient à pas optimal Dans la suite, h·, i est le produit scalaire usuel de R
d, de norme associée k · k.
Soit A ∈ S
d++( R ) une matrice symétrique réelle définie positive, soit b ∈ R
d, et soit Q(x) :=
12x
TAx − b
Tx.
On cherche à résoudre le problème d’optimisation x
∗:= argmin
Q(x), x ∈ R
d.
On pose x
0= 0, puis, pour n ∈ N ,
r
n:= b − Ax
n, t
n:= argmin {Q(x
n+ tr
n), t ∈ R } et x
n+1= x
n+ t
nr
n. a/ (Vrai ou Faux, justifications non nécessaires).
a1/ Q admet un unique point critique.
a2/ x
∗:= A
−1b est un minimum local de Q.
a3/ On a r
n= ∇Q(x
n).
a4/ r
nest une direction de descente de Q en x
n.
b/ On s’intéresse au problème définissant t
n. Montrer que (on suppose r
n6= 0) Q(x
n+ tr
n) = t
22 hr
n, Ar
ni − tkr
nk
2+ Q(x
n), puis que t
n= kr
nk
2hr
n, Ar
ni . c/ Montrer que
r
n+1= r
n−
kr
nk
2hr
n, Ar
ni
Ar
n.
d/ Montrer que hr
n, r
n+1i = 0. Pouvait-on prévoir le résultat ?
On suppose maintenant d = 2 et que A est diagonale. On note
A =
λ
10 0 λ
2avec 0 < λ
1< λ
2, b = b
1b
2et on pose b
⊥:=
b
2−b
1, avec kbk 6= 0.
e/ Montrer que hb
⊥, bi = 0. En déduire que r
2nest colinéaire à b, et que r
2n+1est colinéaire à b
⊥. On note dans la suite r
2n= α
nb et r
2n+1= β
nb
⊥.
2
f/ Montrer la première égalité (on admettra l’autre) : t
2n= kbk
2hb, Abi et t
2n+1= kb
⊥k
2hb
⊥, Ab
⊥i g/ Montrer la première égalité (on admettra l’autre) :
β
n= −α
nhb
⊥, Abi
hb, Abi et α
n+1= −β
nhb
⊥, Abi hb
⊥, Ab
⊥i . Indice : On pourra utiliser la question c/ et prendre le produit scalaire avec b ou b
⊥.
h/ En déduire que
α
n= ρ
nα
0et β
n= ρ
nβ
0avec ρ := |hb
⊥, Abi|
2hb, Abihb
⊥, Ab
⊥i . i/ Montrer que 0 < ρ < 1. Indice : On pourra écrire que A = √
A √
A et utiliser l’inégalité de Cauchy-Schwarz.
)
j/ En déduire que la suite (Ax
n) converge vers b linéairement à taux au plus √ ρ.
a/ (a1) VRAI, ce point critique est un minimum.
(a2) VRAI, c’est même le minimum global de Q.
(a3) FAUX, c’est r
n= −∇Q(x
n).
(a4) VRAI, l’opposée du gradient est une direction de descente de Q.
b/ On a en développant Q(x
n+ tr
n) = 1
2 hx
n+ tr
n, A(x
n+ tr
n)i − hb, x
n+ tr
ni
= 1
2 hx
n, Ax
ni + thx
n, Ar
ni + t
22 hr
n, Ar
ni − hb
n, x
ni − thb, r
ni.
= t
22 hr
n, Ar
ni + thAx
n− b
| {z }
−rn
, r
ni + Q(x
n),
ce qui fallait démontrer. En tant que fonction de t, c’est une fonction quadratique. Elle atteint son minimum là où la dérivée s’annule. On a
∂
tQ(x
n+ tr
n) = thr
n, Ar
ni − kr
nk
2, qui ne s’annule qu’en
t
n= kr
nk
2hr
n, Ar
ni . c/ On a
r
n+1= b − Ax
n+1= b − A (x
n+ t
nr
n) = b − Ax
n− t
nAr
n= r
n− t
nAr
net en remplaçant l’expression de t
ntrouvé précédemment, on a
r
n+1= r
n− kr
nk
2hr
n, Ar
ni Ar
n.
d/ En prenant le produit scalaire avec r
n, on obtient
hr
n, r
n+1i = kr
nk
2− kr
nk
2hr
n, Ar
ni hr
n, Ar
ni = 0,
donc r
nest orthogonal à r
n+1. Ce n’est pas étonnant, car on a montré que le gradient à pas optimal, la direction de descente r
nétait orthonormale au gradient (et donc à r
n+1).
e/ On a en explicitant le produit scalaire,
hb
⊥, bi = b
2b
1− b
1b
2= 0.
En deux dimensions, comme r
net r
n+2sont perpendiculaires à r
n+1, les vecteur r
net r
n+2sont parallèles entre eux. Idem pour les vecteur r
n+1et r
n+3. Ainsi, tout les vecteurs r
navec n pair sont colinéaires à r
0= b, et
3
ceux avec des indices impaires sont orthogonaux à ces premiers, donc colinéaires à b
⊥. f/ D’après la question b/, on a
t
2n= kr
2nk
2hr
2n, Ar
2ni = α
2nkbk
2α
2nhb, Abi = kbk
2hb, Abi . L’autre égalité se montre de la même manière.
g/ On utilise maintenant la question c/. On a
β
nb
⊥= r
2n+1= r
2n− kr
2nk
2hr
2n, Ar
2ni Ar
2n= α
nb − kbk
2hb, Abi Aα
nb.
En prenant le produit scalaire avec b
⊥, et en utilisant le fait que hb, b
⊥i = 0, on obtient β
nkb
⊥k
2= −α
nkbk
2hb, Abi hb
⊥, Abi, et comme kbk
2= kb
⊥k
2= b
21+ b
22, on a
β
n= −α
nhb
⊥, Abi hb, Abi . La seconde égalité se montre de manière similaire.
h/ Par récurrence, on a
β
n+1= −α
n+1hb
⊥, Abi hb, Abi = β
nhb
⊥, Abi hb, Abi
hb
⊥, Abi
hb
⊥, Ab
⊥i = ρβ
n. Par récurrence, on en déduit que β
n= ρ
nβ
0, et de même pour la suite (α
n).
i/ On a, avec Cauchy-Schwarz,
|hb
⊥, Abi| = |h √ Ab
⊥, √
Abi| ≤ k √
Ab
⊥k · k √
Abk = hb
⊥, Ab
⊥ihb, Abi.
L’inégalité est stricte sauf si √
Ab est colinéaire à √
Ab
⊥. Cela voudrait dire qu’il existe µ ∈ R tel que √ Ab = µ √
Ab
⊥, ou encore, comme √
A est inversible, b = µb
⊥, ce qui est impossible car ce sont deux vecteurs non nuls orthogonaux.
j/ On a donc
kAx
2n− bk = kr
2nk = α
nkbk = ρ
nα
0kbk = C √ ρ
2n.
On a un résultat similaire pour les termes impairs. On en déduit qu’il existe C > 0 tel que kAx
n− bk ≤ C √
ρ
n. la suite Ax
n− b converge vers 0 linéairement à taux au plus √
ρ.
Exercice 4. Un peu de code
Le code suivant de dichotomie comporte des erreurs. Lesquelles ?
1 f u n c t i o n d i c h o t o m i e ( f , a , b , tol =1 e -6 , N i t e r = 1 0 0 0 ) :
2 # On s u p p o s e f ( a ) < 0 et f ( b ) > 0 et on c h e r c h e une s o l u t i o n de f ( x ) = 0
3 xm , xp = a , b
4 f o r n in r a n g e( N i t e r ) :
5 x = ( a + b ) /2
6 if f ( x ) = 0 :
7 r e t u r n x
8 if f ( x ) < 0 :
9 xp = x
10 e l s e :
11 xm = x