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

GoalsEdit

  • 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 atraction)

stepsEdit

  • 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

degreeEdit

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 pointsEdit

DefinitionEdit

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:

  • 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 formulaEdit

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[2]


How to check if infinity is critical point ?Edit

Evaluate function f

  

at point in infinity[3]

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 pointEdit

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));



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 pointEdit

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  .

AttractorsEdit

  • 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 domainsEdit

  • 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[4]
  • 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.[5]
  • number of componnets

Basin dataEdit

  • function ( input)
  • period of attracting cycle
  • one critical point which falls into the attracting cycle and is in the same component as the attracing 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


ImagesEdit

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

ExamplesEdit

ProgramsEdit

GRPF: Global complex Roots and Poles Finding algorithmEdit

visualisationEdit

Maxima CAS codeEdit

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 imeges
  • 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 mapsEdit

  • 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.

ProblemsEdit

  • 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.

See alsoEdit

ReferencesEdit

  1. fractalforums.org : period-detection
  2. Introduction to Julia Sets of Rational Functions by Andre Pedroso Kowacs
  3. math.stackexchange question: when-is-infty-a-critical-point-of-a-rational-function-on-the-sphere
  4. Shishikura, M.. “On the quasiconformal surgery of rational functions.” Annales Scientifiques De L Ecole Normale Superieure 20 (1987): 1-29.
  5. Beardon, Iteration of Rational Functions, Theorem 7.1.1.