An Overview of Complex Dynamics Using a Computer Program by Felix Kiren Huang

A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science University of Washington 1995

Approved by (Chairperson of Supervisory Committee)

Program Authorized to Offer Degree Mathematics Date

Contents

1 Introduction 1 2 Fixed Points 34 3 Julia Set 73 4 Structure of the Fatou Set 100 5 Critical Points 133 6 Computer Program 187

1 Introduction

Complex Dynamics is the study of the behavior of complex functions under iteration. This field originated with the Newton iteration method for approximating roots and with the introduction of complex conjugation methods by Schröder in 1871. Based on Montel’s ideas about normal families, in the 1920’s Fatou and Julia laid the foundations of the modern theory. In this paper, we provide an overview of Complex Dynamics and use a scientific computing program we wrote to produce “motion pictures” to illustrate the main concepts. This section gives an introduction to basic notions and reasons why we want to iterate a rational function. In the following sections, topics covered include fixed points, the Julia set, the structure of the Fatou set, and critical points. The last section discusses the computer program. The prerequisite is a first-year graduate Complex Analysis course or knowledge of complex function theory as may be found in Ahlfors’ Complex Analysis.

Let C^{∗} = C ∪ {∞}. A rational function r(z) : C^{∗} → C^{∗} is a ratio p(z)/q(z) for some polynomials p(z) and q(z) with no common factors. The degree of r(z) is max{deg p(z), deg q(z)}. We focus on rational functions in this paper.

Proposition 1.1 A rational function (≠ identity) of degree d is a d-to-1 analytic map of C^{∗} onto C^{∗}.

Suppose f : C^{∗} → C^{∗} is a rational function. The nth iterate of f is f_{n}(z) ≡ f(f(...f(z)...)) = f ∘ f ∘ ... ∘ f(z). In other words, f_{n} is the composition of n copies of f. We select a starting point z_{0} ∈ C^{∗} and then apply f repeatedly constructing the points

z_{0}, z_{1} = f(z_{0}), z_{2} = f(z_{1}) = f_{2}(z_{0}), ... , z_{n} = f_{n}(z_{0}), ...

Many questions arise; for example, does the sequence z_{n} converge ? For which values of the initial point z_{0} does the sequence z_{n} converge ? If the sequence z_{n} does not converge, can we say anything about its behavior ? For two distinct initial points z_{0} and w_{0}, let z_{n} ≡ f_{n}(z_{0}) and w_{n} ≡ f_{n}(w_{0}). If z_{0} is close to w_{0}, will z_{n} and w_{n} remain close to each other as n → ∞ ?

The set {z_{n} : n ∈ N} is called the orbit of z_{0}, and z_{0} is called the seed of its orbit {z_{n}}. Instead of looking at the future progress of z_{0}, we can also look at its history. The set f_{−1}(z_{0}) ≡ {z ∈ C^{∗} : f(z) = z_{0}} is called the immediate preimage of z_{0}, f_{−k}(z_{0}) ≡ {z ∈ C^{∗} : f_{k}(z) = z_{0}}, and ⋃_{k=1}^{∞}f_{−k}(z_{0}) is called the preimage of z_{0}. Note that the preimage of z_{0} is a tree rather than a sequence.

A point a such that f(a) = a is called a fixed point of f, and λ ≡ f′(a) is called its multiplier. If a = ∞, we define λ to be the multiplier of the fixed point 0 of g(z) ≡ 1/f(1/z). We say that a is:

(1) an attracting fixed point of f if |λ| < 1;
(2) a repelling fixed point of f if |λ| > 1.

The classification of fixed points will be discussed in greater detail in Section 2, yet it may be helpful to make some remarks now. If z is close to a fixed point a, then approximately

|f(z) − a| = |f(z) − f(a)| ≈ |f′(a)| · |z − a| .

So points close to an attracting fixed point move closer to it when we apply f, while points close to a repelling fixed point move away from it. There is a neighborhood U of the attracting fixed point a such that for every z_{0} ∈ U, z_{n} ≡ f_{n}(z_{0}) converges to a as n → ∞. If z_{0}, w_{0} ∈ U and z_{0} is close to w_{0}, then z_{n} and w_{n} stay close to each other for all n, where z_{n} ≡ f_{n}(z_{0}) and w_{n} ≡ f_{n}(w_{0}).

For a rational function f, we define its Newton function

N_{f}(z) ≡ z − \frac{f(z)}{f′(z)} .

The zeros of f are fixed points of N_{f}; more precisely, an m-fold zero b of f has multiplier 1 − 1/m for N_{f}, and hence b is an attracting fixed point of the rational function N_{f}. One way to find a root of a rational function (or a polynomial) f is to pick an initial guess z_{0} ∈ C and iterate N_{f} at z_{0}. If z_{0} is close to a root b of f, then the sequence z_{n} = (N_{f})_{n}(z_{0}) will converge to b since b is an attracting fixed point of N_{f}. The method above to find a root of a polynomial is called the Newton iteration method. If b is a zero of f and z_{0} is close to b, then the convergence of z_{n} is quadratic as n → ∞. Although the Newton iteration method may not work for an inappropriate initial guess, in general the iteration of the rational function N_{f} will produce the roots of a polynomial (or a rational function) f. This gives us one reason to iterate a rational function. To study the behavior of the iteration of general rational functions may also help us understand other dynamical systems, systems changing in time, such as the motion of the stars and galaxies in the heaven, the stock market, the world’s weather, and the relation between DNA and living creatures. Sometimes when we look at a complicated image (like a living creature) made by our computer program, we can hardly imagine that it is generated from a simple rational function (like DNA) under iteration.

Now we want to describe the central idea in iteration theory. For a point z_{0} ∈ C^{∗}, we ask the question, “when w_{0} ∈ C^{∗} is sufficiently close to z_{0}, do the two sequences z_{n} and w_{n} show roughly the same behavior ?” In other words, “do z_{n} and w_{n} stay close to each other for all n ? ” The answer depends on the choice of z_{0}. We divide C^{∗} into the Fatou set F_{f} consisting of those z_{0} for which the answer is “yes” and the Julia set J_{f} consisting of those z_{0} for which the answer is “no”. One example of the Fatou set is that if z_{0} and w_{0} are around an attracting fixed point a, then z_{n} and w_{n} converge to the same point a. So a neighborhood of a is contained in the Fatou set. The action of f_{n} on F_{f} preserves the proximity of points, while the repeated action of f on J_{f} drives points around J_{f} apart. The Fatou set F_{f} is the “well-behaved” set, and the Julia set J_{f} is the chaotic set. This central idea, the foundation of this subject, originated with the French mathematicians Pierre Fatou and Gaston Julia around 1918. We will discuss the Julia set and the Fatou set in sections 3 and 4 in greater detail.

A maximal open and connected subset of the Fatou set is called a component of the Fatou set. Given a rational function f, the behavior of f can be mostly understood by observing the repeated action of f on the components of its Fatou set F_{f}. More than sixty years after the fundamental work by Fatou and Julia, this subject attracted new interest in the early 1980’s, when Dennis Sullivan announced his famous

“no wandering domains theorem”. Sullivan’s theorem and the classification

theorem complete the classification of the behavior of the iteration of a rational function on the components of its Fatou set. They were important achievement in this field after 1980. Usually our computer program can exhibit the components of the Fatou set quickly, and from these motion pictures we can get a rough idea of the behavior of an input rational function. The components of the Fatou set will be discussed in Section 4.

Fractals are sets which always resemble the original image when magnified over and over again. After 1980, advances in computer technology made the computer images of complicated fractal objects available, such as the Fatou and Julia sets, while the old masters could only imagine those intricate sets in their mind. These computer images have inspired the mathematical thoughts. This subject can be studied theoretically and empirically. Since 1993, we, Mike Stark and Felix Huang and Don Marshall, have made a computer program for this subject using C language and X window. Our computer program can take a usual expression of a rational function as input, and produce serial colorful pictures as the iteration proceeds. It is also able to symbolically compute the arithmetic operation, differentiation, Newton function, and composition of rational functions, and to generate orbits, periodic points, critical points and preimages. We can use it to get a function value at a point z_{0} ∈ C^{∗} for a certain iteration n, or find the roots of a rational function by means of its Newton function. One of our goals in this paper is to explain what these images mean, how they are generated on the computer, and how we can use this computer program to help understand rational iteration.

Our computer program interacts with users by four windows — the complex plane window, the text window, the position window, and the identity window. The complex plane window is used to show the computation results of an input function at a certain iteration and provide a bunch of command buttons. The text window is used to input functions and points, and display the symbolic and numerical results. The position window is used to show the function values when we drag (keep pressing) the middle button of the mouse. The identity window is used for reference. The following picture shows the identity window for z ∈ [−5, 5] × [−5, 5].

In the identity window, we denote each discrete z by a dot of color and brightness. The color represents the argument, and the brightness represents the magnitude. The red color corresponds to a narrow sector around the argument 0, the green color corresponds to a narrow sector around the argument \frac{2π}{3}, and the blue color corresponds to a narrow sector around the argument −\frac{2π}{3}. A brighter dot represents a bigger magnitude, and a darker dot represents a smaller magnitude. Black denotes 0, and white denotes ∞. In the complex plane window, we represent a function f by coloring each discrete point z with the same color and brightness as f(z) on the identity window. In other words, each function value f(z) is denoted by a dot of color and brightness at the location of discrete z in the evaluation area. Thus, if f(a) = 0, then the dot at z = a will be black; if f(b) = 1, then the dot at z = b will be purely red. The following picture of the complex plane window shows the function f(z) = z, for z ∈ [−2, 2] × [−2, 2].

The margins of the evaluation area are displayed around the picture on the x and y-axes. A brighter dot at the location of z represents a bigger magnitude of f(z), and a darker dot at z represents a smaller magnitude of f(z). A red dot at a point a ∈ [−2, 2]×[−2, 2] means that the function value f(a) is almost real; in other words, the argument of f(z) is about 0. A green dot at a point b ∈ [−2, 2] × [−2, 2] means that the argument of the function value f(b) is about \frac{2π}{3}. The iteration number is shown on the lower-right border and the color center on the upper-right border. For this case, iteration = 1 means that the picture shows f(z) on the evaluation area. When iteration = n, the picture of the complex plane window shows the nth iterate f_{n}(z) on the evaluation area.

Now we want to see f(z) = z(z − 1)(z − i) on the region [−2, 2] × [−2, 2]. To input this function, we may press (move the mouse on and hit the left button of mouse) Show in the complex plane window, and type

z(z-1)(z-i) <cr>

in the text window, where <cr> denotes the \underline{Return} key. Then the computer program will parse the input string, get a symbolic representation of the input function, compute function values f(z) for z ∈ [−2, 2] × [−2, 2], and produce the picture of f(z) over [−2, 2] × [−2, 2].

From the picture above, we can see three black dots at z = 0, 1, and i, where f(z) = 0. The color change of one round occurs around these three roots, which means the winding numbers of f at these three roots are one and these are simple roots of f. To examine the function values on the evaluation area, we may drag (keep pressing) the middle mouse in the picture, and then the position window will display z, f(z), f′(z), and |f′(z)|, where z is the location the mouse points to. The function values are also displayed in the text window. So we can copy and paste complex numbers (z or f(z)) from the text window. When we drag the middle mouse in the picture around z = 1, we get the position window as follows.

We see that when z is close to 1, the function value f(z) is about 0. In the position window, the color and brightness of f(z) is the same as the dot of f(z) in the picture. The color and brightness of z corresponds to the location z in the evaluation area [−2, 2] × [−2, 2]. When we drag the middle mouse in the picture around z = i, we get the position window as follows.

So when z is close to i, the function value f(z) is about 0. Taking the usual “resize” procedure in X window, we can resize the complex plane window to get a better view as follows.

The picture of f(z) will be generated according to the new size of window we specified. The evaluation area for z remains the same.

Consider the function f(z) = (z + 1)(z − 1)^{2} for z ∈ [−2, 2] × [−2, 2]. To input this function, we may press Show in the complex plane window, and type

(z+1)(z-1)^2 <cr>

in the text window.

From the picture above, we see that two black dots at z = -1, 1 and circular color change around them, which are the two roots of f(z). The color change of two rounds occurs around 1, which means that 1 is a double root of f. The color change of one round occurs around -1, which means -1 is a simple root of f. To scrutinize a smaller area, we may create a subwindow of interest by dragging the left mouse from a corner to its diagonal corner as the white box in the following picture.

The picture of this subwindow is shown below. The margins of this smaller evaluation area are displayed around the picture on the x and y-axes. We may drag the middle mouse in this picture to check function values, or create a subwindow from this picture again. All command buttons around the picture on this subwindow work as usual.

When we press (move the mouse to and hit the left mouse) Nf command button on the complex plane window, the Newton function N_{f}(z) of the input function f is generated symbolically, and then N_{f} is iterated. We want to investigate a few properties of the Newton iteration method, and see how to use Newton function N_{f} to find the approximate roots of a polynomial (or a rational function) f. We have the following 3 propositions about the Newton iteration method.

Proposition 1.2 Suppose a, b ∈ C.

If f′(a) ≠ 0, then f(a) = 0 if and only if N_{f}(a) = a.

If z_{n} ≡ (N_{f})_{n}(z_{0}) → b, then N_{f}(b) = b (that is, f(b) = 0).

Proposition 1.3 [quadratic convergence] Suppose f′(a) ≠ 0, f(a) = 0, and z_{n} ≡ (N_{f})_{n}(z_{0}), where z_{0} (an arbitrary point in C) is called the initial guess. If |z_{0} − a| is sufficiently small, then |z_{n} − a| < (\frac{1}{2})^{(2^{n})}. (Note. The convergence of the Newton function is not quadratic if f′(a) = 0.)

Proposition 1.4 A rational function r is a Newton function if and only if for all finite fixed points a ∈ C of r, r′(a) = 1 − \frac{1}{m}, for some m ∈ Z\\{0\}.

Example 1.1 f(z) = z(z − 1)(z − i). To input this function, we may press Iterate and type

z(z-1)(z-i) <cr>

in the text window. As the iteration proceeds, the corresponding pictures will be shown one by one as follows.

From the picture of f_{2}(z), we see 9 locations around which circular change of color occurs. These 9 locations z ∈ [−2, 2] × [−2, 2] are the roots of f_{2}(z) = f(f(z)). We know 0, 1, and i are three roots of f. The immediate preimage of 0, 1, and i are as follows.

0 <--- 0, 1, i
1 <---( -0.2426101492 1.3274644056 ), ( 1.3999638729 0.1737144654 ),
      ( -0.1573537238 -0.5011788710 )
i <---( -0.5115310157 0.9606227978 ), ( 0.3814885471 -0.5970050144 ),
      ( 1.1300424687 0.6363822166 )

So the 9 roots of f_{2}(z) are {0, 1, i, (−0.24261014921.3274644056), (1.39996387290.1737144654), (−0.1573537238 − 0.5011788710), (−0.51153101570.9606227978), (0.3814885471 − 0.5970050144), (1.13004246870.6363822166)}, corresponding to 9 locations of circular color change in the picture of f_{2}(z).

14 From the motion pictures above, we can observe the behavior of f as the iteration goes on. It takes 4 seconds to generate these 8 pictures on the current computer ( May 23, 1995 ) in Mathematics department at University of Washington. If we press Stop when computing iteration 18, we get the picture of f(z) on the evaluation area [−2, 2] × [−2, 2] as follows.

If we hit Q Orbit (Quick Orbit) and pick a point by clicking the left button of mouse in the colorful region, the orbit (white curves) of the seed (red dot) will be computed and shown as in the picture above. We may hit Stop and examine the flashing orbit. Even though the picture represents just iteration 18, the flashing orbit represents many more iterations of the seed. The white region means that the points there go to ∞ (about 10^{28}) after 18 iterations.

If we press Nf , our program will compute the Newton function N_{f} of f(z) symbolically, and then start iterating N_{f}. The text window displays:

Nf(z) = ( ((2.000000e+00) + (0.000000e+00)i)z^3 + ((-1.000000e+00)
+(-1.000000e+00)i)z^2 ) / ( ((3.000000e+00) + (0.000000e+00)i)z^2 +
((-2.000000e+00)+(-2.000000e+00)i)z^1 +
((0.000000e+00)+(1.000000e+00)i) )
 rat_degree=3   Nf( infinity ) = infinity

This means N_{f}(z) = \frac{2z^{3} + (−1 − i)z^{2}}{3z^{2} + (−2 − 2i)z + i}, where (a e k) in text window = a×10^{k}. We Stop when computing iteration 8. The pictures of (N_{f})_{1}, (N_{f})_{2}, (N_{f})_{3}, ..., (N_{f})_{8} are shown below.

Our current computer takes 5 seconds to generate these 8 pictures. The red region means that for all z ∈ red region, f_{n}(z) approximately equals the same value whose argument is about 0. The green region means that for all z ∈ green region, f_{n}(z) approximately equals the same value whose argument is about \frac{2π}{3}. The black region means that for all z ∈ black region, f_{n}(z) approximately equals 0. The regions on which points converge to a certain value are not fully developed yet. We may hit Cont to continue the iteration of N_{f} and Stop at iteration 18.

When we hit once or drag (keep pressing) the middle mouse in the red, green and black regions, we see function values 1, i and 0 in the position window respectively. So the iteration of Newton function N_{f} provides 3 attracting fixed points of N_{f}, which are roots of f(z).

Example 1.2 f(z) = z^{2} + z + 1 . To input this function, we may press Show and type

 f = z^2 + z + 1; f[1] <cr>

in the text window. The picture of f(z) at iteration 1 is displayed. Then we press Nf to generate the Newton function N_{f} and iterate it. We Stop at iteration 9 and get:

N_{f}(z) = (z^{2} − 1)/(2z + 1)

When we drag the middle mouse in the blue region, the position window displays:

We almost see the function value ( -0.5000000000 -0.8660254038 ) = \frac{−1−i\sqrt{3}}{2} in the blue region everywhere, which means the points in the lower half plane are attracted to that value after 9 iterations. When we drag the middle mouse in the green region, the position window displays:

The points in the upper half plane converge to ( -0.5000000000 0.8660254038 ) = \frac{−1+i\sqrt{3}}{2}. So if we pick an initial guess in the upper half plane, we will get the root \frac{−1+i\sqrt{3}}{2} of f(z) under the iteration of N_{f}, and if we pick an initial guess in the lower half plane, after iterating N_{f} we get the root \frac{−1−i\sqrt{3}}{2} of f(z).

Definition [fixed points]. Let C^{∗} = C ∪ {∞}, and f : C^{∗} → C^{∗} be a rational function. If a ∈ C^{∗} and f(a) = a, then we call a a fixed point of f and λ ≡ f′(a) the

multiplier.

Suppose f(a) = a. Then

a is an attracting fixed point of f if |λ| < 1,
a is a superattracting fixed point if λ = 0,
a is a repelling fixed point of f if |λ| > 1,
a is a rationally neutral fixed point if |λ| = 1 and λ^{n} = 1 for some

n ∈ N, and

a is an irrationally neutral fixed point if |λ| = 1 and λ^{n} ≠ 1 for all

n ∈ N. If f(∞) = ∞, then f′(∞) ≡ g′(0), where g(z) ≡ \frac{1}{f(\frac{1}{z})} (hence g(0) = 0), and

then f has the same type of fixed point at ∞ as g does at 0. Example 1.3 f(z) = z^{3} − 2z − 5 . To input this function, we may press Show and type

 f = z^3 - 2z - 5; f[1] <cr>

in the text window. The picture of f(z) at iteration 1 is displayed. Then we press Nf to generate the Newton function N_{f} and iterate it. We Stop at iteration 14 and get:

