[Numpy-discussion] Numpy 1.6 schedule (was: Numpy 2.0 schedule)
Sat Mar 5 22:00:08 CST 2011
My point is also that we need to make sure the broadcasting rules are consistent for both addition and array copy.
Addition would not create an error if a (1,20) array was added to a (20,) array. Therefore, a (1,20) array can also copied into a (20,) array --- as can a (1,1,1,1,20) array. Conversely, a (20,1) or a (1,1,20,1,1) array can not be copied into a (20,) array.
For the purposes of assignment, NumPy was designed so that if the rhs and lhs could be broadcast to the same shape, then the assignment could proceed: otherwise, it would fail.
This behavior should not change in 1.6.
On Mar 5, 2011, at 8:51 PM, Charles R Harris wrote:
> On Sat, Mar 5, 2011 at 7:41 PM, Charles R Harris <firstname.lastname@example.org> wrote:
> On Sat, Mar 5, 2011 at 7:23 PM, Enthought <email@example.com> wrote:
> This should be changed back so that the former works and the later does not. It was intentional that the former worked --- it was consistent with broadcasting rules.
> A (1,20) array can be interpreted as a (20,) array.
> So should a (1,1,1,1,20) array also be interpreted as a (20,) array? From what you say, an arbitrary number of 1's can not only be appended on the left, the usual broadcasting, but an arbitrary number of 1's can also be removed. Is that so?
> The point being, that assignment is now a special case that does not follow the same rules as, say, addition.
> NumPy-Discussion mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion