我正尝试将这些一维矩阵(或矢量)彼此相乘,如下所示:
a = np.array([1,2,3]).reshape(1,3)
b = np.array([4,5,6]).reshape(1,3)
c = np.dot(a,b)
print(c)
输出的Ab误差为“未对齐的形状(1,3)和(1,3)”,根据矩阵乘法定律是正确的。
但是当我做c = a*b
和print(c)
时,我得到了一个1 x 3的矩阵-array([[ 4, 10, 18]])
。
我的问题是1 X 3 * 1 X 3矩阵乘法如何产生1 X 3矩阵?第一矩阵的列应等于第二行。不是吗?
此外,如果你们中的任何一个能提供更多有关两个形状(i,j)的点积与乘积a*b
有何不同的信息,那将是很棒的事情?
答案 0 :(得分:1)
dot
方法执行矩阵乘法,如您所愿。 *
运算符采用两个相同维度的矩阵并将它们对应的元素相乘,从而得出相同维度的结果。