2012-05-03 16 views
0

コレスキー分解を使用して行列の逆行列の行列式を計算する方法を教えてください。行列の行列式を直接計算するのは良い考えではないことが分かりました。だから誰もいくつかの洞察力を提供できますか?行列の逆行列の決定子

+2

math.stackexchange.comに移動 – leonbloy

答えて

4

すでにコレスキー分解(A = L * L_t)を持っている場合は、あなただけの

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

を持つL行列は、その決定は、対角要素の積であるので、下三角です。

コレスキー分解はO(n^3)回の演算を行い、Lの対角要素の積はO(n)だけです。ガウス消去法(Aを三角行列に変換する)はO(n^3)をとり、数値問題の可能性があります。

最後に、det(inv(A))= 1/det(A)。例えば

0

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

は、MATLAB /あなたは、MATLAB構文で上式の右辺でprod(diag(chol(A)))^2を、使用することができるオクターブマトリックスAの行列式を計算します。