Il est fort probablement que vous ayez déjà croisé, au détour d’une salle de math ou d’un site web sur le sujet, les célèbres figures de Mandelbrot. Entre géométrie et art, ces figures sont magnifiques, mais ce qu’on sait moins, c’est à quoi elles correspondent réellement.
D’où la question à laquelle je vais tenter de répondre : qu’a-t-on réellement devant les yeux quand on regarde une figure de Mandelbrot ?
L’explication rapide et simple
Ces figures sont des représentations d’une fonction mathématique, appelée suite de Mandelbrot.
Habituellement, quand on trace la représentation graphique d’une fonction, on place en $y$ la valeur de $x$ après passage par la fonction $f$ (soit $f(x)$). On prend donc les valeurs de l’axe des abscisses que l’on passe dans la fonction et ça nous donne l’ordonnée des points pris sur l’abscisse.
En traçant tous les points de coordonnées $x$ et $f(x)$, on obtient une courbe et ainsi la représentation graphique de la fonction, plus visuelle et plus intuitive que la formule qui lui est associée.
Pour les figures de Mandelbrot, la fonction ne prend plus seulement les valeurs $x$ sur l’axe horizontal, mais toutes les valeurs du plan, c’est-à-dire tous les points $(x;y)$. Ce n’est donc plus juste un $x$ que l’on injecte dans une fonction, mais deux nombres, $x$ et $y$, et on obtient une troisième valeur qui est ensuite représentée sur le dessin par une couleur.
Pour le dire autrement, la couleur du pixel situé aux coordonnées (x;y) est obtenue en injectant $x$ et $y$ dans la fonction de Mandelbrot. En faisant ça pour chaque pixel, on obtient une image entière.
Dans le cas de la fonction de Mandelbrot, les figures obtenues sont particulièrement belles et envoûtantes et présentent des formes fractales. Bien-sûr, si l’on prenait une autre fonction, les figures seraient différentes. Celles de Mandelbrot sont néanmoins assez particulières, et la suite de Mandelbrot n’est pas n’importe laquelle.
Dans ce qui suit, j’explore un peu plus en détail la fonction qui permet d’obtenir les figures de Mandelbrot, et comme on pourra constater, bien que les images semblent infiniment détaillées et complexes, la fonction de Mandelbrot est, elle, incroyablement simple.
Les figures de Mandelbrot font partie de ce qui rend les mathématiques si élégantes : une fonction si simple qui arrive à produire des résultats aussi surprenants, et dont la représentation seule constitue une forme d’art à part entière.
L’ensemble de Mandelbrot
Quand on regarde la figure, on observe des zones noires qui se distinguent des régions bien plus colorées partout autour. Historiquement, Benoît Mandelbrot cherchait à obtenir une représentation de la partie en noire. En effet, l’ensemble de Mandelbrot $\mathscr{M}$ correspond à tous les nombres situés dans les zones noires. Ces nombres agissent différemment des autres à travers la fonction de Mandelbrot.
Pour l’anecdote, Benoît Mandelbrot effectuait les calculs sur ces vieux calculateurs sans gestionnaire d’affichage. Pour obtenir la figure, il fallait imprimer sur du papier. Les résultats étaient si surprenants que les techniciens pensaient que l’imprimante était en panne, et jetaient les feuilles lorsqu’elles sortaient ! Benoit Mandelbrot dût patienter à côté pour surveiller ses impressions.
L’ensemble de Mandelbrot est obtenu par la suite de Mandelbrot, en fait. Comme mentionné plus haut, cette suite utilise des nombres à deux valeurs, $(x;y)$ issues du corps des nombres complexes (de $\Complex$), qui sont des nombres au-delà des nombres réels (de $\Reals$). Il reste bien-sûr possible de faire des maths avec ces nombres complexes et c’est précisément ce qui est fait ici.
La suite de Mandelbrot se définit comme :
$$\begin{cases}z_0=0 \\ z_{n+1}=z_n^2+c \end{cases}$$
Où :
- $z$ est le nombre complexe sur lequel on applique la suite ;
- $c$ est un autre nombre complexe quelconque.
Je ne vais pas détailler beaucoup ce qu’est une suite, mais pour faire simple, il s’agit simplement d’une fonction qui s’applique à elle-même un certain nombre de fois. Dans le cas de Mandelbrot, on aurait :
$$\begin{aligned}z_0 &= 0 \\ z_1 &= z_0^2 + c = c \\ z_2 &= z_1^2 + c = c^2 + c \\ z_3 &= z_2^2 + c = (c^2 + c)^2 + c \\\dots \\ z_{n+1} &=z_n^2 + c \end{aligned}$$
En pratique, pour obtenir les figures de Mandelbrot, on parcourt tout le plan complexe, et pour chaque point $c$ de coordonnées $(x;y)$ — qui devient notre nombre complexe ci-dessus — on calcule les valeurs de la suite un nombre $n$ arbitraire de fois (par exemple 500 fois).
Selon le point $(x;y)$ du plan, notre $z_{500}$ reçoit une valeur bien précise. Cette valeur est ensuite transformée en une couleur, et en faisant ces opérations pour chaque point (chaque pixel) on reconstitue ces images.
Maintenant, ce qui distingue les zones noires du reste, et donc ce qui intéressant Benoît Mandelbrot, c’était de savoir si la valeur $z_{500}$ tendait vers un nombre fini, ou vers l’infini.
Il se trouve que les valeurs situées dans les zones noires d’une figure de Mandelbrot sont finies : peu importe le nombre de fois qu’on itérera la suite : 500 fois, 1 000 fois, 100 000 fois… le résultat restera contenu dans un intervalle fini. Dans les figures, quand la valeur tend vers un nombre fini, on colorie ce pixel en noir.
Pour les autres nombres, ceux dont la suite tend vers l’infini, la couleur correspond alors à la vitesse avec laquelle cette suite converge vers l’infini. C’est-à-dire, au bout de combien d’itérations on considère qu’on se trouve à l’infini (généralement une limite arbitraire fixée, par exemple 200). Par exemple, si le nombre dépasse 200 après cinq itérations, on colorie ce pixel en rouge, et s’il dépasse 200 après cent itérations, on le met en jaune. S’il ne dépasse pas 200, alors il est noir.
Pour donner un exemple, la suite réelle définie par la fonction carrée : $\begin{cases}f_0 = x \\ f_{n+1}=f_n^2\end{cases}$ tendra rapidement vers l’infini pour toutes les valeurs plus grandes que 1. Elle restera sur 1 pour $x$ égal à 1, et elle tendra vers 0 pour les valeurs plus petites que 1.
Si l’on représentait ça sur une droite, le segment {-1;1} serait noir, et en dehors on aurait des couleurs vives :
Pour une figure de Mandelbrot, on fait ça pour tous les couples de points, ligne par ligne pour l’ensemble du plan. Le résultat est la figure bien connue.
Il n’y a rien de bien compliqué dans tout ça : il s’agit juste d’une suite mathématique, appliquée à tous les nombres du plan, et où lesdits nombres sont des nombres complexes de $\Complex$ (et donc où les opérations sur ces nombres sont un petit peu différentes ce ceux qu’on utilise dans $\Reals$).
Ce que l’on obtient ensuite est purement un résultat mathématique : certains nombres tendent plus vite vers l’infini que d’autres, certains même pas du tout. C’est là juste la façon dont les nombres se comportent à travers une fonction donnée.
Ces belles figures sont cachées dans les nombres et ce genre de représentation graphique permet de les révéler de la plus artistique des façons.
Juste pour le plaisir, voici quelques portions de la figure de Mandelbrot, fortement agrandies :
Ces images proviennent de mon outil de visualisation des figures de Mandelbrot. N’hésitez pas à explorer !
Bien-sûr, on peut généraliser ce principe à d’autres fonctions, d’autres suites, à la place de la suite de Mandelbrot. On obtient alors d’autres figures, plus ou moins complexes et plus ou moins jolies. La figure de Mandelbrot est juste la plus connue et la première à avoir été faite de cette façon, par Benoît Mandelbrot. Mais il n’était pas le premier à avoir imaginé le concept : ceci revient à Pierre Fatou et Gaston Julia, dont il existe également des figures !
Et les ensembles de Julia ?
Dans l’ensemble de Mandelbrot, on a utilisé cette suite $\begin{cases}z_0=0 \\ z_{n+1}=z_n^2+c_{x;y} \end{cases}$ où l’on a fixé $z_0$ à 0 et où l’on parcourt le plan complexe pour chaque point $c_{x;y}$.
Si l’on fait l’inverse, à savoir fixer une valeur de $c$ et que l’on parcourt le plan pour chaque valeur $z_0$, soit $\begin{cases}z_0=z_{x;y} \\ z_{n+1}=z_n^2+c \end{cases}$, alors on obtient d’autres figures : les figures de Julia. Il y a une figure de Julia pour chaque point $c$ arbitrairement choisi sur le plan. Ces figures sont très jolies également !
Si l’on a bien compris : chaque figure de Julia correspond à une valeur $c$, et la figure de Mandelbrot correspond à une figure où l’on parcourt l’ensemble des points $c$ du plan, on voit qu’en réalité, la figure de Mandelbrot est une carte complète de toutes les figures de Julia !
Ceci explique que l’on retrouve certains motifs des différentes figures de Julia dans la figure de Mandelbrot. Si l’on zoom suffisamment sur un point $c$ de la figure de Mandelbrot, on obtient des motifs similaires à ceux de la figure de Julia pour lequel on a fixé la constante à ce même $c$.
Pour conclure
Les mathématiques, vues sous le bon angle, possèdent non seulement la vérité, mais également une suprême beauté.
— Bertrand Russell
Les mathématiques sont très abstraites, les nombres complexes dont il est question ici sûrement davantage encore que les nombres réels. Aussi, si vous ne comprenez pas tout ici, ce n’est pas grave. Retenez juste que les figures de Mandelbrot (ou celles de Julia) sont des représentations graphiques de fonctions mathématiques : comme des cartes topographiques sur un ensemble de nombres après le passage par une fonction mathématique.
On prend juste un pixel du plan, correspondant à un nombre {x;y}, auquel on applique une fonction. Cette fonction nous donne un nombre qui est convertie en une couleur. En répétant l’opération pour chaque pixel du plan, on obtient ces figures. Si l’on zoom dans la figure, on utilise des nombres plus précis, avec davantage de décimales.
Les figures obtenues sont jolies : elles sont révélées par cette méthode où l’on colorise chaque pixel selon une règle précise, mais ces figures ont toujours été là, cachées dans les nombres et dans les mathématiques.
Enfin, pour vous amuser, je vous propose mes deux petits générateurs de figures de Mandelbrot et de Julia (n’hésitez pas à sélectionner une couleur, puis à zoomer sur une région de l’image) :