N_{f}(z) = (2z^{3} + 5)/(3z^{2} − 2)

If we drag the middle mouse in the red region, the text window window displays:

      z =( 1.5151515152 -0.0121212121 )
f[14](z)=( 2.0945514815 0.0000000000 )

After 14 iterations, the function value ( 2.0945514815 0 ) ∈ R, and its argument = 0 (red). All points in the red region converge to this value.

If we drag the middle mouse in the green region, the text window displays:

      z =( -0.7393939394 1.2727272727 )

f[14](z)=( -1.0472757408 1.1359398891 )

If we drag the middle mouse in the blue region, the text window window displays:

      z =( -0.8121212121 -0.8727272727 )
f[14](z)=( -1.0472757408 -1.1359398891 )

To get the function value of a specific point z at any iteration n, we may press f[n](z) and type 1 2.0945514815 0 <cr> in text window. Then the text window shows:

Please input iteration Rez Imz : 1 2.0945514815 0
        z =( 2.0945514815 0.0000000000 )
   f[1](z)=( 2.0945514815 0.0000000000 )
(f[1])'(z)=( 0.0000000000 0.0000000000 )
   |f[1]'|=0.0000000000

So we know that 2.0945514815 is a superattracting fixed point of N_{f}.

If we press f[n](z) and type 1 -1.0472757408 1.1359398891 <cr> in text window, we get:

Please input iteration Rez Imz : 1 -1.0472757408 1.1359398891
        z =( -1.0472757408 1.1359398891 )
   f[1](z)=( -1.0472757408 1.1359398891 )
(f[1])'(z)=( 0.0000000000 0.0000000000 )
   |f[1]'|=0.0000000000

If we press f[n](z) and type 1 -1.0472757408 -1.1359398891 <cr> in text window, we have:

Please input iteration Rez Imz : 1 -1.0472757408 -1.1359398891
        z =( -1.0472757408 -1.1359398891 )
   f[1](z)=( -1.0472757408 -1.1359398891 )
(f[1])'(z)=( 0.0000000000 0.0000000000 )
   |f[1]'|=0.0000000000
Therefore ( 2.0945514815 0 ), ( -1.0472757408 1.1359398891 ), and

( -1.0472757408 -1.1359398891 ) are three superattracting fixed points of N_{f}. This verifies Propositions 1.2 and 1.4 with the winding number m = 1.

To check f(z) at these three points, we input f(z) again by pressing Show and typing

 f = z^3 - 2z - 5; f[1] <cr>

in the text window. Then we evaluate f(z) (= f_{1}(z)) by pressing f[n](z) and inputing these three points in text window. We get:

Please input iteration Rez Imz : 1 2.0945514815 0
        z =( 2.0945514815 0.0000000000 )
   f[1](z)=( 0.0000000000 0.0000000000 )
Please input iteration Rez Imz : 1 -1.0472757408 1.1359398891
        z =( -1.0472757408 1.1359398891 )
   f[1](z)=( 0.0000000000 0.0000000000 )
Please input iteration Rez Imz : 1 -1.0472757408 -1.1359398891
        z =( -1.0472757408 -1.1359398891 )
   f[1](z)=( 0.0000000000 -0.0000000000 )
So ( 2.0945514815 0 ), ( -1.0472757408 1.1359398891 ) , and
( -1.0472757408 -1.1359398891 ) are the three roots of f(z).

Definition [periodic points]. Suppose f is a rational function. a ∈ C^{∗} is a periodic point of f if f_{n}(a) = a, for some n ∈ N. The minimal n is called the period of a. The orbit {f(a), f_{2}(a), ..., f_{n}(a) = a} is called a cycle of

     length n or n-cycle.

We classify the periodic points and cycles as attracting, repelling,

     rationally neutral, and irrationally neutral according to the type of

fixed point for f_{n}.

In some cases, the Newton iteration method does not work. The following 3 examples (1.4, 1.5, 1.6) show this.

Example 1.4 f(z) = z^{4} + 3z + 3 . To input this function, we may press Show and type

f=z^4 + 3z + 3; f[1] <cr>

in the text window. Then we press Nf and observe the iteration of N_{f}. We see the black regions and light-blue regions are alternating. We hit Stop when computing iteration 20 and get the picture of (N_{f})_{20}(z).

To view (N_{f})_{21}(z), we press One more .

To view (N_{f})_{22}(z), we may press One more again, and we get the same picture as that of (N_{f})_{20}(z). The function values on the 4 fixed color regions give the 4 roots of f(z), but if we pick an initial guess z_{0} in a black region or light-blue region, the sequence z_{n} ≡ (N_{f})_{n}(z_{0}) will not converge. The sequence z_{n} moves back and forth between these two regions forever. If we hit Q Orbit and pick a seed by clicking the left mouse in a black region, then the text window shows:

......
f[979](z)=( 0.0000000000 -0.0000000000 )
f[980](z)=( -1.0000000000 0.0000000000 )
f[981](z)=( 0.0000000000 -0.0000000000 )
f[982](z)=( -1.0000000000 0.0000000000 )
......

So points in regions of these two colors “converge” to the 2-cycle {0, -1} . To check the type of this 2-cycle, we press f[n](z) and type the relevant iteration and points several times. We get:

Please input iteration Rez Imz : 1 0 0
        z =( 0.0000000000 0.0000000000 )
   f[1](z)=( -1.0000000000 0.0000000000 )
(f[1])'(z)=( 0.0000000000 0.0000000000 )
   |f[1]'|=0.0000000000
Please input iteration Rez Imz : 1 -1 0
        z =( -1.0000000000 0.0000000000 )
   f[1](z)=( 0.0000000000 -0.0000000000 )
(f[1])'(z)=( 12.0000000000 0.0000000000 )
   |f[1]'|=12.0000000000
Please input iteration Rez Imz : 2 0 0
        z =( 0.0000000000 0.0000000000 )
   f[2](z)=( 0.0000000000 -0.0000000000 )
(f[2])'(z)=( 0.0000000000 0.0000000000 )
   |f[2]'|=0.0000000000
Please input iteration Rez Imz : 2 -1 0
        z =( -1.0000000000 0.0000000000 )
   f[2](z)=( -1.0000000000 0.0000000000 )
(f[2])'(z)=( 0.0000000000 0.0000000000 )
   |f[2]'|=0.0000000000

Thus {0, -1} forms a superattracting 2-cycle.

Example 1.5 f(z) = z^{3} − 0.4493762319 z + 0.4493762319 . To input this function, we may press Iterate and type

z^3 - 0.4493762319 z + 0.4493762319 <cr>

in the text window, where 0.4493762319 is an approximate root of x(x + 3)^{3} + 2(x + 2)^{3}. Then we hit Stop and Nf to iterate its Newton function N_{f}. Using Q Orbit and f[n](z) , we can check to see that {0, 1, 0.6079390422} forms a superattracting 3-cycle for N_{f}.

Example 1.6 f(z) = z^{3} − 2z + 2 . The Newton function N_{f}(z) = \frac{2z^{3} − 2}{3z^{2} − 2} has a superattracting 2-cycle \{0, 1\} .

For some rational function r, the regions of attraction of N_{r} are not evenly distributed, and hence it is hard to find a certain root of r(z) when we pick initial guesses randomly.

Example 1.7. p(z) = 5z^{6} − 6z . We iterate the Newton function N_{p} of p and get:

When we drag the middle mouse in the red region, we find the function value 1.0371372893 = \sqrt{\frac{6}{5}}, which is a root of p(z). The black region of N_{p} gives 0, and five color regions of N_{p} give \sqrt{\frac{6}{5}}exp(\frac{i2πk}{5} ), k = 0, 1, 2, 3, 4. They are 6 roots of p(z). Note that these regions of N_{p} are distributed evenly.

Now consider the rational function r(z) ≡ \frac{5z^{6} − 6z}{4z^{6} − 5} = \frac{p(z)}{4z^{6} − 5}. Then r(z) has the same 6 roots as p(z). To input this function, we may press Show and type

 r = (5 z^6 - 6 z)/(4z^6 - 5); r[1]

in the text window. Then we press Nf to generate N_{r} and iterate N_{r}. We have:

Note that white regions are introduced, which means ∞ is an attracting fixed point of N_{r}(z). But ∞ is not a root of r(z). The yellow, green, blue, and purple regions give function values \sqrt{\frac{6}{5}}exp(\frac{i2πk}{5} ), k = 1, 2, 3, 4, respectively. We are not able to see any red regions in the picture above, but we know 1.0371372893= \sqrt{\frac{6}{5}} is a simple zero of r(z) and should be a superattracting fixed point of N_{r}(z) by Propositions 1.2 and 1.4. To scrutinize a smaller area, we can use a subwindow (gray rectangle in the picture above) to magnify this area by dragging the left mouse from a corner of the rectangle to its diagonal corner. A subwindow of this rectangular area is created as follows.

The margins of this area are shown around the picture. We see a tiny red region around 1.04 . To get a better view, we may create subwindows around 1.04 again and again.

32 Now we see the red region. If we drag the middle mouse in the red region, we find the function value 1.0371372893 = \sqrt{\frac{6}{5}}. So points in the red region are attracted to \sqrt{\frac{6}{5}}. To check f(z) at z = \sqrt{\frac{6}{5}}, we press f[n](z) and type 1 1.0371372893 0 <cr> in the text window. Then the following is displayed.

Please input iteration Rez Imz : 1 1.0371372893 0
        z =( 1.0371372893 0.000000 )
   f[1](z)=( 1.0371372893 -0.000000 )
(f[1])'(z)=( -0.000000 0.000000 )
   |f[1]'|=0.000000

Therefore 1.0371372893 is a superattracting fixed point of N_{r}.

These regions of attraction of N_{r} are not evenly distributed. So if we pick an initial guess randomly, we can hardly find the root \sqrt{\frac{6}{5}} of r(z) under the iteration of N_{r}.

2 Fixed Points

In this section, we discuss the behavior of f around different types of fixed points and use examples to illustrate the main concepts.

Proposition 2.1 If r(z) : C^{∗} → C^{∗} is continuous, then r has at least one fixed point.

Proposition 2.2 If r(z) is a rational function of degree d, then r has at most d + 1 fixed points.

Proof. r(z) − z has degree ≤ d + 1. The preimage of 0 for r(z) − z contains at most d + 1 points.

Definition [conjugation] A function f : U → U is conjugate to a function g : V → V if there is a conformal map φ : U → V such that g = φ ∘ f ∘ φ^{−1}.

That is, φ(f(z)) = g(φ(z)) for every z ∈ U.

If f is conjugate to g, then the iterates f_{n} are conjugate to g_{n} since g_{n} = φ∘f_{n} ∘φ_{−1}, and g_{−1} = φ ∘ f_{−1} ∘ φ_{−1}. Hence φ maps fixed points of f to fixed points of g, and the multipliers at the corresponding fixed points are equal. We know f(a) = a implies f′(a) = g′(φ(a)). So the conjugation preserves fixed points, types of fixed points, periodic points, and types of periodic points. To understand the behavior of iterations of a complicated function f, sometimes we make f conjugate to a simpler function g and discuss the behavior of g.

Proposition 2.3 Suppose r(z) is a linear fractional transformation.

That is, r(z) = \frac{az + b}{cz + d}, ad − bc ≠ 0, for some a, b, c, d ∈ C.

Then r has one or two fixed points.

Proof. From the proposition above, r has at least one fixed point.

If r has 3 or more fixed points, then r is identity map for 3 points determine a linear fractional transformation. We discuss the fixed points of r(z) as follows.

Case (1) r has one fixed point. Take a linear fractional transformation τ such that s = τ ∘ f ∘ τ^{−1} and s has one fixed point at ∞. Then s(z) = z + B. s_{n}(z) = z + nB → ∞ as n → ∞.

Case (2) r has two fixed points (distinct, since r is one-to-one). Choose a linear fractional transformation τ such that s = τ ∘ f ∘ τ^{−1} and s fixes 0 and ∞. Then s(z) = Az. s_{n}(z) = A^{n}z. If |A| < 1, then s_{n}(z) → 0 for all z ≠ ∞. If |A| > 1, then s_{n}(z) → ∞ for all z ≠ 0. If |A| = 1 and A^{k} = 1 for some k ∈ N, then s_{k} =identity. If |A| = 1 and A^{n} ≠ 1 for all n ∈ N, then z_{n} = A^{n}z are dense on {w ∈ C : |w| = |z|} for every z ≠ 0, ∞.

Example 2.1 f(z) = 2z.

If Period pt is pressed, then the text window will show:

periodic point  n=1  z=( infinity )  |(f[1])'(z)|=0.500000
periodic point  n=1  z=( 0.0000000 0.0000000 )  |(f[1])'(z)|=2.00

The picture becomes brighter and brighter after several iteration, which means the magnitudes of function values become larger and larger. From the above information (n=1), we know this function has two fixed points— 0 and ∞, while 0 is a repelling fixed point, and ∞ is an attracting fixed point. All points except 0 go to ∞ as the iteration proceeds.

Example 2.2 f(z) = \frac{(z − i)}{(z + i)} .

To input this function, we press Iterate and type

(z-i)/(z+i) <cr>

in the text window. We see periodic phenomena every 3 slides since r_{3}(z) = z. If we Stop at iteration 3k + 1, we get:

When z moves on the real line from left to right, the image f(z) travels along the unit circle. The arguments of f(z) vary from 0(red) → π/3(yellow) → 2π/3(green) → π(green-blue) → −2π/3(blue) → −π/3(purple) → 0(red). When we hit One more , we get the display of f_{3k+2}(z) = (−i)\frac{(z + 1)}{(z − 1)} .

When we hit One more again, we get the display of f_{3k} = identity. For this linear fractional transformation, all points in C^{∗} except two fixed points are periodic points with period 3.

Example 2.3 Q_{c}(z) = z^{2} + c .

Let K be the image of \{α : |α| < \frac{1}{2}\} under the map z ↦ z − z^{2} as the cardioid above. We know that c ∈ K^{o} if and only if Q_{c} has one attracting fixed point and one repelling fixed point. (see Beardon [3, page 17])

Pick c = \frac{1}{4} + \frac{i}{2} ∈ K^{o}, and Q_{c}(z) = z^{2} + (\frac{1}{4} + \frac{i}{2}) . To input this function, we may press Show and type

q = z^2 + (1/4 + i/2); q[4] <cr>

in the text window. The picture of Q_{c} at iteration 4 is displayed.

The 16 yellow rays around the green center region means that the winding number of (Q_{c})_{4} at ∞ is 16. We may press Cont to resume the iteration. If we hit Stop when computing iteration 22, we get:

After pressing Period pt , the text window will display:

periodic point  n=1  z=( infinity )  |(f[1])'(z)|=0.000000
periodic point  n=1  z=( 0.00000 0.50000 )  |(f[1])'(z)|=1.000000
periodic point  n=1  z=( 1.00000 -0.50000 )  |(f[1])'(z)|=2.236068

So we know ∞ is a superattracting fixed point, \frac{i}{2} is a neutral fixed point, and 1 − \frac{i}{2} is a repelling fixed point. Points in the white region approach ∞ as the iteration proceeds. Every point in the green-yellow region will converge to the neutral fixed point z_{0} = \frac{i}{2}. We may press Orbit and pick any point inside the green-yellow region by clicking the left mouse. Our program will generate the orbit of the initial point (seed) one by one, and the orbit flashes. We may hit Stop to stop the generation of the orbit, and the whole orbit will flash. We see the orbit swing among 4 “petals” (see Theorem 2.15). To determine the type of the neutral fixed point z_{0}, we press f[n](z) and type 1 0 0.5 <cr> in the text window. Then the text window displays:

Please input iteration Rez Imz : 1 0 0.5

        z =( 0.0000000000 0.5000000000 )
   f[1](z)=( 0.0000000000 0.5000000000 )
(f[1])'(z)=( 0.0000000000 1.0000000000 )
   |f[1]'|=1.0000000000

The multiplier λ ≡ f′(\frac{i}{2}) = i, and λ^{4} = 1. So z_{0} = \frac{i}{2} is a rationally neutral fixed point. We may hit Orb cont to continue the generation of the orbit.

The orbit converges to z_{0} = \frac{i}{2}, yet the convergence slows down because f′(z) almost equals f′(z_{0}) = i and |f′(z)| ≈ 1 for all |z − z_{0}| small. We pick a seed a in the green-yellow region arbitrarily. Let a_{n} = f_{n}(a). Then a_{n+1} = f_{n+1}(a) = f(f_{n}(a)) = f(a_{n}) ≈ z_{0}+f′(a_{n})(a_{n}−z_{0}) . So when a_{n} is very close to z_{0}, the argument of a_{n+1}−z_{0} differs from that of a_{n}−z_{0} by \frac{π}{2} and the magnitudes of these two are almost the same.

We may hit Stop and then Redraw to redraw the picture of iteration 22 without computing all the iterations again. To generate the orbit quickly (not wait and flash), we can press Q Orbit (Quick Orbit) and pick a seed by clicking the left mouse in the green-yellow region. The orbit (black dots in the picture above) from any seed (blue dot) in green-yellow region converges to the rationally neutral fixed

point \frac{i}{2}.

|c − (−1)| < \frac{1}{4} if and only if Qc has an attracting 2-cycle.

Let c = −1 − \frac{i}{8}, and Q_{c}(z) = z^{2} + (−1 − \frac{i}{8}). To input this function, we press Iterate and type

z^2 +(-1-i/8) <cr>

in the text window. We see that the green regions switch with the blue regions, and the white region remains still. When we press Orbit and pick any seed z_{0} in the green region by clicking the left mouse, we can see z_{n} = f_{n}(z_{0}) oscillate between the regions of two colors as follows.

The orbit z_{n} (white dots) from a seed (red dot in the green region) oscillates between two values as the text window displays.

......
f[5093](z)=( 0.0145427568 0.1214670679 )
f[5094](z)=( -1.0145427568 -0.1214670679 )
f[5095](z)=( 0.0145427568 0.1214670679 )
f[5096](z)=( -1.0145427568 -0.1214670679 )
......

To determine the type of the cycle of these two points, we press f[n](z) and input the desired iteration and complex numbers in the text window a few times. The text window displays:

Please input iteration Rez Imz : 1 0.0145427568 0.1214670679

        z =( 0.0145427568 0.1214670679 )
   f[1](z)=( -1.0145427568 -0.1214670679 )
(f[1])'(z)=( 0.0290855136 0.2429341358 )
   |f[1]'|=0.2446690856
Please input iteration Rez Imz : 1 -1.0145427568 -0.1214670679
        z =( -1.0145427568 -0.1214670679 )
   f[1](z)=( 0.0145427568 0.1214670679 )
(f[1])'(z)=( -2.0290855136 -0.2429341358 )
   |f[1]'|=2.0435765256
Please input iteration Rez Imz : 2 0.0145427568 0.1214670679
        z =( 0.0145427568 0.1214670679 )
   f[2](z)=( 0.0145427568 0.1214670679 )
(f[2])'(z)=( 0.0000000001 -0.4999999998 )
   |f[2]'|=0.4999999998
Please input iteration Rez Imz : 2 -1.0145427568 -0.1214670679
        z =( -1.0145427568 -0.1214670679 )
   f[2](z)=( -1.0145427568 -0.1214670679 )
(f[2])'(z)=( 0.0000000000 -0.4999999996 )
   |f[2]'|=0.4999999996

So {( 0.0145427568 0.1214670679 ), ( -1.0145427568 -0.1214670679 )}

forms an attracting 2-cycle of Q_{c}, where c = −1 − i/8 .

