Résolution approchée des équations - Univers TI

publicité
13
Chapitre
Chapitre 13.
Résolution
approchée des
équations
Rares sont les équations en mathématiques que l’on peut effectivement résoudre. Les équations
polynomiales du premier et second degré sont particulièrement bien connues et étudiées. Pour le reste,
la situation se dégrade très vite ! Si l’on dispose effectivement de formules de résolution générale
pour les troisième et quatrième degrés, elles ne sont que très rarement utilisées dans la pratique, à
cause de leur complexité. Quant au cinquième degré, ou au-delà, on sait depuis Abel et Galois
qu’elles ne peuvent être résolues par radicaux… Sans parler bien sûr des équations non polynomiales,
pour lesquelles des méthodes générales de résolution n’existent que très rarement.
Autant dire qu’il est important, sinon essentiel, d’être capable de résoudre de façon approchée des
équations de type f(x) = 0, où f est une fonction réelle de variable réelle quelconque, que nous
supposerons dans tout ce chapitre continue sur son intervalle de définition.
Sommaire
Chapitre 13. Résolution approchée des équations ........................................... 265
1.
Position du problème............................................................................... 267
1.1 Introduction et notations ............................................................... 267
2.
3.
4.
1.2
Quelles équations résoudre ?...................................................... 267
1.3
Notre choix ...................................................................................... 270
Mise en jambe : la méthode de balayage ............................................ 271
Méthode de dichotomie ........................................................................... 272
3.1 La description de la méthode....................................................... 272
3.2
Mise en œuvre sur le tableur ....................................................... 274
3.3
La dichotomie par programme .................................................... 275
Méthode de Lagrange ou des parties proportionnelles ..................... 280
4.1 Le principe de la méthode de Lagrange .................................... 280
4.2
Une première approche ................................................................ 281
4.3
Cas d’une fonction à convexité constante ................................. 285
4.4
Un algorithme lorsque f’’f’ > 0 ...................................................... 293
Christian Vassard (IUFM Rouen)
266
Mathématiques et TI-Nspire
5.
La méthode de Newton ........................................................................... 296
5.1 Le principe de la méthode de Newton ........................................ 296
5.2
Une première approche ................................................................ 297
5.3
Cas d’une fonction à convexité constante ................................. 300
5.4
Un algorithme lorsque f’’f’ > 0 ...................................................... 301
ANNEXE : Maximum et minimum d’une fonction.......................................... 303
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
267
1. Position du problème
1.1 Introduction et notations
Soit donc à résoudre de façon approchée une équation du type f(x) = 0, où f est une fonction définie et
continue sur un intervalle I de  et à valeurs dans .
L’idée est de construire une suite, au moyen de diverses méthodes que nous allons étudier… suite
convergeant, de préférence rapidement, vers la solution cherchée.
On supposera de plus que l’étude de la fonction f a permis de déterminer un intervalle [a ; b] sur
lequel f est strictement monotone et change de signe1. Moyennant ces hypothèses, l’équation n’a
qu’une seule solution, notée , sur l’intervalle [a ; b].
En isolant un intervalle [a ; b]. sur lequel n’existe qu’une seule solution à l’équation, on dit que l’on a
procédé à la séparation des racines.
1.2 Quelles équations résoudre ?
La résolution, même approchée, des équations est un problème essentiel que l’on rencontre dans tous
les domaines des mathématiques. Passons en revue quelques situations classiques.

Calcul de constantes célèbres
C’est la première idée qui vient : on calcule facilement les constantes mathématiques qui sont des
nombres algébriques2 par la résolution d’équations polynomiales simples, à coefficients dans .
Par exemple, en appliquant une méthode de résolution approchée aux équations x2 – 2 = 0 ou
x3 – 2 = 0, on obtiendra une valeur approchée de
2 ou
3
2.
Remarquons d’ailleurs que ce n’est pas parce qu’on les désigne mathématiquement avec un radical
que l’on est plus avancé sur la valeur qu’ils ont3 !

Une équation proposée par Léonard de Pise (ou Fibonacci 1175-1250).
Dans un court traité, Flos, « Fleurs de solutions de certaines questions relatives au nombre et à la
géométrie », Léonard de Pise résout vers 1225 quinze problèmes de nature algébrique4 : treize du
premier degré, un du second et un du troisième. Il s’agit, nous dit l’auteur, « de questions épineuses
exposées d’une manière fleurie » : on appréciera la métaphore.
C’est bien sûr le problème du troisième degré, un de ceux proposés par l’Empereur, qui nous intéresse
ici : résoudre l’équation du troisième degré x3 + 2x2 + 10x = 205.
Fibonacci en propose une solution comportant 9 décimales exactes, à une époque où les formules
générales de résolution6 n’étaient pas connues :
x  1,368808107.
1
Autrement dit, f(a) × f(b) < 0.
2
C’est-à-dire solutions d’équations polynomiales à coefficients entiers.
3
Une notation comme 2 relève du calcul littéral pur et simple : ce n’est qu’une façon commode de désigner le nombre positif qui a pour
carré 2... On aurait pu l’appeler  et faire du calcul littéral avec cette lettre, en remplaçant partout 2 par 2. C’est d’ailleurs peu ou prou ce
que l’on fait avec 2 .
4
Dont trois avaient été proposés par l’Empereur Germanique Frédéric II.
5
Le 20 est dans le membre de droite pour éviter les nombres négatifs, qu’on n’appréciait pas à l’époque.
6
Elles furent mises en évidence à la Renaissance Italienne, au XVIe siècle, notamment par Jérôme Cardan.
© T³ France 2010 / Photocopie autorisée
268

Mathématiques et TI-Nspire
Construction de tables trigonométriques
On le sait peu, mais la construction d’une table trigonométrique, comme on le faisait avant la
démocratisation des calculatrices et même avant les séries7, passe par la détermination la plus précise
qui soit de la valeur de sin 1° : de cette valeur, on peut déduire toute la table avec les formules
d’addition.
Une des méthodes employées pour déterminer sin 1° consiste à résoudre de façon approchée une
équation polynomiale de degré 38.
En effet, à partir de la relation trigonométrique bien connue :
sin 3x = 3 sin x – 4 sin3 x.
on peut déduire que sin 1°, dont on cherche la valeur, est solution de l’équation du troisième degré :
sin 3° = 3x – 4x3.
Tout le problème revient donc à calculer au préalable sin 3° de la façon la plus précise qui soit.
Paradoxalement, ce calcul ne pose pas un gros problème mathématique9.
En effet, on connaît de façon exacte, et donc aussi précise que l’on veut, les sinus et cosinus de 60° ou
72°… donc par différence les sinus et cosinus de 12° puis, par dichotomies successives – rappelons
x
1  cos 2 x
x
1  cos 2 x
les formules sin 
et cos 
– sin 6° et enfin sin 3°.
2
2
2
2
Le calcul exact de sin 3° peut de notre jour être mené de façon simple… grâce au calcul formel. Mais
le résultat que l’on obtient, bien que parfaitement exact, est à peu près inexploitable :
7
Encore que les séries soient de très mauvais outils calculatoires en fait !
8
C’est al-Kashi, autour de l’an 1400, qui propose cette méthode et en donne une résolution élégante et efficace par approximations
successives. Voir le chapitre suivant.
9
Mais un problème de temps, on s’en doute ! À l’époque, on ne reculait pas devant ces calculs pénibles et rébarbatifs. Et puis… on n’avait
pas le choix !
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
269
On mesure bien la difficulté de la détermination de sin 1°, à laquelle se sont heurtés ceux qui ont
voulu construire les premières tables trigonométriques. Poursuivre cette dichotomie nous fait passer
légèrement à côté de la valeur sin 1° que l’on cherche à atteindre : après 3°, on aurait ensuite les sinus
et cosinus de 1° 30’, puis de 45’. D’où l’enjeu de l’existence d’une méthode pour calculer sin 1°.

