Python矩阵向量运算的向量化

Python vectorization of matrix-vector operation

我有一个形状为 (2,2,N) 的矩阵 A 和一个形状为 (2,N) 的矩阵 V

我想向量化以下内容:

F = np.zeros(N)
for k in xrange(N):
    F[k] = np.dot( A[:,:,k], V[:,k] ).sum()

有什么方法可以在没有显式循环的情况下使用 tensordot 或任何其他 numpy 函数来完成?

np.einsum-

F = np.einsum('ijk,jk->k',A,V)

我们可以通过将 optimize 标志(检查文档)设置为 True 来进一步优化它。