• Aucun résultat trouvé

Chapitre 13. Résolution approchée des équations 13

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre 13. Résolution approchée des équations 13"

Copied!
41
0
0

Texte intégral

(1)

13

Chapitre

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

1.2 Quelles équations résoudre ? ... 267

1.3 Notre choix ... 270

2. Mise en jambe : la méthode de balayage ... 271

3. 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

4. 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

Chapitre 13.

Résolution

approchée des

équations

(2)

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

(3)

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 32 .

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.

(4)

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 les formules 1 cos 2

sin2 2

 

x x

et 1 cos 2

cos2 2

 

x x

– sin 6° et enfin sin 3°.

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 !

(5)

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 : BCAB

DE AE soit b d a.

De la même façon, on peut montrer que a

c b, ce qui permet de remarquer que d et c sont inverses 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é :

 

2

 

2

4 c 1  9 d1 soit en remplaçant d par 1

c :

2

2

1 2

4c 2c  1 9  1

c c

En multipliant des deux côtés par c2 ( 0) on arrive à :

2 4 3 2 2 2

4c  c 2cc 9c  1 2c c Soit finalement

4 3 2

2 5 2 1 0

    

c c c c

(6)

é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 !

(7)

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.

(8)

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

0  et 0

a a b 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.

(9)

Visons au milieu, c’est-à-dire considérons la valeur 0 0 0 2

ab

c . De deux choses l’une : ou bien f a

   

0 f c0 0et  est compris entre a0 et c0 ;

ou bien f a

   

0 f c0 0et  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 calcule d’abord

2

nn

n

a b

c et on observe si le changement de signe de la fonction a lieu entre an et cn ou entre cn et bn :

Dans le premier cas, autrement dit si f a

   

n f cn 0, on pose an1an et bn1cn ; sinon on pose

1 et 1

n n n n

a c b b.

Ces choix garantissent qu’à l’étape qui suit la racine  est dans l’intervalle

an1;bn1

.

Ceci définit bien par récurrence deux suites. À chaque étape, on a f a

   

n f bn 0, donc la racine

 que l’on cherche à approximer est dans l’intervalle

a bn, n

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 montrer que pour tout entier naturel n,

2

  

n n n

b a

b a . De cette égalité, il résulte que

 

lim 0

 nn

n b a , ce qui nous permet de conclure que les deux suites (an) et (bn) sont bien adjacentes.

13 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.

14 Au sens large pour chacune des deux suites…

(10)

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 a0a et b0b.

Un test est réalisé en B3 et en C3 puis recopié vers le bas, pour savoir si la racine est entre an et 2

n n

n

a b

c

 ou entre cn et bn, ce qui permet de déterminer l’intervalle de l’étape suivante.

Dans la colonne D, on affiche la différence entre les deux termes de la suite, donc la longueur de l’intervalle d’encadrement.

(11)

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. ».

(12)

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.

(13)

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 !

(14)

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 signe de

 

2

  

 

 

a b

f a f : attention, de très petites valeurs peuvent être intempestivement arrondies à 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 :

(15)

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 !

(16)

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 f(x) = 0 a bien des chances d’être plus proche de a que de

2 a b

.

La méthode de Lagrange, ou des parties proportionnelles, remédie à ce problème : au lieu de travailler à chaque étape avec le point-milieu d’abscisse

2

ab, on fait intervenir l’abscisse c du point 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 :

 

( ) ( )

 ( )

  

f b f a

y 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

( ) ( ) ( )

  

b a c a f a

f b f a

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

   

 

 

af b af a bf a af a af b bf a

c f b f a f b f a (1)

(17)

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 = ( ) ( )

( ) ( )

n n n n

n n

a f b b f a f b f a ;

si f a

   

n f cn 0, on affecte cn à bn+1 et an à an1 ; sinon, on affecte cn à an+1 et bn à bn1. 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.

(18)

À 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.

(19)

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

   

   

 

af b bf a

c 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) :

17 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.

18 C’est un attribut du nuage de points, auquel on accède par un clic droit sur un des points.

(20)

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.

(21)

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...

(22)

 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

0 1

( ) ( )

et

( ) ( )

  

n n n n

n

n n

