mdbtxt1
mdbtxt2
Proceed to Safety

Period    

Robert P. Munafo, 2023 Jun 21.



The "period" as used in this glossary is the number of points in a limit cycle. See also Orbit Detection.

Period is defined only for points that have a limit cycle. The rest of this discussion will assume that the Mandelbrot Set is the iterative process in question (see iteration for the definition of the iteration function).

"Period of a mu-Molecule"

One often sees discussions of mu-molecules or islands in which they are said to have a "period". What is meant is the period of the island's owner, which is the cardioid-shaped mu-atom of that island.

"Period of a mu-Atom"

One also sees discussions of mu-atoms or hyperbolic components in which they are said to have a "period". What is meant is the period of the limit cycle for all points in the interior of the mu-atom.

Periods in Iteration

For the Mandelbrot Set, all points in the interior have a period. The mu-atoms each have a specific period, and all points in the mu-atom have that period. Thus one can refer to "the period of a mu-atom".

For example, consider the point -1 + 0i. Applying the iteration algorithm we get:


Z0 = 0 + 0i
Z1 = -1 + 0i
Z2 = 0 + 0i
Z3 = -1 + 0i
Z4 = 0 + 0i
(etc.)

Because the values of Zn repeat in a continuous cycle of two values, the point is said to have a period of 2. The points -1+0i and 0+0i together constitute the point's limit cycle.

If C is a point fairly close to this (such as -1.07+0.11i) then the values of Z1, Z2, Z3, etc. will be somewhat different, but they will still be close to the values in the example. Furthermore, as n gets larger, the values of Zn will get closer and closer to a pair of values that alternate: a limit cycle of period 2. The two limit values will not be the same as above, but they will be fairly close.

Pre-period and Period

Misiurewicz points take one or more iterations before reaching the first value in their limit cycle. The number of iterates prior to the first periodic iterate is the "preperiod".

For example, consider the point 0 + i. Applying the iteration algorithm we get:


Z0 = 0 + 0i
Z1 = 0 + i
Z2 = -1 + i
Z3 = 0 - i
Z4 = -1 + i
Z5 = 0 - i
(etc.)

The limit cycle consists of the points (-1 + i, 0 - i) so the period is 2. The first two points (0 + 0i, 0 + i) are the pre-periodic points, and the preperiod is 2.

Finding the Period of a mu-Atom

If the approximate location and size of a mu-atom are known, its period can be found by iterating all four corners of a rectangle known to contain its nucleus, applying the Even-Odd-rule at each step to find out if the origin is contained within the rectangle (which moves and rotates at each step). The articles Jordan curve method and Synchronous-Orbit Algorithm both illustrate this with pictures of rotated rectangles; but the second is only performing period detection.

1. Identify a polygon with at least three vertices, such that the nucleus is known to be inside the polygon. (In practice, a square is the simplest polygon to use.)

2. Define values of Ci for each vertex, and set initial values of Zi=0. Then, iterate Zi2+Ci for all values of Zi, one step at a time.

3. At each iteration step, count how many edges of the polygon cross the positive half of the real axis. (Actually, either half of either axis will work). If an odd number of edges cross the positive real axis, then we know the origin is inside the polygon. (This method works because of the Jordan Curve Theorem.)

4. Look and see how many iterations you had to do to get to the set of vertices that contains the origin. This is the period.

5. This method will find the lowest period within the starting polygon. Therefore, if the location of the nucleus is known only approximately, the method will still work.

An Example

For example, we want to find the period of the cardioid that is part of the mu-molecule R2F(1/3B1)S. By viewing (see here for a picture) we know it is somewhere in the vicinity of -0.158 + 1.033i, and is clearly contained within a square 0.030 units long on each side centered at that point. Therefore, we can use -0.158±0.015 for the real, and 1.033±0.015 for the imaginary coordinates of the vertices of a square (roughly corresponding to the corners of the picture on the R2F(1/3B1)S page) and assign these to C0 through C3. Iteration proceeds as follows:

iteration Z0 Z1 Z2 Z3
0 0 0 0 0
1 -0.173+1.018i -0.143+1.018i -0.143+1.048i -0.173+1.048i
2 -1.179+0.666i -1.159+0.727i -1.221+0.748i -1.241+0.685i
3 0.775-0.552i 0.672-0.667i 0.788-0.779i 0.898-0.654i
4 0.122+0.162i -0.136+0.122i -0.130-0.179i 0.207-0.126i

As always (see Iterates) iteration 0 is 0, and iteration 1 is the parameter Ci. We can see pretty easily that for iteration 2, all the points are way off to the upper-left somewhere, and for iteration 3, they're all to the lower right. At iteration 4, there is one corner in each quadrant of the complex plane — so the polygon now surrounds the origin. We know therefore that some point within the original square is a point whose 4th iteration is now precisely on the origin, and therefore is the nucleus of the island. As the R2F(1/3B1)S indicates, that island is indeed period 4.

