On 3/24/07, Alan G Isaac <[EMAIL PROTECTED]> wrote:

On Fri, 23 Mar 2007, Charles R Harris apparently wrote:
> the following gives the wrong result:
> In [15]: I = matrix(eye(2))
> In [16]: I*ones(2)
> Out[16]: matrix([[ 1.,  1.]])
> where the output should be a column vector.

Why should this output a column?
I would prefer an exception.
Add the axis if you want it:
I*ones(2)[:,None]
works fine.


Because it is mathematically correct. You can't multiply a vector by a 2x2
matrix and get a 1x2 matrix as the result. Sure, there are work arounds, but
if matrix multiplication is going to work when mixed with arrays, it should
work correctly.

Chuck
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to