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.  

-Travis



On Mar 5, 2011, at 8:51 PM, Charles R Harris wrote:

> 
> 
> On Sat, Mar 5, 2011 at 7:41 PM, Charles R Harris <[email protected]> 
> wrote:
> 
> 
> On Sat, Mar 5, 2011 at 7:23 PM, Enthought <[email protected]> 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.
> 
> Chuck 
> 
> _______________________________________________
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

---
Travis Oliphant
Enthought, Inc.
[email protected]
1-512-536-1057
http://www.enthought.com



_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to