Newton Gauss
Newton Gauss
Newton Gauss
Thierry Audibert
thierry.audibert@maths2b.fr
21 décembre 2013
1
1 Objectifs du chapitre
La méthode de Newton consiste à approcher une solution x∗ de l’équation f (x) = 0 pour laquelle
Df (x∗ ) est inversible en la regardant comme solution de F (x∗ ) = x∗ avec
Théorème 1
Soient f une fonction de classe C 2 sur l’intervalle ouvert I =]a, b[, c un point de I en lequel
f (c) = 0 et |f 0 (c)| > 0 et F la fonction de classe C 1 définie par
f (x)
F (x) = x − 0
f (x)
Alors,
1. Ce qui, rappelons le, n’est pas une condition suffisante pour que la fonction atteigne un extremum local et encore
moins global en ce point.
2
1. La fonction F est définie sur un voisinage ouvert de c;
2. c est un point fixe super attractif de F (ie : F (c) = c et F 0 (c) = 0).
3. Il existe δ > 0 tel que
(a) l’intervalle J = [c − δ, c + δ] est contenu dans DF et stable par f ;
(b) pour tout x0 ∈ J, la relation xn+1 = F (xn ) pour tout n ∈ N, définit une suite de J N
qui vérifie en outre
2n −1
M2 n
|xn − c| 6 |x0 − c|2 (2.1)
2m1
Démonstration (L1)
Soient f une fonction de classe C 2 sur l’intervalle ouvert I =]a, b[ et c ∈ I tel que que |f 0 (c)| > 0.
• Comme f 0 est continue, l’ensemble des points en lesquels |f 0 (x)| > 0 est ouvert 2 3 dans I et
f ”(x)f (x)
contient c; on a bien sûr F (c) = c et F 0 (x) = est nulle en x = c.
f 02 (x)
• Comme F 0 est continue (F est de classe C 1 ) et F 0 (c) = 0, il existe δ > 0 tel que
J = [c − δ, c + δ] ⊂ DF et ∀x ∈ J, |F 0 (x)| < 1.
L’intervalle J est donc stable par F. En effet, par le théorème des accroissements finis, pour tout
x ∈ J, il existe tx ∈ J (compris entre x et c) tel que
En particulier, la relation xn+1 = F (xn ) définit une suite d’éléments de J pour tout x0 ∈ J.
• Soit x0 ∈ J et (xn )n définie par xn+1 = F (xn ).
Observons que
et par la formule de Taylor-Lagrange, il existe un point txn compris entre xn et c tel que
1
f (c) = f (xn ) + f 0 (xn )(c − xn ) + f ”(txn )(c − xn )2
2
2. Rappel de Topologie niveau L2 (en 2012) : si f est continue, l’image réciproque d’un ouvert est un ouvert
3. Si cette notion n’est pas claire pour vous, sachez qu’une preuve d’un résultat analogue, de niveau L1, est détaillée
dans la démonstration du théorème 3
3
Comme f (c) = 0, on retrouve avec M2 = sup |f ”(x)| et m1 = inf |f 0 (x)| :
|x−c|6δ |x−c|6δ
m1 et M2 sont bien définis puisqu’une fonction continue sur un segment de R est bornée (et atteint
ses bornes).
• A partir de là, on démontre par récurrence sur n la relation (2.1) :
2n −1
M2 n
|xn − c| 6 |x0 − c|2
2m1
M2
|xn+1 − c| ≤ |xn − c|2
2m1
n !2
M2 2 −1
M2 2n
≤ |x0 − c|
2m1 2m1
n+1
M2 2 −2+1
n+1
≤ |x0 − c|2
2m1
• On observera que la dernière inégalité n’implique pas la convergence. Par contre, comme elle
est de la forme 2n+1
M2 M2
× |x0 − c|
2m1 2m1
M2
la suite converge dès lors que |x0 − c| < 1. L’ouvert Ω =]c − δ1 , c + δ1 [ avec δ1 <
2m1
M2
min δ, fait donc l’affaire.
2m1
4
Théorème 2 bassin d’attraction de c
Sous les hypothèses du théorème 1, l’ensemble des points x0 ∈ I pour lesquels la suite récurrente
définie par xn+1 = F (xn ) pour tout n ∈ N, converge vers c est un ouvert de I. On l’appelle
bassin d’attraction du point fixe c.
Démonstration (L2) 4
Notons Wc l’ensemble des points a ∈ I pour lesquels la suite récurrente définie par x0 = a et
xn+1 = F (xn ) pour tout n ∈ N, converge vers c.
Considérons x0 ∈ Wc . Il existe un rang Nx0 à partir duquel xn ∈ Ω =]c − δ1 , c + δ1 [ où δ1 est
défini comme dans la démonstration du théorème 1. Observons au passage que Ω est stable par F
et donc par ses itérées.
−1
Comme la fonction itérée F (Nx0 ) est continue, O = F (Nx0 ) (Ω) est un ouvert de I. Or, pour
tout y0 ∈ O, la suite (yn )n (notation supposée évidente) est bien définie et telle que yNx0 +p ∈ Ω
pour tout p ∈ N.
Par construction de Ω,
p
M2 2 −1
2p
|yNx0 +p − c| 6 yNx0 − c → 0
2m1
et lim yn = c. Nous avons montré que y0 ∈ O ⇒ y0 ∈ Wc .
Ainsi, Wc est voisinage de chacun de ses points et c’est bien un ouvert.
Illustrons cette notion en montrant qu’une suite récurrente (ou système dynamique) admet une
convergence linéaire, alors que la méthode de Newton est quadratique. Le but est ici de mettre
en valeur la rapidité de convergence de la méthode de Newton qui fait tout son intérêt malgré les
problèmes que l’on rencontre pour la mettre en œuvre. Remarquons au passage que la démonstration
du théorème (3) fait apparaı̂tre tous les paradigmes 5 de l’étude des suites récurrentes et c’est pour-
quoi nous l’avons détaillée.
4. pour la notion d’image réciproque d’un ouvert
5. Consulter un dictionnaire
5
Théorème 3 ordre de convergence vers un point fixe attractif
Soient f une fonction de classe C 1 sur un intervalle ouvert I ⊂ R et a ∈ I tels que
(
f (a) =a
0
0 < |f (a)| < 1
|xn+1 − a|
lim = |f 0 (a)|
|xn − a|
Démonstration (L1)
• Comme |f 0 | est continue, pour toute constante k telle que |f 0 (x0 )| < k < 1, il existe un voisi-
nage de a, J =]a − α, a + α[, contenu dans I, sur lequel 0 < |f 0 (x)| < k < 1.
• J est stable par f. C’est une conséquence du théorème des accroissements finis : pour x ∈ J, il
existe t compris entre x et a, tel que
6
On a donc bien f (x) ∈ J. En conséquence une suite récurrente telle que x0 ∈ J et xn+1 = f (xn )
est correctement définie. De plus, xn+1 − a| = |f (xn ) − f (x0 )| ≤ k|xn − a|. De cela on déduit
que |xn − a| ≤ k|x0 − a|n ce qui assure la convergence.
• Si x0 6= a, aucun terme de la suite n’est égal à a. En effet, observons (toujours avec le théorème
des accroissements finis) que pour tout n ∈ N,
xn+1 − a = f (xn ) − f (x0 ) = f 0 (tn )(xn − a).
Si pour un certain n, xn = a, par récurrence descendante, on aurait x0 = a car sur J f 0 ne
s’annule pas.
• Ainsi, lorsque x0 6= a, nous pouvons écrire que
xn+1 − a
= f 0 (tn ) ∼ f 0 (x0 )
xn − f (x0 )
d’où la conclusion
|xn+1 − a|
lim = |f 0 (x0 )|
|xn − a|
Démonstration (L1)
• Rappelons que F est définie sur un ouvert contenant c avec
f (x)
F (x) = x − ;
f 0 x)
f (x) f ”(x)
F 0 (x) = ;
(f 0 (x))2
f ”(x)(f 0 (x))2 − 2f (x)(f ”(x))2 + f (x)f (3) (x)f 0 (x)
F ”(x) = ;
(f 0 (x))3
f ”(c)
Au point c nous retrouvons F 0 (c) = 0, F ”(c) = puisque f (c) = 0.
f 0 (c)
• Nous pouvons considérer un réel α > 0 tel que
7
– J =]c − α, c + α[⊂ Wc (car Wc est un ouvert) ;
– |F 0 (x)| < 1 pour tout x ∈ J (car F 0 est continue et F 0 (c) = 0).
• J est alors stable par F 6 et pour x0 ∈ J, la relation xn+1 = F (xn ) définit une suite d’éléments
de J qui converge vers c (J est contenu dans le bassin d’attraction de c).
• Si x0 6= c, aucun terme de la suite n’est égal à c.
En effet, observons (toujours avec le théorème des accroissements finis que
nous pouvons invoquer car J est un intervalle contrairement à Wc peut-être)
que pour tout n ∈ N,
xn − c xn − c
n xn n xn
(xn−1 − c)2 (xn−1 − c)2
0 2.0 * 0 0.3333333333 *
1 1.454545455 0.4545454545 1 - 0.1111111111 - 1.0
2 1.151046789 0.7310664606 2 0.002849002849 0.2307692308
3 1.025325929 1.110049608 3 - 0. 04625079707 - 0.005698144450
4 1.000908452 1.416351963 4 1.978735114 0−22 0. 09250159415
5 1.000001235 1.496827212 5 −1.549504984 × 10−65 −3.957470228 × 10−22
6 1.0 1.499995676 6 7.440616629 × 10−195 3.099009969 × 10−65
6. Toujours le théorème des accroissements finis comme dans les démonstrations des théorèmes 1 et 3
8
2.3 De la difficulté de mise en œuvre de la méthode de Newton
Comme on le voit avec l’exemple qui suit, rien ne garantit qu’une suite (xn )n donnée par la
méthode de Newton et de premier terme x0 converge.
x3
F IGURE 1 – f : x → x3 − x F : x → 2
3 x2 − 1
On trouvera de jolies études détaillées sur les bassins d’attraction pour la méthode de Newton mise
en œuvre avec des fonctions élémentaires dans l’ouvrage de Holmgren [6].
A FINIR – A FINIR – A FINIR – A FINIR –
9
3 Méthode de Newton en dimensions supérieures
Nous nous intéressons ici à la résolution de systèmes de n équations à n inconnues ou, ce qui
revient au même, à la recherche de zéros de fonctions de Rn dans lui-même. Les résultats fonda-
mentaux sont les mêmes que pour le cas des fonctions d’une variable réelle.
10
Développements limités et formules de Taylor :
• une fonction de classe C 1 f : Ω ⊂ Rn → f (x) ∈ Rm admet un DL1 en tout point a ∈ Ω
donné par :
Pp ∂
f (a + h) =h→0 f (a) + i=1 f (a)hi + o (| |h||) =h→0 f (a) + Df (a).h + o (| |h||)
∂xi
1t
f (a + h) =h→0 f (a) + Df (a).h + hHf (a)h + o(||h||2 )
2
1
On notera aussi f (a + h) =h→0 f (a) + Df (a).h + Df2 (a)(h, h) + o(||h||2 )
2
Changements de repères :
Rappelons les formules de changements de bases puis de repère pour les points d’un espace
affine, pour les applications linéaires et les formes quadratiques.
Soient E un espace affine, R = (O, (i, j, k)) = (O, B) et R0 = (A, (u, v, w)) = (A, B 0 )
deux repères de E. Pour M ∈ E on note XM et XM 0 éléments de Rn , coordonnées
(−les
−→
OM = x~i + y~j + z~k
respectives de M dans ces repères, ce qui signifie que −−→
AM = x0 ~u + y 0~v + z 0 w~
• On note P ∈ GLn (R) la matrice de passage de la base B à B 0 . On sait que si X et X 0
sont les coordonnées d’un même vecteur de E ~ dans ces bases on a P X 0 = X (formule de
changement de base pour un vecteur).
−−→ −→ −−→
• De la relation vectorielle AM = AO + OM , on exprime les coordonnées de ce vecteur
sans la base B, il vient (formule de changement de repère pour un point) :
0 = −X + X
P XM 0 +X =X
ou encore P XM
A M A M
11
f et g donne une formule de changement de repère pour les applications scalaires :
g(XM 0 ) = f (P X 0 + X ) = f (X ) ou encore
M A M
• Ecrivons alors les formules de Taylor pour f et g à l’ordre 2 (en supposant F, donc f et g
de classe C 2 ) :
1t
f (x0 + h) = f (x0 )) + Df (x0 ).h + hHf (x0 )h + o(||h||2 ) (3.1)
h→0 2
1t
g(x00 + h0 ) 0= g(x00 ) + Dg(x00 )).h0 + h0 Hg (x00 )h0 + o(||h0 ||2 ) (3.2)
h →0 2
Bien évidemment, avec g(x00 + h0 ) = f ◦ φ(x00 + h0 ) = f (P (x00 + h0 ) + XA ) en remplaçant
x0 = φ(x00 ) par P x00 + XA et h par P h0 (changement de base pour un vecteur), on obtient
1 t 0 t
f (x0 + h) 0= f (φ(x00 )) + Df (φ(x00 )).P h0 + h ( P Hf (φ(x00 ))P ) h0 + o(||P h0 ||2 )
h →0 2
(3.3)
1t 0
= g(x00 ) + Dg(x00 ).h0 + h Hg (x00 )h0 + o(||h0 ||2 ) (3.4)
0
h →0 2
En identifiant les termes de même ordre (unicité du DL par exemple) on obtient :
Dg(y) = Df (φ(y)) ◦ P
Hg (y) = tP ◦ Hf (φ(y)) ◦ P
Nous aurons besoin de certains des résultats suivants pour la démonstration du théorème 6. Il
supposent une bonne compréhension de la notion de différentielle (et ce n’est pas vraiment du
L2).
Théorème 5
Soit J : M ∈ GLn (R) → M −1 ∈ GLn (R).
1. J est une application de classe C ∞ de l’ouvert GLn (R) dans lui-même ;
2. ** pour toute matrice A ∈ GLn (R), la différentielle de J au point A est l’application
linéaire dJ (A) ∈ L (Mn (R)) définie par :
12
Exercice 1 démonstration du théorème 5
1. Soient I un intervalle de R, A : I → Mn (R) et B : I → Mn (R) deux application de
classe C 1 . Montrer que l’on a
d
(A(t) × B(t)) = A0 (t) × B(t) + A(t) × B(t)
dt
Qu’en est il si B : I → Rn ?
2. On note J l’application qui à une matrice inversible associe son inverse J : M ∈ GLn (R) →
M −1 ∈ GLn (R).
(a) Montrer que GLn (R) est un ouvert de Mn (R).
(b) Justifier que J est une application de classe C ∞ de l’ouvert GLn (R) dans lui-même.
(c) Les idées claires : de quoi parlons nous ?
La différentielle de J au point A est une application linéaire : quels sont les espaces
de départ et d’arrivées ce cette application ? Quels sont les coefficients de sa matrice
jacobienne exprimées une base canonique bien choisie ? Combien y en a-t-il ?
Rappeler la définition des dérivées partielles en un point A ∈ GLn (R) dans cette base.
De quel type d’objet s’agit il ?
3. Pour nous faciliter la vie, nous allons plutôt déduire l’expression de dJ (A)H de l’étude
d’un courbe paramétrée à valeurs dans GLn (R).
(a) Soit Γ une courbe paramétrée de classe C 1 de I, intervalle de R, à valeurs dans
d
GLn (R). Exprimer J ◦ Γ(t).
dt
(b) En considérant une courbe paramétrée t → Γ(t) × Γ(t)−1 exprimer dJ (Γ(t))Γ0 (t) et
en déduire dJ (A)H lorsque A est une matrice inversible quelconque, H une matrice
quelconque.
voir correction en (8.0.1)
13
3.2 La méthode de Newton
Dans le théorème qui suit, en tout point analogue au théorème 1 par sa forme, on désigne par || ||
une norme de Rn et par ||| ||| la norme matricielle subordonnée qui lui est attachée. On rappelle
que pour A ∈ Mn (R),
||AX||
|||A||| = sup
X6=0 ||X||
Théorème 6
Soient Ω un ouvert de Rn , f : Ω → Rn , une fonction de classe C 2 , c un point de Ω en lequel
f (c) = 0 et Df (c) est inversible. On considère F la fonction de classe C 1 définie par
Alors,
1. La fonction F est définie sur un voisinage ouvert de c;
2. c est un point fixe super attractif de F (ie : F (c) = c et Df (c) = 0).
3. Il existe δ > 0 tel que
(a) la boule fermée B = B̄(c, δ) est stable par F ;
(b) pour tout x0 ∈ B, la relation xn+1 = F (xn ) pour tout n ∈ N, définit une suite de B N
qui vérifie en outre
n −1 n
||xn − c|| 6 K 2 ||x0 − c||2 (3.6)
Remarques
1. On peut préciser ce résultat en montrant que l’on peut choisir pour tout ε > 0, B et K de
telle sorte que
1 −1 2
K < max |||Df (x)] ||| × max ||D f (x)(h, h)|| + ε
2 x∈B x∈B,||h||=1
14
Exercice 3 démonstration du théorème 6
Soit f comme dans le théorème et F (x) = x − [Df (x)]−1 .f (x).
1. Justifier que F est définie sur un ouvert contenu dans Ω, calculer DF (x) en réécrivant
15
4 Méthodes d’optimisation, généralités
4.1 Rechercher les zéros du gradient pour optimiser
Soit φ : Ω ⊂ Rn → R, une fonction numérique de classe C 3 définie sur un ouvert de Rn . On sait
−−→
que si φ atteint en a ∈ Ω un minimum local ou global, grad(f )(a) = 0.
−−→
La fonction g = grad(f ) est une application de Ω dans Rn de classe C 2 et il peut paraitre
avantageux de rechercher les points en lesquels g s’annule avec la méthode de Newton mais cela
pose plusieurs problèmes :
−−→
– grad(f )(a) = 0 est une condition nécessaire, non suffisante pour que f admette un minimum
local en a et il faudra pour chaque point stationnaire ainsi déterminé s’assurer qu’on y rencontre
bien un minimum local (à moins qu’une étude préalable n’ait déjà clarifié le problème) ;
– à cela s’ajoutent les difficultés de mise en œuvre de la méthode elle-même :
- la convergence n’est pas garantie et dépend du choix de x0 ;
- la méthode revient à itérer la fonction
où Dg, jacobienne du gradient de f, est en fait la matrice hessienne de f ; il faut donc calculer
g, calculer Hf et ensuite l’inverser. On comprend que la difficulté n’est pas la même selon que
l’on sait calculer g et Dg = Hf formellement ou pas.
On est alors conduit à adapter cette méthode en remplaçant l’itération xn+1 = G(xn ), qui se récrit
xn+1 = xn − [Hf (xn )]−1 g(xn ), à partir des idées suivantes :
• on remplace [Hf (xn )]−1 par une matrice Wn définie positive dont le calcul et l’inversion sont
plus économiques ;
• on cherche un réel λ∗ qui réalise un minimum local de t → f (xn − tWn g(xn )) sur [0, 1] et on
pose
ce qui nous garantit que la suite (f (xn )n décroit et nous permet d’espérer une convergence qui
n’était pas gagnée.
On parle alors de méthodes quasi-newton. Nous donnons une méthode de recherche selon une
ligne de descente en (4.2) et présentons deux méthodes quasi-newton en détails en (5) et en (6)
avec une mise en œuvre de chacune d’elles sur un problème effectif.
16
−−→
• Une première idée serait de choisir par exemple dn = −grad(f )(xn ), ce qui se comprend
−−→
bien en écrivant un DL1 , f (xn + h) = f (xn )+ < grad(f )(xn )|h > +o(h), où l’on voit
que le second terme est minimal pour un module ||h|| constant lorsque l’angle entre h et le
gradient est égal à π...
−−→
• Nous verrons aussi l’intérêt de poser dn = G−1 grad(f )(xn ) avec H symétrique positive...
2. Comme rien ne garantit que le point xn+1 = xn +dn réalise f (xn+1 ) ≤ f (xn ), on recherche
un scalaire λ∗ appartenant à un certain intervalle (= [0, +∞[) tel que
2. Montrer que si f est strictement convexe et continue sur I = [a, b], elle y admet un minimum
atteint en un seul point. Que devient l’inégalité précédente lorsque les points x1 , ..., x4 sont
distincts ?
3. On suppose maintenant que f est strictement convexe et continue sur I = [a, b] et on note
µ le point en lequel f atteint son minimum.
On se donne t ∈]0, 1/2[ et on partage I = [a, b] en trois intervalles de la façon suivante :
a+b
x1 = − t (b − a)
2
I = [a, x1 ] ∪ [x1 , x2 ] ∪ [x2 , b] avec
x2 = a + b + t (b − a)
2
(a) On note p0 , p2 , p2 les pentes de f sur ces trois intervalles. Montrer les implications
suivantes :
– p0 < p1 < p2 < 0 =⇒ µ ∈ [x2 , b];
– p0 < p1 < 0 < p2 =⇒ µ ∈ [x1 , b];
– p0 < 0 < p1 < p2 =⇒ µ ∈ [a, x2 ];
– 0 < p0 < p2 < p2 =⇒ µ ∈ [a, x1 ];
(b) Déduire de cela un algorithme de calcul approché du minimum de f (programmez le
effectivement Maple, Python, Scilab...).
(c) Réduire et estimer la complexité de l’algorithme proposé (nombre d’itérations ou
nombre de calculs de f en un point pour une approximation à 10−n près par exemple).
voir corrigé en 8.0.4
17
Exercice 5 Recherche de minimums, règle d’or et gradient (L2) 7
1. Soit I = [a, b] un intervalle de R et t0 ∈ I. On considère dans cette question une fonction
f : I → R telle que
7. Posé à peu près sous cette forme à l’Oral Centrale-Supélec, épreuve avec Maple ou Mathematica— 2011
18
Procédé de Wolfe
Soit q : t → q(t) une fonction définie sur [0, +∞[ telle que q 0 (0) < 0,dont on souhaite évaluer
grossièrement 8 un minimum local (en pratique ce sera q(t) = f (xn + t dn )).
On définit pour cela le processus :
– on se donne m1 , m2 tels que 0 < m1 < m2 < 1;
– on se donne une valeur t > 0;
– on itère la règle de Wolfe ci-dessous, en choisissant à chaque étape un t > 0 compris entre tmin
et tmax (avec la convention que si tmax = 0, tmin < t < +∞)
q(t) − q(0)
si > m1 q 0 (0) alors tmax := t (on cherche plus petit)
t − 0
q(t) − q(0)
si ≤ m1 q 0 (0) et q 0 (t) ≥ m2 q 0 (0) on s’arrête là
t − 0
q(t) − q(0)
≤ m1 q 0 (0) et q 0 (t) < m2 q 0 (0) alors tmin := t (on cherche plus grand)
si
t−0
8. Grossièrement, car c’est le minimum de f qui nous intéresse : c’est le procédé global qui doit nous permettre de
nous en rapprocher alors qu’un calcul fin du minimum de q à chaque itération serait inutilement pénalisant.
19
Illustration graphique de la règle de Wolfe
Les arguments, q et q1 désignent respectivement la fonction à minimiser et sa dérivée, t est
la valeur à tester...
Wolfe:=proc(q,q1,t,m1,m2)
local tv, d0,dt;
tv :=(q(t)-q(0))/((t-0));
d0 :=q1(0);
dt :=q1(t);
if evalf(tv-m1*d0)>0
then ga #pour aller à gauche
elif evalf(dt-m2*d0)>=0 then fin
else droite #pour aller à droite
fi;
end:
q := x-> 1-6*x*sin(3*x+1/2)/(1+xˆ2);
q1 := unapply(diff(q(t), t), t);
plot({m1*q1(0)*t+q(0), m2*q1(0)*t+q(0), q(t)}, t=0..4,-4..4);
Matrix([[seq(4*t/(10.), t = 1 .. 10)],
[seq(Wolfe(q, q1, 4*t*(1/10), .3, .8), t = 1 .. 10)]])
0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4...
dr dr fin fin ga ga ga ga ga ga ga fin ga ga ga ga ga...
20
• Algorithme : avec la procédure Wolfe du tableau précédent, une forme possible de l’algo-
rithme (les variantes dépendent du domaine de définition de q (est il borné ou pas ?), de la façon
d’initialiser t, d’extrapoler lorsque tmax = 0, d’interpoler, etc...
21
Une trace avec la même fonction q que pour le graphe... Il va de soi que pour des exemples effectifs
on travaille en flottants et non en calcul formel comme ici.
Théorème 7 terminaison
Soit q une fonction définie et dérivable sur [0, +∞[ telle que
– q 0 (0) < 0;
– inf q(t) > −∞.
Alors, l’algorithme décrit par la fonction LineSearchWolfe termine.
Démonstration (L1+)
Si l’algorithme ne termine pas, il y a une infinité d’appels à la fonction Wolfe qui retournent soit
’dr’ soit ’ga’.
• Supposons qu’il y ait une infinité d’appels retournant ’dr’ sans que tmax ne soit jamais affecté.
q(t) − q(0)
Alors, t(k) → +∞ et comme ≤ m1 q 0 (0) < 0, cela impose lim q(t(k) = −∞ ce qui
t−0
est en contradiction avec les hypothèses.
22
• Dans les autres cas, à partir d’un certain rang, l’exposant (k) signifiant que la variable est évaluéé
(k) (k)
à la fin de la k ième itération, on a 0 ≤ tmin < t(k) < tmax où les suites encadrantes sont adjacentes
(k) (k)
(par construction). Notons t∗ = lim tmin = lim t(k) = lim tmax .
Comme les affectations à tmax ou tmin proviennent des deux règles
q(t) − q(0)
si > m1 q 0 (0) alors tmax := t (Wolfe retourne ’ga’)
t−0
q(t) − q(0)
≤ m1 q 0 (0) et q 0 (t) < m2 q 0 (0)
si
alors tmin := t (Wolfe retourne ’dr’)
t−0
les relations qui suivent sont invariantes à partir de ce rang
0
q(t(k) (k)
max ) > q(0) + m1 tmax q (0) (4.3)
(k) (k) (k)
q(tmin ) ≤ q(0) + m1 tmin q 0 (0) et q 0
(tmin ) 0
< m2 q (0) (4.4)
(k) (k)
q(tmax ) − q(t∗ ) q(tmin ) − q(t∗ )
Cela nous permet de comparer les taux de variations (k)
et (k)
à m1 q 0 (0).
tmax − t∗ −
tmin t∗
Il vient alors à la fois q 0 (t∗ ) = m1 q 0 (0) et q 0 (t∗ ) ≤ m2 q 0 (0) ce qui est contradictoire puisque
q 0 (0) < 0.
Que pouvons nous dire de q au point t ainsi obtenu ? Voyons cela lorsque q est de la forme q(t) =
f (xn + t dn ) avec des hypothèse de régularité sur f et sur son gradient, ainsi que sur le choix de
(dn )n .
23
5 Problèmes de moindres carrés
5.1 Exemples de problèmes de moindres carrés
Un problème de moindres carrés est un problème de la forme :
p p
1X 2 1X
minimiser f (x) avec f (x) = rk (x) = (φ(x, tk ) − zk )2
2 2
k=1 k=1
où chaque fonction rk2 (x) = (φ(x, tk )−zk )2 représente le carré de l’écart entre la valeur théorique
d’une fonction φ dépendant des paramètres x au point tk et la valeur zk mesurée en ce même tk .
On cherche généralement dans un tel cas à estimer les paramètres inconnus à partir d’un nombre
plus ou moins grand de relevés expérimentaux. Illustrons cela de quelques exemples.
Cette expression (formule harmonique), dès lors que l’on dispose de relevés en nombre
suffisant, ce qui est le cas, se prête bien à un étude numérique. Elle est exploitée par le
service hydrographique et océanographique de la marine depuis 1992.
Les pulsations ωi sont universelles car ce sont celles des potentiels des forces de marées
d’origine lunaire et solaire. Elles sont reconnues par analyse de Fourier de relevés sur de
nombreuses années. h0 se mesure facilement car c’est la hauteur moyenne de l’eau, les
paramètres (ai )i et (νi )i dépendent du lieu considéré et sont les inconnues que l’on veut
évaluer.
9. bien entendu, la hauteur de l’eau dépend aussi de phénomènes météos : température, vents, pression at-
mosphérique...
24
Pour déterminer les paramètres dont la connaissance permet de prévoir la hauteur d’eau à
tout instant, on recherche ceux qui réalisent le minimum de la fonction de 2N variables :
p p
1X 1X 2
f (a1 , ..., aN , ν1 , ..., νN ) = (φ(a1 , ..., νN , tk ) − zk )2 = rk (a1 , ..., νN )2
2 2
k=1 k=1
où les (zk )1≤k≤p sont les hauteurs observées en des instants (tk )1≤k≤p .
Pour les sites où la marée est importante, la prise en compte de plus d’une centaine d’ondes
composantes (ai cos(ωi t + νi )) peut être nécessaire pour un calcul précis. Ainsi la fonction
à minimiser f, peut être une fonction de 2N ≈ 200 variables.
Les paramètres sont déterminés en analysant les observations réalisées pendant une longue
période (au minimum 29 jours, correspondant à une lunaison et, là où la forme de la marée
est particulièrement complexe, une année). On a alors au moins de l’ordre de P ≈ 700
termes dans la somme.
Références :
– le site du SHOM [7] donne quelques brèves explications sur la formule harmonique (re-
prises dans Wikipedia).
– l’ouvrage très complet [8] de Bernard Simon (Éditions de l’Institut océanographique
de Paris) aborde les aspects physiques de l’étude de la marée, explique comment on
détermine les pulsations ωi ...
25
On recherche alors les paramètres (xA , yA , r) qui réalisent le minimum de cette fonction.
Un exemple en économie
N
X
||Y − F ||22 = |yk − f (xk )|2
k=1
lorsque f est combinaison linéaire des (ui )i . Montrer que l’on peut l’écrire F
sous la forme F = U A où U est une matrice que l’on décrira avec soin, A =t
[a0 , a1 , ..., ad ]. Exprimer la dimension de V en fonction de la matrice U.
(b) Approximation polynomiale : on choisit pour les fonctions ui , ui (x) = xi . Quelle
est la matrice U dans ce cas ?
2. Justifier que l’existence d’un vecteur F0 qui réalise le minimum de ||Y −F || est assurée
quelque soit la norme || || choisie dans RN . Pour la suite du problème, on choisit la
norme euclidienne dans RN définie par
v
uN
uX
||X||2 = (t X.X)1/2 = t x2i
i=1
26
(c) En déduire que A réalise le minimum de J ssi tU U A −t U Y = 0. Justifier l’exis-
tence et l’unicité de la solution lorsque V est de dimension d + 1.
4. Mise en œuvre sous MAPLE : les données (présentées dans le fichier Moindres-
Carres.mws) sont issues de TIPE de 2004-2005 ;
voir corrigé en 8.0.6
rp (x)
colonnes sont les p gradients des fonctions rk et le coefficient de la ligne i colonne j de tJ(x) J(x)
est
p
X ∂rk (x) ∂rk (x)
∂xi ∂xj
k=1
On appelle matrice de Gauss-Newton associée problème de minimisation de f la matrice carrée
de taille n, tJ(x) J(x).
27
1. Montrer que la matrice carrée tJ(x) J(x) est symétrique et positive.
2. Montre que tJ(x) J(x) est définie positive ssi (n ≤ p et J(x) est de rang n).
voir corrigé en 8.0.7
xk+1 = xk − λ [tJ(xk ) J(xk )]−1 g(x) = [xk − λ tJ(xk ) J(xk )]−1 tJ(xk )r(xk )
Algorithme de Gauss-Newton
Pour implémenter à peu près utilement cet algorithme, il nous faudra une procédure pour le calcul
des fonctions rk , de la fonction f et de son gradient, pour construire les matrices J(x),t J(x) J(x),
la fonction q etc...
28
5.3 Mise en œuvre : MAPLE et formule harmonique
Nous choisissons d’implémenter l’algorithme pour la forme la plus générale de la fonction
p
X
f (x) = rk2 (x)
k=1
Pour cela, avec les notations de la section (5.1), nous choisissons de représenter l’ensemble des
fonctions rk par une fonction du langage dont l’appel suit la syntaxe rk(j, X) où j est un entier,
X la suite des paramètres à estimer, de telle sorte que rk(j, x1 , ..., xn ) = rj (x1 , ..., xn ). Les fonc-
tions à valeurs matricielles associées aux rk , X → J(X) et X →t J(X) J(X) seront construites
formellement par des appels aux procédures MAPLE, J(rk, n, p) et JJ(rk, n, p) comme décrit
dans les tableaux qui suivent. On prendra garde que JJ est une fonction qui retourne une autre
fonction : lorsque r admet la syntaxe précédemment décrite pour rk, l’appel J(r, n, p) retourne
la fonction
D2 (r) (1, x1 , ..., xn ) . . . Dn+1 (r) (1, x1 , ..., xn )
(x) →
.. ..
. ... .
D2 (r) (p, x1 , ..., xn ) . . . Dn+1 (r) (p, x1 , ..., xn )
∂
où x est une séquence de n variables et où Di (r)(k, x1 , ..., xn ) = r(k, x1 , ..., xn )
∂xi
Le calcul de J(x) :
J := proc (rk, n, p)
local X, x, i, k, tJ, J;
X := seq(x[i], i = 1 .. n);
seq([seq(diff(rk(k, X),x[i]), i = 1..n)], k = 1..p);
J := Matrix([%]);
unapply(%, seq(X[i], i = 1 .. n))
end proc;
h :=(k, u, v) ->u+vˆ(2*k);
J(h, 2, 3)(a, b);
J(r, 2, 3)(a, b)
1 2b
1 4 b3
1 6 b5
D2 (r) (1, a, b) D3 (r) (1, a, b)
D2 (r) (2, a, b) D3 (r) (2, a, b)
D2 (r) (3, a, b) D3 (r) (3, a, b)
29
Le calcul de tJ J(x) : l’appel JJ(r, n, p) retourne la fonction (x) →t J(x) J(x) associée aux
rk (x) = r(k, x).
JJ := proc (rk, n, p)
local X, x, i, k, tJ, J;
X := seq(x[i], i = 1 .. n);
seq([seq(diff(rk(k, X), x[i]), i = 1 .. n)], k = 1 .. p);
J := Matrix([%]);
tJ := Transpose(%);
MatrixMatrixMultiply(tJ, J);
unapply(%, seq(X[i], i = 1 .. n))
end proc;
JJ1:= JJ(v, 2, 3)(x, y):
JJ1[1,2];
D2 (v) (1, x, y) D3 (v) (1, x, y)+D2 (v) (2, x, y) D3 (v) (2, x, y)+D2 (v) (3, x, y) D3 (v) (3, x, y)
GS:=proc(f,a,b,n)
local r,alpha, beta, lambda, mu, k;
r :=(1+sqrt(5))/2;
alpha :=a;
beta :=b;
lambda := evalf(alpha + rˆ2*(beta-alpha));
mu := evalf(alpha + r*(beta-alpha));
for k from 1 to n do
if evalf( f(lambda) - f(mu)) 0
then alpha:= lambda;
else beta := mu;
fi;
lambda := evalf(alpha + rˆ2*(beta-alpha));
mu := evalf(alpha + r*(beta-alpha));
od;
alpha,beta;
end:
30
La méthode sous forme de procédure :
Les arguments :
– rk : fonction (syntaxePrk(j, x1 , ...xn ) = rj (x1 , ..., xn )) ;
– f : fonction (f (x) = pk=1 rk2 (x1 , ...xn ) ; syntaxe f (x1 , ...xn )) ;
– n tel que le nombre d’arguments attendus pour rk est 1 + n; ce sera aussi le nombre de colonnes
de J(rk, n, p);
– p nombre de termes dans la somme des résidus f (x1 , ..., xn ); ce sera aussi le nombre de lignes
de J(rk, n, p);
– eps : flottant donnant un critère d’arrêt ;
– Nmax : nombre maximal d’itérations (si l’on n’a pas atteint auparavant ||g(Xi )|| ≥ eps;
– suite (des arguments : les arguments n˚ 7 à 7 + n sont les termes x01 , ..., x0n de l’initialisation ;
comme le nombre n de ces arguments n’est pas fixe on les appelle avec args[6 + 1], ...args[6 +
n]; on aurait pu choisir de placer là un vecteur mais la gestion des dérivées partielles de rk dans
les procédures J et tJJ aurait été pénible.
−−→
La syntaxe de la valeur retournée : V, Γ (vecteur des paramètres estimé, ||grad(f )(V )||2 )
Jr := J(rk, n, p);
tJJr := tJJ(rk, n, p);
Y := seq(args[6+i], i = 1 .. n);
R := evalf(Vector([seq(rk(k, Y), k = 1 .. p)]));
g := evalf(MatrixVectorMultiply(Transpose(Jr(Y)), R));
c := 0;
while eps<evalf(VectorNorm(g,2,conjugate=false))or Niter <Nmax do
G := evalf(tJJr(Y));
iG := MatrixInverse(G);
V := Vector([Y])- lambda*MatrixVectorMultiply(iG, g);
q := unapply(f(seq(V[i], i = 1 .. 2*N)), lambda);
mu := GS(q, 0, 1, 10);
V := Vector([Y])-mu.MatrixVectorMultiply(iG, g);
Y := seq(V[i], i = 1 .. 2*N);
R := evalf(Vector([seq(rk(k, Y), k = 1 .. P)]));
g := evalf(MatrixVectorMultiply(Transpose(Jr(Y)), R));
c := c+1
end do;
31
Illustration : amplitudes et phases dans la formule harmonique pour la hauteur de marée
Rappelons brièvement le problème : h0 et les (ωi )1≤i≤N sont connus de même que les relevés
(tk )1≤k≤P et (zk )1≤k≤P (temps et hauteurs mesurés) ; la suite des paramètres à estimer est X =
(a1 , ..., aN , ν1 , ...νN ) on veut donc minimiser
p p
1 X ~ 2 1 X
~ ~ν )2
f (a1 , ..., aN , ν1 , ..., νN ) = φ(A, ~ν , tk ) − zk = rk2 (A,
2 2
k=1 k=1
où les (zk )1≤k≤p sont les hauteurs observées en des instants (tk )1≤k≤p . Nous notons comme dans
notre problème générique a1 , ..., aN , ν1 , ..., νN = x1 , ..., xN , xN +1 , ...x2N . Le nombre de pa-
ramètres est n = 2. le nombre d’observations est p = P.
• Comme toujours, nous allons vérifier nos procédures formellement (débuggage visuel) en expli-
citant les fonctions rk et f puis en testant les procédures J et tJ.
On définit donc en page 33 ces fonctions pour des ωi , νi et des tk , zk formels, ce qui permet de
vérifier et d’illustrer...
• Dans une deuxième étape nous allons tester numériquement nos algorithmes avec des des tk
et zk fictifs pour de petites valeurs de n et p (page 35). Nous verrons déjà apparaı̂tre certains
phénomènes numériques.
• Si tout se passe bien nous passerons à la mise en œuvre sur des données effectives, en l’occur-
rence à partir de 2160 relevés (soit chaque heure pendant 90 jours).
32
Cas particulier des coefficients de marée, représentation formelle des fonctions φ, rk et f
N (on a ici n = 2.N paramètres), P le nombre d’observations, h0 la hauteur moyenne (connue)
0mega = ω1 , ..., ωN suite des pulsations (connues), T suite des instants d’observation et Z suite
des hauteurs observées, sont des variables globales, ici formelles pour illustrer notre propos et
pour permettre de vérifier. X = a1 , ..., aN , ν1 , ..., νN est la suite des variables de φ...
N := 2;
Omega := seq(w[i], i = 1 .. N);
A := seq(a[i], i = 1 .. N);
V := seq(nu[i], i = 1 .. N);
X := A, V;
P := 5;
T := seq(t[i], i = 1 .. P);
Z := seq(z[i], i = 1 .. P);
33
Jr := J(rk, 2*N, P):
Jr(X);
cos (w1 t1 + ν1 ) cos (w2 t1 + ν2 ) −a1 sin (w1 t1 + ν1 ) −a2 sin (w2 t1 + ν2 )
cos (w1 t2 + ν1 )
cos (w2 t2 + ν2 ) −a1 sin (w1 t2 + ν1 ) −a2 sin (w2 t2 + ν2 )
cos (w1 t3 + ν1 )
cos (w2 t3 + ν2 ) −a1 sin (w1 t3 + ν1 ) −a2 sin (w2 t3 + ν2 )
cos (w1 t4 + ν1 ) cos (w2 t4 + ν2 ) −a1 sin (w1 t4 + ν1 ) −a2 sin (w2 t4 + ν2 )
cos (w1 t5 + ν1 ) cos (w2 t5 + ν2 ) −a1 sin (w1 t5 + ν1 ) −a2 sin (w2 t5 + ν2 )
N := 2; P := 5:
Omega := 11, 12:
h0 := 50;
T := seq(k, k = 1 .. P):
phi:=(t,X)->h0+add(args[1+i]*cos(Omega[i]*t+args[N+1+i]),i=1..N);
0.699999999879417301
1.59999999862546
34
Test numérique en grandeur nature
• définition des fonctions phi et rk à partir de données numériques observée à raison d’une mesure
toutes les heures pendant 90 jours (p = 24 × 90 = 2160).
• on recherche une évaluation avec n = 8 harmoniques retenues (l’écriture de la fonction f
dépasse 150 pages)
• appel de la procédure
35
5.4 Mise en œuvre : Scilab et formule harmonique
36
6 Méthode quasi-Newton (BFGS)
37
7 Annexe : historique des méthodes de moindres carrés
Pour l’instat, du vrac...
Gauss et Céres
www.scei-concours.fr/tipe/sujet 2009/mathematiques MP 2009.pdf
Cholesky : http ://www.sabix.org/bulletin/b39/vie.html
Toutes les fois que l’on fait une triangulation calculée, il y a avantage à faire également une com-
pensation par le calcul. On est alors amené à écrire un certain nombre d’équations représentant
les relations géométriques entre les divers éléments des figures de la triangulation et comme il
y a généralement plus d’inconnues que d’équations, on lève l’indétermination en écrivant que la
somme des carrés des corrections est minima.
Brezinski http ://smf4.emath.fr/en/Publications/RevueHistoireMath/11/pdf/smf rhm 11 205-238.pdf
38
8 Correction des exercices
Corrigé n˚ 8.0.1 — corrigé de l’exercice 1.
1. C’est la partie facile, on commence par dériver le produit terme à terme, ce qui donne
n
d X d
(A(t) × B(t))i,j = Ai,k (t) × Bk,j (t)
dt dt
k=1
n
X n
X
= A0i,k (t)Bk,j (t) + 0
Ai,k (t)Bk,j (t)
k=1 k=1
1 t
A−1 = Com(A)
det(A)
d(Γ(t))−1 d(J ◦ Γ)
= (t) = dJ (Γ(t)) Γ0 (t)
dt dt
39
(b) On dérive alors la courbe t → Γ(t) × Γ(t)−1 . Il vient avec la formule de dérivation
d’un produit et la formule que précède :
dΓ(t)
dJ (Γ(t)) Γ0 (t) = −Γ(t)−1 × × Γ(t)−1
dt
Cela nous permet de déterminer l’application linéaire dJ (A) pour A ∈ GLn (R). on
considère Γ(t) = A + t H où H est une matrice quelconque, en remplaçant et en
faisant ensuite t = 0, il vient :
40
Corrigé n˚ 8.0.2 — corrigé de l’exercice 2.
1. On dérive donc en adaptant la formule générique de l’exercice 1
dA(t)V (t)
= A0 (t).V (t) + A(t).V 0 (t)
dt
dans laquelle A(t) devient A(X(t)), ... et on obtient par dérivation des fonctions composées
d d d
A(X(t))V (X(t)) = A(X(t)) .V (X(t)) + A(X(t)). V (X(t))
dt dt dt
= (dA(X(t)).X 0 (t)).V (X(t)) + A(X(t)).(dV (X(t)).X 0 (t))
Précisons comme l’énoncé nous y invite la nature de chacun des objets que nous avons
introduits :
– dA(X(t)) est une application linéaire de Rn dans Mn (R);
– comme X 0 (t) ∈ Rn , dA(X(t)).X 0 (t) est donc une matrice de Mn (R);
– dA(X(t)).X 0 (t)).V (X(t)) est alors un vecteur de Rn ;
– dV (X(t)) est une application linéaire de Rn dans lui-même ;
– dV (X(t)).X 0 (t) ∈ Rn de même que A(X(t)).(dV (X(t)).X 0 (t)).
2. Considérons alors la courbe X : t → x0 + t.h, notons A.V l’application x → A(x).V (x).
Il vient, en dérivant la fonction composée (A.V ) ◦ X et en rapprochant de ce qui précède :
d
A(X(t))V (X(t)) = d(A.V )(X(t)).X 0 (t)
dt
d
A(X(t))V (X(t)) = (dA(X(t)).X 0 (t)).V (X(t)) + A(X(t)).(dV (X(t)).X 0 (t))
dt
ce qui, lorsque t = 0, donne
41
Corrigé n˚ 8.0.3 — corrigé de l’exercice 3
1. La fonction f est de classe C 2 , φ : x → det df (x) est donc de classe C 1 et F est définie là
où ce déterminant ne s’annule pas. Or l’image réciproque de R∗ par φ est un ouvert contenu
dans Ω.
Par ailleurs, en utilisant en partie le résultat de l’exercice 2, nous avons
Sans aller plus loin dans les calculs, avec f (c) = 0 on a F (c) = c et dF (c) = 0 ∈ L(Rn ).
2. Comme dF (c) = 0 et comme dF est continue, il existe δ1 > 0 tel que sur B1 = B̄(c, δ1 )
|||dF (x)||| ≤ 1.
(a) Pour x = c + h ∈ B1 , nous avons
Z 1
d
F (c + h) − F (c) = F (c + t h) dt
0 dt
Z 1
= dF (c + t h) h dt
0
Z 1
||F (c + h) − F (c)|| = |||dF (c + t h)||| ||h|| dt dt
0
Ainsi, ||F (c + h) − c|| ≤ ||h|| ≤ δ1 , et cette boule est bien stable par F.
(b) On reprend la démonstration vue en dimension 1, on écrit
1
f (c) =h→0 f (x) + Df (x).(c − x) + D2 f (x)(c − x, c − x) + ε(c − x) ||(c − x)||2
2
−||c − x||2
2 c−x c−x
f (x) + Df (x).(c − x) = D f (x) , + ~ε(c − x)
h→0 2 ||c − x|| ||c − x||
2 c−x c−x
** L’expression D f (x) , + ~ε(c − x) est bornée sur B1 privée
||c − x|| ||c − x||
de c. En effet,
– (x, h, h) → D2 f (x)(h, h) est continue ; l’expression donnée page 11 le montre
clairement.
42
– Elle est donc bornée sur B1 × Sn−1 × Sn−1 qui est un compact de Rn × Rn × Rn .
– Enfin, x → ~ε(c−x) a pour limite 0 en c. Elle est donc bornée sur une boule B̄(0, δ2 ).
On note alors B = B̄(0, min(δ1 , δ2 ) = B̄(0, δ). Cette boule est encore stable par F
(puisque |||DF (x)||| y est encore majorée par 1) et, en reprenant la formule (8.1) pour
une suite non stationnaire,
||c − xn ||2
−1
2 c − xn c − xn
||xn+1 − c|| = |||Df (xn )] ||| D f (x)
, + ~ε(c − xn )
||c − xn || ||c − xn || 2
43
Corrigé n˚ 8.0.4 — corrigé de l’exercice 4.
Soit f : I → R une fonction définie sur un intervalle I de R.
1. Nous allons procéder en deux étapes avant de conclure.
• Étape 1 : On suppose tout d’abord que x1 < x2 = x3 < x4 . La relation du théorème
devient :
• Étape 2 :
Si (x1 , x2 , x2 , x4 ) ∈ I 4 est tel que x1 < x2 ≤ x3 < x4 , on a en appliquant deux fois le
résultat (8.3)
on aura en particulier,
1 1 1 1
f x1 + x2 < f (x1 ) + f (x2 ) = µ.
2 2 2 2
Cela contredit la définition du minimum.
44
3. On se donne t ∈]0, 1/2[ et on partage I = [a, b] en trois intervalles de la façon suivante :
a+b
x = − t (b − a)
1
2
I = [a, x1 ] ∪ [x1 , x2 ] ∪ [x2 , b] avec
x2 = a + b + t (b − a)
2
(a) On note p0 , p2 , p2 les pentes de f sur ces trois intervalles.
– Montrons que p0 ≤ p1 ≤ p2 ≤ 0 =⇒ µ ∈ [x2 , b];
On suppose donc que
le minimum n’est donc pas atteint sur [a, x2 ], il l’est nécessairement sur [x2 , b].
de cela on déduit que le minimum est atteint sur [x1 , b] puisqu’il ne peut l’être sur
[a, x1 ].
– Montrons que p0 < 0 < p1 < p2 =⇒ µ ∈ [a, x2 ].
Comme p2 > 0, sur [x2 , b] le taux de variation de f est strictement positif et f est
strictement croissante. Donc, pour x ∈ [x2 , b], on a :
Le minimum ne saurait être atteint sur [x2 , b] il est donc atteint sur [a, x2 ].
– on montre de la même façon que 0 ≤ p0 ≤ p2 ≤ p2 =⇒ µ ∈ [a, x1 ]...
(b) Voir pour cela le chapitre 6 de [1].
45
Corrigé n˚ 8.0.5 — corrigé de l’exercice 5
1. I = [a, b] et f & strict. sur ] − ∞, t0 ] ∩ I et f % strict. sur [t0 , +∞[∩I.
√
5−1
(a) Observons que si r est la solution positive de x2
+ x = 1, r = ∈]0, 1[,
√ 2
3− 5
r2 = 1 − r = ∈]0, 1[, ce qui assure que an ≤ λn ≤ µn ≤ bn lorsque
2
λn = an + r2 `n et µn = an + r`n , avec `n = bn − an .
alpha :=a;
beta :=b;
for k from 1 to n do
if evalf( f(lambda) - f(mu)) 0
then alpha:= lambda;
else beta := mu;
fi;
lambda := evalf(alpha + rˆ2*(beta-alpha));
mu := evalf(alpha + r*(beta-alpha));
od;
alpha,beta;
end:
46
g:=proc(x)
if x<=1 then 3-x
elif x <=2 then x+1
else 3;
fi;
end;
plot(g,0..3,0..3);
fsolve(3*rˆn=10ˆ(-5));
GS(g,0,3,27);
g := proc (x) if x <= 1 then 3−x elif x <= 2 then x+1 else 3 end if end proc
26.20787166
0.9999971839, 1.000004014
47
• si grad(F )(xn ) = 0, xn est le dernier terme de la suite qui est donc finie.
F (xn+1 ) = F (xn + λ∗n un ) ≤ F (xn + 0un ) = F (xn ), la suite (F (xn ))n est donc
décroissante et minorée (puisque F est minorée) et elle est convergente.
f:=(x,y)->ln(1+xˆ2+yˆ2+x*y);
plot3d(f(x,y),x=-1..1,y=-1..1);
[diff(f(x,y),x),diff(f(x,y),y)];
g:=unapply(%,(x,y));
2x + y 2y + x
(x, y) 7→ [ , ]
1 + x2 + y 2 + xy 1 + x2 + y 2 + xy
n:=12;
X:=[1.,3];
for k from 1 to n do
u := normalize(g(X[1],X[2]));
phi := lambda - f( X[1] + lambda*u[1], X[2] + lambda*u[2]);
m := GS(phi,-5,5,15);
lambdaStar := (m[1]+m[2])/2;
X := evalm(X+lambdaStar*u);
f(X[1],X[2]);
od;
n := 12
X := [1., 3]
u := [0.5812381936, 0.8137334712]
48
φ := λ− > f (X[1] + λu[1], X[2] + λu[2])
m := −2.921626370, −2.914294996
lambdaStar := −2.917960683
X := [−0.696030196, 0.625557725]
0.3649024098
..
.
X := [−0.001860518352, 0.0008530456106]
0.260299661210−5
49
Corrigé n˚ 8.0.6 corrigé de l’exercice 6 Approximation discrète au sens des moindres carrés
1. Généralités
(a) Si f est combinaison linéaire des d + 1 fonctions (ui )0≤i≤d , il existe (ai )i ∈ Kd+1 tel
que f (x) = di=0 ai ui (x) et alors
P
Pd
f (x1 ) i=0 ai ui (x1 ) d ui (x1 )
F = ... = .. X ..
= ai . .
.
Pd i=0
f (xN ) i=0 ai ui (xN )
ui (xN )
ui (x1 )
Ainsi le vecteur F est combinaison linéaire des d + 1 vecteurs ... . Nous
ui (xN )
noterons V le sous-espace de K N engendré par ces d+1 vecteurs. On peut exprimer
matriciellement :
u0 (x1 ) u1 (x1 ) . . . ud (x1 )
u0 (x2 ) u1 (x2 ) . . . ud (x2 ) a0
a1
F = UA = .
. .
. .
. ..
. . . .
ad
u0 (xN ) u1 (xN ) . . . ud (xN )
1 x1 . . . xd1
u0 (x1 ) u1 (x1 ) . . . ud (x1 ) d
u0 (x2 ) u1 (x2 ) . . . ud (x2 ) 1 x2 . . . x2
U = . = .
.. ..
.. . . .
. .
. .
.
. . .
u0 (xN ) u1 (xN ) . . . ud (xN ) d
1 xN . . . x N
2. Considérons une norme || || dans KN . D’après les préliminaires topologiques, pour tout
Y ∈ K N , il existe un vecteur F0 ∈ V (non nécessairement unique) de V sev de KN tel que
50
ii. pour tout B ∈ F, pour tout ε ∈ R, J(A) ≤ J(A + εB);
iii. pour tout B ∈ F, < U A − Y |U B >= 0.
(1) ⇒ (2) est immédiat.
(2) ⇒ (3) : la fonction de la variable réelle ε → J(A + εB) = ||U (A + εB) − Y ||22
s’exprime :
J(A + εB) = ||U (A + εB) − Y ||22 = ||U B||2 ε2 + 2ε < U B|U A − Y > +J(A).
J(X) = J(A+(X−A)) = ||U (X−A)||2 +2 < U (X−A)|U A−Y > +J(A) ≥ J(A).
q p q p
! !
X X X X
t
< M X|Y >= yk (t m)k,i xi = mi,k xi yk
k=1 i=1 k=1 i=1
51
Corrigé n˚ 8.0.7 corrigé de l’exercice 7
1 Pp
On note toujours f (x) = r2 (x) et tJ(x) la matrice de Mn,p (R ) dont les colonnes sont
2 k=1 k
les p gradients des fonctions rk .
1. Montrer que la matrice carrée tJ(x) J(x) est symétrique et positive.
2. Montre que tJ(x) J(x) est définie positive ssi (n ≤ p et J(x) est de rang n).
52
Références
[1] T HIERRY AUDIBERT, A MAR O USSALAH
Informatique, Programmation et Calcul Scientifique
Ellipses, 2013
[2] M. B ERGONIOUX .
Optimisation et contrôle des systèmes linéaires
Dunod, 2001
[3] J.F R ÉD ÉRIC B ONNANS , J.C HARLES G ILBERT, C LAUDE L EMAR ÉCHAL , C LAUDIA A. S A -
GASTZ ÁBAL .
Numerical Optimisation
Springer, 2006
[4] C LAUDE B REZINSKI , M ICHELA R EDIVO -Z AGLIA .
Méthodes numériques itératives
Ellipse, 2006
[5] J.P. D EMAILLY .
Analyse numérique et équations différentielles
PUG, 1996
[6] R ICHARD A. H OLMGREN .
A first course in dynamical systems
Springer, 2000
[7] SHOM .
http ://www.shom.fr/fr page/fr act oceano/maree/ondes.htm
la page du SHOM, Service hydrographique de la Marine
[8] B ERNARD S IMON .
La marée 1. La Marée océanique cotière
Institut océanographique Collection : SYNTHESES (2007)
[9] JAN A. S NYMAN .
Practical Mathematical Optimisation
Springer, 2005
53
Index
attractif moindres carrés
point fixe, 6 problème, 24
54