[Numpy-discussion] Numpy-discussion Digest, Vol 7, Issue 13
Travis Oliphant
oliphant at ee.byu.edu
Fri Apr 6 15:55:47 EDT 2007
Matthew Koichi Grimes wrote:
>Travis wrote:
>
>
>>Short answer: No, they are not bugs.
>>
>>The rule is:
>>
>>In any mixed-type operation between two objects of the same
>>fundamental "kind" (i.e. integer, float, complex) arrays always have
>>precedence over "scalars" (where a 0-d array is considered a scalar
>>in this context).
>>
>>
>However, the fact that array-array operations behave differently
>depending on whether one of the arrays is 0-dimensional still strikes me
>as bad. Bad in the sense that it can lead to surprising and
>hard-to-identify bugs in vectorized code designed to work with tensors
>of various ranks, including 0. This equivalency between rank-0 arrays
>and scalars seems like another instance of the rank-0 special-casing
>that has been deemed bad in recarray and elsewhere.
>
>
It all depends on your perspective. In this case, there are situations
where one can argue either way. In this case, the simplicity of the
definition of scalar is easier to remember: All things that become
rank-0 arrays when array(...) is called are considered "scalars".
Viewed from that perspective, your drawing of the line is less compelling.
Changing rules at this point has a built-in negative bias. Thus, the
benefit of changing the rules must be substantial in order to get it to
happen.
Thanks for the feedback.
-Travis
More information about the NumPy-Discussion
mailing list