Aller au contenu

10 · Nombres complexes : forme algébrique

Intuition

L'équation \(x^2 = -1\) n'a pas de solution réelle. On en fabrique une, qu'on appelle \(i\), et on regarde ce qui se passe.

Ce qui se passe est spectaculaire : dans le nouvel ensemble obtenu, toute équation polynomiale a des solutions. On a réparé un manque local et l'on a obtenu une complétude globale.

Géométriquement, un complexe est un point du plan, et les opérations algébriques deviennent des transformations géométriques : additionner, c'est translater ; multiplier, c'est tourner et dilater. C'est cette double lecture — algébrique et géométrique — qui fait toute la puissance de l'outil.

1. Construction et forme algébrique

Définition

L'ensemble \(\mathbb{C}\) des nombres complexes contient \(\mathbb{R}\) et un élément \(i\) vérifiant

\[ i^2 = -1 \]

Tout \(z\in\mathbb{C}\) s'écrit de manière unique

\[ z = a+ib, \qquad a,b\in\mathbb{R} \]

\(a = \operatorname{Re}(z)\) est la partie réelle, \(b = \operatorname{Im}(z)\) la partie imaginaire.

La partie imaginaire est un RÉEL

\(\operatorname{Im}(3+5i) = 5\), pas \(5i\). C'est une erreur de notation très fréquente et elle fausse tous les calculs qui suivent.

Égalité : \(a+ib = a'+ib' \iff a=a'\) et \(b=b'\). Une équation complexe équivaut donc à deux équations réelles — c'est le mécanisme d'identification utilisé partout.

\(\mathbb{C}\) n'est pas ordonné

Il n'existe aucune relation d'ordre sur \(\mathbb{C}\) compatible avec les opérations. Écrire \(z > 0\) ou \(z_1 < z_2\) pour des complexes non réels n'a aucun sens.

On peut comparer des modules (qui sont des réels), jamais des complexes.

2. Opérations

\[ (a+ib)+(c+id) = (a+c)+i(b+d) \]
\[ (a+ib)(c+id) = (ac-bd)+i(ad+bc) \]

Le produit se retrouve en développant et en remplaçant \(i^2\) par \(-1\) — il est inutile de mémoriser la formule.

Puissances de \(i\) — cycle de période 4 :

\[ i^0=1,\quad i^1=i,\quad i^2=-1,\quad i^3=-i,\quad i^4=1,\ \dots \]

Pour calculer \(i^n\), on regarde le reste de \(n\) modulo 4 — application directe du chapitre Algèbre 13.

3. Conjugué et module

Définitions

Le conjugué de \(z=a+ib\) est \(\bar z = a-ib\).

Le module de \(z\) est

\[ |z| = \sqrt{a^2+b^2} \geqslant 0 \]

Propriété clé :

\[ \boxed{z\bar z = a^2+b^2 = |z|^2} \]

C'est un réel positif — c'est ce qui permet de diviser.

Propriétés du conjugué.

\[ \overline{z+z'} = \bar z+\bar{z'} \qquad \overline{zz'} = \bar z\,\bar{z'} \qquad \overline{\left(\frac{z}{z'}\right)} = \frac{\bar z}{\bar{z'}} \qquad \overline{\bar z} = z \]
\[ z+\bar z = 2\operatorname{Re}(z) \qquad z-\bar z = 2i\operatorname{Im}(z) \]

Deux caractérisations utiles

\[ z\in\mathbb{R} \iff \bar z = z \qquad z \text{ imaginaire pur} \iff \bar z = -z \]

Propriétés du module.

\[ |zz'| = |z||z'| \qquad \left|\frac{z}{z'}\right| = \frac{|z|}{|z'|} \qquad |z^n| = |z|^n \qquad |\bar z| = |z| \]
\[ |z+z'| \leqslant |z|+|z'| \quad\text{(inégalité triangulaire)} \]

Le module n'est PAS additif

\(|z+z'| \neq |z|+|z'|\) en général. Exemple : \(|1+(-1)| = 0\) alors que \(|1|+|-1| = 2\).

L'égalité n'a lieu que si \(z\) et \(z'\) sont « alignés dans le même sens ».

4. Division

La méthode : multiplier par le conjugué du dénominateur

\[ \frac{z}{z'} = \frac{z\,\overline{z'}}{z'\overline{z'}} = \frac{z\,\overline{z'}}{|z'|^2} \]

Le dénominateur devient réel, et il ne reste qu'à séparer partie réelle et partie imaginaire.

Exemple.

\[ \frac{3+2i}{1-i} = \frac{(3+2i)(1+i)}{(1-i)(1+i)} = \frac{3+3i+2i+2i^2}{1+1} = \frac{1+5i}{2} = \frac12+\frac52 i \]

Inverse : \(\dfrac1z = \dfrac{\bar z}{|z|^2}\).

5. Interprétation géométrique

Le plan complexe

À \(z=a+ib\) on associe le point \(M(a\,;b)\) du plan, appelé image de \(z\) ; réciproquement \(z\) est l'affixe de \(M\).

Objet complexe Objet géométrique
\(\lvert z\rvert\) Distance \(OM\)
\(\lvert z_B - z_A\rvert\) Distance \(AB\)
\(\bar z\) Symétrique par rapport à l'axe des abscisses
\(-z\) Symétrique par rapport à l'origine
\(z + b\) Translation de vecteur d'affixe \(b\)
\(kz\), \(k\) réel Homothétie de rapport \(k\)
\(iz\) Rotation de \(+\frac\pi2\) autour de \(O\)

Ensembles remarquables :

  • \(|z-z_0| = r\) : cercle de centre \(z_0\) et de rayon \(r\) ;
  • \(|z-z_0| \leqslant r\) : disque fermé ;
  • \(|z-z_A| = |z-z_B|\) : médiatrice de \([AB]\) ;
  • \(\operatorname{Re}(z) = a\) : droite verticale.

Affixe du milieu de \([AB]\) : \(\dfrac{z_A+z_B}{2}\).

Affixe du vecteur \(\overrightarrow{AB}\) : \(z_B-z_A\).

6. Équations du second degré

Théorème

L'équation \(az^2+bz+c=0\) avec \(a,b,c\) réels, \(a\neq0\), et \(\Delta = b^2-4ac < 0\), admet deux racines complexes conjuguées :

\[ z_{1,2} = \frac{-b \pm i\sqrt{-\Delta}}{2a} \]

Attention : c'est \(\sqrt{-\Delta}\), qui est bien un réel positif puisque \(\Delta<0\).

Exemple. \(z^2-2z+5=0\) : \(\Delta = 4-20 = -16\), \(\sqrt{16}=4\).

\[ z = \frac{2\pm4i}{2} = 1\pm2i \]

Vérification : \((1+2i)^2 - 2(1+2i)+5 = (1+4i-4)-2-4i+5 = 0\) ✓

Théorème de d'Alembert-Gauss (admis)

Tout polynôme non constant à coefficients complexes admet au moins une racine dans \(\mathbb{C}\).

Conséquence : tout polynôme de degré \(n\) possède exactement \(n\) racines comptées avec multiplicité. On dit que \(\mathbb{C}\) est algébriquement clos — c'est la propriété qui justifie sa construction.

Le lien avec les matrices

C'est ce théorème qui garantit qu'une matrice d'ordre \(n\) possède toujours \(n\) valeurs propres dans \(\mathbb{C}\), comptées avec multiplicité — voir Algèbre 09. Sur \(\mathbb{R}\), il pouvait n'y en avoir aucune.

Exemples traités

Exemple 1 — Calcul algébrique

Soit \(z_1 = 2-3i\) et \(z_2 = -1+4i\). Calculer \(z_1z_2\), \(\frac{z_1}{z_2}\) et \(|z_1|\).

Produit :

\[ z_1z_2 = (2-3i)(-1+4i) = -2+8i+3i-12i^2 = -2+11i+12 = 10+11i \]

Quotient — on multiplie par \(\overline{z_2} = -1-4i\) :

\[ \frac{2-3i}{-1+4i} = \frac{(2-3i)(-1-4i)}{1+16} = \frac{-2-8i+3i+12i^2}{17} = \frac{-14-5i}{17} = -\frac{14}{17}-\frac{5}{17}i \]

Module : \(|z_1| = \sqrt{4+9} = \sqrt{13}\).

Vérification par les modules : \(|z_1z_2| = |z_1||z_2|\). À gauche \(\sqrt{100+121}=\sqrt{221}\) ; à droite \(\sqrt{13}\times\sqrt{17} = \sqrt{221}\) ✓

Exemple 2 — Identification

Déterminer \(z\) tel que \(z + 2\bar z = 3-i\).

Posons \(z = a+ib\), donc \(\bar z = a-ib\) :

\[ (a+ib)+2(a-ib) = 3a - ib = 3-i \]

Par identification des parties réelle et imaginaire :

\[ 3a = 3 \implies a=1 \qquad -b = -1 \implies b=1 \]
\[ z = 1+i \]

Vérification : \((1+i)+2(1-i) = 3-i\) ✓

Exemple 3 — Puissance de \(i\)

Calculer \(i^{2026}\).

\(2026 = 4\times506 + 2\), donc \(2026\equiv2\pmod4\) :

\[ i^{2026} = i^2 = -1 \]

Exemple 4 — Ensemble de points

Déterminer l'ensemble des points \(M\) d'affixe \(z\) tels que \(|z-1+2i| = 3\).

On réécrit sous la forme \(|z-z_0|\) :

\[ |z - (1-2i)| = 3 \]

C'est le cercle de centre \(\Omega(1\,;-2)\) et de rayon 3.

Le signe

\(|z-1+2i|\) se lit \(|z-(1-2i)|\). Le centre est \(1-2i\), pas \(1+2i\). C'est l'erreur classique.

Exemple 5 — Racine carrée d'un complexe

Trouver les \(z\) tels que \(z^2 = 3+4i\).

Posons \(z=a+ib\) : \(z^2 = a^2-b^2+2iab\). Le système est

\[ \begin{cases}a^2-b^2 = 3\\ 2ab = 4\end{cases} \]

On ajoute une troisième équation, celle des modules : \(|z|^2 = |3+4i| = 5\), donc \(a^2+b^2 = 5\).

En combinant avec \(a^2-b^2=3\) :

\[ 2a^2 = 8 \implies a = \pm2 \qquad 2b^2 = 2 \implies b = \pm1 \]

L'équation \(2ab=4>0\) impose \(a\) et \(b\) de même signe :

\[ z = 2+i \quad\text{ou}\quad z = -2-i \]

Vérification : \((2+i)^2 = 4+4i-1 = 3+4i\) ✓

Le truc du module

La troisième équation \(a^2+b^2 = |z^2|\) est redondante mais indispensable en pratique : elle transforme un système non linéaire difficile en un système linéaire en \(a^2\) et \(b^2\).

Erreurs fréquentes

Erreur Correction
\(\operatorname{Im}(3+5i)=5i\) C'est \(5\)
Comparer deux complexes \(\mathbb{C}\) n'est pas ordonné
\(\lvert z+z'\rvert = \lvert z\rvert+\lvert z'\rvert\) Inégalité seulement
\(\sqrt{-4}=2i\) écrit sans précaution La notation \(\sqrt{\ }\) n'est pas définie sur \(\mathbb{C}\)
\(\lvert z-1+2i\rvert\) : centre \(1+2i\) Le centre est \(1-2i\)
Oublier \(i^2=-1\) dans un développement Vérifier chaque terme

Exercices

★ Exercice 1. Mettre sous forme algébrique.

a) \((2+3i)+(1-5i)\) b) \((1+i)(2-i)\) c) \((3-2i)^2\) d) \(i^{15}\)