Source code for this algorithm is in the Jordan Curve Method article.

The Main Insight

For iteration 4, you can see (using graph paper if necessary) that the line segment connecting Z0 and Z3 crosses the positive half of the real axis, and that none of the others do. Imagine traveling from Z0 to Z3, then to Z2, then to Z1, then back to Z0. This is a closed path tracing out the boundary of a quadrilateral. Since only one of the four edges (the edge from Z0 to Z3) crosses the positive half of the real axis, the path must surround the origin. In other words, we can say that "the 4th iteration of the original square surrounds the origin". That means1 that somewhere within the original square is a point whose 4th iteration falls exactly on the origin, and that point has period 4.

This method works because the function Z2+C is continuous, and because the origin 0+0i is always part of the limit cycle of any attractive periodic point. (It does not work for repelling periodic points such as the terminal point 0+i.)

Although a period has been found, this algorithm alone does not guarantee that there is an island. There might be merely a Misiurewicz point like 0+i (which has period 2).

The method can even be used to (approximately) find the location of the mu-atom's nucleus. The location of the origin within the iterated polygon corresponds to the location of the original point within the original square. Linear interpolation (described in the article Inverse Interpolation for a Quadrilateral) gives an inexact answer, because the iteration function is not linear. However, making a small adjustment to the polygon, repeating the algorithm, and iterating can often find the exact location of the nucleus.

Other Methods

There are also methods of finding the period of a point without knowing the location of the mu-atom containing it. For example, one can iterate a "whole lot" of times, then see if the last iteration equals any of the previous iterations.

However, such methods are never foolproof. Typically, they fail when used on points that are comparatively close to the boundary of their mu-atom. In such cases the algorithm will usually "find" an integer multiple of the actual period. This happens because as you get close to a child mu-atom, the points approaching the limit cycle converge in a spiral or pinheel-like manner. For example, imagine the period is actually 5, and our point is close to a child mu-atom with period 35. If you look at each 5th iterate, you'll typically find a pattern that spirals in on a limit point, taking 7 steps to go each time around the spiral. Because of the spiral pattern, the 7th step (35th iteration) is a lot closer than the 1st step (5th iteration), and simple period-finding algorithms will catch the closer one.

Repelling Periods

As just mentioned above, there are points whose iterates have a period, but the point itself is not part of the limit cycle. These are "repelling" periodic points because all nearby points either escape, iterate chaotically, or have some other period. An example of such a point is 0+i:

Z0 = 0
Z1 = 0 + i
Z2 = -1 + i
Z3 = 0 - i
Z4 = -1 + i
Z5 = 0 - i
(etc.)

With points like this you will only find a period if you start with the precise coordinates of the periodic point and if there is no roundoff error. Here is the same iteration for 0.001 + i:

Z0 = 0.00000
Z1 = +0.00100 + 1.00000 i
Z2 = -0.99900 + 1.00200 i
Z3 = -0.00500 - 1.00200 i
Z4 = -1.00297 + 1.01003 i
Z5 = -0.01322 - 1.02605 i
Z6 = -1.05161 + 1.02712 i
Z7 = +0.05190 - 1.16027 i
(etc.)

These iterates drift away from the limit cycle [-1+i, 0-i] at an exponentially increasing rate. By Z11 = -2.62645 + 3.86102i the iteration has escaped.

Displaying Period Information

Views that display the periods of mu-atoms (usually in some color-coded way) are fairly enlightening, because they show important relationships between the periods of nearby mu-atoms. For example, children belonging to a mu-atom all have periods that are multiples of the parent's period. See representation functions. The atom domains technique is similar, but the regions of colour are larger than the actual mu-atoms.

This page has a nice picture showing mu-atoms in different colors.


footnotes

1 : somewhere within : This fact is related to the Jordan curve theorem, and the fact that the function Z2+C has no Branch points.


revisions: 20080309 oldest on record; 20100825 add spiral divergence (0.001+i) example; 20110227 clarify Jordan curve argument; 20221018 qualify closeness of limit "cycle" values; 20230615 define period for a mu-atom and mu-molecule; 20230621 preperiods, link to Jordan curve method and to atom domains, link to even-odd rule wiki page




From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2024.

Mu-ency main pageindexrecent changesDEMZ


Robert Munafo's home pages on AWS    © 1996-2024 Robert P. Munafo.    about    contact
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Details here.

This page was written in the "embarrassingly readable" markup language RHTF, and was last updated on 2023 Jun 22. s.27