a = [1, 2, 3]
b = [10, 10, 10]
np.matmul(a,b)得出60。
numpy如何乘以(3,)和(3,)尺寸并返回点积而不是外部积(3 * 3)或引发错误“尺寸不匹配”?
答案 0 :(得分:1)
这直接来自numpy.matmul()
的文档:
- 如果第一个参数是1-D,则将其提升为矩阵 尺寸前加1。矩阵相乘后 前面的1被删除。
- 如果第二个自变量是1-D,则将其提升为矩阵 在其尺寸后附加1。矩阵相乘后 附加的1被删除。
因此,在矩阵乘法期间,输入a
和b
的形状分别转换为(1, 3)
和(3,1)
。
根据矩阵乘法的规则,我们知道:
1 x 3
3 x 1
| |
-------- ===> med相加。
因此,我们得到的结果为标量。