This is a file from the Wikimedia Commons

File:Other domains for Fatou coordinate for f(z) = z+a 2z ^2+O(z^3).svg

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Original file(SVG file, nominally 1,000 × 500 pixels, file size: 213 KB)

Summary

Description
English: Other domains for Fatou coordinate for f(z) = z+a 2z ^2+O(z^3)
Date
Source Own work
Author Adam majewski

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

compare with

M 597 LECTURE NOTES TOPICS IN MATHEMATICS COMPLEX DYNAMICS by LUKAS GEYER, page 39

Maxima CAS src code


/*

 b batch file for maxima



There are 2 complex planes :
* u-plane 
* z-plane 



1 step transformation from u plane go to z plane using z=h(u)


 
*/

kill(all);
remvalue(all);


/*

*/



iMax:1000; /* number of points to draw */
uxMin: -80;
 /* */


/* =================== functions ============ */



/* complex quadratic polynomial with fixed point z=0 and unique critical point z=-1/2 */
p(z):=z+z*z$

/* 

uy:f(ux)




*/

f(ux):= (a*ux + b );      /* only line segment */ 
          /*   no  then 
             else  sqrt(r2-ux*ux);  circle segment */



/*

1 step transformation from u plane go to z plane using z=h(u)

h(0)

expt: undefined: 0 to a negative exponent.
 -- an error. To debug this try: debugmode(true);

h(u):= if (u=0.0) then infinity else -1/u$
*/
h(u):= if (u=0.0) then infinity else -1/u$

m(u):= -realpart(u)+imagpart(u)*%i$ /* minus */


/* 

 inverse function of f
 ux = fi(uy)

 */
fi(uy):=block
(
 [s,ux],
 if (uy>uyt) 
    then s: (uy - b)/a
    else s:sqrt(r2-uy*uy),
 s:float(s),
 return(s)
)$



/* converts complex number into list for draw package  */
 draw_format(z):= if (z=infinity) then [1000.0,1000.0] else  [float(realpart(z)),float(imagpart(z))];


 /*  line im(u) = const in a draw format : point(list ) 
  uu is a list of u values
  zz is a list of z values
  u = ux + uy*%i

*/
GiveHorizontalLines(uy):= 
block(
  [uu,zz],
  uu:makelist ( uy*%i + (1.0 +k/10), k, -1000, 1000 ),
  zz:map(h,uu),
  uu:map(draw_format,uu),
  zz:map(draw_format,zz),
  [points(uu),points(zz)] /* list of 2 sublists : first is a uuh list , second is a zzh list */
  
)$ 





compile(all);



/* ============== compute ===============  */
zc :-1/2; /* critical point */


a:-1;
b:2;


uxMax: b;
uxStep: (uxMax-uxMin)/iMax;



/* point to point method of drawing 
 compute first point of curve, create list and save point to this list */


/* A1  */
 
 uListA1:[]; 
 

 for ux:uxMin step uxStep  while (ux<= uxMax) do
  (  
     uy:f(ux),
     uListA1:cons(ux+uy*%i,uListA1),  
     uListA1:endcons(ux-uy*%i,uListA1)
 )$


 uListR1: map(m, uListA1)$



 zListA1:map(h,uListA1)$
 zListR1: map(m, zListA1)$




/* A2  */


b:b+2;


uxMax: b;
uxStep: (uxMax-uxMin)/iMax;
 uListA2:[];
for ux:uxMin step uxStep  while (ux<= uxMax) do
  (  
     uy:f(ux),
     uListA2:cons(ux+uy*%i,uListA2),  
     uListA2:endcons(ux-uy*%i,uListA2)
 )$

 
 zListA2: map(h,uListA2)$



 /* A3  */
b:b+2;


uxMax: b;
uxStep: (uxMax-uxMin)/iMax;
 uListA3:[];
