Lis*_*isa 5 numpy matrix multidimensional-array matrix-multiplication numpy-ndarray
a = [1, 2, 3]
b = [10, 10, 10]
Run Code Online (Sandbox Code Playgroud)
np.matmul(a, b) 给出的结果是 60。
numpy 如何将 (3,) 和 (3,) 维度相乘并返回点积而不是外积 (3 * 3) 或抛出错误“维度不匹配”?
这直接来自以下文档numpy.matmul():
- 如果第一个参数是一维的,则通过在其维度前添加 1 将其提升为矩阵。矩阵乘法后,前面的 1 被删除。
- 如果第二个参数是一维的,则通过在其维度上附加 1 将其提升为矩阵。矩阵乘法后,附加的 1 被删除。
因此,在矩阵乘法期间,输入a和的形状分别b转换为(1, 3)和。(3,1)
根据矩阵乘法的规则,我们知道:
1 x 3 3 x 1
| |
-------- ===> 总结完毕。
因此,我们得到的结果是标量。