Livre_silo 30 août 2013 16:32 Page 212
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
212
Informatique pour tous
Enfin, ces fonctions intégrées commentent parfois la qualité supposée de leur résultat :
In [14]: scipy.optimize.fsolve(lambda (x,y):(x+y**2,1+y+x**2),(0,0))
/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py:152:
RuntimeWarning: The iteration is not making good progress, as
measured by the improvement from the last ten iterations.
warnings.warn(msg, RuntimeWarning)
Out[14]: array([-0.33145845, -0.75398696])
8.4 Exercices
Exercice 8.7 Comment approcher numériquement f ′′ (x 0 ) ? Proposer une formule, puis une majoration
du reste dans un cadre raisonnable. Tester la formule proposée sur des exemples simples et vérifier l’ordre
de grandeur de l’erreur.
Dans les différents cas, dans quelle zone se trouvent les pas optimaux ?
Exercice 8.8 Cet exercice est inspiré du chapitre 12 de [Holmgren], qui contient de nombreuses autres
pistes d’expérimentation de la méthode de Newton sur les polynômes de petit degré.
On s’intéresse ici aux valeurs obtenues par itération de la méthode de Newton pour la fonction
f : x → x 3 + cx + 1, avec 0 comme valeur initiale.
1 Pour c > 0, la méthode de Newton converge pour tout choix de la valeur initiale. Faire un dessin pour
s’en convaincre et démontrer effectivement le résultat à titre d’exercice de mathématiques. Expérimenter avec différentes valeurs de c et u 0 .
2 On prend ici c = 0. Donner les premiers termes, si u 0 = 0.8. À l’aide d’un dessin, prédire le comportement de la méthode de Newton en fonction du premier terme. Expérimenter et démontrer.
On pourra établir que la méthode de Newton est convergente, sauf pour un ensemble dénombrable
de valeurs initiales, pour lesquelles la suite des itérées rencontre la valeur 0 et n’est alors plus définie au
delà.
3 Dans cette question, on fixe c = −1. La méthode de Newton est-elle convergente ?
Sur la figure 8.7, c prend 2000 valeurs entre −1.29 et −1.27 ; on représente (avec un point) chaque
itérée un de Newton avec u 0 = 0 et 100 ⩽ n ⩽ 150. Plus précisément, on ne représente que celles
appartenant à [−0.15, 0.1] : il existe une autre zone, vers u 0 = 0.8, dans laquelle on observe le même
schéma de bifurcation.
Exercice 8.9 Dans la méthode d’extraction de racines du paragraphe 8.2.1, si on remplace la relation
u n+1 =
1
2
(
un +
2
un
)
par u n+1 =
1
2
(
un +
K
un
)
où K est un réel positif, alors la suite (un) n∈N
converge vers
√
K.
1 Appliquer la méthode de Newton à la fonction x → x 2 − K, avec K le complexe 1 + i et différentes
valeurs initiales u 0 .
Le complexe 1 + i est construit en Python par complex(1,1) : aucune bibliothèque n’est requise.
2 Comparer le résultat à celui renvoyé par complex(1,1)**(0.5).
3 Question de mathématiques : en fonction du premier terme, vers quelle « racine carrée » de z 0 ̸ = 0
converge la méthode de Newton appliquée à z → z 2 − z 0 ?
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
212
Informatique pour tous
Enfin, ces fonctions intégrées commentent parfois la qualité supposée de leur résultat :
In [14]: scipy.optimize.fsolve(lambda (x,y):(x+y**2,1+y+x**2),(0,0))
/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py:152:
RuntimeWarning: The iteration is not making good progress, as
measured by the improvement from the last ten iterations.
warnings.warn(msg, RuntimeWarning)
Out[14]: array([-0.33145845, -0.75398696])
8.4 Exercices
Exercice 8.7 Comment approcher numériquement f ′′ (x 0 ) ? Proposer une formule, puis une majoration
du reste dans un cadre raisonnable. Tester la formule proposée sur des exemples simples et vérifier l’ordre
de grandeur de l’erreur.
Dans les différents cas, dans quelle zone se trouvent les pas optimaux ?
Exercice 8.8 Cet exercice est inspiré du chapitre 12 de [Holmgren], qui contient de nombreuses autres
pistes d’expérimentation de la méthode de Newton sur les polynômes de petit degré.
On s’intéresse ici aux valeurs obtenues par itération de la méthode de Newton pour la fonction
f : x → x 3 + cx + 1, avec 0 comme valeur initiale.
1 Pour c > 0, la méthode de Newton converge pour tout choix de la valeur initiale. Faire un dessin pour
s’en convaincre et démontrer effectivement le résultat à titre d’exercice de mathématiques. Expérimenter avec différentes valeurs de c et u 0 .
2 On prend ici c = 0. Donner les premiers termes, si u 0 = 0.8. À l’aide d’un dessin, prédire le comportement de la méthode de Newton en fonction du premier terme. Expérimenter et démontrer.
On pourra établir que la méthode de Newton est convergente, sauf pour un ensemble dénombrable
de valeurs initiales, pour lesquelles la suite des itérées rencontre la valeur 0 et n’est alors plus définie au
delà.
3 Dans cette question, on fixe c = −1. La méthode de Newton est-elle convergente ?
Sur la figure 8.7, c prend 2000 valeurs entre −1.29 et −1.27 ; on représente (avec un point) chaque
itérée un de Newton avec u 0 = 0 et 100 ⩽ n ⩽ 150. Plus précisément, on ne représente que celles
appartenant à [−0.15, 0.1] : il existe une autre zone, vers u 0 = 0.8, dans laquelle on observe le même
schéma de bifurcation.
Exercice 8.9 Dans la méthode d’extraction de racines du paragraphe 8.2.1, si on remplace la relation
u n+1 =
1
2
(
un +
2
un
)
par u n+1 =
1
2
(
un +
K
un
)
où K est un réel positif, alors la suite (un) n∈N
converge vers
√
K.
1 Appliquer la méthode de Newton à la fonction x → x 2 − K, avec K le complexe 1 + i et différentes
valeurs initiales u 0 .
Le complexe 1 + i est construit en Python par complex(1,1) : aucune bibliothèque n’est requise.
2 Comparer le résultat à celui renvoyé par complex(1,1)**(0.5).
3 Question de mathématiques : en fonction du premier terme, vers quelle « racine carrée » de z 0 ̸ = 0
converge la méthode de Newton appliquée à z → z 2 − z 0 ?
