The Mandelbrot Set
BENOIT MANDELBROT HAD A SET...
If you were persistent enough on the Iteration of z2+c display, you detected
certain regions where the iterations settled down, or at least did not diverge
out of bounds. On the next display the program will outline for you the area
where the function z2+c does not diverge. The set of all points in the complex
plane where the function z2+c does not diverge under iteration, is called the
"Mandelbrot set", after Benoit Mandelbrot. The outline of the set resembles the
insect known as a ladybug, after being run over and possibly struck by
The outline of the Mandelbrot set is produced by a trick called the escape time
algorithm. We visit each pixel on the screen, taking its corresponding location
in the complex plane to be the constant c in z2+c. Then we iterate the function
using that value for c. If the function diverges quickly we leave the pixel
black and go on to the next one. If the function converges quickly we also leave
the pixel black and move on. In those cases where the function is indecisive
about which way it is going to go we treat that pixel differently.
In some cases one might iterate for a very long time before it would be
conclusive that the function would ultimately diverge. We establish a limit,
called the depth, on the number of iterations we will allow. If that limit is
reach without divergence, we leave the pixel black as though it were in the set.
For locations where divergence is indicated prior to hitting the limit, we color
the pixel depending on how many iterations it took to indicate divergence. Under
this scheme points in or very near to the set are black. The near boundary is
Points well outside the Mandelbrot set are left black so the boundary is clearly
demarked. It is the boundary region of this set which will be of most interest.
We will explore the Mandelbrot set boundary in more detail later. In the next
display the first click on the Action button will plot the outline of the
Mandelbrot set. For now just let the program run until the general outline is
clear. Then click on Cut to stop the plot. Then you can mark a point with the
mouse button and repeat the step by step iterations as on the Iteration of z2+c
display. Use the outline of the set to guide you in picking points. Iterating
points outside will give divergence. Iterating points inside, convergence.
Points near the boundary - Who knows? It took 230 iterations to determine that
the point picked in the illustration above produced divergence. Run the
Iteration and the Mandelbrot Set display.
In the next display we will again paint the boundary of the Mandelbrot set. This
time allow the program to complete the portrait so you may see the intricate
detail. Those points in the boundary closest to the set, based on escape time,
we color white. Farther out we use a rotating multi-color scheme in which the
colors repeat as we get farther and farther from the set. Finally if the point
is far enough from the set so that divergence occurs quickly we leave the point
black. This coloring provides contrast between regions. Run the Mandelbrot Set -
View 1, Full Scale display, or just look at the image below.
You may have noticed that the central feature of the Mandelbrot set is basically
a series of disks. The disks have irregular borders and decrease in size as we
proceed along the negative real axis. And the ratio of the diameter of one disk
to the next approaches a constant as we look deeper and deeper into the series
And the constant which the ratio approaches is the Feigenbaum number,
So what is going on here. The same number keeps popping up in seemingly
unrelated places. The logistic function is a quadratic, the sine function is
trigonometric, the Gaussian is exponential and the Mandelbrot set is none of
these. The common thread in the universality of the Feigenbaum number is
iteration. Is it the iterative process itself that brings this order to chaos?
When we produce an object through iteration like an attractor or a Mandelbrot
set, the whole is made of parts repeated. The details on a small scale resemble
pieces in larger scale.
The notion of things looking the same on different scales has profound
implications. Turbulent flow in a fluid exhibits this characteristic. There are
eddies within eddies within eddies mixed with smooth regions. Water at the point
of boiling, clouds, metals making the transition to magnetism, many badly
behaved physical systems exhibit scaling. To the mathematically sophisticated,
the geometric regularity shown by Feigenbaum's number implies scaling phenomena.
The universality of it means that difficult problems might be understood by
solving simple ones.
If you are intrigued by the line of thought we have been exploring in the last
few paragraphs you will have to follow up this course with additional study. We
are about at the limit of our exploration in this direction. It was about
twenty-five years ago that the foundations of this science was being put down.
There has been considerable building on those foundations in the last two
decades and now there are structures upon which even ordinary folks like us can
stand and perhaps see farther than before. I urge you to go as high as your
curiosity can take you.
In the next few displays we offer pictures of different parts of the Mandelbrot
set. The intention is to illustrate the wealth of variety contained in the set
which is defined so simply. This may be the extreme example of complexity
arising from simple origins. We got our first look at this phenomena back in the
section on phase control maps when we iterated the logistic function. In the
Mandelbrot set there is literally infinite variety. No one has yet seen all the
detail available to you through this program. In the research mode of this
section you will be able to explore for a lifetime. Run the Mandelbrot Set -
View 2 through - View 6. The only difference in these views is the portion of
the complex plane at which we are looking.
Mandelbrot Set - View 2, Near the Axis
Mandelbrot Set - View 3, A River Delta
Mandelbrot Set - View 4, The Root of a Grape Vine
Mandelbrot Set - View 5, Fireworks Pinwheel
Mandelbrot Set - View 6, Turbulence
Next we will zoom in on a region of the Mandelbrot set boundary. Multiple passes
allow you to get an early look at the picture with details added as time goes
on. Points associated with a particular number of iterations to divergence
(escape time) indicated by color, are laid out in intricate patterns. The
patterns are infinitely detailed fractals. The area to be expanded to full
screen is outlined by a white box. Run the Mandelbrot Set - View 7 display to
see the location of the first zoom box. Then run the Mandelbrot Set - View 8 for
the first zoom.
Mandelbrot Set - View 7, Full Scale with Zoom Box
Mandelbrot Set - View 8, Once Zoomed
If we think of the set boundary as a coastline, we have zoomed in here on a
peninsula, not quite all the way to the point. If this were a coastline it would
have to be Maine. It is ragged in the extreme. Next we will zoom in on the sort
of spiral structure enclosed in the box. Run the Mandelbrot Set - View 9.
Mandelbrot Set - View 9, Twice Zoomed
We introduced fractals earlier in this course but let us review the concept. The
whole Mandelbrot set is contained in the complex plane such that a circle of
radius 2.5 centered at zero would completely enclose it. The boundary though is
of infinite length. This is tough to visualize without a program like this one
to actually plot the points in the set. Lines of finite extent but infinite
length we know to be fractals. Fractals involve an interesting concept in
addition to fractional dimension. That is "self similarity". The boundary of
this set illustrates that.
Self similarity means that as you look at a structure under magnification you
see tiny pieces of it which look like the whole thing. With this program you
begin with the outline of the entire set. In a later display you may set up a
window on the plot to examine any portion of it in greater detail. By repeatedly
zooming in on the details you will see that the boundary is indeed infinite and
that there are regions which look like the outline of the entire set. The
Mandelbrot set also exhibits "symmetry". Not the rigid symmetry of geometric
figures but an approximation of nature's own.
Symmetry in this context refers to sameness on both sides of some axis.
Generally mathematical functions which exhibit symmetry are identically
symmetrical. The whole Mandelbrot set in fact has this kind of symmetry about
the real axis. The set boundary however on closer inspection has regions of
"almost symmetry" which are reminiscent of the symmetry of trees and frogs. A
most unexpected and unmathematical thing to find in a structure defined in only
a few lines of computer code. In fact with a little imagination one may see
rivers, valleys, islands and mountains in the set. Now run The Mandelbrot Set -
View 10 display.
Mandelbrot Set - View 10, Thrice Zoomed
In the last display you saw a copy of the whole Mandelbrot set on a scale about
1:20000. Just to clarify a point, the scale refers to linear dimensions. The
area of this display in the complex plane is about 1/400,000,000 of the full
scale display. If you are willing to wait for the picture to develop, you have a
very powerful microscope here. Soon you will be able to control the
magnification by repeated zooming to smaller and smaller scales. There is a
limit inherent in the way personal computers deal with floating point decimal
numbers, in how far we can take this magnification.
The number of significant digits in numbers handled by PCs is limited to about
15. The computer has trouble telling the difference between 100000.0000000001
and 100000.0. When the finest details of the plot we are making approaches this
scale, there is uncertainty about exactly which pixels represent the actual
value. Since several pixels may all represent the same value, they all are lit.
This gives the picture a blocky appearance. Ultimately every pixel on the screen
might be lit for a single point, reducing the resolution of the picture to zero.