Mandelbrot foam math

  • 14 Replies
  • 466 Views

0 Members and 1 Guest are viewing this topic.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« on: July 29, 2018, 10:03:59 PM »
Some Mandelbrot foam math.
Iteration is (with q a complex constant, c the pixel parameter)
\( w \leftarrow qw/z,\\z \leftarrow z^2+w^2 +c. \)
To determine critical point (to start from) both eigenvalues of the Jacobian
\( J=\begin{pmatrix} q/z & -qw/z^2\\2w & 2z\end{pmatrix} \)
should be 0.
\( 0 = det(J) = (z^2+w^2)2q/z^2 \) gives \( w = i z \) which makes at least one eigenvalue 0.
Substitute this in the formulas for the eigenvalues \( \lambda \) (using a symbolic calculator)
\( \lambda = (q + 2z^2 \pm (q^2 - 8qw^2 - 4qz^2 + 4z^4)^{1/2} )/(2z) \)
gives
\(
\lambda =(q+2z^2 \pm  (q+2z^2))/(2z) =0
 \)
so \( z = \sqrt{-q/2}. \)

Next I try to find if a stable fixed point (period 1 "mini") exists. Conditions are
\( w = qw/z,\\z=z^2+w^2+c,\\\max{|\lambda|}\leq 1. \)
We get
\( z=q\\w=\sqrt{q-q^2-c}. \)
Substitute this in the formula for the eigenvalues gives
\( \lambda = a \pm b \) with \( a=q+1/2 \) and \( b(c)=\sqrt{(4*q^3 + 4*q^2 - 7*q + 8*c)/q}/2. \)
Imposing \( |\lambda|\leq 1 \) on the "plus" formula gives
\( a+b = r e^{i\theta} \) with \( 0\leq r\leq 1 \) and \( \theta \) an angle.
The corresponding \( c \) can be found by solving \( b(c) =r e^{i\theta}-a  \) for \( c \).
The condition on the other eigenvalue is now
\( |a-b|=|2a-r e^{i\theta}|\leq1 \) which can be satisfied only if \( |a|\leq 1 \).
So there exists a period 1 region if \( |2q+1|\leq 1 \).
Maybe a good parametrization is \( q=(1+\rho e^{i\phi})/2 \) which should give period 1 regions if \( \rho<1 \).

Not sure if I made a mistake, for there seems to be nothing special happening at \( \rho=1 \) when I make images.
Also I'm not sure how to now get the theoretical shape of the period 1 region. in general.

Special case \( q=-1/2 \) (so a=0) is easier. Solving \( b(c)=r e^{i\theta} \) gives
\( c = r e^{i\theta}/4-1/2 \), which is a circle of radius 1/4 around -1/2.

Something's not quite right though, because the picture below shows almost that circle, but little pieces are chipped out at the edges. It's not an insufficient iteration issue. Anyone spot a mistake?
 
« Last Edit: July 30, 2018, 11:33:39 PM by gerrit, Reason: Corrected errors/added shape analysis »

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #1 on: July 30, 2018, 11:34:37 PM »
Corrected errors...

Offline claude

  • *
  • 3c
  • ***
  • Posts: 861
    • mathr.co.uk
« Reply #2 on: July 31, 2018, 03:57:26 AM »
one set of fixed points is: w = 0, z = z^2 +c, so c is the m-set-alike cardioid
for w != 0, and q = -1/2, I get your result (up to sign) of c = -1/2 - t^2/4
I was assisted by maxima

re the chips, what is the other eigenvalue like at those points? the other eigenvalue should be 0 afaict.  not sure what is happening as I haven't got software to check visually..., I can reproduce this behaviour in Fragmentarium
guess: maybe the circle is too big, and the chips are at the real 1/4 radius? this could be caused by over-eager periodicity detection?
guess2: you are of course doing the iterations in parallel, not updating w before updating z with the new w?

« Last Edit: July 31, 2018, 04:37:00 AM by claude, Reason: reproduced »

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #3 on: July 31, 2018, 04:15:42 AM »
one set of fixed points is: w = 0, z = z^2 +c, so c is the m-set-alike cardioid
for w != 0, and q = -1/2, I get your result (up to sign) of c = -1/2 - t^2/4
I was assisted by maxima

re the chips, what is the other eigenvalue like at those points? the other eigenvalue should be 0 afaict.  not sure what is happening as I haven't got software to check visually...
guess: maybe the circle is too big, and the chips are at the real 1/4 radius? this could be caused by over-eager periodicity detection?
guess2: you are of course doing the iterations in parallel, not updating w before updating z with the new w?
The eigenvalues for \( q=-1/2 \) are \( \pm \sqrt{-4c-2} \).

Thanks for the observation that the M-set cardioid is a stable fixed point. The fact that it is never seen must be due to the initial conditions; this orbit is not reachable from the critical point. So maybe that explains the chips: those areas do have a stable fixed point but it is not reachable from the initial condition.

Edit in response to your edit: No, I zoomed into the boundary of the "circle" and verified the chips are actually that: regions where there is a stable fixed point, but it is not reachable. Calculation is just calculating every pixel, and yes, I took care of using correct w in the z update.

Offline claude

  • *
  • 3c
  • ***
  • Posts: 861
    • mathr.co.uk
« Reply #4 on: July 31, 2018, 04:37:55 AM »
yes I reproduced the chips.  sorry for doubting

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #5 on: July 31, 2018, 04:42:21 AM »
Here's an image for q=-1/2 centered at -0.499963345735437+0.249685522638552 * i, i.e., in the "circle".

BTW PT should be easy for this beautiful fractal by pauldelbrot. w can remain normal precision, just perturb z. I tried to implement it in UltraFractal but it does not work; I think it only supports PT in one variable.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #6 on: July 31, 2018, 04:44:35 AM »
yes I reproduced the chips.  sorry for doubting
We seem to be crossposting, though that used to mean something else in the past. :)
Doubting is good and has no downsides.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #7 on: August 01, 2018, 04:29:48 AM »
Thanks for the observation that the M-set cardioid is a stable fixed point. The fact that it is never seen must be due to the initial conditions; this orbit is not reachable from the critical point. So maybe that explains the chips: those areas do have a stable fixed point but it is not reachable from the initial condition.
I verified (by computing single orbits) that a point near the edge of the circle that escapes, converges when (w0,z0) is sufficiently close to where the attractor is.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #8 on: August 01, 2018, 05:10:19 AM »
The choice of \( z_0=\sqrt{-q/2} \) is not important, any value with a w that makes the determinant 0 (\( w=iz \)) gives the same image. This makes only the second eigenvalue 0.

If you make only the first eigenvalue 0, take any nonzero \( z_0 \) and set
\( w_0 = \sqrt{  (q^2-4qz_0^2+4z_0^4-(q+z_0^2)^2)/(8q) }  \), the result is different and also nice, but it now does depend on \( z_0 \), so there another parameter to play with.

Below q=-1/2 with both choices, \( z_0=1 \) for the second method.

Added: I must be doing something wrong with this other "choice"; if an eigenvalue is 0 the determinant must be zero but then we must have \( w=iz \), so the second eigenvalue must be 0. Pictures look nice anyways...
« Last Edit: August 01, 2018, 06:10:39 AM by gerrit »

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #9 on: August 08, 2018, 05:16:55 AM »
Connection to the Mandelbrot set.
The M-foam iteration
\( w \leftarrow qw/z,\\z \leftarrow z^2+w^2 +c. \)
can be rewritten in a suggestive form by setting \( z = u+v \), which gives the equivalent iterations
\( u \leftarrow u^2 +c,\\w \leftarrow qw/(u+v),\\v \leftarrow v^2+2uv+w^2. \)
So \( u \) obeys the normal Mandelbrot iteration, and the other variables do not depend explicity on \( c. \)
The escape condition now is \( |z \equiv u+v|<R \) with \( R \) the (large) escape radius.

This suggest a fast way for deep zooming: just use Mandelbrot perturbation for the u-orbit and calculate v and w in normal precision (as it does not involve c). Problems arise when u escapes but \( z \equiv u+v \) does not. There are however not many point where this happens and they are perhaps "uninteresting" (all disconnected Juliaset-like stuff) anyways. Interesting points seem to be in the interior of the associated M-set.

Attached an overlay of the M-set on the M-foam for \( q=1/2 \). Larger values of q only have disconnected stuff, and smaller values have the interesting stuff happening inside the associated Mandelbrot shape. Second image shows a detail with a "tongue" that is not in the M-set but in the M-foam set. This is where both u and v get very large but cancel.

 

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #10 on: August 08, 2018, 05:22:33 AM »
Distance estimator.
I've been using the following method for DE which seems to produce good results.
\(
dw = q(dw/z - w/z^2 dz)\\dz = 2w*dw +2zdz+1\\ D = |z|log|z|/|dz|
 \)
Ghost dots appear which seem to be local maxima of the DE, so sometimes you try to zoom into one of those before you realize there is nothing there.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #11 on: August 14, 2018, 04:46:58 AM »
It seems PT does not work using the ideas presented previously. I tried perturbing only z in various ways, but it seems the w iteration also needs high precision and it can't be molded for PT as far as I can see as it's non-polynomial.

I made some obvious generalization of the original which produces nice images. Basically use different powers (\( p_1, p_2, s_1, s_2 \)), normally \( (2,2,1,1) \), and compute critical point.
General form is
\(
z_0 = \sqrt{-q/2}\\
w_0 = (- z_0^{p_1} p_1 s_1/(p_2 s_2) )^{1/p_2}\\
dw = 0\\
dz = 0\\
dw \leftarrow s_1 w^{s_1-1}/z^{s_2} dw -s_2 w^{s_1}/z^{s_2+1} dz\\
dz \leftarrow p_1 z^{p_1-1} + p_2 w^{p_2-1} + 1\\
w \leftarrow q w^{s_1}/z^{s_2}\\
z \leftarrow z^{p_1} + w^{p_2} + c
 \)
 The choice of \( z_0 \) (which makes all eigenvalues zero) does not seem to matter, as long as \( w_0 \) relates in the indicated way.

A nice variant is to use a non-critical initial point
\( z_0=c\\w_0 = r c \)
with \( r \) a small number.
This produces Mandelbrot-like shapes with the interior filled in. Minibrots are also filled in, but \( r \) needs to be very small before they disintegrate.

You can also add \( c \) to the \( w \) update (\( dw \) formula needs an extra +1 then) without affecting the critical point. This variant does not seem too interesting, except when combined with the alternative starting point and adding \( rc \) to the \( w \) update (and of course \( +r \) to the \( dw \) update).


Offline claude

  • *
  • 3c
  • ***
  • Posts: 861
    • mathr.co.uk
« Reply #12 on: August 14, 2018, 05:30:51 AM »
it seems the w iteration also needs high precision and it can't be molded for PT as far as I can see as it's non-polynomial.

This is what I get:

W := q W / Z
W + w := q (W + w) / (Z + z)
w := q (Z w - z W) / (Z (Z + z))

Z := Z^2 + W^2 + C
Z + z := (Z + z)^2 + (W + w)^2 + (C + c)
z := 2 Z z + z^2 + 2 W w + w^2 + c

I haven't tried implementing it, so maybe there is a fatal flaw.  See also: https://mathr.co.uk/blog/2018-03-12_perturbation_algebra.html

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1537
« Reply #13 on: August 14, 2018, 08:00:15 AM »
This is what I get:

W := q W / Z
W + w := q (W + w) / (Z + z)
w := q (Z w - z W) / (Z (Z + z))

Z := Z^2 + W^2 + C
Z + z := (Z + z)^2 + (W + w)^2 + (C + c)
z := 2 Z z + z^2 + 2 W w + w^2 + c

I haven't tried implementing it, so maybe there is a fatal flaw.  See also: https://mathr.co.uk/blog/2018-03-12_perturbation_algebra.html
I wrote down those same formulas, but gave up realizing those reference orbits are almost always going to escape early giving many glitches so to try it some glitch detection/correction is needed. Just laziness, maybe it will work.

Offline v

  • *
  • Fractal Fanatic
  • ***
  • Posts: 29
« Reply #14 on: August 23, 2018, 09:28:28 AM »
reminds me of this random image


xx
Mandelbrot Foam

Started by Softology on Programming

9 Replies
212 Views
Last post December 02, 2018, 09:04:20 AM
by gerrit
xx
Math captcha ambiguous

Started by Silvus on Forum Help And Support

5 Replies
114 Views
Last post November 02, 2018, 09:24:52 PM
by Fraktalist
xx
A new math function inspired from Julia's fractal

Started by hgjf2 on Fractal Mathematics And New Theories

2 Replies
397 Views
Last post October 27, 2018, 10:57:17 AM
by hgjf2
xx
HLF ? Math ⇔ Art exhibition - altenerate ways to display Gosper Curve

Started by kram1032 on Share a fractal

1 Replies
411 Views
Last post September 30, 2018, 05:55:38 PM
by Kalter Rauch
xx
(Mandelbrot / Burning Ship / Mandelbrot / Mandelbrot) Hybrid

Started by claude on Fractal movie gallery

15 Replies
490 Views
Last post February 06, 2018, 04:56:54 AM
by claude