计算矩阵的行列式

时间:2010-07-02 09:27:32

标签: math

我需要一个递归算法来计算n * n矩阵的行列式。

4 个答案:

答案 0 :(得分:2)

Wikipedia有一个计算决定因素的公式。它涉及排列,可以很容易地递归生成。 Google在“permutation algorithm”上有很多结果。

答案 1 :(得分:2)

我在这里没有看到递归的重点。

这种矩阵运算可以很容易地在SIMD操作中实现,可以分为线程,可以在GPU上很好地计算。

递归会消耗大量内存,而且某些系统在递归深度方面存在限制。

答案 2 :(得分:2)

计算行列式的标准方法是LU decomposition。在生产代码中使用类似LAPACK的库。使用递归绝对没有意义,LU分解通常通过以闭合形式求解M = LU来实现,并且采用O(n ^ 3)运算。

答案 3 :(得分:1)



    |a b c d ...|
det |...........|
    |...........|
    |...........|

= a * det(M1) - b * det(M2) + c * det(M3) - d * det(M4) + ... - ...

其中,如果放下第一行和第n列,则Mn是剩余的矩阵