a f b b f a

a a a

f b f a

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 a0a et b0b.

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)).

(23)

L’équation de la droite (AB) étant ( ) ( )

( )

f b f a

y x a f a

b a , on peut en déduire que pour tout x de a b;  :

 

( ) ( )

( )  ( )

  

f b f a

f x 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 1 0 0 0 0

0 0

( ) ( )

( ) ( )

a f b b f a

a f b f a

 

 et b1b0.

On se retrouve dans les mêmes hypothèses que précédemment, sur le nouvel intervalle a b1; 1. 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 :

1

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

 

 

 

n n n n n n

n

n n n

a f b b f a a f b bf a

a f b f a f b f a pour tout entier naturel n.

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 :

 

1

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

1

 

  

  

  

n n n

n n

n n n

n

a f b bf a f b f a

a a b

f b f a f b f a f b f a

ta t b

en posant ( )

( ) ( )

  n

t f b

f b f a . Or il est immédiat que t  ]0 ; 1], ce qui prouve que pour tout entier naturel n, an1

a bn,

. La suite (an) est bien alors croissante21.

La suite (an), croissante et majorée par , est donc convergente. Elle converge vers le nombre  qui

vérifie ( ) ( )

( ) ( )

 

 

 

f b bf

f b f soit f b

 

 f( )f b( )bf( ) ou encore

b

f( ) 0. Comme

  , 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 :

0 1

( ) ( ) ( ) ( )

et

( ) ( ) ( ) ( )

 

  

 

n n n n n n

n

n n n

a f b b f a a f b bf a

a a a

f b f a f b f a pour tout entier naturel n 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 !

(24)

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 :

   

   

0 1

( ) ( )

et

( ) ( )

  

 

  

n n

n

n

a f b b f a

a a a

f b f a

converge en croissant vers . Or si l’on remarque que :

   

 

( )( )

 

( () ) ( )( ) (()) ( )( ) (( ))

     

 

     

n n n n n n

n n n

a f b b f a a f b bf a a f b bf a

f b f a f b f a f b f a

on peut encore affirmer que dans le cas 3, la suite (an) définie par a0a et 1 ( ) ( )

( ) ( )

 

n n

n

n

a f b bf a

a f b f a

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 :

   

' ' 0

F x  fx  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 :

 

0 1

( ) ( ) ( ) ( )

et

( ) ( ) ( ) ( )

    

   

   

n n n n

n

n n

a F a a F a a F a aF a

a b a

F a F a F a F a

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 :

   

       

   

1 1

( ) ( )

( ) ( )

  

  

    

    

n n n n

n n

n n

n n n

b f a aF b b f a af b a F a aF a

b a

F a F a f a F b f a f b .

Donc dans ce cas, la suite définie par b0 = b et la relation de récurrence

   

   

1

 

n n

n

n

b f a af b

b f a f b

converge vers  en décroissant.

(25)

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 0 1 ( ) ( ) et

( ) ( )

  

n n

n

n

a f b bf a

a a a

f b f a converge en croissant vers la solution  de l’équation f(x) = 0 ;

lorsque f’’f’ < 0, la suite (bn) définie par 0 1 ( ) ( ) et

( ) ( )

  

n n

n

n

b f a af b

b b b

f a f b converge en 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

0

  n

an k a

 

2

1

max ,

2

 

 

b a M

k m avec

 

 

2 ,

sup ''

x a b

M f x et

 

 

1 inf, '

x a b

m f x .

Plus précisément, dans le cas où f’’f’ > 0, nous montrerons que 2 2 1

bM

k m et dans le cas où f’’f’ < 0, 2

2 1



aM

k m – d’où la formulation générale du théorème avec

 

2

1

max ,

2

 

 

b a M

k m .

Si on ne veut pas faire intervenir la valeur  que l’on cherche à calculer, on peut aussi prendre comme

valeur de k : 2

2 1

ba M

k m .

Démonstration

Plaçons-nous dans le cas où f’ > 0 et f’’ > 0, les autres s’y ramenant.

On peut écrire :

1

 

n n

x g x

