[Numpy-discussion] dot documentation

T J tjhnson@gmail....
Fri Aug 7 16:19:16 CDT 2009


Hi,  the documentation for dot says that a value error is raised if:

    If the last dimension of a is not the same size as the
second-to-last dimension of b.

(http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.htm)

This doesn't appear to be the case:

>>> a = array([[1,2],[3,4]])
>>> b = array([1,2])
>>> dot(a,b)
array([5,11])

I can see *how* 5,11 is obtained, but it seems this should have raised
a ValueError since the 2 != 1.  So the actual code must do something
more involved.  When I think about broadcasting, it seems that maybe b
should have been broadcasted to:

-->  array([[1,2],[1,2]])

and then the multiplication done as normal (but this would give a 2x2 result).

Can someone explain this to me?


More information about the NumPy-Discussion mailing list