After hitting One more , we get (Q_{c})_{22}(z).

Proposition 2.4 [Attracting Fixed Point] Suppose a ∈ C^{∗} is an attracting fixed point of f. Then there exists a neighborhood U of a such that if z ∈ U, then f_{n}(z) ∈ U for all n ∈ N and z_{n} = f_{n}(z) → a.

Proof. f(z) − f(a) = f′(a)(z − a) + O(|z − a|^{2}). Choose ρ such that |f′(a)| < ρ < 1. There is ϵ > 0 such that for all |z − a| < ϵ, |f(z) − f(a)| < ρ|z − a|. Then |z − a| < ϵ implies |f(z) − a| = |f(z) − f(a)| < ρ|z − a| < ϵ. We can apply f again. Thus |f_{2}(z) − a| = |f(f(z)) − a| < ρ|f(z) − a| < ρ^{2}|z − a|. Let U = B(a, ϵ). Then z ∈ U implies f_{n}(z) ∈ U for all n ∈ N and |f_{n}(z)−a| < ρ^{n}|z − a| → 0.

By similar argument, we have Proposition 2.5 [Repelling Fixed Point] Suppose a ∈ C^{∗} is a repelling fixed

point of f. Then there exists a neighborhood U of a such that if z ∈ U and z ≠ a, then f_{n}(z) ∉ U for some n ∈ N.

Definition [basin of attraction] For a ∈ C^{∗}, the basin of attraction of a is A(a) = {z ∈ C^{∗} : f_{n}(z) → a}. The connected component of A(a) containing a is called the immediate basin of attraction, denoted by A^{∗}(a).

Claim 2.6 If B(z) = Π_{k=1}^{n}(\frac{z − a_{k}}{1 − ā_{k}z}), a_{1}, ..., a_{n} ∈ D and B(z) is not identity, then B(z) has at most one fixed point in D.

Claim 2.6 follows from a simple application of Schwarz’s lemma.

The following example (2.4) illustrates the claim above, verifies the attracting and repelling fixed point propositions, and shows two basins of attraction.

Example 2.4 Blaschke product f(z) = (\frac{z − 0.5}{1 − 0.5z})^{2} . To input this function, we press Iterate and type

((z-0.5)/(1-z/2))^2 <cr>

in the text window. If we Stop when computing iteration 6, we have:

Solving f(z)−z = 0 for z, we find 3 fixed points of f: 1, a = \frac{7 − 3\sqrt{5}}{2}, b = \frac{7 + 3\sqrt{5}}{2}. Let D =unit disk= \{z ∈ C : |z| < 1\}. Then a ∈ D, b ∈ C^{∗}\D̄, and b = \frac{1}{ā}. When we press Period pt , the text window displays:

periodic point  n=1  z=( 1.0000000000 0.00 )  |(f[1])'(z)|=6.000000
periodic point  n=1  z=( 0.1458980338 0.00 )  |(f[1])'(z)|=0.666667
periodic point  n=1  z=( 6.8541019662 0.00 )  |(f[1])'(z)|=0.666667

Thus f(z) has one repelling fixed point at 1 and two attracting fixed points, a and b, where a = 0.1458980338 and b = 6.8541019662 . The basins of attraction are still vague for this f(z) at iteration 6. We press Cont to resume the iteration and Stop at iteration 12.

Roughly we can see two basins of attraction — A^{∗}(a) = D and A^{∗}(b) = C^{∗}\D̄. If we press once or drag the mouse in D by keeping the middle button down and moving the mouse in D, we see the positions z and function values f_{12}(z) displayed in the position window and text window as follows.

      z =( 0.2787878788 -0.0121212121 )
f[12](z)=( 0.1468360290 -0.0000741057 )
      z =( 0.2787878788 0.0000000000 )
f[12](z)=( 0.1468347019 0.0000000000 )
      z =( 0.2666666667 0.0000000000 )
f[12](z)=( 0.1467593195 0.0000000000 )

We see points in D approaching a = 0.1458980338.

If we drag the mouse outside D̄, the text window displays:

      z =( 1.2363636364 0.9212121212 )
f[12](z)=( 6.6771379641 0.0198699021 )
      z =( 1.1757575758 1.0424242424 )
f[12](z)=( 6.6604377761 0.0393360282 )
      z =( 1.2363636364 0.9212121212 )
f[12](z)=( 6.6771379641 0.0198699021 )

We see points outside D̄ approaching b.

If we drag the middle mouse around 1, the position window shows:

So the function value of a point inside D near 1 approximately equals the function values of points in D, and the function value of a point outside D̄ near 1 approximately equals the function values of points outside D̄. These two close points near 1 are taken away from each other and from 1 after 12 iterations. This verifies the repelling fixed point proposition above.

Press Cont and Stop at iteration 65.

Now if we drag the middle mouse in D, we almost get the same function value a =

0.1458980338.

If we drag the middle mouse outside D̄, we almost get the same function value b =

6.8541019662.

If we press Q Orbit and pick a seed by clicking the left mouse in D, we can see the points in D converge to a.

Around an attracting fixed point, f is conjugate to an attracting rotation as stated in the following theorem.

Theorem 2.7 [Attracting Fixed Point] Suppose z_{0} is an attracting fixed point of f, and write f(z) = z_{0} + λ(z − z_{0}) + O(|z − z_{0}|^{2}) near z_{0}, 0 < |λ| < 1.

Then there is a conformal map φ of neighborhood U of z_{0} onto neighborhood V of 0 such that φ(z_{0}) = 0, and φ ∘ f ∘ φ^{−1}(z) = λz, for all z ∈ V.

For the proof, see Carleson and Gamelin [1, page 31 ]

Around a repelling fixed point, f is conjugate to a repelling rotation as stated in the following theorem.

Corollary 2.8 [Repelling Fixed Point] Suppose z_{0} is a repelling fixed point of f, and write f(z) = z_{0} + λ(z − z_{0}) + O(|z − z_{0}|^{2}) near z_{0}, |λ| > 1. Then there is a conformal map φ of neighborhood U of z_{0} onto neighborhood V of 0 such that φ(z_{0}) = 0, and φ ∘ f ∘ φ^{−1}(z) = λz, for all z ∈ V.

Proof. Since f′(z_{0}) ≠ 0, f is one-to-one near z_{0}. Then f^{−1} exists locally, and z_{0} is an attracting fixed point of f^{−1}. By the attracting fixed point theorem above, there is a conformal map φ such that φ(z_{0}) = 0, and φ ∘ f^{−1} ∘ φ^{−1}(z) = \frac{1}{λ}z. Thus φ ∘ f ∘ φ^{−1}(z) = λz.

Theorem 2.9 [Superattracting Fixed Point] Suppose z_{0} is a superattracting fixed point of f, and write f(z) = z_{0} + a_{p}(z − z_{0})^{p} + ..., a_{p} ≠ 0, p ≥ 2. Then there is a conformal map φ of neighborhood U of z_{0} onto neighborhood V of 0 such that φ(z_{0}) = 0, and φ ∘ f ∘ φ^{−1}(z) = z^{p}, for all z ∈ V. The conjugating function φ is unique, up to multiplication by a (p − 1)th root of unity.

Proof. See Carleson and Gamelin [1, page 33 ]

Example 2.5 Q_{c}(z) = z^{2} + (−\frac{i}{2}) .

To input this function, we press Iterate and type

z^2 + (-i/2) <cr>

in the text window.

Since c = −\frac{i}{2} ∈ K^{o}, Q_{c} has one attracting fixed point and one repelling fixed point. When we press Period pt , the text window displays:

periodic pt  n=1  z=( infinity )  |(f[1])'(z)|=0.000000
periodic pt  n=1  z=(1.1360098248 0.3930756889)  |(f[1])'(z)|=2.40
periodic pt  n=1  z=(-0.1360098248 -0.3930756889)  |(f[1])'(z)|=0.83

Hence z_{0} = ( -0.1360098248 -0.3930756889 ) is an attracting fixed point, and the dark-purple region is its basin of attraction. To verify this, we press Q Orbit and pick an arbitrary point in the dark-purple region by clicking the left mouse. The values of the orbit will be displayed in the text window as follows.

......
f[322](z)=( -0.1360098248 -0.3930756889 )
f[323](z)=( -0.1360098248 -0.3930756889 )
f[324](z)=( -0.1360098248 -0.3930756889 )

f[325](z)=( -0.1360098248 -0.3930756889 )
......

This means the points don’t move after iteration 322, and the orbit converges to the attracting fixed point z_{0}. The effect of an attracting rotation around z_{0} is shown in the picture above. The white dots (whirlpool) are the orbit of the seed (red dot).

Proposition 2.10 Let h(z) be a rational map with Newton function N_{h}(z) =

z − \frac{h(z)}{h′(z)}.

If a ∈ C is a simple zero of h, then a is a superattracting fixed point of N_{h}.

Proof. Since a is a simple zero of h, h(a) = 0 and h′(a) ≠ 0. Thus N_{h}(a) = a, and a is a fixed point of N_{h}. Since N′_{h}(z) = \frac{h(z)h′′(z)}{(h′(z))^{2}}, a is a superattracting fixed

point of N_{h}.

Proposition 2.11 Let f(z) be a rational map, and h(z) = f(z) − z. Then

N_{h}(z) = z − \frac{h(z)}{h′(z)} = \frac{zf′(z) − f(z)}{f′(z) − 1}

If f(a) = a and f′(a) ≠ 1, where a ∈ C, then a is a superattracting fixed point of N_{h}.

Proof. We know a is a simple zero of h, and then apply the previous proposition.

Usually attracting fixed points are visible in the picture for there are the basins of attraction associated with them. Usually repelling fixed points are invisible in the picture. However, the process in the propositions above turns fixed points of f to superattracting fixed points of N_{h} if f′(a) ≠ 1. So repelling fixed points of f can be seen as superattracting fixed points of N_{h}. The following examples (2.6, 2.7, 2.8) illustrate this.

Example 2.6 Blaschke product f(z) = (\frac{z − 0.5}{1 − 0.5z})^{2} .

From the previous example, we know f(z) has one repelling fixed point at 1 and two attracting fixed points, a and b, where a = 0.1458980338 and b = 6.8541019662. Then A^{∗}(a) = D, A^{∗}(b) = C^{∗}\D̄, and the repelling fixed point 1 is invisible in the picture of f(z). Let h(z) = f(z) − z. We may press Iterate and type

 ((z-0.5)/(1-z/2))^2 - z

in the text window to input h(z). Then we hit Stop and Nf . The command button Nf means to compute the Newton function of the input function and then iterate the Newton function. N_{h}(z) will be computed symbolically and shown in the text window, and then be iterated. We hit Stop when computing iteration 13, and the complex plane window shows:

N_{h}(z) = z − \frac{h(z)}{h′(z)} = \frac{−4z^{6} + 24z^{5} − 51z^{4} + 52z^{3} − 48z^{2} + 48z − 16}{−z^{6} + 12z^{5} − 72z^{4} + 238z^{3} − 420z^{2} + 360z − 112}

If we drag the middle mouse in the brown region (left), the position window displays:

So a = 0.1458980338 is a superattracting fixed point of N_{h}. If we drag the middle mouse in the dark-red region (right), the position window displays:

So now 1 (repelling fixed point of f) is a superattracting fixed point of N_{h}. We see small bright-red regions around the dark-red region, and they might be some basins of attraction of another (super)attracting fixed point. To scrutinize this area, we can use a subwindow (gray rectangle in the picture above) to magnify this area by dragging the left mouse from a corner of the rectangle to the diagonal corner. The following subwindow of this rectangular area is created.

The x and y-coordinates of this area are shown around the picture. If we drag the middle mouse in the bright-red region, the position window displays:

So b = 6.8541019662 is also a superattracting fixed point of N_{h}. All three fixed points 1, a, and b of f(z) are turned into superattracting fixed points of N_{h}.

If we feel that these similar red colors are hard to distinguish, we can change the color center. Pressing C center and typing 1 0 <cr> in the text window, we change the color center to (1 0). The picture of the same function N_{h} will be shown as follows.

N_{h}(z) = \frac{−4z^{6} + 24z^{5} − 51z^{4} + 52z^{3} − 48z^{2} + 48z − 16}{−z^{6} + 12z^{5} − 72z^{4} + 238z^{3} − 420z^{2} + 360z − 112}

After dragging the left mouse from a corner to its diagonal corner of the gray box, a subwindow with the new color center is created.

Example 2.7 Q_{c}(z) = z^{2} + (\frac{1}{4} + \frac{i}{2}) . From a previous example, we know \frac{i}{2} is a rationally neutral fixed point of f(z). Let h(z) = f(z) − z = z^{2} + (\frac{1}{4} + \frac{i}{2}) − z . To input h(z), we press Show and type

h = z^2 + (1/4 + i/2) - z; h[1] <cr>

in the text window. Then we hit Nf and Stop when computing iteration 9. We get:

N_{h}(z) = z − \frac{h(z)}{h′(z)} = \frac{zf′(z) − f(z)}{f′(z) − 1} = \frac{z^{2} − (\frac{1}{4} + \frac{i}{2})}{2z − 1}

Pressing the middle mouse in the green region (upper-left), we see that \frac{i}{2} (rationally neutral fixed point of f) is a superattracting fixed point of N_{h}. Pressing the middle mouse in the red region (lower-right), we see that 1 − \frac{i}{2} (repelling fixed point of f) is also a superattracting fixed point of N_{h}.

Example 2.8 f(z) = (z^{2} − 1)(z^{2} + 2) . The whole picture turns white after iteration 6, which means f_{n}(z) tend to ∞ for almost all z. Pressing Period pt , we get:

periodic pt  n=1  z=( infinity )  |(f[1])'(z)|=0.000000
periodic pt  n=1  z=(1.160496907 0.00000000)  |(f[1])'(z)|=8.5726
periodic pt  n=1  z=(-0.831315485 0.00000000)  |(f[1])'(z)|=3.9607
periodic pt  n=1  z=(-0.164590711 1.43038783)  |(f[1])'(z)|=9.1586
periodic pt  n=1  z=(-0.164590711 -1.43038783)  |(f[1])'(z)|=9.1586

So we know f(z) has four repelling fixed points. Let h(z) = f(z)−z = (z^{2} −1)(z^{2} + 2) − z. If we press Iterate , input h(z), Stop the iteration of h(z), press Nf and Stop when computing iteration 10, we get:

Pressing the middle mouse in red, green, blue, and purple regions respectively, we find that these four repelling fixed points of f are converted into superattracting fixed points of N_{h}.

Definition [critical point] We say a ∈ C^{∗} is a critical point of a rational function r if r is not one-to-one in a (small) neighborhood of a.

Definition [valence] If a rational function f is analytic at a ∈ C, and

f(z) = f(a) + c_{k}(z − a)^{k} + ..., c_{k} ≠ 0,

then the valence of f at a is k, denoted by v_{f}(a). We define v_{f}(∞) = v_{f}(\frac{1}{z})(0). If b ∈ C^{∗} and f(b) = ∞, then v_{f}(b) = v_{\frac{1}{f}} (b).

Proposition 2.12 a ∈ C^{∗} is a critical point of a rational function r if and only if v_{r}(a) ≥ 2. (That is, r′(a) = 0 or r has a pole at a of order two or higher.)

Theorem 2.13 [Riemann-Hurwitz relation] If r is a rational function with de-

gree d, then

∑_{z∈C^{∗}}(v_{r}(z) − 1) = 2d − 2 .

Corollary 2.14 A rational function with degree d has at most 2d−2 critical points.

We have discussed the behavior of f around attracting and repelling fixed points, and introduced critical points. Next we deal with neutral fixed points. There are “petals” around a rationally neutral fixed point as described in the Petal Theorem below. For a irrationally neutral fixed point z_{0}, the action of f is similar to a rotation around z_{0} as described in Siegel’s Theorem later.

Petal Theorem 2.15 [Rationally Neutral Fixed Point] Suppose λ ∈ C, λ^{n} =

1, and

f(z) = λz + cz^{k+1} + ..., c ≠ 0, k ≥ 1.

Then f has a rationally neutral fixed point at 0. There are 3 cases :

(1) λ = 1, k = 1. In this case, there is one attracting region called an attracting petal attached to the rationally neutral fixed point 0, and 0 is on the boundary of this petal. Every point in this attracting petal converges to 0, although the convergence slows down near 0. The flow in part of the petal (the cardioid-shaped region) looks like the following.

At the cusp the boundary curves are tangent to the horizontal line.

(2) λ = 1, k > 1. There are k attracting petals for this rationally neutral fixed point 0. f maps each petal onto itself. Every point in each petal converges to 0, although the convergence slows down near 0. The flow pattern looks like the following.

There are k repelling directions.

(3) λ ≠ 1. f_{n}(z) = z +c_{m}z^{m} +..., c_{m} ≠ 0, m > 1. Then p ≡ m−1 = multiple of n. There are p petals for this rationally neutral fixed point 0 and p repelling directions. The flow pattern looks like case (2), yet f swings among n petals.

Let p = k for case (2) and p = m − 1 for case (3). Let a = c for case (2) and a = c_{m} for case (3). Then for cases (2) and (3), there are p attracting petals, and the repelling directions are given by θ_{j} = −\frac{arg a}{p} + \frac{2πj}{p} , 0 ≤ j ≤ p − 1.

Proof. See Carleson and Gamelin [1, pages 35–41 ]

The following 3 examples (2.9, 2.10, 2.11) illustrate the Petal Theorem above.

Example 2.9 f(z) = z + z^{2}.

This function belongs to case (1) λ = 1, k = 1. There is one attracting petal for the rationally neutral fixed point 0. 0 is on the boundary of this petal, and every point in this petal converges to 0. If we press Q Orbit and pick a point in the petal by clicking the left mouse, we can see the flow like that in the cardioid-shaped region in the petal theorem. The flow slows down near 0. This is shown in the picture above. White dots are the orbit of the seed (the red dot).

Example 2.10 f(z) = z − z^{3}

63

This function f belongs to case (2) λ = 1, k = 2 > 1. There are 2 petals (big blue and red circular regions) for the rationally neutral fixed point 0. As shown in the pictures above, f maps each one of the two petals at 0 onto itself, every point in each petal converges to 0, and the convergence slows down near 0. This illustrates the Petal Theorem (2.15) case (2) with λ = 1, k = 2. All smaller blue and red regions except the big two form the preimage of these two petals. Since f[n] is a (deg f[n])-to-1 map from C^{∗} onto C^{∗}, as the iteration goes on, more and more smaller regions are created. From the picture, we see the repelling directions = \frac{π}{2}, \frac{−π}{2}. From the petal theorem, p = k = 2 and a = −1. Then \frac{arg a}{p} = \frac{π}{2}, and θ_{j} = \frac{π}{2}, \frac{−π}{2}. So the picture agrees with the theorem. The white cusps will extend and reach 0 eventually as the iteration proceeds, although the extension slows down when the cusps are close to 0. If we press crit pt , the text window shows:

critical point :  z=( 0.5773502692 0.0000000000 )  |f'(z)|=0.00
critical point :  z=( -0.5773502692 0.0000000000 )  |f'(z)|=0.00
critical point :  z=( infinity )  |(1/f)'(z)|=0.00

The number of critical points generated by the program = 3 ≤ 4 = 2d − 2, where d = 3 = degree r. We can see each petal contains one critical point as shown below.

The critical point ( 0.5773502692 0.0 ) (red dot) is in the dark-red petal, and the critical point ( -0.5773502692 0.0 ) (white dot) is in the green-blue petal. Example 2.11 f(z) = z^{2} + (\frac{1}{4} + \frac{i}{2}) . The following picture is the display of f_{31}.

We know f(\frac{i}{2}) = \frac{i}{2}, f′(\frac{i}{2}) = i and (f′(\frac{i}{2}))^{4} = 1. So \frac{i}{2} is a rationally neutral fixed point of f(z). It is not easy to see petals in the picture above with the color center (0 0). To get a better view, we can change the color center by pressing C center and typing 0 0.5 <cr> in the text window. After changing the color center to (0 0.5), we have:

There are 4 petals (purple, red, yellow, green) attached to the rationally neutral fixed point \frac{i}{2} of f. The white area is A^{∗}(∞). Pressing One more , we see f rotate these petals.

Pressing crit pt , the critical point 0 (white dot) appears in one petal as shown above. f(z) − \frac{i}{2} = i(z − \frac{i}{2}) + (z − \frac{i}{2})^{2} . This belongs to case (3) in the petal theorem with λ = i, λ^{4} = 1, n = 4. Let g(z) = iz + z^{2}. Then g(z) is a conjugation of f(z) by z + \frac{i}{2}. To iterate g(z), we press Iterate and type

iz + z^2 <cr>

in the text window. The following picture displays g_{31}(z).

g_{4}(z) = z+(−10−6i)z^{5}+(−24+6i)z^{6}+(−28+24i)z^{7}+(−29+37i)z^{8}+(−24+82i)z^{9}+ (56 + 106i)z^{10} + (128 + 20i)z^{11} + (64 − 82i)z^{12} + (−28 − 56i)z^{13} + (−28 + 4i)z^{14} + 8iz^{15} + z^{16}.

So g_{4} belongs to case (2) with λ = 1, k = 4 > 1. To iterate g_{4}(z), we press Iterate and type

g = iz + z^2; h = g[4](z); h <cr>

in the text window. The following picture displays (g_{4})_{23}(z).

From the picture above, we find that g_{4} has 4 petals, which illustrates the petal theorem. Since g coincides with g_{4} every 4 iterations, g and g_{4} have exactly the same shape of petals and A^{∗}(∞). Since g′(0) = i, in a small neighborhood of 0, g acts as a rotation by \frac{π}{2}. All points in these petals will flow into this small neighborhood. So g rotates four petals.

To estimate the repelling direction from the picture of g_{31}, we click the middle mouse on the ray separating the purple and red regions. Then the text window shows:

z =( 0.1212121212 0.0848484848 )

We have tan^{−1}(\frac{0.0848484848}{0.1212121212}) = 0.61 From the petal theorem, p = 4 and a = (−10 − 6i). Hence −\frac{arg a}{p} = 0.65 .

In the rest of Section 2, we discuss what happens around an irrationally neutral fixed point with the multiplier satisfying a certain Diophantine condition. In 1942, Siegel solved Schröder’s functional equation for such a multiplier, and hence proved that around such an irrationally neutral fixed point, f is conjugate to an irrational rotation on a disk.

Definition [Diophantine] We say θ ∈ R is called Diophantine if there are c >

0, a < ∞ such that |θ − \frac{p}{q}| ≥ \frac{c}{q^{a}} for all p, q ∈ Z.

Proposition 2.16 [Liouville] If θ is an irrational algebraic number, then θ is Diophantine.

Theorem 2.17 [Siegel] Suppose f(z) = λz + O(z^{2}) and f(z) is analytic near 0, where λ = e^{i2πθ} and θ is Diophantine. Then there is a conformal map φ in a neighborhood of 0 such that φ(0) = 0, φ′(0) = 1, and φ ∘ f ∘ φ^{−1}(z) = λz near 0. (That is, near its irrationally neutral fixed point 0, f is conjugate to an irrational rotation on a disk.)

Proof. See Carleson and Gamelin [1, pages 41–46 ]

Definition [Siegel disk] The neighborhood of a neutral fixed point in which f is conjugate to an irrational rotation is called a Siegel disk.

Example 2.12 f(z) = exp(1.1994i) z + z^{2} . To iterate f(z), we press Iterate and type

exp(1.1994i)z + z^2 <cr>

in the text window.

The white region is A^{∗}(∞). The shape of this function looks similar to some shapes of previous examples, such as z^{2} + (\frac{1}{4} + \frac{i}{2}), iz + z^{2}, and z(z − 1)(z − i), but its flow pattern differs from the flow patterns of those previous examples. When we hit Q Orbit and pick any seed in the color region, its orbit forms a circle-like set of points (black dots) around 0 as shown in the picture above. So this f(z) has a Siegel disk around its irrationally neutral fixed point 0, while those previous examples have petals attached to their rationally neutral fixed points.

From the picture, it seems that f(z) has many Siegel disks in the color region, but actually only the disk centered at 0 is its Siegel disk and the rest form the preimage of that Siegel disk.

3 Julia Set

In 1911 Montel came up with the idea of normal families, and in 1918–1919 Fatou and Julia applied that idea to iteration theory. When we discuss the normality of rational functions, we use spherical metric.

Definition. The spherical metric d(a, b) ≡ \frac{2|a − b|}{\sqrt{1 + |a|^{2}}\sqrt{1 + |b|^{2}}} , for all a, b ∈ C.

This metric d satisfies d(a, ∞) = \frac{2}{\sqrt{1 + |a|^{2}}} , and d(\frac{1}{a}, \frac{1}{b}) = d(a, b).

By Arzela-Ascoli, a normal family is equivalent to an equicontinuous family.

Definition [equicontinuous]. A family F of continuous f : C^{∗} → C^{∗} is equicontinuous on E ⊂ C^{∗} if for every ϵ > 0, there is a δ > 0 such that d(z, w) < δ implies d(f(z), f(w)) < ϵ, for all z, w ∈ E and all f ∈ F.

Theorem 3.1 [Arzela-Ascoli] Suppose U ⊂ C^{∗}. A family F of continuous functions f : U → (C^{∗}, spherical metric) is normal if and only if F is equicontinuous on K for each compact set K ⊂ U.

In Section 1, we roughly described the idea of the division of C^{∗} into the Fatou set and Julia set. Here we want to submit an equivalent and precise definition of the Fatou set and Julia set.

Definition. Suppose r : C^{∗} → C^{∗} is a rational function.

F_{r} ≡ {z ∈ C^{∗} : {r_{n}}_{n=1}^{∞} is normal on a neighborhood of z} is called the Fatou

     set.

J_{r} ≡ C^{∗}\F_{r} is called the Julia set.

By Arzela-Ascoli Theorem (3.1), for any two points z_{0} and w_{0} in the Fatou set, if z_{0} is sufficiently close to w_{0}, then z_{n} is close to w_{n} for all n, where z_{n} ≡ f_{n}(z_{0}) and w_{n} ≡ f_{n}(w_{0}). Also we know that z_{0} ∈ J_{r} if and only if the statement above is false. In other words, z_{0} ∈ J_{r} if and only if for any arbitrarily small open ball B containing z_{0}, there exists w_{0} ∈ B such that z_{n} and w_{n} are away from each other for some n. So the current definition of the Fatou set and Julia set consists with the rough description in Section 1. As we will see, the Julia set is the place where the chaotic behavior of a rational function occurs.

Example 3.1 Consider r(z) = z^{2}. Then r_{n}(z) = z^{(2^{n})} converges to 0 in D, and to ∞ in C^{∗}\D̄. Thus A(0) = D, A(∞) = C^{∗}\D̄, and A(0) ∪ A(∞) ⊂ F_{r}. So J_{r} ⊂ ∂D. On the other hand, ∂D = ∂A(0) = ∂A(∞) ⊂ J_{r}. So J_{r} = ∂D, and F_{r} = C^{∗}\∂D = A^{∗}(0) ∪ A^{∗}(∞).

From another viewpoint, for any two points z_{0} and w_{0} inside D, z_{n} and w_{n} converge to 0, and thus z_{n} and w_{n} stay close to each other for all n if z_{0} is sufficiently close to w_{0}. Hence D ⊂ F_{r}. For any two points z_{0} and w_{0} outside D̄, z_{n} and w_{n} converge to ∞. So C^{∗}\D̄ ⊂ F_{r}. For each z_{0} ∈ ∂D, for every open ball B containing z_{0}, there is w_{0} ∈ B ∩ D. We know that z_{n} ∈ ∂D for all n, but w_{n} → 0 as n → ∞. So w_{n} is not close to z_{n} for some big n. Therefore z_{0} ∈ J_{r}. So J_{r} = ∂D, and F_{r} = C^{∗}\∂D.

Proposition 3.2 The Fatou set is open, and the Julia set is closed.

Proposition 3.3 If z_{0} is an attracting fixed point of a rational function r, then the basin of attraction A(z_{0}) ⊂ F_{r}, and ∂A(z_{0}) ⊂ J_{r}.

Proof. The result A(z_{0}) ⊂ F_{r} follows from the definition. Also ∂A(z_{0}) ⊂ J_{r} since the iterates converge to z_{0} on A(z_{0}) but not on its complement, and so {r_{n}}_{n=1}^{∞} is not equicontinuous on any open set meeting ∂A(z_{0}).

Example 3.2 Let r(z) = 2(z − \frac{1}{z}). Then r(\sqrt{2}) = \sqrt{2}, r(−\sqrt{2}) = −\sqrt{2}, and r_{n}(z) → ∞ for every z ∈ C^{∗}\[−\sqrt{2}, \sqrt{2}]. r(\frac{1}{\sqrt{2}}) = −\sqrt{2}. r(−\frac{1}{\sqrt{2}}) = \sqrt{2}. Then r′ ≥ 3 on [−\sqrt{2}, \sqrt{2}].

We have that r_{n}(a) → ∞ for every a ∈ (−\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}). Let K_{0} = [−\sqrt{2}, \sqrt{2}] and K_{n} = r_{−1}(K_{n−1}) for all n ∈ N. Then K_{n} ⊂ K_{n−1}. Let K = ⋂_{n=0}^{∞} K_{n}. Then K is a Cantor set of Lebesgue measure 0. We have r_{−1}(K) ⊂ K and r(K) ⊂ K. If z ∈ C^{∗}\K, then r_{n}(z) → ∞. Hence A(∞) = C^{∗}\K ⊂ F_{r}, and J_{r} ⊂ K. Since ∂A(∞) = K ⊂ J_{r}, we have J_{r} = K.

Lemma 3.4 Let r be a rational function. If U is a component of F_{r}, then r(U) is a component of F_{r}.

Theorem 3.5 Let r be a rational function.

(1) If z_{0} is a repelling fixed point of r, then z_{0} ∈ J_{r}.

(2) If P is a petal of a rationally neutral fixed point, then P ⊂ F_{r}.

(3) If z_{0} is a neutral fixed point of r, λ ≡ r′(z_{0}), |λ| = 1, and if there is a conformal map φ such that φ(z_{0}) = 0 and φ ∘ r ∘ φ^{−1}(z) = λz for z near 0, then z_{0} ∈ F_{r}.

(4) If z_{0} is a neutral fixed point of r and such a φ does not exist, then z_{0} ∈ J_{r}.

Proof. (1) Without loss of generality z_{0} = 0, and r(0) = 0. Suppose {r_{n}} is normal near z_{0}. There is an analytic function g near 0 such that r_{n_{j}} → g near 0. Since r_{n}(0) = 0, g(0) = 0. r(z) = λz + ..., |λ| > 1. r_{n}(z) = λ^{n}z + ... (r_{n_{j}})′(0) → g′(0), but (r_{n_{j}})′(0) = λ^{n_{j}} → ∞. We reach a contradiction !

(2) follows from the definition.

(3) φ ∘ r ∘ φ^{−1}(z) = λz.

r(z) = φ^{−1}(λφ(z)). Then r_{n}(z) = φ^{−1}(λ^{n}φ(z)). {r_{n}} is bounded near z_{0}, and so it is normal.

(4) we want to show if z_{0} ∈ F_{r}, then such a φ exists.

Suppose z_{0} ∈ F_{r} is a neutral fixed point of r. Then r(z_{0}) = z_{0}, λ ≡ r′(z_{0}), and |λ| = 1. Without loss of generality z_{0} = 0. Since {r_{n}} is normal near z_{0}, {r_{n}} is bounded near z_{0}. Let

φ_{n}(z) = \frac{1}{n} ∑_{j=1}^{n} \frac{r_{j}(z)}{λ^{j}} = z + ...

Then {φ_{n}} is bounded near z_{0}. So there exist an analytic function φ and a subsequence φ_{n_{j}} such that φ_{n_{j}} → φ near 0. Then φ ∘ r(z) = λφ(z). Hence φ_{n}(0) = 0 implies φ(0) = 0, and (φ_{n})′(0) = 1 implies φ′(0) = 1. So φ is one-to-one near 0, and φ ∘ r ∘ φ^{−1}(z) = λz near 0.

Theorem 3.6 The Julia set J is nonempty.

Proof. See Carleson and Gamelin [1, page 56].

Definition [invariant set] Suppose r is a rational function, and E ⊂ C^{∗}.

(1) E is (forward) invariant if r(E) ⊂ E.
(2) E is backward invariant if r^{−1}(E) ⊂ E.

(3) E is completely invariant if r(E) = E = r^{−1}(E).

Theorem 3.7 The Julia set J is completely invariant.

Sketch of Proof. The Fatou set F is completely invariant.

Theorem 3.8 For every n ∈ N, J (r_{n}) = J (r)

Proof. See Carleson and Gamelin [1, page 56].

Corollary 3.9 Repelling periodic points are in J.

Theorem 3.10 [Montel 3 points] If F is a family of meromorphic functions on U ⊂ C^{∗} such that there are a, b, c ∈ C^{∗} with f(z) ≠ a, b, c, for all f ∈ F and all z ∈ U, then F is normal on U.

Theorem 3.11 [omitted set] Let r be a rational function. Suppose z ∈ J_{r}, U ⊂ C^{∗} is an open set, and z ∈ U. Let E_{z} = C^{∗}\ ⋃_{n=1}^{∞} r_{n}(U). E_{z} is called the omitted set (or exceptional set). Then

(1) E_{z} contains at most 2 points.

(2) If E_{z} = {z_{1}}, then r is conjugate to a polynomial.

(3) If E_{z} = \{z_{1}, z_{2}\}, then r is conjugate to cz^{d} or \frac{c}{z^{d}} , d > 1.

(4) If r is conjugate to a polynomial, then E_{z} is nonempty for a sufficiently small U.

(5) E_{z} ⊂ F_{r}.

(6) E_{z} does not depend on z ∈ J_{r} (so shall be denoted as E).

Proof. See Carleson and Gamelin [1, page 57].

Example 3.3 r(z) = z + z^{2}.

Let P be the petal for the rationally neutral point 0. Then F_{r} = P ∪ A(∞), and J_{r} = ∂P = ∂A(∞).

The flow in the petal cannot be exactly like that in the cardioid-shaped region for an open set containing a boundary point of the petal will be sent to C^{∗} almost everywhere by {r_{n}}. If a point in the petal is not in the cardioid-shaped region, it will jump around in the petal for a while and then enter the cardioid-shaped region as in the following picture.

White dots are the orbit of the seed (red dot in P).

Corollary 3.12 If z_{0} ∈ J_{r}, then the preimage {r_{−n}(z_{0})}_{n=1}^{∞} is dense in J_{r}.

Proof. The omitted set E ⊂ F_{r}.

If ζ ∈ J_{r}, then there exist a_{k} → ζ such that r_{n(k)}(a_{k}) = z_{0}. Then a_{k} ∈ r_{−n(k)}(z_{0}). So ζ ∈ the closure of r_{−n(k)}(z_{0}).

Remark [backward computation]. The forward computation (orbit) tends to send points near the Julia set away from one another and away from J_{r} to all over C^{∗}. Hence for backward computation (r_{−n}(z_{0})), points near the Julia set tend to move close to the Julia set. Therefore it seems stable to use Preimg (preimage) to generate the Julia set from a point in J_{r} (for instance, a repelling periodic point).

The following three examples (3.4, 3.5, 3.6) demonstrate the backward computation, the Corollary 3.12, and J (r) = J (r_{n}).

Example 3.4 r(z) = z^{2}. From Example 3.1, F_{r} = A^{∗}(0) ∪ A^{∗}(∞) = C^{∗}\∂D and J_{r} = ∂D. If we press Preimg and type 1 0 in the text window, then the program will compute the preimage of the repelling fixed point 1 and produce the Julia set of z^{2}

This gives ∂D = J_{r} and verifies our Preimg computation. The 16 yellow rays mean that the winding number of r_{4}(z) = z^{16} at ∞ is 16.

Example 3.5 r(z) = z + z^{2}. One petal P is attached to the rationally neutral point 0. F_{r} = P ∪ A(∞). Points in P near 0 move towards 0 and points on the positive real line move to ∞. So {r_{n}} is not equicontinuous in any neighborhood of 0. Hence {r_{n}} is not normal near 0, and 0∈ J_{r}. By Corollary 3.12, {r_{−n}(0)} is dense in J_{r}. If we we press Preimg and type 0 0 <cr> in the text window, then we have the Julia set of r(z) = z + z^{2} (black curve in the following picture).

We may press Stop to check the flashing Julia set and press Pimg cont to continue the preimage computation. This result captures the Julia set J_{r} = ∂P = ∂A(∞), which indicates that the backward computation is stable.

We press r.p.p. to generate the repelling periodic points up to n = 3 and pick

z_{0} ≡( -1.3076266489 0.5709939970 ).

Let g(z) = r_{3}(z) = z + 3z^{2} + 6z^{3} + 9z^{4} + 10z^{5} + 8z^{6} + 4z^{7} + z^{8}. Then z_{0} is a repelling fixed point of g.

To iterate g(z), we press Iterate and type

r = z + z^2; rrr  <cr>

in the text window. To compute the preimage of z_{0}, we Stop the iteration of g(z) and press Preimg and type -1.3076266489 0.5709939970 <cr> in the text window. We get:

This illustrates that J (r) = J (r_{3}).

Example 3.6 r(z) = z^{2} + i. J_{r} = dendrite set. The whole plane turns white, which means r(z) → ∞ almost everywhere. 0 → i → −1 + i → −i → −1 + i . |(r_{2})′(−i)| = 4\sqrt{2} > 1 . Therefore {−i, −1 + i} is a repelling 2-cycle. Then −i ∈ J_{r}. Hence 0 ∈ J_{r} since J_{r} is completely invariant. Pressing Preimg and typing 0 0, we have the Julia set of r(z) = z^{2} + i, dendrite set (black dots).

Let g(z) ≡ r_{2}(z) = z^{4} + 2iz^{2} + (−1 + i). To iterate g(z), we press Iterate and type

r = z^2 + i; rr <cr>

in the text window. We Stop and then press Preimg and type 0 -1 to generate the preimage of −i ∈ J_{g}. the Julia set of r_{2}(z) = z^{4} + 2iz^{2} + (−1 + i)

This illustrates that J (r) = J (r_{2}).

Corollary 3.13 Let r be a rational function.

(1) If V ⊂ J_{r} and r_{−1}(V) ⊂ V, then V̄ = J_{r}.

(2) If D is a union of components of F_{r} and D is completely invariant, then J_{r} = ∂D.

Proof. (2) We know ∂D ⊂ J_{r}, since F_{r} is open. It suffices to show r_{−1}(∂D) ⊂ ∂D. For every a ∈ r_{−1}(∂D), r(a) ∈ ∂D and so a ∉ D since r(D) ⊂ D. If a ∈ C^{∗}\D̄, then r maps some point in a neighborhood of a intersecting C^{∗}\D̄ to a point in D since r is an open map near a. This contradicts r_{−1}(D) ⊂ D. Therefore a ∈ ∂D.

