ignore small addends optimisation

  • 1 Replies
  • 93 Views

0 Members and 1 Guest are viewing this topic.

Online claude

  • *
  • 3f
  • ******
  • Posts: 1324
    • mathr.co.uk
« on: January 10, 2020, 03:55:01 AM »
start from Z → Z² + C
perturb to z → (2Z + z)z + c
now when c is much smaller than z, you can ignore the + c
and when z is much smaller than Z, you can ignore the + z
giving z → 2Zz
when Z is tiny (periodic cycle) you need the full equation, because z^2 can be much smaller than z and on the order of c again
now you can collect all the products that don't depend on z, collecting say 4 iterations z → (2Z_1 2Z_2 2_Z3 2_Z4) z which means you can do 1/4 multiplication per pixel per iteration instead of 2 (unless you store 2Z as well as the Z you need for escape tests, which might not actually be faster as memory is slow)

but to do this you need to analyze the orbit to know how many iterations you can safely do: z grows so eventually will no longer be much smaller than even the biggest Z; and with C_0 at a periodic cycle, periodically Z_n drops in magnitude to 0

maybe using Misiurewicz points as references could avoid this catastrophic collapse and make the other analysis easier?

not sure if this is worth it or if knighty's superseries approach is just all round better for m-set...

but the ignore small addends optimization might also apply to burning ship and other abs variations.  thoughts?

Linkback: https://fractalforums.org/fractal-mathematics-and-new-theories/28/ignore-small-addends-optimisation/3265/

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1899
« Reply #1 on: January 10, 2020, 05:57:01 AM »
start from Z → Z² + C
perturb to z → (2Z + z)z + c
now when c is much smaller than z, you can ignore the + c
and when z is much smaller than Z, you can ignore the + z
giving z → 2Zz
when Z is tiny (periodic cycle) you need the full equation, because z^2 can be much smaller than z and on the order of c again
now you can collect all the products that don't depend on z, collecting say 4 iterations z → (2Z_1 2Z_2 2_Z3 2_Z4) z which means you can do 1/4 multiplication per pixel per iteration instead of 2 (unless you store 2Z as well as the Z you need for escape tests, which might not actually be faster as memory is slow)

but to do this you need to analyze the orbit to know how many iterations you can safely do: z grows so eventually will no longer be much smaller than even the biggest Z; and with C_0 at a periodic cycle, periodically Z_n drops in magnitude to 0

maybe using Misiurewicz points as references could avoid this catastrophic collapse and make the other analysis easier?

not sure if this is worth it or if knighty's superseries approach is just all round better for m-set...

but the ignore small addends optimization might also apply to burning ship and other abs variations.  thoughts?
I think this was discussed long ago (>1y) before, but aren't these BIG + tiny = BIG results more or less automatic?
Regarding Misc-points for reference, I tried this (long time ago I wrote about it) with negative results: not better, just wated time trying to find them, which is not easy.
The superseries v1 (1 super pass) is good only good for mini closeups, the v2 is too unreliable to be useful at all according to my experience.
Just my POV.


xx
test-upload please ignore

Started by Sabine62 on Fractal Image Gallery

2 Replies
310 Views
Last post September 24, 2017, 02:11:32 PM
by Sabine62
xx
test-upload please ignore

Started by Sabine62 on Fractal Image Gallery

4 Replies
343 Views
Last post September 24, 2017, 02:13:16 PM
by Sabine62
xx
Small mandelbrot set in C!

Started by galac on Programming

5 Replies
363 Views
Last post May 13, 2019, 03:21:49 AM
by claude