13 votos

Encontrar la diagonal de la matriz inversa

He calculado el Cholesky de una matriz semidifinita positiva $\Theta$ . Sin embargo, deseo conocer los elementos diagonales de la inversa de $\Theta^{-1}_{ii}$ . ¿Es posible hacer esto usando el cholesky que he calculado? O bien, encontrar los valores propios por sí solos (sin las matrices ortonormales de un SVD) ayudará a esta causa.

¿Hay alguna otra sugerencia o descomposición alternativa que ayude a encontrar la diagonal de la matriz inversa?

Edición: He visto que proyecciones aleatorias hace maravillas para invertir matrices. ¿Podría aplicarse algo así en este caso?

8 votos

No veo por qué esta cuestión debería estar en suspenso. El subtexto de la pregunta parece estar claro y constituye una cuestión no trivial: ¿cuál es la forma óptima de calcular los elementos diagonales de una matriz semidefinida positiva simétrica? La forma ingenua de calcular la inversa completa es $O(n^3)$ . ¿Pero se puede obtener sólo la diagonal con un exponente asintótico menor?

0 votos

¿Hay alguna forma de migrar esto a math.stackexchange?

0 votos

No es una solución a su problema. Sin embargo la fórmula del complemento de Schur dice que $\frac{1}{(\Theta^{-1})_{ii}}=\Theta_{ii}-r_{i}\tilde\Theta^{-1}c_{i}$ , donde $r_{i}=(\Theta_{i1},\ldots,\hat\Theta_{ii},\ldots,\Theta_{in})$ , $c_{i}=(\Theta_{1i},\ldots,\hat\Theta_{ii},\ldots,\Theta_{ni})$ ( $\hat a$ significa $a$ es eliminado), y $\tilde\Theta$ se obtiene de $\Theta$ después de eliminar $i$ la fila y $i$ La columna.

8voto

samjudson Puntos 27483

Me topé con esta pregunta al tratar de responder a una pregunta similar

Quiero una matriz diagonal que se aproxime lo mejor posible a la inversa de una matriz $\textbf{B} \succ 0$ .

Publicaré mi respuesta en que pregunta en caso de que ayude a otros (y tal vez OP). En este caso, "mejor" significa más cercano en el $\ell_2$ sentido.

$$\textbf{d}^*(\textbf{B}) = {argmin}_{\textbf{d}} \tfrac 1 2 \| \textbf{B} diag(\textbf{d}) - \textbf{I} \|_F^2$$

Esto es separable en $d_i$ y diferenciable. Poniendo el gradiente a cero llegamos a la solución de forma cerrada (y muy barata)

$[\textbf{d}^*]_i = \frac {b_{ii} } { \| \textbf{b}_i \|^2}$

(Nota: en los números complejos, necesitarías conjugar)

No me extrañaría que esto se supiera desde hace 100 años, pero no he podido encontrarlo fácilmente.

3voto

Jason Sharer Puntos 6

Si tienes la descomposición de Cholesky, puedes calcular fácilmente la inversa de la matriz completa. Como

$$\Theta = R^* R$$

donde $R$ es triangular superior, entonces se puede encontrar $\Theta^{-1}$ resolviendo

$$R^* R X = I$$

donde $I$ es la identidad. Este último sistema puede resolverse por sustitución hacia delante y hacia atrás.

Si sólo quiere las entradas diagonales de $X$ Si no se hace nada, se puede ahorrar la mitad del cálculo deteniendo el proceso de sustitución hacia atrás (para cada columna) cuando se llega a la entrada diagonal.

3 votos

Supongo que una respuesta más interesante sería una forma de calcular la diagonal justa de la inversa en menos de $O(n^3)$ es del mismo orden que el tiempo que se tarda en calcular la inversa completa.

0 votos

Por desgracia, estoy haciendo todo esto en Matlab. Así que hacer bucles for es peor que hacer la inversión real. Pero +1 a pesar de todo por la respuesta.

0 votos

@IgorKhavkine pero las sustituciones hacia adelante y hacia atrás son ambas $O(n^2)$ ?

3voto

Jo Pedder Puntos 148

Tang y Saad tienen un método que utiliza vectores aleatorios (no necesariamente proyecciones):

Un método de sondeo para calcular la diagonal de la matriz inversa

1voto

Spencer Puntos 48

Creo que no podemos tener una complejidad $<n^3/3$ . En efecto, dejemos $\Theta=LL^*$ donde $L$ es triangular inferior. Claramente $\Theta^{-1}={L^*}^{-1}L^{-1}$ ; deja que $L^{-1}=[u_{i,j}]$ . Entonces (F) ${\Theta^{-1}}_{i,i}=\sum_{j\geq i}|u_{j,i}|^2$ . Entonces debemos conocer el $(|u_{j,i}|)$ y (en mi opinión) debemos conocer el $(u_{j,i})$ Es decir $L^{-1}$ . La complejidad del cálculo de $L^{-1}$ es $\sim n^3/3$ (véase. Una rápida inversión de la matriz triangular por R. Mahfoudhi). En el segundo paso, el cálculo de la $({\Theta^{-1}}_{i,i})$ (con (F)) está en $O(n^2)$ .

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