矩阵的逆的行列式

时间:2012-05-03 16:52:51

标签: matrix linear-algebra

如何使用Cholesky分解计算矩阵的逆矩阵的行列式。我发现这个直接计算矩阵的行列式不是一个好主意。那么任何人都可以提供一些见解吗?

2 个答案:

答案 0 :(得分:8)

如果你已经有Cholesky分解(A = L * L_t),那么你就有了

det(A) = det(L) * det(L_t) = sqr(det(L))

L矩阵是下三角形,因此它的行列式是对角元素的乘积。

Cholesky分解采用O(n ^ 3)运算,L的对角元素乘积仅为O(n)。高斯消元法(将A转换为三角矩阵)将需要O(n ^ 3)并且会遇到可能的数值问题。

最后,det(inv(A))= 1 / det(A)。

答案 1 :(得分:0)

det(A) = product(eigenvalues(A)) = product(diagonal(choleskyFactorization(A)))^2

例如,要在Matlab / Octave中计算矩阵A的行列式,您可以使用prod(diag(chol(A)))^2,这是Matlab语法中上述等式的右侧。