où g est la fonction définie sur [a ; b[ par

     

   

 

xf b bf x g x f b f x .

Cherchons à majorer l’expression g x

 

où x est un élément fixé de [a ; b[.

Remarquons que :

     

           

   

     

 

 

   

   

 

 

xf b bf x x f b b f x

g x f b f x f b f x

x f b f x

(26)

en posant

  

x x

   

f b  b

  

f x … qui contrairement à g peut être définie sur l’intervalle fermé [a ; b].

Remarquons que :

         

0

     f b  bf   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 :

       

' '

xf b  bf 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

 

m b1x puis pour a  x < b :

   

1

1  1 1

m b x

f b f 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

  

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

 

1

k   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

x x bx est un réel fixé de l’intervalle [a ; b[ et 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.

(27)

   

' ' 0

u   v  .

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 :

 

'' 0

c  .

Il existe donc c strictement compris entre u et v, donc dans l’intervalle ]a ; b[, tel que ''

 

c 0 soit :

   

2

 

'' 

  c x

x x b

ce qui peut encore s’écrire, compte tenu de l’expression de ’’ :

     

2

 

'' 

 

  

 

b f c x

x x b .

ou encore :

 

1

     

''

x  2 b x x b fc .

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 :

    

2 2

  bx b 

x M 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 :

     

2 12

   

x b M

f b f x m x pour x a b;  soit :

 

2

2 1

 

 b M

g x x

m pour x a b; .

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 :

 

2

1

2 1

  

   

n n

b M

a a

m

Puis de proche en proche, ou par récurrence, an  k an 0 avec 2 2 1

bM

k m … qui est bien

l’inégalité à démontrer.

(28)

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 :

     

1

( ) ( )

( ) ( )

( ) ( ) ( ) ( )

( ) ( )

( ) ( )

( ) ( )

  

  

 

     

n n n n

n n

n

n n

n n

n n n

n n

n

a f b f a a b f a

a f b bf a

a f b f a f b f a

b a f a

a f a a

f b f a f b f a

b a

D’après le théorème des accroissements finis appliqué à f sur l’intervalle a bn ;  – les hypothèses de ce théorème sont clairement vérifiées – il existe une valeur n de l’intervalle a bn ;  telle que :

( ) ( )

 

' 

 

n n n

f b f a b a f

si bien que

 

1

( ) ' 

  n

n n

n

a a f a

f . Par suite :

       

     

 

1

'

' ' '

  

   

  

 

n   nn   nn   nn n

n n n

f a f a f a f

a a a a

f f f

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 à :

   

       

 

    

 

1

' ' '

1 ' '

'' . '

  

  

 

  

 

  

      

 

  

n n n

n n n

n n

n n n

n

n

f f f

a a a

f f

a f

f

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 :

 

2

1

1

 n  n ba M .

a a

m

Le coefficient n’est pas tout à fait le même,

 

2

1

ba M

m au lieu de

 

2

2 1

ba M

m mais sans doute le raisonnement est-il plus simple.

24 Pour faire plus vite, il suffit simplement de mémoriser cette fonction !

Références

Documents relatifs

L'idée de la dichotomie est de partir d'un intervalle contenant la solution et de le couper en deux à chaque étape en conservant celui des deux intervalles qui contient la solution.

5) Lire et compléter une graduation sur une demi-droite graduée, à l’aide d’entiers naturels, de décimaux, de fractions simples 1/2, 1/10, 1/4, 1/5 * ou de quotients (placement

au centième] par excès d’un nombre décimal est le nombre décimal ayant un seul (resp. deux) chiffre(s) après la virgule immédiatement supérieur à ce nombre..

[r]

dans lesquelles est une fonction de x ; mais on serait forcé de le reconnaitre insuffisant dans les équations des ordres plus élevés,.. telles

A va'nt-d'cn aborder l'étude, et après quelques généralités (n^lyS), je montre (n 08 3, 4) qu'on peut estimer l'ordre de grandeur des solutions d'un système S'

Le théorème des valeurs intermédiaires, judicieusement appliqué, nous assure qu’il existe au moins une solution2. Ici, on peut démontrer l’unicité de

Par exemple, lorsqu’un ensemble proche d’états sont couplés entre eux par une interaction comparable à ou plus grande que leur écart, on peut retirer à H 0 la quantité