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