[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: better atan function?

Hi Bob

Hmm.  A couple minutes playing with atan gives the following:

IDL> help,atan(1.0d-12,1.0d0)
<Expression>    DOUBLE    =   1.0000000e-012

IDL> help,atan(1.0d-15,1.0d0)
<Expression>    DOUBLE    =   1.0000000e-015

IDL> help,!dpi/2.0d0 - atan(1.0d0,1.0d-12)
<Expression>    DOUBLE    =   9.9986686e-013

IDL> help,!dpi/2.0d0 - atan(1.0d0,1.0d-15)
<Expression>    DOUBLE    =   8.8817842e-016

So the small angle stuff is essentially perfect.  The error
at large angles is almost certainly due to subtracting two
nearly equal quantities.  This of course doesn't rule out
something funny for moderate angles, but it'd be surprising.

What made you suspect problems with atan?


R wrote:
> Greetings all,
> I have found that the phase I get from the FFT has
> a precision of only ~10e-8, and that the precision depends
> on what value phase has.
> I think I've traced this to the atan function, or perhaps the
> division that takes place in the atan function.
> Does anyone have a better atan function (more precise)?
> Or is this merely the way it is when one is bumping up against
> precision errors?
> By comparison, my  "simulation" does get the amplitudes
> of the spectral components to a precision of ~10e-14 or so.
> (as expected for double precision variables, and no noise)
> cheers,
> bob
> stockwell (at) co-ra (dot) com