★ Exercice 2. Calculer.

a) \(\dfrac{1}{i}\) b) \(\dfrac{2+i}{1-i}\) c) \(\dfrac{1}{3-4i}\)

★ Exercice 3. Déterminer module et conjugué.

a) \(z=3+4i\) b) \(z=-2i\) c) \(z=1-i\) d) \(z=(1+i)^2\)

★★ Exercice 4. Résoudre dans \(\mathbb{C}\).

a) \(z^2+z+1=0\) b) \(z^2-4z+13=0\) c) \(2z^2+2z+5=0\)

★★ Exercice 5. Déterminer \(z\) tel que :

a) \(2z-\bar z = 3+6i\) b) \(z\bar z = 4\) et \(z+\bar z = 2\) c) \(\bar z = z^2\) (chercher toutes les solutions)

★★ Exercice 6. Déterminer l'ensemble des points \(M\) d'affixe \(z\) tels que :

a) \(|z-2i|=3\) b) \(|z-1| = |z+3|\) c) \(\operatorname{Re}(z^2)=0\)

★★★ Exercice 7. Soit \(z=\dfrac{1+i}{1-i}\).

a) Mettre \(z\) sous forme algébrique. b) Calculer \(z^{2026}\). c) Interpréter géométriquement la multiplication par \(z\).

