• January 21, 2021, 08:07:26 AM

Login with username, password and session length

Author Topic:  3D M-set for tricomplex numbers: Escape time and shape change?  (Read 405 times)

0 Members and 1 Guest are viewing this topic.

Offline marcm200

  • 3c
  • ***
  • Posts: 894
(Sorry for the very long upcoming text.)
The question:
For an M-set: Can points that escape for a given escape radius and max iteration be classified again as members when radius and max iteration are increased 10-fold?

The background:
I am computing 3D sub-spaces of a 6D M-set for tricomplex numbers using the Lyapunov sequence ABABABAB... in the case of z^16.

The basic formula is f( (x,y,z) ) = (x,y,z)^16 + c where c is one of two tricomplex numbers cA and cB.

(x,y,z)² := (x²-y²-z², 2xy, -2xz) (formula by Eric Baird from httpr://www.bugman123.com/Hypercomplex/index.html)

If the origin (0,0,0) stays bounded, the 6D number (cA,cB) is marked in a 6D cube. Afterwards I display a 3D slice of that multi-D space by fixing 3 of the 6 coordinates (to random values) and aligning the other three with the axis of a 3D cube to look at.

The yes/no images below used the slice: (_,0.028,_,0.724,_,0.496) where '_' means the viewed-upon-axis x,y,z and the numbers are the fixed values of the other 6D coordinates. Dimming was added for depth effect. Axis values range from -2 to +2.

The problem:
What I don't understand is the following: I've read that, in the 2D Mandelbrot, if an orbit point is outside the 2-disc, it accelerates and gets to infinity ever faster. That means to me, if I increase the escape radius by a factor of 10 and the iteration count as well, a point, that escapes using the smaller values still escapes later (10 iterations more mean 10 quadratic equations, hence the distance is around d^1024 when starting with distance d because the value of the constant can be neglected for large distances.

Below is a series of those fold-increases for the 6D case: 10 max iterations with escape radius of 10 show a cake (upper left), so does 100 (for both values).

But at 1000 it changes. Points formerly escaping now are back in the M-set. (The upper row is the same size, so the cake is smaller than the tube to the right, in the second row I had to reduce the cube size from 200^3 to 100^3 for speed reasons. The blue lines are the coordinate axis later introduced, z-axis is straight upward.)

And from 10^4 to 10^5 the tube wall gets even thicker.
I'm using standard double floating type in C++, maybe it's a problem of precision?

Is my naive transformation of that concept of accelerating speed with the above formula not valid? I do not know where it originated from, maybe it lacks properties of the standard complex number multiplication? Or the value of 10 (and 100) is not what is considered "large enough" and I simply have to use higher values to get more stable and true images?

Or is the concept of accelerating speed true for the 2D Mandelbrot but not for every 10-fold increase. So are there points that escape, then do not escape when increasing both escape radius and max iteration, then escape again and so on, until they finally forever increase their distance with every step?

Linkback: https://fractalforums.org/fractal-mathematics-and-new-theories/28/3d-m-set-for-tricomplex-numbers-escape-time-and-shape-change/2793/

Offline claude

  • 3f
  • ******
  • Posts: 1736
    • mathr.co.uk
Re: 3D M-set for tricomplex numbers: Escape time and shape change?
« Reply #1 on: May 04, 2019, 06:15:19 PM »
it's almost certainly not precision but range: maximum finite 'float' value is about 10^38, maximum finite 'double' value about 10^308, maximum finite 'long double' up to about 10^4900 depending on compiler and/or hardware (sometimes it is the same as 'double')

Once something overflows to infinity, it is very easy to end up with NaN (not a number), which corrupts everything.  A possible hack is to do "while (|z| < R) { .. }" instead of "if (|z| > R) break;" because NaN comparisons always return false.

Offline marcm200

  • 3c
  • ***
  • Posts: 894
Thanks, claude!

That turned out exactly to be the mistake I made in programming. The 200^3 cube had about 2 million points that were actually Inf in C++ but treated as "not escaped". So, no wonder the images changed. I added a check for isnan() and isinf() in my loops (and treated those as escaped).

A quick check and the cake remains intact. I will do a more thorough run tomorrow with larger values for max it and escape.

Thanks again.

Julia sets: True shape and escape time

Started by marcm200 on Fractal Mathematics And New Theories

303 Replies
Last post August 27, 2020, 12:05:23 PM
by marcm200
Picture change by just change rendersize

Started by Micha1982 on Mandelbulber

2 Replies
Last post May 04, 2018, 04:40:19 PM
by Micha1982
Escape Time Blur

Started by AlexH on Share a fractal

0 Replies
Last post August 15, 2018, 05:42:06 AM
by AlexH
escape-time fractals (et) - instalation problem

Started by Adam Majewski on Fractal Programs Discussion, Help, & Support

2 Replies
Last post May 31, 2018, 03:08:41 PM
by Adam Majewski
Inverse tree generation (escape-time like)

Started by msltoe on Fractal Mathematics And New Theories

33 Replies
Last post October 09, 2018, 01:55:51 PM
by Sabine62