Julia sets: True shape and escape time

  • 96 Replies
  • 2914 Views

0 Members and 1 Guest are viewing this topic.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #75 on: September 13, 2019, 01:14:27 PM »
red/green/blue channels correspond to count of white/gray/black cells. each pixel is one z integrating over all c. other ways to render the hypervoxel stack could be interesting too

@claude: Did I understand your approach correctly: You are computing individual Julia sets for c as an interval, where c grids the complex plane (or the 2-square), counting for every z-plane square how many Julia sets have gray in that position, how many white or black and use those numbers for coloring.

The following is what I computed:

  • The image below shows the z plane. C and z planes are gridded identically.
  • Each pixel is a square in the complex plane and is colored by a visitor's count.
  • Visitor's count is incremented if an origin's orbit comes across it. Multiple visits of an orbit are counted several times.
  • An origin's orbit is computed starting from 0,0 using C as a complex interval.
  • I follow the orbit for a finite number of steps (usually 2 or 4, 8 is too expensive).
  • The orbit does not "know" whether it hits white, gray or black, otherwise I would have to compute the whole
    Julia set for all c values.
  • I select c values according to their membership status of the trustworthy M-set I posted some time ago

Below is an image showing the visitor's log style for interior (middle), exterior (right) and gray c intervals (left) for 2 and 4 steps followed. Not sure why the exterior/4 step (bottom right, red image) is not fully symmetrical as the others appear to be.

To increase the number of orbit steps I then only used as starting point the upper left of each 4x4 grid, "thinning" out the starting points while keeping the visitor's grid constant (2nd image, 6 orbit steps deep). The thinned image is not fully symmetrical as choosing the upper left square of a 4x4 grid is not symmetrical in itself.

As for parallelization, I never had any speed gains using omp in the TSA (I guess today's compilers are better in deciding when to parallelize than me), so I skip trying that and instead, if applicable, use the naive approach: different parts of the image in different threads and/or computers and merging the results (the trustworthy M-set was constructed that way).


Online claude

  • *
  • 3f
  • ******
  • Posts: 1260
    • mathr.co.uk
« Reply #76 on: September 13, 2019, 03:40:58 PM »
No.  I'm computing 1-step interval arithmetic bounding box (4D boxes) graph of (zx, zy, cx, cy) -> (zx^2-zy^2+cx,2 zx zy+cy, cx, cy), then doing the whiten/blacken/unmark/subdivide/repeat loop.  This constructs the 4D anti-buddhagram as black voxels (the rest of the [-2,+2]^4 cube remains gray, no white detected, something is wrong with my assumptions there - i think it is because cx,cy doesn't change and so it never escapes the box...).  Then the 2D green/blue image was constructed by adding up all the cx/cy voxels for every pixel zx,zy. I have a better voxel renderer now.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #77 on: September 13, 2019, 03:55:12 PM »
@claude: Thanks for clarifying. Looking forward to seeing your video.

An attempt to visualize the buddhabrot in 3D as a height image. Pixel is colored by repeated log of visitor's count using a heat map palette. I followed the orbit to depth 4 and used only every 2x2 grid's lower left corner as a starting point.

3D version: For artistic reasons, I just used pixels whose repeated log is between 30% and 70% of the maximum occuring value, then numbers were scaled. Looks almost like a flying carpet with a rocket propulsion.

This is the first time I found a surface that actually has a fine structure.

Online claude

  • *
  • 3f
  • ******
  • Posts: 1260
    • mathr.co.uk
« Reply #78 on: September 13, 2019, 04:09:53 PM »
wait, i think you were right in your description - I didn't read it carefully enough - sorry !

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #79 on: September 15, 2019, 08:49:43 AM »
Following a number's orbit gives one a faster way to determine whether a given C value is in the M-set or not than computing the whole Julia set.

Since by construction the yellow images I posted earlier contain all visited squares in the complex plane starting from an initial number, the non-visited ones have no impact on the color determination of the initial point (escaping pixels that come back into the 2-square do not have impact either as their preimages will be determined as definite white).

By constructing the orbit one gets a filter and only needs to determine the color (and backpropagate it) for the visited pixels. Depending on how many of those there are, this is much faster than computing the whole image (little wonder).