Corollary 3.14 If z_{0} is an attracting or superattracting fixed point of r, then ∂A(z_{0}) = J_{r}.

Proof. A(z_{0}) is completely invariant, and the result follows from the preceding Corollary.

The following two examples (3.7, 3.8) illustrate the Corollaries 3.13 and 3.14, the fractal effect, and that the open set meeting J_{r} is sent to everywhere under iteration.

Example 3.7 r(z) = z^{3} \frac{(1 − \frac{z}{4})}{(z − \frac{1}{4})}.

When we press Period pt , the text window displays:

periodic point  n=1  z=( infinity )  |(f[1])'(z)|=0.00

periodic point  n=1  z=( 0.3819660113 0.0 )  |(f[1])'(z)|=0.00
periodic point  n=1  z=( 1.0000000000 0.0 )  |(f[1])'(z)|=1.33
periodic point  n=1  z=( -0.0000000000 0.0 )  |(f[1])'(z)|=0.00
periodic point  n=1  z=( 2.6180339887 0.0 )  |(f[1])'(z)|=0.00

This rational function has 4 attracting fixed points: 0 (black), ∞ (white), a ≡ 2.6180339887 = \frac{3 + \sqrt{5}}{2} (red), and b ≡ 0.3819660113= \frac{3 − \sqrt{5}}{2} (brown). A(0) = black region. A(∞) = white region. A(a) = red region. A(b) = brown region. J_{r} = boundary of these attracting components of any one color. That is, J_{r} = ∂(white region)= ∂(red region) = ∂(brown region)= ∂(black region). Each point in J_{r} touches 4 colors.

Julia sets are usually intricate fractal sets, which are conformally self-similar. Similar patterns of regions of 4 colors reappear in smaller and smaller areas around J_{r}. This illustrates that for each open set U meeting J_{r}, {r_{n}} send U to all over C^{∗}. To see what happens around J_{r} and scrutinize a smaller area, we can make a subwindow like the gray box in the preceding picture by dragging the left button of mouse from a corner to the diagonal corner. After the subwindow is created, we may press Cont on the subwindow to continue the iteration of r(z) in that smaller area.

Every color must exist around a boundary point of an attracting component. For instance, in the preceding picture, the red regions must exist around the boundary of brown and black. To verify this, we make a subwindow again as the gray box in the picture. We get:

Now we see the red regions appear around the boundary of brown and black. To check the boundary of black and white, we make a subwindow again as the gray box in the preceding picture, and we get:

We see that the brown regions are around the boundary of black and white.

We may press Close on a subwindow to close that subwindow. To see the whole area of interest, we can press Zoom out to enlarge the evaluation area and press the right mouse to translate the evaluation area to a new center. After we Zoom out twice, translate (right mouse), and make a rectangular subwindow, we have:

The margins of the new evaluation area are shown on x and y-axes.

Example 3.8 r(z) = \frac{(5z^{6} − 6z)}{(4z^{6} − 5)}.

This r(z) is the Newton function of f(z) = 4z − 5 + z^{−5}. If we press Period pt , the text window displays:

periodic pt  n=1  z=(1.0000000000 0.0000000000)  |(f[1])'(z)|=0.0
periodic pt  n=1  z=(0.0000000000 -0.0000000000)  |(f[1])'(z)|=1.2
periodic pt  n=1  z=(0.1432680540 -0.7034248918)  |(f[1])'(z)|=0.0
periodic pt  n=1  z=(0.1432680540 0.7034248918)  |(f[1])'(z)|=0.0
periodic pt  n=1  z=(-0.5579221846 -0.3717519097)  |(f[1])'(z)|=0.0
periodic pt  n=1  z=(1.0793082612 0.0000000000)  |(f[1])'(z)|=0.0
periodic pt  n=1  z=(-0.5579221846 0.3717519097)  |(f[1])'(z)|=0.0

This r(z) has 6 superattracting fixed points and one repelling fixed point at 0. We can hardly distinguish the two regions of two similar red colors corresponding to 1 and 1.079. We may change the color center to (1.04 0) and get:

J_{r} = the boundary of these attracting components. We may use subwindows to inspect small areas around J_{r}.

The regions of all 6 colors appear in tiny area around J_{r}, which illustrates that {r_{n}} send an open set meeting J_{r} to all over C^{∗}. After pressing Preimg and typing 0 0 (a repelling fixed point of r), we get:

These white dots roughly depict the Julia set. The following example (3.9) demonstrates the backward computation, the effect of conjugation, and the Petal Theorem.

Example 3.9 r(z) = \frac{z}{(1 − z)^{2}} .

To iterate this function, we press Iterate and type

z/(1-z)^2 <cr>

in the text window.

If we hit f[n](z) and type 1 0 0 <cr> in the text window, we get:

Please input iteration Rez Imz : 1 0 0
        z =( 0.0000000000 0.0000000000 )
   f[1](z)=( 0.0000000000 0.0000000000 )
(f[1])'(z)=( 1.0000000000 0.0000000000 )
   |f[1]'|=1.0000000000

So 0 is a rationally neutral fixed point of r. Then 0 ∈ J_{r}. To find the Julia set of r, we press Preimg and type 0 0 <cr>. We see J_{r} is the positive real line including 0 and ∞ as shown in the picture above. This r has one big petal (= F_{r}), which covers whole C^{∗} except the positive real line.

Note that at the cusp, the boundary curves from 0 are tangent to the repelling direction (the positive real line). This agrees with the Petal Theorem (2.15).

To understand the behavior of r around ∞, we may conjugate r by g(z) = \frac{z − 1}{z + 1} . Then g(−1) = ∞. Let h(z) ≡ g^{−1}(z) = \frac{1 + z}{1 − z} . To iterate h∘r ∘g, we press Iterate and type

f = z/(1-z)^2; g = (z-1)/(z+1); h = (1+z)/(1-z); hfg <cr>

in the text window. Now 1 is a rationally neutral fixed point of h ∘ r ∘ g, since g(1) = 0. To check the behavior of r around ∞, we hit Q Orbit and pick some seeds (blue dots) around -1 . We see the orbits (black dots in the picture below) tend to 1 and the flow look like the flow pattern in the cardioid-shaped region in Petal Theorem.

To view the Julia set of h ∘ r ∘ g, we press Preimg and type 1 0 <cr>. Then the preimage of 1 ∈ J (h ∘ r ∘ g) is computed and shown as white line segments in the picture above, which corresponds to the positive real line for r.

Theorem 3.15 If the Julia set J_{r} has nonempty interior, then J_{r} = C^{∗}.

Proof. There is an open set U ⊂ J_{r}. Then r_{n}(U) ⊂ J_{r}. The omitted set E = C^{∗} \ ∪ r_{n}(U) contains at most two points. So C^{∗} \ J_{r} = F_{r} contains at most

two points. Since F_{r} is open, F_{r} is empty, and J_{r} = C^{∗}.

Example 3.10 r(z) = \frac{(z^{2} + 1)^{2}}{4z(z^{2} − 1)} .

It can be proved that J_{r} has nonempty interior (see Carleson and Gamelin [1, pages 30 and 58 ]). To iterate r(z), we may press Iterate and type

(z^2 + 1)^2/(4z(z^2-1)) <cr>

in the text window. The following pictures display r_{n}, n = 1, 2, ..., 6 .

When r.p.p. is pressed, the text window will display repelling periodic points as follows.

r.p.p.  n=1  z=( infinity )  |(f[1])'(z)|=4.0
r.p.p.  n=1  z=( 0.0000000000 -0.3933198932 )  |(f[1])'(z)|=2.0
r.p.p.  n=1  z=( -0.0000000000 0.3933198932 )  |(f[1])'(z)|=2.0
r.p.p.  n=1  z=( 1.4678898250 0.0000000000 )  |(f[1])'(z)|=2.0

r.p.p.  n=1  z=( -1.4678898250 -0.0000000000 )  |(f[1])'(z)|=2.0
r.p.p.  n=2  z=( infinity )  |(f[2])'(z)|=16.0
r.p.p.  n=2  z=( 0.5688644810 0.3515775843 )  |(f[2])'(z)|=4.0

If we pick 1.4678898250 ∈ J_{r} to compute its preimage by pressing Preimg and typing 1.4678898250 0 <cr> in the text window, we get:

The preimage (white dots) of 1.4678898250 ⊂ J_{r}. So we see the points of J_{r} all over this evaluation area. This verifies that J_{r} = C^{∗}.

4 Structure of the Fatou Set

The behavior of a rational function r can be mainly understood by its action on the components of its Fatou set F_{r}. In this section, we discuss a major achievement in rational iteration theory: Sullivan’s theorem and the classification theorem of periodic components of the Fatou set. Sullivan’s theorem implies that every component of the Fatou set is iterated eventually to a periodic component, and the classification theorem classifies the action of r(z) on periodic components. These theorems complete the classification of all possible behavior of rational functions on components of the Fatou set.

Let U be a component of F. From Lemma 3.4, we know that r sends a component of F to a component of F. There are several possibilities for the orbit of U under r.

(1) If r(U) = U, we call U a fixed component of F.

(2) If r_{n}(U) = U for some n ≥ 1, then U is called a periodic component of F. The minimal n is the period of the component. If n = 1, then U is a fixed component.

(3) If r_{m}(U) is a periodic component for some m ≥ 1, then U is called a

     preperiodic component of F.

(4) Otherwise, all {r_{n}(U)} are distinct, and we call U a wandering domain.

Theorem 4.1 If U is a completely invariant component of F, then ∂U = J, and every other component of F is simply connected. There are at most two completely invariant components of F.

Sketch of proof. Use Corollary 3.13, Proposition 1.1, and Corollary 2.14 (See Carleson and Gamelin [1, page 70] ).

We classify examples in this paper according to completely invariant components of F as follows.

(1) Two completely invariant components of F — Examples 1.2(N_{f}), 2.4, 2.5, 2.7(N_{h}), 2.9, 3.3, and 5.11.

(2) There is one completely invariant component of F, and other components of F are simply connected. — Examples 1.1(N_{f}), 1.7(N_{p}), 2.3, 2.6(N_{h}), 2.8(N_{h}), 2.10, 2.11, 2.12, 3.6, 3.8, 3.9, 4.6, 4.7, 5.1, 5.3, 5.4, 5.6, 5.7, 5.8, 5.9, 5.10, 5.12, 5.13, 5.14, and 5.16.

(3) There is no completely invariant component of F. — Examples 1.3(N_{f}), 1.4(N_{f}), 1.7(N_{r}), 3.7, 3.10, 4.1, 4.3, 4.4, 4.5, 4.8, 5.2, 5.5, 5.15, 5.17, 5.18, 5.19, 5.20, 5.21, 5.22, and 5.23.

The following result is a consequence of Theorem 4.1 (See Carleson and Gamelin [1, page 70] ).

Theorem 4.2 The number of components of the Fatou set can be 0, 1, 2, or ∞, and all cases occur.

We classify examples in this paper by the number of components of F as follows.

(1) 0 component of F — Examples 3.10 and 5.23.

(2) 1 component of F — Examples 3.2, 3.6, and 3.9.

(3) 2 components of F — Examples 1.2(N_{f}), 2.4, 2.5, 2.7(N_{h}), 2.9, 3.3, and 5.11.

(4) Infinitely many components of F — Examples 1.1(f), 1.1(N_{f}), 1.3(N_{f}), 1.4(N_{f}), 1.7(N_{p}), 1.7(N_{r}), 2.3, 2.6(N_{h}), 2.8(N_{h}), 2.10, 2.11, 2.12, 3.7, 3.8, all examples in Section 4, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10, 5.12, 5.13, 5.14, 5.15, 5.16, 5.17, 5.18, 5.19, 5.20, 5.21, and 5.22.

I.N. Baker (1976) has shown that some analytic functions have wandering domains. However, according to Dennis Sullivan (1985) this is not possible for rational functions.

Theorem 4.3 (Sullivan) A rational function has no wandering domains.

The proof uses quasiconformal techniques and the solution of Beltrami problem. (See Carleson and Gamelin [1, pages 71–73 ] )

From Sullivan’s theorem, we know that every component of the Fatou set is periodic or preperiodic. Our next goal is to classify periodic components. We have seen some examples: domains containing an attracting fixed point, petals attached to a neutral fixed point, and Siegel disks. There are other periodic components.

Definition [Types of Periodic Components] Suppose U is a periodic component of F_{r}, and r_{n}(U) = U. We say U is

(1) an attracting component if there is z_{0} ∈ U such that r_{n}(z_{0}) = z_{0} and |(r_{n})′(z_{0})| < 1. So (r_{n})_{k}(z) → z_{0} as k → ∞, for all z ∈ U.

(2) a parabolic component if there is w ∈ ∂U such that r_{n}(w) = w, (r_{n})′(w) = 1, and (r_{n})_{k}(z) → w as k → ∞, for all z ∈ U.

(3) a Siegel disk if U is simply connected and there is a Riemann map φ : D → U such that φ^{−1} ∘ r_{n} ∘ φ(z) = e^{i2πθ}z, for all z ∈ D, where θ is irrational.

(4) a Herman ring if U is doubly connected and there is an injective conformal map φ : {z ∈ C : a < |z| < b} → U for some a, b > 0 such that φ^{−1} ∘ r_{n} ∘ φ(z) = e^{i2πθ}z, for all z : a < |z| < b, where θ is irrational.

Siegel disks and Herman rings are referred to as rotation domains. The existence of rotation domains is one of the most difficult problems in iteration theory. The first breakthrough was made in 1942 by Siegel, who proved the existence of Siegel disks. In 1984 Herman recognized how a local theorem due to Arnol’d can be transformed into a global result, yielding examples of rational functions with invariant ring domains, Herman rings.

Classification Theorem 4.4 Suppose U is a periodic component of the Fatou set F. Then exactly one of the following holds:

(1) U is an attracting component.

(2) U is a parabolic component.

(3) U is a Siegel disk.

(4) U is a Herman ring.

Proof. See Carleson and Gamelin [1, pages 74–79 ].

Usually our computer program can generate the components and boundary of the Fatou set quickly (within 20 pictures). From these motion pictures and the flow pattern, we can quickly get a rough idea about the behavior of iteration of an input rational function. The following examples (4.1, 4.2, 4.3, 4.4, 4.5) demonstrate rationally neutral cycles (parabolic components), an irrationally neutral cycle (Siegel disks), and attracting cycles (attracting components).

Example 4.1 r(z) = \frac{z − 1}{z^{2} + z} .

We know r(0) = ∞ and r(∞) = 0. So {0, ∞} forms a 2-cycle of r. To determine the type of this 2-cycle of r, we may press Iterate and type

r = (z-1)/(z^2 + z); rr <cr>

in the text window, and then Stop . From the text window, we get r_{2}(z) = \frac{−z^{4} − z^{3} − z^{2} − z}{z^{3} + z^{2} − 3z + 1} . When we press f[n](z) and type 1 0 0 in the text window, the text window displays:

Please input iteration Rez Imz : 1 0 0

        z =( 0.0000000000 0.0000000000 )
   f[1](z)=( 0.0000000000 0.0000000000 )
(f[1])'(z)=( -1.0000000000 0.0000000000 )
|f[1]'(z)|=1.0000000000

Hence 0 is a rationally neutral fixed point of r_{2} with multiplier -1, so is ∞ by the information on the text window. So by the Petal Theorem (2.15), there is a cycle of two petals attached to the fixed point 0 for r_{2}, and a cycle of two petals attached to the fixed point ∞ for r_{2}.

To input r(z), we press Iterate and type

(z-1)/(z^2 + z) <cr>

in the text window. The following pictures display r_{n}, n = 1, 2, 3, ..., 12 .

105 106 It takes 7 seconds to produce these 12 pictures on our current computer (May 24, 1995). We know that {0, ∞} forms a rationally neutral 2-cycle of r. Since r and r_{2} have the same Fatou set and Julia set, their components of the Fatou set are the same. So there are two petals at 0 for r and two petals at ∞ for r (here a “petal for r” means a component of F_{r} attached to its boundary point 0 or ∞, while 0 and ∞ are rationally neutral periodic points of r). Since r is continuous, r sends each petal at 0 to a petal at ∞, and sends each petal at ∞ to a petal at 0. There are four components P of F_{r} satisfying r_{4}(P) = P: the brown petal at 0, the dark-blue petal at 0, the bright-blue petal at ∞, and the bright-red petal at ∞. These four components P of F_{r} are periodic components. This rational function r is a two-to-one map from C^{∗} onto C^{∗}. The remaining components are the preimages of these four petals, and are preperiodic components. The four petals are circulated in the following order: (the dark-blue petal at 0) ⟶ (the bright-red petal at ∞) ⟶ (the brown petal at 0) ⟶ (the bright-blue petal at ∞) ⟶ (the dark-blue petal at 0). To find the order above, we may observe serial pictures using One more command, or use Orbit command and pick a seed in a petal at 0 and check the orbit from the text window. So these four petals form a 4-cycle of parabolic components for r.

For this rational function r, each periodic component of F_{r} is a parabolic component.

To observe the behavior of r around ∞, we conjugate r by a linear fractional transformation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. To input g^{−1} ∘ r ∘ g, we press Iterate and type

r=(z-1)/(z^2 + z); g=(z-1)/(z+1); h=(1+z)/(1-z); hrg <cr>

in the text window. We Stop at iteration 28 and get:

Since g(0) = −1 and g(∞) = 1, {−1, 1} forms a rationally neutral 2-cycle of the input function g^{−1} ∘ r ∘ g. When we press Orbit and pick a seed (red dot) in the petal attached to 1, we find that the orbit (white dots) oscillates among four petals around -1 and 1, approaching the 2-cycle. By Theorem 3.15(4), 1 ∈ J. To see the boundary of components of F, we can hit Preimg and type 1 0 in text window. We may hit Stop to stop the computation of the preimage of 1 and check the preimage up to that moment. To resume the computation of preimage, we hit Pimg cont . There is an upper limit on the number of points in preimage for one computation in this computer program. If we want to see more preimage, we can press Preimg again and choose one of the last several points on text window as the input to Preimg .

In the picture above, the black dots represent the preimage of 1, the Julia set and boundary of components of F.

Let s(z) = \frac{z − i}{z^{2} + z}. To iterate s(z), we press Iterate and type

(z-i)/(z^2 + z) <cr>

in the text window.

When we use Q Orbit to show the orbit (black curves and dots) of a seed (blue dot), we see the flow pattern looks like the flow in petals around a rationally neutral cycle. By similar method for r(z), we know that 0 is a rationally neutral fixed point of s_{2} with multiplier i. So there are 4 petals attached to 0 for s_{2}, and they are components of F(s_{2}) = F(s) around 0. Hence {0, ∞} is a rationally neutral 2-cycle of s, and s has an 8-cycle of parabolic components — four petals at 0 and four petals at ∞. Every periodic components of F(s) is parabolic.

Let t(z) = \frac{z + e^{iπ/4}}{z^{2} + z}. To iterate t(z), we press Iterate and type

(z + 0.70710678 + 0.70710678i)/(z^2 + z) <cr>

in the text window.

From the picture above, the orbit (8 black curves) of a seed (blue dot) exhibits the flow pattern as the flow in 8 petals toward a rationally neutral periodic point. By similar method, we know {0, ∞} forms a rationally neutral 2-cycle for t, and this function t has a 16-cycle of parabolic components — eight petals attached to 0 and eight petals attached to ∞. These 16 parabolic components are the only periodic components of F(t)

The following example shows the existence of the cycle of Siegel disks.

Example 4.2 r(z) = 1. + (.3419079 + .25169029i)z − (1.3419079 + .25169029i)z^{2} . To iterate r(z), we press Iterate and type

