• Aucun résultat trouvé

a/ (2 pt). L’ensemble K est un sous-espace vectoriel de R

N/A
N/A
Protected

Academic year: 2022

Partager "a/ (2 pt). L’ensemble K est un sous-espace vectoriel de R"

Copied!
3
0
0

Texte intégral

(1)

Correction de l’examen

25/05/2018 D. Gontier, gontier@ceremade.dauphine.fr

La barème suivant est sur 40 points.

Exercice 1 : Le gradient conjugué réduit. (16 pt)

a/ (2 pt). L’ensemble K est un sous-espace vectoriel de R

d

, donc est un fermé convexe, et Q est une fonction coercive strictement convexe sur K, donc admet un unique minimum.

b/ (1 pt). Par définition comme K := Im U , tout élément x ∈ K est de la forme x = U y avec y ∈ R

m

. c/ (2 pt). En paramétrisation x ∈ K par x = U y avec y ∈ R

m

, on a

Q(U y) = 1

2 (U y)

T

A(U y) − b

T

(U y).

De plus, on a (U y)

T

= y

T

U

T

et b

T

U = (U

T

b)

T

. Donc Q(Uy) = 1

2 y

T

(U

T

AU )y − (U

T

b)

T

y.

En minimisant sur y ∈ R

m

, on obtient (∗∗).

d/ (3 pt). La matrice M = U

T

U est de taille m ×m, et vérifie M

ij

= u

Ti

u

j

= hu

i

, u

k

i = δ

ij

car les vecteurs (u

i

) sont orthonormés. Donc M = I

m

.

On a (U

T

AU )

T

= U

T

A

T

U = U

T

AU car A est symétrique, donc la matrice U

T

AU est symétrique.

La matrice U

T

AU est de taille m × m, donc U

T

AU ∈ S

m

( R ).

Pour tout y ∈ R

m

, on a

hy, U

T

AU yi

Rm

= hU y, A(Uy)i

Rd

≥ λ

1

(A)kUyk

2Rd

≥ 0,

donc A

U

∈ S

m+

. De plus, si hy, U

T

AU yi = 0, cela implique que Uy = 0. En multipliant par U

T

à gauche, on obtient y = 0, et donc A

U

est injective. Au final, A

U

∈ S

m++

.

e/ (3 pt). Notons A

U

= U

T

AT et b

U

= U

T

b. Le problème (∗∗) est la minimisation de la forme quadratique Q

U

(y) :=

12

y

T

A

U

y − b

TU

y sur R

m

. La matrice A

U

est définie positive d’après la question précédente, donc Q

U

est coercive strictement convexe, et admet un unique minimum y

. En écrivant que ∇Q

U

(y

) = 0, on obtient A

U

y

= b

U

, puis y

= (A

U

)

−1

b

U

. Enfin, comme x

= Uy

d’après la question c/, on a x

= U (U

T

AU )

−1

U

T

b, comme souhaité.

f/ (2 pt). On peut utiliser le GC pour résoudre le problème (∗∗). Cela donne la solution y

en au plus m itérations (c’est donc très intéressant si m d). Cela donne les itérations suivantes.

On pose y

0

= 0

Rm

, p

0

= r

0

= b

U

, puis α

n

= r

Tn

A

U

r

n

p

Tn

A

U

p

n

, y

n+1

= y

n

+ α

n

p

n

, r

n+1

= r

n

− α

n

A

U

p

n

, β

n

= − r

Tn+1

r

n+1

r

Tn

r

n

, p

n+1

= r

n+1

+ β

n

p

n

. On pose à la fin des itérations x

= U y

.

g/ (2 pt). La projection sur K est définie par

∀b ∈ R

d

, P

K

(b) := argmin 1

2 kx − bk

2

, x ∈ K

.

On a

12

kx − bk

2

=

12

x

T

x − b

T

x +

12

b

T

b. Le terme

12

b

T

b est une constante de x, et ne joue pas de rôle dans la minimisation. On a donc aussi

∀b ∈ R

d

, P

K

(b) := argmin 1

2 x

T

x − b

T

x, x ∈ K

