©Arnaud de Saint Julien -Informatique- MPSI Lycée La Merci 2016-2017 1
TP : «résolution d’équations algébriques»
Objectifs du TP
implémenter la méthode de dichotomie et de Newton pour la recherche de zéros
Observer les points forts et les limites des deux méthodes
Savoir estimer une dérivée
1 Méthode par dichotomie
Exercice 1 (Implémentation de la dichotomie) Écrire une fonction dichotomie qui renvoie la valeur ap-
prochée du zéro αdans [a, b] d’une fonction continue fselon la méthode de dichotomie :
les arguments de dichotomie devront être : la fonction f, des réels aet b, avec a < b et un réel ε > 0 qui
peut être égal à 1010 par défaut.
le résultat renvoyé doit être une valeur approchée de αàεprès.
on testera au préalable si f(a)f(b)>0, et dans ce cas, on renverra None.
Exercice 2 (Utilisation) On note fla fonction définie par f(x) = (x2)2+ 1. Les racines de fsont 1 et 3.
1. Choisir différentes valeurs de aet b, de façon que dichotomie approxime ces deux racines.
2. On prend a= 0 et b= 4. Réfléchir un instant, et deviner la valeur qui sera renvoyée. Vérifier.
3. Comment utiliser la fonction dichotomie pour obtenir une valeur approchée du nombre π.
4. Comment utiliser la fonction dichotomie pour obtenir une valeur approchée du nombre 3
2 à 104près.
Exercice 3 (Complexité, efficacité)
1. Modifier votre fonction dichotomie de façon à ce qu’elle affiche le nombre d’itérations effectuées. Tester
là avec la fonction g:x7→ x22 entre 0 et 2 pour des εde la forme 2kpuis de la forme 10k.
2. Combien faut-il d’itérations supplémentaires pour gagner une décimale de précision ?
3. Pour approximer 2, on a exécuté dichotomie(g, 0, 2, 10**(-n)) avec gune fonction bien choisie.
On sait que l’algorithme a effectué 17 itérations. Déterminer la valeur de la variable n.
4. Exécuter dichotomie(g, 0, 2, 2**(-n)) pour n∈ {51,52,53,54}. Observer le problème et proposer
une solution.
5. La fonction dichotomie est déjà implémentée sous Python par la fonction bisect du module scipy.optimize.
Afficher la notice de cette fonction, et indiquer quel est l’argument optionnel évitant la difficulté rencontrée
à la question précédente.
2 Méthode de Newton
Exercice 4 (Méthode de Newton) Soit f:RRune fonction dérivable et x0R. On construit par
récurrence la suite (xn) : si xnest construit, on note Tnla tangente à la courbe de fau point d’abscisse xnet
on pose xn+1 le point d’intersection de Tnavec l’axe des abscisses.
1. Déterminer l’expression de xn+1.
2. Écrire une fonction newton prenant en entrée f,f, le premier terme x0, un réel ε > 0 et renvoyant le
premier terme xkde la suite tel que |xkxk1|6ε. On pourra démarrer par : def newton(f, fprime,
x0, epsilon = 10**-6):
©Arnaud de Saint Julien -Informatique- MPSI Lycée La Merci 2016-2017 2
Exercice 5 (Utilisation)
1. Donner une approximation de 2 avec la méthode de Newton en partant du point 2.
2. Modifier votre fonction newton de façon à ce qu’elle affiche les valeurs intermédiaires et le nombre d’ité-
rations effectuées. Tester là avec la fonction g:x7→ x22 en partant du point de votre choix. Comparer
avec la méthode de dichotomie.
3. Combien faut-il d’itérations supplémentaires pour gagner une décimale de précision ? Quelle précision est
gagné à chaque itération ?
Exercice 6 (Difficultés) Une des difficultés de la méthode de Newton est de bien choisir x0de sorte que l’on
ne tombe pas sur un point où la dérivée s’annule.
1. Tracer l’exécution de newton avec la fonction cos en partant des points 1, 0.5, 0.1 puis 0.01. Commenter.
2. Si une fonction s’annule plusieurs fois, il se peut que la suite de points obtenus par la méthode de Newton
converge vers la «mauvaise» racine (pas celle que l’on voulait approximer). Faire un schéma qui illustre
cette situation : tracer l’allure d’une courbe d’une fonction admettant deux zéros et choisir un x0tel que
la suite converge vers la racine la plus éloignée de x0.
3 Approximation de la dérivée
Si la fonction fn’est pas définie par une formule mais par ses valeurs en certains points, on ne peut pas
calculer la dérivée f. On peut toutefois en obtenir des approximations :
3.1 Approximation par le taux d’accroissement à droite
Si fest une fonction dérivable en x0, pour h > 0 proche de 0, on a
f(x0)f(x0+h)f(x0)
h.
On peut estimer l’erreur commise par cette approximation à l’aide du résultat mathématique suivant :
Si fde classe C1sur [x0, x0+h] avec M1= sup[x0,x0+h]|f|, on démontre par l’inégalité de Taylor-Lagrange :
f(x0)f(x0+h)f(x0)
h
6hM1
2.
Exercice 7 Écrire une fonction prenant en entrée f, x0, h et renvoyant une approximation de f(x0) par le taux
d’accroissement.
Exercice 8 Tester la fonction précédente pour des valeurs de hde la forme 1
10kpour différents fonctions :
1. la fonction exp en 0. Pour cela, on calculera l’erreur commise en fonction de h. Les observations sont-elles
conforment à l’erreur théorique.
2. la fonction cos en π
6.
3. la fonction sin en 0. L’erreur vous paraît-elle linéaire en h? Une explication : au vosinage de 0, On a
sin hhh3
6donc sin h
h1h2
6.
©Arnaud de Saint Julien -Informatique- MPSI Lycée La Merci 2016-2017 3
3.2 Approximation par la moyenne des taux d’accroissement à gauche et à droite
pour h > 0 proche de 0,
f(x0)1
2f(x0h)f(x0)
h+f(x0+h)f(x0)
h=f(x0+h)f(x0h)
2h.
Comme toujours, en moyennant on obtient une approximation meilleure, on peut montrer que si fest de classe
C3sur [x0, x0+h] avec M3= sup[x0,x0+h]|f(3)|, on a :
f(x0)f(x0+h)f(x0h)
2h
6h2M3
6.
Exercice 9 Écrire une fonction prenant en entrée f, x0, h et renvoyant une approximation de f(x0) par la
moyenne des taux d’accroissement.
Exercice 10 Tester la fonction précédente pour des valeurs de hde la forme 1
10kpour différents fonctions :
1. la fonction exp en 0. Pour cela, on calculera l’erreur commise en fonction de h. Les observations sont-elles
conforment à l’erreur théorique.
2. la fonction cos en π
6.
Exercice 11 En déduire une fonction newtonBis implémentant l’algorithme de Newton mais en remplaçant la
fonction dérivée par son approximation obtenue à la question précédente.
4 Une ouverture vers les fractals, bassins d’attraction
Les deux exercices qui suivent sont inspirés du blog de Stéphane Gonnord et de l’article suivant sur les
fractals http://images.math.cnrs.fr/La-methode-de-Newton-et-son.html.
Exercice 12 (Bassin d’attraction des racines carrées) Soit Zun nombre complexe. On sait par le cours
de mathématiques que Zadmet deux racines carrées complexes opposées (identiques si Z= 0).
1. On applique la méthode de Newton à la fonction x7→ x2882. Donner l’expression de la suite récurrente
que l’on calcule. Vers quel réel peut-on espérer la convergence ? Tester en prenant comme points de départ
2,1 puis 1,2.
2. Au lieu de choisir un réel comme point de départ, nous allons chosir un nombre complexe. Testons avec
1 + i, 1i, 1 + i, 1i, i, i. En Python, l’instruction complex(1,i) représente le nombre complexe
1 + i.
Commentaire : l’axe des ordonnées est donc une ligne de séparation de deux comportements différents de la
suite selon la valeur de départ. A sa gauche, c’est le «bassin d’attraction» de la solution 882 ; et à sa droite,
celui de 882.
3. Dessiner le bassin d’attraction pour la fonction complexe z7→ 1
2(z+Z
z) avec Z= 1 + i.
Exercice 13 (Bassins d’attraction d’une fonction cubique) Si on applique la méthode de Newton à l’ap-
plication complexe f:z7→ z31, on peut montrer que la suite converge pour sauf pour un ensemble dénombrable
de valeurs initiales (celles qui conduisent à un zéro de la dérivée de f) vers 1, j ou j2les racines cubiques de
l’unité.
Nous allons maintenant construire un graphique : si u0Cest une valeur initiale, on calcule ule 20-ième
terme obtenue par la méthode de Newton :
si |u1|6105, on considère que la suite converge vers 1, et on colorie le point d’affixe u0en rouge.
si |uj|6105, on considère que la suite converge vers j, et on colorie le point d’affixe u0en vert
si |uj2|6105, on considère que la suite converge vers j2, et on colorie le point d’affixe u0en bleue
sinon, on colorie le point d’affixe u0en noir.
Tracer 10000 points de départ d’affixe u0uniformément répartis dans le carré [2,2]2.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !