Dear all,

I was comparing the accuracy of FFT and two exact formulas for the FFT of a complex exponential and I was first surprised by a relative accuracy of only 10^-13 for N = 4096, but on second thought it may be related to arithmetic errors due to about N*log2(N) sums and products.

But I was much more surprised to detect similar errors between different exact formulas. These formulas involve a few instances of exponentials so I conjectured that the problem may be related to the exponential accuracy. When trying to find some informationabout accuracyin the documentation I found none.

The only mention in the elementary function set to accuracy appears in log1p(), a strange function equal to log(1+x), which is seemingly included to fix some accuracy problem of the natural logarithm very close to 1. Intuition suggests that near 1 the Taylor approximation for log(1+x) should work very well. I guess that is what log1p() does, so I wonder why a function such as log1p is really necessary. It seems more reasonable to internally detect the favorable situation and switch the algorithm to get the maximum attainable accuracy. So if one needs an accurate log(1+x) function, one wouldjusttype log(1+x)!

But regardless of this discusion, I think it would very useful some hints about accuracy in the help pages of elementary and other functions.

For instance, with format(25)

--> exp(10)
 ans  =
   22026.4657948067_1_7894971

while the Windows calculator (which is generally accurate to the last shown digit) yields

22026.4657948067_1_6516957900645284

The underlined digits are the least significant ones common to both solutions. Scilab shows up to 25 digits, but only the first 16 of them are accurate.

Regards,

Federico Miyara

_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to