You're reading: Irregulars

Mandelbrot’s bum is full of π

They say that π is everywhere. (They say that about ϕ too, but I’m not buying it.) I thought it would be interesting to discuss the most unexpected place I’m aware it’s ever appeared.

This is the Mandelbrot Set:

(All the images in this post are interactive, so you can zoom in on areas of interest or zoom out to get context from a close-up. You can also view the Mandelbrot Set in fullscreen or read the source code.)

It’s formed by taking a point z0 in the complex plane, and repeatedly iterating such that zn+1=zn2+z0. The black area — the actual Mandelbrot Set — is the set of points z0 such that the series converges. The other points are coloured by how quickly the series diverges. Conventionally, it’s the number of iterations before zn2, because 2 is roughly infinity, right? For a fuller discussion of the algorithm, see Coulton et al’s definitive work on the subject.

In 1991 Dave Boll was investigating whether the ‘neck’ of the Mandelbrot Set (see below) was infinitely thin.

While doing so, he found that approaching the point from the side — which is to say from above or below in the picture above — produces this interesting data:

z Number of iterations
0.75+0.1i 33
0.75+0.01i 315
0.75+0.001i 3143
0.75+0.0001i 31417
0.75+0.00001i 314160

This seems to be building digits of π. Having found an interesting phenomenon around the neck, he did what any normal-minded person would do and applied the same technique to the bum of the Mandelbrot Set:

This time he had to approach from a direction we will politely refer to as “from the right”:

z Number of iterations
0.26 30
0.2501 312
0.250001 3140
0.25000001 31414

That looks like digits of π again.

What happens on the real line stays on the real line — you can apply Mandelbrot’s iteration to a real z0 as many times as you like and you’ll never get a complex zn — so the bum is easier to analyse. (This is where the term ‘analyse’ comes from.) Gerald Edgar has done so for us. He observes that if z0 is just over 0.25, then zn increases very slowly until it reaches 12, after which it rapidly diverges. That means it doesn’t matter much whether we draw our cutoff at zn2 or 5 or whatever — the number of iterations will be pretty close to the one where zn12. That makes sense, because the cutoff of 2 was arbitrary, and we shouldn’t get π from an arbitrary process.

To find the magical n that builds π, then, he defines yn=zn12 and sets about finding a zero. It’s obvious that
yn+1=zn+112
And since zn+1=zn2+z0, that becomes
yn+1=zn2+z012
Which, if we substitute yn=zn12 back in, gives us
yn+1=(yn+12)2+z012=(yn2+yn+14)+z012
Which we can rewrite as
yn+1=(yn2+yn+14)+(14+ϵ)12=yn2+yn+ϵ
where ϵ is the distance we are from the point we shall politely call “z0=0.25”.

Since zn is increasing slowly in this region, we can say without offending too many pure mathematicians that dyndnyn+1yn=yn2+ϵ

That’s a differential equation, and we know how to solve those. (We use Wolfram|Alpha.)

yn=ϵtan(nϵ+c)

This is zero — which is to say that zn starts to grow uncontrollably — when tannϵ=0, which is to say when nϵ=π, which is exactly what we saw earlier:

ϵ nϵ
0.01 3.0
0.0001 3.12
0.000001 3.140
0.00000001 3.1414

It will never build π exactly, because we made some approximations and computing the iterations without losing any precision is a huge task even for modern computers, but it’s nice that there’s a theoretical justification for this quite unexpected apparition of π.

2 Responses to “Mandelbrot’s bum is full of π”

  1. Avatar Gerardo Domínguez

    This is incredibly awesome. I want to thank you, it’s a very clear explanation. Would it be the same if we used the point z0=(-0.75,X) which Dave Boll had used? I mean, we would have a different differential equation but it’s basically the same thing, right?

    Reply

(will not be published)

LATEX: You can use LaTeX in your comments. e.g. $ e^{\pi i} $ for inline maths; \[ e^{\pi i} \] for display-mode (on its own line) maths.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>