The Mandelbrot set and Julia sets

Mandelbrot Set image

The Mandelbrot set (named after Benoit Mandelbrot) is the most famous fractal of all, and the first one to be called a fractal. Just in case you haven't seen it before here it is shown on the right. The Mandelbrot and the closely related Julia sets are both based on the idea of choosing two complex numbers z0 and c, and then repeatedly evaluating zn=zn-12+c. If zn does not tend to infinity the point (z0,c) is in the set (colored blue or black in the pictures on this page). If we consider all possible z0 and c then we end up with a four dimensional set, whicht is rather hard to visualise.

These fractals can usually only be displayed approximately, because it is not always possible to tell how a particular point will behave. Spirofractal iterates each point up to 65535 times. Most points will either tend quickly to infinity, or converge into a repeating cycle of one or more values, but points near the boundary of the set, (which is the interesting part), can take many iterations to do either. The cycle may not be detectable for points near the boundary, because there is a limit to the accuracy of the calculations which may prevent convergence from occurring when it should. Spirofractal leaves points that are not definitely in or out of the set black, and varies the shade of blue according to the length of the cycle. Most black points are probably in the set.

See how intricate the Mandelbrot set is in "Seahorse Valley".

It is fairly easy to prove that all the points that are in the Mandelbrot set lie within distance 2 of the origin. Show Me

Julia set for -1.77

Julia Sets

Individual Julia sets are much less varied than the Mandelbrot set. Julia sets for numbers near 0 are almost circular. As you move away from the origin fractal structure appears, but in a rather repetitive fashion.


Julia set for 0.1 Julia set for 0.25 Julia set for -0.75 It was stated above that all the points in the Mandelbrot set lie within distance two of the origin. The same is not true for Julia sets, because we can define a Julia set for any number k at all, and the set will always have an infinite number of points, and for any distance we can always choose k so that the Julia set contains some points at least that far from the origin. If we only consider Julia sets for |k|<=2 the proof above does hold good, and for any Julia set, almost all the points in the set are within this region, and any points in the set outside it are unstable, in the sense that all points nearby are outside the Julia set. The reason for this is, that in order for the successive iterations to converge, |d/dz z2| near the value converged to must be less than one, which is not the case anywhere outside a circle centered on the origin with a radius of 0.5. The values of c for which z2+c=z has solutions in this region, are the only ones where the iterations can converge to a single value, other than at the isolated points which are solutions of the equation. The region where convergence to a single value is possible corresponds to the large heart shaped area around the origin that lies in the Mandelbrot set. Julia set for a point near the boundary of one of the tiny Mandelbrots connected to the main set with a thin filament (0.35760212--0.64564155i) Julia set for a number on the boundary of the main heart-shaped region and the largish blue circle at 45°

However, the iterative process may converge on cycle which oscillates between two or more values. For example the points that can oscillate between two values can be found by considering (z2+c)2+c=z. Two solutions for this are the two solutions where z2+c=z, so the oscillation between two values will take place if (z2+z+c+1)=0, which is what you get if you factorise the quartic equation above. By similar reasoning as before convergence can only take place where |d/dz (z2+c)2+c|<1. This region corresponds to the large circle next to the heart-shaped zone in the Mandelbrot set. (We haven't actually proved these points do converge, only that they might - it is conceivable that we might start off in the wrong direction and start too far away from the zone where convergence takes place).

By solving other similar equations, for oscillations with period 2,3,4... etc we could find more possible regions where z2+c settles down into a regular pattern.

Julia set for 0.64i, a point just outside the Mandelbrot set 
It turns out that the Julia set for a complex number k consists of nothing but isolated points, unless k is in the Mandelbrot set. The reason for this is that z2+c has its best chance of converging into a regular pattern if you start with z0=0, because that it is where z2 changes most slowly. You may be able to see why this might be so if you consider real values only, and draw y=x and y=x2+c on the same graph. It is a special case of a more general result proved by Fatou - that if a polynomial does have an attracting cycle, then it attracts at least one critical point (a point where the derivative is 0). The only critical point for z2 is z=0.


Generalisations of the Mandelbrot and Julia sets

General cross section through  Julia set space General cross section through Julia set spaceAs already mentioned, the Mandelbrot and all the Julia sets can be considered to be 2D subsets of a four dimensional object. Spirofractal generalises the process used to create these sets by displaying other planar cross sections of this object. It does this by choosing two different linear transformations of each point z and using one value for z0, and the other for c.

General cross section through  Julia set space
The boundary of these sets is often quite different in style to that of the Mandelbrot set.


Mandelbrot set for z^4
The equivalent of the Mandelbrot for z4.

It is also possible to generalise the Mandelbrot set, by considering other polynomials. There is no point considering other quadratics, as a simple transformation similar to the one used to solve quadratic equations will show that any quadratic polynomial will behave in essentially the same way. For higher powers this is not the case, because general polynomials have several critical points. However znis obviously the simplest case to consider.

The same proof that the Mandelbrot set lies within the region |z|<=2 holds good for higher powers. Indeed it is easy to refine it and show that |z|<=2(1/(n-1)). However, it is not really worth worrying about, as at worst we do a few extra iterations to discover a point is outside the set.The higher power we iterate, the more quickly most points can be shown to be definitely in or out of the set. On the other hand each iteration involves a more expensive calculation.


Using color

It is also possible to vary the appearance of set fractals by using color in different ways to bring out different features.

'Biomorph' image of a z^4 Julia set
"Biomorph" coloring of a z4 Julia set.
z^4 Mandelbrot set by bail in method
z4 Mandelbrot set colored by a "bail-in" method. Spirofractal 4 uses 18 different ways to color sets, resulting in a great variety of images.
Mandelbrot Set Zoom
Close-up of part of Mandelbrot set

 On to Strange Attractor Wing