Partiel (L3) Méthodes Numériques : Optimisation
15/03/2019 D. Gontier,gontier@ceremade.dauphine.fr
Deux heures. Les documents et calculatrices ne sont pas autorisés.
Les exercices sont indépendants.
Exercice 1 : Méthode d’accélération d’Aitken
SoitΦ :R→Rde classeC2 telle queΦ(0) = 0, et0<Φ0(0)<1. Soitαtel que Φ0(0)< α <1.
a/ Montrer qu’il existeε >0 tel que, pour toutx∈(−ε, ε), on a|Φ0(x)|< α.
b/ Montrer que la suite définie par xn+1 = Φ(xn) avec x0 ∈ (−ε, ε) converge linéairement vers 0, à taux au moinsα.
c/ Montrer que0est l’unique point fixe deΦdans(−ε, ε).
On pose maintenant
Ψ(x) :=x− [Φ(x)−x]2 x−2Φ(x) + Φ(Φ(x)). d/ Dans le cas oùΦ(x) =αx, que vaut Ψ(x)?
e/ Dans le cas général, calculer le développement limité deΨà l’ordre1. Montrer queΨ(0) = 0etΨ0(0) = 0.
f/ On suppose Ψ de classe C2, et 0 < Ψ00(0) < 1. Montrer que la suite définie par xn+1 = Ψ(xn) avec x0
suffisamment proche de0converge quadratiquement vers 0.
Exercice 2 : Matrices à diagonale dominante, et méthode de Jacobi SoitA ∈ Sd(R)une matrice symétrique telle que l := min
1≤i≤d
aii−X
j6=i
|aij|
>0. Autrement dit, sur chaque ligne, le terme appartenant à la diagonale est plus grand que la somme des autres termes de la ligne (en valeur absolue). On noteA=D+R, avec
D=
a11 0 . . . 0 0 a22 . . . 0 ... ... . .. ... 0 0 . . . add
et R=A−D=
0 a12 . . . a1d
a21 0 . . . a2d
... ... . .. ... ad1 ad2 . . . 0
.
a/ Soit x∈Rd\ {0} tel que Ax =λx, et soit i∈argmax{|xj|,1 ≤j ≤d}. On suppose xi >0. Montrer que λ≥aii−P
j6=i|aij|. En déduire queA≥l.
b/ Montrer que la fonctionF(x) := 12xTAx−bTxa un unique minimumx∗, et calculer x∗. c/ Soit(xn)la suite définie par
xn+1=D−1(b−Rxn). (Itérations de Jacobi).
Montrer quekxn+1−x∗k∞≤ kD−1Rk∞,∞kxn−x∗k∞, où on a noté
∀x∈Rd, kxk∞:= max
1≤i≤d|xi| et ∀M ∈ Sd(R), kMk∞,∞:= max{kMxk∞,kxk∞= 1}.
d/ Montrer quekD−1Rk∞,∞< max
1≤i≤d
1 aii
X
j6=i
|aij|
.En déduire que la suite(xn)converge versx∗.
e/ Comparer la méthode de Jacobi avec la méthode du gradient à pas constant (avec pas optimal) dans le cas où
A=
2 1 0 0
1 2 0 0
0 0 10 1 0 0 1 10
.
Exercice 3 : Questions de code
a/ Chacun des codes suivants correspond à une multiplication matrice/vecteur, où x ∈ Rd est le vecteur.
Indiquer dans chaque cas de quelle matrice il s’agit. Par exemple,
1 d e f m u l t A 0( x ) : r e t u r n x
correspond à la matrice identité :A0=Id.
1 d e f m u l t A 1( x ) : r e t u r n b * x # Ici , b = a r r a y ( [ b_1 , b_2 , ... b_d ] )
1 d e f m u l t A 2( x ) :
2 y = z e r o s (l e n( x ) ) # len ( x ) r e n v o i e la t a i l l e du v e c t e u r x , d o n c ici l ’ e n t i e r d .
3 y [0] = s u m( x )
4 r e t u r n y
1 d e f m u l t A 3( x ) : r e t u r n x [ 0 ] * o n e s (l e n( x ) )
1 d e f m u l t A 4( x ) : r e t u r n r o l l ( x , 1) # r o l l ( x ,1) r e n v o i e le v e c t e u r [ x_d , x_1 , x_2 , ... , x_ { d - 1 } ]
1 d e f m u l t A 5( x ) :
2 y = z e r o s (l e n( x ) )
3 f o r i in r a n g e(l e n( x ) ) : 4 y [ i ] = s u m( x [ i :])
5 r e t u r n y
b/ Le code suivant comprend plusieurs erreurs. Écrivez un code corrigé.
1 d e f G r a d i e n t P a s C o n s t a n t( df , x0 , tau , tol =1 e -6 , N i t e r = 1 0 0 0 )
2 xn = x0
3 f o r n in l i n s p a c e ( N i t e r ) :
4 if df ( xn ) < tol :
5 r e t u r n xn
6 xn = xn + tau * df ( xn )
7 r e t u r n xn
Exercice 4 : Étude d’une suite
Soit(xn)la suite définie parx0= 1/2,x1= 1/16, puis xn+1=1
2x2nxn−1. a/ Montrer que la suite(xn)converge vers0.
b/ Montrer qu’il existeC >0tel que la suiteun:= log(Cxn)vérifie un+1= 2un+un−1.
c/ Montrer qu’il existeΦ>1 solution deΦn+1= 2Φn+ Φn−1 pour toutn∈N. d/ En déduire queun<−Φn pour tout n∈N(on donnelog(1/2)≈ −0.7et √
2≈1.4).
e/ Quelle est la vitesse de convergence de la suite(xn)initiale ?
2