mdbtxt1
mdbtxt2
Proceed to Safety

# Synchronous-Orbit Algorithm

Robert P. Munafo, 2023 Jun 20.

The synchronous-orbit method (also called "Simultaneous Orbit Iteration") was the first perturbation method to be published, in an article for Amygdala by Steven Stoft, one of the authors of Fractal Witchcraft which was the first implementation.

It optimizes the computation of Escape-Iterations for a large set of points, utilizing approximation and interpolation techniques to model the behavior of an iterated function when neighboring points are iterated. The method works well for the Mandelbrot iteration, fn(Z) = fn-1(Z)2 + C.

Synchronous-orbit algorithms are a patch iteration method, which is a type of perturbation method, all of which are orbit-based optimizations, all of which are Speed Improvements. See those headings for more information and references to other optimizations.

The algorithm works on the principle that points which are close together will have similar "tracks" (iterates) as the Mandelbrot iteration is applied to them. The algorithm suffers from distortion which occurs when those iterates fall near the Origin.

Consider a set of points in Parameter Space (the space in which iteration occurs) corresponding to the pixels in a rectangular image. The z1=c values for those points will all lie in neat rows and columns on the complex plane:

* . . . . . . . * . . . . . . . . . . . . . . * . . . . . . . *

The points are all different complex magnitude (distance from the origin) and have different angles with respect to the origin. Because of their differences in magnitude, the calculation of z2 = z12 + c will give z2 values that also differ in magnitude, but by a greater amount. The rectangle also will have rotated, and straight edges will become slightly curved. The "grid" of z2 values might now look like this:

. . . ' * . . ' . . ' . * . . . . . . . . . . . * . . . ' ' * '

After more iterations the distortion will increase, and eventually if there is a mu-atom or island in the image, the origin will be within the grid:

| | . . . * * ' ' '|' . . | . . | * ------.---0----------.----- . | . . | . .| . . . |* |

At any step up to this point the four corners (marked by *) can be used as reference points and two-dimensional interpolation can be used to locate any desired pixel's zn value. However, on the next iteration the grid will curve around on itself (and in many cases there will be pairs of points with different zn values that have the same zn+1). At that point the "grid" would need to be subdivided into pieces, which can each then be iterated further in a similar way.

### Early Descriptions

I posted about the Synchronous Orbit method to sci.fractals on Dec 24, 1992, as a response to Tim Wegner (a co-author of FRACTINT). I describe my own implementation efforts (in Color MANDELZOOM) and my discoveries of the effect of islands on the method's effectiveness: