Wednesday, August 18, 2010

Mandel Spider

kw: mathematics, beauty, algorithms

Recent rumination about recursive calculations, rounding errors, high-precision calculations, and strange attractors such as those near the edges of the Mandelbrot Set led me to search for software that I could use to explore some of these ideas. This image is from the best site I've so far encountered:

Just for fun, I call it the Mandel Spider. The overview window, shown below, gives the coordinates. Look carefully, the first difference between Xmin and Xmax occurs in the 18th digit after the decimal. The "window" size is 5.0×10-19 by 3.7×10-19.

The viewer is the xMandelbrotViewer by David Eck. Over "window" sizes much larger than I've shown here (larger than about 10-5) the viewer uses ordinary 32-bit floating point math, which is very fast. As you zoom to smaller and smaller areas, it uses "bignum" math, probably of the BCD variety, to add sufficient precision so that there are five or six guard digits beyond the precision needed to dissect the chosen area into about 750×500 pixels. The image above used 28-digit arithmetic, and ran quite slowly. It took about five minutes on my laptop. I'll have to try it on my newer desktop, which has a fast quad processor. A lot will depend on the smarts of Java 5.

I don't know the limits of the program yet. It gets more time consuming the deeper one goes. It also lets you set the maximum iterations parameter, as high as 50,000, though the default is 100. I used 1,000 for the image above, and of course most of the points (the sky blue ones) required many fewer iterations. But at this depth, we're totally inside an area that would be entirely black with only 250 iterations, the limit imposed by most viewers.

I'm still looking for software that lets me set the precision as I like, to see how it might affect the look of an image. From a bit of exploration I've found that the attractor for most points near the Mandelbrot Set is simple enough to minimize rounding problems, but the closer you get to the edge of the set (the more iterations needed to prove that a point is not in the Set), the more chaotic the attractor is, and the more I would expect rounding errors to tend to overwhelm the calculation. But that is still in the future for me. Maybe I'll find an article by someone who has already done the experiment…

No comments: