这个矩阵乘法背后的逻辑是什么?

What is the Logic behind this matrix multiplication?

我正在尝试将这些一维矩阵(或向量)相互相乘,如下所示:

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 错误为 'shapes (1,3) and (1,3) not aligned',根据矩阵乘法定律是正确的。

但是当我执行 c = a*bprint(c) 时,我得到一个 1 x 3 矩阵 - array([[ 4, 10, 18]]).

我的问题是 1 X 3 * 1 X 3 矩阵乘法如何产生 1 X 3 矩阵?第一个矩阵的列应该等于第二个的行。不是吗?

此外,如果你们中的任何人能提供更多关于 2 个形状矩阵 (i,j) 的点积与其乘法的不同之处的更多信息,那就太好了 a*b?

dot 方法可以像您期望的那样执行矩阵乘法。 * 运算符取两个相同维度的矩阵并将其对应的元素相乘,从而产生相同维度的结果。