Fractals/Iterations in the complex plane/construct

How to construct a map with desired properities ?

Shape
Shape of
 * Julia set
 * critical orbit
 * external rays landind on the repelling cycle ( spirals)

Relation between shape types and dynamics:
 * n-th arm spiral: attracting or repelling n-periodic orbit ( cycle)
 * closed curve: Siegel disc ( rotation)
 * n-th arm star = period n parabolic root

Modelling or shaping
Usually one should controll 2 parameters:
 * fixed point
 * period p orbit

See
 * Shaping spirals

Examples

 * Rational functions with prescribed critical points by I. Scherbak
 * constructing map with Fatou components of desired type
 * Constructing polynomials whose Julia set resemble a desired shape
 * Constructing polynomials that have an attracting cycle visiting predefined points in the plane
 * constructuing QUARTIC JULIA SETS INCLUDING ANY TWO COPIES OF QUADRATIC JULIA SETS
 * QUARTIC JULIA SETS INCLUDING ANY TWO COPIES OF QUADRATIC JULIA SETS by Koh Katagata
 * codepen
 * SE
 * constructing critically finite real polynomial maps with specified combinatorics

roots
The fundamental theorem of algebra states that every non-zero, single-variable, degree n polynomial with complex coefficients has, counted with multiplicity, exactly n complex roots

The factor theorem states that a polynomial $$f(z)$$ has a factor $$(z - r)^m$$ if and only if $$f(r)=0$$ (i.e. $$r$$ is a root of multiplicity m)

Examples

The polynomial

$$f(z) = (z - 0)^2(z - 1)^2(z + 1) = z^5 - z^4 - z^3 + z^2$$ The polynomial $$f(x) = (x +4)(x -1)^2 = x^3 + 2x^2 - 7x + 4 $$ has roots:
 * 1 of multiplicity 2
 * -4 of multiplicity 1

rboyce1000
p(z) = z^4 + O(z^2), where the four roots of p(z) are:
 * one fixed at the origin,
 * the remaining three forming the vertices of an equilateral triangle centered at the origin and rotating.

create polynomial with desired properities
 * f(z) = z*g(z) with root at origin
 * g(z) is a 3-rd root of unity = $$x^2 + x + 1$$

f(z) = z(z^2+z+1)

One can check it with Maxima CAS (%i1) solve([z*(z^2+z+1)=0],[z]); sqrt(3) %i + 1     sqrt(3) %i - 1 (%o1)         [z = - --, z = --, z = 0] 2                  2 (%i2)

to rotate it around origin let's change 1 with :$$\quad e^{2\pi i t}$$ wher t is a proper fraction in turns


 * $$ f_t(z) = z(z^2 + z + e^{2\pi i t})$$

See : Vector_field short videos by boyce1000

one parameter
System of 2 equations:

$$\begin{cases} f^p_c(z_p) = z \\ \frac{d}{dz}f_c^p(z_p) = r*e^{2 \pi \theta i} \end{cases}$$

where:
 * $$f_c$$ is a rational function with one parameter c
 * $$ \ f^{(p)} _c (z) $$ is the $$p$$-fold composition of $$f _c\,$$ with itself
 * $$z_p$$ is a cyclic point ( point of limit cycle)
 * p is a period of the cycle
 * $$ \lambda = r*e^{2 \pi \theta i} $$ is a multiplier ( complex number)
 * $$r = | \lambda |$$ is a stability of the cycle ( Real number )

Input :
 * function $$ f$$
 * p ( integer)
 * r ( real number)
 * $$\theta$$ ( real number or rational number)

Unknowns ( solutions or output):
 * parameter c ( complex number)
 * periodic point $$z_p$$ ( complex number)

Maxima CAS program:

/*

batch("m.mac");



display2d:false$ kill(all)$ ratprint:false$

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

/* iterated function */ F(z, c, n) := if n=1 then f(z,c) else f(F(z, c, n-1),c)$ /* multiplier = first deric=vative */ m(z,c,p):= diff(F(z,c,p),z,1)$