.

C’est un problème de type (∗) avec A = I

d

.

h/ (1 pt). D’après la question e/, la solution avec A = I

d

est P

K

(b) = U (U

T

U )

−1

U

T

b. Or U

T

U = I

m

,

donc P

K

(b) = U U

T

b. Ceci étant vrai pour tout b ∈ R

d

, on a P

K

= U U

T

.

(2)

Exercice 2 : Initialisation pour le critère de Wolfe. (11 pt)

a/ (3 pt). On a g(0) := lim

t→0

g(t) = h∇F (x), hi par définition de la dérivée directionnelle. De plus, comme h est une direction de descente en x, on a g(0) < 0. En particulier, g(0) < c

1

g(0), et par continuité de g, il existe ε > 0 tel que, pour tout t ∈ [0, ε], on a toujours g(t) < c

1

g(0).

b/

(i) (2 pt). L’algo1 construit une suite de type τ

n+1

= τ

n

/2 et s’arrête lorsque τ

n

vérifie le critère d’Armijo.

En particulier, il s’arrête dès que τ

n

< ε, ce qui généralement arrive (cela peut ne pas arriver si ε est plus petit que la précision machine...).

(ii) (1 pt). A la ligne 4, la fonction F est évaluée deux fois, et la fonction ∇F est évaluée une fois.

(iii) (1 pt). On remarque que les nombres F (x) et h∇F(x), hi sont évalués à chaque itération. On peut précalculer une fois pour toute ces nombres afin de diminuer le nombre d’appels à ces fonctions. Cela donne le code suivant :

1 d e f a l g o 1 m o d i f i e( F , nablaF , x , h , c1 , N i t e r = 1 0 0 ) : 2 tau = n o r m ( x ) / n o r m ( h )

3 Fx , g0 = F ( x ) , dot ( n a b l a F ( x ) , h ) 4 f o r n in r a n g e( N i t e r ) :

5 if F ( x + tau * h ) <= Fx + c1 * tau * g0 :

6 r e t u r n tau

7 tau = tau /2

c/ (3 pt). Comme F est bornée inférieurement, par un certain m ∈ R , on a g(t) ≥

m−F(x)t

→ 0 lorsque t → ∞. Ainsi, on a g(∞) ≥ 0, et en particulier, g(∞) > c

1

g(0). Par continuité, il existe A > 0 tel que pour tout t > A, on a encore g(t) > c

1

g(0).

d/ (1 pt). On peut construire modifier algo1 pour construire la suite T

n+1

= 2T

n

. A partir d’un certain rang, on doit avoir T

n

> A, et T := T

n

ne vérifie pas le critère d’Armijo. Cel donne l’algorithme suivant :

1 d e f a l g o 2( F , nablaF , x , h , c1 , N i t e r = 1 0 0 ) : 2 T = n o r m ( x ) / n o r m ( h )

3 Fx , g0 = F ( x ) , dot ( n a b l a F ( x ) , h ) 4 f o r n in r a n g e( N i t e r ) :

5 if F ( x + tau * h ) > Fx + c1 * tau * g0 :

6 r e t u r n T

7 T =2* T

Exercice 3 : Quasi-Newton pour matrices à diagonale dominante. (13 pt) a/ (1 pt). On trouve que les valeurs propres de A sont 2 et 7.

b/ (2 pt). La fonction Q est une forme quadratique. Elle est strictement convexe et coercive, donc admet un unique minimum x

∈ R

d

. On a ∇Q(x) = Ax, qui ne s’annule que pour x = (0, 0)

T

(car A est inversible).

De plus, on a H

Q

(x) = A (indépendant de x). On en déduit que x

= (0, 0)

T

. c/

(i) (1 pt). La suite (x

n

) est le gradient à pas constant τ > 0 pour la fonction quadratique Q(x) =

12

x

T

Ax.

D’après le cours, la méthode converge vers x

si et seulement si 0 < τ < 2/λ

d

(A), ce qui dans notre cas donne 0 < τ < 2/7.

(ii) (1 pt). Toujours d’après le cours, le pas optimal est τ

