Julia set

Julia sets, described by Gaston Julia, are fractal shapes defined on the complex number plane. Given an iterated map of the complex plane to itself, or a collection of such maps, the Julia set for this system can be defined (informally) as the set of points for which nearby points do not exhibit similar behaviour under repeated iterations of the map(s).

File:Julia set (ice).png
A Julia set with seed coordinates (−0.726895347709114071439, 0.188887129043845954792)

Given two complex numbers, c and z0, we define the following recursion:

zn+1 = zn2 + c

This is sometimes referred to as a quadratic map, and is a type of dynamical system. Given a specific choice of $\displaystyle c$ and $\displaystyle z_0$ , the above recursion leads to a sequence of complex numbers $\displaystyle z_1$ , $\displaystyle z_2$ , $\displaystyle z_3$ ... called the orbit of $\displaystyle z_0$ .

Depending on the exact choice of $\displaystyle c$ and $\displaystyle z_0$ , a large range of orbit patterns are possible. For a given fixed $\displaystyle c$ , most choices of $\displaystyle z_0$ yield orbits that tend towards infinity. (That is, the modulus $\displaystyle | z_n |$ grows without limit as $\displaystyle n$ increases.) For some values of $\displaystyle c$ certain choices of $\displaystyle z_0$ yield orbits that eventually go into a periodic loop.

Finally, some starting values yield orbits that appear to dance around the complex plane, apparently at random. (This is an example of chaos.) These starting values make up the Julia set of the map, denoted $\displaystyle J_c$ . Some authors also define the filled-in Julia set (or Prisoner Set), denoted $\displaystyle K_c$ , which is the set of all $\displaystyle z_0$ with yield orbits which do not tend towards infinity. The "normal" Julia set $\displaystyle J_c$ is the edge of the filled-in Julia set.

If the modulus of zn becomes larger than 2 for some n then it is guaranteed that the orbit will tend to infinity. This test makes it straightforward to plot Julia sets for quadratic maps using a computer.

Relation to Mandelbrot set

Julia sets are closely related to the Mandelbrot set which is the set of all values of c for which zn = zn−12 + c does not tend to infinity through application of the recursion with z0 = 0. Like the Mandelbrot set, the Julia set is often plotted with different colors signifying the number of iterations carried out before the modulus of z becomes larger than 2.

The Mandelbrot set is, in a way, an index of all Julia sets. For any point on the complex plane (which represents a value of c) a corresponding Julia set can be drawn. We can imagine a movie of a point moving about the complex plane with its corresponding Julia set. When the point lies in the Mandelbrot set, the Julia set is connected. Otherwise, the Julia set is a Cantor dust of unconnected points.

File:Mandelbrot and Julia.png
Map of 121 Julia sets in position over the Mandelbrot set

If c is on the boundary of the Mandelbrot set, and is not a waist, the Julia set of c looks like the Mandelbrot set in sufficiently small neighborhoods of c. For instance:

• At c = 1/4, the cusp at the set's mouth, the Julia set outline is a closed curve with cusps all around.
• At c= i, the shorter, front toe of the forefoot, the Julia set looks like a branched lightning bolt.
• At c = −2, the tip of the long spiky tail, the Julia set is a straight line segment.
• −3/4, 1/4 + i/2, and e2πi/5/2 − e4πi/5/4 (−0.482 − 0.532i) are waists, The Julia set at c = −3/4 actually does look like the Mandelbrot set there, but the other two do not.

Attractors and repellers

As stated above, for any given c, the majority of orbits tend toward infinity. For this reason, infinity is described as an attractor of the system. The set of all points $\displaystyle z_0$ with orbits that are "attracted to" infinity makes up the basin of attraction to infinity.

Depending on the choice of c, there may also exist one other attractor in the system. While infinity is a point attractor, the second attractor may be either a point attractor or a periodic cycle. (A point attractor is essentially a periodic cycle of period 1.) The exact shape of the basin of attraction to this second attractor depends on c.

If this second attractor does exist for a particular c, then the Julia set is topologically connected, and is in fact the boundary between the basin of attraction to infinity and the basin of attraction to the finite attractor. If there is no second attractor (i.e., infinity is the only attractor) then the Julia set is a disconnected Cantor dust set.

One of Gaston Julia's important results is that every basin of attraction always contains at least one critical point of the map (provided the map is rational - which the quadratic map is). Since the quadratic map has two critical points (0 and infinity), there can only ever be at most 2 basins of attraction. Since it turns out that infinity is always an attractor, one can determine whether a second attractor exists simply by examining the orbit of 0. This is why the Mandelbrot set can be drawn by examining the behaviour of quadratic maps at 0.

Since (in general) the Julia set is the boundary between basins of attraction, the Julia set is sometimes described as being a repeller because all orbits tend away from it.

Generalisations

File:Julia set (highres 02).jpg
A fractal, C = [0.285, 0.013]

The Julia set can be defined for any iterated map of the complex plane to itself, or collection of maps. The formal mathematical definition is that the Julia set is the smallest closed, completely invariant point set for such a map or collection of maps which contains at least 3 points. It can also be defined (informally) as the set of points for which nearby points do not exhibit similar behaviour under repeated iterations of the map(s).

Julia sets can also be defined for any n-dimensional space, not just the complex plane.

Julia sets typically (though not always) have a fractal structure, and Julia sets can be associated with fractals such as the Sierpinski triangle and the Cantor set.

The complement of the Julia set (i.e. the set of points for which nearby points do exhibit similar behaviour) is sometimes called the Fatou set, although some authors use the term Fatou set or Fatou dust for a disconnected Julia set.

Some common generalisations include:

• The cubic map, $\displaystyle z_{n+1} = z_n^3 + b$ , or (with greater generality), $\displaystyle z_{n+1} = z_n^3 - 3a^2z + b$ , where $\displaystyle a$ and $\displaystyle b$ are complex-valued parameters (as $\displaystyle c$ is in the quadratic mapping). The resulting Mandelbrot set is 4-dimensional. The map has critical points (infinity, zero, $\displaystyle +a$ , $\displaystyle -a$ ). As with the quadratic map, infinity is always an attractor. However, zero is always attracted to infinity. It thus remains to check the orbits of $\displaystyle a$ and $\displaystyle -a$ .
• Newton's method of approximation can be used to solve various equations in the complex plane. Specifically, to solve some equation $\displaystyle f(z)=0$ , we iterate $\displaystyle z_{n+1} = z_n - f(z)/f'(z)$ (where $\displaystyle f'(z)$ is the first derivative of $\displaystyle f$ with respect to $\displaystyle z$ .) The method is intended to work starting from a fairly good approximation of the solution. Graphing with arbitrary start points, we typically find parts of the Julia set at points equidistant between roots (so the algorithm "can't decide" which one to go far). The most common example used is the cube roots of unity (i.e., $\displaystyle f(z) = z^3 + 1$ ). To form a Mandelbrot set, a parametrised equation is needed.
• In a similar way, Halley's method can be applied, generally resulting in more complex images.
• Certain of the complex transcendental functions (such as sin, cos, exp, log, etc.) can be iterated to produce Julia sets. For example, $\displaystyle z_{n+1} = \lambda \sin(z_n)$ where $\displaystyle \lambda$ is an adjustable parameter. (Note that transcendental functions are not rational maps - so Julia's result about critical points does not necessarily hold.)

Examples of Julia sets for quadratic maps

File:Time escape Julia set from coordinate (phi-2, 0).jpg
Time escape Julia set from coordinate (phi−2, 0)
File:Time escape Julia set from coordinate (phi-2, phi-1).jpg
Time escape Julia set from coordinate (phi−2, phi−1)
File:Time escape Julia set from coordinate (0.285, 0).jpg
Time escape Julia set from coordinate (0.285, 0)

Julia set using reversed formula

File:Reversed Julia set C = ( 0.4 0.3 ).gif
Julia set, generated using the reversed formula, C = ( 0.4 0.3 ). 1-5 repeats

It is also possible to generate Julia sets using a method derived from the iterated function system (IFS) "random game" method. Instead of using an "escape time" method to find the points that do not belong to the Julia set, the "random game" method uses the reverse formula to track the convergence of a single point towards the edge of the Julia set.

For example, for the Mandelbrot set, the reverse formula is

$\displaystyle z_{n+1} = \sqrt{z_n - c}$

At each iteration one of the two roots is selected at random. After a sufficiently large number of iterations the current position of z is plotted. The process is then repeated with a different random sequence of roots.

The process of "reversing" the mapping essentially exchanges the attractors and repellers; the Julia set is now an attractor, with infinity and possibly the usual periodic cycle now being repellers. A Julia set which has a fractal structure is a strange attractor for the reversed mapping.

Note that certain parts of the Julia set - notably the "waists" - are quite hard to reach with the reverse Julia algorithm, since the "points" or "tips" of the Julia set are more strongly attractive. But this can be avoided by using a consistent choice of root a random number of times in a row (maximum 4-6 are good) making the center attractors stronger.