The Hénon Map Attractor, Explained
After reading this you can iterate the two Hénon equations by hand, predict when the map settles to a point, a cycle or chaos, and read the fractal boomerang the way its discoverer did.
What the Hénon map is
The Hénon map is a rule that takes one point in the plane and returns another. Feed the output back in, again and again, and you generate a sequence of points. At the classic settings a = 1.4 and b = 0.3, that sequence never repeats and never fills a region. Instead the points pile onto a thin, folded curve shaped like a boomerang. That object is a strange attractor.
Michel Hénon, an astronomer, published it in 1976 as a simplified stand-in for the Lorenz attractor. Lorenz needed three differential equations. Hénon wanted the same stretch-and-fold behavior in something you could compute with a pencil. Two lines of arithmetic were enough.
Here is the hook. Start at (0, 0). After a few hundred steps the point lands on the boomerang and stays there forever, tracing out its fractal layers. Start instead at (0.1, 0.1). The first few points differ wildly from the first run, yet within a few hundred steps this trajectory lands on the exact same boomerang. The attractor pulls in nearby starts, but scrambles the order in which they visit it.
The two equations and why they make chaos
The map sends a point (x_n, y_n) to the next point (x_{n+1}, y_{n+1}) by these rules:
Here x_n is the current horizontal coordinate, y_n the current vertical coordinate, and a a constant that controls how strongly the square term bends the plane.
The constant b sets how much of the old x survives into the new y. That is the whole map.
Three ingredients build the chaos. The term -a\,x_n^2 folds the plane: it bends a straight strip into a parabola so that two different x values can map near the same place. The term +y_n stretches along one direction. The term b\,x_n feeds a shrunken copy of the old horizontal position back in, which contracts area.
You can measure the area contraction exactly. The Jacobian determinant of the map is -b everywhere, so each step multiplies any small area by |b|. At b = 0.3 a patch shrinks to 30% of its size every iteration. Stretch, fold, and shrink at the same time and you get a set that is infinitely thin yet infinitely layered.
Contraction alone would collapse everything to a point. Stretching alone would fly off to infinity. The Hénon map does both at once, which is why the trajectory neither dies nor escapes but wanders forever on a set of zero area.
When to reach for it, and when not
Use the Hénon map when you want the smallest honest example of a strange attractor. It is a discrete map, so there is no numerical integration to worry about and no time step to tune. Every point is exact arithmetic. That makes it the right first stop before the Lorenz attractor or the logistic map bifurcation, and a clean subject for the box-counting dimension lab.
Do not read it as a model of anything physical. Hénon chose these equations because they fold nicely, not because they describe a fluid or an orbit. The boomerang is a mathematical fact about two equations, nothing more. If you want a fractal that comes from a real process, the magnetic pendulum fractal is closer to a physical system, though still idealized.
Do not expect the attractor to appear from every parameter pair either. Change a or b and you may get a stable point, a repeating cycle, or a trajectory that runs off to infinity. The strange attractor lives in a narrow band of settings.
A worked example you can reproduce
Iterating from the origin at a = 1.4, b = 0.3
Start at (x_0, y_0) = (0, 0) with the demo defaults a = 1.4, b = 0.3. Apply the two equations by hand.
- Step 1: x_1 = 1 - 1.4(0)^2 + 0 = 1, and y_1 = 0.3(0) = 0. New point
(1, 0). - Step 2: x_2 = 1 - 1.4(1)^2 + 0 = -0.4, and y_2 = 0.3(1) = 0.3. New point
(-0.4, 0.3). - Step 3: x_3 = 1 - 1.4(0.16) + 0.3 = 1.076, and y_3 = 0.3(-0.4) = -0.12. New point
(1.076, -0.12). - Step 4: x_4 = 1 - 1.4(1.1578) - 0.12 = -0.7409, and y_4 = 0.3(1.076) = 0.3228. New point
(-0.7409, 0.3228). - Step 5: x_5 = 1 - 1.4(0.5489) + 0.3228 = 0.5544, and y_5 = 0.3(-0.7409) = -0.2223. New point
(0.5544, -0.2223).
Notice the wide swings early on: x jumps from 1 to -0.4 to 1.076. These first points are transient. They have not settled onto the attractor yet. In practice you discard the first 100 or so iterates and plot only what follows, which is why the tool draws hundreds of thousands of points but shows a clean boomerang.
Reading the boomerang and its fractal layers
Zoom into the upper strand of the attractor and you find it is not one curve but several parallel curves. Zoom into those and each splits again. This self-similar layering is a Cantor-set cross-section, and it is what earns the word strange.
You can put a number on that structure. The attractor has a fractal dimension of about 1.26, measured by box counting. That value sits between 1 and 2, which matches the eye: the set is more than a line (it has thickness made of layers) but far less than a filled patch of plane (it has zero area). If you run the box-counting dimension lab on a saved Hénon image, you should recover a slope near 1.26 on the log-log plot.
The dimension is not the whole story. Two trajectories that start 0.0001 apart drift apart by roughly a factor of e^{0.42}, about 1.52, per step, because the largest Lyapunov exponent is near 0.42. After 30 steps that tiny gap has grown by a factor near 1.52^{30} \approx 2.7 \times 10^5, so the two runs become uncorrelated even though both sit on the same boomerang.
Bifurcations as you slide the parameters
Hold b = 0.3 and raise a from 0. For small a the map has a stable fixed point: every start settles to one dot. Near a \approx 0.3675 that point loses stability and splits into a period-2 cycle (two dots visited in turn). Raise a further and the period doubles again to 4, then 8, in the same cascade the logistic map shows. Past roughly a \approx 1.06 the cascade completes and the strange attractor appears. Push a above about 1.42 and most trajectories escape to infinity instead.
| a | Long-term behavior | Points plotted |
|---|---|---|
| 0.2 | Stable fixed point | 1 |
| 0.5 | Period-2 cycle | 2 |
| 0.9 | Period-4 cycle | 4 |
| 1.06 | Onset of chaos | attractor |
| 1.4 | Full strange attractor | attractor |
| 1.45 | Trajectory escapes | diverges |
Common mistakes
The first mistake is plotting the transient. If you draw the earliest points along with the settled ones, stray dots litter the plane and blur the attractor. Always discard the first hundred or so iterates.
The second mistake is trusting a single long run at high precision to reveal the "true" orbit. Because nearby points separate by a factor near 1.52 per step, rounding error at the 15th decimal grows to order 1 within about 65 steps. The exact orbit is not computable for long. What is reliable is the shape of the attractor, which every trajectory traces, not the order of individual points.
A third mistake is confusing |b| \lt 1 with stability. Area contraction does not prevent chaos. It is precisely the contraction plus stretching that produces the strange attractor. If you set b = 0 the y term dies and the map collapses to the one-dimensional quadratic map, a cousin of the logistic map, with no boomerang at all.
Related tools
For the continuous-time sibling that inspired Hénon, trace the Lorenz attractor in rotating 3D. To see the period-doubling cascade laid out as a single diagram, sweep the logistic map bifurcation. To measure the 1.26 dimension yourself, use the box-counting dimension lab. For fractals built by a different rule, try the Mandelbrot explorer, the Julia set explorer, or the chaos game, which grows a Sierpiński triangle from random jumps. And for chaos in a small physical system, the three-body choreographies perturb neatly into disorder.
Frequently asked questions
Why does the Hénon attractor never repeat?
Because the map stretches distances (its largest Lyapunov exponent is about 0.42, so gaps grow by roughly 1.52 per step) while folding the plane back on itself. A truly periodic orbit would have to return exactly to a past point, but stretching guarantees any small difference grows, so the trajectory never lands twice in the same place.
What does the fractal dimension 1.26 mean?
It measures how the number of boxes needed to cover the attractor grows as the boxes shrink. Halving the box size multiplies the count by about 2^{1.26} \approx 2.4. A smooth curve would give exactly 2, a filled square would give 4, so 2.4 places the attractor between a line and a surface.
Does the starting point matter?
Not for the final shape. Almost every start inside the basin of attraction lands on the same boomerang after the transient. The starting point only changes which points you see during the first hundred or so steps, and the order in which the attractor is visited.
Why do some parameter values send the trajectory to infinity?
The square term -a\,x_n^2 can produce a large negative x, and if the fold is too strong for the contraction to catch it, the next square is larger still, and the values run away. At b = 0.3 this happens above about a = 1.42.
Is the Hénon map the same as the logistic map?
No, but they are relatives. Set b = 0 and the Hénon map collapses to a one-dimensional quadratic map with the same period-doubling route to chaos as the logistic map. The nonzero b is what lifts it into two dimensions and gives it a fractal cross-section.