★★★ Exercice 8. Déterminer les racines carrées complexes de :

a) \(-5+12i\) b) \(-i\) c) \(2i\)

★★★ Exercice 9. Soit \(P(z)=z^3-3z^2+4z-2\).

a) Vérifier que \(1\) est racine. b) Factoriser \(P\) et déterminer toutes ses racines dans \(\mathbb{C}\). c) Vérifier que la somme des racines vaut 3 et leur produit 2.

★★★★ Exercice 10. Soient \(z_1, z_2\) deux complexes.

a) Démontrer l'identité du parallélogramme :

\[ |z_1+z_2|^2+|z_1-z_2|^2 = 2\left(|z_1|^2+|z_2|^2\right) \]

b) Interpréter géométriquement. c) Démontrer l'inégalité triangulaire \(|z_1+z_2|\leqslant|z_1|+|z_2|\). Indication : élevez au carré et utilisez \(|z|^2 = z\bar z\) puis \(\operatorname{Re}(w)\leqslant|w|\). d) Caractériser le cas d'égalité.

★★★★ Exercice 11 — lien informatique. Un nombre complexe se représente en machine par deux flottants.

a) Écrire une classe minimale Complexe en Python pur, avec addition, multiplication, module et conjugué. b) Calculer \((1+i)^{100}\) par exponentiation rapide, et comparer au résultat théorique \(2^{50}\,i^{100}\cdot\) ... — déterminer d'abord ce résultat à la main. c) L'ensemble de Mandelbrot est l'ensemble des \(c\in\mathbb{C}\) tels que la suite \(z_0=0\), \(z_{n+1}=z_n^2+c\) reste bornée. Justifier que si \(|z_n|>2\) pour un \(n\), la suite diverge. d) Implémenter le test d'appartenance et vérifier sur \(c=0\), \(c=-1\), \(c=1\), \(c=i\).


Corrigés

Corrigé — Exercice 1

a) \(3-2i\).

b) \((1+i)(2-i) = 2-i+2i-i^2 = 2+i+1 = 3+i\).

c) \((3-2i)^2 = 9-12i+4i^2 = 9-12i-4 = 5-12i\).

d) \(15 = 4\times3+3\), donc \(i^{15}=i^3 = -i\).

Corrigé — Exercice 2

a) \(\dfrac1i = \dfrac{\bar i}{|i|^2} = \dfrac{-i}{1} = -i\).

b) \(\dfrac{(2+i)(1+i)}{2} = \dfrac{2+2i+i-1}{2} = \dfrac{1+3i}{2} = \dfrac12+\dfrac32 i\).

c) \(\dfrac{3+4i}{9+16} = \dfrac{3+4i}{25} = \dfrac{3}{25}+\dfrac{4}{25}i\).

Corrigé — Exercice 3

a) \(|z|=\sqrt{9+16}=5\), \(\bar z = 3-4i\).

b) \(|z|=2\), \(\bar z = 2i\).

c) \(|z|=\sqrt2\), \(\bar z = 1+i\).

d) \((1+i)^2 = 2i\), donc \(|z|=2\) et \(\bar z = -2i\).

Corrigé — Exercice 4

a) \(\Delta = 1-4 = -3\), \(\sqrt3\).

\[ z = \frac{-1\pm i\sqrt3}{2} \]

Ce sont \(j\) et \(\bar j\), les racines cubiques de l'unité autres que 1.

