Stories about Fractal Plotting
Contents Preparations: Canvases, Dynamical Systems and Iterations
The Divergence Scheme
The Mandelbrot Set
The Convergence Scheme
Mandelbrot Fractals
Julia Fractals and Julia Sets
Newton Fractals
Supplement
Fractal Coloring
Galleries
Gallery 2D
Gallery 3D
Speaking loosely without using technical terms such as the HausdorffBesicovitch dimension, a fractal is an object that is selfsimilar, i.e., a large part of it contains smaller parts that resemble the large part in some way; see Figures 0.10.6 below. Mathematician Benoit Mandelbrot coined the term “fractal” in 1975 and created a branch of mathematics called fractal geometry seven years later. As an "IBM Fellow," he had access to some of the best computers available for his research at the time.
Our world has fractals everywhere exemplified by trees, mountains, blood vessels, mycelium strands, stock market graphs, weather patterns, seismic rhythms, ECG signals and brain waves. In its article entitled "How Mandelbrot's fractals changed the world," the BBC states that fractal geometry has practical applications in diverse areas including diagnosing some diseases, computer file compression systems and the architecture of the networks that make up the Internet.
Figure 0.1. The Mandelbrot Set
 Figure 0.2. Julia Set
 Figure 0.3. Newton Fractal

The idea of fractal was not particularly new in mathematics for Mandelbrot's time or the computer age, as Georg Cantor introduced the prototypical "Cantor Set" in 1883 almost 100 years before Mandelbrot published his book entitled "The Fractal Geometry of Nature." During the early 20th century, Pierre Fatou and Gaston Julia laid the foundations for fractals generated by "dynamical systems." It was in 1980 when Mandelbrot showed the famous fractal called the "Mandelbrot set" generated by a simple dynamical system and a computer. Almost immediately after that, the novelty and complexity of the Mandelbrot set reinvigorated the interests in fractals and stimulated mathematicians to develop further theories in fractal geometry.
 Figure 0.4. Classical Fractals by Geometric Constructions


Koch Snowflake, 1904
 Sierpinski Rectangle, 1916
 Pythagorean Tree, 1942

On the other hand, chaos often associated with fractals, was basically born as a brand new subject in 1974 from biologist Robert May's computer simulations of population dynamics through the dynamical system called the logistic equation. Like "fractal," the word "chaos" was used as a mathematical term for the first time in 1975 when the American Mathematical Monthly published "Period Three Implies Chaos" by T.Y. Li and James Yorke. The paper received a great sensation especially because there appeared very little difference between chaotic and random outcomes even though the former resulted from deterministic processes. It soon became known that fractals and chaos are closely related and together they provide applications in sciences as well as in art.
Figure 0.5. Fractal near the Area Where Chaos Was Discovered
NOVA broadcast on PBS in 2008: Largely because of its haunting beauty, the Mandelbrot set has become the most famous object in modern mathematics. It is also the breeding ground for the world's most famous fractals. Since 1980, the set has provided an inspiration for artists, a source of wonder for schoolchildren, and a fertile testing ground for the science of linear dynamics.
Figure 0.6. Fractal from the Boundary of the Mandelbrot Set
Through Google, we find numerous websites that display stunningly beautiful computergenerated fractal art images. It indicates that a large population not only appreciates the digital art form but also participates in the eyeopening creative activity. Written below is a guide on how to program a computer and plot popular types of fractals generated by simple dynamical systems. It is not a text on computer programming or coding. Instead it tells the general principles needed for fractal plotting without going into too many specifics. It assumes the readers' basic programming experience and encourages them to be creative and engage in frequent computer experiments based on the essentials.
Particularly exciting is the moment the fractal image generated by our personal program emerges in our computer screen because of its rather unpredictable nature. The reader who may be merely intrigued by the general idea behind fractal plotting is encouraged to try it. Many of the images will stir our imaginations in the part of mathematics that is in fact quite deep and still filled with unknowns. Best of all, though, it is plain fun.
§ 1. Preparations
The readers who want to try it out need to know (a) fundamental algebra and geometry of complex numbers, (b) beginning calculus, and (c) basic computer programming in such languages as C++, Delphi (Pascal) and Java.
(a) includes the practice of writing a complex number z as a point (x, y) in the xyplane as well as the standard algebraic expression z = x + yi and ability to do basic arithmetic of complex numbers such as multiplication, division and exponentiation. The complex plane means the set of all complex numbers z = (x, y) which coincides with the Cartesian xyplane. For each complex number z = (x, y), the absolute value of z means z = √(x^{2} + y^{2}) and it represents the distance of z from the origin O of the complex plane. More generally, if z and w are complex numbers, z  w represents the distance between the complex numbers.
(b) includes the basic ideas about the
derivative and a critical point of a function where the derivative vanishes. Particularly important in (c) is a twodimensional (2D) array of real numbers (usually nonnegative integers), which will be used every time a fractal is generated.
We now introduce several preliminary ideas needed for fractal plotting.
Dynamical Systems and Iterations: When we solve a mathematical problem using a computer, we usually do it by exploiting what the machine does best, namely an iteration, which means repeating a certain process over and over, often for thousands or even millions of times, at a blinding speed. As an example of iterations, consider the equation called the Mandelbrot equation
(1.1)
z_{n+1} = z_{n}^{2} + p ,
where z_{n+1}, z_{n} and p are complex numbers and p is called a parameter. The iteration index n is especially important for fractal plotting and it is there for us to iterate the equation to generate a sequence of complex numbers once the value of p and initial value z_{0} are given. For instance, let p = 2 and z_{0} = 0. Then setting the index n = 0, 1, 2, · · · in (1.1), our properly programmed computer iterates (1.1) and calculates the sequence of numbers
z_{1} = z_{0}^{2} + p = 0^{2}  2 = 2 ,
z_{2} = z_{1}^{2} + p = (2)^{2}  2 = 2 ,
z_{3} = z_{2}^{2} + p = 2^{2}  2 = 2 ,
and similarly, z_{n} = 2 for n = 4, 5, 6, · · · . If we hold the value of z_{0} at z_{0} = 0 and change the value of p from p = 2 to p = 1.9 in (1.1) then the computer again iterates (1.1) and calculates thousands of terms within a fraction of a second to give us the sequence of numbers
z_{0} = 0, z_{1} = 1.9, z_{2} = 1.71, z_{3} = 1.0241, · · · , z_{30} = 1.1626, z_{31} = 0.5483, · · · .
Similarly, if we leave the value of p fixed at p = 2 and change the value of z_{0} from z_{0} = 0 to z_{0} = 0.1, we get
z_{0} = 0.1, z_{1} = 1.99, z_{2} = 1.9601, z_{3} = 1.842, · · · , z_{30} = 0.7157, z_{31} = 1.4877, · · · .
Note that the behavior of the sequence may change drastically if we alter the value of p or z_{0} slightly. We exploit such changes to draw an intricate fractal with a variety of colors.
We have shown only real sequences for simplicity, but actual numbers involved in fractal plotting are complex numbers in the complex plane. Thus, the Mandelbrot equation (1.1) comprises infinitely many sequences of complex numbers, one sequence z_{n} for each choice of values of p and z_{0}. Because most of the infinitely many sequences dance around in the complex plane as the iteration index n increases, it is appropriate to call the Mandelbrot equation a dynamic mathematical system or dynamical system. As we shall see in § 5, there are infinitely many dynamical systems including (1.1) and the logistic equation (5.3), each of which generates infinitely many fractals.
Figure 1.1. Fractal Generated by the Logistic Equation
Canvases: We begin with a simple example.
Let R be the rectangle in the complex plane defined by 2 ≤ x ≤ 2 and 1.28 ≤ y ≤ 1.28 and suppose we wish to plot the graph of the inequality x^{2} + y^{2} ≤ 1 on R using a computer. We first decompose R into, say, 50 × 32 miniature rectangles of equal size called picture elements or pixels and then represent the pixels by pixel coordinates (i, j) in such a way that the upper left and lower right pixels are (0, 0) and (49, 31), respectively. Thus, the i and jaxes of the pixel coordinate system are the rays emanating from the upper left corner of R and pointing east and south, respectively; see the diagram in Figure 1.2 on the left.
Let imax = 50, jmax = 32, xmin = 2, xmax = 2, ymin = 1.28 and ymax = 1.28. Then for each i = 0, 1, 2, · · ·, imax1 and j = 0, 1, 2, · · ·, jmax1, the pixel (i, j), which is a rectangle, contains infinitely many complex numbers (x, y). For our computational purpose, we choose exactly one representative complex number (x, y) in the pixel (i, j) by setting
(1.2) Δx = (xmax  xmin) / imax; Δy = (ymax  ymin) / jmax,
(1.3) x = xmin + i Δx; y = ymax  j Δy.
Consequently, we may view R as the rectangle comprising imax x jmax = 50 x 32 pixels, each of which has a unique representative complex number. The rectangle R with the pixel structure is called a canvas for plotting the output image with the image resolution of 50 × 32 pixels.
Plotting the graph of the inequality x^{2} + y^{2} ≤ 1 on the canvas is now easy. For each pixel (i, j), we examime its representative complex number (x, y) on the canvas R. If it satisfies the inequality, color the pixel red, and otherwise, color it white. Since the coloring process uses only finitely many pixels of the canvas R, the output image that resembles the Japanese flag is an approximation of the true graph. The greater the number of pixels, the higher the image resolution and the more accurate the output image.
Figure 1.2 shows two approximations of a fractal called "Goldfish in Love." The one on the left is painted on a canvas with 50 × 32 pixels and the other on a canvas with 500 × 320 pixels.
Figure 1.2. Fractal with Different Image Resolutions
Technically, we can define a canvas using any positive integers imax and jmax and any real numbers xmin, xmax, ymin and ymax with xmin < xmax and ymin < ymax, but we normally impose the ratio equality
(1.4) (ymax  ymin)/(xmax  xmin) = jmax/imax
on the input values xmin, xmax, ymin and ymax. Then (1.4) implies that Δx = Δy in (1.2) so each pixel is a square as shown in Figure 1.2 and the red circle in the aforementioned output would not look oval.
pCanvases, zCanvases, Orbits, and a Preview of § 2  § 7: As we have seen with the Mandelbrot equation (1.1), a dynamical system comprises infinitely many sequences of complex numbers, one for each choice of values of z_{0} and p. For example, if we fix the value of z_{0} at, say, z_{0} = 0, then each value of the parameter p gives rise to a sequence z_{n} of complex numbers, which we call the orbit of p (with the fixed value of z_{0}). "Sequence" and "orbit" generally have a subtle difference in mathematics but we won't distinguish them here for simplicity.
We have also seen that a canvas is a rectangle in the pixel coordinate system comprising imax × jmax pixels for some positive integers imax and jmax and that each pixel on the canvas is identified with a unique representative complex number belonging to the pixel. Interpreting the complex numbers representing the pixels as values of p, we call the canvas a pcanvas for the dynamical system (with the fixed value of z_{0}).
Each pixel, er parameter p, on the pcanvas corresponds to a unique orbit of p that usually dances around in the complex plane, and as we shall see in § 2  § 5, we plot a fractal called a "Mandelbrot fractal" on the pcanvas by examining behaviors of the orbits. Figure 1.3 shows a couple of examples.
Figure 1.3. Mandelbrot Fractals Painted on pCanvases
"Mini Mandelbrot Sets"

 "Jellyfish Couple"

Now, suppose p is a fixed constant in the dynamical system while z_{0} is a variable. Then by the symmetric argument, we can talk about a zcanvas comprising pixels whose representative complex numbers are interpreted as values of z_{0}. Each pixel, er complex number z_{0}, on the zcanvas gives rise to a unique sequence z_{n} (with the fixed value of p) called the orbit of z_{0}, and as we shall see in § 6, we plot a fractal called a "Julia fractal" on the zcanvas by picking on certain behaviors of these orbits.
Figure 1.4. Julia Fractal Painted on a zCanvas

 "Running Corolla" (pun intended)

There is a special subset of the Julia fractals, consisting of fractals generated by socalled "Newton's rootfinding algorithm." The fractals in the subset are called "Newton fractals," which we will discuss in § 7.
Figure 1.5. Newton Fractal Painted on a zCanvas and a Sphere
The fractal plotting guide shown in this article is intended for people who have taken elementary calculus, but people with a background in multivariable calculus can extend it and make their own projects. One of the possibilities is to map a fractal from the plane to various surfaces such as a sphere and a torus as shown in the image on the right. We will throw in additional 3D examples here and there in the upcoming sections.


Back to the
Top


§ 2. The Divergence Scheme
We say that a sequence z_{n} of complex numbers diverges to ∞ if the real sequence z_{n} diverges to ∞, i.e., if z_{n} gets further away from the origin of the complex plane without bound as n gets larger. Our goal of § 2 is to introduce a fractal plotting technique associated with the notion of divergence of orbits of p using the Mandelbrot equation (1.1) as an example.
Define a function f_{p} of a complex variable z involving a complex parameter p by setting f_{p}(z) = z^{2} + p and write the Mandelbrot equation as
(2.1) z_{n+1 }= f_{p}(z_{n}) = z_{n}^{2} + p.
Assume p is a constant so the derivative of the function f_{p} is f_{p}'(z) = 2 z and the critical point of f_{p} is z = 0. Throughout § 2  § 4, we set
(2.2) z_{0} = 0,
which is the critical point, so all orbits of p given by (2.1) are critical orbits, the orbits having the critical point as their initial values z_{0}.
Because of the squaring in (2.1), a whole lot of the (critical) orbits of p appear to diverge to ∞, so we are interested in the region in the complex plane comprising the parameters whose orbits do not diverge to ∞. One of the advantages in using the critical orbits (more of which will be seen in § 6) is that it allows us to prove the following theorem that turned out to be extremely useful.
The Divergence Criterion:
z_{m} > 2 for some m if and only if the orbit z_{n} of p diverges to ∞.
There are a couple of immediate corollaries to the theorem: First, the divergence criterion remains true if we replace 2 by any real number θ ≥ 2. Second, if p > 2, then z_{1} = p > 2 by (2.1), and consequently, the orbit z_{n} of p diverges to ∞; hence the region in the complex plane comprising the parameters whose orbits do not diverge to ∞ lies in the circle of radius 2 about the origin.
Suppose R is the square canvas bounded by xmin = 2, xmax = 2, ymin = 2 and ymax = 2 containing the circle of radius 2 and comprising 2,000 × 2,000 = 4,000,000 pixels. Regard R as a pcanvas so each pixel (i. j) in the canvas is identified with a unique representative parameter p belonging to it.
Let M = 1000 and θ = 2 and for every pixel (i. j), er parameter p, in the pcanvas R, iterate (2.1) at most M times and compute the nonnegative integer
(2.3) d(i, j) = the least (or first) iteration index m < M such that z_{m} > θ,
if such m exists, and d(i, j) = M, otherwise. Here, M is the maximum number of iterations which is intended for thwarting the computer to get trapped in an infinite loop. Also, in actual computation, we use z_{m}^{2} > θ^{2} instead of z_{m} > θ to avoid the "hidden" square root operation so as to shorten the computing time. Thus, each d(i, j) represents, unless d(i, j) = M, the smallest number of iterations m or "time" it takes for the orbit z_{n} of z_{0} to escape from the circle of radius θ before taking a long journey toward ∞.
The formula (2.3) generates an array d(i, j) of the least iteration indices, or an iteration array for short, over the canvas R, which can be converted to a visual image on the canvas. For example, if we paint the whole canvas white initially and then color the pixels (i, j) red if d(i, j) < M and is even, and color it black if d(i, j) < M and is odd, we get Figure 0.1. The image in Figure 2.1 on the left shows a cropped and resized version of the figure. The image on the right is similarly generated except that it uses θ = 10 instead of θ = 2 in (2.3).
Figure 2.1. The Mandelbrot Set
z_{m} > θ, θ = 2

 z_{m} > θ, θ = 10

The Mandelbrot Set: By definition, the famous Mandelbrot set is the set of all complex parameters p in the complex plane whose critical orbits do not diverge to ∞, or equivalently, the set of all parameters p whose critical orbits stay within the circle of radius 2 forever. The "snowman" of Figure 2.1 on the left, which is left untouched by the above redblack painting scheme and retains the initial white canvas color, depicts an approximation of the Mandelbrot set on the pcanvas given by replacing "forever" by "up until M = 1000 ".
Basic Topological Properties: The remark following the divergence criterion shows that the Mandelbrot set is bounded (by a circle of radius 2) in the complex plane. It can be shown also that it is closed, which means that the Mandelbrot set contains its boundary as its subset (like a "closed" interval on the real line). In topology, we say that the Mandelbrot set is compact to mean that it is closed and bounded.
The Divergence Scheme: We call the aforementioned process of computing an iteration array d(i, j) over a canvas R comprising pixels (i, j) the divergence scheme for fractal plotting. In § 4, we'll see iteration arrays generated by what we call the "convergence scheme" that deals with the orbits that "converge" to various "cycles." These iteration arrays can be converted to colorful fractals by our fractal coloring techniques.
Zooming in on Local Images: Figure 2.1 shows that the redblack pattern in either image keeps getting more complex without bound as we keep zooming in on an area nearer the boundary of the Mandelbrot set and provides us with a valuable clue as to how to find attractive fractal images. We often call an image such as the ones shown above a global image of the Mandelbrot set so as to contrast it with a local image captured by zooming in on a small neighborhood around the Mandelbrot set.
Example 1: The image shown below on the left is a local image of the Mandelbrot set given by zooming in on a small rectangular neighborhood of the point (0.6884971875, 0.27988465625), which is just outside of the Mandelbrot set but very near its boundary. It is given by the divergence scheme followed by a fairly simple coloring scheme.
People who are familiar with multivariable calculus may extend the project of plotting a fractal on a plane to another surface such as a sphere.
Figure 2.2. A Local Image of the Mandelbrot Set Generated by the Divergence Scheme
The Mandelbrot set has an amazing property that allows us to zoom in further on a part of a fractal image to find another image. During the zooming process, we can easily find the pixel coordinates (i, j) of the point we are interested in and convert it to the Cartesian coordinates (x, y) using the conversion formulas and a computer. So, a point that looks like (0.6884971875, 0.27988465625) should not intimidate the readers.
Example 2: The image shown below is a cropped and resized image from a figure on a large pcanvas with 6,400 × 3,200 pixels centered at the complex number (0.2820607, 0.011014375) with the horizontal radius 0.0000011. The part of the Mandelbrot set shown in the image is painted black and the exterior of the Mandelbrot set in multiple colors using the techniques described in Fractal Coloring. Note that the figure shows several replicas of the "snowman," which we call mini Mandelbrot sets, painted black that look like small isolated islands.
We used the large canvas and M = 100,000 as the maximum number of iterations to generate the image so as to get a possibility for zooming in further and capturing an additional image like Figure 0.6. A large canvas also provides an option for making a high resolution printout of the image.
Figure 2.3. Another Local Image of the Mandelbrot Set
Threshold Values: We call θ ≥ 2 that appears in (2.3) a threshold value for the orbit to begin its journey toward ∞. Figure 2.1 shows that when θ is greater, the redblack pattern is more detailed and it is likely to produce better "local" images as well as a better approximation for the Mandelbrot set. On the other hand, it is intuitively clear that the computing time is longer when θ is greater, and it explains why Mandelbrot used the smallest threshold value available, namely θ = 2, when the computers were incomparably slower than today's counterparts.
There is another merit in using a larger threshold value. When we use a different dynamical system or a noncritical point for the initial value to explore wider fractal plotting possibilities, we often don't know what threshold value to use in the divergence scheme and a large threshold value is likely to provide a solution for it. But be careful: increasing the size of a threshold value quickly reaches a point of diminishing returns like increasing the maximum number of iterations for the accuracy of the approximation.
.
§ 3. The Mandelbrot Set
The Mandelbrot set became supremely famous in mathematics and related areas as NOVA expressed in awe on PBS in 2008, and numerous articles about it appeared in major journals and newspapers since Mandelbrot introduced its computer plot in 1980. We shall see some of the reasons for it in § 3 through § 6—including the astoundling fact that it is one of the most complex figures ever plotted on a plane while it is generated by such simple formula as (2.1).
Recall that the Mandelbrot set is closed so it contains its boundary as its subset. Although it may not sound obvious unless we know something about fractal dimensions, the following celebrated theorem guarantees that no figures on the plane are more complex than the Mandelbrot set.
Shishikura's Theorem: The fractal dimension of the boundary of the Mandelbrot set is 2, which is the dimension of the plane.
Let's pause and look at the fractal in Figure 2.3, for example, which is supposed to be a part of the Mandelbrot set. The intricate image surely looks impressive, but exactly where is the boundary of the Mandelbrot set and what does it have to do with the colorful patterns?
It turned out that the boundary of the Mandelbrot set is all over the image as we can see in Figure 3.1 given by lighting up its razorthin filaments:
Figure 3.1. The Boundary of the Mandelbrot Set in Figure 2.3
The boundary of the Mandelbrot set in the rectangular area appears to be vividly selfsimilar and composed of replicas of a large part of the image. Through the selfsimilarity, we can see it contains infinitely many mini Mandelbrot sets painted black, although most of them are too small to be visible. The luminous filaments of the boundary of the Mandelbrot set get so dense around them, it fills many areas of the plane like a spacefilling curve. The observation provides us with an intuitive idea as to why the "fractal dimension" of the boundary of the Mandelbrot set is equal to the topological dimension of the plane and why it is equated with the complexity of the Mandelbrot set.
The selfsimilarity in Figure 3.1 seems to show that the Mandelbrot set with its complex boundary is connected as one piece, and it turns the complement (outside) of the Mandelbrot set into an extremely convoluted maze. If we are shrunk to a pixel size and trapped in the maze painted in darker colors (not including black), can we get out of the maze? The following amazing theorem answers these questions definitively. Here, a set is "simply connected" if it has no loop to trap anybody in it.
The DouadyHubbard Theorem: The Mandelbrot set is connected and simply connected.
According to "Mandelbrot Set" by Wikipedia, Mandelbrot initially conjectured (but later revised) that the Mandelbrot set was disconnected as he could not detect the thin filaments connecting different parts of the set in his computergenerated images. It shows the delicate nature of the boundary of the Mandelbrot set as well as the delicate balance between mathematics and computer applications in its research.
The Wikipedia article also says: The mathematical study of the Mandelbrot set really began with work by the mathematicians Adrien Douady and John H. Hubbard, who established many of its fundamental properties and named the set in honor of Mandelbrot for his influential work in fractal geometry.
There is an interesting read entitled "Who Discovered the Mandelbrot Set?" published in 2009 by Scientific American. It writes: Douady now says, however, that he and other mathematicians began to think that Mandelbrot took too much credit for work done by others on the set and in related areas of chaos. "He loves to quote himself," Douady says, "and he is very reluctant to quote others who aren't dead."
Daytime and Nighttime Fractals: Shown below on the left is another fractal generated by the Mandelbrot equation and the divergence scheme, where the Mandelbrot set is colored black and invisible. When its boundary's thin filaments are turned on, we get the "nighttime" image on the right, vividly showing the presence of the Mandelbrot set in the "daytime" image on the left.
Figure 3.2. Daytime and Nighttime Fractals
Figure 3.2 again shows that fractals given by the Mandelbrot equation we normally see are daytime images like the image on the left and painted on the complement of the Mandelbrot set. The nighttime images are not as colorful but they make it easier for us to visualize the fundamental properties of the Mandelbrot set.
Plotting the complex boundary of the Mandelbrot set with reasonable accuracy may demand weeks of computing time even with a fast modern computer. Figure 3.3 shown below is a resized image from a fractal on the pcanvas with 4,000 × 4,000 pixels centered at the point
p = (0.25000316374967, 0.00000000895902)
with a microscopically small radius ≈ 0.0000000000001 = 10^{13}. We note that p is very near the cusp (0.25, 0) of the cardioid in Figure 2.1.
Figure 3.3. A Mini Mandelbrot Set under the Microscope
M = 1,500,000

 M = 500,000

For the above image on the left, we used whopping 1,500,000 iterations of the Mandelbrot equation for each black pixel because of ∞ involved in the definition of the Mandelbrot set. If we use M = 500,000 (still a large number) instead, the outline of the mini Mandelbrot set becomes blurry as shown in the above picture on the right. Fortunately, computers (especially used ones) are inexpensive nowadays and we can easily afford a second or third computer to do tedious jobs. Programming carefully so as to minimize computing time is not as important as it used to be.
Shown below is a nighttime fractal that reveals the boundary of the mini Mandelbrot set of Figure 3.3. The Mandelbrot set certainly appears to be connected in the image but does it look simply connected?
Figure 3.4. The Boundary of the Mini Mandelbrot Set
Errors in Computation: Aside from programming bugs and other human errors, fractal plotting entails two unavoidable errors, each of which contributes to a loss of mathematical precision in the output. One is the truncation error resulting from "truncating" the infinite process after the finite number of steps given by M and the other is the roundoff error caused by our "imperfect" computer that has to round almost every real number involved. For the images in this website, M is usually between 500 and 100,000 but it occasionally gets as large as 1,500,000 as shown in Figure 3.3. Using larger M is better in theory as it reduces the truncation error but is worse in practice as it makes the computing time longer and at the same time causes more roundoff errors to propagate. Balancing the good and the bad to find an optimum number M is a difficult problem in computing. Although it is not an issue if our goal is in art, it is something we should keep in our mind. Computers are great tools for mathematical research but they mislead us from time to time.
§ 4. The Convergence Scheme
We are not done yet with the complexity of the Mandelbrot set and still stay with it. The Mandelbrot set has become so illustrious, everybody with at least some interest in fractals knows its "snowman" shape in Figure 2.1 by heart: The main body is in the form of a heartshaped "cardioid" with a bunch of circular disks attached, and to each of the disks another bunch of disks are attached. The pattern repeats as if the cardioid has children, grandchildren, great grandchildren and so on and so forth, but beyond that nobody knows exactly what's happening. Here, the cardioid means the bounding curve together with its interior.
As we have seen, the divergence scheme paints the interiors of the cardioid and all of the disks in a single color like white as it is incapable of distinguishing them. Our current goal is to find their distinguished mathematical properties and paint them in various colors, like in Figure 4.1 below, by developing a scheme that is different from the divergence scheme.
Figure 4.1. The Mandelbrot Set
A sequence c_{n} of complex numbers is called a cycle if there is a positive integer k satisfying c_{n} = c_{n+k} for any index n. The smallest such integer k is called the period of the cycle, and a cycle with period k is called a kcycle for short. For example, the sequence
1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, · · ·
is a 3cycle but not a 6cycle or a 9cycle. The sequence 0, 0, 0, 0, · · · is a 1cycle, which we identify with the constant 0.
A sequence z_{n} is said to converge to a kcycle c_{n} if it gets closer and closer to c_{n} or behaves more and more like c_{n} as n gets bigger. If a sequence converges to a kcycle, we also say that the sequence is attracted to the kcycle.
Example 1: The sequences 1/2, 1/3, 1/4, 1/5, 1/6, · · · and 1/2, 2/3, 3/4, 4/5, 5/6, · · · converge to the constants 0 and 1, or equivalently, to the 1cycles 0, 0, 0, 0, · · · and 1, 1, 1, 1, · · ·, respectively. Therefore, the sequence
1/2, 1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 4/5, 1/6, 5/6, · · ·, 1/1000, 999/1000, 1/1001, 1000/1001, · · ·
converges to the 2cycle 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, · · ·, 0, 1, 0, 1, · · ·.
Suppose ε is a small real number and z_{n} the (critical) orbit of a parameter p as in § 2. We note that if z_{n} gets arbitrarily close to a kcycle c_{n} as n gets bigger, then because c_{n+k}  c_{n} = 0, we surely have z_{n+k}  z_{n} < ε for large n. Consequently, we have:
Proposition: If the orbit z_{n} converges to a kcycle then z_{n+k}  z_{n} < ε for sufficiently large n.
The Convergence Scheme: The proposition provides us with our convergence scheme with period index k, which is given by replacing z_{m} > θ of the divergence criterion by the inequality z_{m+k}  z_{m} < ε. Thus, it generates the iteration array
(4.1) d(i, j) = the least (or first) iteration index m < M such that z_{m+k}  z_{m} < ε
over the canvas R comprising pixels (i, j), which in turn is converted to a visual image on the canvas by fractal coloring. Here, ε is a small positive real number such as 10^{6} or min{Δx, Δy}; see (1.2). Like the maximum number of iterations M, we use an educated guess based on our experience and computer experiments to find an appropriate ε as there are no set formulas for it.
Figure 4.2 shows the effects of various convergence schemes in painting the interior of the Mandelbrot set. Note that the convergence scheme may mean the convergence scheme with a single period index or the convergence scheme with multiple period indices.
Figure 4.2 The Mandelbrot Set by Various Schemes
The Divergence Scheme

 The Convergence Scheme with k = 1

k = 1, 2, 3, 4

 k = 1, 2, 3, ..., 90

For simplicity, let's call a parameter whose orbit converges to a kcycle a parameter of period k. Then the second image of Figure 4.2 shows that the interior of the cardioid comprises the parameters of period 1, so for further simplicity, let's say that the cardioid has period 1. Similarly, the third image shows that the largest disk of the Mandelbrot set has period 2. The convergence scheme for the last image is carried out by the timeconsuming brute force algorithm shown at the end of this section and identifies the disks of periods k = 2, 3, ..., 90.
The correspondence between the periods and disk colors is not onetoone, however, as there aren't enough colors that are clearly distinguishable. For example, orange is assigned to the disks of periods 2, 5, 10, 14, etc., so the final image would be reasonably good looking.
Here's a bit of technical details. The last three images of Figure 4.2 are resized from the output images on a canvas with 3,000 × 2,500 pixels generated by the convergence schemes with ε = 10^{8}. It is always a better idea to get an extra computer to get output images on a large canvas. It provides us with an option of having closeup images such as the images shown below and opportunities to discover interesting details.
For the convergence scheme with k = 1, 2, ..., 90 used for the last image, it is better to use a variable maximum number of iterations such as
(4.2) M = 20000  150k,
rather than a constant like M = 20000. It is a waste of computer time to allow M = 20000 for the tiny disk of period k = 50, for example.
Figure 4.3. Closeups of the Interior of the Mandelbrot Set
Atoms and Molecules: The interior of the Mandelbrot set is a disjoint union of connected components such as disks and cardioids and the computer experiments suggest that each of the components has a unique period k for some positive integer k. Assuming it is true and following Mandelbrot's proposal in his article, let's call each of the components an atom of period k. For example, the interior of the red cardioid is an atom of period 1 and the interior of the largest disk is an atom of period 2 in the Mandelbrot set.
Mandelbrot also proposed to call the interior of the Mandelbrot set a "molecule made of an infinity of atoms." Taking a cue from him, let's loosely call an atom or anything made of atoms a molecule. For example, the interior of a mini Mandelbrot set visible in Figure 4.3 is a molecule as well as the interior of the entire Mandelbrot set. We will be using the terms "atom" and "molecule" just for convenience and not in rigorous definitions and theorems.
"Atom" especially turned out to be a convenient term as it can be applied to a wide variety of shapes in addition to disks and cardioids, which we'll see in upcoming sections. By the way, in chemistry, an "atom" is also associated with "orbit" and "period."
Periodicity Diagram: If we label the atoms of the Mandelbrot set in the last image of Figure 4.2 by their periods instead of coloring, we get Wikipedia's Periodicity Diagram. The periods in the diagram have interesting numerical patterns that are easy to recognize and will play an important role when we plot colorful "Julia fractals" in § 6. The numerical patterns are yet another amazing property of the Mandelbrot set.
Mini Mandelbrot Sets: The Mandelbrot set contains infinitely many mini Mandelbrot sets and several of them are visible in the last image of Figure 4.3. In his 1980's computer plot of the Mandelbrot set, Mandelbrot thought they were "dirt." They are all molecules and computer experiments show that each of them is made of atoms of the periods that can be written as
(4.3) k = λ × 1, λ × 2, λ × 3, λ × 4, · · · ,
for some positive integer λ. For example, the largest mini Mandelbrot set shown in the last image which is near the green atom of period 3 in the Mandelbrot set has λ = 4. It is shown below in Figure 4.4 with colors matched with those of the Mandelbrot set shown in Figure 4.2. The mini Mandelbrot set is painted by the convergence scheme with period indices k = 4, 8, 12, ..., 100. k = 4 × 1 is the period of the cardioid atom of the mini Mandelbrot set and k = 4 × 2 is the period of the largest circular atom of the mini Mandelbrot set.
In § 6,, we'll see that if an atom has a period, say, 4 × 3, both factors 4 and 3 have interesting geometric implications on the "Julia set" born from the atom.
Figure 4.4. The Interior and Boundary of Mini Mandelbrot Set
Weakness of the Convergence Scheme: The convergence scheme is based on the aforementioned proposition whose converse is unfortunately not necessarily true. For example, the convergence scheme with k = 1 may be fooled by an orbit that diverges to ∞ extremely slowly and treat it like a convergent orbit. Also, the convergence scheme with, say, period index 6 cannot distinguish parameters of periods 1, 2, 3 and 6. For most of the practical problems, however, we can overcome these shortcomings by carefully programming a computer to do the right thing.
The Eyeball Effect: Weaknesses and shortcomings are not all that bad and sometimes they can give us unexpected artistic effects. Even a programming bug can give us beautiful output sometimes. The picture below on the left is essentially the same as Figure 3.3 and is given by the divergence scheme alone while the one on the right is painted by the convergence scheme with period index k = 1 followed by the divergence scheme (with colors that are different from the picture on the left). The "eyeballs" painted by the convergence scheme are caused by its weakness of confusing some of the slowly divergent orbits as convergent. The images show which parameters are affected. Figure 6.5 illustrates the "eyeballs" more vividly.
Figure 4.5. The Eyeball Effect (Right) Given by the Convergence Scheme
Brute Force Algorithm: Because of the weakness of the convergence scheme, we compute the iteration array for an image like the last image of Figure 4.2 by the timeconsuming brute force algorithm that goes like this: For each pixel (er parameter) on the canvas, check if its orbit diverges to ∞ using the divergence scheme; if it does, compute d(i, j), but if not, check if it has period 1 using the convergence scheme; if it does, compute d(i, j), but if not, check if it has period 2, etc. etc. Repeat the process until it comes to the final period index k like k = 90 for the last image of Figure 4.2.
§ 5. Mandelbrot Fractals
Since its computer plot was published in 1980, the Mandelbrot set became so popular that a great many digital artists, mathematicians and computer programmers have explored around it and shown their fractal images on a variety of objects including webpages, posters, book covers, Tshirts, and coffee mugs. Although the complexity of the Mandelbrot set shown on a twodimensional canvas is boundless and the hidden beauty inexhaustible, it has become quite a challenge to unearth new patterns from the Mandelbrot equation (2.1) using available computers and software. Consequently, a creative work calls for a modification of the formula, and there are infinitely many formulas available for it.
We call a fractal given by a dynamical system of the form
(5.1)
z_{n+1 }= f_{p}(z_{n})
a Mandelbrot fractal if it is painted on a pcanvas, where f_{p} is any nonlinear elementary function of a complex variable containing a parameter p. The initial value for the orbits is often a critical point of f_{p} as in the case of the Mandelbrot set but it is not a requirement.
Figure 5.1. "The Mandelbrot Set (Shot) with Arrow"
The comical image shown above is a Mandelbrot fractal given by the cubic dynamical system
(5.2)
z_{n+1 }= f_{p}(z_{n}) = z_{n}^{3} + z_{n} + p
with z_{0} = i / √3, which is one of the two critical points ± i / √3 of f_{p}. Here, an atom no longer resembles a disk or a cardioid and may look like an arrowhead from the stone age with jagged edges. It has a variety of molecules as well and they include the interior of the "Giant Mandelbrot Set" and the interior of the "Toddler Mandelbrot Set" (who released the arrow at the giant) seen near the right edge of Figure 5.1 like an isolated island. We name some of the molecules partly for fun but mainly for necessity as we will be talking about them several times on the website.
The origin (0, 0) of the complex plane is at the tip of the arrowhead and Figure 5.1 is actually given by rotating the original output 90^{o} counterclockwise about the origin to have it better fit in the webpage. Thus, the origin and parts of the real and imaginary axes of the complex plane in its standard orientation are given, respectively, by the upper left corner, the upper edge, and the left edge of the image shown below:
"Arrowhead Bay"
Since the red zone adjacent to the upper edge belongs to the cardioid body of the "Giant Mandelbrot Set," the above image shows part of the boundary of the "Giant Mandelbrot Set." First off, therefore, we note that the image, "Arrowhead Bay," is drastically different from the boundary of the Mandelbrot set, as it contains infinitely many extra atoms that look like tropical fish. These atoms all have period 1 and are apparently connected to the "Giant Mandelbrot Set" by its boundary that looks like seaweed.
We note that at each circular atom attached to the red cardioid, there is a welldefined pattern that looks like seaweed growth. The seaweed growth at the largest such atom contains distinguished "sevenfinger" branches, which indicates, like in the Mandelbrot set, that the period of the circular atom is 7. Similarly, the second largest circular atom in the above image has period 8. Like in the Mandelbrot set, the "seven fingers" enclose numerous mini Mandelbrot sets. The most visible of them is shown below in detail using different colors.
"SevenFinger Seaweed"
In the above image, the fishshaped atoms of period 1 are painted by the convergence scheme with period index k = 1 and the mini Mandelbrot set by the convergence scheme with k = 8, 16, 24, .... The fact that the red cardioid has period 8, which is 1 plus the number of the "seaweed fingers," is consistent with the mini Mandelbrot set belonging to the Mandelbrot set.
Interestingly, the fishshaped atoms begin to disintegrate near the circular atom of period 6, which is at the mouth of "Arrowhead Bay," and they completely disappear near the circular atom of period 5, which is located just outside of the "bay." The boundary of the "Giant Mandelbrot Set" near the circular atom of period 5 is depicted in the image shown below. It shows no signs of tropical fish but it still encloses numerous mini Mandelbrot sets.
"FiveFinger Seaweed"
We now examine some of the molecules found in Figure 5.1 starting with an area near its right edge. Here is a closeup of the "Toddler Mandelbrot Set" shown in the standard orientation of the complex plane.
Figure 5.1(A). The Interior and Boundary of the "Toddler Mandelbrot Set"
Compared to the Mandelbrot set, the "Toddler Mandelbrot Set" has a proportionately larger head (like a toddler) and its boundary gets broken into pieces that look like stars behind a christmas tree in the image on the right. Unlike the Mandelbrot set, the "Mandelbrot Set with Arrow" is a disconnected set of complex numbers.
The interior image shown above on the left is painted by the convergence scheme with period indices k = 2, 4, 6, ..., 50 and the colors matched with the colors of the Mandelbrot set. Thus, the red atom has period 2, while the largest circular atom painted orange has period 4. The period of an atom will play an important role when we plot "Julia fractals" born from the atom in § 6.
Not surprisingly, fractals we find around the boundary of the "Toddler Mandelbrot Set" are similar to those found near the Mandelbrot set. Here's one of them, which can be used as a night sky of 3D landscapes such as "Mandelbrot Moon" in Gallery 3D.
Another molecule in Figure 5.1 that provides a rich fishing ground for attractive fractals is the "fletching of the arrow" that looks like a pair of balloons. We call it "Broken Balloons" because of the shape of the "bursted" lips with jagged edges and small fragments. It is generated by the convergence scheme with period indices k = 3, 6, 9, ..., 60. We again note that the atoms of the smallest period 3 are painted red and the boundary is disconnected.
Figure 5.1(B). The Interior (Left) and Boundary of "Broken Balloons"
The fractals shown below are found in the boundary area of "Broken Balloons" and named "Elephant," "Rhinoceros" and "Cheetah." "Elephant" is given by applying the divergence scheme on the orbits of p belonging to a rectangular canvas centered at the complex number (0.092504, 1.1722). The initial value for the orbits, z_{0} =0.53i, is not a critical point of f_{p} in (5.2) but is close enough so the image is somewhat simplified but is not collapsed totally. "Rhino" is a part of "Elephant." "Cheetah" is given by using the critical point z_{0} = i/√3 ≈ 0.57735i and zooming in on a microscopic rectangular neighborhood of the complex number (0.04886516, 1.20677998).
"Cheetah"
As the first two images indicate, we can freely use noncritical orbits of p in fractal art. Here, we recall that a critical orbit of p means an orbit of p with a critical point of the function f_{p} used as its initial value z_{0}. It played the central role in forming the Mandelbrot set in § 2 with all those amazing properties seen in § 3 and § 4. In the next section where we discuss "Julia fractals," we'll see additional important implications by the use of critical orbits both in mathematics and art.
Figure 5.1 also contains two "Squished Mandelbrot Sets," each of which has a "bursted hole" in its "squished" cardioid. The molecule can be seen near the left edge of Figure 5.1, but, in the image shown below, it is painted by different colors and the convergence scheme with period indices k = 3, 6, 9, ..., 60, which are used for the "Broken Balloons."
Figure 5.1(C). "Squished Mandelbrot Sets"
The circular atoms in the "Squished Mandelbrot Sets" break down near the "bursted holes" and often provide interesting fractals. The image shown below is painted on a canvas centered at p = (0.04935, 1.094363) by the divergence scheme (for the background) and the convergence scheme with period indices k = 12, 21, 24. k = 21 = 7 × 3 is for the "roses," where 3 represents the number of "stems" coming out from each "rose": see the Yshape in the tiny replicas of "flying roses." Such an analysis gets easier when we see "Julia sets" in the next section. k = 12 and 24 are for the mini Mandelbrot set seen in the center of the image.
"Flying Roses"
Recall that Figure 5.1 is generated by the critical orbits of p with z_{0} = i / √3, which is a critical point of f_{p} in (5.2). If we replace z_{0} = i / √3 by z_{0} =  i / √3 which is the second of the two critical points of f_{p} in the fractal plotting process, we get a Mandelbrot fractal which is the mirror image of Figure 5.1 through the real axis. Therefore, the molecules formed by (5.2) and its critical orbits such as the "Giant Mandelbrot Set" and "Broken Balloons" are in a way more accurate if we superimpose the two mirror images.
Figure 5.1(D) shown below reveals the surprising results of the superimposition: The big arrow head in one image fits perfectly in the cardioid body of the "Giant Mandelbrot Set" in the mirror image and the lips of the "Broken Balloons" in Figure 5.1(B) are beautifully repaired by the "Squished Mandelbrot Sets" of Figure 5.1(C) to form a better looking molecule called the "Mandelbrot Balloons." The superimposition makes all of the jagged edges disappear. The "Toddler Mandelbrot Set" of Figure 5.1(A) without jagged edges is unaffected by the superimposition.
Figure 5.1(D). The "Giant Mandelbrot Set" with the "Mandelbrot Balloons"
In § 6 where we deal with the "Julia fractals," we will talk more about the superimposed Mandelbrot fractal by the dynamical system (5.2) as it represents an ideal example in analyzing and applying the important "FatouJulia Theorem."
The "logistic equation" which became famous with the advent of "chaos" in 1975 happens to be a "close cousin" of the Mandelbrot equation as we'll also see in the next section and known to produce fractals similar to those generated by the Mandelbrot equation. Consequently, it tends to be overlooked in fractal plotting, but we should still explore it with full interests. Getting just the right shapes and colors in fractal plotting is very often a chance encounter due to its chaosrelated sensitivity and we get a better chance when we engage in a wide range of computer experiments.
The Logistic Equation: In 1838 Pierre Verhulst introduced a differential equation called the "logistic equation," which became a widely used mathematical model for population dynamics. If we replace the derivative in the equation by its approximating difference quotient and do some algebra, we get the following formula that is more suitable for computer applications:
(5.3)
z_{n+1 }= f_{p}(z_{n}) = p(1  z_{n}) z_{n }.
It is again called the logistic equation (or logistic map) and is equally applicable in the population dynamics when the variables are restricted to real numbers.
If we expand its variable and parameter to complex numbers and apply the divergence and convergence schemes on the critical orbits of p with the fixed initial values z_{0} = 0.5, we get the following Mandelbrot fractal. For convenience, we call the entire molecule with its boundary the logistic set, which is defined just like the Mandelbrot set.
Figure 5.2. The Interior and Boundary of the Logistic Set
The origin (0, 0) of the complex plane coincides with the center of the red circular atom on the left but not the intersection point of the figure 8, which is the point (1, 0). The real axis of the complex plane is the horizontal line through the two straight antennas of the logistic set and the righthand antenna coincides with the closed interval [α, 4] on the real axis with α ≈ 3.57.
The intersection point of the largest and second largest circular atoms near the righthand antenna is (3, 0), and we call the area directly above the point "Elephant Bay." There we can find a variety of attractive fractals, many of which resemble elephants, including the following examples.
Figure 5.3. Various Fractals from "Elephant Bay"
Also, like in the "Mandelbrot Set with Arrow," we can find numerous mini Mandelbrot sets including the one shown below in "Elephant Bay." Note that the daytime and nighttime fractal images have surprisingly different patterns.
Daytime and Nighttime Mini Mandelbrot Set by the Logistic Equation
In 1974, while conducting a computer simulation of certain population changes, biologist Robert May discovered "very complicated orbits" of z_{0} given by the logistic equation and p belonging to the aforementioned closed interval [α, 4]. It led us to the concept of chaos, which began to develop in 1975, the year in which Mandelbrot coincidentally coined the term fractal. In 1993, a chaotician appeared in Steven Spielberg's hit movie, "Jurassic Park," tacitly suggesting a possibility of chaos in the controlled dinosaur populations.
So, it is natural that we plot Mandelbrot fractals of the dynamical system (5.3) by zooming in on the interval [α, 4]. Figure 5.3 is one of them and uses a noncritical point z_{0} = 0.1 (10% of the sustainable population of, say, an insect species) as the fixed initial value for the orbits of p.
Figure 5.4. "Spring Reflection"
By the way, people familiar with multivariable calculus might find a fun project in mapping an image like Figure 5.4 on surfaces like the ones shown below. We can see more examples of this sort in Gallery 3D.
The next three images are Mandelbrot fractals given by the dynamical system shown below, which we call the third degree logistic equation for convenience:
(5.4)
z_{n+1 }= f_{p}(z_{n}) = p(1  z_{n}^{2}) z_{n }.
Figure 5.5. The Third Degree Logistic Set
Figure 5.6. "Moray Eels"
Figure 5.5, which is a global image, is given by critical orbits whose initial value z_{0} is the critical point 1/√3 of the function f_{p}, while the two local images of Figure 5.6 are given by noncritical orbits with the initial values 0.1 and 0.5, respectively. The little circular atoms of the global image are deformed and cracked like eggs by the use of the noncritical orbits and give birth to interesting figures like the ones shown in Figure 5.6. These figures often have strong resemblance to "Julia sets" born from the atoms, which we'll discuss in the next section.
Shown below is a Mandelbrot fractal given by the seventh degree Mandelbrot equation
(5.5)
z_{n+1 }= f_{p}(z_{n}) = z_{n}^{7} + p
painted on a plane and a torus.
Figure 5.7. Seventh Degree Mini Mandelbrot Set
§ 6. Julia Fractals and Julia Sets
Recall that a Mandelbrot fractal is generated by a dynamical system of the form (5.1) with a fixed initial value z_{0} and painted on a pcanvas comprising parameters p. A fractal is called a Julia fractal of p if it is given by a dynamical system of the same form with a fixed parameter p and painted on a zcanvas comprising initial values z_{0} instead. As we saw in § 1, each initial value z_{0} on the zcanvas generates a sequence of complex numbers given by (5.1) called the orbit of z_{0} (with the fixed parameter p). The divergence and convergence schemes apply on the orbits of z_{0} exactly in the same manner as before and generate a Julia fractal of p.
Julia Fractals by the Mandelbrot Equation: Let's start our discussion with the familiar Mandelbrot equation
(6.1) z_{n+1 }= f_{p}(z_{n}) = z_{n}^{2} + p.
Example 1 ("Hydra with Eleven Heads") Figure 6.1 shows two nearly equal parameters and Julia fractals of these parameters given by (6.1). They are painted on a zcanvas centered at the origin of the complex plane. The first parameter p belongs to an atom of the Mandelbrot set of period 11 and the second parameter p outside of the Mandelbrot set. We call the Julia fractals "Hydra with Eleven Heads" and "Hydra's Ash," respectively. The green/blue "Hydra" on the left is given by the convergence scheme with period index k = 11 and its background by the divergence scheme. "Hydra's Ash" is given by the divergence scheme alone.
It is another fascinating fact about the Mandelbrot set that the period of the atom containing the parameter p is always reflected in the Julia fractal of p such as the number of heads in the figure, but why it is so is not completely understood. If the parameter p is chosen from an atom not directly attached to the main caridoid of the Mandelbrot set, or better yet, if it is chosen from an atom in the mini Mandelbrot set, the outcome can get much more interesting.
Figure 6.1. "Hydra with Eleven Heads" and "Hydra's Ash"
p = (0.68938, 0.27896)

 p = (0.6891, 0.27896)

