了解1D向量的np.matmul

问题描述 投票:2回答:1
a = [1, 2, 3]
b = [10, 10, 10]

np.matmul(a,b)给出60作为结果。

numpy如何乘以(3,)和(3,)维度并返回点积而非外积(3 * 3)或抛出错误“维度不匹配”?

numpy matrix multidimensional-array matrix-multiplication numpy-ndarray
1个回答
1
投票

这直接来自numpy.matmul()的文档:

  • 如果第一个参数是1-D,则通过在其维度前加1来将其提升为矩阵。在矩阵乘法之后,移除前置1。
  • 如果第二个参数是1-D,则通过在其维度上附加1来将其提升为矩阵。在矩阵乘法之后,移除附加的1。

因此,在矩阵乘法期间,输入ab的形状分别被转换为(1, 3)(3,1)

根据矩阵乘法的规则,我们知道:

1 x 3 3 x 1 | | -------- ===>总结过来。

因此,我们得到结果作为标量。

© www.soinside.com 2019 - 2024. All rights reserved.