b) \(\Delta = 16-52 = -36\), \(\sqrt{36}=6\).

\[ z = \frac{4\pm6i}{2} = 2\pm3i \]

Vérification : \((2+3i)^2-4(2+3i)+13 = (4+12i-9)-8-12i+13 = 0\) ✓

c) \(\Delta = 4-40 = -36\).

\[ z = \frac{-2\pm6i}{4} = -\frac12\pm\frac32 i \]
Corrigé — Exercice 5

a) \(z=a+ib\) : \(2(a+ib)-(a-ib) = a+3ib = 3+6i\). Donc \(a=3\) et \(3b=6\), soit \(b=2\).

\[ z = 3+2i \]

b) \(z\bar z = |z|^2 = a^2+b^2 = 4\) et \(z+\bar z = 2a = 2\), donc \(a=1\), puis \(b^2 = 3\), soit \(b=\pm\sqrt3\).

\[ z = 1+i\sqrt3 \quad\text{ou}\quad z=1-i\sqrt3 \]

c) Prenons les modules : \(|\bar z| = |z|\) et \(|z^2|=|z|^2\), donc \(|z| = |z|^2\), soit \(|z|(|z|-1)=0\).

  • \(|z|=0\) : \(z=0\), qui vérifie bien \(\bar 0 = 0^2\) ✓
  • \(|z|=1\) : multiplions \(\bar z = z^2\) par \(z\) : \(z\bar z = z^3\), soit \(|z|^2 = z^3\), soit \(z^3=1\).

Les racines cubiques de l'unité sont \(1\), \(j = \frac{-1+i\sqrt3}{2}\) et \(\bar j\).

\[ \mathcal{S} = \left\{0,\ 1,\ \frac{-1+i\sqrt3}{2},\ \frac{-1-i\sqrt3}{2}\right\} \]

Vérification pour \(j\) : \(\bar j = j^2\) car \(j^3=1\) donne \(j^2 = \frac1j = \frac{\bar j}{|j|^2} = \bar j\) ✓

Corrigé — Exercice 6

a) \(|z-2i|=3\) : cercle de centre \((0\,;2)\) et de rayon 3.

b) \(|z-1|=|z-(-3)|\) : ensemble des points équidistants de \(A(1;0)\) et \(B(-3;0)\), c'est-à-dire la médiatrice de \([AB]\) : la droite verticale d'équation \(x=-1\).

c) Avec \(z=x+iy\) : \(z^2 = x^2-y^2+2ixy\), donc \(\operatorname{Re}(z^2) = x^2-y^2\).

\[ x^2-y^2 = 0 \iff (x-y)(x+y)=0 \iff y=x \text{ ou } y=-x \]

Ce sont les deux bissectrices des axes.

Corrigé — Exercice 7

a)

\[ z = \frac{(1+i)^2}{(1-i)(1+i)} = \frac{2i}{2} = i \]

b) \(2026\equiv2\pmod4\), donc

\[ z^{2026} = i^{2026} = i^2 = -1 \]

c) Multiplier par \(i\) est la rotation d'angle \(+\frac\pi2\) autour de l'origine.

Vérification : \(i\times1 = i\) (le point \((1;0)\) va en \((0;1)\)) ✓ et \(i\times i = -1\) (le point \((0;1)\) va en \((-1;0)\)) ✓

Info

C'est exactement la matrice \(\begin{pmatrix}0&-1\\1&0\end{pmatrix}\) rencontrée en Algèbre 09, dont les valeurs propres sont \(\pm i\). Le nombre \(i\) est la rotation d'un quart de tour.

Corrigé — Exercice 8

a) \(z=a+ib\) avec \(z^2 = -5+12i\). Les trois équations :

\[ a^2-b^2 = -5, \qquad 2ab = 12, \qquad a^2+b^2 = |-5+12i| = 13 \]

(Car \(\sqrt{25+144}=\sqrt{169}=13\).)

D'où \(2a^2 = 8\), soit \(a=\pm2\) ; et \(2b^2 = 18\), soit \(b=\pm3\). Comme \(ab = 6 > 0\), mêmes signes :