Le quatrième degré et le problème des échelles...
Les équations, même de degré plus élevé, peuvent intervenir là où on les attend le moins. Par
exemple, dans ce petit exercice « innocent », concret, mais dont la résolution fait intervenir une
équation polynomiale de degré 4.
Deux échelles sont appuyées sur les deux murs opposés d'un couloir, comme sur la figure ci-contre.
L'une mesure 3 mètres de longueur l'autre 2 mètres. Sachant qu'elles se croisent à 1 mètre du sol, on
demande de calculer la largeur L du couloir.
Utilisons les notations de la figure ci-dessus. Trouver la largeur du couloir revient à connaître les
longueurs a et b.
Tout d’abord, d’après le théorème de Thalès appliqué aux triangles rectangles ABC et AED :
BC AB
b
soit d  .

a
DE AE
De la même façon, on peut montrer que c 
a
, ce qui permet de remarquer que d et c sont inverses
b
l’un de l’autre.
Exprimons maintenant GD2 en utilisant le théorème de Pythagore d’abord dans le triangle rectangle
GDC, puis dans le triangle rectangle GFD. On en déduit l’égalité :
4   c  1  9   d  1
2
soit en remplaçant d par
2
1
:
c
1 2
 1
c2 c
En multipliant des deux côtés par c2 ( 0) on arrive à :
4  c 2  2c  1  9 
4c2  c4  2c3  c2  9c2  1  2c  c2
Soit finalement
c4  2c3  5c2  2c  1  0
© T³ France 2010 / Photocopie autorisée
270
Mathématiques et TI-Nspire
équation du quatrième degré !
La résolution est évidemment possible à la calculatrice10, mais elle est approchée...
On en déduit que a + b =



4  1  c2  1,63 mètres.
Des équations non polynomiales
D’autres équations non polynomiales sont classiques comme par exemple :
x + ln x = 0 ou x = cos x.
Leur résolution approchée est d’autant plus intéressante qu’il n’existe pas de méthode pour en
déterminer les solutions exactes.
1.3 Notre choix
Notre préférence, puisqu’il faut choisir, ira à l’équation de Fibonacci x3 + 2x2 + 10x – 20 = 0, clin
d’œil par-dessus presque huit siècles de mathématiques, avec des méthodes aujourd’hui bien
différentes de celles dont il disposait.
Une étude rapide de la fonction f, que nous ne détaillerons pas, montre que cette équation possède une
solution unique dans , comprise entre les entiers 1 et 2.
Le graphique confirme ce résultat et donne une valeur approchée de l’abscisse du point d’intersection
de la courbe et de l’axe des abscisses : 1,3688081.
10
Pour ceux qui ne supporteraient pas de ne pas avoir la solution !
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
271
Par ailleurs, on peut utiliser la fonction solve qui renvoie, non pas un résultat exact, mais une valeur
approchée avec comme d’habitude 12 chiffres significatifs ou 14 si l’on fait apparaître les 2 chiffres
de réserve supplémentaires :
2. Mise en jambe : la méthode de balayage
La méthode de balayage constitue une première approche au problème de la résolution des équations,
d’autant plus intéressante que cette méthode peut être facilement mise en œuvre dans les lycées avec
les calculatrices des élèves. En général, on a encadré la solution par deux entiers consécutifs ; on
procède alors à un balayage des valeurs de x par pas de 1/10, puis 1/100, 1/1000 etc. pour localiser la
racine dans un intervalle de plus en plus petit. Le tableur de la calculatrice se prête particulièrement
bien à cette démarche.
Il est souvent plus simple de définir au préalable la fonction avec laquelle on travaille en ligne de
commande dans l’application Calculs :
On insère ensuite une page Tableur & listes. Il est prudent de régler le classeur à 12 décimales.
La borne inférieure du balayage est saisie dans la cellule B1 et mémorisée dans une variable a. Dans
A1, on peut mettre la chaîne de caractères "Valeur inférieure".
On procède de même pour la borne supérieure du balayage, mémorisée dans une variable b. Ce sont
les deux seules données à saisir dans cette feuille de calcul.
© T³ France 2010 / Photocopie autorisée
272
Mathématiques et TI-Nspire
Le reste se calcule automatiquement à partir des valeurs entrées :
B4 donne le pas du balayage, avec la formule =(B2–B1)/10 , mémorisé dans une variable h ;
dans la zone grisée de la colonne C, on saisit =seq(a+k.h,k,0,10) pour engendrer les valeurs
balayées, ici par dix-millièmes entre 1,368 et 1,369 ; cette liste de valeur est nommée xx ;
dans la zone grisée de la colonne D, on tape =f(xx) pour calculer les images de chacune des
valeurs de la colonne C par la fonction f ;
dans F1, un test =when(d1.d2<0,d1,void,void) permet de localiser le changement de signe ;
on peut faire afficher cette valeur en F1.
L’écran précédent montre que la solution de l’équation de Fibonacci est comprise entre 1,3688 et
1,3689… On poursuivrait en mettant ces valeurs dans les cellules B1 et B2.
Cette feuille de calcul peut être couplée à l’éditeur mathématique11 :
La valeur F1 de la feuille de calcul, préalablement recopiée en G1, est simplement stockée dans une
variable vmin, celle qui apparaît à l’avant dernière ligne de l’écran précédent ; l’autre résultat n’est
autre que vmin+h.
3. Méthode de dichotomie
3.1 La description de la méthode
Le balayage est une méthode efficace, mais laborieuse. On s’épargne de nombreux calculs
intermédiaires en visant de suite au milieu de l’intervalle : c’est le principe de la dichotomie12. On
récupère de plus à chaque étape un encadrement de la solution cherchée.

Traduisons cette approche en termes de suite.
Tout revient donc à travailler avec deux suites réelles (an) et (bn) dont les termes initiaux sont
a0  a et b0  b . La solution cherchée  est comprise entre a0 et b0.
11
Voir le fichier tns pour plus de précisions.
12
D’après l’étymologie de dichotomie, couper en deux.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
273
a0  b0
. De deux choses l’une :
2
ou bien f  a0  f  c0   0 et  est compris entre a0 et c0 ;
Visons au milieu, c’est-à-dire considérons la valeur c0 
ou bien f  a0  f  c0   0 et  est compris entre c0 et b013.
Le processus peut alors être réitéré avec un intervalle encadrant  dont la longueur a été divisée par 2.
Plus généralement, supposons donc connus les termes an et bn de nos deux suites, encadrant . On
a b
calcule d’abord cn  n n et on observe si le changement de signe de la fonction a lieu entre an et
2
cn ou entre cn et bn :
Dans le premier cas, autrement dit si f  an  f  cn   0 , on pose an1  an et bn1  cn ; sinon on pose
an1  cn et bn1  bn .
Ces choix garantissent qu’à l’étape qui suit la racine  est dans l’intervalle an1 ; bn1  .
Ceci définit bien par récurrence deux suites. À chaque étape, on a f  an   f  bn   0 , donc la racine
 que l’on cherche à approximer est dans l’intervalle an , bn  pour tout entier naturel n. Un intervalle
au demeurant dont la longueur est à chaque étape divisée par 2…

