[Scilab-users] log and log1p

Federico Miyara fmiyara at fceia.unr.edu.ar
Sun May 3 08:51:36 CEST 2020


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20200503/cd36a63f/attachment.htm>


More information about the users mailing list