Take a number, square it, add a constant, and do it again. For some constants the numbers stay small forever; for others they run off toward infinity. Mark the constants that stay small and you get the most famous picture in mathematics: one rule, no randomness, and detail that never runs out however far you zoom.
Common mix-up: the Mandelbrot set is not exactly self-similar. Zoom in and you will find small copies of the whole set, but every copy is slightly distorted and wrapped in decorations that belong only to its own neighborhood. A Sierpinski triangle repeats itself perfectly; the Mandelbrot set never shows the same view twice.
Everything in this chapter comes from a single instruction. Pick a complex number c. Start with z = 0. Replace z by z² + c. Then do it again, and again, forever. The list of values you get, 0, c, c² + c, (c² + c)² + c, and so on, is called the orbit of 0 for that c.
Only two things can happen to an orbit. Either the numbers stay within some fixed distance of zero forever, or they grow without limit. The Mandelbrot set, usually written M, is the collection of every c whose orbit stays bounded. That is the whole definition. There's no geometry in it, no drawing instruction, nothing about cardioids or seahorses. The shapes all appear on their own once you ask the question for every point of the plane.
Complex numbers are needed because the rule squares a point in the plane, which doubles its angle and squares its distance from zero (Chapter 7 builds this up from scratch). Real numbers are just the horizontal axis of that plane, so you can try a few by hand before worrying about anything else.
| c | Orbit of 0 | Verdict |
|---|---|---|
| 0 | 0, 0, 0, … | Stays put. In the set. |
| −1 | 0, −1, 0, −1, … | Bounces between two values forever. In the set. |
| 1 | 0, 1, 2, 5, 26, 677, … | Explodes. Not in the set. |
| −2 | 0, −2, 2, 2, 2, … | Lands on 2 and stays. In the set: the leftmost point of M. |
| i | 0, i, −1 + i, −i, −1 + i, −i, … | Falls into a loop of two. In the set, on its very edge. |
| ¼ | 0, 0.25, 0.3125, 0.3477, … → 0.5 | Creeps toward ½ without ever getting there. In the set: the rightmost point. |
| 0.26 | creeps up past 0.5, then shoots off | Out, by a hair. It takes 29 steps to pass 2. |
The last two rows show why the set is so delicate. At c = ¼ the orbit crawls toward ½ and settles there; nudge c up to 0.26 and the same crawl carries on past ½ and, a few dozen steps later, flies away. Along the real axis the set is the interval from −2 to ¼, but just above and below that line the boundary twists into a coastline that never smooths out.
To draw the set, a computer does this test for each pixel: treat the pixel's position as c, iterate, and see whether the orbit escapes. It needs a way to decide quickly that an orbit has escaped, and a stopping point for orbits that haven't. The first is easy and exact: once |z| is bigger than 2, the orbit is certain to escape. The second is a compromise. After some maximum number of steps, the computer gives up and paints the pixel as "inside". Raise that limit and thin filaments that looked solid resolve into the outside world.
Suppose |z| > 2 and |z| ≥ |c|. The triangle inequality gives |z² + c| ≥ |z|² − |c| ≥ |z|² − |z| = |z|(|z| − 1). Since |z| − 1 > 1, the next value is strictly further out than this one, by a factor that itself keeps growing. From then on the orbit only accelerates outward.
That covers every case that matters. If |c| > 2, the very first step lands on z₁ = c with |z₁| = |c| > 2, and the argument applies at once, so c is outside. If |c| ≤ 2, then any later |zₙ| > 2 automatically satisfies |zₙ| ≥ |c|. Two conclusions follow: the whole set fits inside the disc of radius 2, and the test "has |z| passed 2 yet?" is exact. Programs usually compare |z|² with 4 to avoid a square root, and the explorer below uses a much larger radius, 256, for the color reason explained further down.
A full Mandelbrot renderer, computed in your browser one row at a time. Drag to pan. Use the mouse wheel, a two-finger pinch, or the + and − buttons to zoom. Double-click to zoom in on a spot. Each change cancels the old picture and starts a new one: a coarse pass first so you see the shape at once, then the full-resolution pass. With "Auto" on, the iteration limit rises as you go deeper, because deeper detail needs longer orbits to tell inside from outside.
Zoom is measured against the opening view, which is about 3 units wide. The render uses 64-bit floating point ("doubles"), which carry about 16 significant digits; somewhere around zoom 10¹³ neighboring pixels stop being different numbers, and the picture turns into blocks. The "Precision wall" preset takes you there.
Strictly, the Mandelbrot set is just the black shape. All the color you see in pictures of it lives outside the set, and it records how quickly each outside point escaped. Count the steps until |z| passes the bailout radius, and use that count, the escape time, to pick a color. Points far from the set escape in one or two steps; points close to the boundary hesitate for hundreds or thousands of steps first, because their orbits drift near the set's own repelling cycles before breaking free.
A whole-number count paints the outside in flat stripes, one per step. Each stripe edge is a level curve where the orbit escapes exactly on step n. The stripes are honest, but they distract from the shape. The fix is to estimate a fractional count from how far past the bailout radius the orbit landed. Far from the set, each step roughly squares |z|, so log |z| roughly doubles. Taking the logarithm a second time turns that doubling into a steady increase of log 2 per step, which is a quantity you can interpolate.
The palette is then a free choice. The explorer wraps ν around a looping gradient, and the density slider sets how many iterations one loop spans. Changing palette or density re-colors the stored ν values without recomputing a single orbit, which is why it's instant. Chapter 15 and Chapter 16 take coloring much further.
The other limit is precision. Ordinary programs, including this page, store each coordinate as a 64-bit floating-point number with a 53-bit significand: about 16 significant decimal digits. When the gap between neighboring pixels shrinks to roughly the size of the last digit, two pixels become the same number, and the image breaks into flat blocks. With a view a few units wide spread across about a thousand pixels, that happens near zoom 10¹³. Deep-zoom programs get past it with arbitrary-precision arithmetic. The trick that made very deep zooms practical, published by K. I. Martin in 2013, is perturbation: compute one reference orbit in high precision, then track every other pixel as a tiny difference from it in ordinary doubles.
The cardioid and disc test. The two largest pieces of the set have exact formulas (next section). A point that passes either test is inside, so the renderer paints it without iterating at all. At the opening view that skips most of the black area, which would otherwise cost the full iteration limit per pixel.
Periodicity checking. An inside point's orbit settles onto a repeating cycle. The renderer saves z every so often, at steps 8, 16, 32 and so on, and if the orbit ever lands exactly on the saved value it has found a cycle and stops early. Because the saving interval doubles, cycles of any length are eventually caught.
Progressive passes. The first pass computes one pixel in sixteen and fills a 4 × 4 block with it; the second fills in the rest. Work is cut into slices of about 8 milliseconds, so scrolling stays smooth, and any input bumps a generation counter that abandons the stale render. While you drag, the last finished picture is shifted or stretched as a preview, so the view responds before any new pixels exist.
The big heart-shaped body of the set is a cardioid, the curve traced by a point on a circle rolling around another circle of the same size. It isn't an approximate resemblance. The boundary is exactly a cardioid, and you can derive its equation in a few lines.
Inside the cardioid the orbit of 0 settles onto a single fixed point, a value z* with z*² + c = z*. A fixed point attracts nearby orbits when the map shrinks distances near it. The derivative of z² + c is 2z, so the condition is |2z*| < 1. Call that derivative μ = 2z*, the multiplier. Solving the fixed-point equation for c gives c = z* − z*², and substituting z* = μ/2 gives the formula below. Every μ inside the unit disc gives a c inside the cardioid; running μ around the unit circle traces its edge.
To the left of the cardioid sits a perfect circle. There the orbit of 0 no longer settles on one value but alternates between two, like c = −1's orbit 0, −1, 0, −1. The two cycle points are the roots of z² + z + c + 1 = 0, so their product is c + 1. The cycle's multiplier is the derivative of applying the map twice, 2z₁ · 2z₂ = 4(c + 1), and the cycle attracts when that has size less than 1.
Checking whether a given c is inside the cardioid by solving for μ is awkward, so renderers use an equivalent inequality. Write c = x + iy and let q = (x − ¼)² + y². Then c is in the main cardioid exactly when q(q + (x − ¼)) ≤ y²/4. The disc test is (x + 1)² + y² ≤ 1/16. Both are a handful of multiplications.
Each piece is a hyperbolic component: a region where the orbit of 0 is drawn into an attracting cycle of one fixed length, the component's period. The multiplier of that cycle maps the component one-to-one onto the unit disc, which is the theorem behind the μ formula. The point where the multiplier is 0, the center or nucleus, is where 0 itself lies on the cycle: c = 0 for the cardioid, c = −1 for the disc.
The period-2 disc is the first of infinitely many bulbs stuck to the cardioid. Each one is a region where the orbit settles into a cycle of a particular length, and that length is written right there in the picture for anyone who knows where to look.
A bulb touches the cardioid where the multiplier μ = e^(2πi·p/q) is a rotation by a rational fraction of a turn, p/q in lowest terms. At that point the fixed point stops attracting, and a cycle of length q takes over. So the bulb at internal angle p/q has period q. The half-turn gives the period-2 disc. A third of a turn gives the period-3 bulb at the top of the cardioid, and its mirror image at two-thirds of a turn gives the one at the bottom. A quarter turn gives period 4, and so on round the edge.
You can read the period without any arithmetic. From each bulb grows an antenna, and the antenna's main junction has exactly q spokes. The period-3 bulb sprouts a three-way fork; the period-5 bulbs show five-way stars. The fraction p is hidden in the spoke lengths: the shortest spoke sits p/q of a turn counterclockwise from the one that leads back to the bulb. Inside the bulb, the orbit of 0 visits its q cycle points in an order that turns by that same p/q each step, like the hand of a clock.
Bulbs also obey a rule about their sizes. Between the ½ bulb and the ⅓ bulb, the largest bulb is the ⅖ bulb. Between ⅓ and ¼ it is ²⁄₇. The pattern is the Farey mediant: between p/q and r/s, the biggest bulb is at (p + r)/(q + s), whose period q + s is the smallest available. Its numerator and denominator are just the sums. Robert Devaney's 1999 article "The Mandelbrot set, the Farey tree, and the Fibonacci sequence" works this out in detail.
| Bulb | Period | Where it touches the cardioid | Its center (nucleus) |
|---|---|---|---|
| main cardioid | 1 | – | 0 |
| ½ | 2 | −0.75 | −1 |
| ⅓ | 3 | −0.125 + 0.6495i | −0.12256 + 0.74486i |
| ¼ | 4 | 0.25 + 0.5i | 0.28227 + 0.53006i |
| ⅖ | 5 | −0.48176 + 0.53166i | −0.50434 + 0.56277i |
| ⅕ | 5 | 0.35676 + 0.32858i | 0.37951 + 0.33493i |
| ³⁄₇ | 7 | −0.60636 + 0.41240i | −0.62244 + 0.42488i |
Touching points come from c = μ/2 − μ²/4 with μ = e^(2πi·p/q). Centers were found by Newton's method on z_q(c) = 0. The bulbs below the real axis are mirror images, at the conjugate values.
Bulbs grow on bulbs. Every bulb carries its own ring of smaller bulbs, and the rule repeats one level down: the p/q bulb attached to a component of period k has period k × q. Follow the real axis left from the cardioid and you pass through the disc of period 2, then a bulb of period 4, then 8, then 16, each one smaller than the last. They pile up at c ≈ −1.401155, after which the real axis turns chaotic.
The sizes shrink by a ratio that approaches Feigenbaum's constant δ ≈ 4.669201609. That same constant turns up in dripping taps, electronic circuits and the logistic map (Chapter 11), because the real slice of the Mandelbrot set is the logistic map with its coordinates changed.
| Period | Real-axis interval | Width | Ratio to next |
|---|---|---|---|
| 1 | −0.75 to 0.25 | 1 | 2 |
| 2 | −1.25 to −0.75 | 0.5 | 4.234 |
| 4 | −1.36810 to −1.25 | 0.11810 | 4.551 |
| 8 | −1.39405 to −1.36810 | 0.025947 | 4.646 |
| 16 | −1.39963 to −1.39405 | 0.0055851 | 4.664 |
| ∞ | accumulates at −1.4011551890… | → 0 | → 4.6692… |
On the cardioid's edge the fixed point's multiplier has size exactly 1 and rotates nearby points by an angle θ. When θ is a rational fraction p/q of a turn, applying the map q times returns the multiplier to exactly 1, and a cycle of length q splits off the fixed point. That bifurcation is the bulb. When θ is irrational, no cycle is born, and nothing is attached at that boundary point. The behavior there depends on how well θ can be approximated by fractions. For some angles the dynamics near the fixed point is a pure rotation on a disc, a Siegel disc, which shows up in the next chapter's Julia sets.
The cascade ratios in the table converge to δ because the same renormalization step relates each bulb to the next. The width of the 2ⁿ interval divided by the width of the 2ⁿ⁺¹ interval is exactly the quantity Mitchell Feigenbaum studied in 1978.
Click any point of the set. The finder runs the orbit of 0 for up to 50,000 steps to let it settle, then searches for the cycle it fell into, measures that cycle's multiplier, and flood-fills every neighboring pixel whose orbit settles into a cycle of the same length. That fills the whole bulb, or the whole cardioid of a mini-Mandelbrot. The small panel draws the orbit itself in the z-plane, with the cycle points numbered in the order the orbit visits them.
Click inside the black shape. Try the top bulb, then the small bulbs around it, then the real axis to the left.
The angle of λ (in turns) is the point's position inside its component: the child bulb at angle p/q has period q times this one's. Pixels very near an edge settle too slowly to classify and stay unhighlighted.
Follow the antenna left from the period-2 disc toward −2 and, at about c = −1.7549, you meet a tiny, complete copy of the whole set. Its cardioid has period 3: click it in the finder and you'll see. These mini-Mandelbrots or "mini-brots" are everywhere. There are infinitely many, and in any neighborhood of any point on the boundary, however small, there are more of them. Each one has its own cardioid, its own bulbs and its own antennas, with periods multiplied by the period of its cardioid, and each is slightly distorted and surrounded by filaments that belong to its location.
The reason is a process Douady and Hubbard called tuning. Near a mini-brot whose cardioid has period p, applying the map p times behaves, on a small region, almost exactly like a single application of z² + c for a different c. The whole parameter space repeats in miniature because the dynamics repeats in miniature.
The two most famous places to zoom are the valleys either side of the cardioid. Seahorse valley is the gap between the cardioid and the period-2 disc, around c = −0.75 + 0.1i. Its walls are lined with curled tails that spiral into double spirals, and the spirals contain mini-brots. Elephant valley is the cleft at the cusp, near c = 0.25 to 0.3 on the right, where rows of trunked shapes march toward the cusp. Both valleys sit at points where an orbit is neutral, neither attracting nor repelling, and that marginal behavior is what draws out the long, slowly curling structures.
Then there are the tips and branch points of the antennas. At c = i and c = −2 the orbit of 0 doesn't settle into an attracting cycle; after a few steps it lands exactly on a repelling one. Points like these are called Misiurewicz points, after Michał Misiurewicz. Zoom into one and the picture becomes a spiral or a branching star that looks the same at every scale, and it matches the Julia set for that c, a link the next chapter explores.
| Landmark | Location | What you see |
|---|---|---|
| Seahorse valley | −0.75 + 0.1i | Curled "seahorse" tails, double spirals, mini-brots inside the spirals |
| Elephant valley | 0.28 + 0.01i | Rows of trunked bulbs marching toward the cusp at ¼ |
| Period-3 mini-brot | −1.7549 + 0i | The largest copy on the real axis, about one fiftieth the full size |
| c = i | 0 + 1i | Tip of a branching filament: a Misiurewicz point |
| c = −2 | −2 + 0i | The far tip of the main antenna |
| Feigenbaum point | −1.4011551890 + 0i | Where the period-doubling cascade ends and chaos begins |
A mini-brot is the image of the whole set under a map that is almost, but not quite, a scaling and rotation. Close to its cardioid it's a near-perfect copy; out at its antennas the distortion grows, and the filaments joining it to the rest of the set are decorated in ways that depend on the route back to the main body. Curtis McMullen proved in 1998 that small near-copies of M turn up in the parameter spaces of a huge class of families, not just z² + c, which is why Mandelbrot-like shapes appear in so many other formulas (Chapter 10).
Early computer pictures showed specks floating around the main body, apparently separate islands. In 1982 Adrien Douady and John Hubbard proved there are no islands: the Mandelbrot set is connected. Every speck is a mini-brot hanging on a filament too thin for a printer to show. Their proof constructs an explicit map from the outside of the set to the outside of a disc, one that preserves angles, and the existence of such a map forces the set to be in one piece. It also gives every outside point a pair of natural coordinates, the "external rays" and equipotential lines, which became the main tool for studying the set's structure.
A stronger statement, that the set is locally connected, would mean that nearby boundary points can always be joined by short paths inside the set. It's known as the MLC conjecture. If true, it would give a complete topological description of the set. It has been proved at many points, but the general question remains open.
The boundary is as rough as a curve in the plane can be. Mitsuhiro Shishikura proved in 1998 that its Hausdorff dimension is 2, the same as a filled region. It is still a boundary, with no width anywhere, yet it wiggles so much that, measured at fine scales, it behaves like an area. Whether the boundary actually has positive area is another open question.
The set's own area is known only numerically. Counting pixels on very fine grids gives about 1.5065918849, accurate to roughly eight decimal places. Exact series for the area exist, from the same Douady–Hubbard map, but they converge so slowly that they give only loose bounds.
| Property | Status | Who |
|---|---|---|
| Bounded by |c| ≤ 2 | Proved, elementary | Follows from the escape argument above |
| Connected | Proved, 1982 | Douady & Hubbard |
| Boundary dimension 2 | Proved, 1998 | Shishikura |
| Locally connected (MLC) | Open | Proved at many points, not in general |
| Boundary has positive area | Open | – |
| Area ≈ 1.50659 | Numerical estimate | Pixel counting; no closed form |
The mathematics is older than the picture. Pierre Fatou and Gaston Julia worked out the theory of iterating rational functions between 1917 and 1919, with no way to draw what they described. The first image of the set itself appeared in a 1978 paper by Robert Brooks and Peter Matelski, a rough printout of characters made while they studied groups of transformations. Benoit Mandelbrot, working at IBM, published sharper computer pictures in 1980 and drew wide attention to them; he also coined the word "fractal" in 1975. Douady and Hubbard named the set after him when they proved it connected in 1982. A. K. Dewdney's "Computer Recreations" column in Scientific American in August 1985 gave readers a program they could run on a home computer, and Heinz-Otto Peitgen and Peter Richter's 1986 book The Beauty of Fractals set the color standard that pictures still follow. In JellyDazzle, the Mandelbrot deep zoom is one of the fractal modes, rendered a band of rows at a time just like the explorer above.