• August 14, 2022, 11:00:54 PM

Author Topic:  can you identify this fractal ?  (Read 776 times)

0 Members and 1 Guest are viewing this topic.

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
can you identify this fractal ?
« on: June 04, 2022, 10:21:51 AM »
can you identify this fractal ? What function ?

It is fig 3 from paper : Near Parabolic Renormalization for Unicritical Holomorphic Maps by Arnaud Chéritat

It has degree 3. I do not know if it rational or polynomial.
It is parabolic.

TIA



Linkback: https://fractalforums.org/index.php?topic=4776.0

Offline 3DickUlus

  • Administrator
  • 3f
  • *******
  • Posts: 3037
Re: can you identify this fractal ?
« Reply #1 on: June 04, 2022, 06:06:39 PM »
"Quadratic Julia" from what I read in the paper,  just skimming through, have not studied in depth.

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #2 on: June 04, 2022, 06:18:56 PM »
"Quadratic Julia" from what I read in the paper,  just skimming through, have not studied in depth.

Thx for the answer, but : "Fig. 3 Another illustration of Theorem 6. This time, d = 3. "

Here d is a degree so IMHO it is not quadratic function, where degree d = 2.

What looks strange to me: holes between components. I have not see such Julia sets for polynomials. Am I right ?   

Offline marcm200

  • 3f
  • ******
  • Posts: 1150
Re: can you identify this fractal ?
« Reply #3 on: June 04, 2022, 06:46:39 PM »
What looks strange to me: holes between components. I have not see such Julia sets for polynomials. Am I right ?

The basin of attraction of infinity (and I suspect those holes to be escaping points) for polynomial Julia sets is connected (cf Przytyck, Zdunik. On Hausdorff dimension of polynomial not totally disconnected Julia sets. Paragraph 2).


Offline hgjf2

  • Fractal Furball
  • ***
  • Posts: 248
Re: can you identify this fractal ?
« Reply #4 on: June 05, 2022, 05:57:05 AM »
This strange Julia set is from a Nova Mandelbrot set. Must check the Nova Mandelbrot sets by the fractional polynomial. Is obviously that isn't from a polynomial Mandelbrot set.
Fractal researcher

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #5 on: June 05, 2022, 06:28:04 AM »
This strange Julia set is from a Nova Mandelbrot set. Must check the Nova Mandelbrot sets by the fractional polynomial. Is obviously that isn't from a polynomial Mandelbrot set.

from kf :
Nova
z := (2 z^3 / 3 - 2 z - 1) / (z + 1)^2 + c + 1
Nova is affine-conjugated from the usual form to move critical point from 1 to 0.

Newton Nova Mandelbrot (z^p - 1)
z := z - (z^p - 1) / (p z^(p-1)) + c
Halley Nova Mandelbrot (z^p - 1)
z := z - (2 (z^p - 1) (p z^(p-1))) / (2 (p z^(p-1))^2 - (z^p - 1) ((p (p-1)) z^(p-2))) + c
Schroder Nova Mandelbrot (z^p - 1)
z := z - ((z^p - 1) (p z^(p-1))) / ((p z^(p-1))^2 - (z^p - 1) ((p (p-1)) z^(p-2))) + c
Householder 3 Nova Mandelbrot (z^p - 1)
z := z - (6 (z^p - 1) (p z^(p-1))^2 - 3 (z^p - 1)^2 ((p (p-1)) z^(p-2))) / (6 (p z^(p-1))^3 - (z^p - 1) (p z^(p-1)) ((p (p-1)) z^(p-2))) + (z^p - 1)^2 (p (p-1) (p-2) z^(p-3)) + c
Householder Nova Mandelbrot (z^p - 1)
z := z - ((z^p - 1) (2(p z^(p-1))^2 + (z^p - 1) (p (p-1) z^(p-2))))/(2 (p z^(p - 1))^3) + c


from uf

"
Nova (Julia, Mandelbrot)


The Nova fractal is a modified Newton fractal. The Julia version can be used as a normal Newton fractal, but there are all kinds of other possibilities with intriguing spirals.

Both Mandelbrot and Julia versions of the Nova fractal are available as fractal formulas in Standard.ufm and as fractal formula plug-ins in Standard.ulb.

Use the Nova (Mandelbrot) formula to switch to interesting Nova (Julia) sets. The standard Newton fractals can be found in the empty circle to the right.

The formulas provide the following parameters:

Start Value
(Mandelbrot only)   
For well-formed fractals, this should be set to (1, 0). Other values create distorted shapes that can be interesting, but they are usually not as well-formed.

