Julia set

Last updated
A Julia set Julia set, plotted with Matplotlib.svg
A Julia set
Three-dimensional slices through the (four-dimensional) Julia set of a function on the quaternions

In the context of complex dynamics, a topic of mathematics, the Julia set and the Fatou set are two complementary sets (Julia "laces" and Fatou "dusts") defined from a function. Informally, the Fatou set of the function consists of values with the property that all nearby values behave similarly under repeated iteration of the function, and the Julia set consists of values such that an arbitrarily small perturbation can cause drastic changes in the sequence of iterated function values. Thus the behavior of the function on the Fatou set is "regular", while on the Julia set its behavior is "chaotic".


The Julia set of a function f is commonly denoted and the Fatou set is denoted [lower-alpha 1] These sets are named after the French mathematicians Gaston Julia [1] and Pierre Fatou [2] whose work began the study of complex dynamics during the early 20th century.

Formal definition

Let be a nonconstant holomorphic function from the Riemann sphere onto itself. Such functions are precisely the nonconstant complex rational functions, that is, where and are complex polynomials. Assume that p and q have no common roots and at least one has degree larger than 1. Then there is a finite number of open sets , that are left invariant by and are such that:

  1. the union of the sets is dense in the plane and
  2. behaves in a regular and equal way on each of the sets

The last statement means that the termini of the sequences of iterations generated by the points of are either precisely the same set, which is then a finite cycle, or they are finite cycles of circular or annular shaped sets that are lying concentrically. In the first case the cycle is attracting, in the second it is neutral.

These sets are the Fatou domains of and their union is the Fatou set of Each of the Fatou domains contains at least one critical point of that is, a (finite) point z satisfying or if the degree of the numerator is at least two larger than the degree of the denominator or if for some c and a rational function satisfying this condition.

The complement of is the Julia set of If all the critical points are preperiodic, that is they are not periodic but eventually land on a periodic cycle, then is all the sphere; otherwise, is a nowhere dense set (it is without interior points) and an uncountable set (of the same cardinality as the real numbers). Like is left invariant by and on this set the iteration is repelling, meaning that for all w in a neighbourhood of z [within ]. This means that behaves chaotically on the Julia set. Although there are points in the Julia set whose sequence of iterations is finite, there are only a countable number of such points (and they make up an infinitesimal part of the Julia set). The sequences generated by points outside this set behave chaotically, a phenomenon called deterministic chaos .

There has been extensive research on the Fatou set and Julia set of iterated rational functions, known as rational maps. For example, it is known that the Fatou set of a rational map has either 0, 1, 2 or infinitely many components. [3] Each component of the Fatou set of a rational map can be classified into one of four different classes. [4]

Equivalent descriptions of the Julia set

Properties of the Julia set and Fatou set

The Julia set and the Fatou set of f are both completely invariant under iterations of the holomorphic function f: [5]


For the Julia set is the unit circle and on this the iteration is given by doubling of angles (an operation that is chaotic on the points whose argument is not a rational fraction of ). There are two Fatou domains: the interior and the exterior of the circle, with iteration towards 0 and ∞, respectively.

For the Julia set is the line segment between −2 and 2. There is one Fatou domain: the points not on the line segment iterate towards ∞. (Apart from a shift and scaling of the domain, this iteration is equivalent to on the unit interval, which is commonly used as an example of chaotic system.)

The functions f and g are of the form , where c is a complex number. For such an iteration the Julia set is not in general a simple curve, but is a fractal, and for some values of c it can take surprising shapes. See the pictures below.

Julia set (in white) for the rational function associated to Newton's method for f : z - z -1. Coloring of Fatou set in red, green and blue tones according to the three attractors (the three roots of f). Julia-set N z3-1.png
Julia set (in white) for the rational function associated to Newton's method for f : zz −1. Coloring of Fatou set in red, green and blue tones according to the three attractors (the three roots of f).

For some functions f(z) we can say beforehand that the Julia set is a fractal and not a simple curve. This is because of the following result on the iterations of a rational function:

Theorem. Each of the Fatou domains has the same boundary, which consequently is the Julia set.

This means that each point of the Julia set is a point of accumulation for each of the Fatou domains. Therefore, if there are more than two Fatou domains, each point of the Julia set must have points of more than two different open sets infinitely close, and this means that the Julia set cannot be a simple curve. This phenomenon happens, for instance, when f(z) is the Newton iteration for solving the equation :

The image on the right shows the case n = 3.

Quadratic polynomials

Julia sets for
{\displaystyle \;z^{2}+0.7885\,e^{ia}\;,}
where a ranges from 0 to
{\displaystyle 2\pi } JSr07885.gif
Julia sets for where a ranges from 0 to
A video of the Julia sets as above

A very popular complex dynamical system is given by the family of complex quadratic polynomials, a special case of rational maps. Such quadratic polynomials can be expressed as

where c is a complex parameter. Fix some large enough that (For example, if is in the Mandelbrot set, then so we may simply let ) Then the filled Julia set for this system is the subset of the complex plane given by

where is the nth iterate of The Julia set of this function is the boundary of

Collection of Julia sets laid out in a 100 x 100 grid such that the center of each image corresponds to the same position in the complex plane as the value of the set. When laid out like this, the overall image resembles a Photographic mosaic depicting a Mandelbrot set. Julia Mandelbrot Relationship.png
Collection of Julia sets laid out in a 100 × 100 grid such that the center of each image corresponds to the same position in the complex plane as the value of the set. When laid out like this, the overall image resembles a Photographic mosaic depicting a Mandelbrot set.

The parameter plane of quadratic polynomials – that is, the plane of possible c values – gives rise to the famous Mandelbrot set. Indeed, the Mandelbrot set is defined as the set of all c such that is connected. For parameters outside the Mandelbrot set, the Julia set is a Cantor space: in this case it is sometimes referred to as Fatou dust.

In many cases, the Julia set of c looks like the Mandelbrot set in sufficiently small neighborhoods of c. This is true, in particular, for so-called Misiurewicz parameters, i.e. parameters c for which the critical point is pre-periodic. For instance:

In other words, the Julia sets are locally similar around Misiurewicz points. [6]


The definition of Julia and Fatou sets easily carries over to the case of certain maps whose image contains their domain; most notably transcendental meromorphic functions and Adam Epstein's finite-type maps.

Julia sets are also commonly defined in the study of dynamics in several complex variables.


The below pseudocode implementations hard code the functions for each fractal. Consider implementing complex number operations to allow for more dynamic and reusable code.

Pseudocode for normal Julia sets

R=escaperadius# choose R > 0 such that R**2 - R >= sqrt(cx**2 + cy**2)foreachpixel(x,y)onthescreen,do:{zx=scaledxcoordinateofpixel# (scale to be between -R and R)# zx represents the real part of z.zy=scaledycoordinateofpixel# (scale to be between -R and R)# zy represents the imaginary part of z.iteration=0max_iteration=1000while(zx*zx+zy*zy<R**2ANDiteration<max_iteration){xtemp=zx*zx-zy*zyzy=2*zx*zy+cyzx=xtemp+cxiteration=iteration+1}if(iteration==max_iteration)returnblack;elsereturniteration;}

Pseudocode for multi-Julia sets

R=escaperadius#  choose R > 0 such that R**n - R >= sqrt(cx**2 + cy**2)foreachpixel(x,y)onthescreen,do:{zx=scaledxcoordinateofpixel# (scale to be between -R and R)zy=scaledycoordinateofpixel# (scale to be between -R and R)iteration=0max_iteration=1000while(zx*zx+zy*zy<R**2ANDiteration<max_iteration){xtmp=(zx*zx+zy*zy)^(n/2)*cos(n*atan2(zy,zx))+cx;zy=(zx*zx+zy*zy)^(n/2)*sin(n*atan2(zy,zx))+cy;zx=xtmp;iteration=iteration+1}if(iteration==max_iteration)returnblack;elsereturniteration;}

The potential function and the real iteration number

The Julia set for is the unit circle, and on the outer Fatou domain, the potential function φ(z) is defined by φ(z) = log|z|. The equipotential lines for this function are concentric circles. As we have

where is the sequence of iteration generated by z. For the more general iteration , it has been proved that if the Julia set is connected (that is, if c belongs to the (usual) Mandelbrot set), then there exist a biholomorphic map ψ between the outer Fatou domain and the outer of the unit circle such that . [7] This means that the potential function on the outer Fatou domain defined by this correspondence is given by:

This formula has meaning also if the Julia set is not connected, so that we for all c can define the potential function on the Fatou domain containing ∞ by this formula. For a general rational function f(z) such that ∞ is a critical point and a fixed point, that is, such that the degree m of the numerator is at least two larger than the degree n of the denominator, we define the potential function on the Fatou domain containing ∞ by:

where d = mn is the degree of the rational function. [8]

If N is a very large number (e.g. 10100), and if k is the first iteration number such that , we have that

for some real number , which should be regarded as the real iteration number, and we have that:

where the last number is in the interval [0, 1).

For iteration towards a finite attracting cycle of order r, we have that if z* is a point of the cycle, then (the r-fold composition), and the number

is the attraction of the cycle. If w is a point very near z* and w' is w iterated r times, we have that

Therefore the number is almost independent of k. We define the potential function on the Fatou domain by:

If ε is a very small number and k is the first iteration number such that , we have that

for some real number , which should be regarded as the real iteration number, and we have that:

If the attraction is ∞, meaning that the cycle is super-attracting, meaning again that one of the points of the cycle is a critical point, we must replace α by

where w' is w iterated r times and the formula for φ(z) by:

And now the real iteration number is given by:

For the colouring we must have a cyclic scale of colours (constructed mathematically, for instance) and containing H colours numbered from 0 to H−1 (H = 500, for instance). We multiply the real number by a fixed real number determining the density of the colours in the picture, and take the integral part of this number modulo H.

The definition of the potential function and our way of colouring presuppose that the cycle is attracting, that is, not neutral. If the cycle is neutral, we cannot colour the Fatou domain in a natural way. As the terminus of the iteration is a revolving movement, we can, for instance, colour by the minimum distance from the cycle left fixed by the iteration.

Field lines

The equipotential lines for iteration towards infinity Juliasetsdkfieldlines2.jpg
The equipotential lines for iteration towards infinity
Field lines for an iteration of the form
{\displaystyle {\frac {(1-z^{3}/6)}{(z-z^{2}/2)^{2}}}+c} Juliasetsdkfieldlines1.jpg
Field lines for an iteration of the form

In each Fatou domain (that is not neutral) there are two systems of lines orthogonal to each other: the equipotential lines (for the potential function or the real iteration number) and the field lines.

If we colour the Fatou domain according to the iteration number (and not the real iteration number , as defined in the previous section), the bands of iteration show the course of the equipotential lines. If the iteration is towards ∞ (as is the case with the outer Fatou domain for the usual iteration ), we can easily show the course of the field lines, namely by altering the colour according as the last point in the sequence of iteration is above or below the x-axis (first picture), but in this case (more precisely: when the Fatou domain is super-attracting) we cannot draw the field lines coherently - at least not by the method we describe here. In this case a field line is also called an external ray.

Let z be a point in the attracting Fatou domain. If we iterate z a large number of times, the terminus of the sequence of iteration is a finite cycle C, and the Fatou domain is (by definition) the set of points whose sequence of iteration converges towards C. The field lines issue from the points of C and from the (infinite number of) points that iterate into a point of C. And they end on the Julia set in points that are non-chaotic (that is, generating a finite cycle). Let r be the order of the cycle C (its number of points) and let z* be a point in C. We have (the r-fold composition), and we define the complex number α by

If the points of C are , α is the product of the r numbers . The real number 1/|α| is the attraction of the cycle, and our assumption that the cycle is neither neutral nor super-attracting, means that 1 < 1/|α| < ∞. The point z* is a fixed point for , and near this point the map has (in connection with field lines) character of a rotation with the argument β of α (that is, ).

In order to colour the Fatou domain, we have chosen a small number ε and set the sequences of iteration to stop when , and we colour the point z according to the number k (or the real iteration number, if we prefer a smooth colouring). If we choose a direction from z* given by an angle θ, the field line issuing from z* in this direction consists of the points z such that the argument ψ of the number satisfies the condition that

