Dear all,

After some surprise, I noticed an inconsistency while adding array
slices:

> a = np.arange(5)
> a[1:] = a[1:] + a[:-1]
> a
array([0, 1, 3, 5, 7])

versus inplace

> a = np.arange(5)
> a[1:] += a[:-1]
> a
array([ 0,  1,  3,  6, 10])

My suspicition is that the second variant does not create intermediate
storage, and thus works on the intermediate result, effectively
performing a.cumsum().

This behaviour is certainly surprising, and leads to unexpected errors
if used without testing.

Best, Martin


-- 
Dr. Martin Lüthi   lue...@vaw.baug.ethz.ch
VAW Glaciology     http://www.vaw.ethz.ch/gz
ETH Zürich         http://people.ee.ethz.ch/~luethim
8093 Zürich        Tel: +41 44 632 40 93


_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to