[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