[Numpy-discussion] Behavior of array scalars
Travis Oliphant
oliphant at ee.byu.edu
Fri Feb 17 15:04:01 CST 2006
Christopher Barker wrote:
> Hi all,
>
> It just dawned on my that the numpy array scalars might give something
> I have wanted once in a while: mutable scalars. However, it seems that
> we almost, but no quite, have them. A few questions:
NumPy (starting with Numeric) has always had this love-hate relationship
with zero-dimensional arrays. We use them internally to simplify the
code, but try not to expose them to the user. Ultimately, we couldn't
figure out how to do that cleanly and so we have the current compromise
situation where 0-d arrays are available but treated as second-class
citizens. Thus, we still get funny behavior in certain circumstances.
I think you found another such quirky area.
I'm open to suggestions.
To analyze this particular case...
The a+= 10
operation should be equivalent to add(a,10,a).
Note that explicitly writing
add(a,10,a)
returns a scalar (all ufuncs return scalars if 0-d arrays are the
result). But, a is modified in-place as you wanted.
Perhaps what is going on is that
a += 10
is begin translated to
a = a + 10
rather than
add(a,10,a)
I'll have to look deeper to see why.
-Travis
More information about the Numpy-discussion
mailing list