For if we pass an iteration band in the direction of the field lines (and away from the cycle), the iteration number k is increased by 1 and the number ψ is increased by β, therefore the number is constant along the field line.

Pictures in the field lines for an iteration of the form
{\displaystyle z^{2}+c} Juliasetsdkfieldlines4.jpg
Pictures in the field lines for an iteration of the form

A colouring of the field lines of the Fatou domain means that we colour the spaces between pairs of field lines: we choose a number of regularly situated directions issuing from z*, and in each of these directions we choose two directions around this direction. As it can happen that the two field lines of a pair do not end in the same point of the Julia set, our coloured field lines can ramify (endlessly) in their way towards the Julia set. We can colour on the basis of the distance to the center line of the field line, and we can mix this colouring with the usual colouring. Such pictures can be very decorative (second picture).

A coloured field line (the domain between two field lines) is divided up by the iteration bands, and such a part can be put into a one-to-one correspondence with the unit square: the one coordinate is (calculated from) the distance from one of the bounding field lines, the other is (calculated from) the distance from the inner of the bounding iteration bands (this number is the non-integral part of the real iteration number). Therefore, we can put pictures into the field lines (third picture).

Plotting the Julia set

Binary decomposition of interior in case of internal angle 0

Methods :

Using backwards (inverse) iteration (IIM)

A Julia set plot, generated using random IIM Reversed Julia set C = ( 0.4 0.3 ).gif
A Julia set plot, generated using random IIM
A Julia set plot, generated using MIIM Miimcr.png
A Julia set plot, generated using MIIM

As mentioned above, the Julia set can be found as the set of limit points of the set of pre-images of (essentially) any given point. So we can try to plot the Julia set of a given function as follows. Start with any point z we know to be in the Julia set, such as a repelling periodic point, and compute all pre-images of z under some high iterate of f.

Unfortunately, as the number of iterated pre-images grows exponentially, this is not feasible computationally. However, we can adjust this method, in a similar way as the "random game" method for iterated function systems. That is, in each step, we choose at random one of the inverse images of f.

For example, for the quadratic polynomial fc, the backwards iteration is described by

At each step, one of the two square roots is selected at random.

Note that certain parts of the Julia set are quite difficult to access with the reverse Julia algorithm. For this reason, one must modify IIM/J ( it is called MIIM/J) or use other methods to produce better images.

Using DEM/J

As a Julia set is infinitely thin we cannot draw it effectively by backwards iteration from the pixels. It will appear fragmented because of the impracticality of examining infinitely many startpoints. Since the iteration count changes vigorously near the Julia set, a partial solution is to imply the outline of the set from the nearest color contours, but the set will tend to look muddy.

A better way to draw the Julia set in black and white is to estimate the distance of pixels (DEM) from the set and to color every pixel whose center is close to the set. The formula for the distance estimation is derived from the formula for the potential function φ(z). When the equipotential lines for φ(z) lie close, the number is large, and conversely, therefore the equipotential lines for the function should lie approximately regularly. It has been proven that the value found by this formula (up to a constant factor) converges towards the true distance for z converging towards the Julia set. [8]

We assume that f(z) is rational, that is, where p(z) and q(z) are complex polynomials of degrees m and n, respectively, and we have to find the derivative of the above expressions for φ(z). And as it is only that varies, we must calculate the derivative of with respect to z. But as (the k-fold composition), is the product of the numbers , and this sequence can be calculated recursively by , starting with (before the calculation of the next iteration ).

For iteration towards ∞ (more precisely when m  n + 2, so that ∞ is a super-attracting fixed point), we have

(d = m  n) and consequently:

For iteration towards a finite attracting cycle (that is not super-attracting) containing the point z* and having order r, we have

and consequently:

For a super-attracting cycle, the formula is:

We calculate this number when the iteration stops. Note that the distance estimation is independent of the attraction of the cycle. This means that it has meaning for transcendental functions of "degree infinity" (e.g. sin(z) and tan(z)).

Besides drawing of the boundary, the distance function can be introduced as a 3rd dimension to create a solid fractal landscape.

See also


  1. Regarding notation: For other branches of mathematics the notation can also represent the Jacobian matrix of a real valued mapping f between smooth manifolds.

