• Aucun résultat trouvé

On note S

N/A
N/A
Protected

Academic year: 2022

Partager "On note S"

Copied!
4
0
0

Texte intégral

(1)

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

:=

1n

P

n−1

k=0

u

k

converge 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

|)

n

est 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

n

converge vers αp(p − 2).

d/ Montrer que

1ny1

n

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

n

1 − α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

n

converge 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

n

1 (1 − αpy

n

)

p−2

Comme y

n

tend 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.

(2)

d/ On utilise le théorème de Cesaro pour la suite u

n

:= (

y1

n+1

y1

n

). 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

ny1

n

= α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

s

converge 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−1

p(p − 1)z

np−2

= z

n

− 1

p − 1 z

n

= z

n

1 − 1

p − 1

= z

n

p − 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

−1

b. 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

0

est 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

(3)

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

−1

b.

Il ne reste plus qu’à trouver λ. Comme x

est le minimum de F sur tout R

d

, λ est le minimum de G(λ) :=

F (λA

−1

b), donc λ minimise

G(t) := g t

2

hb, A

−1

bi

− thb, A

−1

bi.

e/ Si F

1

(x) = hx, Axi

p

− hp, xi, alors λ minimise G(t) = t

2

hb, A

−1

bi

p

− thb, A

−1

bi = t

2p

Θ

p

− tΘ, où on a noté Θ := hb, A

−1

bi ∈ 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

−1

bi

2p−11

A

−1

b.

f/ Il faut calculer A

−1

b. 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

i

ihu

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

1

ihu

1

|.

b1/ Montrer que B

1

∈ S

d+

( R ), et est de rang 1.

b2/ Montrer que kA − B

1

k

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

1

est 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

(4)

b1/ C’est la question précédente.

b2/ On a

A − B

1

=

d

X

i=2

λ

i

|u

i

ihu

i

| + 0|u

1

ihu

1

|.

C’est la décomposition spectrale de A − B

1

. Les valeurs propres de A −B

1

sont donc {λ

2

≥ λ

3

≥ · · · ≥ λ

d

≥ 0}.

La plus grande valeur propre est λ

2

, donc kA − B

1

k

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(θ)

2

ku

1

k

2

+ sin(θ)

2

ku

2

k + 2 cos(θ) sin(θ)hu

1

, u

2

i.

Comme (u

1

, u

2

) est orthonormale, on a ku

1

k = ku

2

k = 1 et hu

1

, u

2

i = 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

1

est 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

n

k

2

kp

n

k

2A

, x

n+1

= x

n

+ α

n

p

n

, r

n+1

= r

n

− α

n

Ap

n

, β

n

= kr

n+1

k

2

kr

n

k

2

, p

n+1

= r

n+1

+ β

n

p

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

a/ Ce code comporte plusieurs erreurs, lesquelles trouvez-vous ? b/ Quel est le rôle de la ligne 7 ?

c/ Quel est le rôle de la ligne 4 ?

a/ l.2, x0 doit être un vecteur. Il faut écrire zeros(len(b)) au lieu de 0.

l.4, d n’est pas défini, il faut soit mettre d = len(b), soit écrire for n in range(len(b)).

l.5, il manque une norme : norm ( dot(A, xn) - b) < tol.

l.6, il y a un problème d’indentation.

Il y a aussi des erreurs de mise à jour de variables. Par exemple, l.2, on introduit x

0

, ..., mais on utilise x

n

ensuite.

Il faut écrire l.2 : xn, pn, rn = zeros(len(b)), 0, 0.

Enfin, il faut écrire rn = rnp1 à la fin pour mettre à jour la variable rn.

b/ Le rôle de la ligne 7 est de calculer la multiplication Ap

n

une seule fois. On stocke le résultat, et on utilise ce résultat plusieurs fois.

c/ La ligne 4 est là pour borner le nombre maximal d’itérations. On sait que le GC converge en au plus d

itérations.

Références

Documents relatifs

Comme S est d´ eveloppable en s´ erie enti` ere on en d´ eduit par application du produit de Cauchy que y est d´ eveloppable en s´ erie enti` ere avec un rayon de

Dans un premier temps, nous allons établir que si f admet un point fixe, il

[r]

Première STG Exercices sur le chapitre 11

Leur intersection est donc aussi celle de (JK) et (BCD) 1 point.. 3) L’intersection de deux plans est

Sur la fonction f est continue et

La présentation, la lisibilité et la qualité de la rédaction entreront pour une part importante dans l’appréciation des copies.. Une feuille de notes manuscrites est le seul

1) L’entreprise fabrique au maximum de 10 000 clés par mois donc la