[Numpy-discussion] Detect subclass of ndarray

Charles R Harris charlesr.harris at gmail.com
Sat Mar 24 16:05:59 EDT 2007


On 3/24/07, Travis Oliphant <oliphant at ee.byu.edu> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20070324/66357845/attachment.html>


More information about the NumPy-Discussion mailing list