Python Numpy两个矩阵,行的成对点积

Python Numpy两个矩阵,行的成对点积,python,numpy,vectorization,dot-product,Python,Numpy,Vectorization,Dot Product,我们目前正在进行一个python项目,由于性能限制,我们不得不进行很多矢量化。我们以下面的计算结束:我们有两个numpy数组的形状(20,6),并且想要计算行的成对点积,也就是说,我们应该在最后得到一个(20,1)矩阵,其中每一行是通过各自的向量点乘获得的标量 您可以将两个数组按元素相乘,然后按行求和,这样就得到了一个数组,其中每个元素都是两个原始数组行的点积: a = np.array([[1,2], [3,4]]) b = np.array([[3,4], [2,1]]) (a * b).

我们目前正在进行一个python项目,由于性能限制,我们不得不进行很多矢量化。我们以下面的计算结束:我们有两个numpy数组的形状
(20,6)
,并且想要计算行的成对点积,也就是说,我们应该在最后得到一个
(20,1)
矩阵,其中每一行是通过各自的向量点乘获得的标量

您可以将两个数组按元素相乘,然后按行求和,这样就得到了一个数组,其中每个元素都是两个原始数组行的点积:

a = np.array([[1,2], [3,4]])
b = np.array([[3,4], [2,1]])

(a * b).sum(axis=1)
# array([11, 10])

是的,你的问题是什么?您尝试这样做时遇到了什么问题?成功了,谢谢!