Iteration   xk+1 = f( xk ) + c   

R/1D f(x) = x2    xx2 + c  Axes
C/2D x2 + x3 + x4  Info
x0 = 0 x2 + y2 + xy  Lines
x0 = ↕ x2 + y2 + xy
   

Mandelbrot view   

Center of view Zoom factor 256
Re(c 1024
Im(c z=1 ↔ ΔRe=3 kmax

Color coding   

Alternating Color wheel Gradients k
1 Hstart
2 Hend
3 Sat
4 Light


Julia view 


J
Julia

Iterate


Iteration

The program has two sections, 'Iteration' and 'Mandelbrot view'.

Iterations can be done in one dimension (R/1D) with real values xk+1 = f(xk) + c or
in one complex dimension (C) with zk+1 = f(zk) + c and
in two real dimensions (2D) with  xk+1 = f( xk , yk ) + cx and yk+1 = g( xk , yk ) + cy.

Initial values can be chosen to be zero: x0 = 0 or random values: x0 = ↕.

The iteration map can be chosen from given types with real coefficients.
R:   f(x) = x2 or f(x) = a2x2+a3x3+a4x4 with chosen (a2,a3,a4).
C:   The same choice but with x replaced by z.
2D:  f(x,y) = a1x2+a2y2+a3xy and g(x,y) = b1x2+b2y2+b3xy with chosen coefficients.

The iteration view illustrates long term behaviour of xk (attractor for varying c).
In 1D with a set of c-values ∈ [-2,1] on the horizontal axis and xk on the vertical axis.

Iteration can be done step-by-step or gradually where old iterates fade away or
all at once with 256 iterations of which the last 64 steps are shown.

If a 2D/C iteration is chosen the coordinate system represents (x , y) / (zRe , zIm)
with a simultaneous view of iterates (xk , yk) / zk for an array of c-values (cx/Re , cy/Im).

Display of coordinate axes and end-point values for the axes can be turned on and off.
The x2-map can be displayed with lines at the bifurcation points in the attractor diagram.
Lines at the same values of c are available in the Mandelbrot view of z2 as a comparison.

Choosing iteration when iteration is already active gives a reset to default settings.

Mandelbrot view

The Mandelbrot view is based on the C/2D-iteration map chosen in the iteration section with initial values set to zero.
The axes are cx/Re and cy/Im, starting with -2 ≤ cRe ≤ 1 and cIm centered at zero and extent fixed by an aspect ratio 1:1.

Each pixel in the coordinate system represents a value of c with its own iteration which is continued as long as |zk| ≤ 4.
If |zk| never exceeds the escape distance then the iteration stops at a given maximum kmax, with a default value of 256.
kmax can be reset to 1024 or a chosen value for better resolution. Each k-value gets a color chosen in the color section.

Areas other than the default view can be chosen by giving a center and a zoom-factor z, where the initial view has z = 1.
Zoom in by right-clicking and dragging to the desired size. Zoom out by clicking with the middle button at zoom center.
For touch screens, use buttons to zoom in/out from center and finger dragging to move image from start to end position.

Color coding

The number of iterations for zk with z0 = 0 and zk+1 = f( zk ) + c is counted for each for each cC until |zk| > 2 or k reaches the given limit.
Colors are specified with H, S and L with hue for color tone (H: 0 - 360), saturation from grey to color (S: 0 - 100) and lightness from bright to dark (L: 0 - 100).
The number of iterations gets a color code according to one of three models. Points with kmax iterations get their own color.

Alternating

Color wheel

Gradient

First choose the number of colors to be used.
Then choose the colors to be used in the alternating sequence.
S and L are chosen in one diagram with H in a separate bar.
Hue is cyclic with Red-Yellow-Green-Cyan-Blue-Magenta-Red

Choose H at start and end with specified S and L.
Hue varies from start to end in a continuous fashion.
Hstart = 0 and Hend = 720 is two laps in the color wheel.
Hstart = 300 and Hend = 60 is the oposite direction M→Y.

First chooose the number of colors to be used.
Then choose the colors to be used at specified positions.
The first color is for k = 0 and last color is for k = kmax - 1.
Coloring is done with smooth variation between given colors.

Julia view

Iterations in 2D can be made in C : zk+1 = f( zk ) + c or R2: ( xk+1 , yk+1 ) = (  f( xk , yk ) , g( xk , yk )  ) + ( cx , cy ).
Fixing the value of c in the iteration leads to the Julia set. c is chosen by right-clicking in the Mandelbrot view.
The Mandelbrot view takes place in the c-plane, whereas the Julia view takes place in the z-plane or (x,y)-plane.

The simplest example z → z2 + c with c = 0 gives z→z2 with |zk+1| = |zk|2  &  arg( zk+1 ) = 2·arg( zk ) mod 2π.
|z0| > 1 gives an iteration that goes to infinity, ∞ is a fixed point with basin of attraction: |z| > 1.
|z0| < 1 converges towards z = 0, zero is a fixed point with basin of attraction: |z| < 1.
|z0| = 1 gives a sequence that remains on the unit circle.

The infinity point can be illustrated by projecting C to the Riemann sphere.
The two attracting fixed points z = 0 and z = ∞ are both bounded by the unit circle.

Iterations divide the plane into two sets, an escape set E and a prisoner set P.
E consists of points whose iterations espace to infinity and P consists of those points that remain in a bounded region.
The boundary between P and E is the Julia set of an iteration, J = ∂P = ∂E is the boundary to the basins of attraction.

The Julia view illustrates the Julia set by showing the prisoner set in one color and the escape set in different colors.
The colors are decided by the number of iterations to reach an escape distance for a given starting point in C or R2.
The color coding is the same as for the Mandelbrot view showing the Mandelbrot set (M).

The 2-arrowed button shifts place between Julia view with the Julia set and Mandelbrot view with the Mandelbrot set.
The big view makes it possible to zoom in by dragging a zoom-rectangle while holding down the left mouse-button.
For touch screens, activate J and touch will select a c-value for Julia view. Deactivate J to move image by finger dragging.
The Mandelbrot set is linked to the appearance of the Julia set, c ∈ M → J connected and c ∉ M → J disconnected.

Right clicking in the Julia view gives an initial point for an iteration. To get the next point in the iteration press button →.
Pressing back-arrow-button resets the iteration and a new starting point can be chosen.