沿着aixs的两个3D矩阵上的2D点积

时间:2017-01-19 20:32:47

标签: numpy matrix-multiplication

给定两个矩阵A和B,其尺寸分别为(x,y,z)和(y,x,z),如何在两个矩阵的前两个维上点积?结果的尺寸应为(x,x,z)。

谢谢!

1 个答案:

答案 0 :(得分:1)

使用np.einsum字面上相同的字符串表达式 -

np.einsum('xyz,yiz->xiz',a,b) # a,b are input arrays

请注意,我们使用yiz作为第二个数组的字符串表示法,而不是yxz,因为i应该是输出数组中的新维度而不是与我们已分配x的第一个数组的第一个轴对齐。要对齐的维度使用相同的字符串表示法。