• Aucun résultat trouvé

resol num equations

N/A
N/A
Protected

Academic year: 2021

Partager "resol num equations"

Copied!
6
0
0

Texte intégral

(1)

Universit´e Claude Bernard–Lyon I CAPES de Math´ematiques : Oral 1 Ann´ee 2008–2009

M´ ethodes d’approximation de z´ eros de fonctions r´ eelles

On pourra prendre pour base la le¸con propos´ee par Daniel Perrin dans http://www.math.

u-psud.fr/~perrin/CAPES/Equations/equations07.pdf ou Denis Vekemans dans http:

//megamaths.perso.neuf.fr/oral1/cfon-04c13.pdf. Toutefois, quelques remarques me semblent n´ecessaires pour pr´eciser certaines choses ou r´epondre `a un certain nombre de ques- tions ´evidentes (enfin, ´evidentes pour le jury...).

• Cadre : Le cadre des th´eor`emes est tr`es restrictif. Il suppose implicitement qu’un travail pr´eliminaire a ´et´e accompli pour localiser un z´ero et un intervalle assez petit qui l’entour.

Outils rudimentaires pour ce travail : tracer le graphe, prendre des valeurs plus ou moins au hasard, ´etudier les variations... Pour les polynˆomes, il y a tout un tas de m´ethodes plus ou moins ´evolu´ees, telle la r`egle des signes de Descartes. Glissons cela rapidement, il vaut mieux ´eviter d’´etaler une culture que l’on n’a pas...

• En fait, une fonction continue “typique” est bien plus irr´eguli`ere que ce qu’on imagine : son graphe ressemble `a celui d’un mouvement brownien, et en particulier, il n’y a aucun intervalle sur lequel elle est monotone. (Il paraˆıt que l’on peut donner un sens pr´ecis

`

a cela...) En revanche, si une fonction de classe C1 s’annule en un point, il n’y a pas de raison que sa d´eriv´ee s’y annule aussi (bien sˆur, cela peut arriver !) ; idem pour la d´eriv´ee seconde d’une fonctionC2. Au voisinage d’un z´ero, les hypoth`eses sont donc assez g´en´eriques.

• Plutˆot que distinguer des cas selon le signe de f0 ou f00, dire tout de suite que l’on peut supposer f0 > 0 et f00> 0 quitte `a remplacer f par x 7→ ±f (±x) (cf. II (a)).

• On pr´esentera typiquement trois m´ethodes : dichotomie, s´ecante, Newton. Il est indis- pensable de donner `a chaque fois une majoration de l’erreur. Pour le choix de la preuve

`

a d´evelopper, je pense que celle de la dichotomie est un peu trop simple et que celle de la s´ecante est un peu trop compliqu´ee.

• Pour la dichotomie, ne pas h´esiter `a presenter la m´ethode comme un outil th´eorique pour prouver le th´eor`eme des valeurs interm´ediaires (qu’on ne prend pas comme pr´erequis) et comme un outil num´erique pour le cœur de la le¸con. Remarquer au moins `a l’oral que c’est la m´ethode la plus robuste ; en particulier, elle marche pour des fonctions non d´erivable avec la mˆeme efficacit´e.

• Si f est C1 et pasC2, on peut a priori appliquer toutes les m´ethodes (s´ecante, Newton), mais les majorations d’erreur sont ´evidemment inop´erantes. La question se pose de savoir si les m´ethodes convergent quand mˆeme ! Moyennant une hypoth`ese de convexit´e, c’est le cas (exercice...). Mais sans ¸ca, imaginer un exemple o`u la suite (xn) n’est pas bien d´efinie. Dans le mˆeme esprit : que donne la m´ethode de Newton si f0 s’annule en α (et seulement en α) ?

• Exemples et calculatrice : la strat´egie consistant `a en traiter un avec toutes les m´ethodes

`

a la fin semble bonne. Comme d’habitude ces questions ne sont pas aobrd´ees ici mais il ne faut pas les laisser de cˆot´e pour autant.

(2)

I Dichotomie

Soit a < b deux r´eels et f : [a, b] → R une fonction continue. On suppose que f (a)f (b) < 0.

On d´efinit alors par r´ecurrence deux suites (an) et (bn) par a0 = a, b0 = b et

∀n ∈ N, (an+1, bn+1) =











an,an+ bn

2



si f (an)f an+b2 n ≤ 0,

 an+ bn 2 , bn



sinon.

Montrons par r´ecurrence que pour tout n ∈ N, on a : an≤ an+1 ≤ bn+1≤ bn, bn− an= b − a

2n , f (an)f (bn) ≤ 0.

Pour n = 0, il n’y a qu’`a v´erifier la premi`ere s´erie d’in´egalit´es, qui va de soi : on a soit a1 = a et b1= (a + b)/2, soit a1 = (a + b)/2 et b1 = b.

Soit n ∈ N, supposons la propri´et´e vraie pour n. On a soit an+2 = an+1 et bn+2 = (an+1+ bn+1)/2, soit an+2= (an+1+bn+1)/2 et bn+2= bn+1; dans les deux cas, vu que an+1≤ bn+1, on a imm´ediatement an+1≤ an+2≤ bn+2≤ bn+1. L’´egalit´e bn+1− an+1 = (bn− an)/2 = (b − a)/2n va de soi.

Enfin, comme f (an) et f (bn) sont de signe contraire, f ((an+ bn)/2) n’a pas le mˆeme signe que l’un de ces deux nombres : si f (an)f ((an+ bn)/2) > 0, alors f (bn)f ((an+ bn)/2) ≤ 0. La d´efinition de (an+1, bn+1) assure donc que f (an+1)f (bn+1) ≤ 0.

Ainsi, la propri´et´e annonc´ee est prouv´ee par r´ecurrence. Les suites (an) et (bn) sont adjacentes, leur limite commune α v´erifie, par continuit´e de f : f (α)2 ≤ 0, c’est-`a-dire : f (α) = 0. On vient de d´emontrer le th´eor`eme des valeurs interm´ediaires et d’exhiber un algorithme qui donne un encadrement d’un z´ero de f (pas n´ecessairement le seul si f n’est pas monotone).

Remarque : Pour un algorithme de dichotomie, on prend g´en´eralement en entr´ee a, b et la pr´ecision ε `a laquelle on souhaite l’approximation d’un z´ero de f . Il est int´eressant de noter au passage le nombre de passages dans la boucle (pour comparer diff´erentes m´ethodes).

Exercice : `A l’aide de la m´ethode de dichotomie, montrer sans utiliser le th´eor`eme des ac- croissements finis que pour f d´erivable sur [a, b], si f0< 0, alors f est strictement d´ecroissante.

(Indication : proc´eder par contrapos´ee. En supposant qu’il existe c < d avec f (c) < f (d), ex- hiber deux suites adjacentes (cn), (dn) telles que (f (dn) − f (cn))/(dn− cn) ≥ (f (d) − f (c))/(d − c) > 0, et montrer qu’en la limite ` de ces suites, f0(`) ≥ 0. La fin est assez facile. Voir http://www.math.u-psud.fr/~perrin/CAPES/analyse/fonctions/Lagrange.pdf.)

