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 muMolecule"
One often sees discussions of mumolecules 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 cardioidshaped muatom of that island.
"Period of a muAtom"
One also sees discussions of muatoms 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 muatom.
Periods in Iteration
For the Mandelbrot Set, all points in the interior have a period. The muatoms each have a specific period, and all points in the muatom have that period. Thus one can refer to "the period of a muatom".
For example, consider the point 1 + 0i. Applying the iteration algorithm we get:
Z_{0} = 0 + 0i
Z_{1} = 1 + 0i
Z_{2} = 0 + 0i
Z_{3} = 1 + 0i
Z_{4} = 0 + 0i
(etc.)
Because the values of Z_{n} 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 Z_{1}, Z_{2}, Z_{3}, 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 Z_{n} 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.
Preperiod 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:
Z_{0} = 0 + 0i
Z_{1} = 0 + i
Z_{2} = 1 + i
Z_{3} = 0  i
Z_{4} = 1 + i
Z_{5} = 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 preperiodic points, and the preperiod is 2.
Finding the Period of a muAtom
If the approximate location and size of a muatom are known, its period can be found by iterating all four corners of a rectangle known to contain its nucleus, applying the EvenOddrule 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 SynchronousOrbit 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 C_{i} for each vertex, and set initial values of Z_{i}=0. Then, iterate Z_{i}^{2}+C_{i} for all values of Z_{i}, 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 mumolecule 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 C_{0} through C_{3}. Iteration proceeds as follows:

As always (see Iterates) iteration 0 is 0, and iteration 1 is the parameter C_{i}. We can see pretty easily that for iteration 2, all the points are way off to the upperleft 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 4^{th} 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 Z_{0} and Z_{3} crosses the positive half of the real axis, and that none of the others do. Imagine traveling from Z_{0} to Z_{3}, then to Z_{2}, then to Z_{1}, then back to Z_{0}. This is a closed path tracing out the boundary of a quadrilateral. Since only one of the four edges (the edge from Z_{0} to Z_{3}) crosses the positive half of the real axis, the path must surround the origin. In other words, we can say that "the 4^{th} iteration of the original square surrounds the origin". That means^{1} that somewhere within the original square is a point whose 4^{th} iteration falls exactly on the origin, and that point has period 4.
This method works because the function Z^{2}+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 muatom'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 muatom 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 muatom. 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 muatom, the points approaching the limit cycle converge in a spiral or pinheellike manner. For example, imagine the period is actually 5, and our point is close to a child muatom with period 35. If you look at each 5^{th} 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 7^{th} step (35^{th} iteration) is a lot closer than the 1^{st} step (5^{th} iteration), and simple periodfinding 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:
Z_{0} = 0
Z_{1} = 0 + i
Z_{2} = 1 + i
Z_{3} = 0  i
Z_{4} = 1 + i
Z_{5} = 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:
Z_{0} = 0.00000
Z_{1} = +0.00100 + 1.00000 i
Z_{2} = 0.99900 + 1.00200 i
Z_{3} = 0.00500  1.00200 i
Z_{4} = 1.00297 + 1.01003 i
Z_{5} = 0.01322  1.02605 i
Z_{6} = 1.05161 + 1.02712 i
Z_{7} = +0.05190  1.16027 i
(etc.)
These iterates drift away from the limit cycle [1+i, 0i] at an exponentially increasing rate. By Z_{11} = 2.62645 + 3.86102i the iteration has escaped.
Displaying Period Information
Views that display the periods of muatoms (usually in some colorcoded way) are fairly enlightening, because they show important relationships between the periods of nearby muatoms. For example, children belonging to a muatom 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 muatoms.
This page has a nice picture showing muatoms in different colors.
footnotes
1 : somewhere within : This fact is related to the Jordan curve theorem, and the fact that the function Z^{2}+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 muatom and mumolecule; 20230621 preperiods, link to Jordan curve method and to atom domains, link to evenodd rule wiki page
From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 19872024.
Muency main page — index — recent changes — DEMZ
This page was written in the "embarrassingly readable" markup language RHTF, and was last updated on 2023 Jun 22. s.27