File:Periodic points of f(z) = z*z-0.75 for period =6 as intersections of 2 implicit curves.svg

Original file(SVG file, nominally 1,000 × 1,000 pixels, file size: 2.28 MB)

Summary

Description
English: Periodic points of f(z) = z*z-0.75 for period =6 as intersections of 2 implicit curves "(which are related by the Cauchy-Riemann equations) separately. Their intersections give the complex roots of the original function. "[1]
Date
Source Own work
Author Adam majewski
Other versions
SVG development
InfoField
 
The source code of this SVG is invalid due to 3 errors.
 
This W3C-invalid plot was created with Gnuplot.
 
 This plot uses embedded text that can be easily translated using a text editor.


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.

Maxima CAS src code


/*

find periodic points of f^n(z,c)
zn = z0


A useful way to visualize the roots of a complex function is to plot the 0 contours of the real and imaginary parts. That is, compute z = Dm(...) on a reasonably dense grid, and then use matplotlib's contour function to plot the contours where z.real is 0 and where z.imag is zero. The roots of the function are the points where these contours intersect.
Warren Weckesser

https://stackoverflow.com/questions/24419164/storing-roots-of-a-complex-function-in-an-array-in-scipy/24421779#24421779



*/

kill(all);
remvalue(all);
ratprint:false;
numer:true$
display2d:false$


declare (z, complex)$
declare ([x,y], real)$
z:x+y*%i;


/* -------------------functions --------------------------------------*/
f(z):= z*z+c$ /* complex quadratic polynomial */

/* iterated function */
fn(n, z) :=
  if n=0 
  	then z
  	else 	(if n=1 
  			then f(z)
  			else f(fn(n-1, z))
  		)$

/* for periodic points {z: zp=z0 }*/  
Fn(n,z) := fn(n, z) - z$
  
/* 
converts complex number z = x*y*%i 
to the list in a draw format:  
[x,y] 
*/
dr(z):=[float(realpart(z)), float(imagpart(z))]$

ToPoints(myList):= points(map(dr,myList))$
  
compile(all)$


/* constants */  
period :4$

c:-3/4$


/* ------------------ computations ---------------------------------------*/
zp:  Fn(period, z)$
e1: realpart(zp )=0$
e2: imagpart(zp )=0$

/* 
find periodic points using numerical method 
*/
polyfactor:false$ 
if ( period < 6) /* allroots fails for period >5 */
	then sol: allroots(%i*Fn(period, w))
	else ( /* increase precision of numerical computations */
		print("bfloat"),
		fpprec : 32, /*Default value: 16, it is the number of significant digits for arithmetic on bigfloat numbers */
		float2bf : true,
		sol: bfallroots(%i*Fn(period, bfloat(w) ))
		
		)$
		
sol: map(rhs,sol)$
intersections:ToPoints(sol)$



dSize : 2$ /* image size in world coordinate =  x, -dSize,dSize, y, -dSize,dSize), */
path:"~/Dokumenty/newton/2/"$ /*  pwd, if empty then file is in a home dir , path should end with "/" */

/* draw it using draw package ( Maxima-Gnuplot interface) by Mario Rodríguez Riotorto */
draw2d(
	file_name = sconcat(path, string(period)),
	terminal   = svg,
	dimensions = [1000,1000],
	/* the text */
  	color     = black,
  	font      = "Courier",
  	font_size = 20,
	title = sconcat("Periodic points f(z) = z*z-3/4 period = ", string(period), " as intersections of 2 implicit curves"),  
	user_preamble = "set key box opaque ", /* legend ovelaps the graph */
  	/* */
  	grid       = false,
  	xaxis = false,
  	yaxis = false,
  	xaxis_type  = solid,
  	yaxis_type  = solid,
  	xaxis_color = black,
  	yaxis_color = black,
  	proportional_axes = xy,
  
  	/* implicit curves */
  	ip_grid = [200, 200], /* precision and time of computations for implicit curves */
  	line_width = 1.5,
  	line_type = solid,
  	/* first curve */
  	key        = "re",
  	color = blue,
  	implicit(e1, x, -dSize,dSize, y, -dSize,dSize),
  	/* second curve */
  	color      = red,
  	key        = "im",
  	implicit(e2, x, -dSize,dSize, y, -dSize,dSize), 
  	/* points */
  	point_type= filled_circle,
  	point_size = 0.5,
  	color= black,
  	key = "periodic",
  	intersections 
  
   ) $
  1. Weisstein, Eric W. "Root." From MathWorld--A Wolfram Web Resource. https://mathworld.wolfram.com/Root.html

Captions

Periodic points of f(z) = z*z-0.75 for period =6 as intersections of 2 implicit curves

Items portrayed in this file

depicts

26 December 2020

image/svg+xml

File history

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

Date/TimeThumbnailDimensionsUserComment
current10:31, 27 December 2020Thumbnail for version as of 10:31, 27 December 20201,000 × 1,000 (2.28 MB)Soul windsurferUploaded own work with UploadWizard

Global file usage

Metadata