Related Research Articles

Complex number Element of a number system in which –1 has a square root

In mathematics, a complex number is a number that can be expressed in the form a + bi, where a and b are real numbers, and i is a symbol called the imaginary unit, and satisfying the equation i2 = −1. Because no real number satisfies this equation, i was called an imaginary number by René Descartes. For the complex number a + bi, a is called the real part and b is called the imaginary part. The set of complex numbers is denoted by either of the symbols or C. Despite the historical nomenclature "imaginary", complex numbers are regarded in the mathematical sciences as just as "real" as the real numbers and are fundamental in many aspects of the scientific description of the natural world.

Mandelbrot set Fractal named after mathematician Benoit Mandelbrot

The Mandelbrot set is the set of complex numbers for which the function does not diverge when iterated from , i.e., for which the sequence , , etc., remains bounded in absolute value. Its definition is credited to Adrien Douady who named it in tribute to the mathematician Benoit Mandelbrot, a pioneer of fractal geometry.

Dirac delta function Pseudo-function δ such that an integral of δ(x-c)f(x) always takes the value of f(c)

In mathematics, the Dirac delta function, also known as the unit impulse symbol, is a generalized function or distribution over the real numbers, whose value is zero everywhere except at zero, and whose integral over the entire real line is equal to one. It can also be interpreted as a linear functional that maps every function to its value at zero, or as the weak limit of a sequence of bump functions, which are zero over most of the real line, with a tall spike at the origin. Bump functions are thus sometimes called "approximate" or "nascent" delta functions.

In probability theory, the central limit theorem (CLT) establishes that, in many situations, when independent random variables are summed up, their properly normalized sum tends toward a normal distribution even if the original variables themselves are not normally distributed. The theorem is a key concept in probability theory because it implies that probabilistic and statistical methods that work for normal distributions can be applicable to many problems involving other types of distributions. This theorem has seen many changes during the formal development of probability theory. Previous versions of the theorem date back to 1811, but in its modern general form, this fundamental result in probability theory was precisely stated as late as 1920, thereby serving as a bridge between classical and modern probability theory.

Eulers totient function Gives the number of integers relatively prime to its input

In number theory, Euler's totient function counts the positive integers up to a given integer n that are relatively prime to n. It is written using the Greek letter phi as or , and may also be called Euler's phi function. In other words, it is the number of integers k in the range 1 ≤ kn for which the greatest common divisor gcd(n, k) is equal to 1. The integers k of this form are sometimes referred to as totatives of n.

Jensens inequality Theorem of convex functions

In mathematics, Jensen's inequality, named after the Danish mathematician Johan Jensen, relates the value of a convex function of an integral to the integral of the convex function. It was proved by Jensen in 1906. Given its generality, the inequality appears in many forms depending on the context, some of which are presented below. In its simplest form the inequality states that the convex transformation of a mean is less than or equal to the mean applied after convex transformation; it is a simple corollary that the opposite is true of concave transformations.

Greens function Impulse response of an inhomogeneous linear differential operator

In mathematics, a Green's function is the impulse response of an inhomogeneous linear differential operator defined on a domain with specified initial conditions or boundary conditions.

Stable distribution Distribution of variables which satisfies a stability property under linear combinations

In probability theory, a distribution is said to be stable if a linear combination of two independent random variables with this distribution has the same distribution, up to location and scale parameters. A random variable is said to be stable if its distribution is stable. The stable distribution family is also sometimes referred to as the Lévy alpha-stable distribution, after Paul Lévy, the first mathematician to have studied it.

In mathematics, the resultant of two polynomials is a polynomial expression of their coefficients, which is equal to zero if and only if the polynomials have a common root, or, equivalently, a common factor. In some older texts, the resultant is also called the eliminant.

Multiple integral Generalization of definite integrals to functions of multiple variables

In mathematics, a multiple integral is a definite integral of a function of several real variables, for instance, f(x, y) or f(x, y, z). Integrals of a function of two variables over a region in are called double integrals, and integrals of a function of three variables over a region in are called triple integrals. For multiple integrals of a single-variable function, see the Cauchy formula for repeated integration.