Julia Sets: Recall that the Mandelbrot set is by definition the set of all parameters p in the complex plane whose critical orbits stay within a finite bound. If p is a fixed parameter, then by the filledin Julia set of p, we mean the set of all initial values z_{0} in the complex plane whose orbits z_{n} stay within a finite bound. Here, we recall that the complex plane may be interpreted as the set of initial values z_{0} as well as the set of parameters p.
Thus, the definitions of a filledin Julia set and the Mandelbrot set are similar, but unlike the Mandelbrot set, there are infinitely many filledin Julia sets, one for each parameter p. Like the Mandelbrot set, we can approximate many of the filledin Julia sets by using the divergence and/or convergence schemes and plotting them on a canvas with finitely many pixels. For example, "Hydra with Eleven Heads" of Figure 6.1 without the reddish background is a computer approximation of the filledin Jula set of p.
By the Julia set of p, we mean the boundary of the filledin Julia set. As the names suggest, the filledin Julia set introduced earlier plays a supporting role for the Julia set in mathematics, and it is because a Julia set is where "chaos" occurs as well it possesses important fractal properties. It also dictates the artistry of a Julia fractal just like the boundary of the Mandelbrot set as we saw in § 2. Julia sets are among the most important objects in fractal geometry and named after Gaston Julia, who was one of the two main pioneers of fractals generated by dynamical systems of complex numbers along with Pierre Fatou. The Mandelbrot set and Julia sets are closely related by the following beautiful theorem, which is an immediate consequence of the FatouJulia theorem we'll discuss a little later.
The Dichotomy Theorem: The Julia set of p is either a connected (onepiece) set or a Cantor set. The Julia set of p is connected if and only if p belongs to the Mandelbrot set.
Here, a Cantor set or Cantor dust means a set of infinitely many "totally disconnected" points with a fractal structure. It was named after Georg Cantor, the pioneer of set theory, who discovered the early form of a fractal in 1883. "Hydra's Ash" of Figure 6.1 is a Cantor set but "Hydra with Eleven Heads" is not; hence, it must be connected as one piece (which is hard to see from the computer plot) by the Dichotomy theorem. Here, we note that a Julia set is connected if and only if its filledin counterpart is connected.
Example 2 (Jordan Curve and "Devil's Steppingstones") The Julia set shown below is given by a parameter chosen from the main cardioid atom of period 1 and is known to be a nonselfintersecting continuous loop in the plane called a Jordan curve. It is topologically the simplest Julia set.
Figure 6.2. Filledin Julia Set and Julia Set from the Atom of Period 1
The Jordan curve theorem states that a Jordan curve divides the plane into two parts, a bounded region called "inside" and an unbounded region called "outside." The theorem seems utterly obvious from a typical image like the one shown above but the Julia set as a Jordan curve can get extremely convoluted if the parameter gets arbitrarily close to the boundary of the cardioid. The proof of the Jordan curve theorem turned out to be quite involved and provides one of the fascinating topics in mathematics.
Recall that the mini Mandelbrot set we discussed earlier comprises atoms of periods 4 × 1, 4 × 2, 4 × 3, .... Let p = (0.1581, 1.03545), which belongs to its cardioid atom of period 4 × 1, and plot the filledin Julia set by the convergence scheme with period index k = 4 and greenish colors. Then we get:
Figure 6.3. "Devil's Steppingstones" from the Atom of Period 4 × 1
We borrowed the name, "Devil's Steppingstones," from Mandelbrot, who used it to describe the mini Mandelbrot sets lined up on the main antenna of the Mandelbrot set. We can clearly see the number 4 × 1 in the above image: 1 in the shape of each stepping stone whose boundary is a Jordan curve and 4 as the number of the major paths emanating from each stepping stone. Furthermore, it inherited the "Y junctions" from the boundary of the mini Mandelbrot set.
Looking at a computer plot like Figure 6.3, can we say that the "stepping stones" are connected with 100% confidence? No, but we can say it is definitely not a Cantor set; hence, it must be connected, again applying the Dichotomy theorem.
Note that the image in Figure 6.5 on the right is also "Devil's Steppingstones," which is born from an atom of an enormously large period. Because the period is unknown (or too large for the convergence scheme to handle), the steppingstones are painted by a single color black by the divergence scheme, just like the mini Mandelbrot set shown in Figure 6.5 on the left.
Example 3 ("Julia Lions") The next image called "Red Lion" is the filledin Julia set of p = (0.281215625, 0.0113825) belonging to an atom of period 68 = 17 × 4, which is attached to an atom of period 17. The atom of period 17 is attached to the main cardioid of the Mandelbrot set near its cusp; see the periodicity diagram. Note that the number 17 shows in the "mane" of "Red Lion." Where in the picture do we see the number 4 ?
Figure 6.4(A). Filledin Julia Set from the Atom of Period 17 × 4
Figure 6.4(B). Julia Set from the Atom of Period 17 × 4
The Julia set shown above vividly illustrates its topological complexity associated with the period of the atom, especially when it is compared with the Jordan curve of Figure 6.2. The next two filledin Julia sets called "Gold Lions" are given by two parameters belonging to an atom of period 85 = 17 × 5, which is attached to the aforementioned atom of period 17. Both 17 and 5 are clearly visible in the images. Also, the curling directions of the mane of the "Gold Lions" are dictated by the locations of the parameters in the atom of period 85.
Filledin Julia Sets from the Same Atom of Period 17 × 5
Similarities of Mandelbrot and Julia Fractals: Although the precise reason is unknown except at socalled Misiurewicz points, we note that in many cases Mandelbrot and Julia fractals from the Mandelbrot equation have striking similarities locally if they are generated by equal parameters.
For example, let p_{0} = (0.25000316374967, 0.00000000895902). The image on the left in Figure 6.5 shown below is a Mandelbrot fractal given by the Mandelbrot equation (6.3) on a pcanvas centered at the parameter p_{0} that belongs to the cardioid atom of the mini Mandelbrot set. It is essentially the same as the fractal of Figure 3.3. The image on the right is a Julia fractal of p_{0} painted on a zcanvas centered at the origin.
Both images contain infinitely many "cuttlefish" with their eyeballs given by the eyeball effect of the convergence scheme. The divergence scheme painted all other areas. The Mandelbrot set on the left and the filledin Julia set on the right, both colored black, are connected and their complex (and invisible) boundaries shape the strikingly similar patterns shown in the images. The example shows that a Julia set can be as complex as the boundary of the Mandelbrot set locally.
Figure 6.5. "Partying Cuttlefish" by the Mandelbrot Equation
Closeup of "Partying Cuttlefish"
Julia Fractals by the Logistic Equation: Let's write the logistic equation (5.3) using different letters as
(6.2) ζ_{n+1 }= q(1  ζ_{n}) ζ_{n },
for the moment, and reserve z_{n} and p for the Mandelbrot equation
(6.3) z_{n+1 } = z_{n}^{2} + p.
Then as in the case for the Mandelbrot equation, we can plot a Julia fractal and a Julia set by (6.2) using a fixed parameter value q and applying the divergence and/or convergence schemes on a ζcanvas comprising initial values ζ_{0}. For example, the image shown below is a Julia fractal of the fixed parameter q = (2.994915, 0.1) called "Circus Elephants." The Julia set is born from an atom of period 1 in the logistic set and hence it is a Jordan curve, which is geometrically much more complex than the Jordan curve of Figure 6.2.
Figure 6.6. "Circus Elephants" from an Atom of Period 1 in the Logistic Set
We have not shown Julia sets that are Cantor sets except for "Hydra's Ash" of Figure 6.1, so it is about time to do a presentation of another, this time given by the logistic equation. Shown below is the Julia set of q = (3.0014564, 0.08) generated by (6.2) and the divergence scheme alone. The parameter q is chosen from the complement of the logistic set and like many of the CantorJulia sets, the image emerges very quickly on a computer screen—within much less than one thousandth of runtime for the image in Figure 6.6.
We briefly mentioned in § 5, that the logistic equation (6.2) is a "close cousin" of the Mandelbrot equation. More precisely, there is a simple change of variables that transforms (6.2) into a special form of the Mandelbrot equation and it implies that all Julia sets generated by the logistic equation can be generated by the Mandelbrot equation (and vice versa). To see it, suppose (6.2) and (6.3) are related by
(6.4) z_{n} = a ζ_{n} + b
for some constants a and b and write (6.3) as
a ζ_{n+1 } + b = (a ζ_{n} + b)^{2} + p.
Multiplying out the righthand side and solving the equation for ζ_{n+1 }, we get
ζ_{n+1 } =  a ζ_{n}(2b/a  ζ_{n}) + (b^{2}  b + p)/a.
Comparing the last line with (6.2), we get a = q, 2b/a = 1 and b^{2}  b + p = 0, or equivalently, a = q and b= q/2 and
(6.5) p = q(2  q)/4 .
Thus, the formula (6.4) that changes the variables is defined and it transforms the logistic equation (6.2) into the Mandelbrot equation (6.3) with the constant parameter p satisfying (6.5). Since the Julia fractals of (6.2) and (6.3) are given by fixed parameters p and q, respectively, the transformation from (6.2) to (6.3) is taylormade for them, but not necessarily for the Mandelbrot fractals plotted on a pcanvas and a qcanvas where p and q vary independently of each other.
For example, the image shown below on the left is a Julia fractal of the parameter q = (3.02382, 0.1) given by the logistic equation (6.2) and the image on the right is a Julia fractal of the parameter
p = q(2  q)/4 ≈ (0.771462, 0.101191)
given by the Mandelbrot equation (6.3). Although their artistic patterns painted by exactly the same coloring routine came out a little off, the Julia sets are the same geometrically.
Figure 6.7. "Dancing Seahorses" by the Logistic and Mandelbrot Equations
The transformation by the change of variables actually goes both ways: If we solve the quadratic equation (6.5) for q, we get
(6.6) q = 1 ± √ (1  4 p),
so the Mandelbrot equation (6.3) with parameter p can be written as a special form of the logistic equation (6.2) with q replaced by the righthand side of (6.6) with either sign of ±. For example, the image shown below on the left is a Julia fractal of p = (0.6069, 0.4147) given by the Mandelbrot equation (6.3) and the image on the right is a Julia fractal of the parameter
q = 1 + √ (1  4 p) ≈ (2.902038, 0.436059)
given by the logistic equation (6.2). Again their artistic patterns painted by the same coloring routine are a little off, but they have geometrically the same Julia sets.
Figure 6.8. "Blue Roses" by the Mandelbrot and Logistic Equations
Because of the twoway transformations between the Mandelbrot and logistic equations, we often say that these equations are conjugate of each other. "Dancing Seahorses" and "Blue Roses" exemplify the fact that the conjugate dynamical systems share geometrically the same Julia fractals. In light of the similarities of Mandelbrot and Julia fractals by the Mandelbrot equation and probably by the logistic equation, it is not surprising if many of the Mandelbrot fractals generated by two dynamical systems also have similar appearances.
A fractal artist should not be discouraged, however, from venturing into the logistic equation and other quadratic dynamical systems that are conjugate to the Mandelbrot equation. In fractal plotting, getting just the right shapes and colors is often a chance encounter due to its chaosrelated sensitivity and we have better chances if we engage in wider computer experiments. If we lose our computer program or recipe for a certain fractal image, it would be nearly impossible to reproduce it again or produce its local images by zooming.
The Julia sets of "Dancing Seahorses" and "Blue Roses" are shown below. As we can see easily by now, they have periods 2 and 7, respectively, and are topologically more complex than the Jordan curve of "Circus Elephants." On the other hand, their complexity pales in comparison with the Julia set of "Red Lion" of Figure 6.4 that has period 68.
Figure 6.9. The Julia Sets of "Dancing Seahorses" and "Blue Roses"
The FatouJulia Theorem: The concept of Julia set naturally extends from a quadratic dynamical system such as the Mandelbrot equation to a more general dynamical system (5.1), but a lot of things about it are still in mystery and belong to experimental mathematics by the use of computers. Here's a fascinating and useful fact however. Gaston Julia and Pierre Fatou independently proved the theorem shown below in 19181919 way before the computer era.
Theorem: Consider a dynamical system of the form
(6.7)
z_{n+1 }= f_{p}(z_{n}) = c_{m} z_{n}^{m} + c_{m1} z_{n}^{m1} + · · · + c_{2} z_{n}^{2} + c_{1} z_{n} + p ,
where m is an integer ≥ 2 and c_{m}, c_{m1}, · · ·, c_{2}, c_{1} are complex constants. Then the Julia set of p is connected if and only if every critical orbit of p stays within a finite bound. Furthermore, if every critical orbit of p diverges to ∞, then the Julia set of p is a Cantor set.
In case of the Mandelbrot equation (6.1), f_{p} has just one critical point. Hence, each parameter p corresponds to a unique critical orbit, which either stays within a finite bound or diverges to ∞. It stays within a finite bound if and only if p belongs to the Mandelbrot set, and consequently, the FatouJulia Theorem implies the Dichotomy Theorem as a corollary.
If f_{p} of (6.7) has two or more critical points, the situation may become much more interesting. Consider for example, the cubic dynamical system (5.2) with two critical points ± i/√3. For simplicity, let A be the set of parameters whose critical orbits with the initial value i/√3 stay within a finite bound and B the same with the initial value i/√3. A is depicted by Figure 5.1 and B is the mirror image of A through the real axis. As we saw in Figure 5.1(D), the diagram shown below where A and B are superimposed reveals interesting relations of the two sets A and B.
Figure 6.10. The "Venn Diagram" of A and B
Here, the union A∪B is painted by colors other than black and the intersection A∩B by colors other than black and green. Thus, the black zone is the complement of A∪B denoted by [A∪B]^{c} and the green zone is the symmetric difference AΔB = A∪B  A∩B, which plays the role not seen in the Dichotomy theorem. Note that the "Venn diagram" quickly gets a lot more complex if f_{p} has three or more critical points. For the above diagram, the FatouJulia theorem implies:
(1) If p belongs to A∩B then the Julia set of p is connected (and conversely);
(2) if p belongs to [A∪B]^{c} then the Julia set of p is a Cantor set;
(3) if p belongs to AΔB, then the Julia set of p is disconnected (and may not be a Cantor set).
For example, Figure 0.2 shown at the outset of this website is a Julia fractal of p = (0.185, 0.00007666) belonging to A∩B, and hence, the filledin Julia set of p, called "Twin Dragons," is connected. The next three images show topologically different "twin dragons."
Figure 6.11. "Twin Dragons" of p = (0.2011575, 0.00002) in A∩B
p = (0.21828, 0.00230) in [A∪B]^{c}

 p = (0.2176, 0.0128) in AΔB

The last two "twin dragons" are, respectively, a Cantor set and a disconnected Julia set which is not a Cantor set. The imaginary components of the parameters show that all "twin dragons" come from an area of the "Venn diagram" that is near the real axis. "Twin dragons" of parameters lying on the real axis are symmetric about the center vertical line.
Recall that the "Broken Balloons" is a molecule comprising atoms of periods k = 3 × 1, 3 × 2, 3 × 3, · · · . It can be seen near the right edge of the "Venn diagram" and intersects both A∩B and the symmetric difference AΔB.
"Blue Roses" shown below is a Julia fractal of a parameter p belonging to an atom of period 3 × 7 in the "Broken Balloons." p also belongs to A∩B, so the numerous "blue roses" seen in the image are connected by the "stems." We can clearly see the number 7 in the picture but where do we see the number 3 ? Hint: "Devil's Steppingstones."
Connected "Blue Roses" of p = (0.02912, 1.093853) in A∩B
"Blue Roses" shown below is a Julia fractal of p belonging to an atom of period 3 × 4 in the "Broken Balloons." p also belongs to AΔB, so the Julia set is disconnected, which we can see in the broken "stems." Note that the Julia set is not a Cantor set. Where in the picture do we see the number 3 ?
Disconnected "Blue Roses" of p = (0.07761, 1.12427) in AΔB
"Lions" and "Elephants" also pop up along with many other shapes in and around the "Broken Balloons." The next three images are the Julia sets of parameters belonging to [A∪B]^{c} near the "Broken Balloons, so they are all Cantor sets.
The Julia Set of p = (0.0144, 1.192) in [A∪B]^{c}
p = (0.087, 1.1848) in [A∪B]^{c}

 p = (0.092, 1.1728) in [A∪B]^{c}

