Skip to main content
Mathematics LibreTexts

5.6: The Julia Set

  • Page ID
    76228
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    In the previous section we showed how the Mandelbrot set can be generated using the expression

    \(z_{n+1}=z_{n}^2+z_0.\)

    This is a particular case of the quadratic recurrence equation

    \(\begin{eqnarray}\label{julia}
    z_{n+1}=z_{n}^2+c
    \end{eqnarray}\)

    with \(c\) a fixed complex number. The set we obtain with this equation is known as the Julia set. In fact, there is a different Julia set for almost every \(c\).

    Similarly as we did for the Mandelbrot set, we obtain a sequence of complex numbers \(z_n\) with \(n=0,1,2,\ldots\). Again, the points \(z_n\) are said to form the orbit of \(z_0\), and the Julia set is defined as follows:

    If the orbit \(z_n\) fails to escape to infinity, the initial \(z_0\) is said to belong to the filled-in Julia Set.

    The Julia set is named after the French mathematician Gaston Julia who investigated their properties in 1915 and culminated in his famous paper in 1918: Mémoire sur l’itération des fonctions rationnelles. While the Julia set is now associated with the quadratic polynomial in (1), Julia was interested in the iterative properties of a more general expression, namely

    \(z^4 + \frac{z^3}{z-1} + \frac{z^2}{z^3 + 4 z^2 + 5} + c.\)

    The Julia sets, defined by the equation (1), can take all kinds of shapes, and a small change in \(c\) can change the Julia set very greatly. In 1979, with the help of computer, B. B. Mandelbrot studied the Julia sets and tried to classify all the possible shapes and came up with a new shape: the Mandelbrot Set.

    Explore the Julia sets in the applet below. Zoom in or out in different regions. Change the number of iterations and observe what happens to the plot. Move the mouse around and observe the different Julia sets depending of the value of \(c\).

    +: Zoom In    -: Zoom Out    R=Reset view    I=Information & Frame


    The Mandelbrot and Julia Sets Connection

    Due to the definition of the Mandelbrot set, there is a close correspondence between the geometry of the Mandelbrot set at a given point and the structure of the corresponding Julia set. In other words, the Mandelbrot set forms a kind of index into the Julia set. A Julia set is either connected or disconnected, values of \(c\) chosen from within the Mandelbrot set are connected while those from the outside of the Mandelbrot set are disconnected. The disconnected sets are often called dust, they consist of individual points no matter what resolution they are viewed at.

    Explore the relationship between the Mandelbrot and Julia sets in the following applet. Move the mouse over to the Mandelbrot set to observe different Julia sets. Zoom in or out in different regions. Open the Controls menu to change the number of iterations or choose an specific value of \(c\).

    +: Zoom In    -: Zoom Out    R=Reset view    I=Information & Frame

        Open in a separate tab


    Further reading

    The applets were made with p5.js and the source code can be found:

    If you want to learn how to program it yourself, I recommend you this tutorial:

    • Coding Challenge: Julia set

    Finally, I recommend you two of the most widely read basic introductions to the Mandelbrot and Julia sets:

    They both cover other fascinating fractals and contain many spectacular pictures.


    This page titled 5.6: The Julia Set is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Juan Carlos Ponce Campuzano.

    • Was this article helpful?