Characteristic function (probability theory)

In probability theory and statistics, the characteristic function of any real-valued random variable completely defines its probability distribution. If a random variable admits a probability density function, then the characteristic function is the Fourier transform of the probability density function. Thus it provides an alternative route to analytical results compared with working directly with probability density functions or cumulative distribution functions. There are particularly simple results for the characteristic functions of distributions defined by the weighted sums of random variables.

Newton fractal Boundary set in the complex plane

The Newton fractal is a boundary set in the complex plane which is characterized by Newton's method applied to a fixed polynomial or transcendental function. It is the Julia set of the meromorphic function which is given by Newton's method. When there are no attractive cycles, it divides the complex plane into regions , each of which is associated with a root of the polynomial, . In this way the Newton fractal is similar to the Mandelbrot set, and like other fractals it exhibits an intricate appearance arising from a simple description. It is relevant to numerical analysis because it shows that the Newton method can be very sensitive to its choice of start point.

Burning Ship fractal

The Burning Ship fractal, first described and created by Michael Michelitsch and Otto E. Rössler in 1992, is generated by iterating the function:

An external ray is a curve that runs from infinity toward a Julia or Mandelbrot set. Although this curve is only rarely a half-line (ray) it is called a ray because it is an image of a ray.

In mathematics, especially in the study of dynamical systems, a limit set is the state a dynamical system reaches after an infinite amount of time has passed, by either going forward or backwards in time. Limit sets are important because they can be used to understand the long term behavior of a dynamical system.

Tricorn (mathematics)

In mathematics, the tricorn, sometimes called the Mandelbar set, is a fractal defined in a similar way to the Mandelbrot set, but using the mapping instead of used for the Mandelbrot set. It was introduced by W. D. Crowe, R. Hasson, P. J. Rippon, and P. E. D. Strain-Clark. John Milnor found tricorn-like sets as a prototypical configuration in the parameter space of real cubic polynomials, and in various other families of rational maps.

A ratio distribution is a probability distribution constructed as the distribution of the ratio of random variables having two other known distributions. Given two random variables X and Y, the distribution of the random variable Z that is formed as the ratio Z = X/Y is a ratio distribution.

A complex quadratic polynomial is a quadratic polynomial whose coefficients and variable are complex numbers.

In mathematics, infinite compositions of analytic functions (ICAF) offer alternative formulations of analytic continued fractions, series, products and other infinite expansions, and the theory evolving from such compositions may shed light on the convergence/divergence of these expansions. Some functions can actually be expanded directly as infinite compositions. In addition, it is possible to use ICAF to evaluate solutions of fixed point equations involving infinite expansions. Complex dynamics offers another venue for iteration of systems of functions rather than a single function. For infinite compositions of a single function see Iterated function. For compositions of a finite number of functions, useful in fractal theory, see Iterated function system.

Regularized least squares (RLS) is a family of methods for solving the least-squares problem while using regularization to further constrain the resulting solution.


  1. Gaston Julia (1918) "Mémoire sur l'iteration des fonctions rationnelles", Journal de Mathématiques Pures et Appliquées, vol. 8, pages 47–245.
  2. Pierre Fatou (1917) "Sur les substitutions rationnelles", Comptes Rendus de l'Académie des Sciences de Paris, vol. 164, pages 806–808 and vol. 165, pages 992–995.
  3. Beardon, Iteration of Rational Functions, Theorem 5.6.2.
  4. Beardon, Iteration of Rational Functions, Theorem 7.1.1.
  5. Beardon, Iteration of Rational Functions, Theorem 3.2.4.
  6. Tan Lei, "Similarity between the Mandelbrot set and Julia Sets", Communications in Mathematical Physics 134 (1990), pp. 587617.
  7. Douady, Adrien; Hubbard, John H. (1984). "Etude dynamique des polynômes complexes". Prépublications mathémathiques d'Orsay. 2; "[op.cit.]". 4. 1985.Cite journal requires |journal= (help)
  8. 1 2 Peitgen, Heinz-Otto; Richter Peter (1986). The Beauty of Fractals . Heidelberg: Springer-Verlag. ISBN   0-387-15851-0.