Ces deux suites sont adjacentes.
En effet, la suite (an) est croissante, tandis que la suite (bn) est décroissante14.
D’autre part, comme l’intervalle est à chaque fois divisé par 2, une récurrence immédiate permet de
ba
montrer que pour tout entier naturel n, bn  an  n . De cette égalité, il résulte que
2
lim  bn  an   0 , ce qui nous permet de conclure que les deux suites (an) et (bn) sont bien adjacentes.
n 
Il peut se faire que  soit égal à c0 : dans ce cas, la résolution est terminée… Nous supposerons que ce n’est jamais le cas dans la suite du
processus.
13
14
Au sens large pour chacune des deux suites…
© T³ France 2010 / Photocopie autorisée
274
Mathématiques et TI-Nspire
Elles ont donc la même limite l ; comme on a pour tout entier naturel n, an    bn , on en déduit par
passage à la limite que l = .
3.2 Mise en œuvre sur le tableur
Penser si ce n’est déjà fait à définir la fonction f dans l’écran Calculs…
… et ne pas oublier de régler le classeur à 12 chiffres significatifs.
Ouvrons une page de l’application Listes & Tableur.
Dans la première colonne, on numérote les étapes du calcul ; dans la colonne B, on place les valeurs
successives de la suite (an), et dans la colonne C celles de la suite (bn), en commençant par les valeurs
initiales a0  a et b0  b .
Un test est réalisé en B3 et en C3 puis recopié vers le bas, pour savoir si la racine est entre an et
a  bn
ou entre cn et bn, ce qui permet de déterminer l’intervalle de l’étape suivante.
cn  n
2
Dans la colonne D, on affiche la différence entre les deux termes de la suite, donc la longueur de
l’intervalle d’encadrement.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
275
On constate au bout de 10 étapes que :
1,368 164 062 5 <  < 1,369 140 625.
En mettant 1 en B2, au lieu de « 1. », le calcul est effectué de façon exacte, sous forme
fractionnaire… mais les résultats deviennent très rapidement illisibles. On reparlera cependant de cet
aspect dans le paragraphe qui suit.
3.3 La dichotomie par programme
Si le tableur a l’immense mérite de visualiser la dichotomie, une simple fonction de la calculatrice
présente l’avantage de renvoyer rapidement en ligne de commande – sans se préoccuper des calculs
intermédiaires – le seul résultat qui nous intéresse, une valeur approché de la solution  de l’équation
f(x) = 0 que l’on cherche à résoudre, ou, disons, un encadrement de cette solution.
Comme dans le tableur, l’utilisateur doit préciser en entrée de cet algorithme les valeurs initiales qui
encadrent , ce qui suppose une étude préalable de la fonction f pour séparer les éventuelles racines.
Les lignes successives du tableur traduisent en termes d’algorithme la notion de boucle. Dans une
fonction, il faut en donner le critère de sortie, qui peut être :
le nombre de fois où l’on effectue les calculs (boucle For) ;
ou, ce qui a notre préférence ici, une condition comme « l’amplitude de l’encadrement est
inférieure à une erreur e donnée au départ » (boucle While).
Reste à déterminer ce que la fonction va renvoyer comme résultat, le plus naturel étant la liste des
deux dernières valeurs an et bn, qui encadrent comme on le sait la solution de l’équation. Il peut aussi
être intéressant de savoir combien d’étapes intermédiaires ont été nécessaires pour arriver au résultat :
c’est ce que compte la variable c, dont la valeur est renvoyée à la fin par Disp.
Testons sur notre équation de référence, en n’omettant pas comme d’habitude de stocker la fonction
que l’on étudie dans une variable f. Pour être sûr d’avoir une valeur approchée, on saisit en entrée
« 1. ».
© T³ France 2010 / Photocopie autorisée
276
Mathématiques et TI-Nspire
Le troisième résultat correspond au défi relevé par Fibonacci. On a l’encadrement :
1,368 808 107 31 <  <1,368 808 107 82
Nous somme donc sûrs des 9 premières décimales.
Au demeurant – et c’est l’avantage de notre calculatrice – on peut aussi travailler avec des valeurs
exactes, si l’on accepte d’attendre quelques secondes le résultat. Il suffit d’entrer 1, au lieu de « 1. ».
Les performances deviennent intéressantes :
La précision la plus petite que l’on puisse convertir en nombre décimal est 10–990.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
277
Pour ce dernier résultat, par exemple, on pourrait craindre que l’accumulation des erreurs d’arrondis
avec la répétition d’un calcul 3289 fois n’altère la réponse. Il n’en est rien car il s’agit bien ici de
calcul formel, donc exact.
On récupère les décimales avec divex2, comme d’habitude. Les deux résultats sont alors, pour la
borne inférieure :
"1.3688081078213726352274143300213255395424355414875365307937126902182631474196883
8196939889427891321423846749119659529004120906435742765165919311906443973098478583
3260281121402394019898921764093552860364296652822324065747455291738049886726527542
5847004042897862506646658215400198700803408983257434860708236609077120871493174275
5806535592928169991131782759436843499622073744796671986127103538763317416012489509
4824712188388094257822906065827886413918203142535393862292874155239969993034737658
5133438558530861974431781300786073654648746703507950718420900351215543039635398858
1299246321804756530693872277621135509751500352757678566310310818091838006477384876
6776166094449075737240718092703179775589339142877727679575036291298839095333084084
1945988384270511537682727041935428691459136872159300687572521354202894774434759904
9716926859172253625000299795332756003488562340874058751370390383360785257710749271
0145552653765285221617992928516924730760474065025789719663002882589853264362065337
0902762676900087174"
et pour la borne supérieure :
"1.3688081078213726352274143300213255395424355414875365307937126902182631474196883
8196939889427891321423846749119659529004120906435742765165919311906443973098478583
3260281121402394019898921764093552860364296652822324065747455291738049886726527542
5847004042897862506646658215400198700803408983257434860708236609077120871493174275
5806535592928169991131782759436843499622073744796671986127103538763317416012489509
4824712188388094257822906065827886413918203142535393862292874155239969993034737658
5133438558530861974431781300786073654648746703507950718420900351215543039635398858
1299246321804756530693872277621135509751500352757678566310310818091838006477384876
6776166094449075737240718092703179775589339142877727679575036291298839095333084084
1945988384270511537682727041935428691459136872159300687572521354202894774434759904
9716926859172253625000299795332756003488562340874058751370390383360785257710749271
0145552653765285221617992928516924730760474065025789719663002882589853264362065337
0902762685072386425"
La solution cherchée est comprise entre ces deux valeurs. On peut remarquer qu’on est sûr de 989
décimales, soit 100 fois plus que ce qu’a produit il y a 8 siècles Fibonacci ! Mais nos moyens de
calculs individuels sont autrement plus performants !
Si on ne veut utiliser aucun autre programme ou fonction, on peut procéder comme le montre l’écran
suivant, à condition d’être bien moins gourmand !
© T³ France 2010 / Photocopie autorisée
278
Mathématiques et TI-Nspire
Signalons pour terminer que si l’on veut ne renvoyer qu’un seul résultat, le plus légitime est sans
conteste la moyenne des deux obtenus. Il suffit de faire comme suit :
Comme l’amplitude de l’encadrement est moindre que 10–20, le résultat obtenu est une valeur
approchée à moins de 0,5  10–20 près…
Pour conclure, quelques remarques essentielles…
Notre fonction dicho fonctionne bien en mode approché tant qu’on peut déterminer sans difficulté le
ab
signe de f  a  f 
 : attention, de très petites valeurs peuvent être intempestivement arrondies à
 2 
0.
Rappelons aussi qu’une étude mathématique préalable doit avoir été menée avant de faire tourner
dicho. On doit s’assurer que la fonction f est continue strictement monotone sur l’intervalle d’étude,
faute de quoi des résultats imprévus peuvent survenir... comme le montre les exemples suivants.
Avec la fonction définie par f(x) = x2, on est bien loin d’obtenir la solution 0 attendue :
De même, ce n’est pas parce que f(a) et f(b) sont de signes contraires que l’équation f(x) = 0 a une
solution entre a et b : ainsi la fonction inverse entre –1 et 2. Pour autant, notre fonction dicho, tant
qu’elle n’a pas à calculer l’inverse de 0, renverra une réponse, sans aucun sens certes, mais une
réponse quand même :
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
279
Et s’il y a plusieurs solutions entre a et b, autrement dit si l’on a omis de séparer les racines sur
l’intervalle considéré, dicho n’en donnera qu’une... et pas toujours la même selon les valeurs initiales
choisies... 2 ou –2 dans l’exemple qui suit, jamais 0 !
Enfin, la fonction dicho appliquée à la partie entière (int) entre 1 et 2 donne un résultat… qui, de
toute façon, n’a pas de sens puisque l’équation int(x)=0 n’a pas de solution sur cet intervalle :
Bref beaucoup de problèmes risquent de se poser faute d’une étude préalable de la fonction avec
laquelle on travaille. C’est une bonne chose car cela souligne l’importance des mathématiques,
notamment à ceux qui voudraient s’en débarrasser un peu vite au prétexte que les calculatrices font
tout. Certes, il est toujours possible d’améliorer le programme pour tenter de désamorcer les erreurs
pointées précédemment : par exemple, on peut tester si au départ f(a)  f(b) est bien strictement
négatif ou bien si la fonction f est bien strictement monotone... Évidemment rien ne vaut l’œil critique
de l’utilisateur averti !
© T³ France 2010 / Photocopie autorisée
280
Mathématiques et TI-Nspire
4. Méthode de Lagrange ou des parties proportionnelles
4.1 Le principe de la méthode de Lagrange
La méthode de dichotomie est lente car elle n’utilise que partiellement l’information disponible : on
ne se sert que des signes, et pas des valeurs de f(a) et de f(b). Aveuglément et inexorablement, le
partage en deux de l’intervalle a lieu et ce, quelle que soit la fonction considérée. Or il est bien clair
qu’avec f(a) = –1 et f(b) = 10 000 par exemple, on a tout lieu de penser que la racine  de l’équation
ab
f(x) = 0 a bien des chances d’être plus proche de a que de
.
2
La méthode de Lagrange, ou des parties proportionnelles, remédie à ce problème : au lieu de travailler
ab
à chaque étape avec le point-milieu d’abscisse
, on fait intervenir l’abscisse c du point
2
d’intersection de la droite joignant les points A(a, f(a)) et B(b, f(b)) avec l’axe des abscisses.
Concrètement, cela revient à remplacer la fonction f par une fonction affine et substituer à l’équation
que l’on cherche à résoudre une banale équation du premier degré.
Quelle est donc cette valeur c ? L’équation de la droite (AB) est :
y
f (b)  f (a)
 x  a   f (a )