The "Toddler Mandelbrot Set" seen near the right edge of Figure 5.1 belongs to AΔB but it is omitted from the "Venn diagram." Recall that it comprises atoms of periods k = 2 × 1, 2 × 2, 2 × 3, · · · . It also produces a great many attractive fractals but they are naturally very similar to the fractals coming out from the Mandelbrot set—except that they are all disconnected as "the Toddler Mandelbrot Set" belongs to AΔB. For example, the image which is shown below and resembles the "Hydra" of Figure 6.1 is a Julia fractal of p = (0.00399109,1.98545775) belonging to an atom of period 2 × 13. It contains numerous dots in its background, each of which contains a "baby hydra."
"Hydra with Thirteen Heads" born from "the Mandelbrot Set with Arrow"
Julia Fractals by Other Dynamical Systems: The images shown below are Julia fractals generated by the third degree logistic equation (5.4) z_{n+1 }= f_{p}(z_{n}) = p(1  z_{n}^{2}) z_{n}. The dancers are lined up a little differently from the ones shown in Figure 6.7.
Figure 6.12. "Dancing Seahorses" by the Third Degree Logistic Equation
p = (1.18, 0.376)

 p = (1.1565, 0.3688)

Here is another dancer from the fifth degree logistic equation, z_{n+1 }= f_{p}(z_{n}) = p(1  z_{n}^{4}) z_{n}. The Julia set is emphasized in the nighttime fractal on the right.
Figure 6.13. "Dancing Bouquet" by the Fifth Degree Logistic Equation
Finally, let's just make up a dynamical system by multiplying the righthand side of the Mandelbrot equation and z_{n}:
(6.8) z_{n+1 }= f_{p}(z_{n}) = z_{n} (z_{n}^{2} + p)
Figure 6.14. The Julia Set of p = (1.022, 0.14846) by (6.8)
§ 7. Newton Fractals
A Julia fractal is called a Newton fractal if it is given by a dynamical system of the form
(7.1)
z_{n+1 }= z_{n}  g(z_{n})/g'(z_{n})
where the parameter p = 0 is invisible and g is an elementary function with its derivative g'. Although g is a function of a complex variable, the familiar rules of differentiation in high school calculus hold for g. In this website, g is almost always a polynomial which allows us to take advantage of the timesaving scheme called
Horner's Method to efficiently evaluate both g and g' that appear in the dynamical system. Horner's method is nothing but "synthetic division" taught in high school algebra, and it should be interesting for the reader to see how (differently) it is applied in computer programming.
The reader may have noted already that the dynamical system (7.1) is nothing but the NewtonRaphson RootFinding Algorithm, aka
Newton's Method. Hence, each orbit of (7.1) converges to a root of g quickly more often than doing something else, and it allows us to plot most of the Newton fractals by the convergence scheme (with period index k = 1) alone with a relatively small maximum number of iterations like M ≤ 500.
Furthermore, if we know all the roots of g prior to the fractal plotting, we can modify the convergence scheme fairly easily so as to add more colors to Newton fractals of g; see Example 1 below. Because a Newton fractal is a Julia fractal, a "canvas" and an "orbit" always mean a zcanvas and an orbit of z_{0}, respectively, in this section.
Example 1 (Roots of Unity): Among all attractive Newton fractals, probably the simplest to plot are given by a polynomial of the form
g(z) = z^{ d}  1
as its roots are readily available by hand calculations or Googling "roots of unity."
Figure 7.1. Newton Fractals of g(z) = z^{ 5}  1
The image on the left is a Newton fractal for g(z) = z^{ 5}  1 painted on a square canvas centered at the origin with radius 1.1. It uses five essentially different colors, sky blue, purple, red, amber, and blue, associated with the five roots of g. The sky blue region, e.g., comprises the initial values z_{0} in the canvas whose orbits converge to the root r = (1, 0) and is called the basin of attraction of Newton's method for the root.
Thus, there are five basins of attraction in the fractal and they are divided by the basin boundary. The basin boundary is precisely the Julia set of the Newton fractal, and that is where Newton's rootfinding algorithm behaves in a "chaotic" fashion and fails to provide a root. It is known that the Julia set is a Cantor set comprising totally disconnected points.
The second image of Figure 7.1 is a variation of the first. The image shown below, called "Crab Queue," is given by zooming in on one of the "bands" in the second image. It is accompanied by a fractal emphasizing the Julia set of "Crab Queue."
Example 2 (Cyclotomic Polynomials): Another interesting example with known roots is a
Cyclotomic Polynomial. The picture on the left in Figure 7.2 is a Newton fractal of the "30th cyclotomic polynomial"
g(z) = z^{ 8} + z^{ 7}  z^{ 5}  z^{ 4}  z^{ 3} + z + 1
with the unit disk highlighted. Since g happens to be a factor of z^{ 30}  1, its roots are among the 30th roots of unity that lie on the unit circle. In the picture, the thirty dots on the unit circle show where the roots of unity are located and eight of them colored yellow show the whereabouts of the roots of g. The picture on the right is a Newton fractal of the "20th cyclotomic polynomial"
g(z) = z^{ 8}  z^{ 6} + z^{ 4}  z^{ 2} + 1.
Figure 7.2. Cyclotomic Polynomials with Eight Roots (and Application in 3D Plotting)
Finding the Roots: Examples 1 and 2 show that what makes a Newton fractal beautiful are the roots of the polynomial and the Julia set that divides the basins of attraction to the roots. The more complex the Julia set, the more intricate the Newton fractal, but ironically, the Julia set is what complicates the rootfinding process by Newton's method.
So, what should we do if we don't know the roots for the input polynomial? One way is to use Müller's Method instead of Newton's method. Although Müller's method lacks the simplicity of Newton's method, it generally works well and automatically finds all roots of the polynomial fairly quickly. All computer programs for the Newton fractals shown in this website (including Gallery 2D) use Müller's method—even for Example 1 whose roots are well known (so we don't have to write down the roots in the program).
Once our computer program starts running smoothly, plotting Newton fractals provides us with great entertainment. It is easy to pick an input polynomial (or nonpolynomial) from infinitely many choices with anticipation from not knowing what to expect in the output and a highres output image generally emerges within minutes rather than hours and days of runtime. Figures 7.3 through 7.6 shown below are among numerous Newton fractals for which we randomly chose the input polynomials.
Here's an example given by a fifth degree polynomial. Just for fun, we painted it on a sphere and a torus as well as on a plane.
Figure 7.3. "Fireflies"
The next example, which is given by a seventh degree polynomial, is painted on a plane and an apple.
Figure 7.4. "Fruit Flies"
Figure 7.5 shows a Newton fractal of a 12^{th} degree polynomial painted on a plane and a sphere. The second image which is painted on a sphere is intended to give a 3D appearance. All of the twelve roots are again found by Müller's method quickly.
Figure 7.5. "Dragonfly"
Part of the Julia Set of "Dragonfly"
Figure 7.6 illustrates three images given by highlighting different parts of essentially the same Newton fractal. We can see from the images that the Newton fractal is generated by a fifth degree polynomial that has two pairs of conjugate complex roots and a simple real root. Each image accompanies a fractal that emphasizes the intricate Julia set.
Figure 7.6. "Ghost Fish," "Ghost Crab" and "Ghost"
Shown below is a fractal similar to the "Ghost" but given by a slightly different fifth degree polynomial. The Julia set appears to be bounded but it is in fact a part of an unbounded Julia set highlighted like the "Ghost."
Figure 7.7. "Spiderman"
Newton Fractals of Rational Functions: Through the quotient rule of differentiation and the aforementioned Horner's method, it is straightforward to extend the fast plotting methods we have seen from the polynomials to the rational functions. Figure 7.7 shows a simple example, called "Five Crabs in a Circle," where the "huddling crabs" are the basins of attraction for the fifth roots of unity and the Julia set is, unlike in the earlier Newton fractals, bounded.
Figure 7.8. Newton Fractals of g(z) = (z^{ 5}  1) / (z^{ 5} + 1)
