[Numpy-discussion] Re: numpy.sin

Alan G Isaac aisaac at american.edu
Thu May 25 15:47:04 EDT 2006


On Thu, 25 May 2006, Robert Kern apparently wrote: 
> You aren't using bc correctly. 

Ooops.  I am not a user and was just following your post
without reading the manual.  I hope the below fixes pi;
and (I think) it makes the same point I tried to make before:
a continuity argument renders the general claim you
made suspect.  (Of course it's looking like a pretty
narrow range of possible benefit as well.)

> If you know that you are epsilon from n*2*π (the real 
> number, not the floating point one), you should just be 
> calculating sin(epsilon). Usually, you do not know this, 
> and % (2*pi) will not tell you this. (100*pi + epsilon) is 
> not the same thing as (100*π + epsilon). 

Yes, I understand all this.  Of course,
it is not quite an answer to the question:
can '%(2*pi)' offer an advantage in the
right circumstances?  And the original question
was again different: can we learn
from such calculations that **some** method might
offer an improvement?

Anyway, you have already been more than generous
with your time.

Thanks!
Alan





bc 1.05
Copyright 1991, 1992, 1993, 1994, 1997, 1998 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale = 50
pi = 4*a(1)
epsilon = 0.00001
s(100*pi + epsilon)
.00000999999999983333333333416666666666468253967996
or
9.999999999833333e-006

compared to:

>>> epsilon = 0.00001
>>> sin(100*pi+epsilon)
9.999999976550551e-006
>>> sin((100*pi+epsilon)%(2*pi))
9.9999999887966145e-006






More information about the NumPy-Discussion mailing list