En 1979, Benoit B. Mandelbrot s'amusa avec une Žquation de rŽcurrence toute simple

zn+1 = zn2 + C
z0 = 0

dont le dŽveloppement est z0 , z02 + C , (z02 + C)2 + C , ...

1924-2010

NŽ en Pologne en 1924, le mathŽmaticien Benoit B. Mandelbrot Žmigre en France en 1936. Il travaille en 1958 pour IBM au centre de recherche Thomas B. Watson ˆ New York et enseigne ensuite en Sciences MathŽmatiques ˆ l'UniversitŽ Yale. Il est dŽcŽdŽ le 14 octobre 2010 ˆ Cambridge (Massachusetts) des suites d'un cancer du pancrŽas.Il avait 85 ans.

Site web de Benoit B. Mandelbrot


La valeur de C Žtant une constante de l'ensemble des nombres complexes qu'il associa ˆ un point de l'Žcran de son ordinateur. Pour chaque nombre complexe C associŽ ˆ un pixel de son Žcran, il obtint une suite de nombres complexes. Il calcula le module de chacun des termes de la suite

| z0 | , | z1 | , | z2 | , | z3 | , | z4 | , ...

Lorsque la suite des modules ne tendait pas vers l'infini, le point C Žtait considŽrŽ comme appartenant ˆ l'espace recherchŽ et Žtait noirci. L'ensemble de Mandelbrot venait de na”tre.

Pour reproduire l'ensemble de Mandelbrot, on associe ˆ C des valeurs du plan complexe. On considre gŽnŽralement la portion du plan complexe ayant comme partie rŽelle, les valeurs entre -2.5 et 1.5 et comme partie imaginaire, les valeurs entre -1.5 et 1.5. Cette portion du plan complexe est subdivisŽe de faon ˆ former une grille dont les ŽlŽments seront associŽs ˆ des valeurs de C. Pour chaque valeur de C, on obtient une suite de modules. En pratique, on considre que la suite des modules ne tendra pas vers l'infini si les 30 premiers modules sont infŽrieurs ˆ 2, on colorie alors en noir le point de la grille. Aprs avoir considŽrŽ tous les points de la grille, on obtient un ensemble de points noircis : l'ensemble de Mandelbrot.

On peut colorer les points ˆ l'extŽrieur de l'ensemble de Mandelbrot en utilisant des couleurs qui dŽpendent du nombre de termes calculŽs avant d'obtenir un module supŽrieur ou Žgal ˆ 2. Les points d'une mme couleur peuvent tre interprŽtŽs comme Žtant des points s'Žloignant ˆ la mme vitesse de l'ensemble de Mandelbrot.

Exemple

Donnons ˆ C la valeur -0.1 + i correspondant au point (-0.1, 1) de notre grille.
zn+1 = zn2 + (-0.1 + i)
z0 = 0

Pour cette valeur de C, on obtient une suite de nombres complexes.

z0 = 0 + 0 i | z0 | = 0
z1 = -0.1 + i | z1 | = 1.005
z2 = -1.09 + 0.8 i | z2 | = 1.352
z3 = 0.448 - 0.744 i | z3 | = 0.869
z4 = -0.453 + 0.333 i | z4 | = 0.562
z5 = -0.006 + 0.698 i | z5 | = 0.698
z6 = -0.586 + 0.992 i | z6 | = 1.153
z7 = -0.738- 0.165 i  | z7 | = 0.756
z8 = 0.417 + 1.244 i  | z8 | = 1.312
z9 = -1.473 + 2.038 i  | z9 | = 2.514

Puisque | z9 | est supŽrieur ˆ 2, on considre que la suite des modules ira vers l'infini. Ce point n'appartient pas ˆ l'ensemble de Mandelbrot. On assignera donc la couleur # 9 au point (-0.1, 1) de la grille. Tous les points d'une mme couleur requirent le calcul d'un mme nombre de termes avant de constater qu'ils ne font pas partie de l'ensemble de Mandelbrot.