ba
La droite (AB) coupe donc l’axe des abscisses au point d’abscisse c, qui vérifie :
0
f (b)  f (a)
 c  a   f (a)
ba
c  a  f (a)
c
ba
f (b)  f (a)
af (b)  af (a)  bf (a)  af (a) af (b)  bf (a)

f (b)  f (a)
f (b)  f (a)
© T³ France 2010 / Photocopie autorisée
(1)
Résolution approchée d’équations
281
Quelques remarques sur cette valeur… En utilisant les notations de la figure qui précède, et les
relations (1), on peut dire que le point P(c ; 0) sur l’axe des x est le barycentre des points M(a ; 0)
affecté du coefficient f(b) et N(b,0) affecté du coefficient –f(a). Les coefficients sont de même signe,
puisque f(a) × f(b) < 0, et le point P sera situé, non pas en général au milieu du segment [MN] comme
pour la dichotomie, mais plus près du point affecté du plus gros coefficient (ici A sur notre dessin).
L’idée est de réitérer le procédé, lorsque c’est possible ! Ainsi dans l’exemple du dessin ci-dessus, on
travaillera à l’étape suivante avec l’intervalle [c ; b] car le produit f(c) × f(b) est strictement négatif...
Récapitulons la démarche :
on pose a0 = a et b0 = b ;
quand on connaît an et bn, on calcule cn =
an f (bn )  bn f (an )
;
f (bn )  f (an )
si f  an  f  cn   0 , on affecte cn à bn+1 et an à an 1 ; sinon, on affecte cn à an+1 et bn à bn 1 .
4.2 Une première approche
 Écrivons un programme permettant la visualisation graphique de la méthode. Programme plutôt
que fonction car nous serons amenés à modifier des variables globales, ce qu’une fonction ne peut pas
faire. Faute de véritables instructions de programmation graphique sur la TI-Nspire – en tout cas pour
le moment – on doit travailler avec un nuage de points, qu’il faut générer par programme, et demander
l’affichage de ce nuage en mode relié.
Préparons le terrain :
dans l’écran Calculs, on stocke comme d’habitude, dans f(x), la fonction avec laquelle on
travaille (c’est toujours la même que précédemment) ;
on initialise à {} deux listes xx et yy, variables globales qui serviront dans le programme à
créer les abscisses et ordonnées d’un nuage de points permettant de reconstituer la méthode ;
dans une fenêtre Graphiques & Géométrie, on demande la représentation graphique de cette
fonction, sur un réglage de fenêtre pour le moment quelconque (il sera réglé par le
programme) ;
on fait apparaître si elles sont cachées les extrémités des axes et on les mémorise dans les
variables xmin, xmax, ymin, ymax (ces variables seront-elles aussi réglées par programme) ;
on demande la représentation graphique, pour le moment vide, du nuage de points dont les
abscisses sont xx et les ordonnées yy.
© T³ France 2010 / Photocopie autorisée
282
Mathématiques et TI-Nspire
À partir de ces éléments, on peut construire le programme lagg15 suivant :
Quelques commentaires s’imposent.
D’abord ne sont déclarées dans ce programme que les variables locales, ici i et c, c’est-à-dire celles
qui sont créées au moment de l’exécution du programme et détruites lorsque le programme est
terminé.
Les autres variables, celles qui sont dites globales, existent déjà dans le répertoire courant au moment
de l’exécution du programme16 et existeront encore après l’exécution du programme, comme
n’importe quelle variable de ce répertoire.
C’est le cas des deux listes xx et yy ; il est indispensable de les initialiser au début du programme
pour les nettoyer des éventuelles valeurs qu’elles contiennent.
15
lagg pour Lagrange Graphique
16
Et sont créées si nécessaire.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
283
On peut aussi remarquer le réglage « automatique » de la fenêtre, utilisant les fonctions maximum et
minimum, dont nous donnerons le code dans l’annexe de ce chapitre : elles sont disponibles dans
Mylib et on peut y accéder par le catalogue. min(f(x),a,b) (resp. max(f(x),a,b))renvoie le minimum
(resp. le maximum) de la fonction f sur l’intervalle [a ; b]17.
Suit dans le programme une boucle For.
Pour chaque étape (il est prudent de n’en pas demander trop !), on calcule c 
af  b   bf  a 
f b  f  a 
, puis on
complète les deux listes xx et yy permettant de créer le nuage de points :
 a, f  a  ,  b, f  b ,  c,0 , c, f  c – en mode relié, on peut s’assurer que le nuage décrit bien la
construction qu’on attend18.
Pour plus de commodité, on peut partager la fenêtre en deux, une partie inférieure réduite à son
minimum pour afficher une ligne de l’écran Calcul, une partie supérieure contenant la fenêtre
graphique. On peut ainsi depuis le bas de la fenêtre lancer la construction et observer son effet dans la
partie supérieure. Le travail sur l’intervalle [–0,5 ; 4], sur lequel la concavité est un peu plus
prononcée, permet de visualiser plusieurs étapes de la méthode de Lagrange :
Remarquons que l’on peut en les séparant par deux points saisir sur une seule ligne l’instruction qui
définit la fonction et celle qui appelle lagg. On observe qu’ici, c’est toujours le même point (de
coordonnées (4,f(4)) qui sert en quelque sorte de pivot à la construction.
 Écrivons maintenant une fonction permettant le calcul des termes successifs des deux suites (an)
et (bn) :
Pour faire vite, par exemple lors d’un oral de concours, on peut mettre tout simplement min(f(a),f(b)), ou max(f(a),f(b)), ce qui est
légitime sachant que la fonction f est strictement monotone dans les cas pratiques que l’on étudie. On peut aussi faire un réglage manuel de
la fenêtre au cas que l’on étudie : c’est encore plus rapide.
17
18
C’est un attribut du nuage de points, auquel on accède par un clic droit sur un des points.
© T³ France 2010 / Photocopie autorisée
284
Mathématiques et TI-Nspire
Les termes des deux suites sont simplement stockés dans des listes pour qu’on puisse les étudier. On
obtient par exemple les résultats suivants, toujours en partant de l’équation de Fibonacci :
Présentés dans le tableur, ces résultats sont encore plus lisibles. Remarquons la syntaxe des zones
grisées des colonnes D et E pour récupérer une liste à partir de la première ligne d’une matrice… et
les $ pour permettre la recopie de l’instruction vers la colonne E19 :
19
Il faut aussi penser à changer le 1 en 2 pour récupérer la deuxième ligne de la matrice.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
285
Les premiers résultats montrent une convergence un peu plus rapide que par dichotomie, comme on
pouvait s’en douter20. Mais si on a toujours l’encadrement, comme pour la dichotomie, les deux suites
ne sont plus adjacentes… puisque l’une, ici (bn), reste constante. On perd donc le contrôle
« infaillible » de l’erreur que permettait la dichotomie…
Remarque
Notre programme graphique marche dans tous les cas, y compris celui où la fonction considérée n’est
pas strictement monotone :
On observe dans ce cas une situation plus complexe, plus difficile à appréhender dans toute sa
généralité. Nous nous limiterons dans la suite non seulement à des fonctions strictement monotones
sur leur intervalle d’étude, mais aussi à convexité constante.
4.3 Cas d’une fonction à convexité constante
Supposons donc maintenant que la fonction f de classe C2 sur l’intervalle a ; b  soit à convexité
constante sur ce même intervalle : en d’autres termes, sa dérivée seconde est de signe constant sur
a ; b  .
Tenant compte des hypothèses habituelles sur f, quatre cas a priori sont à envisager :
1) f’’ > 0 et f’ > 0 (donc f(a) < 0 < f(b)) 2) f’’ > 0 et f’ < 0 (donc f(a) > 0 > f(b))
3) f’’ < 0 et f’ < 0 (donc f(a) > 0 > f(b)) 4) f’’ < 0 et f’ > 0 (donc f(a) < 0 < f(b))
Graphiquement, ces cas correspondent à chacune des situations suivantes :
20
9 décimales correctes après 12 itérations... Ceci dit, il peut arriver que la méthode de Lagrange soit moins rapide que la dichotomie...
© T³ France 2010 / Photocopie autorisée
286

