Fractal Related Discussion > Fractal Mathematics And New Theories

Explicit equations for the interior of hyperbolic components

(1/9) > >>

marcm200:
"Equations for hyperbolic components"

Interesting article about describing the interior and boundary of hyperbolic components of the Mandelbrot set with relatively simple equations.

--- Code: ---Some Explicit Formulas for the Iteration of Rational Functions
Wolf Jung
page 3

--- End code ---
full text: http://www.mndynamics.com/papers/expl.pdf

Period-3: Solving the following equation for $$\mu$$ with a given c. If one of the solutions satisfies $$|8\cdot \mu| < 1$$, the c value is in the component.

$c^3+2c^2+(1-\mu)\cdot c+(1-\mu)^2 = 0$

I implemented the period 3 and 4 equations using Newton's method (periods 5-7 are also solved but in a different article which I couldn't find so far in the full text).

Next step is to convert the solution process into a single inequality like for p1,2 in wikipedia to directly test for a complex value c as I do not need to actually know the multiplier. If successful, this will be used to facilitate my computation for a trustworthy lower bound of the Mset's interior area, as I could then skip analyzing the huge period-3-bulb via TSA.

For boundaries:
https://en.wikibooks.org/wiki/Fractals/Iterations_in_the_complex_plane/Mandelbrot_set/boundary#Boundaries_of_hyperbolic_components

for interior:
https://commons.wikimedia.org/wiki/File:Mandelbrot_set_-_multiplier_map.png
( code below the image )

marcm200:
Two formulas I derived with the method of the article "A parameterization of the period 3 hyperbolic components of the Mandelbrot set" by D. Giarrusso and Y. Fisher (thanks to Adam Majewski for the information):

A complex number c is in a period-1 component of the cubic multibrot if the following has a complex solution m with ||m|| < 1:
$m^3-6m^2+9m-27c^2 = 0$

And the same for period-2:
$m^6 -54m^5 +(324c^2+1215)\cdot m^4 +((-1458c^4)-11664c^2-14580)\cdot m^3 +(65610c^4+157464c^2+98415)\cdot m^2 \\ +((-236196c^6)-826686c^4-944784c^2-354294)\cdot m+531441c^8 +2125764c^6+3188646c^4+2125764c^2+531441 = 0$

Period-3 is also possible, only takes a few seconds in maxima to compute. However it needs a huge number of 30-decimal-digit integers which I currently have no number type implemented here.

The two images below show a point-sampled application: Red are c values that have such a solution, found by standard Newton-method.

The two maxima files to compute the equations:

--- Code: ---/* corresponds to equation E1(m,c) for degree 3-monomial */
st_d3_p1() := (
f:(z^3+c)-z,
der:m-3*z^2,
res:resultant(der,f,z),
reseq:res = 0,
print("complex c is in a period-1-component of z^3 if the following has a complex solution m with ||m||<1"),
reseq
)$--- End code --- --- Code: ---/* corresponds to equation E2(m,c) for degree 3-monomial: period-2 */ st_d3_p2() := ( period1:(z^3+c), period2:(z^3+c)^3+c, /* divide by period-1 to get strict period-2 solutions */ f:(period2-z)/(period1-z), der:m-diff(period2,z), res:resultant(der,f,z), reseq:res = 0, print("complex c is in a period-2-component of z^3 if the following has a complex solution m with ||m||<1"), reseq )$

--- End code ---

marcm200:
A complex number (d,e) is in a period-3 component of the Mandelbrot set if the following square-root-free inequality (in Horner scheme) holds: (numbers need int64_t)

$e^2\cdot (e^2\cdot (e^2\cdot (e^2\cdot (e^2\cdot ((-16777216\cdot e^2)+((-100663296\cdot d)-134217728)\cdot d-67108864) \\ +d\cdot (d\cdot (((-251658240\cdot d)-671088640)\cdot d-738197504)-201326592)+33816576) \\ +d\cdot (d\cdot (d\cdot (d\cdot (((-335544320\cdot d)-1342177280)\cdot d-2281701376)-1610612736)-133169152)+471859200)+169353216) \\ +d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (((-251658240\cdot d)-1342177280)\cdot d-3087007744)-3623878656)-1944584192)+73400320) +43540480)-463970304)-216760320) \\ +d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (((-100663296\cdot d)-671088640)\cdot d-1946157056)-3221225472)-3354394624) \\ -2342518784)-957849600)+152092672)+375947264)+263725056)+97796160) \\ +d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (d\cdot (((-16777216\cdot d)-134217728)\cdot d-469762048)-1006632960)-1576796160) \\ -1944059904)-1905778688)-1531420672)-1009516544)-524869632)-227344320)-64012032)-15752961 \\ > 0$

It was derived using maxima to rearrange the negative Stephenson solution into the multiplier inequality and removing complex roots by using the principal root formula and squaring to get rid off all the now real valued roots.

As squaring is not an equivalence operation, sign considerations would be necessary to validate the backward reasoning. However, as the formula is by far not as simple as I hoped and due to the numerous multiplications, IA evaluation results in a large overestimation, especially in the period-3 cardioid on the x-axis (see image below, upper left), I postponed this.

(Image colors: white = escaping, black = period-3 member, gray = multiplier interval straddles 1 but lies to both sides)

Using the formula with point sampling on single complex values on the other hand works quite fine (upper right, showing the cardioid shape)

Using the direct solution formula and analyzing its IA multiplier is however much more successful compared to the square free inequality and gave the best results (lower left).

The formula above is in a sense more powerful than a square-root containing solution as it can be evaluated exactly for single complex values provided a sufficient precision number type, so one can get as close as one wishes to the boundary of the period-3 components. Exact evaluation cannot be done for the square-root containing formula as there is always rounding involved (except for square numbers).

I was quite surprised to see such a complicated outcome. I suspect it is because the inequality has to combine three different, separated regions of the complex plane together, whereas the period-1 and 2 components are just a single one. Maybe there is a simpler solution if e.g. one focuses on one of the three period-3 components alone, but it's not clear to me how to arrive there. Any suggestions?

The maxima script to conduct the rearrangements (devised after multiple more or less failed attempts with pen and paper):

--- Code: ---/* solution from Stephenson closed formula for period-3 components in the quadratic Mandelbrot */
/* c is the complex number c=d+e*i to analyze */

msol2:-4*c*sqrt(-4*c-7)+4*c+8;

/* all temporary variables tmpN or tmpNexp(anded) are real values */
/* and do not contain a square root */

/* princpal complex root: sqrt(a+b*i) := A+i*sign(b)*B with */
/* A=sqrt((sqrt(a^2+b^2)+a)/2) */
/* B=sqrt((sqrt(a^2+b^2)-a)/2) */

/* rearranging */

m1:msol2;
m1a:subst(A+%i*s*B,sqrt(-4*c-7),m1); /* s=sign(b) */
m1b:subst(d+e*%i,c,m1a);
m1breal:realpart(m1b);
m1bimag:imagpart(m1b);

eq:-1 + expand(m1breal^2+m1bimag^2)=0;
m1a:subst(1,s^2,eq); /* sign^2 is always 1 */

/* w = sqrt(a^2+b^2) */
/* A*B=s*b/2, hence |s|/2=absb/2 */
m1b:subst(s*b/2,A*B,m1a);
m1c:subst((w+a)/2,A^2,m1b);
m1d:expand(subst((w-a)/2,B^2,m1c));
m1e:expand(m1d-coeff(lhs(m1d),w,1)*w);
ohne1:coeff(coeff(lhs(m1e),A,0),B,0);
m1f:m1e-ohne1;

/* right side only contains w^1 and w^0 and no A nor B */
kill(tmp1);
tmp1exp:coeff(rhs(m1f),w,0);
kill(tmp2);
tmp2exp:coeff(rhs(m1f),w,1);
m1g:lhs(m1f)=tmp1+tmp2*w;

/* squaring. ATTN: needs sign analysis */
m2a:expand(m1g^2);
coeff1:lhs(coeff(lhs(coeff(lhs(coeff(lhs(m2a),A,1)),B,1)),s,1));
/* substitute A*B*s with b/2 */
m2b:expand(lhs(m2a)-A*B*s*coeff1+b/2*coeff1=rhs(m2a));
/* substitute s^2 with 1 */
coeff2:lhs(coeff(lhs(m2b),s,2));
m2c:expand(lhs(m2b)-s^2*coeff2+coeff2)=rhs(m2b);
/* substitue A^2 with (w+a)/2 , only occurs on left side */
coeff3:lhs(coeff(lhs(coeff(lhs(m2c),A,2)),B,0));
m2d:expand(lhs(m2c)-A^2*coeff3+(w+a)/2*coeff3)=rhs(m2c);
/* substitue B^2 with (w-a)/2, only occurs on left side */
coeff4:lhs(coeff(lhs(coeff(lhs(m2c),B,2)),A,0));
m2e:expand(lhs(m2d)-B^2*coeff4+(w-a)/2*coeff4)=rhs(m2d);
/* substiturw w^2 in rhs to a^2+b^2 */
coeff5:lhs(coeff(rhs(m2e),w,2));
m2f:expand(lhs(m2e)=rhs(m2e)-w^2*coeff5+coeff5*(a^2+b^2));
/* move w-terms from rhs to left */
coeff6:lhs(coeff(rhs(m2f),w,1));
m2g:expand(m2f-w*coeff6);
/* move everything without w from left side to right side */
m2h:expand(m2g-coeff(lhs(m2g),w,0));
kill(tmp3);
tmp3exp:rhs(m2h);
m2i:lhs(m2h)=tmp3;
/* factor out coefficients for w */
tmp4exp:lhs(coeff(lhs(m2i),w,1));
kill(tmp4);
m2j:expand(lhs(m2i)-w*tmp4exp+tmp4*w=rhs(m2i));

