 In these notes I will use mathematical notation similar to the syntax of Mathematica.

7. Periodic and preperiodic points in the Mandelbrot set.

Here again is the classical Mandelbrot set M. Figure 7.1. The classical Mandelbrot set M.

Here is some useful Mathematica code.

G[0, c_, z_] := z; G[n_, c_, z_] := G[n-1, c, z]^2 + c.

Thus G[1, c, z] = z^2 + c (also known as g[z]) and if we fix c and z, the values of G[n, c, z] for various n gives us the orbit of z under g.

Periodic points.

We say that a point c in the Mandelbrot set M has period n if

G[n, c, 0] = 0,

and n is the smallest positive number for which this is true. Here is some code which displays the roots of G[n, c, 0] for 1 <= n <= 4.

Do[Print["n = ",n]; Print[NSolve[G[n, c, 0]==0, c]],{n,1,4}]

The output is

n = 1 {{c -> 0.}}

n = 3

{{c -> -1.75488}, {c -> -0.122561 - 0.744862 I},

{c -> -0.122561 + 0.744862 I},{c -> 0.}}

n = 4

{{c -> -1.9408}, {c -> -1.3107}, {c -> -1.}, {c -> -0.15652 - 1.03225 I},

{c -> -0.15652 + 1.03225 I}, {c -> 0.}, {c -> 0.282271 - 0.530061 I},

{c -> 0.282271 + 0.530061 I}}

Note that the number of such roots doubles for each successive value of n. This happens because G[n, c, 0] is a polynomial in c if degree 2^(n-1). It is known that is always has 2^(n-1) distinct roots.

We have already studied these points for n < 4. Here is what we found:

• c = 0 is the center of the main cardioid.
• c = -1 is the center of the period 2 body, the largest circular region attached to the main cardioid.
• c = -1.75488 is the center of the cardioid in a miniature copy of M.
• c = -0.122561 - 0.744862 I and c = -0.122561 +0.744862 I are centers of circular regions attached to the main cardioid. Such regions are called buds.

Note that the 8 roots listed for n = 4 include the two listed for n = 2. In general a root of G[m, c, 0] is also a root of G[n, c, 0] whenever n is a multiple of m. Here is a description of the 6 remaining roots.

• c = -1.3107 is the center of the circular region to the left of the period 2 body, which we will call a secondary bud.
• c = 0.282271 - 0.530061 I and c = 0.282271 + 0.530061 I are centers of buds attached to the main cardioid.
• The other three roots of G[4, c, 0] are centers of cardioids in other miniature Ms. Two of them are shown below.  Figure 7.2. The Mandelbrot set near c = -0.15652 + 1.03225 I magnified 25 times, and c = -1.9408 magnified 200 times.

Some questions about periodic points.

Here are some questions (except for the first one) which are suitable topics for the assignment due on March 4.

1. Does each such point lie in a black region of M?
2. Which lie in buds and which lie in minature Ms?
3. Why do miniature Ms occur?
4. Is there a way to predict their size and orientation?

The first of these questions is easy to answer affirmatively. Here is a more precise formulationof the answer.

Theorem 7.3. Let c0 be a period point in M. Then there is a number r > 0 so that each point c with

|c - c0| < r

s also in M.

Proof: Note that z = 0 is automatically a fixed point of the function G[n, c, z]. We will show that it is a superstable fixed point; this means that its derivative D[G[, c, z], z] /. z -> 0 is 0. To see this, note that for each n > 0, G[n, c0, z] is an even function of z, i.e.,

G[n, c0, z] = G[n, c0, -z].

This means that for fixed values of n and c, G[n, c0, z] is a polynomial in z^2, say p[z^2]. Hence its derivative is (using the chain rule) 2z*p'[z], and this vanishes when z = 0.

Now if we replace c0 by a nearby point c, then the fixed point of G[n, c, z] is a small number s, and the derivative D[G[n, c, z], z] /. z -> s is a small number u. It is possible to choose an r that ill guarantee that |u| < 1. This means that c is in the period n body of M.

Preperiodic points.

A point c in M is preperiodic with period n if its critical orbit becomes periodic with period n after a finite number of steps. Two examples are c = 2 and c = I. Their critical orbits are

{0, -2, 2, 2,...} and {0, I, I-1, I, I-1, ...}

respectively and their periods are 1 and 2. In these cases the fixed points in question are repelling. To see this, the relevant derivatives are

D[G[1, -2, z], z]/.z -> 2 = 4,

D[G[2, I, z], z]/.z -> I = -4 - 4 I,

and D[G[2, I, z], z]/. z-> I - 1 = 4 + 4 I,                     (7.4)

and all of these have absolute value exceeding 1. This means that these points are not part of a periodic body, and they are not in a black region of M. There are points arbitrarily close that do not belong to M.

Here is some code that will list some preperiodic points c0 with period 1, along with a magnification factor m that will be explained below in Theorem 7.8.

Do[p[c0_] := (G[k, c0 ,0] - G[k-1, c0, 0])/

(G[k-1, c0, 0] - G[k-2, c0, 0]);

MPoints = NSolve[p[c0] ==0,c0];

Print["Values of c0 and m for k = ",k," are "];

Print[" ", {c0, 2*G[k, c0 ,0]} /. MPoints],

{k, 3, 5}]

The output is

Values of c0 and m for k = 3 are

{{-2., 4.}, {0., 0.}}

Values of c0 and m for k = 4 are

{{-1.543689012692076, -1.678573510428321}, {-0.2281554936539618 - 1.115142508039937 I, 2.839286755214160 + 1.212581458414396 I}, {-0.2281554936539618 + 1.115142508039937 I, 2.839286755214160 - 1.212581458414396 I}, {0., 0.}}

Values of c0 and m for k = 5 are

{{-1.892910987907820, -1.927737001786787}, {-1.296355138173036 - 0.4418516057351964 I, 3.511811540280869 + 0.3518190745200629 I}, {-1.296355138173036 + 0.4418516057351964 I, 3.511811540280869 - 0.3518190745200629 I}, {-0.1010963638456222 - 0.9562865108091413 I, -0.6551723573987147 - 1.155512906597899 I}, {-0.1010963638456222 + 0.9562865108091413 I, -0.6551723573987147 + 1.155512906597899 I}, {0., 0.}, {0.3439069959725680 - 0.7006200202350049 I, 2.107229318011193 + 1.265537335108605 I}, {0.3439069959725680 + 0.7006200202350049 I, 2.107229318011193 - 1.265537335108605 I}}

Here are illustrations of M near some of these these points.   Figure 7.5. The Mandelbrot set near c0 = -2, magnified 5, 20 and 80 times.   Figure 7.6. The Mandelbrot set near c0 = -0.228155 + 1.11514 I, magnified 5, 15 and 45 times.   Figure 7.7. The Mandelbrot set near c0 = -0.101096 + 0.956287 I, magnified 5, 15 and 45 times.

These pictures have three features in common:

• The points in question are not in black regions of M. In each case one can compute a derivative as in (7.4) and see that the relevant fixed point is repelling. We have already seen that the fixed point of G[1, c, z] = z^2 + c (regarded as a function of z) is repelling whenever c is outside the main cardioid.
• They exhibit self-similarity, i.e., they look roughly the same at increasing magnifications. This becomes more precise as the magnification increases.  We will see later that if c0 is the preperiodic point and we repeatedly magnify the picture by a factor of  m = 1 + Sqrt[1-4*c0], the successive images become indistinguishable. This means that we replace a nearby value of c by c0 + (c-c0)/m, which entails magnifying the picture centered at c0 by a factor of Abs[m] (which always exceeds 2) and rotating clockwise through the angle Arg[m].
• There is a sequence of miniature Ms of decreasing size converging to the point. Each of them has a periodic point in its main cardioid, and thse can be found by solving suitable equations. We will discuss this more below.

There is a fourth feature not visible in these pictures: For  preperiodic point c0, the Julia set J(c0) near the point z = c0 looks very much like the Mandelbrot set M near c0. This is a theorem of Lei [Lei90], which we will discuss further below.

Now we will discuss a way to locate periodic points c near a preperiodic point c0. We will use the Mathematica command FindRoot instead of the usual NSolve. The latter finds numerical values of all roots of a given polynomial, while the former finds just one near a given number using Newton's method. Here is some code for this.

c0 = -2;c = -1.

Do[Previous = c - c0; c = c/.FindRoot[G[n,c,0]==0,{c, c0}];

Print["The nearest period ",n," point is ",c," and |c - c0| = ",

Abs[c-c0], "."];

Print["The ratio of the previous distance to this one is ",

Previous/(c-c0), "."]'Print[""],{n, 3, 6}]

The output is

The nearest period 3 point is -1.754877670117962 and |c - c0| = 0.2451223298820380.

The ratio of the previous distance to this one is 4.079595687921363.

The nearest period 4 point is -1.940799806561466 and |c - c0| = 0.05920019343853422.

The ratio of the previous distance to this one is 4.140566367178194.

The nearest period 5 point is -1.985424253056363 and |c - c0| = 0.01457574694363695.

The ratio of the previous distance to this one is 4.061554695444141.

The nearest period 6 point is -1.996376137711542 and |c - c0| = 0.003623862288458123.

The ratio of the previous distance to this one is 4.022158068771044.

The ratio between successive distances appears to be converging to 4, which is the value of 1 + Sqrt[1-4*c0].

Theorem 7.8. Let c0 be a preperiodic point with period 1. Let c[n] denote the nearest periodic point with period n. Then the limit of the ratio

(c[n] - c0)/(c[n+1] - c0)

as n approaches infinity is m = 2h, where h is the fixed point of the critical orbit of c0. The value of m is either 1 + Sqrt[1 - 4*c0] or 1 + Sqrt[1 - 4*c0].

We will give an explanation of this which falls short of being a mathematical proof by replacing the ratio in question by an approximation of it given by Newton's method. By definition c[n] is the root of G[n, c, 0] closest to c0. Newton's approximation for this is

c0 - G[n, c0, 0]/(D[G[n, c, 0], c]/.c -> c0).                (7.9)

For simplicity we will denote (D[G[n, c, 0], c]/.c -> c0) by d[n], and G[n, c0, 0] by h[n]. We are assuming that c0 is preperiodic with period 1, which means that for large enough n, h[n] = h.

Since G[n, c, 0] = G[n-1, c, 0]^2 + c, it follows that for large n

d[n] = 2*h*d[n - 1] + 1

and

d[n+1] = 2*h*d[n] + 1

= 2*h*(2*h*d[n - 1] + 1) + 1

= 4*h^2*d[n - 1] + 2*h + 1.

When we substitute all of this into (7.7) we get

(h/(d[n])/(h/(d[n + 1]))

= d[n + 1]/d[n]

= (4*h^2*d[n - 1] + 2*h + 1)/(2*h*d[n - 1] + 1)

= 2*h + 1/(2*h*d[n - 1] + 1)

= 2*h + 1/d[n].

The limit of this as n approaches infinity is 2*h as claimed, because d[n] gets arbitrarily large as n approaches infinity.

This argument falls short of being a mathematical proof because we have not justified replacing c[n] in 7.8 by the approximation for it of (7.9). It is possible to estimate the error of this approximation and hence that of our estimate of the ratio in 7.8. Then one can show this error gets arbitrarily small, but we will not attempt this here.

Possible homework assignment: Make a similar calculation for preperiodic points with periods greater than 1, e.g. for c0 = I.

Newton's method for finding roots of polynomials.

Newton's method (also known as the Newton-Raphson method) will appear twice in this course. In this lecture we are using it as a method for approximating the roots of polynomials. Later on we will use it to construct some interesting fractals having to do with caes where it fails as a numerical method. Here is an online reference from Eric's Treasure Trove of Mathematics.

Now suppose that p[x] is a polynomial (or other function) whose root we want to find, and we knwo that the number x0 is near a root, i.e. a number x such that p[x] = 0. We replace p[x] by the linear approximation of it at x0, namely

r[x] = p[x0] + p'[x0](x - x0).

Solving the equation r[x] = 0 gives a new estimate of the root,

x1 = x0 - p[x0]/p'[x0].

Under favorable circumstances, this number is closer to the actual root that x0 was. We can repeat this process using x1 as our estimate. In this way we get a sequence of estimates

x2 = x1 - p[x1]/p'[x1],

x3 = x2 - p[x2]/p'[x2], etc.

In many cases these converge to the root very quickly.

As an illustration, let p[x] = x^2 - 2, so the root we are looking for is Sqrt. Our second approximation is

x1 = x0 - p[x0]/p'[x0]

= x0 - ((x0)^2 - 2)/(2*x0)

= (x0 + 2/x0)/2.

Here is a Mathematica program that illustrates how rapidy this converges to Sqrt using x0 = 1.

x0=1;

Do[x0 = (x0 + 2/x0)/2;

Print["n = ",n, ": Estimate = ", InputForm[x0]];

Print[" Error = ", InputForm[N[Sqrt-x0, 20]]],

{n, 1, 5}]

The output is

n = 1: Estimate = 3/2

Error = -0.0857864

n = 2: Estimate = 17/12

Error = -0.0024531

n = 3: Estimate = 577/408

Error = -2.1239014*10^-6

n = 4: Estimate = 665857/470832

Error = -1.5948618*10^-12

n = 5: Estimate = 886731088897/627013566048

Error = -8.9929283*10^-25

Note that the number of digits of precision roughly doubles each time.

This page was last revised on February 10, 1998.