|
La méthode de Newton est très efficace pour estimer les
zéros d'une fonction. En utilisant la notion de dérivée, elle parvient
souvent à localiser un zéro d'une façon très précise en quelques étapes
seulement. Pour qu'elle puisse efficacement localiser un zéro, il faut
lui fournir une valeur de départ xo qui soit suffisamment près du zéro
en question. C'est précisément cette valeur initiale xo qui est à
l'origine des fractales de Newton. Rappelons d'abord cette méthode pour
estimer les zéros d'une fonction.
Si f(x) a un zéro
suffisamment près de x0, la suite des nombres réels définie
à partir de l'équation
converge
vers le zéro en question pourvu que f '(x0), f '(x1),
f '(x2),... existent et soient différents de 0.
|
Prenons f(x)
= x5 - 1. La fonction possède 5 zéros sur l'ensemble des
nombres complexes: -0,809 + 0,588i ; 0,309 + 0,951i ;
1 ; 0,309 - 0,951i ; -0,809 - 0,588i. Si on appliquait la
méthode de Newton à f(x) en utilisant une quelconque valeur pour xo,
elle convergerait fort probablement vers l'un ou l'autre des 5 zéros de
la fonction. Lorsqu'on utilise une valeur initiale suffisamment près
d'un zéro, la méthode de Newton converge en général très rapidement
vers ce zéro. Dans le cas contraire, elle peut tout aussi bien
converger vers un autre zéro, pas nécessairement celui qui est le plus
près de xo.
Il serait intéressant de
localiser sur le plan complexe toutes les valeurs initiales xo pour
lesquelles la méthode de Newton converge vers un même zéro. En
utilisant un ordinateur, on peut trouver une solution à ce problème en
colorant de la même couleur tous les points xo du plan complexe qui
conduisent vers un même zéro. La coloration permet de mettre en
évidence différentes zones d'attraction (ou bassins d'attraction) liées
aux valeurs de xo. Il existe plusieurs logiciel qui permettent de
résoudre ce genre de problème. Voici une image obtenue à l'aide du
logiciel "Fractal Explorer" à partir de la fonction du haut. L'image
est surprenante.
Toutes valeurs initiales xo choisies dans les régions
colorées en jaune font que la méthode de Newton converge vers -0,809+0,588i. Elle converge vers
0,309+0,951i
pour des valeurs initiales choisies dans les régions colorées en vert. Il en est de même pour
les autres couleurs.
L'image obtenue nous fait prendre conscience de la grande
sensibilité de la méthode. On note que certaines zones sur les
diagonales qui séparent les zéros sont d'un type particulier. Ces zones
sont constituées de figures qui présentent une propriété intéressante
d'autosimilarité. La structure se reproduit d'une façon identique à
toutes les échelles d'observation. C'est ce que les mathématiciens
appellent une structure fractale. En agrandissant ces
zones, on voit très bien son caractère d'autosimilarité.
Suggestions de
quelques outils d'exploration
-
Il existe plusieurs logiciels qui permettent de tracer des
fractales de Newton et que l'on peut télécharger. En général, ces
logiciels font l'étude de cette structure à différents niveaux
d'observation. Je vous suggère "Ultra Fractal " pour ceux qui
travaillent sur un PC (compatible IBM) avec Windows.
-
Il est possible d'utiliser le logiciel Maple pour ce genre
d'étude. Il suffit de copier le programme (en rouge) sur une feuille de
travail du logiciel. Maple 7 gère très mal
les étendues contenant des décimales dans la macro-commande plot3d.
Écrivez -15/10..15/10 plutôt que -1.5..1.5.
restart:
couleur := proc(a, b)
local x, i;
x := a+b*I;
for i from 0 to 30 while abs(x^n-1) >= 0.01 do x :=
x-(x^n-1)/(n*x^(n-1)) od;
i/30
end:
n :=5: # Indiquez le degré du polynôme
plot3d(0, (-15/10) .. (15/10), (-15/10) .. (15/10),
orientation=[-90,0], axes=framed, grid=[100,100], style=patchnogrid,
scaling=constrained, color=couleur);
Par exemple si on
considère la fonction f(x) = x5 - 1 et que l'on prend comme
valeurs de xo des nombres complexes
dont les parties réelle et imaginaire sont entre -1.5 et 1.5, on obtient l'image du
bas à gauche. La coloration est
fonction de la vitesse de convergence de l'algorithme vers l'un ou
l'autre des zéros de la fonction pour chacune des valeurs initiales xo
associées à la grille. L'ordinateur utilisé doit être rapide et doit
disposer de beaucoup de mémoire. Pour obtenir cette image, l'ordinateur
a dû appliquer la méthode de Newton 10 000 fois avec un maximum de
30 itérations à chaque fois. Soyez patient si
vous utilisez ce programme. Il peut s'écouler deux à trois minutes
avant que l'image apparaisse.
|
En changeant quelques
lignes à la procédure, on obtient l'image du haut à droite colorée
différemment. Tous les points de la
même couleur sont associés à des valeurs de xo pour lesquelles la
méthode de Newton converge vers un même zéro.
restart:
couleur := proc(a, b)
local x, i, j;
x := a+b*I;
for i from 0 to 30 while abs(x^n-1) >= 0.01 do x :=
x-(x^n-1)/(n*x^(n-1)) od;
for j from 1 to n while abs(x-sol[j]) >= 0.01 do od;
j/n
end:
n :=5: # Indiquez le degré du polynôme
sol :=solve(x^n-1.):
plot3d(0, (-15/10) ..
(15/10), (-15/10) .. (15/10), orientation=[-90,0], axes=framed, grid=[100,100],
style=patchnogrid, scaling=constrained, color=couleur);
Dans les zones à
caractère fractal, la méthode de Newton devient très sensible aux
variations de xo aussi petites soient-elles. Pour s'en convaincre,
copiez le programme du bas sur une feuille de travail Maple puis
changez la valeur de xo pour les valeurs suivantes: 0.3+0,492i ;
0.3+0,493i ; 0.3+0,494i ; 0.3+0,495i ; 0.3+0,496i. On constate que pour
ces 5 valeurs de xo toutes très près les unes des autres, la méthode de
Newton converge vers des zéros différents.
restart:
xo:=0.3+0.492*I; # Indiquez la valeur de xo
z :=evalf(xo):
for m from 0 to 100 while abs(z^5-1) >= 0.001 do
z := z - (z^5-1)/(5*z^4)
od;
|