Fractals/Iterations in the complex plane/pcheckerboard
Task
editHow to show dynamics inside parabolic basin ?
Parameter c is a parabolic point
Attractor (limit set, attracting cycle / fixed point )
- belongs to Julia set ( not as in other cases )
- is weakly attracting ( lazy dynamics)
Algorithm
editColor depends on:
- sign of imaginary part of numerically approximated Fatou coordinate (numerical explanation )
- position of under in relation to one arm of critical orbit star: above or below ( geometric explanation)
Name of the algorithm
edit- Parabolic chessboard = parabolic checkerboard
- zeros of qn - use only interior of Filled Julia sets on real slice of Mandelbrot set ( c is a real number, iaginary part is zero)
- Binary decomposition ( method = BDM ) in parabolic case
- Tessellation of the Interior of Filled Julia Sets ( Tomoki Kawahira in Semiconjugacies in Complex Dynamics with Parabolics)
- internal tiling
Steps
editFirst choose:
- choose target set, which is a circle with :
- center in parabolic fixed point
- radius such small that width of exterior between components is smaller then pixel width
- Target set consist of fragments of p components ( sectors). Divide each part of target set into 2 subsectors ( above and below critical orbit ) = binary decomposition
Steps:
- take = initial point of the orbit ( pixel)
- make forward iterations
- if points escapes = exterior
- if point do not escapes then check if point is near fixed point ( in the target set)
- if no then make some extra iterations
- if is then check in what half of target set it ( binary decomposition)
How to find trap ?
editSteps for parabolic basin
- choose component with critical point inside
- choose trap
- decompose trap disk for binary decomposition = divide into 2 parts : above and beyond the critical orbit
Trap features:
- is inside component with critical point inside
- trap has parabolic point on it's boundary
- center of the trap is midpoint between last point of critical orbit and fixed point
- radius of the trap is half of distance between fixed point and last point of critical orbit
Target set
- for periods 1 and 2 in case of complex quadratic polynomial : circle
- for periods >2: curvilinear sectors of circle around fixed point, 2 triangles described by :
Nota that one trap for components is bigger then two traps for BDM
- trap for componets : triangle
- trap for BDM : triangle
where
- z1, z2 are the last point of external rays bounding component ( usually the biggest one, with critical point inside )
- is the critical point, or it's forward image in case thet critical orbit arm is not straight line
- is parabolic fixed point
Because of lazy dynamics one stops the computation before critical orbit and external rays land on the parabolic fixed point. The remaining gap is filled (approximated) with line from the last point to the landing point.
-
computed and approximated parts
How to compute preimages of critical point ?
editHere a and b are 2 inverse ( or backward ) iterations ( multivalued with argument adjusted ) used in the program Mandel by Wolf Jung:
- 1-st inverse function = key a =
- 2-nd inverse function = key b =
"Use the keys a and b for the inverse mapping. (The two branches are approximately mapping to the parts A and B of the itinerary.)
/* *****************************************************************************************
*************************** inverse function of f(z) = z^2 + c ****************************
*******************************************************************************************
*/
/*f^{-1}(z) = inverse with argument adjusted
"When you write the real and imaginary parts in the formulas as complex numbers again,
you see that it is sqrt( -c / |c|^2 ) * sqrt( |c|^2 - conj(c)*z ) ,
so this is just sqrt( z - c ) except for the overall sign:
the standard square-root takes values in the right halfplane, but this is rotated by the squareroot of -c .
The new line between the two planes has half the argument of -c .
(It is not orthogonal to c ... )"
...
"the argument adjusting in the inverse branch has nothing to do with computing external arguments. It is related to itineraries and kneading sequences, ...
Kneading sequences are explained in demo 4 or 5, in my slides on the stripping algorithm, and in several papers by Bruin and Schleicher.
W Jung " */
complex double fa(const complex double z0){
double t = cabs(c);
t = t*t;
complex double z = csqrt(-c/t)*csqrt(t-z0*conj(c));
return - z;
}
complex double fb(const complex double z0){
double t = cabs(c);
t = t*t;
complex double z = csqrt(-c/t)*csqrt(t-z0*conj(c));
return z;
}
complex double give_preimage_a(complex double z0){
int i;
int iMax = child_period;
complex double z = z0;
for (i = 0; i < iMax; ++i){
z = fa(z); }
return z;
}
complex double give_preimage_b(complex double z0){
int i;
int iMax = child_period;
complex double z = z0;
for (i = 0; i < iMax-1; ++i){
z = fa(z); }
z = fb(z);
return z;
}
int Draw_preimages(complex double z0, unsigned char iColor, unsigned char A[]){
complex double z = z0;
int i;
int iMax = 100;
for (i = 0; i < iMax; ++i){
z = give_preimage_a(z);
dDrawPoint(z, iColor, A);
}
z = z0;
z = give_preimage_b(z);
dDrawPoint(z, iColor, A);
for (i = 0; i < iMax - 1; ++i){
z = give_preimage_a(z);
dDrawPoint(z, iColor, A);
}
return 0;
}
dictionary
edit- The chessboard is the name of this decomposition of A into a graph and boxes
- the chessboard graph
- the chessboard boxes :" The connected components of its complement in A are called the chessboard boxes (in an actual chessboard they are called squares but here they have infinitely many corners and not just four). " [1]
- the two principal or main chessboard boxes
- trap = target set = attracting petal
Visualizing Structures with the Chessboard Graph
"An often used and very useful technique of visualization of ramified covers (and partial cover structures that are not too messy) consists in cutting the range in domains, often simply connected, along lines joining singular values, and taking the pre-image of these pieces, which gives a new set of pieces. The way they connect together and the way they map to the range give information about the structure." Arnaud Chéritat Near Parabolic Renormalization for Unicritical Holomorphic Maps by Arnaud Chéritat
description
edit"A nice way to visualize the extended Fatou coordinates is to make use of the parabolic graph and chessboard." [2]
Color points according to :[3]
- the integer part of Fatou coordinate
- the sign of imaginary part
Corners of the chessboard ( where four tiles meet ) are precritical points [4]
or
1/1
editThe parabolic chessboard for the polynomial z + z^2 normalizing * each yellow tile biholomorphically maps to the upper half plane * each blue tile biholomorphically maps to the lower half plane under * The pre-critical points of or equivalently the critical points of are located where four tiles meet"[5]
Images
editClick on the images to see the code and descriptions on the Commons !
-
BDM only in the interior
-
BDM in both exterior ( superattracting) and interior ( parabolic)
-
only one basin: exterior ( superattracting)
-
on the cusp of main cardioid
-
from main cardioid to period 2
-
between period 2 and 4 along 1/2 ray
-
0/1 = 1/1
-
1/2
-
1/3
-
1/4
-
5/11
evolution on the escape route 0
- start with nucleus of component with period 1 (c = 0)
- go along internal ray for angle = 0
- parabolic point (c = 1/4)
- on the external ray for angle 0
-
-
superattracting
-
attracting
-
parabolic
-
only one basin: exterior ( superattracting), Julia set discontinous
-
various number of star branches
-
0/1 = 1/1
-
invariant curves inside main boxes
-
d=2
-
d=3
-
d=4
-
d=5
-
structural chessboard of first renormalization of the degree 2 parabolic Blaschke product, cylinders highted with a normal map.
Examples :
code
editFor the internal angle 0/1 and 1/2 critical orbit is on the real line ( Im(z) = 0). It is easy to compute parabolic chessboard because one have to check only imaginary part of z. For other cases it is not so easy
0/1
editCpp code by Wolf Jung see function parabolic from file mndlbrot.cpp ( program mandel ) [8][9]
To see effect :
- run Mandel
- (on parameter plane ) find parabolic point for angle 0, which is c=0.25. To do it use key c, in window input 0 and return.
C code :
// in function uint mndlbrot::esctime(double x, double y)
if (b == 0.0 && !drawmode && sign < 0
&& (a == 0.25 || a == -0.75)) return parabolic(x, y);
// uint mndlbrot::parabolic(double x, double y)
if (Zx>=0 && Zx <= 0.5 && (Zy > 0 ? Zy : -Zy)<= 0.5 - Zx)
{ if (Zy>0) data[i]=200; // show petal
else data[i]=150;}
Gnuplot code :
reset
f(x,y)= x>=0 && x<=0.5 && (y > 0 ? y : -y) <= 0.5 - x
unset colorbox
set isosample 300, 300
set xlabel 'x'
set ylabel 'y'
set sample 300
set pm3d map
splot [-2:2] [-2:2] f(x,y)
1/2 or fat basilica
editCpp code by Wolf Jung see function parabolic from file mndlbrot.cpp ( program mandel ) [10] To see effect :
- run Mandel
- (on parameter plane ) find parabolic point for angle 1/2, which is c=-0.75. To do it use key c, in window input 0 and return.
C code :
// in function uint mndlbrot::esctime(double x, double y)
if (b == 0.0 && !drawmode && sign < 0
&& (a == 0.25 || a == -0.75)) return parabolic(x, y);
// uint mndlbrot::parabolic(double x, double y)
if (A < 0 && x >= -0.5 && x <= 0 && (y > 0 ? y : -y) <= 0.3 + 0.6*x)
{ if (j & 1) return (y > 0 ? 65282u : 65290u);
else return (y > 0 ? 65281u : 65289u);
}
-
trap for components
1/3
edit-
chessboard
-
target set ( precritical points)
Numerical approximation of Julia set for fc(z)= z^2 + c child_period = 3 internal argument in turns = 1 / 3 parameter c = -0.1250000000000000 +0.6495190528383290*I fixed point alfa z = a = -0.2500000000000000 +0.4330127018922194*I external angles of rays landing on the fixed point : t = 1/7 t = 2/7 t = 4/7 critical point z = zcr = 0.0000000000000000 +0.0000000000000000*I precritical point z = z_precritical = -0.2299551351162811 -0.1413579816050052*I external argument in turns of first ray landing on fixed point = 1 / 7
1/4
edit-
BDM for both exterior and interior
Julia set for fc(z)= z^2 + c internal argument in turns = 1/4 parameter c = 0.2500000000000000 +0.5000000000000000*I fixed point alfa z = a = 0.0000000000000000 +0.5000000000000000*I critical point z = zcr = 0.0000000000000000 +0.0000000000000000*I precritical point z = z_precritical = -0.2288905993372869 -0.0151096456992677*I external angles of rays landing on fixed point: 1/15, 2/15, 4/15, 8/15 ( in turns)
5/11
edit-
extarnal rays and critical orbit (11-arm star)
Numerical approximation of Julia set for fc(z)= z^2 + c parameter c = ( -0.6900598700150440 ; 0.2760264827846140 ) fixed point alfa z = a = ( -0.4797464868072486 ; 0.1408662784207147 ) external angle of ray landing on fixed point: 341/2047
See also
edit- parabolic perturbation
- Checkerboard in Hyperbolic tilings by User:Tamfang : images and Python code
- https://plus.google.com/110803890168343196795/posts/Eun6pZVkkmA
- shadertoy: Orbit trapped julia Created by maeln in 2016-Jan-19
- Holomorphic checkerboard by etale_cohomology
- Sepals of cauliflower
- wikipedia :Zebra striping in computer graphics
- aproximation cauliflower by the true tree: tree which converge to the cauliflower julia set. the set of vertices is in one to one correspondence with the grand orbit of the critical point of z squared plus one quarter.[11]
references
edit- ↑ Near parabolic renormalization for unisingular holomorphic maps by Arnaud Cheritat
- ↑ About Inou and Shishikura’s near parabolic renormalization by Arnaud Cheritat
- ↑ Applications of near-parabolic renormalization by Mitsuhiro Shishikura
- ↑ Complex Dynamical Systems by Robert L. Devaney, page
- ↑ Antiholomorphic Dynamics: Topology of Parameter Spaces and Discontinuity of Straightening by Sabyasachi Mukherjee
- ↑ tiles by T Kawahira
- ↑ checkerboards by A Cheritat
- ↑ commons:Category:Fractals created with Mandel
- ↑ Program Mandel by Wolf Jung
- ↑ Program Mandel by Wolf Jung
- ↑ Oleg Ivrii (Tel Aviv University), "Shapes of trees"