[Numpy-tickets] [NumPy] #414: bug in reduce for numpy.array
NumPy
numpy-tickets at scipy.net
Mon Jan 8 11:28:32 CST 2007
#414: bug in reduce for numpy.array
--------------------+-------------------------------------------------------
Reporter: lbolla | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone:
Component: Other | Version:
Severity: normal | Keywords:
--------------------+-------------------------------------------------------
[[BR]]
Wrong results are given by subtract.reduce and divide.reduce, with respect
to the standard function reduce.
Take a look at this piece of code:
------------------------------------------
from numpy import *
x = arange(4) # x = array([0,1,2,3])
def myadd(x,y): # re-define the binary sum function
return x + y
print reduce(myadd, x) # 6, as expected
print add.reduce(x) # 6, as expected
def mysub(x,y): # re-define the binary diff function
return x - y
print reduce(mysub, x) # -6, as expected
print subtract.reduce(x) # 2 ---> WRONG!
------------------------------------------
It probably depends on the wrong order of the operands in the binary
operation subtract or divide. Any non-commutative operation can lead to
this problem (and it's worth checking!).
This code works correctly if the Numeric package is imported istead of
numpy (first row of the snippet).
--
Ticket URL: <http://projects.scipy.org/scipy/numpy/ticket/414>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.
More information about the Numpy-tickets
mailing list