Julia Seed
(Julia only)   
This parameter specifies the point in the Mandelbrot version that corresponds to the current Julia version. It defines the shape and behavior of the fractal. Use the Switch feature to select good values.

Exponent   
Increase the real value of the exponent to create more complex fractals. Non-integer real values and non-zero imaginary values create irregular fractals.

Bailout   
Specifies the magnitude of z at which the formula will stop iterating. Since z converges to a fixed value, smaller values will give more detailed images.

Relaxation   
This can be used to influence the convergence of the fractal. Changing this parameter will twist and transform the fractal.
"


so it is rational function

Offline Alef

  • 3c
  • ***
  • Posts: 824
  • a catalisator / z=z*sinh(z)-c^2
    • My deviant art page
Re: can you identify this fractal ?
« Reply #6 on: June 05, 2022, 04:10:33 PM »
What looks strange to me: holes between components. I have not see such Julia sets for polynomials. Am I right ?
To have a holes formula must have some sort of division involved. Nova julia sets have holes but is different.
by Edgar Malinovsky aka Edgars Malinovskis.

Offline Alef

  • 3c
  • ***
  • Posts: 824
  • a catalisator / z=z*sinh(z)-c^2
    • My deviant art page
Re: can you identify this fractal ?
« Reply #7 on: June 05, 2022, 04:11:59 PM »
What looks strange to me: holes between components. I have not see such Julia sets for polynomials. Am I right ?
To have a holes formula must have some sort of division involved. Nova julia sets have holes but is different. It is kind of curved. Here it is linear.

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #8 on: June 10, 2022, 03:27:18 PM »
Arnaud Chéritat ( author) :
Quote
As far as I remember, this is the Blaschke fraction

z -> rho * z^2 * (z-3)/(1-3z)

where rho is a modulus one complex number chosen so that there is on the unit circle a parabolic period 3 cycle.

The initial picture was made in march 2000, the blue/yellow set was isolated 10 years later using filters in Gimp when I needed to make a slides presentation about parabolic points. Later I used it in the article you mention.
I had not noted the value of rho back then, but you can find it using algebra or numerical root finding.

Offline marcm200

  • 3f
  • ******
  • Posts: 1150
Re: can you identify this fractal ?
« Reply #9 on: June 10, 2022, 05:28:23 PM »
First attempt, just browsing through some rho values. Here e^(2*i*pi*0.35). I haven't checked cycles or multipliers, and the holes between the three big components are currently filled (the circles, gray pixels, have NaN during orbit, white is bounded, black is escaping 10^25).

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #10 on: June 11, 2022, 08:37:20 AM »
Code: [Select]
killa(all);
display2d:false;


period : 3;
t : 1.0/period ;
r: 1.0;
rho : r*exp(2*%pi*%i*t) ;
rho:float(rectform(rho));

rho: 0.8660254037844387*%i-0.4999999999999998


Code: [Select]
kill(all);
display2d:false;
ratprint : false; /* remove "rat :replaced " */