Mathématiques et TI-Nspire
Commençons par examiner ce qui se passe dans le premier de ces cas, où f’’ > 0 et f’ > 0.
Théorème (correspondant au cas 1)
Soit f une fonction
continue strictement monotone sur [a ; b], telle que f(a) × f(b) < 0 ;
de classe C2 sur l’intervalle [a ; b] telle que f’’ > 0.
Alors la suite (bn) de la méthode de Lagrange demeure constante et égale à b pour tout n. Par
ailleurs la suite (an) est définie par
a f (bn )  bn f (an )
a0  a et an 1  n
f (bn )  f (an )
et croît vers la solution  de l’équation f(x) = 0.
Démonstration
L’allure de la courbe dans la situation du cas 1 est alors la suivante :
Conformément à la méthode décrite plus haut, on part de a0  a et b0  b .
La fonction est strictement croissante sur l’intervalle a ; b  . On a donc f(a) < 0 et f(b) > 0. Par
ailleurs, comme f’’ > 0, la fonction f est convexe sur a ; b  . D’après la définition de la convexité, sa
courbe représentative est donc située strictement au dessous du segment qui joint les points A(a, f(a))
et B(b, f(b)).
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
L’équation de la droite (AB) étant y 
287
f (b)  f (a)
 x  a   f (a) , on peut en déduire que pour tout x
ba
de a ; b  :
f ( x) 
f (b)  f (a)
 x  a   f (a) .
ba
En particulier, en faisant x = c, abscisse du point d’intersection de la droite (AB) et de l’axe des
abscisses, on arrive à f(c) < 0, tandis que f(b) > 0.
On aura donc a1 
a0 f (b0 )  b0 f (a0 )
et b1  b0 .
f (b0 )  f (a0 )
On se retrouve dans les mêmes hypothèses que précédemment, sur le nouvel intervalle a1 ; b1  . Le
même raisonnement peut donc continuer à s’appliquer de proche en proche à chacune des étapes qui
suivent : on peut en déduire que la suite (bn) restera constante égale à b et que la suite (an) vérifiera
la relation de récurrence :
an 1 
an f (bn )  bn f (an ) an f (b)  bf (an )
pour tout entier naturel n.

f (bn )  f (an )
f (b)  f (an )
Montrons maintenant que la suite (an) converge bien vers la racine de l’équation.
À chaque étape, on vient de voir que f(an) < 0 : ceci signifie que pour tout n, an  a ;   ou encore
que la suite (an) est majorée par .
Montrons maintenant que la suite (an) est croissante. On a :
an 1 
an f (b)  bf (an )
 f (an )
f (b)

an 
b
f (b)  f (an )
f (b)  f (an )
f (b)  f (an )
 tan  1  t  b
en posant t 
f (b)
. Or il est immédiat que t  ]0 ; 1], ce qui prouve que pour tout entier
f (b)  f (an )
naturel n, an 1  an , b . La suite (an) est bien alors croissante21.
La suite (an), croissante et majorée par , est donc convergente. Elle converge vers le nombre  qui
 f (b)  bf ( )
vérifie  
soit  f  b    f ( )   f (b)  bf ( ) ou encore  b    f ( )  0 . Comme
f (b)  f ( )
  , il ne peut pas être égal à b, nécessairement f     0 et  = .
En conclusion, l’étude de ce cas particulier montre qu’une seule de deux suites de la méthode initiale
est utile, à savoir (an) : l’autre, à savoir (bn) passe à la trappe puisqu’elle est constante.
Cette suite (an) est définie par :
a0  a et an 1 
an f (bn )  bn f (an ) an f (b)  bf (an )
pour tout entier naturel n

f (bn )  f (an )
f (b)  f (an )
et on sait qu’elle converge en croissant vers la solution  de l’équation f(x) = 0.
21
Et elle est bien définie pour tout entier naturel n !
© T³ France 2010 / Photocopie autorisée
288

Mathématiques et TI-Nspire
Quid des autres cas ?
On pourrait refaire quatre fois la même étude, les démonstrations seraient analogues à peu de choses
près.
Plus simplement, montrons comment l’on peut à chaque fois se ramener à l’étude du cas 1 et isoler
une suite convergeant vers .
Soit f une fonction relevant du cas 3, donc telle que f’’ < 0 et f’ < 0. Il est immédiat que –f, dont la
courbe représentative est symétrique de celle de f par rapport à l’axe des abscisses, correspond au cas
1. En effet :
  f '  x    f '  x   0
et   f ''  x    f ''  x   0 .
Remarquons aussi que les équations f(x) = 0 ou –f(x) = 0 ont la même solution  sur l’intervalle
a ; b  . Appliquons donc le théorème précédent à –f : on sait que la suite (an) définie par :
a0  a et an 1 
an   f  (b)  b   f  (an )
  f  (b)    f  (an )
converge en croissant vers .
Or si l’on remarque que :
an   f  (b)  b   f  (an )
  f  (b)    f  (an )

an f (b)  bf (an ) an f (b)  bf (an )

 f (b)  f (an )
f (b)  f (an )
on peut encore affirmer que dans le cas 3, la suite (an) définie par a0  a et an 1 
an f (b)  bf (an )
f (b)  f (an )
converge en croissant vers .
Soit maintenant f une fonction relevant du cas 2, donc telle que f’’ > 0 et f’ < 0. Il est immédiat que la
fonction F définie sur  b ;  a  par F(x) = f(–x), dont la courbe représentative est symétrique de
celle de f par rapport à l’axe des ordonnées, correspond au cas 1. En effet :
F '  x    f '   x   0 et F ''  x   f ''   x   0 .
Remarquons aussi que l’équation F(x) = 0 a pour solution – sur l’intervalle  b ;  a  . Appliquons
donc le théorème précédent à F : on sait que la suite (an) définie par :
a0  b et an 1 
an F (a)   a  F (an )
F (a)  F (an )

an F (a)  aF (an )
F (a)  F (an )
converge en croissant vers –.
Considérons maintenant la suite (bn) définie par bn = –an. Elle est cette fois-ci décroissante et
converge vers .
D’une part, on a b0 = –a0 = b. D’autre part, cette suite (bn) vérifie la relation de récurrence :
bn 1  an 1 
an F (a)  aF (an ) bn f  a   aF  bn  bn f  a   af  bn 


