On 3/24/07, Travis Oliphant <[EMAIL PROTECTED]> wrote:
Alan G Isaac wrote: > On Sat, 24 Mar 2007, Charles R Harris apparently wrote: > >> Yes, that is what I am thinking. Given that there are only the two >> possibilities, row or column, choose the only one that is compatible with >> the multiplying matrix. The result will not always be a column vector, for >> instance, mat([[1]])*ones(3) will be a 1x3 row vector. >> > > > > Ack! The simple rule `post multiply means its a column vector` > would be horrible enough: A*ones(n)*B becomes utterly obscure. > Now even that simple rule is to be violated?? > > Down this path lies madness. > Please, just raise an exception. > My opinion is that a 1-d array in matrix-multiplication should always be interpreted as a row vector. Is this not what is currently done? If not, then it is a bug in my mind.
Fair enough. But in that case mat(eye(2))*ones(2) should raise an error instead of returning a row vector. In [1]: mat(eye(2))*ones(2) Out[1]: matrix([[ 1., 1.]]) The problem is that the return object is created as a row matrix and then filled as if the rhs was a column vector in PyArray_MatrixProduct. So this should be made a bug? Chuck
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion