[Numpy-discussion] Detect subclass of ndarray

Travis Oliphant oliphant at ee.byu.edu
Sat Mar 24 16:33:04 EDT 2007


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.

-Travis




More information about the NumPy-Discussion mailing list