Méthode de Newton : encyclopédie mathématiques
Cet article est issu de l'encyclopédie libre Wikipedia.En analyse numĂ©rique, la mĂ©thode de Newton ou mĂ©thode de Newton-Raphson[1] est, dans son application la plus simple, un algorithme efficace pour trouver numĂ©riquement une approximation prĂ©cise d'un zĂ©ro (ou racine) d'une fonction rĂ©elle d'une variable rĂ©elle. Cette mĂ©thode doit son nom aux mathĂ©maticiens anglais Isaac Newton (1643-1727) et Joseph Raphson (peut-ĂȘtre 1648-1715), qui furent les premiers Ă la dĂ©crire pour la recherche des zĂ©ros d'une Ă©quation polynomiale. On n'oubliera pas Thomas Simpson (1710-1761) qui Ă©largit considĂ©rablement le domaine d'application de l'algorithme en montrant, grĂące Ă la notion de dĂ©rivĂ©e, comment on pouvait l'utiliser pour calculer un zĂ©ro d'une Ă©quation non linĂ©aire, pouvant ne pas ĂȘtre un polynĂŽme, et d'un systĂšme formĂ© de telles Ă©quations.
Sous sa forme moderne, l'algorithme peut ĂȘtre prĂ©sentĂ© briĂšvement comme suit : Ă chaque itĂ©ration, la fonction dont on cherche un zĂ©ro est linĂ©arisĂ©e en l'itĂ©rĂ© (ou point) courant et l'itĂ©rĂ© suivant est pris Ă©gal au zĂ©ro de la fonction linĂ©arisĂ©e. Cette description sommaire indique qu'au moins deux conditions sont requises pour la bonne marche de l'algorithme : la fonction doit ĂȘtre diffĂ©rentiable aux points visitĂ©s (pour pouvoir y linĂ©ariser la fonction) et les dĂ©rivĂ©es ne doivent pas s'y annuler (pour que la fonction linĂ©arisĂ©e ait un zĂ©ro) ; s'ajoute Ă ces conditions la contrainte forte de devoir prendre le premier itĂ©rĂ© assez proche d'un zĂ©ro rĂ©gulier de la fonction (i.e., en lequel la dĂ©rivĂ©e de la fonction ne s'annule pas), pour que la convergence du processus soit assurĂ©e.
L'intĂ©rĂȘt principal de l'algorithme de Newton est sa convergence quadratique locale. En termes imagĂ©s mais peu prĂ©cis, cela signifie que le nombre de chiffres significatifs corrects des itĂ©rĂ©s double Ă chaque itĂ©ration, asymptotiquement. Comme le nombre de chiffres significatifs reprĂ©sentables par un ordinateur est limitĂ© (environ 15 chiffres dĂ©cimaux sur un ordinateur avec un processeur 32-bits), on peut simplifier grossiĂšrement les propriĂ©tĂ©s de convergence de l'algorithme de Newton en disant que, soit il converge en moins de 10 itĂ©rations, soit il diverge. En effet, si l'itĂ©rĂ© initial n'est pas pris suffisamment proche d'un zĂ©ro, la suite des itĂ©rĂ©s gĂ©nĂ©rĂ©e par l'algorithme a un comportement erratique, dont la convergence Ă©ventuelle ne peut ĂȘtre que le fruit du hasard (un des itĂ©rĂ©s est par chance proche d'un zĂ©ro).
L'importance de l'algorithme a incitĂ© les numĂ©riciens Ă Ă©tendre son application et Ă proposer des remĂšdes Ă ses dĂ©fauts. Par exemple, l'algorithme permet Ă©galement de trouver un zĂ©ro d'une fonction de plusieurs variables Ă valeurs vectorielles, voire dĂ©finie entre espaces vectoriels de dimension infinie ; la mĂ©thode conduit d'ailleurs Ă des rĂ©sultats d'existence de zĂ©ro (utilisĂ©s dans certaines preuves du thĂ©orĂšme des fonctions implicites, les thĂ©orĂšmes de Kantorovitch). On peut aussi l'utiliser lorsque la fonction est diffĂ©rentiable dans un sens plus faible (fonction diffĂ©rentiable par morceaux, B-diffĂ©rentiable, semi-lisse, obliquement diffĂ©rentiable, etc), ainsi que pour rĂ©soudre des systĂšmes d'inĂ©galitĂ© non linĂ©aire, des problĂšmes d'inclusion, d'Ă©quations diffĂ©rentielles ou aux dĂ©rivĂ©es partielles, dâinĂ©quations variationnelles, de complĂ©mentaritĂ©, etc. On a Ă©galement mis au point des techniques de globalisation de l'algorithme, lesquelles ont pour but de forcer la convergence des suites gĂ©nĂ©rĂ©es Ă partir d'un itĂ©rĂ© initial arbitraire (non nĂ©cessairement proche d'un zĂ©ro), comme la recherche linĂ©aire et les rĂ©gions de confiance agissant sur une fonction de mĂ©rite (souvent la fonction de moindres-carrĂ©s). Dans les versions dites inexactes ou tronquĂ©es, on ne rĂ©sout le systĂšme linĂ©aire Ă chaque itĂ©ration que de maniĂšre approchĂ©e. Enfin, la famille des algorithmes de quasi-Newton propose des techniques permettant de se passer du calcul de la dĂ©rivĂ©e de la fonction. Toutes ces amĂ©liorations ne permettent toutefois pas d'assurer que l'algorithme trouvera un zĂ©ro existant, quel que soit l'itĂ©rĂ© initial.
Appliqué à la dérivée d'une fonction réelle, cet algorithme permet d'obtenir des points critiques (i.e., des zéros de la fonction dérivée). Cette observation est à l'origine de son utilisation en optimisation sans ou avec contraintes.
Sommaire |
La méthode de Newton fut décrite par le mathématicien anglais Isaac Newton dans De analysi per aequationes numero terminorum infinitas, écrit en 1669 et publié en 1711 par William Jones. Elle fut à nouveau décrite dans De metodis fluxionum et serierum infinitarum (De la méthode des fluxions et des suites infinies), écrit en 1671, traduit et publié sous le titre Methods of Fluxions en 1736 par John Colson. Toutefois, Newton n'appliqua la méthode qu'aux seuls polynÎmes. Comme la notion de dérivée et donc de linéarisation n'était pas définie à cette époque, son approche diffÚre de celle décrite dans l'introduction : Newton cherchait à affiner une approximation grossiÚre d'un zéro d'un polynÎme par un calcul polynomial.
L'exemple que Newton donne[2] est celui du calcul de la racine de
en prenant comme itĂ©rĂ© initial le point x1 = 2, qui diffĂšre de moins de 10% de la vraie valeur d'une racine. Il Ă©crit alors x = 2 + d1, oĂč d1 est donc l'accroissement Ă donner Ă 2 pour obtenir la racine x. Il remplace x par 2 + d1 dans l'Ă©quation, qui devient
et dont il faut trouver la racine pour l'ajouter à 2. Il néglige à cause de sa petitesse (on suppose que
), si bien qu'il reste
ou d1 = 0,1, ce qui donne comme nouvelle approximation de la racine x2 = x1 + d1 = 2,1. Il Ă©crit ensuite d1 = 0,1 + d2, oĂč d2 est donc l'accroissement Ă donner Ă d1 pour obtenir la racine du polynĂŽme prĂ©cĂ©dent. Il remplace donc d1 par 0,1 + d2 dans le polynĂŽme prĂ©cĂ©dent pour obtenir
On obtiendrait la mĂȘme Ă©quation en remplaçant x par 2,1 + d2 dans le polynĂŽme initial. NĂ©gligeant les deux premiers termes, il reste ou
Ă peu prĂšs, ce qui donne comme nouvelle approximation de la racine
. On peut poursuivre les opérations aussi longtemps qu'il convient.
Cette méthode fut l'objet de publications antérieures. En 1685, John Wallis en publia une premiÚre description dans A Treatise of Algebra both Historical and Practical. En 1690, Joseph Raphson en publia une description simplifiée dans Analysis aequationum universalis. Raphson considérait la méthode de Newton toujours comme une méthode purement algébrique et restreignait aussi son usage aux seuls polynÎmes. Toutefois, il mit en évidence le calcul récursif des approximations successives d'un zéro d'un polynÎme au lieu de considérer comme Newton une suite de polynÎmes.
C'est Thomas Simpson (1710-1761) qui généralisa cette méthode au calcul itératif des solutions d'une équation non linéaire, en utilisant les dérivées (qu'il appelait fluxions, comme Newton)[3]. Simpson appliqua la méthode de Newton à des systÚmes de 2 équations non linéaires à 2 inconnues[4], en suivant l'approche utilisée aujourd'hui pour des systÚmes ayant plus de 2 équations, et à des problÚmes d'optimisation sans contrainte en cherchant un zéro du gradient[5]. Arthur Cayley fut le premier à noter la difficulté de généraliser la méthode de Newton aux variables complexes en 1879[6], par exemple aux polynÎmes de degré supérieur à 3.
On pourra consulter l'article de Ypma (1995) pour d'autres informations sur l'historique de l'algorithme. Cet auteur attribue l'absence de reconnaissance aux autres contributeurs de l'algorithme au livre influent de Fourier, intitulĂ© Analyse des Ăquations DĂ©terminĂ©es (1831), lequel dĂ©crivait la mĂ©thode newtonienne sans faire rĂ©fĂ©rence Ă Raphson ou Simpson.
On va donc chercher à construire une bonne approximation d'un zéro de la fonction d'une variable réelle f(x) en se basant sur son développement de Taylor au premier ordre. Pour cela, partant d'un point x0 que l'on choisit de préférence proche du zéro à trouver (en faisant des estimations grossiÚres par exemple), on approche la fonction au premier ordre, autrement dit, on la considÚre à peu prÚs égale à sa tangente en ce point :
Partant de là , pour trouver un zéro de cette fonction d'approximation, il suffit de calculer l'intersection de la droite tangente avec l'axe des abscisses, c'est-à -dire résoudre l'équation affine :
0 = f(x0) + f'(x0)(x â x0).
On obtient alors un point x1 qui en gĂ©nĂ©ral a de bonnes chances d'ĂȘtre plus proche du vrai zĂ©ro de f que le point x0 prĂ©cĂ©dent. Par cette opĂ©ration, on peut donc espĂ©rer amĂ©liorer l'approximation par itĂ©rations successives (voir illustration) : on approche Ă nouveau la fonction par sa tangente en x1 pour obtenir un nouveau point x2, etc.
Cette méthode requiert que la fonction possÚde une tangente en chacun des points de la suite que l'on construit par itération, par exemple il suffit que f soit dérivable.
Formellement, on part d'un point x0 appartenant à l'ensemble de définition de la fonction et on construit par récurrence la suite :
oĂč f' dĂ©signe la dĂ©rivĂ©e de la fonction f. Le point xk + 1 est bien la solution de l'Ă©quation affine f(xk) + f'(xk)(x â xk) = 0.
Il se peut que la récurrence doive se terminer, si à l'étape k, xk n'appartient pas au domaine de définition ou si la dérivée f'(xk) est nulle ; dans ces cas, la méthode échoue.
Si le zéro inconnu α est isolé, alors il existe un voisinage de α tel que pour toutes les valeurs de départ x0 dans ce voisinage, la suite (xk) va converger vers α. De plus, si f'(α) est non nul, alors la convergence est quadratique, ce qui signifie intuitivement que le nombre de chiffres corrects est approximativement doublé à chaque étape.
Bien que la mĂ©thode soit trĂšs efficace, certains aspects pratiques doivent ĂȘtre pris en compte. Avant tout, la mĂ©thode de Newton nĂ©cessite que la dĂ©rivĂ©e soit effectivement calculĂ©e. Dans les cas oĂč la dĂ©rivĂ©e est seulement estimĂ©e en prenant la pente entre deux points de la fonction, la mĂ©thode prend le nom de mĂ©thode de la sĂ©cante, moins efficace (d'ordre 1,618 qui est le nombre d'or) et infĂ©rieure Ă d'autres algorithmes. Par ailleurs, si la valeur de dĂ©part est trop Ă©loignĂ©e du vrai zĂ©ro, la mĂ©thode de Newton peut entrer en boucle infinie sans produire d'approximation amĂ©liorĂ©e. Ă cause de cela, toute mise en Ćuvre de la mĂ©thode de Newton doit inclure un code de contrĂŽle du nombre d'itĂ©rations.
Pour illustrer la mĂ©thode, recherchons le nombre positif x vĂ©rifiant cos(x) = x3. Reformulons la question pour introduire une fonction devant s'annuler : on recherche le zĂ©ro positif (la racine) de f(x) = cos(x) â x3. La dĂ©rivation donne f'(x) = â sin(x) â 3x2.
Comme pour tout x et x3 > 1 pour x > 1, nous savons que notre zéro se situe entre 0 et 1. Nous essayons une valeur de départ de x0 = 0,5.
Les 7 premiers chiffres de cette valeur coïncident avec les 7 premiers chiffres du vrai zéro.
La vitesse de convergence d'une suite xn obtenue par la mĂ©thode de Newton peut ĂȘtre obtenue comme application de la formule de Taylor-Lagrange. Il s'agit d'Ă©valuer une majoration de log | xn â a | .
f est une fonction dĂ©finie au voisinage de a et deux fois continument diffĂ©rentiable. On suppose que a se trouve ĂȘtre un zĂ©ro de f qu'on essaie d'approcher par la mĂ©thode de Newton. On fait l'hypothĂšse que a est un zĂ©ro d'ordre 1, autrement dit que f'(a) est non nul. La formule de Taylor-Lagrange s'Ă©crit :
Partant de l'approximation x, la méthode de Newton fournit au bout d'une itération :
Pour un intervalle compact I contenant x et a et inclus dans le domaine de définition de f, on pose : ainsi que
. Alors, pour tout
:
Par récurrence immédiate, il vient :
oĂč . En passant au logarithme :
La convergence de xn vers a est donc quadratique, Ă condition que |x0-a|<1/K.
La tangente à la courbe peut couper l'axe des abscisses hors du domaine de définition de la fonction.
Si l'on utilise la fonction , on constate que, pour tout n, Un + 1 = â Un, et il ne peut donc pas y avoir convergence.
Des critĂšres d'arrĂȘt possibles, dĂ©terminĂ©s relativement Ă une grandeur numĂ©riquement nĂ©gligeable, sont :
oĂč representent des erreurs d'approximations caractĂ©risant la qualitĂ© de la solution numĂ©rique.
Dans tous les cas, il se peut que le critĂšre d'arrĂȘt soit vĂ©rifiĂ© en des points ne correspondant pas Ă des solutions de l'Ă©quation Ă rĂ©soudre.
Un cas particulier de la méthode de Newton est l'algorithme de Babylone, aussi connu sous le nom de méthode de Héron : il s'agit, pour calculer la racine carrée de a, d'appliquer la méthode de Newton à la résolution de
On obtient alors, en utilisant la formule de la dérivée f'(x) = 2x, une méthode d'approximation de la solution donnée par la formule itérative suivante :
Cette méthode converge pour tout et tout point de départ x0 > 0.
On peut l'étendre au calcul de toute racine niÚme d'un nombre a avec la formule :
La convergence de la suite (xk) se démontre par récurrence : pour k donné, on peut montrer que si alors
. De plus, si
, alors
. La suite est donc dĂ©croissante au moins Ă partir du second terme. Elle est Ă©galement bornĂ©e, donc elle converge. Reste Ă montrer que cette limite l est bien Ă©gale Ă
: on obtient ce résultat en montrant qu'il est nécessaire que
pour que xk + 1 â l tende vers 0 lorsque k tend vers
.
On peut dĂ©terminer une intersection des graphes de deux fonctions rĂ©elles dĂ©rivables f et g, c'est-Ă -dire un point x tel que f(x) = g(x), en appliquant la mĂ©thode de Newton Ă la fonction f â g.
La mĂ©thode peut aussi ĂȘtre appliquĂ©e pour trouver des zĂ©ros de fonctions complexes. Dans ce cadre, on connait bien les comportements que peuvent avoir la suite des itĂ©rĂ©s de Newton. On peut citer :
L'ensemble des points Ă partir desquels peut ĂȘtre obtenue une suite qui converge vers un zĂ©ro fixĂ© s'appelle le bassin d'attraction de ce zĂ©ro. Pour beaucoup de fonctions complexes, le bassin d'attraction est une fractale.
L'étude de la méthode de Newton pour les polynÎmes à variables complexes trouve naturellement sa place dans l'étude dynamique des fractions rationnelles et a été une des motivations récentes de l'étude de la dynamique holomorphe.
On peut aussi vouloir utiliser la méthode de Newton pour résoudre des systÚmes de k équations (non nécessairement linéaires), ce qui revient à trouver les zéros de fonctions continûment dérivables F de dans
. Dans la formulation donnée ci-dessus, il faut multiplier par l'inverse de la matrice jacobienne
au lieu de diviser par f'(xn). PlutÎt que de calculer maintenant l'inverse de la matrice, on peut économiser du temps en résolvant le systÚme d'équations linéaires
pour l'inconnue xn + 1 â xn. Encore une fois, cette mĂ©thode ne fonctionne que pour une valeur initiale x0 suffisamment proche du vrai zĂ©ro. Ainsi, on peut commencer par localiser une rĂ©gion favorable par une mĂ©thode grossiĂšre ou par un prĂ©conditionnement de la matrice, puis appliquer la mĂ©thode de Newton pour peaufiner la prĂ©cision.
Cet article est issu de l'encyclopédie libre Wikipedia.