Determinante de la inversa de una matriz

¿Cómo puedo calcular el determinante de la inversa de una matriz usando la descomposición de Cholesky? Descubrí que no es una buena idea calcular directamente el determinante de la matriz. Entonces, ¿alguien puede proporcionar algunas ideas?

preguntado el 03 de mayo de 12 a las 17:05

muévase a math.stackexchange.com -

2 Respuestas

Si ya tiene la descomposición de Cholesky (A = L * L_t), entonces solo tiene

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

La matriz L es triangular inferior por lo que su determinante es el producto de elementos diagonales.

La descomposición de Cholesky toma operaciones O (n ^ 3) y el producto de los elementos diagonales de L es solo O (n). El método de eliminación gaussiana (convertir A en matriz triangular) tomaría O (n ^ 3) y sufriría posibles problemas numéricos.

Finalmente, det(inv(A)) = 1/det(A).

Respondido 18 Jul 12, 14:07

Creo que el cartel se refiere a la operación de elevar al cuadrado (potencia de 2), no a la operación de raíz cuadrada. - Cristi

sqr() es "cuadrado" (o potencia de 2), no sqrt() que es "raíz cuadrada" - Viktor Latipov

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

Por ejemplo, para calcular el determinante de una matriz A en Matlab/Octave puedes usar prod(diag(chol(A)))^2, que es el lado derecho de la ecuación anterior en la sintaxis de Matlab.

Respondido el 02 de junio de 13 a las 22:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.