[NumPy-Tickets] [NumPy] #1876: dot() non-symmetrical for scalar*matrix of objects

NumPy Trac numpy-tickets@scipy....
Tue Jun 21 11:10:51 CDT 2011


#1876: dot() non-symmetrical for scalar*matrix of objects
---------------------------------+------------------------------------------
 Reporter:  lebigot              |       Owner:  somebody   
     Type:  defect               |      Status:  new        
 Priority:  normal               |   Milestone:  Unscheduled
Component:  Other                |     Version:  1.5.1      
 Keywords:  dot, matrix, object  |  
---------------------------------+------------------------------------------
 NumPy's dot() function has a non-symmetrical behavior for scalar
 multipliers, when one of the objects is a matrix of objects:

 {{{
 >>> arr = matrix([1, 2], dtype=object)
 >>> dot(arr, 3)
 matrix([[3, 6]], dtype=object)
 >>> dot(3, arr)
 NotImplemented
 }}}

 (My implementation of NumPy uses BLAS, but I think I remember also seeing
 this problem with the basic implementation.)


 A consequence of this is the following failed simple multiplication:

 {{{
 >>> arr*3
 matrix([[3, 6]], dtype=object)
 >>> 3*arr
 ------------------------------------------------------------
 Traceback (most recent call last):
   File "<ipython console>", line 1, in <module>
 TypeError: unsupported operand type(s) for *: 'int' and 'matrix'
 }}}

 The final TypeError looks definitely like a bug.  Mathematically, one also
 wants to have a symmetrical dot() product, for scalars (both dot(3, arr)
 and dot(arr, 3) should work), no?  A symmetrical dot() product for
 matrices of objects would solve both problems.

-- 
Ticket URL: <http://projects.scipy.org/numpy/ticket/1876>
NumPy <http://projects.scipy.org/numpy>
My example project


More information about the NumPy-Tickets mailing list