<p>作为复杂任务的一部分,我需要计算<a href="http://en.wikipedia.org/wiki/Cofactor_%28linear_algebra%29" rel="nofollow noreferrer">matrix cofactors</a>。我用这个<a href="https://stackoverflow.com/questions/3858213/numpy-routine-for-computing-matrix-minors">nice code for computing matrix minors</a>直接地做了这个。这是我的代码:</p>
<pre><code>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
</code></pre>
<p>原来这个矩阵辅因子代码是瓶颈,我想优化上面的代码片段。有什么办法吗?</p>