The Mandelbrot set

The work of a curious fellow
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 lightning.

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 background color and go on to the next one. If the function converges quickly we also leave the pixel background 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 background color 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 background color. The near boundary is multicolored.

Points well outside the Mandelbrot set are left background color so the boundary is clearly demarked. It is the boundary region of this set that 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? The track displayed at the right shows that in 100 steps from the marked point, the iterations converge to a point below and to the left of the marked point. Run the Iteration and the Mandelbrot Set display.

iteration and the Mandelbrot set
Mandelbrot set

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 background color. 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 of disks.

And the constant which the ratio approaches is the Feigenbaum number, approximately 4.669.

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 in the years around 1970 that the foundations of this science was being put down. There has been considerable building on those foundations in the last 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 near axis
Mandelbrot set river delta Mandelbrot set grape root
Mandelbrot set fireworks pinwheel Mandelbrot set 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 box in a contrasting color. 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 zoom 0
Mandelbrot set zoom 1

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.

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 that 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 that 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 zoom 2
Mandelbrot set zoom 3

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.
Are there any questions?

Glossary main thread Next main thread Previous main thread Other