towards a language for Julia morphing

  • 23 Replies
  • 1234 Views

0 Members and 1 Guest are viewing this topic.

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« on: November 02, 2017, 10:41:31 PM »
This is a follow-up to Dinkydau's post about a language for Julia morphing in this thread about neural networks and deep learning:

https://fractalforums.org/fractal-mathematics-and-new-theories/28/speeding-up-deep-zooming-using-neural-networks-deep-learning/395/msg2141#msg2141

A natural way of defining which part of an embedded Julia set you want to zoom to is by using wakes.

A hyperbolic component is a disc-like or cardioid-like region of the Mandelbrot set.  Each hyperbolic component has a nucleus where the orbit of 0 returns to 0 after p iterations, p is called its period.   There is a bidirectional mapping between the exterior of the Mandelbrot set and the exterior of the unit disc, external rays are the images under this mapping of straight lines from the unit disc to infinity (that would also pass through the origin if extended).  Each external ray has a corresponding external angle, which is the counterclockwise angle the straight line makes with the positive real axis.  The external angle is usually measured in turns (1 is the whole circle), and expressing it as a binary expansion shows interesting properties.

Rational angle's rays land on the boundary of the Mandelbrot set.  Each hyperbolic component has 2 rays landing on its root.  (The period 1 cardioid can be taken to have rays at angles 0 and 1, all other rays have angles strictly between 0 and 1.) The binary expansion of these rays is periodic with the same period as the period of the hyperbolic component's nucleus.  A wake is defined by the pair of external rays landing on the root of a hyperbolic component - the complex plane is divided into two parts, one containing the origin, and the other containing the hyperbolic component.  The part containing the hyperbolic component is the wake.

