2024-05-13 11:22:30 发布
网友
A and B都是带有shape(N,3)的数组。它们各自包含N个载体,使得A[0] = a0 (vector), A[1] = a1...和B[0] = b0, B[1] = b1...
A and B
shape(N,3)
A[0] = a0 (vector), A[1] = a1...
B[0] = b0, B[1] = b1...
我想计算N对向量an和bn的点积。换句话说,我想获得一个带有shape(N,1)的数组C,这样C[i] = np.dot(A[i],B[i]).在python中实现这一点最有效的方法是什么(例如,使用向量化代码)
shape(N,1)
C[i] = np.dot(A[i],B[i]).
您可以执行元素相乘,然后沿第二个轴求和,如下所示-
C = (A*B).sum(1)
这些乘法和求和运算可以通过^{}一次性实现,如下所示-
C = np.einsum('ij,ij->i',A,B)
与^{}/@-operator-
@-operator
(A[:,None,:] @ B[...,None]).ravel()
您可以执行元素相乘,然后沿第二个轴求和,如下所示-
这些乘法和求和运算可以通过^{} 一次性实现,如下所示-
与^{} /
@-operator
-相关问题 更多 >
编程相关推荐