FractalPark
NewtonMoyen

Newton Fractal for z³ − 1

La méthode de Newton pour z³ − 1 : trois bassins de convergence séparés par une frontière qui ne se calme jamais.

Ouvrir dans l'Explorateur
Fractale de Newton pour z³ − 1 : trois bassins se rejoignent le long de lignes en rayons de roue avec un détail de frontière en spirale
La fractale de Newton de FractalPark pour z³ − 1 : trois bassins de convergence en symétrie ternaire, reliés par des bordures en spirales imbriquées.

Vue d'ensemble

Cette formule transforme un algorithme classique de recherche de racines en carte du plan complexe. Contrairement à l'ensemble de Mandelbrot, elle ne demande pas si une orbite s'échappe. Elle demande quelle racine de z³ − 1 la méthode de Newton atteint depuis un départ donné. Les trois racines cubiques de l'unité (1, e^{2πi/3}, e^{4πi/3}) revendiquent chacune un bassin d'attraction : toutes les valeurs de départ dont l'orbite converge vers cette racine.

Les trois bassins sont faciles à repérer. Leur frontière commune, non. Un point exactement dessus n'atteint aucune racine : il suit un chemin chaotique qui ne se répète jamais. Cette frontière est l'ensemble de Julia de l'application de Newton — la fonction rationnelle N(z) = z − (z³ − 1)/(3z²). Zoome, et la structure continue d'arriver.

C'est une fractale de convergence classique : un algorithme numérique du quotidien avec une frontière agitée à l'intérieur. Arthur Cayley a posé le problème de classification des bassins de Newton en 1879. Il a résolu le cas quadratique, mais le cas cubique « semble présenter une difficulté considérable ». La dynamique complexe développée plus tard par Fatou et Julia a rendu le problème lisible ; les premières visualisations informatiques sont arrivées au début des années 1980.

Les mathématiques

Newton iteration

z(n+1) = z(n) - (z(n)^3 - 1) / (3 z(n)^2)

For a function f(z), Newton iteration is N(z) = z − f(z) / f′(z). Here f(z) = z³ − 1 and f′(z) = 3z². Each step subtracts the polynomial value divided by its derivative, nudging z toward a root. For the cubic z³ − 1, the iteration simplifies to:

N(z) = z − (z³ − 1) / (3z²) = (2z³ + 1) / (3z²).

This is a degree‑2 rational map of the Riemann sphere. Its fixed points are exactly the three cube roots of unity, and they are all superattracting—once an orbit is close enough to a root, convergence is extremely fast. The Julia set is the boundary where basins meet, and the map is chaotic there.

Try a concrete starting point: z₀ = 0.5. Then z₁ = (2·0.125 + 1) / (3·0.25) = (0.25 + 1) / 0.75 ≈ 1.667, z₂ ≈ 1.107, z₃ ≈ 1.001, and the orbit rapidly converges to the root at 1. Now try z₀ = 0.5i: z₁ ≈ −0.417 + 0.583i, z₂ ≈ −0.495 + 0.865i, and the orbit converges to e^{2πi/3} = −0.5 + 0.866i. A third starting point, say z₀ = −0.5 − 0.5i, converges to the remaining root e^{4πi/3} = −0.5 − 0.866i. The basins are large and well separated, but close to a boundary a tiny nudge in the starting value can switch the destination entirely.

FractalPark uses a stability threshold: an orbit counts as converged when consecutive iterates differ by less than a chosen tolerance. The pixel is then coloured by the root reached and the number of steps needed.

Histoire

At the heart of this image is Newton's method, discovered by Isaac Newton in 1669 and independently refined by Joseph Raphson in 1690. For real functions it is a practical root‑finding tool; for complex polynomials it reveals fractal basins no one could have foreseen at the time.

The mathematical study of those basins began in 1879 with Arthur Cayley's paper "The Newton–Fourier imaginary problem" (American Journal of Mathematics, vol. 2, p. 97). For a complex quadratic polynomial, Cayley showed that the basins of attraction are simply the two half-planes separated by the perpendicular bisector of the line segment joining the two roots. At cubic polynomials, though, he found the problem "considerable difficult." His inability to extend the simple quadratic result to the cubic case became known as Cayley's problem.

The resolution came through complex dynamics, developed by Pierre Fatou and Gaston Julia in the years around 1918. Their theory of iterated rational functions supplied the language for the basins and their infinitely convoluted boundaries. But the first pictures of the Newton fractal for z³ − 1 had to wait for computer graphics in the early 1980s.

In 1986, Heinz-Otto Peitgen and Peter H. Richter included a chapter titled "Newton's Method for Complex Polynomials: Cayley's Problem" (Chapter 6, pp. 93–106) in *The Beauty of Fractals: Images of Complex Dynamical Systems*. It presents some of the earliest published computer renderings of these basins and helped introduce a wide audience to the fractal structure hidden inside Newton's method.

Caractéristiques visuelles

