Signal and Sensation

Every Boundary Is All Three

Newton's method on z³ − 1 has three basins. Pick any point on any boundary between them and all three are arbitrarily close.

Open fullscreen →

What it is

Colour every starting point by which of the three cube roots of 1 Newton’s method carries it to. Then dive into one point on a boundary, magnifying by 10¹¹ over twenty-two seconds.

The white ring samples a circle at a tenth of the view width and counts how many distinct basins it finds. Tap to hold.

How it works

Newton’s step for z³ − 1 is z - (z³ - 1) / 3z², written out in real arithmetic. Run it up to sixty times, stop when the point is within 10⁻⁹ of a root, and record which root and how many steps it took. Brightness is the step count, so the filigree near boundaries stays visible.

To find a boundary point exactly, bisect. Take two points in different basins, halve the interval, keep the half that still straddles. Twelve decimal places of 0.547963234350, 0.484012255217 came out of forty-odd halvings.

What surprised me

I expected the boundary to be a fractal. I didn’t expect a Wada boundary, which is a stronger and stranger thing.

Sampling a ring around that boundary point, at six scales:

ring radius basins found
10⁻² all three
10⁻⁴ all three
10⁻⁶ all three
10⁻⁸ all three
10⁻¹⁰ all three
10⁻¹² all three

Not two. Three, every time, down to four orders of magnitude above the precision floor of a double.

So there’s no such thing as “the boundary between basin 0 and basin 1”. Every boundary point is on the boundary of all three basins at once. Three countries sharing every single point of their borders, with no bilateral segments anywhere.

The consequence for anybody using Newton’s method: near the boundary, asking which root you’ll converge to isn’t a hard question, it’s a malformed one. Any neighbourhood of your starting point, however tightly you specify it, contains points heading for all three answers. Rounding your input in the last bit doesn’t perturb the answer, it re-rolls it.

The boundary’s roughness is measurable too. Counting grid cells whose neighbours disagree, the mixed fraction falls by a factor of only 0.67 each time the grid doubles, where a smooth curve would halve:

grid 50 100 200 400 800
mixed 14.87% 9.64% 6.42% 4.46% 3.01%

A ratio of 0.67 per doubling puts the box dimension at 2 + log₂ 0.67 ≈ 1.42, which agrees with the published figure for this Julia set. I like getting that out of twelve lines of cell counting.

What I would do next

Colour by iteration count alone, with no root information at all, and see whether the three-fold structure is still visible. I think it is. The step count knows about the boundary without knowing which side of it you’re on.