for ux:uxMin step uxStep  while (ux<= uxMax) do
  (  
     uy:f(ux),
     uListA3:cons(ux+uy*%i,uListA3),  
     uListA3:endcons(ux-uy*%i,uListA3)
 )$

 
 zListA3 : map(h,uListA3)$

 /* horizontal lines  without u=0 */
 uh:[1,2,3,4,5,6,-1,-2,-3,-4,-5,-6]$ /* list of  values for lines im(u) = const */
 
 uzh:map(GiveHorizontalLines,uh)$
 
 uuh:map(first,uzh)$
 zzh:map(second,uzh)$

 
 /* critical orbit */

critical:[]$
z: zc;
for i:1 thru 20 step 1   do
  (  critical:cons(z,critical),
     z:p(z)
     
 )$

 
 


/* single important points */
 z0 : 0; /* origin z=0 */
 

/* convert list to draw format */
 uListA3:map(draw_format,uListA3)$ 
 uListA2:map(draw_format,uListA2)$ 
 uListA1:map(draw_format,uListA1)$ 
 uListR1:map(draw_format,uListR1)$ 

 zListA3:map(draw_format,zListA3)$ 
 zListA2:map(draw_format,zListA2)$ 
 zListA1:map(draw_format,zListA1)$ 
 zListR1:map(draw_format,zListR1)$ 
 critical : map ( draw_format, critical)$

 
 z0:draw_format(z0);

/* =================  draw ======================================*/

 path:"~/maxima/batch/julia/parabolic/1over1/petal3/"$ /* pwd  ; if you put here working directory name then graphic file will be saved in that dir */
 FileName:concat(string(b),"6b")$ /* without extension which is the terminal name */

 load(draw); /* Mario Rodríguez Riotorto   http://riotorto.users.sourceforge.net/gnuplot/points/index.html */
 draw(
  terminal  = 'svg,
  file_name = concat(path,FileName),
  columns  = 2,
  dimensions=[1000,500], /*  x = y*columns  */
  
  gr2d(title = " u plane ",
   /* xrange = [0,3],  xtics={-10, -2, 0,2}, */
   yrange = [-20.0,20.0],
   xrange = [-20.0,20.0],
   grid = false,
   xaxis       = false,
   points_joined =true,
   
   point_size    = 0.2,
   point_type = filled_circle,
   color=green,
   points(uListA2),
   color         = yellow,
   points(uListA3), 

   color         = red,
   points(uListA1), 
   
   color         = blue,
   points(uListR1),

  /* key = "orbits = invariant cirves",*/
   color = gray,
   uuh
   ),

  gr2d(title = " z plane : z = -1/u with petals ",
   yrange = [-1.2,1.2],
   xrange = [-1.2,1.2],
   points_joined =true,
   grid = false,
   point_size    = 0.1,
   point_type = filled_circle,
   key = "",
   color         = yellow,
   points(zListA3), 
   key = "",
   color=green,
   points(zListA2),
   key = "attracting petal",
   color         = red,
   points(zListA1), 
   key = "repelling petal",
   color         = blue,
   points(zListR1),
   key = "",  /*key = "orbits = invariant cirves",*/
   color = gray,
   zzh,

   points_joined =false,
   color = black,
   key="", 
   points(critical),
   point_size    = 0.8,
   key="fixed point",
   points([z0]) 
   
  )

 );

Postprocessing

  • Replace rgb\( 0, 0, 0\) with #000 to prevent black dots from being removed in the next step.
  • Remove \t?<u[^>]*\)'/>\n.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

11 August 2016

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current07:30, 20 May 2018Thumbnail for version as of 07:30, 20 May 20181,000 × 500 (213 KB)TilmannRreplaced <code>rgb\( 0, 0, 0\)</code> with <code>#000</code> and removed <code>\t?<u[^>]*\)'/>\n</code>
19:01, 11 August 2016Thumbnail for version as of 19:01, 11 August 20161,000 × 500 (3.98 MB)Soul windsurferUser created page with UploadWizard

Metadata