For the first image below (zē+(-25165824-1336935*i)*2^-25) at level 17 the origin's orbit follow picture was no longer fully yellow. So I put that into the swapfile TSA and determined the color of all visited pixels. They were all white, hence the set is disconnected. Full computation of level 16 (middle row) shows the origin still being gray, but at level 17 the set fell into pieces (origin is the image's center).

Times were quite impressive: It took 16 minutes for the orbit to be constructed in level 17 and determine all those colors, and over an hour to get the full picture from level 16 to 17. So if one is only interested in testing a specific number the orbit approach is much faster (of course one needs to circle in on the "right" level at which the orbit to contruct, but the same problem arises at guessing when the full image breaks into pieces).

The 2nd set at levels 13/14 did not show a time benefit. Those refinement levels are easily computable in full in a few minutes. But it shows a set where the origin is not amongst the first black cells emerging, which reflects in its orbit.

Maybe I can use this in the future if I needed a bigger trustworthy M-set (currently stuck at 4k).

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #80 on: September 18, 2019, 09:28:12 AM »
Usually I define "reaching a level" as emerging black to have a computational proof of connectedness in the quadratic case. However, the same proof concept holds true in the opposite case: a refinement level at which a (final) Cantor dust set breaks into pieces leaving the origin white.

So I explored the south valley of the Mset's period-2-bulb touching the main cardioid and determined for point-sampled c values at what level the origin could be determined as definite white by the TSA.

The left image below shows the results in a heat-color palette (blue is level 8 and below), orange being level 12 and some red (L 13, but not fully computed). Gray points cannot be determined at 12. The right image is a zoom detailing on the "tip".

It shows a nice structure whose tip is growing to the meeting point of the two bulbs and the underlying Julia set breaking later and later. The white pixels are the horizontal midpoints (introduced afterwards) between the two bulbs whose c values are interesting candidates for a level 20 (or maybe even later?) breaking seed.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #81 on: September 23, 2019, 10:15:29 AM »
I was interested in seeing what happened when following an orbit of a complex number at increasing refinement levels beyond the black emerging one.

I hoped that the number of visited pixels would decrease sustantially so that I could save computation time when trying to answer whether a given set is connected or not (following the origin).

However it did not turn out that way.

I randomly chose (for a cubic polynomial, parameters in the image) a black pixel at the boundary at a refinement level where it turned black (level 14) and checked the orbit in levels 13-16.

The first image below shows the full set which has quite an interesting shape. The two pictures at the right are a zoom at the pixel-at-question (the single pixel surrounded by a red rectangle).

The 2nd image shows the follow-orbit in the 4-square. As expected, level 13 is fully yellow and at level 14 the visited pixel count dropped. The relative count drops further in level 15-17 but the absolute numbers neither went down much nor constantly, neither did the number of rows with a yellow pixel (my swapfile pages are always a set of complete image rows):

Code: [Select]
L13: 67108864 yellow pixels (full) 8192 rows with at least 1 yellow pixel
L14: 518494 yellow 1547 rows
L15: 488409 yellow 1370 rows
L16: 604024 yellow 1475 rows
L17: upper bound of 763904 yellow upper bound of 1952 rows

Since at a higher level the pagefiles get bigger so loading times increase, I have to conclude (opposed to what I hoped for) that it would not in general be beneficial to follow an orbit at a higher refinement level than the one where black emerges first.

Darn it, those fractals just don't behave as I want them to. :)



Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #82 on: September 27, 2019, 10:56:17 AM »
While following the orbit gives a set of points that influence the color of the starting point (colors are backpropagated), here I was interested in the opposite: Choose a destination point and determine, which complex intervals have a path to that destination ("flyby" or the set of preimages (in interval arithmetics sense) or the backward orbit). The destination point influences the color determination of all squares that have a path to it.

Some cells are very hard to color black or white (parabolic fix points, e.g.) so I wanted to understand where and in what Julia sets those complicated cells occur to get a better insight into when black might emerge.

Here are the first descriptive results (at level 10) for the basilica (zē-1, one super-attracting cycle 0+0i / -1+0i) and Douady's rabbit zē+ (-0.12+0.74i) with an attracting period-3 cycle. The latter was computed with a small complex interval of real and imaginary width 2-25 encompassing -0.12+0.74i. Yellow points have a path to the destination number (the pixel in the small red rectangle in the line crossings).

Very interesting to see was that the Julia set's squares (the gray area in the small images in the upper left) has paths to every point of interest here.

EDIT: CORRECTION: The rabbit image does not depict the critical point's flyby set - see follow-up post.
« Last Edit: September 27, 2019, 01:50:37 PM by marcm200, Reason: correction »

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #83 on: September 27, 2019, 01:49:43 PM »
CORRECTION to my last post:

Rabbit image description for critical orbit is not correct. The image shows the flyby set for a 2nd periodic orbit.

The image below shows the squares that have a path to the origin as critical point. Quite an interesting pattern I think.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #84 on: September 28, 2019, 01:48:17 PM »
"Flyby sets #2"

The first image shows some flyby sets for parabolic Julia seeds in a trustworthy manner.

The c=0.25 parabolic set is the tamest one. It shows interior cells and a difference between the critical point as destination (left, note some isolated points, so it's not just the boundary) and the parabolic fix point (right). 

All other tested parabolic and non-parabolic seeds behave independent of the destination point - as long as there are no black cells.

When black cells are detectable at a refinement level things change like in the c=0.25 case and one gets finer details. So as long as there are only gray cells, it seems that every cell has a path to every other cell which would correspond to the full-yellow follow images I posted some days ago.

The 2nd image shows flyby sets for one quadratic non-parabolic Julia set with a period-2 attracting cycle. The shapes change quite a bit depending on the destination point. The critical point's image partly mimicks the black regions, but not exactly. And taking some random interior point (upper right) shows an interesting landscape.

Although slower than computing the trustworthy image the classical way (to see a difference between the critical point and a periodic one, which is currently my "filter settings" for interior cell occurance, I have to compute two backpropagated flyby sets), so it's not applicable as a precalculation measure, but it's an interesting way to put structure into the interior of a Julia set.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #85 on: October 02, 2019, 08:59:37 PM »
"Trustworthy period 7"

The first result for a trustworthily found period-7-cycle ( zē+(4026532+i*20132659)*2^-25 ).

The first image is the TSA output (yellow are regions where the periodic points lie within, position unknown), blue lines show the direction of the iterate's path from thicker to thinner line). The 2nd image is a point-sampled control.

The 2015 paper by Figueiredo (Rigourous bounds) talks briefly about periodicity being "the number of geometric connected components in a sink component" (page 8, bottom paragraph).

From what I gathered that means separate blobs of interior cells, each having paths to only one other blob. If there is a set of blobs that goes "in circles", a cycle has been detected.

I'm still using Figueiredo's 2013 interior detection method (no path to white) and afterwards color distinct blobs by flood fill (geometric connected), detecting their destination blobs and looking for cycles (sink component). The authors changed the method to sink finding and interior and periodicity are determined at once.

I think the two periodicity approaches are equivalent, but I have to do more verification for that.


Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #86 on: October 04, 2019, 11:30:37 AM »
"Main entry point"

Recently I posted a little exploration of the main entry point to periodic cycles (point-sampled) in gerrit's thread.

When I computed some visitor's log pictures with the TSA here (incrementing a counter each time a complex plane's square is intersected by a bounding box for orbits up to length 5), one special region always lit up in a heat colored map and I realized, those two things might be connected.

I marked the (numerically found) main entry point in those TSA visitor's log images and they coincided with the first hot temperatured region.

