我有两组n*m
向量x_ij
和y_ij
维d
存储在两个np.ndarray
X
和Y
中形状n*m*d
。
我想获得标量积n*m
的{{1}}矩阵。
目前我这样做:
x_ij.y_ij
它有效,但感觉比它需要的更丑陋/更黑。是否有更优雅的方式来进行此操作?
答案 0 :(得分:1)
嗯,你保持前两个轴对齐,并减少两个输入上的最后一个轴。对于这种情况,解决问题的一种有效方法是使用np.einsum
,就像这样 -
np.einsum('ijk,ijk->ij',X,Y)