[Numpy-discussion] Detect subclass of ndarray

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


On 3/24/07, Travis Oliphant <oliphant at ee.byu.edu> wrote:
>
> Alan G Isaac wrote:
> > On Sat, 24 Mar 2007, Travis Oliphant apparently wrote:
> >
> >> 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.
> >>
> >
> >
> >>>> N.__version__
> >>>>
> > '1.0'
> >
> >>>> I
> >>>>
> > matrix([[ 1.,  0.],
> >         [ 0.,  1.]])
> >
> >>>> I*N.ones(2)
> >>>>
> > matrix([[ 1.,  1.]])
> >
> > If N.ones(2) were treated as a row vector,
> > matrix multiplication is not possible.
> > So the question is what should happen.
> > I would like an exception raised.
> > The current behavior is lmost certainly not desirable,
> > although it has the virute of matching ``dot``.
> >
> >
> I think that's why it is the current behavior --- by default rather than
> by design.    But, dot has different use cases.
>
> I'd be fine with an error raised on matrix multiplication (as long as
> dot is not changed).   In other words, I'd like to see 1-d arrays always
> interpreted the same way (as row vectors) when used in matrix
> multiplication.


Sounds good to me, it keeps things simple. The behavious 1-D -> row vector
when promoted to a matrix should be documented as official behaviour. I
filed ticket #473 on this yesterday.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20070324/100ed294/attachment.html>


More information about the NumPy-Discussion mailing list