l(r,t) := float(rectform(r*exp(2*%pi*t*%i)))$

/* input */

p:5$ r:1.0$ t:0$

/* system of equations */ e1: F(z,c,p)=z; e2: m(z,c,p)=l(r,t);

/* output = solutions = 2 complex number: c, z

s:solve([e1,e2])$ s:map('float,s)$ s:map('rectform,s);

Example output:

For : [ [z = 0.5,c = 0.25], [z = (-0.4330127018922193*%i)-0.25,c = (-0.6495190528383289*%i)-0.125], [z = 0.4330127018922193*%i-0.25,c = 0.6495190528383289*%i-0.125], [z = -0.05495813133539004,c = -1.75], [z = 1.301937809824245,c = -1.75], [z = -1.746979634104245,c = -1.75] ]
 * p = 3
 * r=1.0
 * t=0.0

For : [ [z = 0.5,c = 0.25], [z = 0.4755282581475767*%i+0.1545084971874737,c = 0.3285819450744551*%i+0.3567627457812099], [z = 0.1545084971874737-0.4755282581475767*%i, c = 0.3567627457812106-0.3285819450744586*%i], [z = 0.2938926261462365*%i-0.4045084971874737, c = 0.5316567552200239*%i-0.4817627457812153], [z = (-0.2938926261462365*%i)-0.4045084971874737, c = (-0.5316567552199369*%i)-0.481762745781224], [z = -0.003102011282477321,c = -1.985409652076318], [z = 0.0109289978340113,c = -1.860587002096436], [z = 8.008393221517376E-4*%i-0.01213161194929343, c = 1.100298437397382*%i-0.1978729466687337], [z = (-8.008393221517376E-4*%i)-0.01213161194929343, c = (-1.100298437397305*%i)-0.1978729466687667], [z = 0.02151217276434695*%i-0.005267866463337371, c = 0.3797412022535638*%i-1.256801993945385], [z = (-0.02151217276434695*%i)-0.005267866463337371, c = (-0.3797412022517599*%i)-1.256801993944077], [z = 0.02591758988716001*%i+0.0096648625988135, c = 0.9868115621249533*%i-0.04506136597934137], [z = 0.0096648625988135-0.02591758988716001*%i, c = (-0.9868115621250132*%i)-0.04506136597930513], [z = -0.02506558296814108,c = -1.624396967608546], [z = 0.02532354987824971*%i-0.0286751769590709, c = 0.6415066667139064*%i+0.3599331333357185], [z = (-0.02532354987824971*%i)-0.0286751769590709, c = 0.3599331333357186-0.6415066667139071*%i], [z = 0.7018214526647177,c = -1.860587002096436], [z = 0.5745382937725365*%i+0.1798116252110209, c = (-0.379741202251533*%i)-1.25680199394442], [z = 0.1798116252110209-0.5745382937725365*%i, c = 0.3797412022514344*%i-1.256801993944486], [z = -0.5997918293000261,c = -1.624396967608546], [z = 0.6400543521659254*%i+0.3601141169309163, c = 0.6415066667138928*%i+0.3599331333356947], [z = 0.3601141169309163-0.6400543521659254*%i, c = 0.3599331333356951-0.6415066667138929*%i], [z = 0.747361547631752*%i+0.4122389750905872, c = 0.3599331333377524-0.6415066667118048*%i], [z = 0.4122389750905872-0.747361547631752*%i,c = 0.6415066667118131*%i+0.3599331333377574], [z = -1.264646754738656,c = -1.624396967608546], [z = 0.838427461519175*%i+0.1867295812979602,c = (-0.9868115621248*%i)-0.04506136597962632], [z = 0.1867295812979602-0.838427461519175*%i, c = 0.9868115621248269*%i-0.04506136597961512], [z = 1.012227741688957,c = -1.624396967608546], [z = 0.6736931444481549*%i-0.7131540376767388, c = 0.9868115621009495*%i-0.04506136566593825], [z = (-0.6736931444481549*%i)-0.7131540376767388, c = (-0.9868115621015654*%i)-0.04506136566602404], [z = 0.6816651712455555*%i+0.8064792250322852, c = (-1.100298438532418*%i)-0.1978729463920518], [z = 0.8064792250322852-0.6816651712455555*%i,c = 1.100298438531886*%i-0.197872946387467], [z = 0.9873125420152975*%i-0.04563967787575593, c = 0.9868115621249436*%i-0.04506136597927069], [z = (-0.9873125420152975*%i)-0.04563967787575593, c = (-0.9868115621249249*%i)-0.04506136597929692], [z = -1.368033648790746,c = -1.860587002096436], [z = -1.623768668573244,c = -1.624396967608546], [z = 1.600752508361204,c = -1.860587002096436], [z = 0.8177857184842046*%i-0.8491638964763748, c = 0.6415066726649287*%i+0.3599331357137042], [z = (-0.8177857184842046*%i)-0.8491638964763748, c = 0.3599331357115682-0.6415066726792946*%i], [z = -1.860467532467532,c = -1.860586580956207], [z = 0.1585230889211015*%i+1.129895436404861, c = (-0.3797412017812437*%i)-1.256801993890818], [z = 1.129895436404861-0.1585230889211015*%i, c = 0.3797412020742688*%i-1.256801993924219], [z = 1.102491882350288*%i+0.07994573682221373, c = 0.641506666713125*%i+0.3599331333375105], [z = 0.07994573682221373-1.102491882350288*%i, c = 0.3599331333375118-0.641506666713142*%i], [z = 1.10027900645412*%i-0.1977264120044163,c = 1.100298437399976*%i-0.1978729466589521], [z = (-1.10027900645412*%i)-0.1977264120044163, c = (-1.100298437392994*%i)-0.1978729466579122], [z = 0.3795145554958574*%i-1.257237017109811, c = 0.3797412012322979*%i-1.256801993538778], [z = (-0.3795145554958574*%i)-1.257237017109811, c = (-0.3797412011893692*%i)-1.256801993401957], [z = 0.8966903093631682*%i-1.01776444141452, c = 0.986811439368143*%i-0.04506141337632084], [z = (-0.8966903093631682*%i)-1.01776444141452, c = (-0.9868114393633113*%i)-0.04506141338736716], [z = 1.407944514501891,c = -1.985409652076318], [z = 0.7215120925377011*%i+1.234881318742427, c = (-1.100298500720014*%i)-0.1978727350763138], [z = 1.234881318742427-0.7215120925377011*%i,c = 1.100298500782114*%i-0.1978727352231734], [z = 0.6651899971189704*%i-1.369391104706556, c = 1.100298438532065*%i-0.1978727774731155], [z = (-0.6651899971189704*%i)-1.369391104706556, c = (-1.100298478086625*%i)-0.1978727911942495], [z = 0.1731238730127708*%i-1.554564024233688, c = 0.3797412149717089*%i-1.256801976456581], [z = (-0.1731238730127708*%i)-1.554564024233688, c = (-0.3797411926534995*%i)-1.256801968631482], [z = 1.842105908761944,c = -1.985410334346504], [z = 1.956403762662807,c = -1.985409652076318] ]
 * p = 5
 * r=1.0
 * t=0.0

Mandelbrot Set - Convergent Evolution of P/Q Limbs in Seahorse Valley
Mandelbrot Set - Convergent Evolution of P/Q Limbs in Seahorse Valley by izaytsev0
 * main cardioid seahorse valley = Gap between the head ( period 2 component) and the body (or shoulder = main cardioid). Particularly the upper one part
 * 2 windows
 * left: limbs from period 2 component
 * right: limbs from period 1 componnet
 * in each window one can see limb p/q from 14/30 on the right and increasing p ?

Compare with [https://www.youtube.com/watch?v=jVNvcvM2BYg&t=16s Real dense fractal Zoom! Part 2 by SeryZone Arts]