In an embedded Julia set there is one nucleus of the next higher (in increments of the parent island's period) period either side of the wake - one further out towards the tips, the other further in towards the origin (and thus the main body of the Mandelbrot set).  The attached images illustrate this, I verified that this binary division property holds for two embedded Julias.

This isn't quite the whole story though: here out really means going beyond the tip of the antenna of the minibrot.  When zooming in (the blue image attached) to 4-fold symmetry (in the middle of this embedded Julia set) you can also go left and right.  An elegant way of handling this is via internal angles: right turns out to be in the wake of the period 3P bulb at 1/3, and left the period 3P bulb at 2/3 of a period P cardioid.  So out could be renamed "1/2", and this can be formalized to give angled internal addresses, see this paper: https://arxiv.org/abs/math/9411238  The only wart is that "in" isn't used in angled internal addresses, so they can sometimes end up with a somewhat unintuitive formulation: 1 1/2 2 1/2 3 1/2 4 out would be 1 1/2 2 1/2 3 1/2 4 1/2 5, but 1 1/2 2 1/2 3 1/2 4 in would be 1 1/2 2 1/2 3 1/2 5.

Finally, I have an online web app that allows you to explore external angles and angled internal addresses, among other things: https://mathr.co.uk/mandelbrot/web/

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #1 on: November 03, 2017, 06:27:31 AM »
Tree

Dinkydau's rule: INIT skip

My wake-based rules for this example with a 3-fold spiral, starting from the embeded Julia set with P=89, influencing parent island p=3, new period replacing P in parentheses:

first step: either OIII (P+4*p) or IOIO (P+4*p)
later steps: either L (2*P+p) or R (2*P+p)
« Last Edit: November 05, 2017, 05:29:10 PM by claude, Reason: clarification of rules »

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #2 on: November 05, 2017, 06:42:19 PM »
Tree (longer arms)

Dinkydau's rule: INIT skip^(armLength)

Wake rule for armlength 2 (period at center P, period of influencing island p=3, threefold spirals in Julia set):
first step: OIIIO (P+5*p) or IOIOO (P+5*p)
later steps: LO (2*P+2*p) or RO (2*P+2*p)

Conjectured wake rule for armlength L (period at center P, period of influencing island p)
first step: ?
later steps: L(O^{L-1}) (2*P+L*p) or R(O^{L-1}) (2*P+L*p)

Example angled internal address: \( 1_\frac{1}{2}\to 2_\frac{1}{2}\to 3_\frac{1}{3}\to 9_\frac{5}{6}\to 46_\frac{1}{2}\to 47_\frac{1}{2}\to 53_\frac{1}{2}\to 56_\frac{1}{2}\to 59_\frac{1}{3}\to 121_\frac{1}{2}\to 124_\frac{1}{3}\to 251_\frac{1}{2}\to 254_\frac{1}{3}\to 511_\frac{1}{2}\to 514 \)
Example expanded wake rule IOIOORORORO

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #3 on: November 06, 2017, 10:30:21 PM »
This short program succesfully navigates from the center of an embedded Julia set to a nucleus 2 spirals out in the direction you would take to make a tree.

Code: [Select]
#include <stdio.h>
#include <mandelbrot-numerics.h>

int main()
{
  int n = 64;
  double _Complex c = -1.7687402565964134e+00 + I * 3.0387357058642636e-03;
  int p = 3; // influencing island
  int P = 56; // focus period
  int arms = 2; // number of spiral arms
  // period 56 nucleus at center
  m_d_nucleus(&c, c, P, n);
  // a
  m_d_misiurewicz(&c, c, P + 1, p, n);
  // b
  m_d_nucleus(&c, c, P = P + arms * p, n);
  // c
  m_d_misiurewicz(&c, c, P + 1, p, n);
  // d
  m_d_nucleus(&c, c, P = P + p, n);
  // e
  m_d_misiurewicz(&c, c, P + 1, p, n);
  // f
  m_d_nucleus(&c, c, P = P + p, n);
  // period 68 nucleus two spirals out
  printf("%.18f %.18f 1e-8\n", creal(c), cimag(c));
  return 0;
}

Unfortunately I think the structures at the next level of zooming are too symmetrical (in terms of periods and preperiods), I don't know if it will be possible to continue automating this further.

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #4 on: November 07, 2017, 09:40:47 PM »
An example showing the "symmetry trap" in morphed Julias: the symmetry means that Newton's method can't be used because the (fractal) boundary of basins of attraction (not shown) will pass through the p314 nucleus at the center, so it could converge to anywhere or not at all.  The symmetry can be broken at the minibrot (tracing internal rays to 1/3 or 2/3 bulb), but this doesn't help much because it isn't far enough out from the nucleus to make a difference.

It seems the "symmetry breaking" of Misiurewicz spirals preperiod does happen only at the ends of the branches of the tree, rather than at the middle as we'd hope for.  There are 6 p631 nuclei near the center (second image), to continue tree morphing we want to find one of the 2 nearest the p314 nucleus at the core (at which point we can go further out alternating Misiurewicz centers and periodic centers).

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #5 on: November 08, 2017, 02:41:42 AM »
I've been experimenting with "atom domain coordinates", ie, the coordinates of a point within the surrounding atom domain(s).  You can calculate them like this:

Code: [Select]
Complex c = input point, can be any point (interior, exterior, boundary, ...)
Complex w = 0 + 0 i;
Complex z = 0 + 0 i;
Real m = 1.0 / 0.0;
Integer q = 0;
for (Integer p = 1; p <= maxiters; ++p)
{
  z = z * z + c
  if (|z| < m)
  {
    if (q > 0)
    {
      Complex a = z / w;
      print "atom domain coordinate at ",  p, "/", q, " is ", a
    }
    q = p;
    w = z;
    m = |z|
  }
}

I added it to m-describe, an example program from my mandelbrot-numerics package.  Here's an example, with the input location being a few iterations into a Julia morphing tree with length 2 arms:

Code: [Select]
$ m-describe
usage: m-describe precision maxperiod maxiters re im
$ m-describe 500 5000 5000 -1.76867066906848192224252477592312859554915536014224030961298269776882020312701117e+00 2.4840742198029977618741239999091519936572287964924356728807904024291900405787396e-03
the input point was -1.76867066906848192224252477592312859554915536014224030961298269776882020312701117e+00 + +2.4840742198029977618741239999091519936572287964924356728807904024291900405787396000000000000000000000000000000000000000000000000000000000000000000000006e-03 i
the point didn't escape after 5000 iterations
nearby hyperbolic components to the input point:

- a period 1 cardioid
  with nucleus at +0e+00 + +0e+00 i
  the component has size 1.00000e+00 and is pointing west
  the atom domain has size 0.00000e+00
  the atom domain coordinates of the input point are -nan + -nan i
  the atom domain coordinates in polar form are nan to the east
  the nucleus is 1.76867e+00 to the east of the input point
  the input point is exterior to this component at
  radius 1.84160e+00 and angle 0.499848902720760879 (in turns)
  the multiplier is -1.84160e+00 + +1.74836e-03 i
  a point in the attractor is -9.20807e-01 + +8.74192e-04 i
  external angles of this component are:
  .(0)
  .(1)

- a period 2 circle
  with nucleus at -1e+00 + +0e+00 i
  the component has size 5.00000e-01 and is pointing west
  the atom domain has size 1.00000e+00
  the atom domain coordinates of the input point are -0.76867 + +0.0024841 i
  the atom domain coordinates in polar form are 0.76867 to the west
  the nucleus is 7.68675e-01 to the east of the input point
  the input point is exterior to this component at
  radius 3.07470e+00 and angle 0.499485668790666693 (in turns)
  the multiplier is -3.07468e+00 + +9.93630e-03 i
  a point in the attractor is -1.50931e+00 + +1.2306e-03 i

- a period 3 cardioid
  with nucleus at -1.754878e+00 + +4.5372764e-364 i
  the component has size 1.90355e-02 and is pointing west
  the atom domain has size 2.34487e-01
  the atom domain coordinates of the input point are +0.058585 + -0.010507 i
  the atom domain coordinates in polar form are 0.05952 to the east
  the nucleus is 1.40149e-02 to the east of the input point
  the input point is exterior to this component at
  radius 1.02191e+00 and angle 0.477971503530559616 (in turns)
  the multiplier is -1.01214e+00 + +1.40990e-01 i
  a point in the attractor is +5.3106517e-02 + -7.2012171e-03 i
  external angles of this component are:
  .(011)
  .(100)

- a period 6 circle
  with nucleus at -1.772893e+00 + -4.72499e-374 i
  the component has size 8.69223e-03 and is pointing west
  the atom domain has size 1.73807e-02
  the atom domain coordinates of the input point are +0.24229 + +0.14137 i
  the atom domain coordinates in polar form are 0.28052 to the east-north-east
  the nucleus is 4.89876e-03 to the west-south-west of the input point
  the input point is exterior to this component at
  radius 1.12275e+00 and angle 0.084270757649362940 (in turns)
  the multiplier is +9.69009e-01 + +5.67094e-01 i
  a point in the attractor is +2.3723982e-02 + +2.7205482e-02 i
  external angles of this component are:
  .(011100)
  .(100011)

- a period 80 cardioid
  with nucleus at -1.7686706698108863e+00 + +2.4840735062534114e-03 i
  the component has size 7.21591e-12 and is pointing south-west
  the atom domain has size 3.62531e-08
  the atom domain coordinates of the input point are -0.025277 + +0.013125 i
  the atom domain coordinates in polar form are 0.028482 to the west-north-west
  the nucleus is 1.02972e-09 to the south-west of the input point
  the input point is exterior to this component at
  radius 2.38752e+01 and angle 0.245963380531733472 (in turns)
  the multiplier is +6.05477e-01 + +2.38675e+01 i
  a point in the attractor is -1.0235014217905391e-05 + -5.2956444099435658e-05 i
  external angles of this component are:
  .(01110001110001110001110001110001110001110001110001110001110001101110011100100100)
  .(01110001110001110001110001110001110001110001110001110001110001101110100011011011)

- a period 166 cardioid
  with nucleus at -1.76867066906848750322441e+00 + +2.48407421979660354746963e-03 i
  the component has size 1.20396e-18 and is pointing south-west
  the atom domain has size 4.21030e-13
  the atom domain coordinates of the input point are +0.020152 + +0.00054259 i
  the atom domain coordinates in polar form are 0.020159 to the east
  the nucleus is 8.48725e-15 to the south-west of the input point
  the input point is exterior to this component at
  radius 1.67922e+02 and angle 0.248950892799198020 (in turns)
  the multiplier is +1.10689e+00 + +1.67919e+02 i
  a point in the attractor is -1.72337859654754347419464e-08 + -1.54263675741792196004477e-07 i
  external angles of this component are:
  .(0111000111000111000111000111000111000111000111000111000111000110111010001101101101110001110001110001110001110001110001110001110001110001110001101110011100100100100100)
  .(0111000111000111000111000111000111000111000111000111000111000110111010001101101101110001110001110001110001110001110001110001110001110001110001101110100011011011011011)

- a period 338 cardioid
  with nucleus at -1.768670669068481922242635021582513e+00 + +2.484074219802997761711363756288075e-03 i
  the component has size 7.95203e-29 and is pointing south-south-west
  the atom domain has size 6.89777e-20
  the atom domain coordinates of the input point are +0.0028476 + +0.00011552 i
  the atom domain coordinates in polar form are 0.00285 to the east
  the nucleus is 1.96583e-22 to the south-west of the input point
  the input point is exterior to this component at
  radius 3.14461e+03 and angle 0.246574763576136752 (in turns)
  the multiplier is +6.76713e+01 + +3.14389e+03 i
  a point in the attractor is -1.051010271500737387396129344322317e-12 + -2.360116503751827799783730751067726e-11 i

- a period 682 cardioid
  with nucleus at -1.7686706690684819222425247759231288733015276862538e+00 + +2.4840742198029977618741239999085180582980312949536e-03 i
  the component has size 4.25928e-44 and is pointing south-south-west
  the atom domain has size 4.54963e-30
  the atom domain coordinates of the input point are +0.00015184 + +9.2413e-06 i
  the atom domain coordinates in polar form are 0.00015213 to the east
  the nucleus is 6.92113e-34 to the south-south-west of the input point
  the input point is exterior to this component at
  radius 2.54947e+05 and angle 0.741784126755611117 (in turns)
  the multiplier is -1.31550e+04 + -2.54608e+05 i
  a point in the attractor is -2.0838160382258966671023786214932757442312418656921e-18 + +4.4278759379197717549026479411875780959270259291627e-17 i

- a period 1370 cardioid
  with nucleus at -1.768670669068481922242524775923128595549155360142240944937436234373603487e+00 + +2.484074219802997761874123999909151993657228796487908305600068771245981356e-03 i
  the component has size 5.27888e-67 and is pointing south
  the atom domain has size 2.43658e-45
  the atom domain coordinates of the input point are +1.8685e-06 + +1.7083e-07 i
  the atom domain coordinates in polar form are 1.8763e-06 to the east
  the nucleus is 4.57173e-51 to the south of the input point
  the input point is exterior to this component at
  radius 1.86123e+08 and angle 0.734527631427225325 (in turns)
  the multiplier is -1.80656e+07 + -1.85244e+08 i
  a point in the attractor is -2.082063826779991026326953547993162661502629995309235944161531538400280308e-26 + +1.120085610296564224963257366763582370252733869174041191996999937492463002e-25 i

- a period 2746 cardioid
  with nucleus at -1.7686706690684819222425247759231285955491553601422403096129826977688202031270204377813893275645781753847073e+00 + +2.4840742198029977618741239999091519936572287964924356728807904024291900405671811051318681359309725545660552e-03 i
  the component has size 2.30326e-101 and is pointing south-east
  the atom domain has size 3.01982e-68
  the atom domain coordinates of the input point are +3.3829e-10 + -3.5532e-10 i
  the atom domain coordinates in polar form are 4.906e-10 to the south-east
  the nucleus is 1.48152e-77 to the south-west of the input point
  the input point is exterior to this component at
  radius 1.60403e+12 and angle 0.648307704153266884 (in turns)
  the multiplier is -9.56569e+11 + -1.28759e+12 i
  a point in the attractor is +5.4689924802562002186177141105459235753771144847589438147523377057995195313831690235485364042715917062665656e-40 + +6.4623687912078992911092289020611645088648491060458579157716156674594712946648961321818382697951351961478722e-39 i


I extracted the atom domain radius from the above (note also that they are all "east", which means towards 1+0i), and did some maths:

Code: [Select]
$ ghci
Prelude> l = [0.020159,  0.00285, 0.00015213, 1.8763e-06] -- radius of atom domain coordinates, relative to parent atoms
Prelude> m = map (logBase 2) l
Prelude> n = zipWith (/) m (tail m)
Prelude> n -- tends to limit of 2/3, probably
[0.6661798286887533,0.666657512188633,0.6666643361398812]

This means it should be possible to estimate the atom domain coordinate of the next in the series: it should be approximately 2^(3/2 * log2(1.8763e-06)) = pow(1.8763e-06, 1.5) = 2.5701e-09.

There should be a period 2746 * 2 + 3 * 2 = 5498 nucleus at atom domain coordinate 2.5701e-09 + 0 i in the (2746 / 1370) atom domain of the period 2746 nucleus.

Final step (my next task for tonight) will be implementing a Newton's method iteration to go from atom domain coordinate to parameter plane coordinate, if this is possible then automated Julia morphing in O(period) may be possible after all! (recall that automated Julia morphing in O(period^2) is possible by calculating with patterns of external angles in binary notation, then tracing external rays, but this is too slow to be practical).

UPDATE  I've now implemented it, but it doesn't work completely as intended - the first nucleus is found correctly from the atom coordinate guess, but then the Misiurewicz step to find the neighbouring spiral shoots off into nowhere-land (and it's actually reached a 5495p1 instead of the desired 5496p3 :( ) See attached...

UPDATE 2 I've got it working, at least in one test - the key was remembering that there is a Misiurewicz point at the tip of the embedded Julia set, and this particular one has much lower preperiod so its basin of attraction is much bigger.  The path for the success image was period 2746 nucleus -> atom domain coordinate guess -> 5454p3 Misiurewicz point -> period 5498 nucleus (the desired location).  Next step is investigating the patterns of (pre)periods for the required tip Misiurewicz points at each level of Julia morphing.
« Last Edit: November 08, 2017, 06:09:49 AM by claude, Reason: update 2 (some success) »

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #6 on: November 08, 2017, 07:09:01 AM »
Here is a parameter file for m-perturbator-gtk (all the "1000" specify the bits of precision required to load the long numbers).  In the attached image I deleted a couple of annotations because they were overlapping.

Code: [Select]
size 1280 720
view 1000 -1.7686706690684819222425247759231285955491553601422403096129826977688202031270412040418170042248909893898953961914249212714212001674752563530713893578422376437313552349728458283121162832163166940448331006411624727444765435919434115458564782228718715348642063458201407792159500754523973581287283413580442e+00 2.48407421980299776187412399990915199365722879649243567288079040242919004064196388421468727794759644848538692342994649388151633813707546923601664167590854124622835737158321433751594156647846374328172377802991208265558881662411052239207698578039076087494973300118792871530460398929205927526911476532532103e-03 3e-114
text 1000 -1.7686706690684819222425247759231285955491553601422403096129826977688202031270412040418170042248909893898953961914249212714212001674752563530713893578422376437313552349728458283121162832163166940448331006411624727444765435919434115458564782228718715348642063458201407792159500754523973581287283413580442e+00 2.48407421980299776187412399990915199365722879649243567288079040242919004064196388421468727794759644848538692342994649388151633813707546923601664167590854124622835737158321433751594156647846374328172377802991208265558881662411052239207698578039076087494973300118792871530460398929205927526911476532532103e-03 5498
text 1000 -1.76867066906848192224252477592312859554915536014224030961298269776882020312704120404181700422489098938989539619142502937376873603073613925917330500058999354161401660373973164213520914737098394197499962444630350601651080654458386014044232732121039116089455566419098161137811805444587818692475455463821136e+00 2.48407421980299776187412399990915199365722879649243567288079040242919004064196388421468727794759644848538692343007986180299690260150708254518869407694786525317033201653971582150509348263344215647871749484619990902482057430132992084675356097362131086028677246878607674626688040511824183927789522268686137e-03 GUESS
text 1000 -1.7686706690684819222425247759231285955491553601422403096129826977688202031270412040418170042248909893898953961914250634943817179791830200866612359639354841487775226794268798318964901331356999545114616805089325645004311383924204084740985927774886920086133495160524268639350903295742868745912389150519751e+00 2.48407421980299776187412399990915199365722879649243567288079040242919004064196388421468727794759644848538692343006127701731085447116124041977745998079012820266296248238317328294134549892488835117358545582266876135534697510147913636567421125007425010714954125954901648395272163203390177569064612704989713e-03 10952p3
text 1000 -1.76867066906848192224252477592312859554915536014224030961298269776882020312704120404181700422489098938989539619142505427345784660532310067782256697724649692263468896992729894547401593554452647026036100516334003250853688714912809597338070650311846362834150528559650181024496661965877839319506975468597546e+00 2.48407421980299776187412399990915199365722879649243567288079040242919004064196388421468727794759644848538692343005504323937385645828166288017403015922407358491316449620412555149609347725219337012069107754808408999604799315880906935986920084181624200653469057039897895091047565665021268510381048496443326e-03 11002

Here is a table I made when investigating this "2 spirals out tree morphing".  "n" is the number of morphings, "M_n" is the (pre)period of the Misiurewicz point at the tip, "P_n" is the period of the new nucleus two spirals out, and "D_n" is the difference between this period and the preperiod of "M_n":

Code: [Select]
n          M_n          P_n    D_n
0            -           68      -  // center of embedded Julia set
1         72p3           80      8  // two spirals out in 1/3 direction
2        152p3          166     14
3        318p3          338     20
4        656p3          682     26
5       1338p3         1370     32
6       2708p3         2746     38
7       5454p3         5498     44
n  (P_n-D_n)p3  2*P_{n-1}+6  2+6*n  // conjectured relationship
8      10952p3        11002     50  // additional data point constructed by conjectured relationship and verified graphically

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #7 on: November 08, 2017, 02:53:10 PM »
this code version: https://code.mathr.co.uk/mandelbrot-numerics/blob/8b579bca2060517d1e8bc37e26a1b2080be0d121:/c/bin/m-ejs-tree-morph.c
with latest version at: https://code.mathr.co.uk/mandelbrot-numerics/blob/HEAD:/c/bin/m-ejs-tree-morph.c

generated these coordinates for a level 13 Julia morphed tree, in about 72 minutes of single-core computation time (not parallelized):

Code: [Select]
-1.7652558203467454984419306742768796875976849019152801609837891438991037166553927075037968624630418363357792627750020704678878206353101678202549458916214133664294373229935984686323619224621261167952625135519259669198248890924166817331496587780817018506932776887237347476640134341088502110842190932280841570803432176243218537728869853231438621995691365470100717834175569351317988554742995396818046190462881599507729791172404046590454894240994335822743117687130042158145834905367292039055732844718334890002930197308674242084037159772791278729002740786795872323400257875388708834186813826636942415683059222789743569148854265242356397786775792120869746496824779113242182456232223239843929682766042137740528912439148013402938283788671431318288982312148303891628381046331426843720021168699372691084252596501364076357645444537712215996842276149399871547801057561541018624583160279066472979051617244167330955949323016020069044497047785312245224544992333372580125988960129820919718925382114429830321889161985951554302139690218434631961781814847680415228119487198235024522575156159582109989814309902836050104050538774819416830050837106163956725180024404021416860343608841706764743121101508211572319313810427359242646933403582572552702217910204561964158236858422511571998935448669177437896647309815817314366079081493137783855900035515354551534594287150270230024847103161509734412349429081026669735352203248423580981283408766939811823765591181878616422881826816534120855008662345799108503787572923334670817087134749627088934262700257030057879383435211784330952340154731971250422982746869019346823482949034467818911971026603744674294648904715746015405778938414498803411350215938486517529398624437145226669088579908309345257942153304019994088208692194570512170069159346991202412623343448837873745131654057948232211670135589928799750154372807649084906321604076628842672250962004913294201176622048565605085129806991599591195346093655348646030829237613464740378360288909525856499200438722883846465571964722696551642454033641123216889566300801667511671613396891143012529890341393767537458744336759662380241418625812095095834058460768849454072929035594400534576525628180343988276186642026622806612781723506878639153015047624568670599476773323509306183237525661515735966921117527866036789000125378326428662570773652759541507116622498175883426777171428859629160280005532213430493740195406120151447018745667914068130630911583064331039220370111296628837058341921176025611487827995294059411946734092735215788526114384614461312756139531726760373452510355397569972074912351819635532091046010532419870290565417990025808678089839935754621028290297477821483943078991326038993175649788811361930621171006383644816118719370882854000508246964135731259628516346339501897678210682942222723054932607722147359166968474073099364362590626787030342852426478791192272319581444707156639772011507244724621916415695159248494268540587623809902526158616890582059309391156926312802422179587906679206238444351244693456608617138352638537742703376061034196956956174093377554697702715253867e+00
1.0448650091472766200036073377716705506778145585706732657787402576158863212575805831264845978732720635981367205892257456599395259824678992895437000631639090380782651931410342021404287120356719331265154338796265547332324190866482966906442288439072704787637035733331126289893554315930040267090041435471095807620080703623373202319988283043548764378845477288480585486999976833286016412658871232194135510724105419895087119353574180821197151997884433310199504034220023069376091827176560639514781356505685034406596361147110452296587621031671676269252875230375309367885407143045217918300842065722362014365386494501732621858085041789033402885997949185611659839724351803905537179483597979911184313901719431323747690751864864651284358955906691131165304145293250333873575912674799233865528970402146259897824288937418177456573857851506016136592937867315172192455184897992504356626632871415625324496454391911115584008887309616020487089560155748370861552275044839830126158359017180852362543157550614820086764636454110031086277348983562979772260988213831882106327487796390655793124082066499509608727796039373581962168919342644811850981036527387713946053844390744989996765908292186563455684243809292400491283797186950581216057987221408625484789535256899234008000232672117797135905266607658428071322793146218840080376653798255493094208955564559810497849132626111052690262610725659306859765848783944073588259590950906103918164471812448135825493026119683214796349523914763111500425441268604724703816737970675605655402494414713241535016342866327101387260951212259082825124085529799525535086224351392639923628059980849808680743673117555609968656675280042269037175427964063134399888377179420551301091138455542651667775069490256922463466472315414412401979586636401853844000673429185902877205040397409374610314941243404522211798923418342784659082814181026094216579001010986508074686882108867557758926728739534547184144203734529703290957893699487568450562704413918244426420337649551140637080058612164120350000787963378184396365625594142257781607012207640607587954190206117325784832886458355213675617496188620534219680258479190356181210846009621099745749742701742606154829156893978765217835798013201841357441388487751088701806787583881961424402371791837508592763896425241570872729534837596230996762645939575732822735299621351067150541304737602749550799485492057281051727611420481363334333148341516042505841150467537625051014559344431289167693265880854297305048013896287984697784916756454794714343254254099939674506141819973906287011832757354158633097556129727548720771516583365942975225439873252969674873488158516908894362615859751433975401429077865097001652891487486167529227197906976346367522783477047567803194036278379822474927920957459711032912646084988440473374892440678026868622466524157454331825304802151577921487165114163202007050329323923638722129683070079578302067771596267724521809400737345474962712054994207206561244804384843779351605902136436489482800535268760726440128102264689291654293742406898437415923476850282332928832047140036483345892827915947751e-02
8.4597089580121456e-3028

Then m-perturbator-gtk (patched with a high iteration count, need to make it runtime adjustable..) took 20 minutes of wall clock time (80mins of CPU time on my quad core) to generate the attached image.

Success is reported, some hopefully minor cleanups needed to help get the first morphing level correct without hard-coded coordinates, plus some restructuring of library code to use less memory (recomputation will most likely be cheaper than caching, and make high iterations/precisions possible - I couldn't go to level 14 without running out of RAM+SWAP).

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #8 on: November 09, 2017, 10:22:50 PM »
https://mathr.co.uk/blog/2017-11-09_efficent_automated_julia_morphing.html new blog post about efficient automated Julia morphing of tree structures

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1419
« Reply #9 on: November 10, 2017, 11:01:12 PM »
Astounding! I will need to study some more before I can understand all you did.
Can you post the final location of the trees for study purposes?

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1419
« Reply #10 on: November 11, 2017, 04:23:52 AM »
Can you explain the meaning of the "atom domain coordinates"? p is the lowest iteration where |z_n| has the smallest minimum, and q where it has the one-but-smallest minimum and a=z_p/z_q. I understand the significance of p, but not the q and a.

I find using p(center) with this method and then finding location with Newton to get the reference orbit is almost as good as using the box method.

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #11 on: November 11, 2017, 04:06:32 PM »
Here are the coordinates of the 3 final views from the blog post:

Code: [Select]
Re: -1.765255999389876234461152788785797644984633297655685666807481695846225912749655788093382329902715252392041460635885215850563792707279422539272781989295044035426373000613583591812021412405839940885783437366123652481019380496979520083898930887713503041323571033603267228732673881697627769631428767123079395338351895929545805513311149873254735634309800137254227353398493256006860933209587567509764016267722040584438664806755046349843252626021333596704283019326356534015635940495176966999611978220530750450843633573332991709349235725836809717722489976855541370575297961999390728282862817643005070619283157278020063873338224185426911490249877871908715519769993172252374558860975947234420276611064476299388955501971748803106758767381698583971521419007502885315003960294562814779263086726297113472688640615919829005087413164109846911484778894071443404207869354099285048615521762074034505836870947172378060240956429316941809279123903549550327029007782712281749575380777227931092513014420477603320842219507859388471588902556506644329990910025966552275591407511770349035698103048527900063511604586989139281327400796651831374014415874764104370850858243013446412786439409651408822678063344800555306026968024498510934693190422966557520631929166353413622008884499560829402106681948196630088824317691984795766138303632912992140378394615510869590625990629073655058086918587992753373740466601362189075260075092061125838210244661114514701715337150589505397345587038201678298365407376620696933488764136981991980060516898714009726310706660397417599955993972465017811936070000026197616180830154468707445269557078391169219677153128499108333799155793024949654929510004716713790847107481720949091397456795973874107586921950585997685121649089247292045270419452553512843753157137069770620169965146471923792787e+00
Im: 1.044855173759870674509925260569062551429582184208774112687506685850702402862283633251801154021431699012118823719316553366249215187305353563731256464782007523642329777996610912423719422186335432822174265261206951043095844546756817888515248393784875534390880838697702428976170919396835291945394881167837612550632611599687865385075656734298905884071345216222487396786628676472777183728115086508724368712951744305368978034370190295242615713155170991153665925196554510896640820273213133136604547582375711715838288501092636776887401593694251212475188429866300624917005570979959648771291244739463462884185104210449685535729891795631266859943509493206019805375276334206034833533896170718455401730859682774525721906460414333828868645101441144512368412857590109126593191857811707164639189395898151033082699073911820942597151771028763883801440932176590915620749220343531119848827579210200210691074438526221609609348573487340983087427564867537849859997911932478276831737662313717298693308828671193674190049375398371330919241363626687034352372508103545149724972722283882538503547320750157108747909357188716252054779778431698378697648551043508705009471034427842008494018171325427749773325817756575155154200558889125286276620795430524186769574578246010147441017328014669317224772841063005418774343964301158827595281143255139291724770936371602621421355940837080566447014987099335498492636466686676011006565917816457409789008126413893573450474814467928796678892257062772853099029056566481638332571586066262669713490205851995240540080919480010705588581153532304654316332998742045682203727628098014556827357845733285124035202815687505255648370099627938499814465702663632883193267481741278043512480106138861479574749353964459094813836497773939122886913988386993501350253541777549310744654183438967295739e-02
Size: 7.3795267990768293e-890

Re: -1.94155104121873378203047938571832949953800790497421144495597534628430592490209066959439643437203221163112358284903719574194748627377326185150424256159428131081454076169698980481990762205758229053330655962255192249264295448349666763524853356254993279295552243694260013318360095278128600260345103696397735905803327687937263643290075090616726294424646400400821408890663821326069680602610440449611671801277209634048941500349007736671903513997119360053234197272760768109924147803385765637960387836195491285340567257081014298855531543620905695942685163179557571250242314096980703089588475890903701782585424586775060446023439192492491159750881339693415126180602576034570844904799885107164726052552070199266542552770399799431941345333619418110352529646892519827815166394376407062622517474399733458555183111298518822886393320107908206043055378199068221262871369475543745410614982030977507495013033651302762823315788926605158077757551226598146109853129999504762347313560677574980517086791394484077338082222478233084869452139603337996027677955531393284517763179946654702795550207172259873960831737577630516698134769569285884193021055251074141535663313773644022200549727950068978468639281448864129052263499711605283399996421136331733418755726880049140365018544734899430174628053830179470604304085618015346449901508318946567776406229999625725432009195689621392769903356356797682892949647622513995756727219433566142807672561658481336145899658665495892522232847677829217821232537791251298703229280351798586290405624127338035383757548994940216565479728670850684011916627863775710578227112658658965695792236937221645975610721329134674696047280845159073800065971903544362220993011570267954121757323431017017860714884735491116726860480376007015181441828416340208703289034774696673289748256210842845507180999119584007954857154558820118801032201672578239492204714156712792384888075489481441984215216648171159635384001609369966387147595361625008780587229761774752724930867516550339940604219512985739009565052521395282341190125372151228190751184050054627614e+00
Im: 1.08484266852452040360404596281488548527030895482151153627254118232584721740647063810449172520843705099892882594510025299324436389594673287254261590666413087694306351395021124079039159942005033079705717891921868079625037712827882810705653562283132403850267189109821475268441926931801092650883026387632110969089034148845505111830740257090444632068708697473241062336017988705836121879671747355471051205057230143872006851352738677674630371357585812170943770318539292963056280901771020718180816633094856557637898058679676105328684830435113721463590724578107945986615949577770396539461487539002019955062337793074267458217047576940676581753172917488088732675980577754238996234161605269827931913834904947317210410945621550954794018303582278317875876499559895340550122140913565283145317655457594104077900133920739916828632502075858894669258627301411782184227847099338757727194662244844789107460071134406810501856398549657841289545413729752544666725829081096767200890533750651280806660670820240564037301777066589214089517285451083531980499163241680352157498098928699625386405312063265515623917790633166040681870479246920695840782379226182905901081461443133958007885654341610068547135954747223111417841001483508696095522600014278957524010013814551852686081374161373874245336782953117309143033106447293127398387037629138235862615786062910264237129858381165156804113140497981166193039929861360229365852546137109244584279048843260476927487244720445543316810916366298706896494767618171447248796596290007885565902837505117941890643283157857390243989062341420326333488612238225759532700066963628035161604761018073322977838089656049371477012299600215994137822175995506413726924624836632136795546953756016203451571895931233001511916065488803809027958140808973402520337800547819403219067968472641497806811793287806405318335920832126178125899501410783781306430307102041411134753307934986745335369665692854885956469193001151973276543223232037361192403262193613397432572778374347778975091124386375831391389029762394700969555124185640619946296422176635524117e-04
Size: 1.4816104776129905e-1016

Re: -1.6067157454437623523429980656232571446371336569832246607529447676984302390957765479076903775657207875094850463706280006978428300696353907039693847600219139736713041509165337971577573472833119564841819618472043731557349529464557477075208034033837919032208409169581487271622551483419550902918746186844853338496600134173533227849759840195923058159690271152933062858722970092686938142718886195408878255636072026319589205866788151197760834100454057181850090146356916156806125074269902532935824126128711694808899616288211436518193740161282133759208371728495162700422815764813429673118084608605936889940633652601771281577760522190559554260167404085937621518715e-01
Im: 1.0369425716116291171688106641088455988538567298124323080597903890054138172127708543024909014955338074002178250818737097944716605548909996311034876508441714228244078222420638636408073445850546946976971476583353238902945581912155462907695065826318848338789529151847288915828593504988849176913597129353591778847015303039106385284417320874250010080465099863061393148577694563724920289926745626373988078036253702529472221489193455291408110312951617714103957933672838332634307273128826206552366681515754487328172319103099834879869907292614689988598817247526653722608866519013770036651421739479700020476331806875306239644967362430544801308267016512021304364863e+00
Size: 7.2521159463153008e-319

"Atom domain coordinates" are coordinates relative to the atom domain. with magnitude 1 on the boundary (where |z_q| =|z_p|).  'q' is the period of the "parent" island, 'a' is the atom domain coordinate.  (Be careful in embedded Julia sets where neighbouring atom domains can overlap without one being the "parent" of the other.)  See also https://mathr.co.uk/blog/2013-12-10_atom_domain_size_estimation.html

Offline claude

  • *
  • Fractal Freak
  • **
  • Posts: 760
    • mathr.co.uk
« Reply #12 on: November 11, 2017, 04:15:03 PM »
I find using p(center) with this method and then finding location with Newton to get the reference orbit is almost as good as using the box method.

Yes, it works fine in many cases, but when "passing by" Julia sets towards the outer filaments, for example,. the box period can find the next deeper center before the atom domain period does (the atom domain may be smaller than a pixel for quite some time).

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1419
« Reply #13 on: November 11, 2017, 06:56:53 PM »

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1419
« Reply #14 on: November 13, 2017, 07:36:23 AM »
Here's a zoom movie of the computer generated tree-zoom.
http://persianney.com/fractal/v/kClaudeAI.html


question
A Julia set

Started by Matplotlib on Other

13 Replies
228 Views
Last post March 03, 2018, 06:09:26 AM
by SCORPION
xx
3D Julia

Started by trafassel on Fractal Image Gallery

0 Replies
30 Views
Last post August 22, 2018, 07:13:30 PM
by trafassel
xx
Julia mountain

Started by birational on Fractal Image Gallery

0 Replies
35 Views
Last post July 01, 2018, 06:10:12 PM
by birational
xx
Julia set potential map.

Started by birational on Fractal Image Gallery

4 Replies
91 Views
Last post September 17, 2018, 09:28:28 PM
by Adam Majewski
xx
Julia Traps

Started by utak3r on Fractal Image Gallery

0 Replies
68 Views
Last post March 06, 2018, 01:25:19 PM
by utak3r