Logo by JosLeys - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. April 24, 2024, 03:49:03 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 [2]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Trouble understanding series approximation  (Read 12573 times)
0 Members and 1 Guest are viewing this topic.
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #15 on: January 07, 2017, 08:12:54 PM »

check out the superfractalthing threads, there is lots of discussion of such things, including knighty's method which uses interval arithmetic to compute the truncation error on the series
Logged
quick yellow whale
Forums Freshman
**
Posts: 18


« Reply #16 on: January 08, 2017, 04:23:47 AM »

check out the superfractalthing threads, there is lots of discussion of such things, including knighty's method which uses interval arithmetic to compute the truncation error on the series

Could you point me to the post by knighty which explains the interval arithmetic method? I found two superfractalthing threads that are several pages long so it takes some time to go through all of the posts.

After reading some of the posts I see that the "perfect" way of computing how many iterations can be skipped via SA is to:
    1. Compute the iterations for each pixel using the normal perturbation method without SA.
    2. For each pixel go through the iterations, starting at 0, and compare the value calculated by the SA formula to the value calculated by the perturbation method.
    3. Once the difference between the values exceeds some preset value, then all the previous iterations can be skipped via SA.

Obviously this method won't improve performance compared to regular perturbation without SA because you are calculating the full image using normal perturbation anyway. One way to make it practical is to only perform this check on the four pixels at the corners of the image, and use the lowest amount of iterations that can be skipped among the four pixels for the whole image.
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #17 on: January 08, 2017, 07:11:31 AM »

indeed that is what most programs currently implement, checking against a handful of points to determine when to stop.  this tends to work out okay on less complex locations, but has been shown to fail on more complex locations, so is not a truly proper solution.  knighty proposed his more proper interval arithmetic method more recently but it has not been implemented by many people yet nor received extensive testing.  i have implemented it in my program and as far as i can tell it appears to be a truly proper stop condition, assuming you implement everything properly, whereas the old method of checking against a few points really is not.

knighty's original post (keep reading the thread through to the end though, there was lots of discussion and revising of the formula):

http://www.fractalforums.com/index.php?topic=23279.msg91505#msg91505
Logged
therror
Explorer
****
Posts: 42


« Reply #18 on: July 08, 2017, 10:18:52 PM »

How much exponent must be for coefficients of equation? In my case calculation in "double" allow me to skip 7000 iterations. "Long double" - 8000. A[3] at this iteration is already NaN.
Logged
therror
Explorer
****
Posts: 42


« Reply #19 on: July 09, 2017, 08:02:08 PM »

In addition to previous post.
At size 1e-305 (my case) A[3] must be less than 2e915, else Dn>2 and z^2 >4. But long double allows 1e4930. Why A[3] overflows?
Logged
skychurch
Alien
***
Posts: 22



« Reply #20 on: July 13, 2017, 02:43:49 AM »

If you are referring to the Series Approximation you need to implement an extended number format using a wide exponent.  sad
Logged
therror
Explorer
****
Posts: 42


« Reply #21 on: July 13, 2017, 05:34:49 PM »

Now I am doing it. But for GPU, for non-reference points. smiley After,  reference calculations also will be ported to extended type.
Logged
claude
Fractal Bachius
*
Posts: 563



WWW
« Reply #22 on: July 13, 2017, 06:29:13 PM »

https://code.mathr.co.uk/kalles-fraktaler-2/blob/refs/heads/formulas:/cl/common.cl#l83 floatexp in OpenCL (for little-endian devices that support double precision)
https://code.mathr.co.uk/kalles-fraktaler-2/blob/refs/heads/formulas:/cl/common.cl#l307 complex numbers with floatexp components (again, for OpenCL with double precision)
Logged
therror
Explorer
****
Posts: 42


« Reply #23 on: August 20, 2017, 05:51:07 PM »

Thanks, Claude! I have implemented floatexp arithmetic (through macros) with double+long long and float+int and both for  CPU and GPU based on yours and Kalles Fraktaler. It works:-)
« Last Edit: August 20, 2017, 06:00:47 PM by therror » Logged
Pages: 1 [2]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
More 6d images, flower series and Apocalypse series Images Showcase (Rate My Fractal) M Benesi 0 1841 Last post September 17, 2010, 05:46:53 AM
by M Benesi
Cheap ambient occlusion approximation Programming khyperia 3 4362 Last post June 03, 2012, 01:59:20 AM
by khyperia
Series approximation Images Showcase (Rate My Fractal) Kalles Fraktaler 0 2137 Last post July 01, 2013, 08:40:30 AM
by Kalles Fraktaler
series approximation Mandel Machine quaz0r 1 2183 Last post July 29, 2016, 01:49:25 AM
by skychurch
Series approximation for M set Programming « 1 2 » skychurch 16 10433 Last post May 09, 2017, 08:44:13 PM
by skychurch

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.19 seconds with 27 queries. (Pretty URLs adds 0.01s, 2q)