2

考虑具有(3,3) 或 (1,3) 的ndarraysx0=np.ones((3,3))和。我想要一个计算这两个数组行的点积的单个 einsum 命令;在这种情况下,我想在 的第一个维度上进行广播。我试过 了,但这给了y0y0.shapey0.shape(1,3)y0np.einsum('ij,ij->i',x0,y0)

ValueError: ("Size of label '%s' for operand %d does not match previous terms.", 'i', 1)

有没有办法在 einsum 中做到这一点?看来 einsum 与 numpy 广播的交互在此应用程序中有些限制:x0 + y0当 y0 的形状为 (1,3) 时广播第一个维度,但上面的 einsum 调用没有按我预期的那样运行。

4

0 回答 0