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 | edit source]- 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 | edit source]- 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 | edit source]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 | edit source]- 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 | edit source]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 | edit source]Definition
[edit | edit source]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 | edit source]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 | edit source]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 | edit source]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 | edit source]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 | edit source]- 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 | edit source]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 | edit source]- 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 :
- 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 | edit source]- 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 | edit source]- critical orbits ( forward orbit of critical points)
- periodic points ( mostly attracting cycles )
- basins of attraction
Examples
[edit | edit source]- Rational maps
- Invariants and Parameter Space Models for Rational Maps by Anastasia Shepelevtseva 2022
Programs
[edit | edit source]- m-describe from mandelbrot-numerics library by Claude Heiland-Allen: gives description of point c from the parameter plane of complpex quadratic polynomial
- Describe iterated map (C++) : determine numerically the cycles of a polynomial Julia set by marcm200
- C program for analyzing and drawing dynamical systems based on the rational maps by Michael Becker, 8/2003
GRPF: Global complex Roots and Poles Finding algorithm
[edit | edit source]visualisation
[edit | edit source]- Mark McClure - JavaScript
- Jux - Julia fractal explorer by xenodream - binary program without src
- Mandel by Wolf Jung - c++ code
- Xaos
- Wolfram Alfa : julia set f(z) = (z^2-0.2+0.7*I ) /(z^2 + 0.917)
- RatioField by Gert Buschmann - pascal code
- Luis Javier Hernández Paricio
- Plotting basins of end points of rational maps with Sage by Luis Javier Hernandez Paricio, Miguel Maranon Grandes, Marıa Teresa Rivas Rodrıguez
- Plotting Basins of a Univariate Rational map in Julia by Luis Javier HERNÁNDEZ PARICIO
- Global Visualization of Basins of Univariate Rational Functions with Julia by Luis Javier Hernández Paricio
- An implementation in Julia language for the iteration of rational functions on the Riemann sphere. Applications to numerical methods - Extremiana José Ignacio, José Manuel Gutiérrez, Luis Javier Hernández Paricio, María Teresa Rivas Rodriguez
Maxima CAS code
[edit | edit source]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 | edit source]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 | edit source]- 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 | edit source]See also
[edit | edit source]- How to construct a map with desired properities ? ( inverse process)
- Counting Hyperbolic Components by Jan Kiwi, Mary Rees. We give formulas for the numbers of type II and type IV hyperbolic components in the space of quadratic rational maps, for all fixed periods of attractive cycles.
- Hyperbolic components of rational maps: Quantitative equidistribution and counting by Thomas Gauthier, Yûsuke Okuyama, Gabriel Vigny
- On the classification of critically fixed rational maps by Kristin Cordwell, Selina Gilbertson, +2 authors Samantha Pinella Published 2013 Mathematics arXiv: Dynamical Systems, DOI:10.1090/S1088-4173-2015-00275-1Corpus ID: 51788955
- On Rational Maps with Two Critical Points J. Milnor Published 2000 Mathematics, Computer Science Experimental Mathematics, DOI:10.1080/10586458.2000.10504657Corpus ID: 18618158
- mathoverflow.net question: what-are-the-shapes-of-rational-functions?
- Remarks on quadratic rational maps by John W. Milnor 1992
- GLOBAL MAPPING PROPERTIES OF RATIONAL FUNCTIONS by Cristina Ballantine1 and Dorin Ghisa
- analyzing polynomial functions
References
[edit | edit source]- ↑ fractalforums.org : period-detection
- ↑ fractalforums.org : julia-sets-true-shape-and-escape-time
- ↑ ON THE ZEROS AND CRITICAL POINTS OF A RATIONAL MAP. by XAVIER BUFF
- ↑ Introduction to Julia Sets of Rational Functions by Andre Pedroso Kowacs
- ↑ math.stackexchange question: when-is-infty-a-critical-point-of-a-rational-function-on-the-sphere
- ↑ Shishikura, M.. “On the quasiconformal surgery of rational functions.” Annales Scientifiques De L Ecole Normale Superieure 20 (1987): 1-29.
- ↑ One dimensional real and complex dynamics Lecture notes for Mathematics Taught Course Centre, Spring 2014 Davoud Cheraghi December 8, 2014
- ↑ Beardon, Iteration of Rational Functions, Theorem 7.1.1.
- ↑ THE LOCATION OF CRITICAL POINTS OF FINITE BLASCHKE PRODUCTS by DAVID A. SINGER
- ↑ 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
- ON THE ZEROS AND CRITICAL POINTS OF A RATIONAL MAP by XAVIER BUFF
- Iteration of rational functions (Talk Notes) by Erin Pearse
- Symmetries for Julia sets of rational maps by Gustavo Rodrigues Ferreira
- Remarks on Quadratic Rational Maps. by J. Milnor Stony Brook, August 1992
- On Rational Maps with Two Critical Points by J. Milnor
- Bounded Hyperbolic Components of Quadratic Rational Maps by Adam Lawrence Epstein September 1, 1997