Zeros
Zeros
Zeros
Le but
Le but de ce chapitre est d’aborder la résolution numériques d’équations ou de systèmes d’équations du
genre
f (x) = 0 (7.1)
Ce problème est très fortement lié à des problèmes connexes très communs en physique. Ainsi :
— Minimiser une fonction F (x) est équivalent à trouver les zéro de sa dérivée : F 0 (x) = f (x) = 0.
— Trouver un point fixe x tel que g(x) = x est équivalent à trouver les zéros de f (x) = g(x) x.
— ...
Les motivations
On sait résoudre ce type de problèmes analytiquement (à la main) lorsque la fonction f est un polynôme
d’ordre inférieur ou égal à 4. Cependant, dès que la situation devient plus compliquée, la résolution numérique
devient indispensable. En particulier quand :
— la fonction f est fortement non-linéaire
— il n’existe pas de solution analytique explicite (par ex x = ex , x = cos x...)
— le problème implique un système linéaire d’ordre élevé : M̄ ¯X
~ =Y ~
— le problème implique un système non-linéaire : F~ (X) ~ = ~0
Ce chapitre est principalement dédié à la résolution d’équations de faible dimension. Le cas des systèmes de
grandes dimensions est laissé à une autre fois....
Le principe
Les méthodes numériques de résolution d’équations sont des méthodes itératives. Elles reposent sur le
calcul d’une récurrence qui part d’un point x0 (a priori différent de la racine que l’on cherche), et qui, de
proche en proche, tend vers la racine x⇤ . Elles permettent donc d’obtenir une valeur approchée de la racine.
Elles reposent donc sur 3 choix importants :
• Le point de départ x0 . En général, plus on part proche de la racine cherchée, plus les méthodes sont
efficaces. Dans certains cas, une méthode peut ne pas converger du tout si le point de départ est
inadapté.
• La méthode de récurrence xn+1 = f (xn ). Nous verrons plusieurs méthodes différentes.
65
Université Paul Sabatier 2016-2017 CHAPITRE 7. MÉTHODES DE RÉSOLUTION D’ÉQUATIONS
• Le critère d’arrêt. La récurrence tend en général asymptotiquement vers la racine. Il faut donc se
définir un critère qui arrête la récurrence lorsque l’on est suffisamment proche de la solution. On
utilise souvent l’un ou plusieurs des 3 critères suivants :
— n > nmax : un nombre maximal d’itérations à ne pas dépasser quoi qu’il arrive
— |xn+1 xn | < ✏1 : lorsque deux itérations successives donnent des résultats très proches, on peut
supposer que l’on a convergé vers une solution. Cependant, dans le cas d’une fonction complexe,
on peut parfois, par malchance, avoir deux itérations proches tout en étant loin de la racine. De
même un tel critère appliqué à une fonction très raide ne garantira pas que f = 0 à un grand
niveau de précision.
— |f (xn )| < ✏2 : lorsque x est proche de la racine, f (x) soit être proche de 0. Cependant, un tel
critère appliqué à une fonction très plate ne fournira pas forcément une approximation précise de
la racine.
Selon ces choix, les méthodes peuvent converger ou non, et lorsqu’elle convergent, elles peuvent le faire plus
ou moins vite.
Performances
On estime la performance d’une méthode en comparant le nombre d’itérations nécessaires pour arriver
suffisamment proche de la solution et le temps nécessaire pour exécuter une unique itération.
Pour caractériser les différentes méthodes, on définit souvent l’erreur théorique comme l’écart à la racine
théorique x⇤ :
✏ n = xn x⇤ (7.2)
Difficultés classiques
Quelle que soit la méthode choisie, de nombreux peuvent problèmes gêner la convergence, comme :
— la présence de plusieurs solutions
— la présence de pôles
— la présence de racines de multiplicité élevée
— des asymptotes finies en ±1
— ...
66
CHAPITRE 7. MÉTHODES DE RÉSOLUTION D’ÉQUATIONS Université Paul Sabatier 2016-2017
7.1 Problèmes à 1D
Il s’agit ici de résoudre une équation du type f (x) = 0 où f et x sont des scalaires.
7.1.1 Dichotomie
La méthode de dichotomie requière deux valeurs de départ a0 et b0 qui encadrent la racine à trouver
(c’est à dire telles que f (a0 ) et f (b0 ) sont de signes opposés). On fait ensuite une double récurrence sur an et
bn en réduisant à chaque itération la taille de l’intervalle par 2. Pour cela, on regarde le signe de la fonction
au point milieu et on détermine un nouvel encadrement de la solution en utilisant ce point.
8
> a + bn
< c= n
8n 0 2 ⇢ ⇢ (7.3)
> an+1 = c an+1 = an
: Si f (an )f (c) > 0 alors sinon
bn+1 = bn bn+1 = c
L’erreur de cette méthode est majorée par l’intervalle ✏n |bn an | = |b02na0 | , si bien que |✏n+1 /✏n | = 1/2.
L’erreur est divisée par deux à chaque itération. Il s’agit d’une convergence linéaire.
Cette méthode est très simple à mettre en oeuvre. De plus elle est extrêmement robuste une fois que l’on
a trouvé a0 et b0 .
Cependant, elle nécessite une première recherche de a0 et b0 sans lesquelles elle ne peut être appliquée. De
plus, sa convergence est très lente. Enfin, cette méthode est inadaptée pour les zéros de multiplicité élevée.
f (xn )
xn+1 = xn
f 0 (xn )
67
Université Paul Sabatier 2016-2017 CHAPITRE 7. MÉTHODES DE RÉSOLUTION D’ÉQUATIONS
Interprétation graphique
En la réécrivant sos la forme : f 0 (xn ) = (0 f (xn ))/(xn+1 xn ), on voit que géométriquement, cette
méthode revient à calculer xn+1 comme le point où la tangente à f (x) en xn coupe l’axe des abscisses (voir
Fig. 7.1 à gauche).
Figure 7.1 – Méthode de Newton appliquée à la fonction f (x) = x + x2 . A gauche : fonction et valeurs de
la série xn . A droite : propriétés de convergence.
Convergence
En supposant que la série converge, on peut caractériser sa convergence dans la limite n ! 1. Soit
✏n = x⇤ xn l’erreur à l’itération n. Alors 0 = f (x⇤ ) = f (xn + ✏n ) = f (xn ) + ✏n f 0 (xn ) + ✏2n f 00 (xn )/2 + O(✏3n ).
f 00 (xn )
En substituant f (xn ) par la formule de récurrence, on obtient facilement : xn xn+1 + ✏n + ✏2n 2f 0 (x ) = 0,
n
soit : ✏n+1
✏n = ✏ n f 00
(x n )/(2f 0
(x n )) + O(✏ 2
n ). Dans la limite de convergence x n ! x ⇤ :
✏n+1 f 00 (x⇤ )
⇠ ✏n
✏n 2f 0 (x⇤ )
68
CHAPITRE 7. MÉTHODES DE RÉSOLUTION D’ÉQUATIONS Université Paul Sabatier 2016-2017
Méthode de la sécante
Dans certains problèmes physique, on peut ne pas connaître l’expression de la dérivée. Dans ce cas,
on peut l’estimer numériquement avec l’approximation f 0 (xn ) ⇡ f (xxnn) fxn(xn1 1 ) . La suite devient alors une
récurrence à deux niveaux (il faut xn et xn 1 pour calculer xn+1 ) :
xn xn 1
xn+1 = xn f (xn )
f (xn ) f (xn 1)
On peut voir cette relation comme une variante de la méthode de la fausse position (Regula-Falsi), où les
deux points précédents n’ont pas été choisis de part et d’autre de la racine, mais comme les deux derniers
éléments de la suite.
69