【发布时间】:2019-06-22 12:00:22
【问题描述】:
我正在尝试将这些一维矩阵(或向量)彼此相乘,如下所示:
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 矩阵?第一个矩阵的列应该等于第二个矩阵的行。不是吗?
此外,如果你们中的任何人都可以提供更多关于 2 个形状 (i,j) 矩阵的点积与其乘法的不同之处的信息,那就太好了a*b?
【问题讨论】:
-
(1,3), (3,1)将是正确的矩阵乘法。点然后会做 matmul 。另一方面,multipy-operator 是 elementwise 的。
标签: python-3.x numpy matrix matrix-multiplication