\[ z = 2+3i \quad\text{ou}\quad z = -2-3i \]

Vérification : \((2+3i)^2 = 4+12i-9 = -5+12i\) ✓

b) \(z^2=-i\) : \(a^2-b^2=0\), \(2ab=-1\), \(a^2+b^2=1\). D'où \(a^2=b^2=\frac12\), soit \(a=\pm\frac{1}{\sqrt2}\) et \(b=\mp\frac{1}{\sqrt2}\) (signes opposés car \(ab<0\)).

\[ z = \frac{\sqrt2}{2}(1-i) \quad\text{ou}\quad z = -\frac{\sqrt2}{2}(1-i) \]

c) \(z^2=2i\) : \(a^2-b^2=0\), \(2ab=2\), \(a^2+b^2=2\). D'où \(a^2=b^2=1\), mêmes signes :

\[ z = 1+i \quad\text{ou}\quad z=-1-i \]

Vérification : \((1+i)^2 = 2i\) ✓

Corrigé — Exercice 9

a) \(P(1) = 1-3+4-2 = 0\) ✓

b) On factorise par \((z-1)\). En posant \(P(z) = (z-1)(z^2+\alpha z+\beta)\) et en développant :

\[ z^3+(\alpha-1)z^2+(\beta-\alpha)z-\beta \]

Identification : \(-\beta = -2\) donne \(\beta=2\) ; \(\alpha-1=-3\) donne \(\alpha=-2\) ; contrôle sur \(z\) : \(\beta-\alpha = 2+2 = 4\) ✓

\[ P(z) = (z-1)(z^2-2z+2) \]

Le trinôme : \(\Delta = 4-8 = -4\), racines \(\frac{2\pm2i}{2} = 1\pm i\).

\[ \mathcal{S} = \{1,\ 1+i,\ 1-i\} \]

c) Somme : \(1+(1+i)+(1-i) = 3\) ✓ (et \(-\frac{b}{a} = 3\)).

Produit : \(1\times(1+i)(1-i) = 1\times(1+1) = 2\) ✓ (et \((-1)^3\frac{d}{a} = 2\).)

Corrigé — Exercice 10

a) Utilisons \(|w|^2 = w\bar w\).

\[ |z_1+z_2|^2 = (z_1+z_2)(\bar z_1+\bar z_2) = |z_1|^2+z_1\bar z_2+\bar z_1 z_2+|z_2|^2 \]
\[ |z_1-z_2|^2 = (z_1-z_2)(\bar z_1-\bar z_2) = |z_1|^2-z_1\bar z_2-\bar z_1 z_2+|z_2|^2 \]

En additionnant, les termes croisés s'annulent :

\[ |z_1+z_2|^2+|z_1-z_2|^2 = 2|z_1|^2+2|z_2|^2 \]

\(\blacksquare\)

b) Dans un parallélogramme de côtés \(|z_1|\) et \(|z_2|\), les diagonales ont pour longueurs \(|z_1+z_2|\) et \(|z_1-z_2|\). L'identité dit que la somme des carrés des diagonales égale la somme des carrés des quatre côtés.

c) Reprenons le premier calcul de a). Comme \(\bar z_1 z_2 = \overline{z_1\bar z_2}\), la somme \(z_1\bar z_2 + \bar z_1z_2 = 2\operatorname{Re}(z_1\bar z_2)\).

\[ |z_1+z_2|^2 = |z_1|^2+|z_2|^2+2\operatorname{Re}(z_1\bar z_2) \]

Or pour tout complexe \(w\), \(\operatorname{Re}(w)\leqslant|w|\). Donc

\[ \operatorname{Re}(z_1\bar z_2) \leqslant |z_1\bar z_2| = |z_1||z_2| \]

D'où

\[ |z_1+z_2|^2 \leqslant |z_1|^2+2|z_1||z_2|+|z_2|^2 = \big(|z_1|+|z_2|\big)^2 \]

Les deux membres étant positifs, on prend la racine :

\[ |z_1+z_2|\leqslant|z_1|+|z_2| \quad\blacksquare \]

