Closed
Description
Reduce operations like .sum()
, .prod()
etc. raise exceptions when you pass a negative axis
value:
import sparse
sparse.random((40, 50)).sum(0) # works
sparse.random((40, 50)).sum(1) # works
sparse.random((40, 50)).sum(-1) # fails, should be equivalent to .sum(1)
The traceback I get:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "proj_dir/sparse/sparse/coo.py", line 1038, in prod
return self.reduce(np.multiply, axis=axis, keepdims=keepdims, dtype=dtype)
File "proj_dir/sparse/sparse/coo.py", line 771, in reduce
a = self.transpose(neg_axis + axis)
File "proj_dir/sparse/sparse/coo.py", line 1099, in transpose
raise ValueError("repeated axis in transpose")
ValueError: repeated axis in transpose