II M´ethodes `a un pas

Dans la suite, on suppose que f : [a, b] → R est de classe C2 strictement croissante et strictement convexe, c’est-`a-dire que f0 > 0 et f00 > 0. On suppose aussi f (a)f (b) < 0, et f a donc un unique z´ero α ∈ [a, b[.

Le principe de ces m´ethodes est de construire une suite (xn) qui converge vers α : on choisit une droite passant par (xn, f (xn)) pour approximer la courbe, ne d´ependant que de xn, et on d´efinit xn+1 comme l’abscisse de l’intersection de cette droite et de l’axe des abscisses.

1 Remarques pr´eliminaires

(a) Sym´etries Quitte `a remplacer f par l’une des quatre fonctions suivantes, on peut et on va supposer sans perte de g´en´eralit´e que f est strictement croissante et convexe :

f1: x 7→ f (x), f2 : x 7→ f (−x), f3: x 7→ −f (x), f4 : x 7→ −f (−x).

(Si f = f1 est croissante convexe, f2 est d´ecroissante convexe, f3 est d´ecroissante concave et f4

est croissante concave – et r´eciproquement.)

(3)

(b) Equation de droites Consid´´ erons les points A(a, f (a)) et B(b, f (b)) sur le graphe de f , et soit c l’abscisse de l’intersection de la droite (AB) avec l’axe des abscisses. On v´erifie sans peine qu’alors, en notant p la pente de cette droite (suppos´ee non nulle), on a :

c = af (b) − bf (a)

f (b) − f (a) = a − f (a) p . 2 M´ethode de la “s´ecante `a pente fixe”

On suppose connaˆıtre m, M ∈ R qui bornent f0 : pour tout x ∈ [a, b], m ≤ f0(x) ≤ M . On pose alors p = m+M2 et on d´efinit une suite (xn) par x0= b et :

xn+1= xn−f (xn) p . On montre que sous les hypoth`eses pr´ec´edentes, on a :

|xn+1− α| ≤ M − m

M + m|xn− α|.

3 M´ethode de Lagrange

On d´efinit x0 = a et, pour n ≥ 0, xn+1 comme l’intersection de la droite passant par les points (b, f (b)) et (xn, f (xn)) (s´ecante `a la courbe). Ainsi :

xn+1= xnf (b) − bf (xn)

f (b) − f (xn) = xn− f (xn)

f (b)−f (xn) b−xn

.

Cela a un sens : sous les hypoth`eses de monotonie et de convexit´e pr´ec´edentes, on montre par r´ecurrence que a ≤ xn≤ α et donc que xn+1 est bien d´efini. En effet, l’expression

xn+1= f (b) f (b) − f (xn)

| {z }

λ≥0

xn+ −f (xn) f (b) − f (xn)

| {z }

1−λ≥0

b

de xn+1 comme barycentre de xn et b avec des coefficients positifs (f (xn) ≤ 0 car xn ≤ α) montre que xn≤ xn+1 ≤ b. Par convexit´e de f , le point (xn+1, 0) sur la s´ecante est au-dessus de (xn+1, f (xn+1)) sur la courbe, ce qui se traduit par f (xn+1) ≤ 0 = f (α), soit xn+1≤ α.

Majoration de l’erreur Soit

m1= inf

[a,b]

|f0| et M2 = max

[a,b]

|f00|.

On pose de plus, pour x ∈ [a, α],

g(x) = xf (b) − bf (x) f (b) − f (x) ,

d’o`u xn+1 = g(xn). On veut majorer |g(x) − α|. Pour cela, l’expression de g(x) comme barycentre de b et x donne sans calcul :

g(x) − α = f (b)

f (b) − f (xn)(x − α) + −f (x)

f (b) − f (x)(b − α).

Par le th´eor`eme des accroissements finis, le d´enominateur s’´ecrit f0(θ)(x−b) pour θ convenable : faute de mieux, on va le minorer par m1|x−b|. Cela incite `a faire apparaˆıtre b−x au num´erateur :

g(x) = − b − x f (b) − f (x)

 α − x

b − xf (b) +b − α b − xf (x)

 .

(4)

On voit apparaˆıtre dans la parenth`ese le barycentre de f (b), affect´e du coefficient µ = (α − x)/(b − x) ≥ 0 et de f (x), affect´e du coefficient 1 − µ ≥ 0. L’id´ee suivante, c’est se rappeler que l’on veut faire apparaˆıtre des d´eriv´ees d’ordre 2 ; d’o`u, formule de Taylor et, au d´epart, diff´erences de valeurs de f . Cela l´egitime d’introduire f (b) − f (α) au lieu de f (b) :

g(x) = − b − x f (b) − f (x)

 α − x

b − x(f (b) − f (α)) +b − α

b − x(f (x) − f (α))

 . Ecrivons donc les formules de Taylor : il existe u ∈ ]x, α[ et v ∈ ]α, b[ tels que´

(

f (b) − f (α) = (b − α)f0(α) +(b−α)2 2f00(v), f (x) − f (α) = (x − α)f0(α) +(x−α)2 2f00(u).

Petit miracle : la simplification des deux termes (b − α)(x − α)f0(α). Il reste : g(x) − α = − b − x

f (b) − f (x)(b − α)(x − α) b − α

b − xf00(v) +x − α b − xf00(u)

 .

Le terme entre les grandes parenth`eses est un barycentre de deux valeurs de f00avec coefficients 1 − µ et µ, donc il est major´e par M2. Ainsi :

|g(x) − α| ≤ M2(b − a) 2m1

|x − α|.

En appliquant `a x = xn, et en supposant b − a assez petit pour que le coefficient soit < 1, on voit que la suite xn converge vers α `a une vitesse au pire g´eom´etrique.

Voir une autre majoration et une autre preuve (plus ´el´ementaire) par Daniel Perrin (r´ef. au d´ebut).

4 M´ethode de Newton

Dans ce cas, on choisit pour droite la tangente `a la courbe de f passant par (xn, f (xn)). Sa pente ´etant f0(xn), on d´efinit (xn) par x0 = b et, pour n ≥ 0 :

xn+1= xn− f (xn) f0(xn).

On montre sans peine que cette suite est bien d´efinie et d´ecroissante : pour tout n, α ≤ xn ≤ xn+1 ≤ b. On en d´eduit facilement qu’elle converge vers α, et on montre facilement la majoration suivante :

|xn+1− α| ≤ M2 2m1

|xn− α|2.

L’existence de ce carr´e est pr´ecieuse : posons c = log10(M2/2m1), de sorte que la constante est 10c. Supposons que n soit assez grand pour qu’on connaisse α avec k d´ecimales exactes (i.e. |xn− α| ≤ 10−k, et k grand). Alors au rang suivant, on a une approximation avec 2k − c d´ecimales exactes.

En r´esum´e, on double presque le nombre de d´ecimales exactes `a chaque it´eration : c’est bien plus efficace que la convergence des m´ethodes pr´ec´edentes.

Exemple. Prenons f (x) = xq− β pour x ≥ 0, o`u q ∈ N et β > 0 fix´es. On calcule que g(x) = 1

q



(q − 1)x + β xq−1

 .

Pour q = 2, l’algorithme est connu depuis Babylone (tablette YBC 7289, voir par exemple http://www.bibnum.education.fr/mathematiques/tablette-ybc-7289).

Remarque. La m´ethode ne va pas bien se comporter si f0(α) = 0, car on n’aura pas de minoration de |f0|. Faire un dessin pour l’expliquer.

(5)

5 Principe de toutes ces m´ethodes `a un pas

On constate que ces m´ethodes `a un pas consistent `a remplacer l’´equation f (x) = 0 par une

´equation g(x) = x, o`u g : ]a, b[ → R est une fonction de la forme g(x) = x −f (x)

p(x),

o`u p(x) est la pente de la droite qui sert `a approximer la courbe. Ceci permet de voir la solution α comme limite d’une suite r´ecurrente d´efinie par xn+1= g(xn).

Une telle suite, si elle converge vers un point fixe attractif α (tel que |g0(α)| < 1), poss`ede en gros deux comportements diff´erents (r´ef´erence : premi`ere ´epreuve du CAPES 1998) :

• soit g0(α) 6= 0 : on obtient facilement une majoration de la forme |xn+1− α| ≤ k|xn− α|, avec 0 < k < 1, et un peu plus de travail montre que xn−α est ´equivalent, pour n → +∞,

`

a Ck0n pour 0 < k0 < 1 convenable ;

• soit g0(α) = 0 ; on supposera ici que g00(α) 6= 0 ; on obtient facilement une majoration de la forme |xn+1− α| ≤ k|xn− α|2, et un peu plus de travail montre que xn− α est

´

equivalent, pour n → +∞, `a Ck2n pour 0 < k < 1 convenable.

On essaie pour cette raison de choisir p(x) de sorte que g0(α) = 0. Ceci ´equivaut `a p(α) = f0(α), condition remplie si on prend par exemple p(x) = f0(x) –comme dans la m´ethode de Newton ! 6 It´eration de Householder (just for the sake of it)

Ne croyons pas que l’histoire s’arrˆete n´ecessairement ici ! Au lieu de remplacer comme avec Newton la courbe par sa tangente, on peut remplacer la courbe par sa parabole osculatrice, c’est-`a-dire f (x) par son DL d’ordre 2 au voisinage de xn : la fonction q d´efinie par

q(x) = f (xn) + (x − xn)f0(xn) + f00(xn)

2 (x − xn)2 poss`ede deux racines

θ±(xn) = xn+−f0(xn) ±pf0(xn)2− 2f (xn)f00(xn)

f00(xn) .

On a suppos´e f0 > 0 et on a en tˆete que xn est une bonne approximation de α, si bien que f (xn) est petit : les racines sont r´eelles. Plus pr´ecis´ement, f0(xn) ≥ m1 > 0 et f00(xn) ≤ M2. On va faire un DL de θ±(xn) :

θ±(xn) = xn+

−f0(xn) ± f0(xn) q

1 −2f (xfn0(x)fn00)(x2 n)

f00(xn)

= xn+

−f0(xn) ± f0(xn)

1 −f (xfn0(x)fn00)(x2n)f (x4fn)02(xf00n(x)4n)2 + o(f (xn)2))

f00(xn) .

On choisit la racine θ+, la plus proche de celle de la m´ethode de Newton : θ+(xn) = xn− f (xn)

f0(xn)−f (xn)2f00(xn)

4f0(xn)3 + o(f (xn)2).

Pour cette m´ethode, la suite des approximations est d´efinie par : xn+1= xn− f (xn)

f0(xn) −f (xn)2f00(xn) 4f0(xn)3 .

Sous r´eserve que f soit C3, la rumeur publique semble dire qu’il serait possible de d´emontrer une majoration de la forme |xn+1− α| ≤ C|xn− α|3 : `a chaque ´etape, on triple le nombre de d´ecimales exactes.

(6)

III Une m´ethode `a deux pas (just for the sake of it)

Il peut arriver que l’on ne dispose pas de formule analytique pour f0, ou que son calcul soit trop coˆuteux en temps. Dans ce cas, on peut imaginer prendre pour droite approximante la s´ecante passant par (xn, f (xn)) et (xn−1, f (xn−1)). On d´efinit alors xn+1 par une r´ecurrence `a deux pas :

xn+1 = xn− f (xn)

f (xn)−f (xn−1) xn−xn−1

= xn−1f (xn) − xnf (xn−1) f (xn) − f (xn−1) .

On peut reprendre la majoration de II 3pour obtenir, pour n ≥ 1 et C = M2/(2m1) constant :

|xn+1− α| ≤ C|xn− α| · |xn−1− α|.

On pose alors δn = ln(C|xn− α|), ce qui donne δn+1 ≤ δn+ δn−1. Il est naturel de comparer δn `a la suite de type Fibonacci d´efinie par une ´egalit´e dans la r´ecurrence pr´ec´edente. Comme chacun sait ou ne sait pas, une telle suite vaut Kφn+ K0n, o`u φ = (1 +√

5)/2 est le nombre d’or. Sachant que δn→ −∞, on en d´eduit qu’elle est minor´ee par Kφn avec K < 0, puis que

|xn− α| ≤ en/C.

On dit que l’on a une m´ethode d’ordre φ : `a chaque it´eration, le nombre de d´ecimales exactes est asymptotiquement multipli´e par φ : c’est une convergence moins rapide que la m´ethode de Newton, mais beaucoup plus que les autres m´ethodes `a un pas.

R´ef´erence : Michelle Schatzmann, Analyse num´erique partie 4, Dunod.

Références

Documents relatifs

Si M est un num´ eraire, on peut ´ evaluer la valeur V t d’une strat´ egie en terme de ce num´ eraire, soit V t /M

La diff´ erence entre le th´ eor` eme et sa r´ eciproque tient aux conclusions et aux hypoth` eses : Pour montrer que deux droites sont parall` eles, on utilise le th´ eor` eme de

Dans le cas pr´ esent, la part du cuisinier serait de trois pi` eces, mais les pirates se querellent et six d’entre eux sont tu´ es, ce qui porte la part du cuisinier ` a quatre

On consid`ere un triangle quelconque ABC et deux points M et N situ´es respectivement sur les cˆ ot´es [AB] et [AC] tels que (M N)//(BC).. Prouver que le rapport des aires des

Petit guide de calcul diff´ erentiel ` a l’usage de la licence et de l’agr´ egation..

Th`emes d’analyse pour l’agr´egation, St´ephane GONNORD &amp; Nicolas TOSEL, page

Comme f est continue sur [0, 1] (compact) elle est born´ee et atteint

[r]