【问题标题】:understand np.matmul on 1D vectors了解一维向量上的 np.matmul
【发布时间】:2019-03-13 17:45:17
【问题描述】:
a = [1, 2, 3]
b = [10, 10, 10]

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

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

【问题讨论】:

  • 查看文档。对于一维数组,它的行为类似于 dot 并返回内部“点”积。这是一个特例。

标签: numpy matrix multidimensional-array matrix-multiplication numpy-ndarray


【解决方案1】:

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

  • 如果第一个参数是一维的,它被提升为矩阵 在其尺寸前加上 1。矩阵乘法后 前面的 1 被删除。
  • 如果第二个参数是一维的,它被提升为矩阵 将 1 添加到其尺寸。矩阵乘法后 附加的 1 被删除。

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

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

1 x 33 x 1
| |
--------   ===>   总结。

因此,我们得到一个标量的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多