Python 多个向量对的Numpy和dot乘积:如何实现?

Python 多个向量对的Numpy和dot乘积:如何实现?,python,numpy,matrix,scipy,Python,Numpy,Matrix,Scipy,我想得到N个向量对(a_-vec[I,:],b_-vec[I,:])的点积 a_vec具有形状[N,3],bvec具有相同的形状(N个三维向量) 我知道它可以通过numpy.dot函数在循环中轻松完成。但是它不能以某种方式更简单、更快地完成吗?np.einsum可以做到: np.einsum('ij,ij->i', a_vec, b_vec)

我想得到N个向量对(a_-vec[I,:],b_-vec[I,:])的点积

a_vec
具有形状
[N,3]
bvec
具有相同的形状(N个三维向量)


我知道它可以通过
numpy.dot
函数在循环中轻松完成。但是它不能以某种方式更简单、更快地完成吗?

np.einsum
可以做到:

np.einsum('ij,ij->i', a_vec, b_vec)