1.+(.3419079 + .25169029 i)z -(1.3419079 + .25169029 i) z^2 <cr>

in the text window.

To get a better view, we create a subwindow as the gray box in the picture above by dragging the left mouse, and then hit Cont to continue the iteration.

After Stop the iteration, we hit Q Orbit and pick a seed to generate its orbit (white curves). From the picture above, we see the orbit is two circular curves, which exhibits the common flow pattern of Siegel disks. When we hit Orbit and pick a seed in the picture, we see the orbit swings between two regions and forms two circles. By similar method in Example 4.1, we know that {0, ∞} forms an irrationally neutral 2-cycle of r, and (r_{2})′(0) = (r_{2})′(1) = λ, where λ satisfies the Diophantine condition in Siegel’s Theorem (2.17) approximately. So 0 and 1 are the centers of two Siegel disks for r_{2}. Since F(r) = F(r_{2}), these two Siegel disks for r_{2} are components of F(r), and r sends each of them to each other. So these two Siegel disks are periodic components for r with period 2. Another periodic component of r is the attracting component A^{∗}(∞) = the white region. Therefore r has 3 periodic components — two Siegel disks and one attracting component.

This example also illustrates Theorem 4.1. The attracting component A^{∗}(∞) is a completely invariant component of F_{r}, and every other component of F_{r} is simply connected, including two Siegel disks and their preimage.

This function r(z) is constructed in the following way. Suppose r(z) = 1+(a−1)z − az^{2}. Then r(0) = 1, r(1) = 0, and (r_{2})′(0) = 1 − a^{2}. We want (r_{2})′(0) ≡ λ satisfying the Diophantine condition in Siegel’s Theorem. We pick λ = .7373688 + .6754903i. Then |λ| = 1, and a = \sqrt{1 − λ} = 1.3419079 + .25169029i .

The following example exhibits the cycle of attracting components.

Example 4.3 r(z) = \sqrt{2}\frac{((2 + i)z^{2} + (−1 + i)z + (−1 + i))}{z^{4} + (−2 + 2i)z^{3} − 4iz^{2} + (2 + 2i)z − 1} .

To iterate r(z), we press Iterate and type

1.4142136*((2+i)z^2+(-1+i)z+(-1+i))/
(z^4+(-2+2i)z^3-4iz^2+(2+2i)z-1) <cr>

in the text window.

115 To check the flow pattern, we generate the orbit (white dots in the last picture above) of a seed (red dot) by Q Orbit , and the text window displays:

f[3138](z)=( 1.4143551756 -1.4145712986 )
f[3139](z)=( -0.8994992993 1.2505265052 )
f[3140](z)=( -0.0910398893 0.2853002498 )
f[3141](z)=( 0.9127918639 0.0332652490 )
f[3142](z)=( 182.3327420856 161.7069046447 )
f[3143](z)=( 0.0000289696 -0.0000447804 )
f[3144](z)=( 1.4143551756 -1.4145712986 )
f[3145](z)=( -0.8994992993 1.2505265052 )
f[3146](z)=( -0.0910398893 0.2853002498 )
f[3147](z)=( 0.9127918639 0.0332652490 )
f[3148](z)=( 182.3327420856 161.7069046447 )
f[3149](z)=( 0.0000289696 -0.0000447804 )
f[3150](z)=( 1.4143551756 -1.4145712986 )

The same point appears every 6 times. So the orbit tends to a 6-cycle of r. To check the type of this cycle, we may use f[n](z) and the text window displays:

Please input iteration Rez Imz : 6 1.4143551756 -1.4145712986
        z =( 1.4143551756 -1.4145712986 )
   f[6](z)=( 1.4143551756 -1.4145712986 )
(f[6])'(z)=( -0.0005191129 -0.0118665780 )
|f[6]'(z)|=0.0118779271

Therefore {(1.4143551756 -1.4145712986), (-0.8994992993 1.2505265052),
( -0.0910398893 0.2853002498 ), ( 0.9127918639 0.0332652490 ),
( 182.3327420856 161.7069046447 ), ( 0.0000289696 -0.0000447804 ) }

forms an attracting 6-cycle of r. The 6 components of F_{r} containing these 6 attracting periodic points are attracting components of r, and they are the only periodic components of F_{r}. This rational function r is a 4-to-1 map from C^{∗} onto C^{∗}. The rest components of F_{r} form the preimages of these 6 attracting components, and they are preperiodic.

Example 4.4 r(z) = e^{1.1994i} \frac{z^{2}(z + 1)(z − 5i)}{(1 − 1.5z)(1 + 5iz)} .

To iterate r(z), we press Iterate and type

exp(1.1994 i) z^2 (z+1) (z-5i)/((1-1.5z)(1+5iz)) <cr>

118 in the text window.

This r(z) has an attracting 5-cycle and two superattracting fixed points — 0 and ∞. The two components of F_{r} containing 0 and ∞ are fixed components of F_{r}. By similar method in Example 4.3, we know that

{ ( 0.1584897968 0.3446639159 ), ( 0.7128432440 0.4050660541 ),
( 1.5425411598 1.8720883373 ), ( -0.9221846366 1.5892041782 ),
( -0.3625486968 0.5697749315 ) }

forms an attracting 5-cycle of r. Five components of F_{r} containing this 5-cycle are attracting components of F_{r} with period 5. Thus r(z) has 7 periodic components — 5 attracting components and 2 fixed components. The rest components of F_{r} are the preimage of these 7 periodic components, and they are preperiodic.

Example 4.5 r(z) = \frac{1}{(1 − z)(z + i)} .

To iterate r(z), we press Iterate and type

1/((1-z)(z+i)) <cr>

120 in the text window.

We know 0 → −i → ∞ → 0 and {0, −i, ∞} is a superattracting 3-cycle of r. The three components of F_{r} containing {0, −i, ∞} are a 3-cycle of attracting components of F_{r}, and they are the only periodic components of F_{r}. The rest components of F_{r} are the preimage of these three attracting components.

The following examples (4.6, 4.7) demonstrate rationally neutral fixed points and parabolic components at these fixed points.

Example 4.6 r(z) = −z + iz^{4} . To iterate r(z), we press Iterate and type

-z + i z^4 <cr>

in the text window.

From the last picture above, the flow pattern looks like the flow in a 2-cycle of petals at a rationally neutral fixed point. For this polynomial, 0 is a rationally neutral fixed point with the multiplier -1. Since r_{2}(z) = z + 4z^{7} − 6iz^{10} − 4z^{13} + iz^{16}, by Petal Theorem (2.15) r(z) belongs to case (3) and p = m − 1 = 7 − 1 = 6. There are 6 petals and 6 repelling directions, and r swings between two petals. The pictures above verify the Petal Theorem.

For each component P of these 6 petals attached to 0, r_{2}(P) = P and P is a parabolic component of F_{r} with period 2. This example differs from Example 4.1 in that this r(z) has three 2-cycles of parabolic components around the same rationally neutral fixed point, while r(z) in Example 4.1 has one 4-cycle of parabolic components around two distinct rationally neutral periodic points. This r(z) has an attracting component A^{∗}(∞), yet r(z) in Example 4.1 has no attracting components. So this r(z) has 7 periodic components of F_{r}: six parabolic components and one attracting component. The remaining components of F_{r} are the preimages of these six petals at 0, and they are preperiodic.

The attracting component A^{∗}(∞) is a completely invariant component of F, and every other component of F is simply connected. This demonstrates Theorem 4.1.

Example 4.7 r(z) = z + z^{2} − 0.5z^{3} . To iterate r(z), we press Iterate and type

z + z^2 - 0.5 z^3 <cr>

in the text window. To get the whole area of interest for the behavior of r, we Zoom out , make a subwindow, and resize (enlarge) the subwindow.

The flow pattern shows that there seem to be two rationally neutral fixed points of r. By Petal Theorem (2.15), 0 is a rationally neutral fixed point with one petal (dark-blue region), belonging to case (1). Using Q Orbit and f[n](z) , we realize that the orbit of a seed in red regions converges to 2, and 2 is a rationally neutral fixed point with multiplier -1. Since r(z) = 2 − (z − 2) − 2(z − 2)^{2} − 0.5(z − 2)^{3}, by Petal Theorem (2.15) this belongs to case (3) with n = 2, and r swings between 2 petals. To determine p in case (3), let g(z) = −z − 2z^{2} − 0.5z^{3}. Then g(z) is a conjugation of r(z) by z + 2. We may press Iterate and type

g = - z - 2 z^2 - 0.5 z^3; gg <cr>

in the text window and then Stop . The picture of g_{2} is shown as below.

From the information on text window, we get g_{2}(z) = z − 7z^{3} + 2.75z^{5} + 6.5z^{6} + 3.375z^{7}+0.75z^{8}+0.0625z^{9}. Thus p = 2 in case (3) and there are two petals attached to 0 for g. So there are two petals attached to 2 for r. Hence r(z) has a cycle of two parabolic components (red regions) with period 2 associated with the fixed point 2, and has one parabolic component (dark-blue region) with period 1 associated with the fixed point 0. The white region = A^{∗}(∞) is an attracting component of F_{r}. So r has 4 periodic components — three parabolic components and one attracting component. The remaining components of F_{r} are the preimages of these three parabolic components, and they are preperiodic components of F_{r}.

Creating subwindows again and again, we can see the fractal effect of g_{2} as in the pictures shown below.

126 In smaller and smaller areas around the boundary = J, the similar pattern appear again and again. There are preimage of the four periodic components in any arbitrarily small area around the Julia set. So the points in the open set meeting J are sent to the four periodic components eventually, and the open set is sent almost all over the plane. This illustrates Theorem 3.11.

The following example exhibits a Herman ring.

Example 4.8 r(z) = e^{iπ\sqrt{5}}z^{2}(\frac{z − 4}{4z − 1}) .

To iterate r(z), we press Iterate and type

exp(7.0248147 i) z^2 (z-4) /(4z-1) <cr>

128 in the text window. The following pictures display r_{n}, n = 1, 2, 3, ..., 14 .

129 130 It takes 7 seconds to produce these 14 pictures on our current computer (May 25, 1995). By f[n](z) and the information on text window, we know that 0 and ∞ are superattracting fixed points of r(z). So A^{∗}(0) (black region) and A^{∗}(∞) (white region) are attracting components of F_{r}. From the last picture above, the orbit (white curve) of a seed in the colorful region exhibits that r acts on the ring region centered at 0 like a rotation on an annulus. It can be proved that r(z) has a Herman ring (see Steinmetz [2, pages 102–111 ] ). Using Q Orbit , we can see that only the ring region centered at 0 is the Herman ring, and the remaining colorful ring regions are its preimage. Since r is one-to-one on the Herman ring H and r is a 3-to-1 map, r sends two components U_{1} and U_{2} of F_{r} to H. The immediate preimage U_{1} and U_{2} of H are components to the left and right of H; they are next to H. We may verify this using Orbit and observing the first point after a seed in U_{1} or U_{2}. Then r sends 3 components to U_{1} — two are next to U_{1} and one is next to H. So r(z) has 3 periodic components: one Herman ring H and two attracting components A^{∗}(0), A^{∗}(∞). The remaining components of F_{r} are the preimages of these 3 periodic components, and they are preperiodic. The white regions, black regions, and tiny colorful ring regions (the preimage of H) appear everywhere around the boundary of components of F_{r}, the Julia set, since an open set meeting J_{r} is sent almost over C^{∗} under iteration.

5 Critical Points

Critical points and their (forward) orbits play a key role in complex dynamical systems. Each immediate basin of attraction for an attracting or rationally neutral cycle contains a critical point. This bounds the number of such cycles by the number of critical points. The orbit of critical points is dense in the boundary of any rotation domains. If the orbit of critical points is finite and every critical point is not periodic, then we can conclude that the Julia set is the whole complex sphere.

We have defined the basin of attraction for an attracting fixed point, and now we want to define the basin of attraction for an attracting periodic point z_{0}. Let {z_{0}, z_{1}, ..., z_{n−1}} be an attracting cycle of length n. Then each z_{j} is an attracting fixed point of r_{n}. We define the basin of attraction of the attracting cycle, or of z_{0}, to be ⋃_{j=0}^{n−1} A(z_{j}, r_{n}), where A(z_{j}, r_{n}) is the basin of attraction of z_{j} for r_{n}. The basin of attraction is again denoted by A(z_{0}). The immediate basin of attraction of the cycle, denoted by A^{∗}(z_{0}), is defined as the union of the n components of A^{∗}(z_{0}) which contain z_{j}’s.

Theorem 5.1 If z_{0} is an attracting periodic point of a rational function r, then its immediate basin of attraction A^{∗}(z_{0}) contains at least one critical point.

Proof. See Carleson and Gamelin [1, page 59 ].

Example 5.1 r(z) = 1/z + z + 0.0001z^{7} . To iterate r(z), we press Iterate and type

1/z + z + 0.0001z^7 <cr>

in the text window.

We know this function has 4 attracting fixed points:

{ ( 2.9215636156 1.2101512729 ), ( 2.9215636156 -1.2101512729 ),
( -2.9215636156 -1.2101512729 ), ( -2.9215636156 1.2101512729 ) }

and one superattracting fixed point ∞, using Period pt or Q Orbit or dragging the middle mouse in colorful regions. By crit pt , we get nine critical points (black and blue dots in the picture above):

{ ( 2.8636674031 -1.7062623547 ), ( -2.8636674031 1.7062623547 ),
( 2.8636674031 1.7062623547 ), ( -2.8636674031 -1.7062623547 ),
0.9996509153, -0.9996509153, 3.4026197991i, -3.4026197991i, ∞ } .

Each immediate basin of attraction of an attracting fixed point contains a critical point. The components of F_{r} which are not an immediate basin of attraction contain no critical points. The only completely invariant component of F_{r} is A^{∗}(∞), and the rest components are simply connected. This also verifies Theorem 4.1.

We have defined the petal for a rationally neutral fixed point, and now we want to define the basin of attraction for a rationally neutral periodic (or fixed) point containing a certain petal. Suppose z_{0} is a rationally neutral periodic point of r, and {z_{0} = z_{n}, z_{1}, ..., z_{n−1}} is a rationally neutral cycle of length n so that r_{n}(z_{0}) = z_{0} and (r′_{n}(z_{0}))^{m} = 1 for some m ∈ N. So z_{0} is a neutral fixed point of r_{nm} with the multiplier 1. Let P be a petal for r_{nm} attached to z_{0}. We define the basin of attraction for r associated with z_{0} containing P as {z ∈ C^{∗} : r_{k}(z) ∈ P for some k ≥ 1}. In this case, r_{j}(P), 0 ≤ j < nm, are disjoint petals for r_{nm} or r_{n}. Note that z_{0} is a rationally neutral fixed point of r_{nm} and r_{n}, but not a fixed point of r. So “petal” makes sense for r_{nm} and r_{n}, but not for r. By Theorem 3.8, r, r_{n}, and r_{nm} have the same Julia set and Fatou set. So these three functions have the same components and boundary of the Fatou set. The immediate basin of attraction containing P for r at z_{0} is defined as ∪_{j=0}^{nm−1}r_{j}(P) . In other words, it is the cycle of the component P for r.

Theorem 5.2 If z_{0} is a rationally neutral periodic point, then each immediate basin of attraction associated with the cycle of z_{0} contains a critical point.

Proof. See Carleson and Gamelin [1, pages 60–61 ].

Example 5.2 r(z) = \frac{z − 1}{z^{2} + z} .

From Example 4.1, we know that {0, ∞} forms a rationally neutral 2-cycle of r. To observe the behavior of r around ∞, we conjugate r by a linear fractional transformation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. Let f = g^{−1} ∘ r ∘ g. To input f, we press Iterate and type

r=(z-1)/(z^2 + z); g=(z-1)/(z+1); h=(1+z)/(1-z); hrg <cr>

in the text window.

Hence {−1, 1} forms a rationally neutral 2-cycle of f. The black curves and dots are the preimage of 1, J_{f}, and the white dots are the orbit of a seed (red dot).

This rational function f has 4 parabolic components of F_{f} as A, B, C, and D above, and f sends A → D → B → C → A. So the immediate basin of attraction containing C at 1 is A ∪ B ∪ C ∪ D, and the immediate basin of attraction containing B at -1 is also A ∪ B ∪ C ∪ D. By crit pt , we see that critical points (black and blue dots in the following picture) exist in this immediate basin of attraction of a rationally neutral cycle.

Since f_{2} = f ∘ f = g^{−1} ∘ r ∘ r ∘ g, f_{2} has the same Fatou set and Julia set as f. We realize that 1 and -1 are rationally neutral fixed points of f_{2}. For f_{2}, the immediate basin of attraction containing C at 1 is C ∪D, and the immediate basin of attraction containing B at -1 is A ∪ B. Each immediate basin of attraction contains a critical point of f_{2}.

Example 5.3 r(z) = −z + iz^{4} . To iterate r(z), we press Iterate and type

-z + i z^4 <cr>

in the text window.

This function r has a rationally neutral fixed point 0, and sends B ↔ E, A ↔ D, and C ↔ F. So the immediate basin of attraction at 0 containing the petal B or E is B ∪ E, the immediate basin of attraction at 0 containing the petal A or D is A ∪ D, and the immediate basin of attraction at 0 containing the petal C or F is C ∪ F. By crit pt , we see that each pair of two petals, the immediate basin of attraction, contains a critical point. This verifies Theorem 5.2. The petal E has 4 immediate preimage components: B, C4, A4, and E3. We can check this by Orbit . Since E contains a critical point, r : E → B is at least two-to-one. Since r is a 4-to-1 map, the petal E has at most 3 immediate preimage components. By Orbit , we can check to see that r : E, A2, C2 → B. So the flow patterns in B and E are not exactly the same.

To investigate the behavior of r_{2}, we press Iterate and type

r = -z + i z^4; rr

in the text window.

The polynomial r_{2} has the same Fatou set as r. For r_{2}, each of the six petals at 0 is a fixed component of F(r_{2}). So the immediate basin of attraction at 0 containing B is B. By crit pt , we see that each of the six petals at 0 contains a critical point (white and red dots).

Example 5.4 r(z) = z + z^{4} . To iterate r(z), we press Iterate and type

z + z^4 <cr>

in the text window.

For this r(z), 0 is a rationally neutral fixed point, and three petals attached to 0 are fixed components. So the immediate basin of attraction at 0 containing one of the 3 petals is that petal itself. By crit pt , we see that each of the 3 petals contains a critical point.

Corollary 5.3 The number of attracting cycles plus the number of rationally neutral cycles is at most 2d − 2, where d = deg r.

Proof. This follows from Theorems 5.1, 5.2 and Corollary 2.14.

Let N_{a} denote the number of attracting cycles, and N_{rn} denote the number of rationally neutral cycles for a rational function with degree d.

Example 5.5 r(z) = \frac{1}{z^{2} − 3} − \frac{z − 1}{1 − 5z} .

To iterate r(z), we press Iterate and type

1/(z^2 -3) - (z-1)/(1-5z) <cr>

in the text window.

By Q Orbit , we realize that the points in purple regions converge to (0.0410226401 -0.3652382141 ), an attracting fixed point of r, and the points in green regions converge to ( 0.0410226401 0.3652382141 ), another attracting fixed point of r. The orbit of a seed in the dark-blue bottom region leads to an attracting 6-cycle:

{ 1.1135497741, -0.5433205675, 0.0455376082, 0.9022869500,
-0.4853091203, 0.0717389550 } .

From a seed in a bright-red region, the behavior of {r_{n}} is not very clear, and the orbit seems to tend to 0.2 and some big number. Actually { ∞ , 0.2 } forms a rationally neutral 2-cycle of r.

