Kalles Fraktaler 2 + GMP

  • 232 Replies
  • 11668 Views

0 Members and 1 Guest are viewing this topic.

Offline Fluoroantimonic_Acid

  • *
  • Fractal Fanatic
  • ***
  • Posts: 22
« Reply #225 on: May 03, 2019, 01:34:08 AM »
One more thing, I also managed to find an interesting formula :
Code: [Select]
zi = zr * zi * 2.0 * julia + juliaI
zr = (zrsqr - zisqr) * julia + juliaR
zisqr = zi * zi
zrsqr = zr * zr
Wherein 'julia[I/R]' stands for C[imag/real]
Which generates the attached image.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1540
    • mathr.co.uk
« Reply #226 on: May 03, 2019, 02:16:06 AM »
I thought I could define a new C++ class for `itercount`, put it in the prototypes, and then chase down all the error messages to make it work ok. But then:
Code: [Select]
error: ‘T operator[](T*, const itercount&)’ must be a nonstatic member functionI'm not going to annotate every single `[]` to explicitly cast to `int64_t`.  So iteration count is going to be limited to 2.1 billion in KF forever.  Sorry.

I might be able to lift the limit in my et project which does C code generation from Haskell, but that doesn't have series approximation yet.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1540
    • mathr.co.uk
« Reply #227 on: May 03, 2019, 02:17:30 AM »
Is this the same as:

Code: [Select]
zi = zr * zi * 2.0 * juliaR + juliaI
zr = (zrsqr - zisqr) * juliaR + juliaR
zisqr = zi * zi
zrsqr = zr * zr

(otherwise I don't know what it means, ill-typed?)

Offline Fluoroantimonic_Acid

  • *
  • Fractal Fanatic
  • ***
  • Posts: 22
« Reply #228 on: May 03, 2019, 03:56:30 AM »
But in this case, the iter count on that one file for me is not anywhere close to 2.1 billion, it's 960 million, so is the 2.147bn iter limit really the issue here?
Code: [Select]
Re: -1.474692712344786511155162109685149485667816084057428242094628637988260370036172130280075667754993703866529229
Im: -0.000000000000000000344711975103363242283351349184769000969196139542625526002839473706947705675694181055378117
Zoom: 9.71334446083E83
Iterations: 961241094

And as far as that other comment goes, the word julia denotes the complex var C in the Z2+C equation, while juliaI and juliaR denote the imaginary and real components of C. I just tried to make it the same as the formatting on this : https://www.deviantart.com/kosmic-stardust/art/Mandelbrot-ABS-Variations-Complete-Set-of-Formulas-487039852

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1540
    • mathr.co.uk
« Reply #229 on: May 03, 2019, 05:51:59 AM »
No, overflow is not the issue in this case.  But a minibrot in that area would probably need more than 2G iterations, which will not be possible in KF.

I don't know what you mean to say when you separate a formula into real and imaginary parts, then use a complex value ("julia") inside them...

Offline Fluoroantimonic_Acid

  • *
  • Fractal Fanatic
  • ***
  • Posts: 22
« Reply #230 on: May 04, 2019, 12:11:21 AM »
The attached image shows what I do in my program. [It's written in python]

« Last Edit: May 04, 2019, 02:17:54 AM by Fluoroantimonic_Acid »

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1540
    • mathr.co.uk
« Reply #231 on: September 12, 2019, 10:03:07 PM »
I thought I could define a new C++ class for `itercount`, put it in the prototypes, and then chase down all the error messages to make it work ok. But then:
Code: [Select]
error: ‘T operator[](T*, const itercount&)’ must be a nonstatic member functionI'm not going to annotate every single `[]` to explicitly cast to `int64_t`.  So iteration count is going to be limited to 2.1 billion in KF forever.  Sorry.

Forever is shorter than expected.  The next version (unreleased, but see PM) 2.14.8 actually will support 64-bit iteration counts (but there are probably bugs, as testing such high iterations is super slow and needs huge amounts of RAM).  I did it by replacing the array type with a custom class so that the iteration count is stored split in two 32bit arrays, with the second only allocated when the iteration count is higher than 2G.  Also chasing down the int->int64_t changes wasn't so bad after all, because you can't pass an int to a function expecting an int64_t& reference type.  Still, I may have missed some places.  The period for Newton-Raphson zooming is still limited to 2G.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1540
    • mathr.co.uk
« Reply #232 on: September 12, 2019, 10:27:53 PM »
There will be no more releases in the kf-2.12.x series.

This is because I found and fixed the issue that was making the newer versions slower.  Please use kf-2.14.7.1 or newer.  See this thread for release announcements regarding the kf-2.14.x series: https://fractalforums.org/kalles-fraktaler/15/kalles-fraktaler-2-14/1916/


xx
Kalles Fraktaler 2.13

Started by claude on Kalles Fraktaler

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

Started by claude on Kalles Fraktaler

233 Replies
7386 Views
Last post July 07, 2020, 05:59:03 AM
by gerrit
xx
Another version of Kalles Fraktaler?

Started by greentexas on Kalles Fraktaler

9 Replies
1099 Views
Last post September 22, 2017, 02:59:16 PM
by greentexas
xx
Feature ideas for Kalles Fraktaler

Started by FractalAlex on Kalles Fraktaler

11 Replies
179 Views
Last post June 05, 2020, 04:01:18 PM
by FractalAlex
xx
Kalles Fraktaler Movie Maker64

Started by Bill Snowzell on Fractal movie gallery

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