Kalles Fraktaler 2.14

  • 283 Replies
  • 9755 Views

0 Members and 1 Guest are viewing this topic.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2239
« Reply #255 on: August 10, 2020, 07:26:00 PM »
See edit
log1p(x) = log(1 + x) evaluated without catastrophic loss of precision for small x
Oh, yes of course then it's trivial. How do you evaluate log(1+x)  without catastrophic loss of precision for small x?

Anyways, you may want to give my method a thought, as I think it will allow PT for any formula with a Taylor series (possibly in >1 variables).

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #256 on: August 10, 2020, 08:35:42 PM »
Using a standard C library function for double or long double.  Using algorithms copy/pasted from Julia (iirc) for complex x.  For floatexp, if in range of double use the C library function, otherwise return x (small x) or log(1 + x) (large x).

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2239
« Reply #257 on: August 10, 2020, 10:17:57 PM »
Using a standard C library function for double or long double.  Using algorithms copy/pasted from Julia (iirc) for complex x.  For floatexp, if in range of double use the C library function, otherwise return x (small x) or log(1 + x) (large x).
OK, so using a 1-term Taylor series. I find for intermediate values (when 1+x loses too much significance, but log(1+x)~x not accurate enough) you need more Taylor terms. (Depending on the alpha accuracy control in my sample code.)

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #258 on: August 10, 2020, 10:21:20 PM »
1 term taylor series should be accurate enough for 53 bits at |x| < 1e-300 ?

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2239
« Reply #259 on: August 10, 2020, 10:37:16 PM »
1 term taylor series should be accurate enough for 53 bits at |x| < 1e-300 ?
Yes of course but that's not "intermediate".

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #260 on: August 10, 2020, 10:40:24 PM »
for intermediate there's "double log1p(double);" in libm.  I guess it uses Taylor series itself, but I don't need to care :)

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #261 on: August 14, 2020, 12:54:37 AM »
I suspect my optimizer might be going into a loop, or exhibiting exponential time behaviour, or something otherwise bad.  Might try disabling the optimizer to see if it works at least.
It helped, in that the error messages appeared quickly.  The error message is about perturbing atan(), which indicates to me that it's trying to do complex exp/log instead of real exp/log.  Fixing this may take some time, though it needs doing...

Offline FractalAlex

  • *
  • Fractal Fluff
  • *****
  • Posts: 357
  • Experienced root-finding method expert
« Reply #262 on: October 08, 2020, 01:26:29 PM »
Is it possible to have exponential smoothing in Kalles Fraktaler, a coloring method used in Ultra Fractal?
Also, I would love to have the Hidden Mandelbrot in Kalles Fraktaler as well (https://fractalforums.org/share-a-fractal/22/has-anyone-seen-this-fractal-before-and-what-is-the-formula/3576/msg22167#msg22167).
"I am lightning, the rain transformed."
- Raiden, Metal Gear Solid 4: Guns of the Patriots

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #263 on: October 08, 2020, 02:38:31 PM »
exponential smoothing
Exponential smoothing according to http://www.hiddendimension.com/FractalMath/Convergent_Fractals_Main.html requires the computation of a running sum during iteration:
\[ s_{n+1} = s_n + \exp(-\left|z_n\right|) \]
This is sorta incompatible with series approximation, so it would only work properly/exactly if series approximation is disabled (but there is probably a way to approximate the running sum, as the region that is series-skipped is mostly "near" the reference).
It would also require modifying/duplicating every formula with the additional code.  This is not something I plan to do until having runtime code generation (which will probably be done using OpenCL, which is a whole additional layer of complexity so not something that will happen soon - maybe kf-2.16 in a couple of years)).  I'll add to the TODO wishlist for the far future in any case.

Quote
Hidden Mandelbrot
Probably possible once I improve/fix the formula compiler in 'et' to work with real functions instead of complex functions (if I don't do this it will be very inefficient).  I'll add to the TODO wishlist.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #264 on: October 08, 2020, 07:42:11 PM »
kf-2.14.10.3 released with some bugfixes
https://mathr.co.uk/kf/kf.html#kf-2.14.10.3

- fixes
  - assertion failure loading some formulas (reported by panzerboy)
  - bailout iteration count is reset to 1000 when zooming in quickly after toggling fullscreen (reported by FK68)
  - guessing exterior gives poor quality images (reported by PrinceOfCreation)
  - crash when zooming too quickly near interior black regions (reported by Foxxie) (may have already been fixed in an earlier version)
  - speckles when rendering zoom out sequence (may have already been fixed in an earlier version)

- library upgrades
  - upgrade to boost 1.74.0
  - upgrade to openexr 2.5.3
  - upgrade compiler to g++-mingw-w64 10.1.0-3+23 (Debian Bullseye/testing) and rebuild everything

Donations to support my work are always welcome via https://mathr.co.uk/kf/kf.html#donate (or contact me if you prefer a different way)


This is probably the last release in the 2.14 branch (but if you have any favourite bugs, report them and I can try to fix them in another point release). I hope to get the first 2.15 release out in the coming weeks (in the meantime the adventurous can try to build from source).
« Last Edit: October 08, 2020, 07:59:57 PM by claude, Reason: forgot link »

Offline FractalAlex

  • *
  • Fractal Fluff
  • *****
  • Posts: 357
  • Experienced root-finding method expert
« Reply #265 on: October 14, 2020, 03:48:59 PM »
Is it possible to add atom domain coloring, as well as Misiurewicz domain colouring?

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #266 on: October 14, 2020, 04:06:05 PM »
See the answer above about exponential smoothing - atom domains and Misiurewicz domains suffer from the same problem (they need more things in the inner loops).  Maybe try UltraFractal.

Offline FractalAlex

  • *
  • Fractal Fluff
  • *****
  • Posts: 357
  • Experienced root-finding method expert
« Reply #267 on: October 14, 2020, 04:19:33 PM »
Okay, thanks for letting me know. Does triangle inequality average suffer from the same problem as well? If not, will it be on the to-do list? It uses the same smoothing as the classic smoothing algorithm used escape-time/divergent fractals.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1618
    • mathr.co.uk
« Reply #268 on: October 14, 2020, 04:54:16 PM »
Yes triangle inequality average / stripe average / etc are similar in needing inner-loop stuff.

Offline FractalAlex

  • *
  • Fractal Fluff
  • *****
  • Posts: 357
  • Experienced root-finding method expert
« Reply #269 on: October 14, 2020, 05:02:37 PM »
Then, how is the "chrome" color mapping coloring algorithm different from exponential smoothing and triangle inequality average? Was the former easier to implement than the latter two?


xx
Kalles Fraktaler 2 + GMP

Started by claude on Kalles Fraktaler

232 Replies
12514 Views
Last post September 12, 2019, 10:27:53 PM
by claude
xx
Kalles Fraktaler 2.13

Started by claude on Kalles Fraktaler

90 Replies
4897 Views
Last post March 20, 2019, 05:32:26 AM
by claude
xx
Kalles Fraktaler 2.15

Started by claude on Kalles Fraktaler

0 Replies
45 Views
Last post October 14, 2020, 04:17:06 PM
by claude
xx
Another version of Kalles Fraktaler?

Started by greentexas on Kalles Fraktaler

9 Replies
1181 Views
Last post September 22, 2017, 02:59:16 PM
by greentexas
xx
Kalles Fraktaler Movie Maker64

Started by Bill Snowzell on Fractal movie gallery

0 Replies
342 Views
Last post February 01, 2018, 09:29:04 PM
by Bill Snowzell