.
F (a)  F (an )
f  a   F  bn 
f  a   f  bn 
Donc dans ce cas, la suite définie par b0 = b et la relation de récurrence bn 1 
converge vers  en décroissant.
© T³ France 2010 / Photocopie autorisée
bn f  a   af  bn 
f  a   f  bn 
Résolution approchée d’équations
289
Il en est de même du cas 4, qui se ramène au cas 2 en considérant la fonction –f comme on l’a vu plus
haut.
En conclusion, deux cas sont à envisager :
lorsque f’’f’ > 0, la suite (an) définie par a0  a et an 1 
croissant vers la solution  de l’équation f(x) = 0 ;
lorsque f’’f’ < 0, la suite (bn) définie par b0  b et bn 1 
an f (b)  bf (an )
converge en
f (b)  f (an )
bn f (a)  af (bn )
converge en
f (a)  f (bn )
décroissant vers la solution  de l’équation f(x) = 0.
 Au résultat précédent, il reste à ajouter un calcul d’erreur sans lequel les résultats renvoyés n’ont
aucun sens. Démontrons le théorème suivant :
Théorème
Soit f une fonction
continue strictement monotone sur [a ; b], telle que f(a) × f(b) < 0 ;
de classe C2 sur l’intervalle [a ; b] telle que f’’ soit de signe constant.
Alors, si  désigne le zéro de la fonction, pour tout entier n on a
an    k n a0  
où k 
max  b   ,  a  M 2
2
m1
avec M 2  sup f ''  x  et m1  inf f '  x  .
x a ,b
x a ,b
Plus précisément, dans le cas où f’’f’ > 0, nous montrerons que k 
f’’f’ < 0, k 
  a M2