GŽomŽtrie fractale

L'ensemble de Mandelbrot prŽsente une propriŽtŽ intŽressante d'autosimilaritŽ. Sa structure se reproduit d'une faon identique ˆ toutes les Žchelles d'observation. Les formes qui prŽsentent cette propriŽtŽ d'autosimilaritŽ s'appellent des fractales. Les fractales ont la particularitŽ que n'importe quelle rŽgion lorsqu'elle est agrandie se rŽvle tout aussi finement structurŽe que la figure plus grande dont elle est extraite. Autrement dit, il y a une rŽgression infinie de dŽtails, un embo”tement infini de structures.

En agrandissant une rŽgion quelconque de l'ensemble de Mandelbrot, on remarque la prŽsence de points noirs qui se rŽvlent tre des copies conformes de l'ensemble de dŽpart.


1. L'ensemble de Mandelbrot


2. Zoom dans la partie supŽrieure de la figure 1


3.
Zoom dans la partie supŽrieure de la figure 2


4.
Zoom dans la branche de gauche de la figure 3

Suggestions de quelques outils d'exploration

  • Il existe sur le Web une multitude de logiciels qui portent sur l'ensemble de Mandelbrot et que l'on peut tŽlŽcharger. Ces logiciels permettent de faire l'Žtude de cette structure ˆ diffŽrents niveaux d'observation. Je vous suggre "Ultra Fractal " pour ceux qui travaillent sur un PC.

  • On peut aussi faire une incursion dans l'ensemble de Mandelbrot en utilisant Maple. Il suffit de copier le programme (en rouge) sur une feuille de travail du logiciel et d'indiquer ˆ la place de (-2)..(1),(-1.5)..(1.5) de la dernire ligne, l'Žtendue des parties rŽelles et imaginaires de C que l'on dŽsire visualiser. Faites attention aux dŽcimales si vous utilisez Maple 7 car il gre trs mal les Žtendues contenant des dŽcimales dans la macro-commande plot3d. ƒcrivez -15/10..15/10 plut™t que -1.5..1.5.

    couleur:=proc(a,b)

    local x,y,xi,yi,n;
    x:=a;
    y:=b;
    for n from 0 to 30 while evalf(x^2+y^2) < 4 do;
    xi:=evalf(x^2-y^2+a);
    yi:=evalf(2*x*y+b);
    x:=xi;
    y:=yi;
    od;
    n;
    end:

    plot3d(0,(-2)..(1),(-15/10)..(15/10),orientation=[-90,0],style=patchnogrid, scaling=constrained,axes=framed,numpoints=20000,color=couleur);

    Lorsque la partie rŽelle du point C est entre -2 et 1 et la partie imaginaire entre -1.5 et 1.5, on obtient ˆ partir du programme prŽcŽdent, une reprŽsentation colorŽe de l'ensemble de Mandelbrot.

    Voici des images qui ont ŽtŽ crŽŽes par ce programme. L'ordinateur utilisŽ doit tre rapide et doit disposer de beaucoup de mŽmoire. Chaque image nŽcessite le calcul d'environ 300 000 termes. Pour augmenter la vitesse d'exŽcution de l'ordinateur, il faudra diminuer la valeur du paramtre numpoints=20000. L'image sera Žvidemment moins prŽcise. Pour augmenter les dŽtails, on devra changer la valeur 30 de la boucle n from 0 to 30 pour une valeur supŽrieure.

    Merci ˆ Nicolas Rochette du CŽgep Beauce-Appalaches pour cette variation originale de l'ensemble de Mandelbrot.
    En changeant la dernire commande du programme prŽcŽdent pour celle-ci,

    plot3d(couleur, (-2)..(1), (-15/10)..(15/10), orientation=[-70,45], style=patchnogrid, axes=framed, lightmodel='light1', numpoints=40000, color=couleur);

    on obtient