= 2/ [λ

1

(A) + λ

d

(A)], qui, dans notre cas, donne τ

= 2/(2 + 7) = 2/9. On a dans ce cas une convergence linéaire à taux |1 − τ

λ

1

(A)| = |1 − τ

λ

d

(A)| =

|1 − 4/9| = 5/9.

d/

(i) (1 pt). On a

x

0n+1

= I

2

√1

6

0

0

1

3

! A

√1

6

0

0

1

3

!!

x

0n

, donc B = I

2

√1

6

0

0

1

3

! A

√1

6

0

0

1

3

!

= − 0

2

2 18

√18

0

!

On remarquera que

2

18

=

√2 3

. (ii) (1 pt). On a

kx

0n+2

k

2

= hBx

0n

, Bx

0n

i = hx

0n

, B

2

x

0n

i, avec B

2

=

2

9

0 0

29

. Ainsi, on a kx

0n+1

k

2

=

29

kx

0n

k

2

, et en prenant la racine, kx

0n+1

k =

√2 3

kx

0n

k.

(iii) (1 pt). La méthode du gradient à pas constant donne une vitesse de convergence linéaire, à taux 5/9 > 0.5.

2

(3)

Avec la méthode (QN 1) on a une vitesse de convergence linéaire à taux

√2

3

≈ 0.47 < 0.5. Cette méthode est donc plus rapide que (GP C) (même avec le pas optimal).

e/ (2 pt). A la ligne 3, d est un vecteur de taille 2 : d = (1/ √ 6, 1/ √

3)

T

. Ce n’est pas une matrice ! La multiplication d ∗ x est une multiplication élément par élément. On a bien

(d ∗ x) =

√1 6

x

1

√1 3

x

2

!

=

√1

6

0

0

1

3

! x

1

x

2

.

La multiplication dot est la multiplication usuelle de matrices.

f/

(i) (1 pt). Cette fois, on a

x ]

n+1

= C x f

n

avec C =

I

2

1

6

0 0

13

=

0 −

13

23

0

.

(ii) (1 pt). On trouve

x ]

n+2

= C

2

x f

n

avec C

2

=

2

9

0 0

29

. (iii) (1 pt). Par une récurrence immédiate, on trouve que k x f

n

k ≤ C(

√2

3

)

n

avec C = max{kx

0

k, kx

1

k} par exemple. La suite x f

n

converge donc vers x

linéairement à taux

√2

3

. C’est la même vitesse que (QN1), donc ces méthodes sont semblables, et les deux sont mieux que (QN2).

Dernières remarques importantes

1. L’équation U

T

U = I

d

n’implique pas que U est inversible. C’est le cas si seulement si U est une matrice carrée. (Si U est carré, on peut dire en effet dire que det(U

T

U) = det(U

T

) det(U ) = det(U )

2

6= 0.

Dans le cas général, on peut juste dire que P = U U

T

est une matrice de projection, car on a P

2

= (U

T

U )(U

T

U ) = U

T

(U

T

U )U = U

T

U = P.

2. Si l’énoncé commence par Le but de cet exercice est de montrer (*), on ne peut pas commencer la réponse par D’après (*),....

3

Références

Documents relatifs

• Le développement suivant une ligne ou une colonne peut être est pratique pour obtenir par exemple des relations de récurrence...... On l’appelle polynôme caractéristique

Donner un syst` eme d’´ equations cart´ esiennes

[r]

Pour r´ esoudre cette ´ equation diff´ erentielle, il nous faut trigonaliser la

Paternité-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-sa/2.0/fr/.. 1 Rémy

(Cef02) Comme les familles ont un nombre d'éléments égal à la dimension, il sut de montrer qu'elles sont généra- trices pour montrer qu'elles sont libres.. pas de correction

Cette famille n’est pas génératrice car la fonction constante égale à 1 ne s’écrit pas comme une combinaison linéaire des fonctions proposées (en effet toute CL des trois

Théorème de Bolzano-Weierstrass : toute suite bornée d’un K-espace vectoriel de dimension finie possède une sous-suite convergente (pour n’importe quelle norme !).. Théorème :