[Numpy-discussion] Broadcasting doesn't work with divide after tile
Wed Feb 1 12:55:33 CST 2012
2012/2/1 martin großhauser <firstname.lastname@example.org>:
> when I try in my script to divide a masked array by a scalar I get an
> error. The instruction is:
>>> sppa = sp / 100.
> sp is a masked array with ndim = 3.
> error is:
> Traceback (most recent call last):
> File "/media/nethome/Work/workspace/interimEnso/src/mlBudget.py",
> line 95, in <module>
> sppa = sp / 100.
> File "/usr/lib/pymodules/python2.7/numpy/ma/core.py", line 3673, in __div__
> return divide(self, other)
> File "/usr/lib/pymodules/python2.7/numpy/ma/core.py", line 1072, in __call__
> m |= ma
> ValueError: invalid return array shape
> The interesting thing is that this error only occurs after a tiling instruction:
>>> sp4d = N.tile(sp, (ninterf, 1, 1, 1))
> If I do the division before the tiling I don't get an error. There's
> also no error if I do the division with N.divide(sp, 100.).
> Also printing the array sp after tiling doesn't work, while it works
> before. If I debug the script with eclipse/PyDev, in the variables
> window I get the message "Unable to get repr for <class
> 'numpy.ma.core.MaskedArray'>" for the sp array after tiling.
> The tiling operation shouldn't change the array, should it? Is this a
> bug, or is it expected behaviour?
> Martin Groszhauser
I forgot to mention that I'm using Numpy 1.5.1 from Ubuntu 11.04
More information about the NumPy-Discussion