Fractals/Iterations in the complex plane/analysis

How to analyze discrete dynamical system based on the rational map of one complex variable defined on the Riemann sphere ?

 
 


Find non-repelling periodic points

Goals

edit
  • find critical points ( finite and infinite) = critical set
  • find periodic points (cycles), it's periods[1] and stability
  • find relation between critical point, attracting points and their basin (domain of attraction)

dictionary

edit
  • rational functions, that is, holomorphic maps of the Riemann sphere to itself, or equivalently, ratios of two polynomials, up to Moebius transformations in both domain and range.

Algorithm

edit

Algorithm by pauldelbrot[2] "For rational maps, I'd suggest the following procedure would work:

  • Follow all critical orbits for some large number of iterations.
  • For each one: Run it a few thousand more iterations and see if it gets close to the landing points of any previous ones. If it does, discard it.
  • Divide the Riemann sphere into small regions in a grid; e.g. by keeping two square bitmaps, representing in one the inside of the unit circle and in the other the outside of it by representing the inside of the unit circle for w = 1/z.
  • Color the pixels in these bitmaps containing the remaining critical orbit landing points red, green, blue, etc.; maybe use a conservative distance estimate at each one to widen this to a small disk of pixels.
  • Apply the original algorithm, only instead of looking for pixels to hit white or not, you look for them to hit all those various colors, and propagate those colors.

In the end you should have colorful filled-in basins of attraction along with grey along the Julia set itself. Conversion of the two bitmaps into a suitable visual representation of a sphere is left as an exercise for the reader."


If local dynamics near fixed point is to hard

  • move fixed point to zero
  • (to do)

steps

edit
  • compute degree of the map
  • compute first derivative wrt the variable z  :  
  • compute critical points
  • compute attractors ( attracting periodic cycles) and their periods as a limits of critical orbits
  • compute multiplier for each attractor
  • make image

degree

edit

The degree d of rational map f is the maximum of degrees of its denominator and of its numerator, provided they are relatively prime:

  
 
  

critical points

edit

Definition

edit

Critical point on the Riemann sphere is a

  • point z where f is not locally one-to one = fails to be injective in any neighbourhood of z, and f is not constant
  • points at which valency ( order) is grater then 1


A critical point of   is a:[3]

  • finite point z satisfying  
  • poles of f of order 2 or higher
  • point at infinity z = ∞
    • if the degree d of   is at least two
    • if   for some c and a rational function   satisfying this condition.

The Riemann-Hurwitz formula

edit

Number of critical points n counted with appropriate multiplicity on the Riemann sphere is

n = 2*d-2

Where d = degree of the function

This is an upper bound (maximal number because of counting multiplicities), so the function can have less critical points[4]


How to check if infinity is critical point ?

edit

Evaluate function f

  

at point in infinity[5]

There are 2 cases

  •   so infinity is a fixed point of f
  •   so infinity is not a fixed point of f

The degree of

  • of numerator   is  
  • of denominator   is  .


fixed point

edit

The infinity is a fixed point of f

  

then the   is a critical point of   if

  
 
 

Example

 


kill(all);
remvalue(all);
display2d:false;


define(f(z), (z^3+ 2*z + 3)/(z - 1));

/* first derivativa wrt z */
define( d(z), diff(f(z),z,1));


/* hipow does not expand expr, so hipow (expr, x) and hipow (expand (expr, x)) may yield different results */
n : hipow(num(f(z)),z);
m : hipow(denom(f(z)),z);

/* check if infinity is a fixed point */
limit(f(z),z,infinity);



/* finite critical points */

s:solve(d(z)=0)$
s : map(rhs,s)$
s : map('float,s)$
s : map('rectform,s)$

not a fixed point

edit

The infinity is not a fixed point of f

   
 
 

look at the function

  . 
 

The derivative is given by

  

then if:

  •   then   is not a critical point of  .
  •   then if
    • the numerator is of degree   and   is not a critical point of  .
    • the numerator is of degree   then   is a critical point of  .
  •   then   is not a critical point of  .
  •   then   is a critical point of  .

Attractors

edit
  • Find attractor ( attracting periodic points, cycle) as a limit set of critical orbit
  • find period of a cycle


How to check if infinity is fixed point ?

edit

Here infinity has period 2 = is not a fixed point

 a: -3-3*%i; /* d */
c: 0.0;
define(f(z), 1/(z^3+ a*z + c));

(%i4) limit(f(z),z,infinity);
(%o4)                                  0
(%i5) limit(f(z),z,0);
(%o5)                              infinity


Here infinity is not a fixed point

remvalue(all);
display2d:false;
define(f(z), 1/(z^3+ 2.099609375*z +  0.349609375));
(%i5)limit(f(z),z,infinity);
(%o5) 0
(%i6) limit(f(z),z,0);
(%o6) 2.860335195530726

Here infinity is a fixed point

define(f(z), (z^3+ 2*z + 3)/(z - 1));
n : hipow(num(f(z)),z);
m : hipow(denom(f(z)),z);
(%o3) f(z):=(z^3+2*z+3)/(z-1)
(%i4) 
(%o4) 3
(%i5) 
(%o5) 1
(%i6) limit(f(z),z,infinity);
(%o6) infinity

Basins = Fatou domains

edit
  • Each of the Fatou domains ( basin of attraction) contains at least one critical point of  
  • each attracting, superattracting and parabolic cycle attracts a critical point
  • there is only a finite number of Fatou domains :
    • rational function of degree d cannot have more than 2(d—1) cycles of stable regions[6]
    • "the basins of attractions of distinct periodic cycles are disjoint. As a rational map of degree d has at most 2d−2 critical points, the number of attracting and parabolic cycles of f is bounded by 2d − 2" [7]
  • A Fatou domain can contain several critical points
  • Each domain of the Fatou set of a rational map can be classified into one of four different classes.[8]
  • number of componnets

Basin data

edit
  • function ( input)
  • period of attracting cycle
  • one critical point which falls into the attracting cycle and is in the same component as the attracting point ( see below)
  • attractor = one point from the attracting cycle, which is in the same component as above critical point
  • multiplier of the attracting cycle

If one have above data for each basin then it is possible to make image of dynamic plane


Images

edit
  • critical orbits ( forward orbit of critical points)
  • periodic points ( mostly attracting cycles )
  • basins of attraction

Examples

edit

Programs

edit

GRPF: Global complex Roots and Poles Finding algorithm

edit

visualisation

edit

Maxima CAS code

edit

Steps

  • computes first derivative d(z) using symbolic methods
  • computes ( only finite) critical points, as a roots of equation d(z) = 0 using symbolic methods
  • computes forward orbit of critical points and make images
  • visual inspection of images gives approximated period of the attractor
kill(all);
remvalue(all);
display2d:false;



/* map */ 

define(f(z), (z^2)/(z^9 -z + 0.025));


/* first derivativa wrt z */
define( d(z), diff(f(z),z,1));




GiveOrbit(z0,iMax):=
   /* 
   computes (without escape test)
    (forward orbit of critical point )
   and saves it to the list for draw package */
block(
 [z,orbit,temp],
 z:z0, /* first point = critical point z:0+0*%i */
 orbit:[[realpart(z),imagpart(z)]], 
 for i:1 thru iMax step 1 do
        ( z:f(z),
          z:float(z),
          z:rectform(z),
          z:float(z),
          if (cabs(z)>3) then break,
          /*if (cabs(z)< 0.00001) then break, */
          orbit:endcons([realpart(z),imagpart(z)],orbit)),
         
 return(orbit) 
)$



        
GiveAttractor(z0,iMax):=
   /* 
   computes (without escape test)
    (forward orbit of critical point )
   and saves it to the list for draw package */
block(
 [z,orbit,temp],
 z:z0, /* first point = critical point z:0+0*%i */
 orbit:[], 
 
 for i:1 thru iMax step 1 do
        ( z:f(z),
          z:float(z),
          z:rectform(z),
          z:float(z)
          
          ),
 
 for i:1 thru 10 step 1 do
        ( z:f(z),
          z:float(z),
          z:rectform(z),
          z:float(z),
          if (cabs(z)>3) then break,
          /*if (cabs(z)< 0.00001) then break, */
          orbit:endcons([realpart(z),imagpart(z)],orbit)),
         
 return(orbit) 
)$
    
    

    
        
GiveScene(attractor):=
gr2d(title= "Possible cycle",
	user_preamble = "set nokey;set size square;set noxtics ;set noytics;",
	
        point_type    = filled_circle,
	points_joined = false,
        point_size    = 0.7,
        /* */
	color		  =red,
	points(attractor)
        )$



/* critical points 

[-0.8366600265340756*%i,0.8366600265340756*%i]


*/

s:solve(d(z)=0)$
s : map(rhs,s)$
s : map('float,s)$
s : map('rectform,s)$

s2 :  allroots(s[2])$
s2 : map(rhs,s2)$
s2 : map('float,s2)$
s2 : map('rectform,s2)$
s : cons(s[1], s2);  






MyOrbits:[];
for z in s do (
  	print(i,z),
    	orbit : GiveOrbit(z,30),
  	MyOrbits:endcons([discrete,orbit], MyOrbits)
  	

)$


MyAttractors:[];
for z in s do (
  	
    	attractor : GiveAttractor(z,300),
    	attractor : GiveScene(attractor),
  	MyAttractors:endcons(attractor, MyAttractors)
  	

)$

load(draw);
path:""$ /*  pwd, if empty then file is in a home dir , path should end with "/" */
fileName: sconcat(path,  "cycles")$
draw(
	terminal = png,
	file_name = fileName,
	columns= 4,
	MyAttractors
);

Difference between polynomial and rational maps

edit

Infinity

  • for polynomials infinity is superattracting fixed point. So in the exterior of Julia set (basin of attraction of infinity) the dynamics is the same for all polynomials. Escaping test ( = bailout test) can be used as a first universal tool.
  • for rational maps infinity is not a superattrating fixed point. It may be periodic point or not.

Critical points

  • The theorem of Lucas states that the critical points of a polynomial in the complex plane lie within or on the convex hull of the zeros.[9]
  • The critical points of B(Z) in the interior of the disc lie within or on the (non-Euclidean) convex hull of the zeroes of B(Z), with respect to the Poincar´e metric.


Visualisation

  • "In order to graphically study these sets which, as we shall see are four dimensional, we employ a range of techniques for visualizing high dimensional objects more commonly reserved for studying 3D volumes arising from MRI or CT scans, techniques known as volume visualization." [10]

Problems

edit
  • overflows caused by denominators close to zero. Solution : "The use of normalized homogeneous coordinates avoids overflow and underflow errors " Luis Javier Hernández Paricio.
  • "the representation of a rational function by a pair of homogeneous polynomials of two variables and with the same degree allows us to compute the numerical value of the function at any pole point and at the point at infinity" Luis Javier Hernández Paricio.


How can you read location from the image ?

edit

See also

edit

References

edit
  1. fractalforums.org : period-detection
  2. fractalforums.org : julia-sets-true-shape-and-escape-time
  3. ON THE ZEROS AND CRITICAL POINTS OF A RATIONAL MAP. by XAVIER BUFF
  4. Introduction to Julia Sets of Rational Functions by Andre Pedroso Kowacs
  5. math.stackexchange question: when-is-infty-a-critical-point-of-a-rational-function-on-the-sphere
  6. Shishikura, M.. “On the quasiconformal surgery of rational functions.” Annales Scientifiques De L Ecole Normale Superieure 20 (1987): 1-29.
  7. One dimensional real and complex dynamics Lecture notes for Mathematics Taught Course Centre, Spring 2014 Davoud Cheraghi December 8, 2014
  8. Beardon, Iteration of Rational Functions, Theorem 7.1.1.
  9. THE LOCATION OF CRITICAL POINTS OF FINITE BLASCHKE PRODUCTS by DAVID A. SINGER
  10. Graphical exploration of the connectivity sets of alternated Julia sets M, the set of disconnected alternated Julia sets by Marius-F. Danca · Paul Bourke · Miguel Romera