Consider the following iteration on complex numbers:
zn+1 = zn2+c (z0=0)
(The z values are complex numbers, such that z=a+bi where a and b are real numbers and i is the square-root of -1.)
Fascinating things happens when you vary c. The values of zn will obey one of the following four cases:
- zn will tend toward infinity as n increases
- zn will settle into a periodic cycle at a fixed radius from some central point as n increases
- zn will tend towards some fixed limiting value as n increases
- zn will jump around chaotically all over the boundary of some finite region as n increases
In the second case, the periodic cycle mentioned is called a "Siegel Disk".
In the last case, the chaotic boundary mentioned is called a "Julia Set", named after mathematician Gaston Julia.
The set of all values of c for which case 1 does not occur is called "The Mandelbrot Set", discovered by chaotician Benoit Mandelbrot.
The set of all values of c for which only case 4 occurs is the "boundary" of the Mandelbrot set, the boundary of which is believed by many mathematicians to be the most complex object in all of mathematics.
The Mandelbrot Set acts as a catalog of all Julia sets. Any complex number which is in The Mandelbrot Set, if used as the seed point of a Julia Set, will generate a Julia set which is "connected" (that is, for each point in the set, there exist other points in the set which are as close to the first point as one cares to specify). Any complex number which is not in The Mandelbrot Set, if used as the seed point for a Julia Set, will generate a Julia Set which is "disconnected" -- that is, for each point a in the set, there exists a finite positive real number e such that there are no points b in the set for which |a-b| < e. Such disconnected Julia Sets are known as "Fatou Dusts", named after mathematician Pierre Fatou.
Drawing The Maps
To map The Mandelbrot Set, simply program a computer to iterate the generating equation, using various values of c. For each c, iterate until either the |Z|>2, or until 1000 iterations have occurred, whichever happens first. Any one value of c is a member of The Mandelbrot Set if and only if 1000 iterations occur with |z| never exceeding 2.
(Actually, 1000 is an arbitrary number. You could use other numbers if you like. The higher the number, the more accurate your map of The Mandelbrot Set will be, but the slower your calculations will run. Ideally, one should use infinite iterations... but that would require infinite computation time!)
Then graph the set in the complex plain using black for c values in the set, and other colors for c values not in the set, depending on how many iterations the calculation lasted before |z|>2.
Graphing Julia sets is done the same way, except that you fix the value of c and vary the value of z0. As explained above, the nature of the Julia Set you'll get depends heavily on whether c is inside or outside the Mandelbrot Set. ("Inside" implies "connected"; "outside" implies "dusty".) Experiment! You'll be astonished at the wide variety of shapes you'll get. Vary c but a little bit, and the shape may change drastically.
For further reading:
- Chaos: Making a New Science, by James Gleick
Penguin Books, New York, 1987
- The Beauty of Fractals, by H.-O. Peitgen and P.H. Richter
Springer-Verlag, New York, 1986
- The Fractal Geometry of Nature, by Benoit Mandelbrot
Freeman, New York, 1983