2
m1
b  M2
et dans le cas où
2 m1
– d’où la formulation générale du théorème avec k 
max  b   ,  a  M 2
2
m1
.
Si on ne veut pas faire intervenir la valeur  que l’on cherche à calculer, on peut aussi prendre comme
b  a M2
valeur de k : k 
.
2 m1
Démonstration
Plaçons-nous dans le cas où f’ > 0 et f’’ > 0, les autres s’y ramenant.
On peut écrire :
xn1  g  xn 
où g est la fonction définie sur [a ; b[ par g  x  
xf  b   bf  x 
f b   f  x 
.
Cherchons à majorer l’expression g  x    où x est un élément fixé de [a ; b[.
Remarquons que :
g  x   

xf  b   bf  x 
f b  f  x 
  x
f b  f  x 
© T³ France 2010 / Photocopie autorisée
 
 x    f b   b    f  x 
f b   f  x 
290
Mathématiques et TI-Nspire
en posant   x    x    f  b    b    f  x  … qui contrairement à g peut être définie sur l’intervalle
fermé [a ; b].
Remarquons que :
        f  b    b    f    0 et   b    b    f  b    b    f  b   0 .
Enfin il est clair que  est deux fois dérivable sur [a ; b] et que l’on a :
 '  x   f  b    b    f '  x  et  ''  x     b    f ''  x  .
Occupons-nous en premier de ce qui semble le plus évident. D’après le théorème des accroissements
finis, dont les hypothèses sont clairement vérifiées, on sait qu’il existe un réel d compris strictement
entre b et x tel que :
f  b   f  x   f '  d  b  x 
d’où l’on déduit : f  b   f  x   m1 b  x
puis pour a  x < b :
1
1 1
.

f  b   f  x  m1 b  x
(1)
Il reste maintenant à majorer   x  . Soit x un réel donné de l’intervalle [a ; b[ et différent de . À
partir de  et des propriétés que l’on vient de mettre en évidence, cherchons à construire une autre
fonction  de la variable t, qui s’annulerait en , b et x, par exemple sous la forme :
 t    t     x  p t 
où p est une fonction qui reste à déterminer22. Le but est de pouvoir appliquer le théorème de Rolle
sur cette fonction  .
Le fait que  s’annule en  et b impose qu’il en soit de même pour p : on peut alors prendre pour p le
polynôme p  t   k  t    t  b  .
Enfin on aura   x   0 si p prend la valeur –1 en x, en prenant donc k  
1
 x    x  b 
23
.
Bref, considérons l’application  définie pour t élément de [a;b] par
(t )    t  
  x
 t    t  b  où x est un réel fixé de l’intervalle [a ; b[ et
 x    x  b 
différent de .
Il est clair que  est de classe C2 sur cet intervalle.
Comme       x     b   0 , on peut appliquer en cascade le théorème de Rolle, dont les
hypothèses sont clairement vérifiées.
Première étape: il existe un réel u dans l’intervalle ouvert d’extrémités  et x, et un réel v dans
l’intervalle ouvert d’extrémités x et b tels que
22
Nous essayons d’éviter la désagréable méthode qui consiste à sortir de son chapeau de magicien la bonne fonction qui règle tous les
problèmes !
23
Ces méthodes ne sont pas sans rappeler celles que l’on met en œuvre pour déterminer un polynôme d’interpolation.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
291
 'u    ' v   0 .
Deuxième étape : une nouvelle application du théorème de Rolle de la dérivée vers la dérivée
seconde montre l’existence d’un réel c dans l’intervalle ouvert d’extrémités u et v tels que :
 ''  c   0 .
Il existe donc c strictement compris entre u et v, donc dans l’intervalle ]a ; b[, tel que  ''  c   0 soit :
 ''  c  
2  x 
 x    x  b 
ce qui peut encore s’écrire, compte tenu de l’expression de ’’ :
  b    f ''  c  
2  x 
 x    x  b 
.
ou encore :
  x  
1
 b    x    x  b  f ''  c  .
2
L’égalité est a priori valable pour x   (et x  b ) ; elle demeure de façon évidente si x   (ou si
x  b ).
Par suite, pour x appartenant à [a ; b], tenant compte de la définition de M2, on peut écrire :
  x 
 b  x  b    M
2
2
x 
(2)
Si l’on fait le produit membre à membre des inégalités (1) et (2) obtenues précédemment, inégalités
qui concernent des nombres réels positifs, on peut en déduire :
  x
f b  f  x 

b  M2
x   pour x  a ; b 
2 m1
soit :
g  x   
b  M2
x   pour x  a ; b  .
2 m1
On en déduit immédiatement le théorème. En effet, appliquons l’inégalité précédente à an élément de
a ;    a ; b pour obtenir :
an 1   
b    M 2
2
m1
an  
Puis de proche en proche, ou par récurrence, an    k n a0   avec k 
l’inégalité à démontrer.
© T³ France 2010 / Photocopie autorisée
b  M2
… qui est bien
2 m1
292
Mathématiques et TI-Nspire
Autre majoration possible
La démonstration proposée est certes correcte, mais longue car nous avons fait le choix d’expliquer
d’où sortait la fonction 24. On peut aussi procéder différemment. La démonstration qui suit a
l’avantage de la simplicité mais conduit à une majoration un peu moins bonne de l’erreur.
Plaçons-nous dans le cas où f ' f ''  0 . Dans ce cas, on travaille comme on l’a vu avec une suite (an)
et l’on peut alors écrire :
an 1 
an f (b)  bf (an ) an  f (b)  f  an     an  b  f (an )

f (b)  f (an )
f (b)  f (an )
 an  f (an )
b  an
f (an )
 an 
f
(
b
)
 f (an )
f (b)  f (an )
b  an
D’après le théorème des accroissements finis appliqué à f sur l’intervalle an ; b  – les hypothèses de
ce théorème sont clairement vérifiées – il existe une valeur  n de l’intervalle  an ; b  telle que :
f (b)  f (an )
 f '  n 
b  an
si bien que an 1  an 
f (an )
.
f '  n 
Par suite :
f  an 
  an 1    an 
f '  n 
   an 
f  an   f  
f '  n 
   an 
 an    f '  n 
f '  n 
avec n dans l’intervalle  an ;   , d’après – encore une fois – le théorème des accroissements finis
appliqué à f sur l’intervalle an ;   .
On arrive finalement à :
f '  n  
f '  n   f '   n 
    an 
f '  n  
f '  n 

   n  f '' n  .
   an  n
f '  n 

  an 1    an  1 
où  n est un réel compris entre  n et n, et donc contenu dans l’intervalle ]an ; b[, d’après le théorème
des accroissements finis appliqués à f’ sur l’intervalle limité par  n et n.
On en déduit donc la majoration :
  an 1    an
b  a  M 2 .
m1
Le coefficient n’est pas tout à fait le même,
b  a  M 2
m1
raisonnement est-il plus simple.
24
Pour faire plus vite, il suffit simplement de mémoriser cette fonction !
© T³ France 2010 / Photocopie autorisée
au lieu de
b  a  M 2
2m1
mais sans doute le
Résolution approchée d’équations
293
4.4 Un algorithme lorsque f’’f’ > 0
Mettons en œuvre l’algorithme qui se déduit du théorème précédent, dans le cas finalement où
f’’f’ > 0 (si ce n’est pas le cas, on peut toujours s’y ramener comme on l’a vu plus haut). Il suffit juste
de calculer les termes successifs de la suite (an) par exemple en utilisant la relation :
an 1 
an f (b)  bf (an )
,
f (b)  f (an )
puisque la deuxième suite (bn) est constante.
On pourra aussi utiliser l’expression équivalente :
an 1  an 
f (an )  b  an 
f (b)  f (an )
.
En paramètres d’entrée, on peut indiquer les bornes a et b, ainsi qu’une erreur maximale e que l’on
b  a M2
cherche à ne pas dépasser. On rappelle que an    k n  b  a  avec k 
.
2 m1
Ce dernier coefficient doit être calculé au début du programme. Son calcul à la main serait fastidieux
mais puisque la TI-Nspire peut le prendre en charge, ne nous privons pas : appuyons-nous sur les
fonctions minimum et maximum, qui figurent dans le catalogue, et sur les possibilités de calcul
formel de notre calculatrice25. Pour information, on peut demander l’affichage de k au début de notre
fonction par Disp.
Le programme proprement dit est constitué d’une boucle While dont on sort lorsque k n  b  a  est
inférieur à e : dans ce cas on aura bien an    e .
Pour information, le nombre d’étapes de l’itération, mémorisé dans la variable n, est affiché à la fin de
la fonction.
25
Voir l’annexe de ce chapitre.
© T³ France 2010 / Photocopie autorisée
294
Mathématiques et TI-Nspire
Avec l’équation de Fibonacci sur laquelle nous travaillons, nous obtenons les résultats suivants, à
peine meilleurs, si l’on regarde le nombre d’itérations que la dichotomie :
Au demeurant, on peut légèrement augmenter la performance de cet algorithme26 et le démarquer un
peu plus nettement de la dichotomie, en partant d’un encadrement plus serré, par exemple 1,3 et 1,4 :
Le coefficient k est alors d’environ 0,3, indiquant une convergence un peu plus rapide.
Avec cet algorithme, et sans doute aussi l’exemple que nous avons choisi, pas question d’obtenir des
valeurs approchées fractionnaires très précises : on passe très rapidement au mode approché dans les
calculs.
26
À précision égale, le nombre d’étapes diminue.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
295
Signalons qu’une autre approche peut être mise en œuvre, lorsque l’on ne veut pas d’un calcul
d’erreur aussi élaboré que le précédent. On peut alors décider de sortir de la boucle lorsque la
différence entre deux termes consécutifs de la suite (an) est inférieure à une erreur e donnée à
l’avance.
On a remarqué plus haut que :
an 1 
an f (b)  bf (an )
b  an
 an  f (an )
f (b)  f (an )
f (b)  f (an )
si bien que :
an 1  an  f (an )
b  an
f (b)  f (an )
On peut donc décider de sortir de la boucle lorsque an 1  an  f (an )
b  an
< e.
f (b)  f (an )
Outre qu’elle simplifie le calcul d’erreur, cette dernière formule présente l’avantage de ne plus faire
intervenir que le terme an.
Mais que an1  an  e ne garantit aucunement que an 1   soit aussi inférieur à e. Précisons ce
dernier point.
On sait que l’inégalité an1    e signifie que    an1  e, an1  e  , condition réalisée dès lors
que le produit f  an1  e  f  an1  e  est strictement négatif. Si c’est bien le cas, on peut alors être sûr
que an + 1 est une valeur approchée de  à e près. Sinon, il est prudent d’envoyer un message d’alerte à
la calculatrice.
Tenant compte des remarques précédentes, on peut écrire la fonction suivante :
Les résultats sont satisfaisants, comme on peut le voir sur l’écran qui suit.
L’alerte de notre fonction apparaît une fois pour e = 10–9 : mais si l’on demande une erreur à peine
1
plus petite, e =
 10–9, le problème disparait.
2
© T³ France 2010 / Photocopie autorisée
296
Mathématiques et TI-Nspire
Ce calcul d’erreur est incontestablement plus simple, mais aussi plus accessible à la programmation.
Pour des erreurs plus petites, il faut penser à lancer la fonction en mode approchée (par exemple en
saisissant 1.0), faute de quoi la calculatrice se perdrait de longues minutes dans des calculs
interminables.
5. La méthode de Newton
5.1 Le principe de la méthode de Newton
Comme précédemment, on cherche à remplacer la courbe représentative de f par une droite, ici une de
ses tangentes (en supposant que la fonction soit dérivable sur l’intervalle considéré).
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
297
Plus précisément, si l’on part d’une approximation a0 de , on remplace la courbe représentative de f
par sa tangente au point d’abscisse a0, dont l’équation est :
y  f '  a0  x  a0   f  a0 
Dans le cas, fréquent, où cette tangente n’est pas parallèle à l’axe des abscisses, c’est-à-dire dans le
f  a0 
cas où f '  a0   0 , elle coupe cet axe en un point d’abscisse a1  a0 
.
f '  a0 
Sous réserve que a1 soit aussi dans l’intervalle [a ; b], on pourra répéter l’opération et peut-être définir
la suite récurrente :
an 1  an 
f  an 
f '  an 
en espérant sa convergence vers 27.
5.2 Une première approche
Comme nous l’avons fait pour la méthode de Lagrange, nous pouvons proposer une illustration
graphique avec la TI-Nspire... mais il est vrai que la convergence, quand elle a lieu, semble si rapide
qu’on voit à peine se dessiner plusieurs étapes du procédé.
Nous écrirons un programme, selon les mêmes principes que précédemment :
dans l’application Calculs, on mémorise dans notre fonction f(x) ; on initialise à {} deux listes
xx et yy, variables globales qui nous serviront à construire le nuage de points permettant de
reconstituer la méthode ;
dans une fenêtre Graphiques, on demande la représentation graphique de la fonction f avec
un réglage de fenêtre quelconque, qui sera précisé le moment venu par le programme ;
on fait apparaître, si elles sont cachées, les extrémités des axes et on les mémorise dans les
variables xmin, xmax, ymin, ymax ;
on demande la représentation graphique, pour le moment vide, du nuage de points dont les
abscisses sont xx et les ordonnées yy.
27
À rapprocher de la formule de la méthode de Lagrange, an1  an  f (an )
point An  an , f  an   au point B par la tangente à la courbe en An.
© T³ France 2010 / Photocopie autorisée
b  an
: cela revient à remplacer la droite joignant le
f (b)  f (an )
298
Mathématiques et TI-Nspire
En entrée du programme, on demande les bornes de l’intervalle d’étude, a et b, ainsi que la valeur
intiale choisie a0 et le nombre n d’étapes demandées dans la construction.
On partage la fenêtre en deux : dans la partie inférieure, on peut alors faire afficher l’application
Calculs et commander les changements de variables et l’appel de newtong. On obtient le résultat cicontre, illustrant une convergence qui semble rapide :
Remarque
Testons notre programme graphique dans le cas où la fonction considérée n’est pas strictement
monotone : le comportement de la suite devient alors plus difficile à appréhender.
Jusqu’à même parfois ne plus converger :
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
299
… ou pire encore ne plus être définie :
Bref, là encore, il vaut mieux être prudent. Comme pour la méthode de Lagrange, nous nous
limiterons au cas d’une fonction f à convexité constante sur son intervalle d’étude.
© T³ France 2010 / Photocopie autorisée
300
Mathématiques et TI-Nspire
5.3 Cas d’une fonction à convexité constante
Théorème
Soit f une fonction de [a ; b] dans  avec f(a) × f(b) < 0, de classe C2 sur [a ; b] et telle que
f’f’’ ait un signe constant sur [a ; b].
Dans ces conditions :
1) si f’f’’ > 0 (resp. f’f’’ < 0), alors pour tout choix de a0 tel que f(a0)×f''(a0)0, la suite (an)
converge en décroissant (resp. en croissant) vers l’unique zéro  de f sur [a ; b] ;
2) Dans les hypothèses du théorème précédent, on peut écrire, pour tout entier n :
n
2n
M
an    k 2 1  a0    où k  2
2m1
avec M 2  sup f '' et m1  inf f '
 a ,b
 a ,b 
Démonstration
De la même façon que précédemment, on se ramène au cas où f’ > 0 et f’’ > 0. Nous n’insisterons pas
sur ce point.
Comme la fonction f est strictement croissante sur [a ; b], on a f(a) < 0 < f(b) ; étant de plus continue
sur cet intervalle, on est sûr de l’existence et l’unicité de , solution de l’équation f(x) = 0.
Posons g ( x)  x 
f ( x)
pour x quelconque élément de [a ; b].28
f '( x)
On a g ( x)    x 
 x    f '( x)  f ( x) .
f ( x)
 
f '( x)
f '( x)
Remarquons d’une part, que si x  , alors g(x)  x car g ( x)  x  
f  x
f ' x 
 0.
D’autre part, appliquons la formule de Taylor-Lagrange à la fonction f de classe C2 sur le segment
d’extrémités x et  (en supposant x  ).
Il existe un réel cx, dépendant de x, strictement compris entre  et x tel que :
f    f  x     x  f '  x 
Mais f   est par ailleurs égale à 0.
  x 

2
2
f ''  cx 
Par suite :
 x    f '( x)  f ( x)    x 
g ( x)   
f '( x)
2
2
f ''  cx  29
.
f '( x)
Cette égalité montre que si x > , alors g(x) –  > 0 donc g(x) > .
Revenons à la suite (an). Son terme initial doit être choisi de telle sorte que f(a0) ait le même signe que
f’’(a0) > 0 : a0 est donc choisi dans l’intervalle  ; b  .
D’après les propriétés précédentes, on peut affirmer que   f  a0   a0 soit que   a1  a0
28
La dérivée ne s’annule jamais sur [a ; b] puisque la dérivée f’ est supposé être strictement positive sur cet intervalle.
29
Cette égalité est aussi vraie pour x = .
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
301
De proche en proche, ou par une récurrence immédiate, on peut alors démontrer que pour tout entier
naturel n,   an1  an . En particulier, on en déduit que la suite (an) est décroissante et minorée par
. Elle converge donc vers la solution de l’équation de l’équation g(x) = x, qui n’est autre que la
solution de f(x) = 0, soit x = .
Montrons maintenant l’inégalité du théorème.
an 1    g (an )   
  an 
2
2
   M   a 
f '' can
f '(an )
2
n
2
m1
2
 k   an 
2
Le résultat annoncé s’en déduit de proche en proche. En effet :
an    k   an1   k 3   an2   k 7   an3  ...  k 2
2
4
8
n
1
  a0 
2n
Une récurrence permet bien sûr de formaliser cette démonstration.
5.4 Un algorithme lorsque f’’f’ > 0
Le théorème précédent conduit à l’écriture d’une fonction, dont la structure est très proche de celle
que l’on a écrite dans le paragraphe précédent.
Remarquons que l’on peut simplifier le test d’erreur en encadrant au préalable  entre deux entiers
consécutifs. On a alors a0   inférieur à 1,ce qui permet d’écrire :
an    k 2
n
1
a
0


2n
 k2
n
1
.
Les résultats sont obtenus rapidement (6 étapes pour une erreur moindre que 10 -20), mais, comme pour
la méthode de Lagrange, les fractions explosent très vite et empêchent très rapidement tout calcul en
mode exact.
© T³ France 2010 / Photocopie autorisée
302
Mathématiques et TI-Nspire
La qualité de la convergence est liée à la majoration que l’on a obtenue. Une inégalité du type
suivant :
an1    k   an 
2
permet d’être sûr que si par exemple on sait que an    10 p où p est un entier naturel, alors
an1    k   an   k  102 p 30.
2
Une telle situation est le signe d’une convergence au moins quadratique.
30
À la louche, on peut dire que si à une étape on a p décimales exactes, à l’étape suivante, on en a 2p. Le nombre de décimales exactes
double à chaque itération.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
303
ANNEXE : Maximum et minimum d’une fonction
Si l’utilisation des minimum et maximum est courante en analyse – nous venons de le montrer dans ce
chapitre –, aucune fonction de la TI-Nspire n’en prévoit un calcul direct... Il existe toutefois deux
fonctions, très proches de ce que l’on cherche, qui, à peine modifiées, vont nous rendre un grand
service : il s’agit de fMax et de fMin. Les fonctionnements de ces deux instructions étant identiques
et symétriques, nous ne nous intéresserons qu’à la première.
En fait, fMax donne l’abscisse, éventuellement infinie, correspondant au(x) maximum(s), d’une
fonction sur son ensemble de définition, ou d’une expression algébrique, comme le montre l’écran
suivant :
Pour le sinus, on retrouve bien les valeurs

2
 2k avec k entier, car n10 désigne sur une TI-Nspire
une variable entière. Si les résultats sont bien souvent satisfaisants, ils peuvent parfois susciter

quelques interrogations : par exemple, pour la fonction tangente, on attendrait plutôt
donc environ
2
1,5708 et non son opposé ! Au demeurant, cela s’explique aussi par le fait que –1,5707963267991 est

une valeur approchée par défaut de
; sa tangente est donc bien un grand nombre.
2
Bien entendu, on peut aussi imposer à x d’appartenir à un intervalle donné31, comme dans l’écran cidessous, avec des résultats dans l’ensemble satisfaisants :
31
Cela correspond à nos besoins dans la résolution approchée des équations ou dans le calcul approché d’une intégrale.
© T³ France 2010 / Photocopie autorisée
304
Mathématiques et TI-Nspire
Bref, c’est bien la fonction qui nous intéresse, mais il faut simplement la modifier pour qu’elle donne,
non pas les abscisses éventuelles des maxima, mais les maxima eux-mêmes.
Comment donc récupérer le maximum proprement dit ? Simplement en calculant l’image des
abscisses obtenues par la fonction considérée.
Dans le cas où une seule valeur est renvoyée, le calcul est immédiat : il suffit de récupérer la valeur
renvoyée par fMax, et de l’appliquer à la fonction considérée :
Mais cela ne fonctionne pas toujours car il peut y avoir plusieurs abscisses :
Il faut donc procéder autrement, en transformant au préalable le résultat obtenu en liste, comme le
montre les exemples ci-dessous :
Le reste est très simple : il suffit de calculer l’image d’un des éléments de la liste par la fonction
considérée pour avoir le maximum. Si jamais la liste était vide32, pour éviter une erreur, on peut
toujours renvoyer le plus grand des deux nombres f(a) et f(b).
On peut alors écrire la fonction suivante :
On suppose systématiquement que f est une expression de la variable x. Pour calculer f(k), on utilise
l’instruction fx=k, et non f(k), car f n’est pas une fonction au sens du langage de programmation.
Définie en LibPub et enregistrée dans le dossier MyLib, la fonction maximum qu’on vient d’écrire
sera accessible à partir du catalogue depuis n’importe quel autre classeur.
Les résultats sont conformes à notre attente, même en utilisant des valeurs comme – ou  :
32
Cela arrivait dans les versions précédentes mais ce problème semble avoir disparu. Rien n’empêche cependant de conserver cette sécurité.
© T³ France 2010 / Photocopie autorisée
Résolution approchée d’équations
305
On remarque la possibilité de calculer le maximum d’une dérivée ne sur un intervalle quelconque.
Outil que nous avons beaucoup utilisé dans ce chapitre. Nous le retrouverons à l’occasion du calcul
approché d’intégrales.
Evidemment, Il reste prudent sinon de vérifier un résultat renvoyé par la calculatrice, du moins de
s’assurer de sa cohérence.
Bien évidemment, la fonction minimum se déduit immédiatement de celle qu’on vient d’écrire
mutatis mutandis.
© T³ France 2010 / Photocopie autorisée
Téléchargement