Three large basins, one for each cube root of unity, occupy the image. They meet in wheel-spoke lines from the centre, making the three-part symmetry plain. Inside each basin, convergence is quick and the colour stays smooth.

Between any two basins—and especially at the central three-way meeting—spirals, miniature three-basin copies, and dendritic threads crowd in. Follow a spiral arm inward: the three-basin arrangement returns at smaller scales, bent by local dynamics. Broad calm regions; then a restless frontier.

Remix et exemples

Pars du Document canonique

Ouvre le même état de formule approuvé utilisé par ce guide, puis modifie la vue, la colorisation, les transformations ou l'animation dans l'Explorateur interactif.

Questions fréquentes

What do the main regions represent?

Each coloured region is a basin of attraction: it contains the starting points whose Newton iteration converges to the same root of z³ − 1. The three cube roots of unity are 1, e^{2πi/3} = −0.5 + 0.866i, and e^{4πi/3} = −0.5 − 0.866i. A point’s colour records the root it reaches and how quickly convergence happens.

Is this an escape-time fractal?

It is primarily a convergence fractal. The classification is not about whether the orbit escapes to infinity (as in the Mandelbrot set), but which root it approaches and how many steps it takes. There is no escape-radius test. Instead, the renderer checks whether consecutive iterates have become very close—indicating convergence to a root—and, if so, which root they are near.

Références

Parcours du code source

  1. frm-v1:5e3522c53ca358df8d61d5a3b82aa0b90ff8009602b1952fb5022027f00fdd45:init/0

    Dans newton3, ce nœud exécute z = pixel.

  2. frm-v1:5e3522c53ca358df8d61d5a3b82aa0b90ff8009602b1952fb5022027f00fdd45:loop/0

    Dans newton3, ce nœud exécute z2 = z * z.

  3. frm-v1:5e3522c53ca358df8d61d5a3b82aa0b90ff8009602b1952fb5022027f00fdd45:loop/4

    Dans newton3, ce nœud exécute z = numerator / denominator.

  4. frm-v1:5e3522c53ca358df8d61d5a3b82aa0b90ff8009602b1952fb5022027f00fdd45:bailout

    Dans newton3, ce nœud exécute |z - zPrev| >= 0.000001.

Caractéristiques syntaxiques

state-flow

Le flux d’état concret est : z prend initialement la valeur pixel ; puis z2 et z3 alimentent numerator / denominator.

stopping-test

Le test d’arrêt évalue seulement |z - zPrev| >= 0.000001 ; il n’affecte pas l’état.

Expérience sur les paramètres

Étapes

  1. En gardant les autres contrôles du profil fixes, exécute newton3 avec 48 itérations.
  2. Utilise ensuite les 96 itérations du profil épinglé et note la différence.

Ce qu’il faut observer

Note si z2 = z * z; z3 = z2 * z; numerator = 2 * z3 + 1; denominator = 3 * z2; z = numerator / denominator modifie le résultat visible ou le test d’arrêt |z - zPrev| >= 0.000001 par rapport à la référence ; la définition ne garantit pas de différence.

Exercice

Suis les annotations de newton3 et explique comment z2 = z * z; z3 = z2 * z; numerator = 2 * z3 + 1; denominator = 3 * z2; z = numerator / denominator s’exécute dans les opérations indiquées.

Vérification de réalisation

Ta réponse explique les 4 annotations, identifie z2 = z * z; z3 = z2 * z; numerator = 2 * z3 + 1; denominator = 3 * z2; z = numerator / denominator et distingue |z - zPrev| >= 0.000001 comme test d’arrêt plutôt que comme affectation.

Indice

Le flux d’état exécute successivement z = pixel → z2 = z * z → z3 = z2 * z → numerator = 2 * z3 + 1 → denominator = 3 * z2 → z = numerator / denominator et transmet le résultat à l’étape suivante.

Sources et droits

Source : définition d’exécution épinglée et décision de publication.

Les informations de droits suivent la décision épinglée dans l’unité anglaise.

Fiche de formule

newton3

Cette implémentation canonique de FractalPark est publiée et exécutable.

Aperçu déterministe de newton3

Source canonique

Langage
frm-like/1
Bibliothèque standard
1
Mode du profil
parameter-plane
Centre du profil
0, 0
Zoom du profil
0.35
Itérations du profil
96
Niveau de preuve du profil
family

Paramètres

Aucun paramètre déclaré

Source canonique

Cette révision canonique vérifiée est en lecture seule. Remix crée une copie modifiable distincte.

Chargement de la source canonique…

Source et implémentation

ID de formule
dd052c9f-868f-5516-9af0-3f4e78ac7a13
Nom canonique
newton3
Nom d'origine
newton3
Source historique
FractalPark
Implémentation actuelle
Propriété du projet

Il s'agit d'une implémentation propre au projet FractalPark. Le fichier lié est la Definition canonique épinglée.

Un problème de droits ou d'attribution ?

Envoyez l'ID de la formule et les justificatifs. Le mainteneur peut suspendre ou retirer l'implémentation pendant l'examen. contact@fractalpark.com