/* squaring. needs sign considerations */
m3a:expand(m2j^2);
/* replace w^2 with a^2+b^2 */
coeff7:lhs(coeff(lhs(m3a),w,2));
m3b:expand(lhs(m3a)-coeff7*w^2+(a^2+b^2)*coeff7=rhs(m3a));

/* resubstitute tmp1exp through tmp4exp */
m3c:subst(tmp4exp,tmp4,m3b);
m3d:subst(tmp3exp,tmp3,m3c);
m3e:subst(tmp2exp,tmp2,m3d);
m3f:expand(subst(tmp1exp,tmp1,m3e));

/* and replace a with -4*d-7 and b with -4*e */
m3g:expand(subst(-4*d-7,a,m3f));
m3h:expand(subst(-4*e,b,m3g));
m3i:expand(lhs(m3h)-rhs(m3h))=0;

/* final solution */
/* transfer into Horner's scheme with principal e */
m4a:horner(lhs(m3i),e)=0;

display2d:false;
display(m4a);

--- End code ---

marcm200:
"period-5 z^2+c"

A complex number c is in a period-5 component of the classic Mandelbrot set if the following equation has a complex solution m with ||m|| < 1.

$a_6\cdot m^6 + a_5\cdot m^5 + a_4\cdot m^4+a_3\cdot m^3 + a_2\cdot m^2 + a_1\cdot m + a_0 = 0$

with coefficients (needing int64_t)

$$a_6=1$$
$$a_5=32\cdot c^2-32\cdot c-192$$
$$a_4=3072\cdot c^5+3072\cdot c^4-6144\cdot c^3-2048\cdot c^2+5120\cdot c+15360$$
$$a_3=65536\cdot c^7+294912\cdot c^6+557056\cdot c^5+688128\cdot c^4+425984\cdot c^3-65536\cdot c^2-327680\cdot c-655360$$
$$a_2=3145728\cdot c^{10}+11534336\cdot c^9+6291456\cdot c^8-20971520\cdot c^7-44040192\cdot c^6-55574528\cdot c^5 \\ ~~~~~ -38797312\cdot c^4-3145728\cdot c^3+8388608\cdot c^2+10485760\cdot c+15728640$$
$$a_1=33554432\cdot c^{12}+234881024\cdot c^{11}+671088640\cdot c^{10}+1107296256\cdot c^9+1342177280\cdot c^8+1241513984\cdot c^7 \\ ~~~~~ +704643072\cdot c^6+234881024\cdot c^5-33554432\cdot c^4-301989888\cdot c^3234881024\cdot c^2-167772160\cdot c-201326592$$
$$a_0=1073741824\cdot c^{15}+8589934592\cdot c^{14}+30064771072\cdot c^{13}+64424509440\cdot c^{12}+100931731456\cdot c^{11}+124554051584\cdot c^{10}+122406567936\cdot c^9 \\ ~~~~~ +100931731456\cdot c^8+74088185856\cdot c^7+47244640256\cdot c^6+27917287424\cdot c^5+15032385536\cdot c^4+5368709120\cdot c^3 \\ ~~~~~ +2147483648\cdot c^2+1073741824\cdot c+1073741824$$

The maxima code used (takes about half an hour to compute the resultant):

--- Code: ---/*

based on the article:
A PARAMETERIZATION OF THE PERIOD 3 HYPERBOLIC COMPONENTS OF THE MANDELBROT SET
DANTE GIARRUSSO AND YUVAL FISHER

*/

/* corresponds to equation E5(m,c) for degree 2-monomial: period-5 */
st_d2_p5() := (
period1:(z^2+c),
period2:period1^2+c,
period3:period2^2+c,
period4:period3^2+c,
period5:period4^2+c,
display2d:false,
/* divide by period-1 to arrive at strict period-5 */
f:ratsimp((period5-z)/(period1-z)),
der:ratsimp(m-diff(period5,z)),
res:factor(resultant(der,f,z)),
reseq:res = 0,
print("complex c is in a period-5-component of Mset z^2+c if the following has a complex solution m with ||m||<1"),
print(reseq),
print("solutions are:"),
solutions:solve(reseq,m),
horner(solutions)
)\$

--- End code ---

As no closed solutions could be derived, I used classical Newton to find the roots of the equation. The image below (point-sampled, not rounding controlled) shows (red, square) the found regions, 14 in total, sometimes only one pixel. Hence I am not sure that 14 is the correct number of period-5 components, maybe more will emerge at higher resolution. However, all the center pixels of red regions have a period-5 cycle detectable using the TSApredictor (error-free computation).

The 2nd image shows what happens if some of the terms (a2, a3, a4) are omitted by setting the coefficients to zero - a bulb in the south western part touching the main cardioid. Quite interesting is that the difference is rather small - without the terms, the bulb is shifted a bit into the main cardioid - but interestingly remains in the shape of a bulb.

Next step is to extend this to interval arithmetics using subdivision for root finding.

Technical details

* For speed reasons, in the first image, only pixels that were characterized as Mset interior due to simple escape time and not in the inner portion of the period-1,2 components were analyzed by the m-formula.
* In the bulb comparison, all pixels are judged by the m-formula.