5 votos

derivado de log (det (A)) wrt x, donde A es matriz que depende de x

Tengo dos grandes matrices B y C, y necesito calcular

$\frac{\rm{d}}{\rm{d}(\log({\lambda}) }\log( \det(B+\lambda C))$.

Debido a que B y C son muy grandes yo directamente no se puede evaluar el determinante.

El papel estoy siguiendo implica que el anterior es equivalente a :

$\rm{trace}((B+\lambda C)^{-1}C)$.

Aunque no sé cómo los autores llegué a él y la expresión no es de mucha ayuda, ya que el cálculo de la función inversa también es prohibitivamente caro.

Mi pregunta es: ¿hay identidades que puede hacer cualquiera de estos cálculos computacionalmente tratable, dado B y C son grandes y dispersas?

2voto

user1412633 Puntos 53

He resuelto este problema utilizando la descomposición de Cholesky.

Usando la identidad:

$\log(\det(A)) = 2 \sum_i \log(F_{ii})$,

donde F es la raíz Cholesky de A.

Entonces he hecho la diferenciación numéricamente, calculando$\log(\det(A))$ para dos valores ligeramente diferentes de$\lambda$. Resulta que la descomposición de Cholesky es posible y muy rápida para mis matrices escasas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X