考虑ndarrays x0=np.ones((3,3))
和y0
,y0.shape
(3,3)或(1,3)。我想要一个einsum命令来计算这两个数组的行的点积;在y0.shape
为(1,3)
的情况下,我希望广播y0
的第一维。我试过了
np.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调用不是按照我的预期运作。