• March 05, 2021, 02:53:18 PM

Login with username, password and session length

Author Topic:  miniset and embedded Julia size estimates  (Read 416 times)

0 Members and 1 Guest are viewing this topic.

Offline claude

  • 3f
  • ******
  • Posts: 1792
    • mathr.co.uk
miniset and embedded Julia size estimates
« on: February 22, 2018, 09:31:00 PM »
Here's Haskell-ish pseudo-code for miniset size estimate for arbitrary formulas (works for Mandelbrot, Burning Ship, etc).  Needs the period p and nucleus c = a + b i, which you can find by the "iterate box until it surrounds 0" method and Newton's root finding method, respectively.

Code: [Select]
size formula degree p a b = do
  -- z = x + i y = 0
  x <- real
  y <- real
  x .= 0
  y .= 0
  -- matrix L
  lxa <- real
  lxb <- real
  lya <- real
  lyb <- real
  -- L = identity
  lxa .= 1
  lxb .= 0
  lya .= 0
  lyb .= 1
  -- matrix B
  bxa <- real
  bxb <- real
  bya <- real
  byb <- real
  -- B = identity
  bxa .= 1
  bxb .= 0
  bya .= 0
  byb .= 1
  -- loop one period
  j <- int
  j .= 1
  while_ (j .< p) $ do
    -- allocate next z, l
    xn <- real
    yn <- real
    lxan <- real
    lxbn <- real
    lyan <- real
    lybn <- real
    -- calculate next z, l
    let R2 fx fy = formula (R2 a b) (R2 x y)
        -- calculate derivatives
        fdxa = ddx d x fx
        fdxb = ddx d y fx
        fdya = ddx d x fy
        fdyb = ddx d y fy
        d v u
              | u == x && v == x = lxa
              | u == x && v == y = lxb
              | u == y && v == x = lya
              | u == y && v == y = lyb
              | u == v = 1
              | otherwise = 0
    -- z = f(z, c)
    xn .= fx
    yn .= fy
    x .= xn
    y .= yn
    -- L = J_f(z, c)
    lxan .= fdxa
    lxbn .= fdxb
    lyan .= fdya
    lybn .= fdyb
    lxa .= lxan
    lxb .= lxbn
    lya .= lyan
    lyb .= lybn
    -- B = B + 1/L
    det <- real
    det .= lxa * lyb - lxb * lya
    bxa .= bxa + lyb / det
    bxb .= bxb - lxb / det
    bya .= bya - lya / det
    byb .= byb + lxa / det
    -- loop counter
    j .= j + 1
  -- l = sqrt (abs (det L))
  l <- real
  l .= sqrt (abs (lxa * lyb - lxb * lya))
  -- beta = sqrt (abs (det B))
  beta <- real
  beta .= sqrt (abs (bxa * byb - bxb * bya))
  -- compute l^d b
  d <- float
  d .= degree / (degree - 1)
  llb <- real
  llb .= l ** d * beta
  return_ (1 / llb)

Embedded Julia set size estimate can be found from miniset size estimate using the formula (for power n):
\[ r_J = r_M^{\frac{(n+1)(n-1)}{n^2}} \]

Proofs, justification, suggestions and/or corrections welcome, I found these empirically...

Linkback: https://fractalforums.org/fractal-mathematics-and-new-theories/28/miniset-and-embedded-julia-size-estimates/912/
« Last Edit: February 22, 2018, 10:08:07 PM by claude, Reason: fix typo »

Offline claude

  • 3f
  • ******
  • Posts: 1792
    • mathr.co.uk
Re: miniset and embedded Julia size estimates
« Reply #1 on: February 22, 2018, 11:25:12 PM »
If the pseudo-code is too hard to decrypt, here's a mathematical fomulation: http://ibiblio.org/e-notes/MSet/windows.htm
Quote
f_c^n map renormalization. The "linear" approximation
Consider a period-n window. Under iterations the critical orbit consecutively cycles through n narrow intervals S1 → S2 → S3 → ... → S1 each of width sj (we choose S1 to include the critical point x = 0).
Following [1,2] we expand f_c^n(x) for small x (in the narrow central interval S1 ) and c near its value cc at superstability of period-n attracting orbit. We see that the sj are small and the map in the intervals S2 , S2 , ... Sn may be regarded as approximately linear; the full quadratic map must be retained for the central interval. One thus obtains
    x_{j+n} ~ Λ_n [x_j^2 + β(c - cc )] ,
where Λ_n = λ_2 λ_3 ...λ_n is the product of the map slopes, λ_j = 2x_j in (n-1) noncentral intervals and
    β = 1 + λ_2^-1 + (λ_2 λ_3 )^-1 + ... + Λ_n^-1 ~ 1
for large Λ_n . We take Λ_n at c = cc and treat it as a constant in narrow window.
Introducing X = Λ_n x and C = β Λ_n^2 (c - cc ) we get quadratic map
    X_{j+n} ~ X_n^2 + C
Therefore the window width is ~ (9/4β)Λ_n^-2 while the width of the central interval scales as Λ_n^-1. This scaling is called f_c^n map renormalization.

This is for power 2 Mandelbrot.  For power d Mandelbrot, λ_j = d x_j^{d-1}, and the window width scales as β^-1 Λ_n^-{d / {d - 1}}.

For non-"nice" formulas (like Burning Ship, Mandelbar, etc) which aren't complex differentiable, you can use partial derivatives aka Jacobians, 2x2 matrices for β, λ_j, Λ_n.  At the end take the square root of the absolute value of the determinant before finding the window width with the formula in the previous paragraph.  This is what the pseudo-code in the previous post does.

more here https://math.stackexchange.com/questions/2609963/size-estimate-for-mini-sets-in-burning-ship-fractal


xx
Embedded Julia sets

Started by pauldelbrot on Image Threads

117 Replies
9044 Views
Last post March 02, 2021, 08:33:48 PM
by pauldelbrot
xx
kf/nanomb2 test - embedded Julia set

Started by claude on Fractal Image Gallery

2 Replies
249 Views
Last post October 29, 2018, 02:55:45 PM
by claude
xx
a Perpendicular Mandelbrot embedded Julia set

Started by claude on Fractal Image Gallery

0 Replies
308 Views
Last post January 30, 2018, 04:56:54 PM
by claude
xx
A brain the size of a planet

Started by 3DickUlus on Fractal Image Gallery

0 Replies
283 Views
Last post February 13, 2018, 03:58:45 AM
by 3DickUlus
xx
Can't set image size to 3840x2160 (4K)

Started by fractal on Kalles Fraktaler

3 Replies
238 Views
Last post August 09, 2019, 09:17:17 PM
by fractal