First example is (what else!) the basilica at refinement level 10 (both for the complete image, lower right and the visitor's log) with orbit follow depth up to 4. The main entry point -1,0 of the period-2 cycle (-1,0 -> 0,0) is already visible (upper left image, marked by horizontal/vertical lines). The 2nd periodic point appears a bit later.

The 2nd example is a period-16 attracting cycle, numerically found, with the main entry point marked as above. What's very striking here, is, that at refinement level 10 the visitor's log image already shows the main entry point (upper left image), but there are no interior cells detectable (lower left), those emerge no earlier than level 14 (lower right).

This is the first time I could actually derive new information from a gray TSA image (or better, a tiling resolution where no black cells could be identified). All other methods so far (periodicity, basins of attraction, follow and flyby) all only provide information when black is already detected.

So main entry points seem to exist - and their overall region is identifiable in interior-free TSA images. Quite unexpected.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #87 on: October 06, 2019, 12:49:23 PM »
"Cold arrow, hot tip"

This quartic polynomial's visitor's log (buddha-type, TSA computed) at depth 1 looks like a cold (blue) arrow pointing at the hottest region - where indeed the period-3 cycle's main entry point (numerically found) resides (upper left image).

At depth 3 (upper right), the other two periodic points emerge as hot spots (the numerical locations are marked with small blue rectangles).

The full Julia set (bottom picture) shows the three yellow geometric connected components, that have been identified as being part of a cycle, complementing the numerically found periodicity.

I find it most interesting that not only the periodicity itself can be determined but also, as it seems, the (rough) location of the periodic points themselves. And that only by following the orbits of all complex squares to a depth of only 3 in this case.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #88 on: October 08, 2019, 09:15:58 AM »
My favorite Julia set currently. It took several weeks of (non-contiguous) computation.

z^6+A*z+c with A=(3145728+i*0)*2^-25 and c=(20447232+i*16777216)*2^-25.

Interior cells emerge at level 16, the image here is level 17 to shrink the gray area.
(Sorry for the large resolution, I currently can only trustworthily downscale images in 16-fold steps, so it was either 8k or 0.5k).

The set was computed with __float128 datatype in the 2-square. Douady's estimate warrants the 4-square; computing at a low refinement level revealed the gray area (and hence the whole Julia set) being completely within the 2-square, so I can go one level further with the current computer memory.

Since there are disconnected, exterior-separated regions with interior, it is a nice computational proof that at least one but not all critical points escape.

The 2nd image shows the evolution from level 10 to 16. At the beginning it looked like a normal 6-armed star. I would have never guessed that an indentation appeared, let alone that it broke into non-symmetrical pieces.

Offline marcm200

  • *
  • Fractal Frogurt
  • ******
  • Posts: 475
« Reply #89 on: November 08, 2019, 02:19:16 PM »
I'm currently running a numerical brute force search to find Julia sets with multiple attracting cycles and very different periodic lengths (seed values are always welcome!). Computing those with the TSA, I hope all the cycles emerge at a decent refinement level (~16 is currently the limit).

"4+8"

Here's cubic one with a yellow period-4 cycle (bright color = immediate basin, pale yellow = non-immediate basin of attraction) and a green period-8 cycle. Image is trustworthily 16-fold downscaled.

I find it very interesting and surprising that, although the Fatou components look all more or less the same, there is a special property - harbouring a periodic point - that distinguishes a finite number of components from the infinite rest. And especially - once found, it won't change when increasing the refinement level.

Are there more properties like this ? First, I was thinking about the main entry point (if one exists) into a cycle - but that might change if smaller and smaller components are detected.

I think an interesting question would be the number of iterations a component needs to enter its cycle - which is constant under refinement.


clip
3d Julia sets: True shape

Started by marcm200 on Image Threads

22 Replies
530 Views
Last post November 12, 2019, 04:09:34 PM
by marcm200
clip
True-shape based C++ oracle for the int-/exterior of Julia sets

Started by marcm200 on Programming

6 Replies
229 Views
Last post August 23, 2019, 10:47:10 AM
by marcm200
clip
3D M-set for tricomplex numbers: Escape time and shape change?

Started by marcm200 on Fractal Mathematics And New Theories

2 Replies
197 Views
Last post May 04, 2019, 09:58:37 PM
by marcm200
clip
Escape Time Blur

Started by AlexH on Share a fractal

0 Replies
351 Views
Last post August 15, 2018, 05:42:06 AM
by AlexH
clip
Rational maps: True shape

Started by marcm200 on Fractal Mathematics And New Theories

3 Replies
147 Views
Last post October 26, 2019, 10:09:47 AM
by marcm200