作为一个复杂任务的一部分,我需要计算矩阵余子式。我使用了计算矩阵子式的好代码来简单地完成这个任务。以下是我的代码:
事实证明,矩阵余子式代码是瓶颈所在,我想优化上面的代码片段。有什么想法吗?
def matrix_cofactor(matrix):
C = np.zeros(matrix.shape)
nrows, ncols = C.shape
for row in xrange(nrows):
for col in xrange(ncols):
minor = matrix[np.array(range(row)+range(row+1,nrows))[:,np.newaxis],
np.array(range(col)+range(col+1,ncols))]
C[row, col] = (-1)**(row+col) * np.linalg.det(minor)
return C
事实证明,矩阵余子式代码是瓶颈所在,我想优化上面的代码片段。有什么想法吗?
pv
的回答,存在一个你不能期望越过的真实障碍。因此,只有算法上的“创新”才是真正使你能够在性能方面实现重大进展的手段。谢谢。 - eat