--> Devoir maison : Fractale de Mandelbrot On considère cc un nombre complexe. On définit la suite de nombres complexes (zn)(z_n) par : {z0=0zn+1=zn2+c\left\{\begin{array}{rcl} z_0 & = & 0 \\ z_{n+1} & = & z_n^2+c\\ \end{array}\right. Prérequis On rappelle la définition suivante :
«On dit qu'une suite de nombres complexes (Zn)(Z_n) est bornée si il existe MRM\in\mathbb{R} tel que pour tout entier nn, Zn<M| Z_n | < M

Nous admettrons les deux propriétés suivantes : Partie A Nous étudions ici le cas particulier c=ic=i.
  1. Déterminer la valeur de z1z_1 et de z2z_2.
  2. Correction
    Valeur de z1z_1 :
    z1=z02+cz_1=z_0^2+c == 02+i0^2+i == ii.

    Valeur de z2z_2 :
    z2=z12+cz_2 = z_1^2+c == i2+ii^2+i == 1+i-1+i.
  3. La suite (zn)(z_n) est-elle bornée ? Convergente ?
  4. Correction
    Si nous poursuivons les calculs des premiers termes de la suite nous obtenons :

    z3=z22+iz_3 = z_2^2+i == (1+i)2+i(-1+i)^2+i == 12i+i2+i1-2i+i^2+i == 12i1+i1-2i-1+i == i-i.

    z4=z32+iz_4 = z_3^2+i == (i)2+i(-i)^2+i == 1+i-1+i == z2z_2.

    On a alors que z5=z3z_5=z_3, z6=z4z_6=z_4 == z2z_2, z7=z3z_7=z_3, etc.

    Ainsi, dans le cas où c=Ic=I, la suite (zn)(z_n) est cyclique à partir du rang 22. Ces termes ne possèdent donc qu'un nombre fini de valeurs. Donc la suite des modules (zn)(|z_n|) possède un nombre fini de valeurs également et elle est bornée.

    Par contre, elle n'est pas convergente car aucune de ces valeurs ne se rapproche d'une autre, vu que les termes oscille à partir du rang 22 entre deux valeurs distinctes i-i et 1+i-1+i.
Partie B Nous considèrons maintenant que le complexe cc est quelconque, et nous cherchons une condition pour que la suite (zn)(z_n) soit bornée.

  1. On suppose que c>2|c|>2.
    1. Montrer que : 1c>12-\dfrac{1}{|c|}>-\dfrac{1}{2}.
    2. Correction
      La fonction inverse étant strictement décroissante sur ]0;+[]0;+\infty[, nous avons :

      $\begin{array}{crccl} & |c| & > & 2 \ \Longleftrightarrow & \dfrac{1}{|c|} & < & \dfrac{1}{2} \ \end{array}$

      En multipliant les deux membres de cette dernière inégalité par 1-1, nous obtenons :

      1c>12-\dfrac{1}{|c|}>-\dfrac{1}{2}.

      Or, 12>1-\dfrac{1}{2}>-1, donc : 1c>1-\dfrac{1}{|c|}>-1.
    3. Montrer que pour tout entier n2n\geq2, cn1>2|c|^{n-1}>2.
    4. Correction
      Montrons cette inégalité par récurrence.

      Initialisation

      Pour n=2n=2 : cn1=c21|c|^{n-1} = |c|^{2-1} == c|c| et par hypothèse c>2|c|>2. La propriété est bien vérifiée pour n=2n=2.

      Hérédité

      Supposons que pour un certain entier n2n\geq2, cn1>2|c|^{n-1}>2.
      Montrons alors que : cn>2|c|^n>2.

      D'après l'hypothèse de récurrence on a :
      $$\begin{array}{crclr} & |c|^{n-1} & > & 2 &\ \Longleftrightarrow & |c|\times|c|^{n-1} & > & 2\times|c| & (\text{ car } |c|>0)\ \Longleftrightarrow & |c|^n & > & 2|c| & \ \Longleftrightarrow & |c|^n & > & 2\times 2 & (\text{ car } |c|>2) \ \Longleftrightarrow & |c|^n & > & 2. \quad_\square \ \end{array}$$
      Conclusion

      D'après le principe de récurrence, pour tout entier n2n\geq2, on a cn1>2|c|^{n-1}>2.
    5. Montrer que pour tout entier n1n\geq1 : c2nccn+1(cn11)|c|^{2n}-|c|\geq|c|^{n+1}\left( |c|^{n-1}-1 \right).
    6. Correction
      Pour tout entier n1n\geq1, on a :

      $$\begin{array}{rcl} |c|^{2n}-|c| & = & |c|^{n+1}\left( \dfrac{|c|^{2n}}{|c|^{n+1}} - \dfrac{|c|}{|c|^{n+1}} \right) \ & = & |c|^{n+1}\left( |c|^{2n-(n+1)} - \dfrac{1}{|c|^n} \right) \ & = & |c|^{n+1}\left( |c|^{n-1} - \dfrac{1}{|c|^n} \right) \ \end{array}$$

      L'inégalité : "pour n2n\geq2, cn1>2|c|^{n-1}>2", peut s'écrire également : "pour n1n\geq1, cn>2|c|^{n}>2".

      En effet, dans la première, si n=2n=2, l'exposant de c|c| vaut 11, et dans la deuxième si n=1n=1, l'exposant de c|c| vaut 11 aussi. On peut vérifier pour tout nn que les deux égalités sont en fait les mêmes. Remplacer par exemple nn par d'autres valeurs pour s'en convaincre.

      Ainsi, si cn>2|c|^n>2, on a alors que 1cn<12\dfrac{1}{|c|^n}<\dfrac{1}{2} (comme dans la question 1.a), et aussi que 1cn>12>1-\dfrac{1}{|c|^n}>-\dfrac{1}{2}>-1.

      L'égalité : c2nc=cn+1(cn11cn)|c|^{2n}-|c| = |c|^{n+1}\left( |c|^{n-1} - \dfrac{1}{|c|^n} \right), nous donne alors :

      c2nccn+1(cn11)|c|^{2n}-|c|\geq|c|^{n+1}\left( |c|^{n-1}-1 \right).
    7. Montrer par récurrence que pour tout entier n1n\geq1, zncn|z_n|\geq|c|^n.

      On pourra utiliser les questions précédentes ainsi que les propriétés P1\mathscr{P}_1 et P2\mathscr{P}_2.
    8. Correction
      Initialisation

      Pour n=1n=1 : zn=z1|z_n| = |z_1| == z0+c|z_0+c| == c|c| \geq c1|c|^1.

      La propriété est bien initialisée.

      Hérédité

      Supposons que pour un certain entier n1n\geq1 : zncn|z_n|\geq|c|^n.
      Montrons alors que : zn+1cn+1|z_{n+1}| \geq |c|^{n+1}.

      Par définition on a :
      $$\begin{array}{rcll} |z_{n+1}| & = & |z_n^2+c| & \ & \geq & |z_n^2| - |c| & \quad\text{ d'après }\mathscr{P_2} \ & \geq & |z_n|^2 - |c| & \quad\text{ d'après }\mathscr{P_1} \ & \geq & \left(|c|^n\right)^2 - |c| & \quad\text{ d'après l'hypothèse de récurrence}\ & \geq & |c|^{2n} - |c| & \ & \geq & |c|^{n+1}\left( |c|^n-1\right) & \quad\text{ d'après 1c}\ & \geq & |c|^{n+1}(2 - 1) & \quad\text{ d'après 1d}\ & \geq & |c|^{n+1}. \quad_\square & \ \end{array}$$
      Conclusion

      D'après le principe de récurrence, pour tout entier n1n\geq1, zncn|z_n|\geq|c|^n.

    9. En déduire que si |c|>2 alors la suite (zn)(z_n) n'est pas bornée.
    10. Correction
      Puisque pour tout entier n1n\geq1, zncn|z_n|\geq|c|^n, si c>2|c|>2, alors : zn2n|z_n|\geq2^n.

      Or, limn+2n=+\displaystyle{\lim_{n\rightarrow+\infty}2^n = +\infty}, donc par comparaison de limites : limn+zn=+\displaystyle{\lim_{n\rightarrow+\infty}|z_n| = +\infty}.

      Ainsi la suite (zn)(|z_n|) diverge vers ++\infty et elle n'est pas bornée.

  2. Nous savons maintenant que pour que la suite (zn)(z_n) soit bornée il faut que c2|c|\leq2.

    On suppose donc dans cette question que c2|c|\leq2.

    Démontrer, sous cette condition, que si il existe n0Nn_0\in\mathbb{N} tel que zn0>2|z_{n_0}|>2 alors la suite (zn)(|z_n|) diverge.

    On pourra montrer par récurrence que pour tout nn0n\geq n_0, zn>2nn0+1|z_n|>2^{n-n_0+1}.
  3. Correction
    Montrons par récurrence que pour tout nn0n\geq n_0, zn>2nn0+1|z_n|>2^{n-n_0+1}.

    Initialisation

    Pour n=n0n=n_0 : zn=zn0>2|z_n| = |z_{n_0}| > 2 par hypothèse. Par ailleurs : 2nn0+1=2n0n0+1=22^{n-n_0+1} = 2^{n_0-n_0+1} = 2.

    On a donc bien : zn>2nn0+1|z_n|>2^{n-n_0+1} pour n=n0n=n_0. La propriété est initialisée.

    Hérédité

    Supposons que pour un certain entier nn0n\geq n_0 on a : zn>2nn0+1|z_n|>2^{n-n_0+1}.
    Montrons alors que : zn+1>2nn0+2|z_{n+1}|>2^{n-n_0+2}.

    Remarquons tout d'abord que puisque c2|c|\leq 2, on a alors c2-|c|\geq-2.

    Par ailleurs, par définition on a :
    $$\begin{array}{rcll} |z_{n+1}| & = & |z_n^2+c| & \ & \geq & |z_n^2| - |c| & \quad\text{ d'après }\mathscr{P_2} \ & \geq & |z_n|^2 - |c| & \quad\text{ d'après }\mathscr{P_1} \ & > & \left(2^{n-n_0+1}\right)^2-|c| & \quad\text{ d'après l'hypothèse de récurrence}\ & > & 2^{2(n-n_0+1)} - |c| & \ & > &2^{2n-2n_0+2} - |c| & \ & > & 2^{2n-2n_0+2} - 2 & \quad\text{ d'après la dernière remarque}\ \end{array}$$
    Nous souhaitons alors que 22n2n0+22>2nn0+22^{2n-2n_0+2} - 2 > 2^{n-n_0+2} pour pouvoir conclure.

    Étudions alors 22n2n0+222nn0+22^{2n-2n_0+2} - 2 - 2^{n-n_0+2} dans le but de montrer que 22n2n0+222nn0+2>02^{2n-2n_0+2} - 2 - 2^{n-n_0+2}>0.

    On a :
    $$\begin{array}{rcll} 2^{2n-2n_0+2} - 2 - 2^{n-n_0+2} & = & 2^{2n-2n_0+2} - 2^{n-n_0+2} - 2 \ & = & 2^{n-n_0+2}\left( 2^{n-n_0}-1\right)-2 \ \end{array}$$
    Or puisque n>n0n>n_0, on a nn0>0n-n_0>0, c'est-à-dire nn01n-n_0\geq1, et donc 2nn022^{n-n_0}\geq2. Ainsi :
    $$\begin{array}{rcll} 2^{2n-2n_0+2} - 2 - 2^{n-n_0+2} & \geq & 2^{n-n_0+2}\times(2-1) - 2 \ & \geq & 2^{n-n_0+2} - 2. \ \end{array}$$
    La suite (2nn0+2)\left( 2^{n-n_0+2}\right) est strictement croissante, donc pour tout nn0n\geq n_0, on a :

    2nn0+222^{n-n_0+2} - 2 \geq 2n0n0+222^{n_0-n_0+2} - 2 \geq 2222^2-2 >> 00.

    Ainsi nous avons que 22n2n0+222nn0+2>02^{2n-2n_0+2} - 2 - 2^{n-n_0+2}>0 et donc 22n2n0+22>2nn0+22^{2n-2n_0+2} - 2 > 2^{n-n_0+2}.

    Et puisque zn+1|z_{n+1}| \geq 22n2n0+222^{2n-2n_0+2} - 2, on a alors : zn+1>2nn0+2|z_{n+1}| >2^{n-n_0+2} .

    La propriété est bien héréditaire.

    Conclusion

    D'après le principe de récurrence, pour tout nn0n\geq n_0, zn>2nn0+1|z_n|>2^{n-n_0+1}.

    Or, limn+2nn0+1=+\displaystyle{\lim_{n\rightarrow+\infty}2^{n-n_0+1} = +\infty}.

    Ainsi, puisque zn>2nn0+1|z_n|>2^{n-n_0+1}, par comparaison de limites on a : limn+zn=+\displaystyle{\lim_{n\rightarrow+\infty}|z_n| = +\infty}.

    La suite (zn)(|z_n|) diverge vers ++\infty et elle n'est pas bornée.
Partie C Pour tout entier nn on note : xn=Re(zn)x_n=Re(z_n) et yn=Im(zn)y_n=Im(z_n). On note de plus : x=Re(c)x=Re(c) et y=Im(c)y=Im(c).

On définit l'ensemble suivant : M={cC\mathscr{M} = \{ c\in\mathbb{C} tel que la suite (zn)(z_n) est bornée }\}.
  1. Montrer alors que pour tout entier nn : xn+1=xn2yn2+xx_{n+1}=x_n^2-y_n^2+x et yn+1=2xnyn+yy_{n+1}=2x_ny_n+y.
  2. Correction
    On a zn=xn+iynz_n=x_n+iy_n, zn+1=xn+1+iyn+1z_{n+1}=x_{n+1}+iy_{n+1} et c=x+iyc=x+iy.

    On a :
    $$\begin{array}{rcll} z_{n+1} & = & z_n^2+c \ x_{n+1}+iy_{n+1} & = & (x_n+iy_n)^2+x+iy \ x_{n+1}+iy_{n+1} & = & x_n^2+2ix_ny_n+(iy_n)^2+x+iy \ x_{n+1}+iy_{n+1} & = & x_n^2-y_n^2+x+i(2x_ny_n+y). \ \end{array}$$
    Or, deux nombres complexes sont égaux si et seulement si ils ont même partie réelle et même partie imaginaire, on a donc, par identification :

    xn+1=xn2yn2+xx_{n+1} = x_n^2-y_n^2+x et yn+1=2xnyn+yy_{n+1} = 2x_ny_n+y.
  3. Traduire la condition xn2+yn2>4x_n^2+y_n^2>4 par rapport à znz_n.
  4. Correction
    On a :

    xn2+yn2>4x_n^2+y_n^2>4 \Longleftrightarrow xn2+yn2>4\sqrt{x_n^2+y_n^2}>\sqrt{4} \Longleftrightarrow zn>2|z_n|>2.
  5. Le nombre 00 est-il dans M\mathscr{M} ? Qu'en est-il de ii ? de 1010 ? On pourra s'appuyer sur les résultats des parties précédentes.
  6. Correction
    Pour vérifier si 00 est dans M\mathscr{M} ou non il faut vérifier si la suite (zn)(z_n) est bornée lorsque c=0c=0.

    Or, si c=0c=0, z1=z02+cz_1=z_0^2+c == 0+00+0 == 00, et la suite (zn)(z_n) est constante (et même nulle) et est donc bornée. Ainsi 0M0\in \mathscr{M}.

    Pour c=ic=i, nous avions vu dans la partie A que la suite était bornée, donc iMi\in \mathscr{M}.

    Pour c=10c=10, nous avons c=10>2|c|=10>2 et d'après la partie B question 1.e, la suite (zn)(z_n) n'est pas bornée, donc 10M10\notin\mathscr{M}.
  7. Existe-t-il un cercle du plan complexe contenant M\mathscr{M} ?
  8. Correction
    Pour que la suite (zn)(z_n) soit bornée il est nécessaire que c2|c|\leq2, donc si cMc\in\mathscr{M} alors c2|c|\leq2, ce qui veut dire que cc est dans le disque de centre OO est de rayon 22.
Partie D On souhaite construire l'ensemble M\mathscr{M} dans le plan complexe. Le principe étant de créer une image de 400px par 400px et de la ramener à l'ensemble des points du plan d'affixe x+iyx+iy avec xx et yy [2;2]\in[-2;2].
On regarde pour chaque c=x+iyc=x+iy de cette partie du plan complexe si la suite (zn)(z_n) correspondante a un de ses 50 premiers termes de module supérieur à 22. Si c'est le cas on sait que la suite (zn)(z_n) n'est pas bornée pour ce cc et dans le cas contraire on considère que la suite est bornée : on colorie alors ce point en noir. Après avoir parcouru tous les pixels de l'image chacun d'eux sera soit blanc si la suite (zn)(z_n) n'est pas bornée, soit noir dans le cas contraire. L'ensemble colorié en noir est l'ensemble M\mathscr{M}. On l'appelle fractale de Mandelbrot.

Voici un algorithme de construction de M\mathscr{M} écrit pour le langage https://www.sarmate.xyz/sarmateGraph/sarmate_graph.html :

Xmin = -2
Xmax = 2
Ymin = -2
Ymax = 2
trait = 0.2
couleur = noir

itMax = 50

for(x=-2;x<=2;x=x+4/400){
for(y=-2;y<=2;y=y+4/400){
it = 0
tmp = 0
z_r = 0
z_i = 0
test = z_r*z_r+z_i*z_i
while( test<4 ET it < itMax ){
tmp = z_r
z_r = z_r*z_r-z_i*z_i+x
z_i = 2*z_i*tmp + y
it++
test = z_r*z_r+z_i*z_i
}
if( it == itMax ){point([x,y])}
}
}
Expliquer chacune des étapes de cet algorithme en faisant référence aux résultats des parties précédentes.
Correction
L'idée de l'algorithme est de calculer les termes de la suite (zn)(z_n) pour un grand nombres de valeurs pour cc dont les parties réelles et imaginaires sont comprises entre 2-2 et 22 avec un pas de 1/100.

C'est-à-dire que l'on va calculer les premiers termes de la suite (zn)(z_n) pour c=22ic=-2-2i, puis pour c=1,992ic=-1,99-2i, puis pour c=1,982ic=-1,98-2i etc. jusqu'à c=22ic=2-2i, ensuite pour c=21,99ic=-2-1,99i etc.

Pour chacune de ces milliers de valeurs de cc, on regarde si la suite (zn)(z_n) est bornée ou non. C'est-à-dire dès que zn2>4|z_n|^2>4 on sait d'après la partie C que la suite ne sera pas bornée. L'algorithme estime que si après 50 termes on a toujours zn24|z_n|^2\leq4 alors la suite sera vraissemblablement bornée. On colorie alors le pixel à l'abscisse partie réelle de c et à l'ordonnée partie imaginaire de c en noir.

Explications des parties de l'algorithme

Les deux boucles for permettent de parcourir tous les nombres cc.

z_r et z_i sont les parties réelles et imaginaire des termes de la suite (zn)(z_n), donc la variable test vaut zn2|z_n|^2.

La boucle while permet de tester si zn2|z_n|^2 est inférieur à 4 et qu'on n'a pas encore atteint z50z_{50}.

Les affectations pour z_r et z_i correspondent aux formules obtenues dans la partie C question 1.

Le test if permet de dire que si z502|z_{50}|^2 est toujours inférieur à 4 alors on colorie le point c en noir.
Éxécution de l'algorithme
Exécuter


Amélioration avec des couleurs
Exécuter