[Numpy-discussion] Floating Point Difference between numpy and numarray
Christopher Barker
Chris.Barker@noaa....
Tue Sep 9 12:19:16 CDT 2008
Hanni Ali wrote:
> > Interesting example thanks. I can't however seem to get anything
> other than
> > zero for the 100,000 to 1 sum.
what is the "100,000 to 1 sum." this is my interpretation:
a = np.linspace(100000, 1, 100000)
>>> a
array([ 1.00000000e+05, 9.99990000e+04, 9.99980000e+04, ...,
3.00000000e+00, 2.00000000e+00, 1.00000000e+00])
>>> a.sum()
5000050000.0
which is exact, but it won't be if you use single precision:
>>> a = a.astype(np.float32)
>>> a.sum()
5.0000865e+09
You'd have to use tricks like compensated summation and the like to
improve the answers, if you want. Actually, it would be kind of neat to
have that in numpy or scipy...
What are you trying to do? Show us the code, and I'm sure someone can
explain why you are getting what you are getting.
-Chris
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov
More information about the Numpy-discussion
mailing list