GiveListOfCriticalPoints(fun):=
block(
  [d,s],
  /* derivative */
  d:diff(fun,z,1),
  /* critical points z: d=0 */
  s:solve(d=0,z),
  /* remove "z="  from list s */
  s:map('rhs,s),
  /* convert to form x+y*%i */
  s:map('rectform,s),
  s:map('float,s),
  return(s)
)$







period : 3; /* periodic */
t : 1/period ; /* parabolic */
r: 1.0; /* on the boundary */

/* multiplier of periodic point */
rho : r*exp(2*%pi*%i*t) ;
rho:float(rectform(rho));



f(z):= float(rectform((rho * z^2 * (z-3)/(1-3*z))))$



/* f(z) is used as a global function
   I do not know how to put it as a argument */

GiveOrbit(z0,OrbitLength):=
block(
 [z,Orbit],
 z:z0,
 Orbit:[z],
 for i:1 thru OrbitLength step 1 do
        ( z:expand(f(z)),
         if cabs(z) > 2 then
          ( print(z0), print("orbit of is escaping"), 
            return(Orbit)),
          Orbit:endcons(z ,Orbit)
          ),
 print(z0), print("orbit is not escaping"), 
 return(Orbit)

)$


/*
converts complex number z = x*y*%i
to the list in a draw format: 
[x,y]
*/
d(z):=[float(realpart(z)), float(imagpart(z))]$

ToPoint(z):= points([d(z)])$

/* give Draw List from one point*/
dl(z):=[d(z)]$

ToPoints(myList):= points(map(d,myList))$





compile(all);

/* ------------  */

iLength:1000;


ListOfCriticalPoints:GiveListOfCriticalPoints(f(z));
multiplicities;

Orbit1: GiveOrbit(ListOfCriticalPoints[1],iLength)$
Orbit2: GiveOrbit(ListOfCriticalPoints[2],iLength)$
Orbit3: GiveOrbit(ListOfCriticalPoints[3],iLength)$

Orbit1 : ToPoints(Orbit1)$
Orbit2 : ToPoints(Orbit2)$
Orbit3 : ToPoints(Orbit3)$


cr1: ToPoint(ListOfCriticalPoints[1])$
cr2: ToPoint(ListOfCriticalPoints[2])$
cr3: ToPoint(ListOfCriticalPoints[3])$

/*-----------------------------------------------------------------------*/
load(draw); /* ( interface to gnuplot ) by Mario Rodriguez Riotorto http://www.telefonica.net/web2/biomates */

draw2d(
    title = "All  critical orbits for f(z)= rho * z^2 * (z-3)/(1-3*z))",
    terminal  = png,
     user_preamble = "set size square; set key right top;", /* 360/26=13.85  ; 360/(2*26)=6,923 */
    file_name = concat("~/Dokumenty/julia_blaszke/period3/", string(iLength)),
    dimensions  = [600, 600],   /* Since Maxima 5.23, pic_width and pic_height are deprecated. */
    /*
    yrange = [-1.0,1.0],
    xrange = [-1.0,1.0],
    */
    xlabel     = "z.re ",
    ylabel     = "z.im",
   
    point_type    = filled_circle,
    points_joined = true,
   
    point_size    = 0.4,
    key="critical orbit 1",
    color             = red ,
    Orbit1,
    point_size    = 3.0,
    key= "critical point 1",
    points_joined = true,
    color           = red,
    cr1,
   
   
   
    key="critical orbit 2",
    point_size    = 0.4,
    points_joined = true,
    color             =blue ,
    Orbit2,
    point_size    = 1.0,
    key= "critical point 2",
    points_joined = false,
    color           = blue,
    cr2,
   
    key="critical orbit 3",
    point_size    = 0.4,
    points_joined = true,
    color             =green ,
    Orbit3,
    point_size    = 1.0,
    key= "critical point 3",
    points_joined = false,
    color           = green,
    cr3
   

 );



Critical points :

Code: [Select]
ListOfCriticalPoints:GiveListOfCriticalPoints(f(z))
(%o17) [1.193004794952656E-8*%i+1.000000003196646,
        0.999999996803353-1.193004772748196E-8*%i,0.0]

or maybe it is simply [1.0,0.0]

So there are 3 components:
  • critical point 0 is also fixed point
  • critical point 1 goes to parabolic period 3 orbit
  • other points escapes ( maybe infinity is also criticla point ? )

But now 3 points are not parabolic ( are inside components)
« Last Edit: June 11, 2022, 10:57:28 AM by Adam Majewski »

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #11 on: June 11, 2022, 10:59:38 AM »
Second attempt
rho is a modulus one complex number chosen so that there is on the unit circle a parabolic period 3 cycle.

Offline marcm200

  • 3f
  • ******
  • Posts: 1150
Re: can you identify this fractal ?
« Reply #12 on: June 11, 2022, 12:18:34 PM »
My 2nd attempt: Letting rho and z0 (one of the three periodic points) run independently over the unit circle in some small increments, looking for a strict period-3 cycle comprising z0 and checking the multiplier to be (near) parabolic, gave the following best brute-force hit (purely numerical, double precision, not rounding-controlled).

Code: [Select]
  rho [angle p/q]= 1092/3072                           (e^2*i*pi*rho)
  z0 [angle p/q]= 395/1024                             (e^2*i*pi*z0)
  distance p3= 5.9210162510539466761e-05               Euclidean distance last periodic point to first
  |mult|= 0.98813761                                   multiplier
  rho= -0.61523159058062670823,0.78834642762660633863  Cartesian
  z0 = -0.7531867990436124094,0.65780669329707874837   Cartesion

orbit:
  -0.7531867990436124094,0.65780669329707874837
  -0.39147239529397764857,-0.92018985199946401465
  0.70360334925769740799,0.71059294037680265088
  -0.75314784888214114655,0.65785128845674756271


The image (4-square) shows the indentations, but the holes are still filled. And the p/q values seem rather arbitrary.

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #13 on: June 11, 2022, 01:59:02 PM »
LCM

Offline Adam Majewski

  • Fractal Freak
  • **
  • Posts: 695
Re: can you identify this fractal ?
« Reply #14 on: June 12, 2022, 06:52:42 AM »
rho : 0.7883464276266063*%i - 0.6152315905806267;
f(z):= float(rectform((rho * z^2 * (z-3)/(1-3*z))))$



there are 3 basins
* basin of z=0 ( easy) with critical point z=0
* basin of infinity ( easy)
* basin of parabolic period 3 cycle ( hard), with critical point z=1


I found 2 period 3 cycles :
* cycle1;  [-0.679019512966907,0.7341202224500998], [0.836586884826584,0.5478342670335168],             [-0.5274543103865239,-0.849583398175056],
* cycle2; [[0.7032040964766633,0.7109880439912073],  [-0.3910900888807991,-0.9203524011916365],         [-0.7533753580242582,0.6575907313229275]

both cycles are on unit circle.

Critical point z=1 seems to land on cycle1.

I can't compute multiplier in Maxima ( long expression)

Code: [Select]


kill(all);
display2d:false;
ratprint : false; /* remove "rat :replaced " */



/* f(z) is used as a global function
   I do not know how to put it as a argument */

GiveOrbit(z0,OrbitLength):=
block(
 [z,Orbit],
 z:z0,
 Orbit:[z],
 for i:1 thru OrbitLength step 1 do
        ( z:expand(f(z)),
         if cabs(z) > 2 then
          ( print(z0), print("orbit of is escaping"), 
            return(Orbit)),
          Orbit:endcons(z ,Orbit)
          ),
 print(z0), print("orbit is not escaping"), 
 return(Orbit)

)$



/* give Draw List from one point*/
/*
converts complex number z = x*y*%i
to the list in a draw format: 
[x,y]
*/
d(z):=[float(realpart(z)), float(imagpart(z))]$
ToPoints(myList):= points(map(d,myList))$









rho : 0.7883464276266063*%i - 0.6152315905806267;
f(z):= float(rectform((rho * z^2 * (z-3)/(1-3*z))))$



iLength:10000;
Orbit: GiveOrbit(1.0,iLength)$



/* period 3 points */
e: f(f(f(z))) = z$

load (to_poly_solve);
s: to_poly_solve (e,z);

s: args(s); /*  https://stackoverflow.com/questions/12834709/create-a-union-into-a-list-in-maxima */
s:flatten(s);
s:map(rhs,s);

r:[];
for z in s do if (abs(abs(z) -1) < 0.001) then  r:cons(z,r);


cycle1:[];
z:r[1];
cycle1: cons(z, cycle1);
for i:1 thru 3 step 1 do (

z:float(rectform(f(z))),
cycle1:cons(z, cycle1)

);


cycle2:[];
z:r[2];
cycle2: cons(z, cycle2);
for i:1 thru 3 step 1 do (

z:float(rectform(f(z))),
cycle2:cons(z, cycle2)

);



Orbit : ToPoints(Orbit)$
r:ToPoints(r)$
cycle1 : ToPoints(cycle1)$
cycle2 : ToPoints(cycle2)$

load(draw); /* ( interface to gnuplot ) by Mario Rodriguez Riotorto http://www.telefonica.net/web2/biomates */

draw2d(
    title = "Two period 3 orbits for f(z)= rho * z^2 * (z-3)/(1-3*z))",
    terminal  = png,
     user_preamble = "set size square; set key right top;", /* 360/26=13.85  ; 360/(2*26)=6,923 */
    file_name = concat("~/Dokumenty/julia_blaszke/period3/maxima/roots/", concat("cycles_",string(iLength))),
    dimensions  = [600, 600],   /* Since Maxima 5.23, pic_width and pic_height are deprecated. */
    /*
    yrange = [-1.0,1.0],
    xrange = [-1.0,1.0],
    */
    xlabel     = "z.re ",
    ylabel     = "z.im",
   
   
    line_width        = 1,
    nticks = 50,
    color             = gray,
    transparent       = true,
    ellipse(0,0,1,1,0,360), /* unit circle */
   
    point_type    = filled_circle,
   
   
   
    point_size    = 0.9,
    key="critical orbit ",
    color             = black ,
    Orbit,
   
    point_size    = 1.2,
    key="critical point",
    color             = blue ,
    points([[1,0]]),
   
    point_type    = filled_circle,
    points_joined = true,
    point_size    = 0.9,
    key="cycle 1",
    color             = red ,
    cycle1,
   
    point_type    = filled_circle,
    points_joined = true,
    point_size    = 0.9,
    key="cycle 2",
    color             = blue ,
    cycle2
   

 );