To observe the behavior of r around ∞, we conjugate r by a linear fractional trans-

formation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. Let f = g^{−1} ∘ r ∘ g. To

iterate f, we press Iterate and type

r = 1/(z^2 -3) - (z-1)/(1-5z);g=(z-1)/(z+1); h=(1+z)/(1-z); hrg  <cr>

in the text window.

We know g(∞) = −1. By Q Orbit , we see the flow pattern (black dots) near -1 indicates that -1 is a rationally neutral periodic point. By f[n](z) , we can check to see { -1, 1.5 } forms a rationally neutral 2-cycle of f. By crit pt , we know that f has four critical points (black and blue dots in the picture below):

( 0.0658820727 0.5544962470 ), ( 0.0658820727 -0.5544962470 ),
( -1.1727393067 0.0000000000 ), and ( 15.0409751612 -0.0000000000 ) .

As the picture displays, the critical point ( 0.0658820727 0.5544962470 ) is in the yellow region, and ( 0.0658820727 -0.5544962470 ) is in the purple region. The third critical point -1.1727393067 is in the parabolic component (blue region) at -1. The fourth critical point 15.0409751612 is not in the evaluation area [−2, 2] × [−2, 2]. To check the orbit of 15.0409751612 , we press Orbit(s) and type 15.0409751612 0 in the text window. We realize that its orbit tend to the attracting 6-cycle, and hence the fourth critical point belongs to an attracting component or its preimage. To determine which case occurs, we Zoom out and iterate f again.

We see that 15.0409751612 (black dot) is in the right big red region, which contains the attracting periodic point 19.4680951021 of f. So the fourth critical point 15.0409751612 is in the immediate basin of attraction of the attracting 6-cycle. The situations of four critical points illustrate Theorems 5.1 and 5.2.

This function f has two attracting fixed points, one attracting 6-cycle, and one rationally neutral 2-cycle. Then N_{a} = 3, N_{rn} = 1, and N_{a} + N_{rn} = 4 = 2d − 2, where d = deg r = 3. This verifies Corollary 5.3, and shows that the estimate in Corollary 5.3 is sharp.

This function f has 10 periodic components of F_{f} — 2 parabolic components and 8 attracting components. The original function r has the same types of periodic components as f.

Example 5.6 r(z) = \frac{z^{2}}{1 − z} .

To iterate r(z), we press Iterate and type

z^2/(1-z) <cr>

in the text window.

When we press Q Orbit and pick a seed (red dot) in the bright-blue region, the text window displays:

......
f[8536](z)=( 130.2599195190 -0.0001509734 )
f[8537](z)=( -131.2676558691 0.0001509644 )
f[8538](z)=( 130.2752162965 -0.0001509557 )
f[8539](z)=( -131.2829517312 0.0001509467 )
f[8540](z)=( 130.2905112843 -0.0001509381 )
f[8541](z)=( -131.2982458040 0.0001509291 )
......

The orbit tends to some big numbers, but its behavior is not very clear. To observe the behavior of r around ∞, we conjugate r by a linear fractional transformation

g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. Let f = g^{−1} ∘ r ∘ g. To input f, we

press Iterate and type

r=z^2/(1-z);g=(z-1)/(z+1); h=(1+z)/(1-z); hrg <cr>

in the text window.

From the flow pattern (white dots) in the blue regions, it seems that -1 is a rationally neutral fixed point of f. We can verify this by f[n](z) . Checking the orbit of a seed in the red region, we find that 1 is an attracting fixed point of f and the red region is its immediate basin of attraction. By crit pt , we know that f has two critical points (white and red dots in the following picture): 1 and -3.

So each immediate basin of attraction contains a critical point, which illustrates Theorems 5.1 and 5.2. This function f has 3 periodic components of F_{f} — two parabolic components (two big blue regions) and one attracting component (red region). The attracting component of F_{f} is completely invariant, and other components are simply connected. This demonstrates Theorem 4.1.

Example 5.7 r(z) = z(z − 1)(z − i) . To iterate r(z), we press Iterate and type

z(z-1)(z-i) <cr>

in the text window.

From the left picture above, the orbit (white dots) of a seed (red dot) in the middle dark-purple region exhibits the flow pattern of parabolic components. From the right picture above, the orbit (white dots) of a seed (red dot) in the top purple region exhibits the flow pattern for a 4-cycle of attracting components. To take a closer look, we create a subwindow around the rationally neutral fixed point 0.

Therefore this polynomial r has a 4-cycle of parabolic components at 0 (A, C, E, G) and a 4-cycle of attracting components (B, D, F, H). By crit pt , we find that r has three critical points (white and red dots in the picture above) —

( 0.5690355937 0.0976310729 ), ( 0.0976310729 0.5690355937 ), and ∞.
We know that ( 0.5690355937 0.0976310729 ) ∈ A,

( 0.0976310729 0.5690355937 ) ∈ B, and ∞ ∈ A^{∗}(∞). Hence each immediate basin of attraction contains a critical point. The white cusps will eventually reach 0, although the invasion slows down.

Example 5.8 r(z) = z + z^{2} − 0.5z^{3} . To iterate r(z), we press Iterate and type

z + z^2 - 0.5 z^3 <cr>

in the text window. To get the whole area of interest for the behavior of r, we Zoom out , make a subwindow, and resize (enlarge) the subwindow.

From Example 4.7, we know that r has two rationally neutral fixed points: 0 and 2. By crit pt , we find that r has three critical points (black and blue dots in the picture above): -0.3874258867, 1.7207592201, and ∞. They belong to the petal (dark-blue region) at 0, the parabolic components (red regions) at 2, and A^{∗}(∞), respectively.

Example 5.9 r(z) = iz + z^{2} .

To iterate r(z), we press Iterate and type

iz + z^2 <cr>

in the text window.

From Example 2.11, we know that 0 is a rationally neutral fixed point and there are four petals attached to it. This function r swings among these four petals. By crit pt , we find that -0.5i, ∞ are two critical points of r, and -0.5i (red dot) belongs to the immediate basin of attraction containing a petal at 0.

Example 5.10 r(z) = z + z^{2} + iz^{3} . To iterate r(z), we press Iterate and type

z + z^2 + i z^3 <cr>

in the text window.

We realize that 0 is a rationally neutral fixed point of r, and there is a petal attached to it. By crit pt , we find that the critical point ( -0.3465927534 -0.1475384248 ) exists in the petal at 0. Other dark-blue regions are the preimage of the petal at 0 but not the immediate basin of attraction, and they do not contain any critical points.

By Theorems 5.1 and 5.2, each attracting or parabolic cycle of components of the Fatou set contains a critical point. Siegel disks and Herman rings contain no critical points, since on them r is one-to-one. However, the orbit of critical points depicts the boundary of a rotation domain as stated in the following theorem. Let CP denote the set of critical points.

Theorem 5.4 If U is a Siegel disk or a Herman ring, then the boundary of U is contained in the closure of ∪_{n=0}^{∞}r_{n}(CP).

Proof. See Carleson and Gamelin [1, page 82 ].

Example 5.11 r(z) = \frac{z}{z^{2} − 0.5z + 1} .

To iterate r(z), we press Iterate and type

z/(z^2 - 0.5 z + 1)

in the text window.

This function r(z) has a rationally neutral fixed point 0 and an attracting fixed point 0.5. The left picture above shows the orbit (white dots) of a seed (red dot) in the petal at 0, and the right picture above shows the orbit of a seed in the immediate basin of attraction of 0.5. By crit pt , we know that r(z) has two critical points: 1 and -1.

As shown in the picture above, the petal at 0 contains the critical point -1, and the attracting component of 0.5 contains the critical point 1. Since r is a two-to-one map and r has a critical point on each immediate basin of attraction, r is two-to-one on each immediate basin of attraction and each immediate basin is completely invariant. This establishes the upper bound on the number of completely invariant components of F in Theorem 4.1. By Corollary 2.14, r has at most 2d − 2 = 2 critical points. So 1 and -1 are the only critical points of r. By Theorem 5.4, there can be no Siegel disks or Herman rings. There are no other attracting or parabolic components either, since they would require further critical points by Theorems 5.1 and 5.2. Then by Sullivan’s Theorem (4.3) and the Classification Theorem (4.4), there are no other components of F_{r}. So these two immediate basins of attraction, one parabolic and one attracting, are the only components of F_{r}. The Julia set J_{r} is a simple closed curve passing through 0 and ∞. Hence the number of attracting cycles plus the number of rationally neutral cycles is 2. This verifies Corollary 5.3, and shows that the estimate in Corollary 5.3 is sharp.

Example 5.12 r(z) = e^{3.883222078i} (z − z^{2}/2) . To iterate r(z), we press Iterate and type

exp(3.883222078 i) (z - z^2/2) <cr>

in the text window.

A Siegel disk exists and contains a critical point 1 (red dot) on its boundary (see Carleson and Gamelin [1, page 86] ). When we press Orbit(s) and type 1 0 in the text window, the orbit of 1 depicts the boundary of the Siegel disk as the white curve shown in the picture below.

The white region (= A^{∗}(∞)) will eventually reach the critical point 1.

Example 5.13 r(z) = e^{1.1994i} \frac{z^{2}(z + 2)}{(1 − z)(z + i)} .

To iterate r(z), we press Iterate and type

exp(1.1994i) z^2 (z + 2)/((1-z)(z+i)) <cr>

in the text window.

We realize that 0 is a superattracting fixed point of r. To observe the behavior of r around ∞, we conjugate r by a linear fractional transformation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. Let f = g^{−1} ∘ r ∘ g. To input f, we press Iterate and type

r=exp(1.1994i) z^2 (z + 2)/((1-z)(z+i));

g=(z-1)/(z+1); h=(1+z)/(1-z); hrg <cr>

in the text window.

After we use Q Orbit several times and pick seeds (bright-blue dots) in the blue regions, we realize that there is a Siegel disk around -1 = g(∞). To observe the orbit of critical points (white and red dots in the following picture), we Zoom out and create a subwindow.

159 The orbit (white curve in the last picture above) of the critical point ( -2.1818343414 -0.7221416192 ) describes the boundary of the Siegel disk around -1. We want to check the orbit of another critical point ( -0.7991434014 -1.3674357370 ) (blue dot in the last picture above) by pressing Orbit(s) and typing -0.7991434014 -1.3674357370 <cr> in the text window.

The white dots in the picture are the orbit of ( -0.7991434014 -1.3674357370 ) . We do not see any chaotic phenomena around the white curve. So this is a Siegel disk with the black curve as its boundary, and not a Siegel disk inside a Herman ring. Hence ( -0.7991434014 -1.3674357370 ) is in the preimage of the Siegel disk, and it ∈ F_{r}. Its orbit jumps around in the preimage, and then enters the Siegel disk after finite steps. This shows that the converse relation of Theorem 5.4 is not true. In other words, the boundary of a rotation domain is contained in the closure of the orbits of all critical points, but the orbit of some critical point may intersect the rotation domain.

Example 5.14 r(z) = e^{3.883222078i} z − 0.1z^{4} . To iterate r(z), we press Iterate and type

exp(3.883222078 i)z - 0.1 z^4 <cr>

162 in the text window. The following pictures display r_{n}, n = 1, 2, 3, ..., 10 .

163 It takes 6 seconds to compute and produce these 10 pictures on our current computer (May 31, 1995). After checking the flow pattern, we realize that a Siegel disk exists around 0. By crit pt , we get 4 critical points of r:

( -1.3159482312 -0.3321083915 ), ( 0.3703598117 1.3056987941 ),

( 0.9455884195 -0.9735904026 ), and ∞. The first three critical points (white and red dots in the last picture above) are on the boundary of the Siegel disk, and the orbit of any one of these three points describes the boundary of the Siegel disk (black closed curve) as shown below.

Example 5.15 r(z) = \frac{z^{2} − z}{1 + (1 + i)z} .

To iterate r(z), we press Iterate and type

(z^2 - z)/(1+ (1+i)z) <cr>

in the text window.

From the flow pattern (black, white, blue, and red dots in the picture above), we find that a Siegel disk exists around 2i and 0 is a rationally neutral fixed point of r. By crit pt , we know that ( -1.3994537200 1.0558929703 ) (black dot in the green region in the following picture) and ( 0.3994537200 -0.0558929703 ) (blue dot in the brown region) are two critical points of r, which are the only critical points of r since 2d − 2 = 2.

Then ( 0.3994537200 -0.0558929703 ) belongs to the immediate basin of attraction containing the brown petal at 0, which illustrates Theorem 5.2. By Orbit(s) , we realize that the orbit (black curve below) of ( -1.3994537200 1.0558929703 ) describes the boundary of the Siegel disk centered at 2i.

This illustrates Theorem 5.4. Example 5.16 r(z) = 1. + (.3419079 + .25169029i)z − (1.3419079 + .25169029i)z^{2} . To iterate r(z), we press Iterate and type

1.+(.3419079 + .25169029 i)z -(1.3419079 + .25169029 i) z^2 <cr>

in the text window.

From Example 4.2, we know that r has a 2-cycle of Siegel disks. By crit pt , we realize that ( 0.1400586811 0.0675111464 ) and ∞ are two critical points of r. The orbit (two black closed curves in the picture above) of ( 0.1400586811 0.0675111464 ) depicts the boundary of the 2-cycle of Siegel disks.

Example 5.17 r(z) = e^{1.1994i} \frac{z(z + (−0.5 + 0.8660254i))(z − i)}{(1 − z)(z + i)} .

To iterate r(z), we press Iterate and type

exp(1.1994i)z(z+(-0.5+0.8660254i))(z-i)/((1-z)(z+i)) <cr>

in the text window.

From the flow pattern (white and red dots), there may be a Siegel disk around 0. There seems to be a Siegel disk around ∞. We can check to see that 0 and ∞ are irrationally neutral fixed points of r. To observe the behavior of r around ∞, we conjugate r by a linear fractional transformation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. Let f = g^{−1} ∘ r ∘ g. To input f, we press Iterate and type

r = exp(1.1994i)z(z+(-0.5+0.8660254i))(z-i)/((1-z)(z+i));
g = (z-1)/(z+1); h=(1+z)/(1-z); hrg <cr>

in the text window.

From the flow pattern (black dots in red and blue regions, and white dots in the purple regions at the bottom) and the information on the text window, we suppose that f has two Siegel disks around 1 and -1, and an attracting 6-cycle:

{ ( 0.4132301888 -1.9878617948 ), ( 0.8801338043 -1.3363907131 ),
( 0.8839339048 -2.0883712534 ), ( 0.5242232335 -1.9569253969 ),
( 0.8858721022 -1.5526980267 ), ( 0.9381475267 -2.1648803659 ) } .

Example 5.18 r(z) = e^{1.1994i} z^{2} \frac{z − 5i}{1 + 5iz} .

To iterate r(z), we press Iterate and type

exp(1.1994 i) z^2 (z-5i)/(1+5iz) <cr>

in the text window.

This function r(z) has a Herman ring around 0. By crit pt , we find that r has four critical points: 2.3797958971i, 0.4202041029i, 0 , and ∞. The orbit of 2.3797958971i describes the outer boundary (black curve in the picture above) of the Herman ring, and the orbit of 0.4202041029i describes the inner boundary (black curve) of the Herman ring. The situations of critical points illustrate Theorems 5.1 and 5.4.

Example 5.19 r(z) = exp(3.883222078i) z (\frac{z + 5}{1 + 5z}) (\frac{1 + 5iz}{z − 5i}) . To iterate r(z), we press Iterate and type

exp(3.883222078 i)z((z+5)/(1+5z))((1+5iz)/(z-5i)) <cr>

in the text window.

This function r(z) has two Siegel disks centered at 0 and ∞. By Q Orbit and the flow pattern (black curve in the picture above), there seems to be a Herman ring between two Siegel disks. To observe the behavior of r around ∞, we conjugate r by a linear fractional transformation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. Let f = g^{−1} ∘ r ∘ g. To iterate f, we press Iterate and type

r=exp(3.883222078 i)z((z+5)/(1+5z))((1+5iz)/(z-5i));
g=(z-1)/(z+1); h=(1+z)/(1-z); hrg <cr>

in the text window.

By observing several orbits (black curves and dots in the picture above) of different seeds (blue dots), we realize that f has two Siegel disks around -1 and 1, and a vertical Herman ring passing through 0 and ∞. By crit pt , we find four critical points of f:

c_{1} = ( 1.0204024695 0.1896548616 ), c_{2} = ( 0.3622971089 -0.0876140453 ),
c_{3} = (-0.362297109 -0.087614045), and c_{4} = (-1.020402470 0.189654862).

By Orbit(s) , we see that the orbit of c_{1} (black curve in the following picture) depicts the boundary of the Siegel disk at 1, the orbit of c_{2} depicts the right boundary of the Herman ring, the orbit of c_{3} depicts the left boundary of the Herman ring, and the orbit of c_{4} depicts the boundary of the Siegel disk at -1.

This illustrates Theorem 5.4.

Example 5.20 Let g(z) = exp(1.1994i) z^{2} (\frac{z − 5i}{1 + 5iz}),

f(z) = exp(7.0248147i) z^{2} (\frac{z − 4}{4z − 1}), and r(z) = f(g(z)) .

To iterate r(z), we press Iterate and type

g = exp(1.1994 i) z^2 (z-5i)/(1+5iz);
f = exp(7.0248147 i) z^2 (z-4) /(4z-1); fg <cr>

in the text window.

There seems to be a Herman ring around 0. We make a subwindow as the gray box above and resize the window, and get:

By crit pt and Orbit(s) , we see that the orbit of the critical point ( -1.6668615254 1.3820433061 ) describes the outer boundary (black curve above) of the Herman ring, and the orbit of the critical point ( -0.3555234765 0.2947748409 ) describes the inner boundary of the Herman ring. The following picture shows r(z) over the area around 0 and the inner boundary of the Herman ring.

Example 5.21 Let g(z) = exp(1.1994i) z^{2} (\frac{z − 5i}{1 + 5iz}),

f(z) = exp(i) z (\frac{z − 4}{4z − 1}) (\frac{1 + 4iz}{z − 4i}), and r(z) = g(f(z)) .

To iterate r(z), we press Iterate and type

g = exp(1.1994 i) z^2 (z-5i)/(1+5iz);
f = exp(i)z((z-4)/(1-4z))((1+4iz)/(z-4i)); gf <cr>

in the text window.

From the picture, it seems that r has an attracting 3-cycle. But from the flow pattern (black curve above), we know there is a Herman ring. By crit pt and Orbit(s) , we see that the orbit of the critical point ( 0.2403329734 0.0298262007 ) describes the outer boundary (black curve in the following picture) of the Herman ring H, and the orbit of the critical point ( -0.5053466850 0.0058462856 ) describes the inner boundary of the Herman ring H.

Using Orbit(s) , we examine the orbit (white curve, dots, and curls) of the critical point

( 1.5167444663 -0.2974494306 ) (red dot) as below.

The orbit of this critical point jumps around in tiny ring regions (preimage of H) outside H, and then goes into H after finite steps.

Using Orbit(s) , we examine the orbit (white curve, dots, and curls) of the critical point

( 0.6348894321 -0.1245084484 ) (red dot) as below.

The orbit of this critical point jumps around in tiny ring regions (preimage of H) inside H, and then enters H.

Example 5.22 Let g(z) = exp(3.883222078i) z (\frac{z + 8}{1 + 8z}) (\frac{1 + 8iz}{z − 8i}),

f(z) = exp(6.7382901i) z^{2} (\frac{z − 4}{4z − 1}), and r(z) = g(f(z)) .

