4. RÉSOLUTION DES É QUATIONS NUMÉ RIQUES
Comme le montre l’expression donnant n, quand bien même la dynamique de l’intervalle
serait multipliée par 10, cela ne ferait qu’ajouter une unité à p + 1, ce qui ne changerait pas
grand-chose, et, dans l’exemple précédent, on trouverait alors 36 et 56 tours.
Quoi qu’il en soit, la prudence la plus élémentaire exige toujours de reporter la prétendue
racine dans l’équation et d’afficher le résultat... À ce sujet, encore une remarque : quel doit être
l’ordre de grandeur de f(zo) ?
On s’attend à trouver zéro, mais en général il n’en sera rien. Cela dépend de la fonction f(x)
dont le calcul est agrémenté d’une erreur congénitale liée d’une part aux approximations utilisées
par l’algorithme, d’autre part aux propagations des erreurs de troncature entre autres. Dans les
centre de calcul, il est possible de consulter une documentation fournie par le fabricant de logiciel
qui informe l’utilisateur sur ce type d’erreur. Pour des valeurs de l’argument appartenant à un
certain domaine, un écart type est fourni, car il s’agit dans ce cas d’une erreur statistique.
Comme f(~s) = 0 et f(Xc + Er) ? 0, un développement au premier ordre donne l’ordre de
grandeur de f(zo + ~1) :
f(xo +a) = f(xo) +%f'(ZoL
d’où f(~,, + ~1) - f(~o) = ~rf’(~o) 2 10-P~of’(~o).
Cette technique est simple à mettre en œuvre car elle ne fait appel qu’au calcul de la fonction
elle-même, en outre elle offre l’avantage de conserver la suite des solutions approchées dans le
voisinage retenu ce qui n’est pas le cas avec d’autres méthodes comme celle de Newton par
exemple. Sur le Web (*) on trouvera le programme dichot . c réalisant la recherche de racine par
dichotomie.
1.3. Méthode d’approximations successives ne faisant
intervenir que la fonction
Le problème qui consiste à rechercher la racine d’une équation f(x) = 0 dans un certain domaine
peut être modifié en ajoutant simplement z à chacun des deux membres, soit : f(x) + 2 = IC.
Par goût de la simplicité, on peut poser f(x) + z = g(z) sans changer quoi que ce soit.
Nous allons décrire une méthode itérative qui ne fait apparaître que la seule fonction f(x) (ou
g(z)) à condition toutefois que la fonction f(x) obéisse à certaines règles de régularité telles que
la continuité et la dérivabilité (dérivée première continue). À partir de la première approximation
20 obtenue par un des procédés proposés précédemment, on forme la suite :
Xl =S(~OI
x2 =Ll(a)
/
,
l
. . . . . . . . . . . .
/
I
Gl= LT(&-1)
>
1 Pour aue cette technique soit efficace, il est indispensable que la suite des X ~ C soit convergente.
i
-
-
Dans l’hypothèse où f(x) est continue et où la suite des ~k converge, alors la limite de la suite
que nous désignerons par x* est racine de f(x) = 0. E n effet, quand k tend vers l’infini xk
et xk+r tendent vers x*. La continuité de f(x) entraîne celle de g(x) qui entraîne à son tour
*http://www.edpsciences.com/guilpin/
53
Comme le montre l’expression donnant n, quand bien même la dynamique de l’intervalle
serait multipliée par 10, cela ne ferait qu’ajouter une unité à p + 1, ce qui ne changerait pas
grand-chose, et, dans l’exemple précédent, on trouverait alors 36 et 56 tours.
Quoi qu’il en soit, la prudence la plus élémentaire exige toujours de reporter la prétendue
racine dans l’équation et d’afficher le résultat... À ce sujet, encore une remarque : quel doit être
l’ordre de grandeur de f(zo) ?
On s’attend à trouver zéro, mais en général il n’en sera rien. Cela dépend de la fonction f(x)
dont le calcul est agrémenté d’une erreur congénitale liée d’une part aux approximations utilisées
par l’algorithme, d’autre part aux propagations des erreurs de troncature entre autres. Dans les
centre de calcul, il est possible de consulter une documentation fournie par le fabricant de logiciel
qui informe l’utilisateur sur ce type d’erreur. Pour des valeurs de l’argument appartenant à un
certain domaine, un écart type est fourni, car il s’agit dans ce cas d’une erreur statistique.
Comme f(~s) = 0 et f(Xc + Er) ? 0, un développement au premier ordre donne l’ordre de
grandeur de f(zo + ~1) :
f(xo +a) = f(xo) +%f'(ZoL
d’où f(~,, + ~1) - f(~o) = ~rf’(~o) 2 10-P~of’(~o).
Cette technique est simple à mettre en œuvre car elle ne fait appel qu’au calcul de la fonction
elle-même, en outre elle offre l’avantage de conserver la suite des solutions approchées dans le
voisinage retenu ce qui n’est pas le cas avec d’autres méthodes comme celle de Newton par
exemple. Sur le Web (*) on trouvera le programme dichot . c réalisant la recherche de racine par
dichotomie.
1.3. Méthode d’approximations successives ne faisant
intervenir que la fonction
Le problème qui consiste à rechercher la racine d’une équation f(x) = 0 dans un certain domaine
peut être modifié en ajoutant simplement z à chacun des deux membres, soit : f(x) + 2 = IC.
Par goût de la simplicité, on peut poser f(x) + z = g(z) sans changer quoi que ce soit.
Nous allons décrire une méthode itérative qui ne fait apparaître que la seule fonction f(x) (ou
g(z)) à condition toutefois que la fonction f(x) obéisse à certaines règles de régularité telles que
la continuité et la dérivabilité (dérivée première continue). À partir de la première approximation
20 obtenue par un des procédés proposés précédemment, on forme la suite :
Xl =S(~OI
x2 =Ll(a)
/
,
l
. . . . . . . . . . . .
/
I
Gl= LT(&-1)
>
1 Pour aue cette technique soit efficace, il est indispensable que la suite des X ~ C soit convergente.
i
-
-
Dans l’hypothèse où f(x) est continue et où la suite des ~k converge, alors la limite de la suite
que nous désignerons par x* est racine de f(x) = 0. E n effet, quand k tend vers l’infini xk
et xk+r tendent vers x*. La continuité de f(x) entraîne celle de g(x) qui entraîne à son tour
*http://www.edpsciences.com/guilpin/
53
