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 函数来完成?
F = np.einsum('ijk,jk->k',A,V)
我们可以通过将 optimize
标志(检查文档)设置为 True
来进一步优化它。
我有一个形状为 (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 函数来完成?
F = np.einsum('ijk,jk->k',A,V)
我们可以通过将 optimize
标志(检查文档)设置为 True
来进一步优化它。