d) L'égalité exige \(\operatorname{Re}(z_1\bar z_2) = |z_1\bar z_2|\), c'est-à-dire que \(z_1\bar z_2\) soit un réel positif.

Géométriquement : \(z_1\) et \(z_2\) ont le même argument — ils pointent dans la même direction. Le cas \(z_2 = 0\) ou \(z_1=0\) est trivialement inclus.

En résumé : égalité ssi l'un des deux est un multiple réel positif de l'autre.

Corrigé — Exercice 11

a) et b) Implémentation.

import math

class Complexe:
    def __init__(self, re, im=0.0):
        self.re, self.im = float(re), float(im)

    def __add__(self, o):
        return Complexe(self.re + o.re, self.im + o.im)

    def __mul__(self, o):
        return Complexe(self.re * o.re - self.im * o.im,
                        self.re * o.im + self.im * o.re)

    def conj(self):
        return Complexe(self.re, -self.im)

    def module(self):
        return math.hypot(self.re, self.im)

    def __repr__(self):
        signe = "+" if self.im >= 0 else "-"
        return f"{self.re:g}{signe}{abs(self.im):g}i"


def puissance(z, n):
    """z**n par exponentiation rapide (cf. Algebre 01, exercice 8)."""
    r = Complexe(1)
    while n > 0:
        if n & 1:
            r = r * z
        z = z * z
        n >>= 1
    return r

Résultat théorique de \((1+i)^{100}\).

\((1+i)^2 = 2i\), donc

\[ (1+i)^{100} = \big((1+i)^2\big)^{50} = (2i)^{50} = 2^{50}\,i^{50} \]

Or \(50 \equiv 2\pmod4\), donc \(i^{50} = -1\) :

\[ (1+i)^{100} = -2^{50} = -1\,125\,899\,906\,842\,624 \]
z = puissance(Complexe(1, 1), 100)
assert abs(z.re + 2.0**50) < 1e-3 * 2.0**50
assert abs(z.im) < 1e-3 * 2.0**50
print(z)   # -1.1259e+15 + 0i (aux arrondis pres)

c) Critère de divergence de Mandelbrot.

Supposons \(|z_n| > 2\) et \(|c| \leqslant 2\) (au-delà, \(c\) n'est de toute façon pas dans l'ensemble). Alors

\[ |z_{n+1}| = |z_n^2+c| \geqslant |z_n|^2 - |c| \geqslant |z_n|^2-2 \]

(inégalité triangulaire renversée).

Posons \(|z_n| = 2+\varepsilon\) avec \(\varepsilon>0\) :

\[ |z_{n+1}| \geqslant (2+\varepsilon)^2 - 2 = 2 + 4\varepsilon+\varepsilon^2 > 2+\varepsilon = |z_n| \]

Plus précisément, l'écart au seuil est au moins multiplié par 4 à chaque itération : la suite \(|z_n|\) croît vers \(+\infty\). \(\blacksquare\)

C'est le critère d'arrêt utilisé par tous les traceurs de Mandelbrot : dès que \(|z_n|>2\), on peut s'arrêter, le point est dehors.

d) Test d'appartenance.

def dans_mandelbrot(c, n_max=200):
    z = Complexe(0)
    for _ in range(n_max):
        z = z * z + c
        if z.module() > 2.0:
            return False
    return True


assert dans_mandelbrot(Complexe(0, 0))      # z_n = 0 : borne
assert dans_mandelbrot(Complexe(-1, 0))     # cycle 0, -1, 0, -1...
assert not dans_mandelbrot(Complexe(1, 0))  # 0,1,2,5,26... diverge
assert dans_mandelbrot(Complexe(0, 1))      # cycle de periode 2
print("OK")

Détail des cas.

  • \(c=0\) : \(z_n = 0\) pour tout \(n\). Dedans.
  • \(c=-1\) : \(0, -1, 0, -1,\dots\) cycle de période 2. Dedans.
  • \(c=1\) : \(0, 1, 2, 5, 26, 677,\dots\) Dehors.
  • \(c=i\) : \(0, i, i-1, -i, i-1, -i,\dots\) cycle de période 2 à partir du rang 2. Dedans.

Chapitre suivant : Nombres complexes : forme exponentielle.