【问题标题】:Broadcasting the dot product of a list of 2D points with a 2x2 matrix使用 2x2 矩阵广播 2D 点列表的点积
【发布时间】:2019-07-10 13:39:02
【问题描述】:

我有一个形状为 (2,100) 的点 xy 列表。我想采用 2x2 矩阵的点积如下:

g = xy.T@W@xy

这应该产生一个包含 100 个值的向量。如何用 Python 做到这一点?

我知道它应该产生 100 个值,因为如果我输入一个 2D 点,上面的表达式效果很好。如何对上述内容进行矢量化?

【问题讨论】:

    标签: python numpy vectorization


    【解决方案1】:

    我们可以np.einsum -

    np.einsum('ij,ik,kj->j',xy,W,xy, optimize=True)
    

    【讨论】:

    • 我犯了一个错误。我需要 xy.T@W@xy 而不是 xy@W@xy.T。我需要改变什么?
    • @saad 正如您在问题中指出的那样 - xy with the shape(2,100).。因此,无需更改。
    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多