To iterate r(z), we press Iterate and type

g = exp(3.883222078 i)z((z+8)/(1+8z))((1+8iz)/(z-8i));
f = exp(6.7382901 i) z^2 (z-4) /(4z-1); gf <cr>

in the text window.

Using crit pt and Orbit(s) , we see that the orbit of the critical point 0.5470655771 depicts the inner boundary (black curve) of the Herman ring, and the orbit of the critical point 1.8279344229 depicts the outer boundary (white curve) of the Herman ring.

A point z_{0} ∈ C^{∗} is called a preperiodic point of r if r_{k}(z_{0}) is a periodic point of r for some k ≥ 1. In other words, the finite iteration of r sends z_{0} into a cycle of r, and z_{0} itself is not in a cycle. The following theorem gives a criteria of critical points to determine whether the Fatou set is empty.

Theorem 5.5 If every critical point of r is preperiodic, then J_{r} = C^{∗}.

Proof. Suppose F_{r} is non-empty. By Sullivan’s Theorem (4.3), there is a periodic component U of F_{r}. By the Classification Theorem (4.4), U is an attracting component, a parabolic component, a Siegel disk, or a Herman ring. If U is an attracting component but not superattracting, then by Theorem 5.1 U contains a critical point a, r_{n}(a) converges to an attracting periodic cycle of r, and the orbit of a is infinite. If U is a parabolic component, then by Theorem 5.2 U contains a critical point b, r_{n}(b) converges to a rationally neutral cycle of r, and the orbit of b is infinite. If U is a Siegel disk or a Herman ring, by Theorem 5.3 the orbit of some critical point has to be infinite. Therefore the only remaining case is a superattracting component. But in this case, by chain rule r′(z_{0}) = 0 for some z_{0} in this superattracting cycle, and thus the critical point z_{0} is periodic. We reach a contradiction. So F_{r} is empty and J_{r} = C^{∗}.

Example 5.23 r(z) = 1 − \frac{2}{z^{2}} .

To iterate r(z), we press Iterate and type

1 - 2/z^2 <cr>

in the text window.

The critical points of r are 0 and ∞, which are iterated as follows: 0 → ∞ → 1 → −1 → −1 → · · · . Hence every critical point of r is preperiodic, and J_{r} = C^{∗} from Theorem 5.5. By r.p.p. (repelling periodic points) and f[n](z) , we know that -1 is a repelling fixed point of r. The following picture shows the preimage of -1 (white dots), the Julia set J_{r}.

186 The white dots are all over the plane. This verifies Theorem 5.5.

6 Computer Program

Our computer program for Complex Dynamics consists of four major parts: the graphical user interface, command parser, arithmetic computation, and symbolic computation of rational functions. This program is written in the C language using the X window system. In 1993, Mike Starks wrote a program for the evaluation of complex functions. In 1994, I read Mike Starks’ program and got some ideas about the graphical display. Using some graphical display techniques in Mike Starks’ program, I started designing and implementing my program for Complex Dynamics. I wrote my command parser (descendent-recursive parsing, LL(1) grammar), converting an input string into a rational function of two polynomials. I added the “motion pictures” feature and many other features as command buttons on the complex plane window of the current version, such as Iterate , Stop , Cont , One more , Orbit , Nf , crit pt , f[n](z) , Orb cont , Redraw , C center , Brighten , Darken , Period pt , r.p.p. , Pimg cont , Preimg , Orbit(s) , and Q Orbit . I rewrote the arithmetic computation part. The symbolic computation part was created by me. By the symbolic computation, this program is able to compute certain arithmetic operations, differentiation, Newton function, and composition of rational functions. To save time, some C functions in the symbolic computation part destruct their input linked lists (polynomials or rational functions). Yet the destructive method for symbolic computation has its obvious shortcomings. In certain cases, we do not want the input polynomials to be destructed. When an input function f is converted into a rational function by the command parser, its derivative f′ is also generated symbolically in order to help determine the types of fixed points, periodic points, or cycles. Let f(z) = \frac{p(z)}{q(z)}, where p(z) and q(z) are polynomials. The function values f(∞) and f′(∞) are determined by the degrees of numerators and denominators when the internal rational function, output of the command parser, is generated. If f(∞) = ∞, then f′(∞) ≡ g′(0) by our program, where g(z) ≡ \frac{1}{f(\frac{1}{z})} (hence g(0) = 0), and then f has the same type of fixed point at ∞ as g does at 0. When evaluating a function, if the program finds that both p(a) and q(a) are almost 0 for some a ∈ C^{∗}, it will apply L’Hospital’s rule and take \frac{p′(a)}{q′(a)} as f(a). Common factors of p(z) and q(z) are removed as the internal rational function is generated. When doing Period pt , r.p.p. , Preimg , and crit pt , we use the Newton iteration method to find a root of a polynomial with at most about 50 initial guesses, and divide the polynomial by its factor. We repeat this process to factor a polynomial to achieve these features above. While Orbit , Orb cont , Orbit(s) , and Q Orbit compute and show the (forward) orbit of a seed in different ways, Preimg performs the backward computation. The backward computation tends to be stable and is discussed in Section 3.

This computer program interacts with users by four windows — the complex plane window, the text window, the position window, and the identity window. The complex plane window is used to show the computation results of an input function at a certain iteration and provide several command buttons. The text window is used to input functions and points, and display the symbolic and numerical results. The position window is used to show the function values when we drag (keep pressing) the middle button of mouse. The identity window is used for reference. I use the general window in X windows as the text window so that the users can copy and paste functions and points. A private colormap is created for the color display as the program begins to run. When we move the mouse inside the complex plane window, the position window, or the identity window, the private colormap is used. When the mouse is moved outside these three windows generated by our program, the original colormap is restored. The private colormap enables the program to display the similar colors on different terminals, and makes the program more portable. We can move and resize the complex plane window by the usual way in X windows (see pages 8–9 in Section 1 and Examples 1.7, 3.7). In the complex plane window, the function values f_{n}(z) are displayed over an evaluation area. The graphic display of function values is discussed in Section 1 (pages 5–12). Basically, the function value f_{n}(z) of iteration n at discrete points z is denoted by a dot of color and brightness. The color represents the argument of f_{n}(z), and the brightness represents the magnitude of f_{n}(z). The red color corresponds to the argument 0, the green color corresponds to the argument \frac{2π}{3}, and the blue color corresponds to the argument −\frac{2π}{3}. A brighter dot represents a bigger magnitude of f_{n}(z), and a darker dot represents a smaller magnitude of f_{n}(z). Black denotes 0, and white denotes ∞ for f(z). To enhance the performance of this program, simple actions such as looking up tables are used to determine the color and brightness for function values f_{n}(z), instead of complicated actions such as tan^{−1} and log. The function values f_{n}(z) are kept for the next iteration n + 1. The margins of the evaluation area are displayed around the picture on x and y-axes. The iteration number is shown on the lower-right border and the color center on the upper-right border. When we hit once or drag (keep pressing) the middle mouse in the picture on the complex plane window, the function value f_{n}(z) at the location z the mouse points to will be shown in the position window and text window (see Examples 1.2, 2.4, and 2.6). To magnify and scrutinize a smaller evaluation area of interest, we can create a subwindow by dragging the left mouse in the picture from a corner to its diagonal corner (see Examples 1.7, 2.6, 3.7, 3.8, 4.2, 5.7, 5.16, and 5.20). We can translate the evaluation area by clicking the right mouse in the picture on the complex plane window, and the location the mouse points to will be the new center of the picture (see Example 3.7).

To input a complex function, we may press Iterate or Show , and then type an input string in the text window. The input string is ended with the \underline{Return} key, denoted by <cr> in this paper. The input string may be composed of the expression of a complex function. The command parser takes the function string as input, and outputs an internal rational function, denoted by R(z). In the text window, R(z) ( rat f(z) ) and R′(z) ( f prime(z) ) are shown. With initial value n = 1, Iterate will compute R_{n}, produce motion pictures of R_{n} in the complex plane window, and increase n by 1 repeatedly. Yet Show will compute R and display the picture of R in the complex plane window once.

In Example 3.7, f(z) = z^{3} \frac{(1 − \frac{z}{4})}{(z − \frac{1}{4})} . To input and iterate f(z), we may press

Iterate and type

z^3 (1-z/4) / (z-0.25) <cr>

in the text window. The command parser will convert the input string above into the internal rational function R(z) = f(z). Then R(z) is iterated; the pictures of R_{n} are produced and displayed in the complex plane window one by one as n increases. We can press Stop to stop the iteration at n = k for some k ∈ N and examine some properties of the input function. Then by hitting Cont , we can resume the iteration of R, or by hitting One more , we can apply R one more time and the picture of R_{k+1} will be displayed in the complex plane window. When we observe some rotating, alternating, or cyclic phenomena, One more might be useful.

On the other hand, to input f(z), we may also press Show and type

z^3 (1-z/4) / (z-0.25) <cr>

in the text window. The command parser will convert the input string above into the internal rational function R(z) = f(z). Then R(z) is computed, and the picture of R(z) is displayed in the complex plane window, and then the program waits for next command. Now n = 1 and no iteration is carried out. However, we may hit Cont to activate the iteration, or hit One more to apply R one more time.

The input string may also be composed of several definitions of functions followed by an evaluation function. These definitions of functions and the evaluation function are separated by ; . We can define functions and their composition or iteration in the segments before the last ; . The string segment after the last ; will be treated as the evaluation function. An input string without ; is regarded as the expression of an evaluation function. Only the variable z is allowed in the definition of a function, while the function name can be any English letter in lowercase. Both Iterate and Show take the same format for function definition segments before the last ; , but they differ in the format of the evaluation function after the last ; .

For the evaluation function, Iterate takes a string of English letters as the composition of functions defined in the preceding segments. For example, if we press Iterate and type

f = i(z-1) + (z-1)^2; g = z + 1; fg <cr>

in the text window, then the internal rational function R(z) = f ∘ g(z) = iz + z^{2} .

We can use an integer in brackets to represent the iteration we want. For example, f[20](z) means f composed with itself 20 times. As in Example 2.11, we press Iterate and type

g = iz + z^2; h = g[4](z); h <cr>

in the text window. Then the internal rational function R(z) = h(z) = g_{4}(z), and R will be iterated and displayed in the complex plane window. Note that R_{n} = (g_{4})_{n} = g_{4n} for all n ∈ N.

For another example, if we press Iterate and type

f = z^2; g = 3 f(2z); h = g(f(z))/4; k = z + 1; kh <cr>

in the text window, then g(z) = 3f(2z) = 12z^{2}, h(z) = g(f(z))/4 = 12z^{4}/4 = 3z^{4}, and R(z) = k(h(z)) = 3z^{4} + 1. The internal rational function R(z) ( rat f(z) ) and R′(z) ( f prime(z) ) are shown in the text window, so are f(z), g(z), h(z), and k(z) .

In the last segment after the last ; , Show takes a function name with an iteration number as the evaluation function. For example, if we press Show and type

f = ((z-0.5)/(1-z/2))^2; f[12] <cr>

in the text window, then f_{12}(z) will be computed and displayed in the complex plane window. However, the internal rational function is R(z) = f(z) = (\frac{z − 0.5}{1 − 0.5z})^{2} .

In Example 1.2, we want to find the roots of f(z) = z^{2} + z + 1 by iterating its Newton function N_{f}. We may press Show and type

f = z^2 + z + 1; f[1] <cr>

in the text window, and then press Nf . Or equivalently, we press Show and type

z^2 + z + 1 <cr>

in the text window, and then press Nf . In the second case above, the input string

z^2 + z + 1

will be treated as the expression of an evaluation function, R(z) = z^{2} + z + 1 , and Show will compute and display R(z) once.

In Example 4.1, f(z) = \frac{z − 1}{z^{2} + z} , and we want to observe the behavior of f around ∞. Therefore we conjugate f by a linear fractional transformation g(z) ≡ \frac{z − 1}{z + 1}. Then h(w) ≡ g^{−1}(w) = \frac{1 + w}{1 − w}. To input g^{−1} ∘ f ∘ g, we press Iterate and type

f = (z-1)/(z^2 + z); g = (z-1)/(z+1); h = (1+z)/(1-z); hfg <cr>

in the text window. Then the internal rational function R(z) = h ∘ f ∘ g(z) will be iterated and displayed in the complex plane window.

In Example 4.6, f(z) = −z + iz^{4} . We know 0 is a rationally neutral fixed point of f with the multiplier -1, and we want to find f_{2}(z) symbolically to determine the number of petals at 0 by the Petal Theorem. Therefore we press Iterate and type

f = -z + i z^4; ff  <cr>

in the text window, and then Stop . From the information on the text window, we find that the internal rational function R(z) = f(f(z)) = z+4z^{7}−6iz^{10}−4z^{13}+iz^{16} .

If we press Show and type

f = -z + i z^4; f[2] <cr>

in the text window, then f_{2}(z) will be evaluated and displayed once in the complex plane window, but the internal rational function is R(z) = f(z) = −z + iz^{4} .

In the input string, exp, cos, sin, and tan are allowed as coefficients. For example, if we press Iterate and type

g = (z-0.5)/(1-z/2); f = exp(0)(g(z))^2-(cos(1)^2+sin(1)^2)z; f <cr>

in the text window, then the internal rational function R(z) = (\frac{z − 0.5}{1 − 0.5z})^{2} − z will be iterated.

If we press Iterate and type

((z+1)/(z-1))((z-1)/(z+2)^2)  <cr>

in the text window, then the common factor z − 1 will be removed, and R(z) = \frac{z + 1}{(z + 2)^{2}} will be iterated.

For the format and use of Show , please refer to Examples 1.2, 1.3, 1.4, 1.7(r), 2.3, and 2.7. For the format and use of Iterate , please refer to Examples 1.1, 1.5, 2.2, 2.3, 2.4, 2.5, 2.6, 2.8, 2.9, 2.10, 2.11, 2.12, and all examples in sections 3–5.

A list of brief explanations of all command buttons on the complex plane window is as follows. Iterate : to input a rational function from the text window and iterate it. The internal rational function R(z) ( rat f(z) ) and R′(z) ( f prime(z) ) are shown in the text window. Then R_{n} is computed and displayed in the complex plane window for increasing n with initial value n = 1. Stop : to stop the iteration, orbit computation or preimage computation. See Examples 1.1, 1.3, 1.5, 2.2, 2.3, 2.4, 3.5, 4.1, and 4.2. Cont : to resume the iteration. See Examples 1.1, 2.3, 2.4, 3.7, and 4.2. One more : to apply the internal rational function R one more time. See Examples 1.4, 2.2, 2.3, 2.11, and 4.1. Orbit : to generate the orbit of a seed we pick from the picture by clicking the left mouse in the picture. The orbit flashes and waits in the complex plane window as the points in the orbit is generated one by one. The orbit is also shown in the text window. See Examples 1.4, 2.3, 4.1, 4.2, 4.3, 4.8, and 5.3. Nf : to symbolically compute the Newton function N_{R} of the current internal rational function R and then iterate N_{R}. See Examples 1.1, 1.2, 1.3, 1.4, 1.5, 1.7, 2.6, 2.7, and 2.8. crit pt : to compute critical points of R and show them in the text window and display them as black dots in the complex plane window. These critical points of R will flash. See Examples 2.10, 2.11, and all Examples in Section 5. f[n](z) : to compute the function value with iteration n at a certain point z. The iteration number, Re z, and Im z are input on the text window. The function value f_{n}(z) is shown in the position window and text window, while n can be any natural number and has nothing to do with the current iteration of the picture in the complex plane window. See Examples 1.3, 1.5, 1.7, 2.3, 3.9, 4.1, 4.3, 4.7, 4.8, 5.6, and 5.23. Show : to input a rational function from the text window and show it as a picture in the complex plane window. The internal rational function R(z) ( rat f(z) ) and R′(z) ( f prime(z) ) are shown in the text window. Let n be the current iteration of the picture in the complex plane window. Then Show sets n = 1. Zoom in : to display the function R in a smaller evaluation area with the same geographic center as the current. Zoom out : to display the function R in a larger evaluation area with the same geographic center as the current. See Examples 3.7, 4.7, 5.5, 5.8, and 5.13. Close : to close the window where the Close is located. To Close the main complex plane window terminates the program. See Example 3.7. Orb cont : to continue the orbit generation. The orbit will flash and wait as the points in the orbit is generated one by one. The orbit is also shown in the text window. We can stop the flashing by using Stop . See Example 2.3. Redraw : to redraw the picture of the current iteration without computing all the iterations again. See Examples 2.3 and 2.10. C center : to change the color center. The color center is shown on the upper-right border of the complex plane window. The new color center is input on the text window. See Examples 2.6, 2.11, and 3.8. Brighten : to make the picture brighter. Darken : to make the picture darker. Period pt : to compute the periodic points of R up to n = 3, and show them in the text window and display them as black dots in the complex plane window. See Examples 2.1, 2.3, 2.4, 2.5, 2.8, 3.7, 3.8, and 5.1. r.p.p. : to compute the repelling periodic points of R up to n = 3, and show them in the text window and display them as white dots in the complex plane window. These repelling periodic points will flash. See Examples 3.5, 3.10, and 5.23.

Pimg cont : to continue the preimage computation. See Example 3.5. Preimg : to compute the preimage and show them in the text window and display them as black dots in the complex plane window. See Examples 3.4, 3.5, 3.6, 3.8, 3.9, 3.10, 4.1, and 5.2. Orbit(s) : to generate the orbit of a seed we input on the text window. The orbit will be shown in the text window quickly, and displayed as black dots in the complex plane window. The orbit will flash after the generation of the orbit is stopped by Stop . See Examples 5.12, 5.13, 5.14, 5.15, 5.18, 5.19, 5.20, 5.21, and 5.22. Q Orbit : to generate the orbit of a seed we pick from the picture by clicking the left mouse in the picture. The orbit is shown in the text window quickly, and displayed as black dots in the complex plane window. The orbit will flash after the generation of the orbit is stopped by Stop . See Examples 1.1, 1.4, 1.5, 2.3, 2.4, 2.5, 2.9, 2.12, 3.9, 4.1, 4.2, 4.3, 4.7, 4.8, 5.5, and 5.13.

The following files deal with the graphical user interface — main.c, main.h, globals.h, eventname.h, basicx.c, basicx.h, button.c, button.h, color.c, color.h, key.c, and key.h .

The following files deal with the command parser — parse.c and parse.h .

The following files deal with the arithmetic computation of complex numbers — complex.c and complex.h .

The following files deal with the symbolic computation of rational functions — ratl.c and ratl.h .

I wish to express my sincere appreciation to my advisor, Professor Don Marshall, for his assistance and understanding in my study and preparation of this paper. If you like to get the source files of this computer program, please contact Professor Don Marshall. His e-mail, phone number, and mailing address are as follows.

marshall@math.washington.edu

(206)543-9352

Don Marshall Mathematics Department, Box 354350 University of Washington Seattle, WA 98195-4350

References

[1] Lennart Carleson and Theodore W. Gamelin, Complex Dynamics. Springer-Verlag, New York, 1993.

[2] Norbert Steinmetz, Rational Iteration. Walter de Gruyter, Berlin, New York, 1993.

[3] Alan F. Beardon, Iteration of Rational Functions. Springer-Verlag, New York, 1991.

[4] Robert L. Devaney, A First Course in Chaotic Dynamical Systems. Addison-Wesley Publishing, 1992.

[5] Olli Lehto, Quasiconformal mappings in the plane. Springer, Berlin, Heidelberg, New York, 1973.

[6] Lars V. Ahlfors, Complex Analysis. McGraw-Hill, New York, 1979.