*numpy数组的运算符是元素明智的乘法(类似于相同维数数组的Hadamard乘积),而不是矩阵乘法。
例如:
>>> aarray([[0], [1], [2]])>>> barray([0, 1, 2])>>> a*barray([[0, 0, 0], [0, 1, 2], [0, 2, 4]])
对于与numpy数组相乘的矩阵:
>>> a = np.ones((3,2))>>> b = np.ones((2,4))>>> np.dot(a,b)array([[ 2., 2., 2., 2.], [ 2., 2., 2., 2.], [ 2., 2., 2., 2.]])
另外,您可以使用矩阵类:
>>> a=np.matrix(np.ones((3,2)))>>> b=np.matrix(np.ones((2,4)))>>> a*bmatrix([[ 2., 2., 2., 2.], [ 2., 2., 2., 2.], [ 2., 2., 2., 2.]])
关于广播numpy数组的更多信息可以在这里找到,有关矩阵类的更多信息可以在这里找到。


![numpy矩阵乘法形状[重复] numpy矩阵乘法形状[重复]](http://www.mshxw.com/aiimages/31/625819.png)
