5 votos

Factorización QR de una especial estructurado de la matriz

Un amigo me hizo la siguiente pregunta interesante:

Vamos

$$A = \begin{bmatrix} R \\ \xi{\rm I} \end{bmatrix},$$

donde $R \in \mathbb{R}^{n \times n}$ es una triangular superior y ${\rm I}$ es una matriz identidad, tanto de orden $n$, e $\xi \in \mathbb{R}$ es un escalar.

Es allí una manera eficiente para calcular la factorización QR de a $A$?

He encontrado esta pregunta con una muy buena respuesta, pero me gustaría evitar hacer el SVD porque es computacionalmente caro y mi $R$ no es una constante como $W$ en que otra pregunta. También, mi $R$ ya es triangular, que espero que de alguna manera puede ser utilizado.

Edit: hubo un comentario (se convirtió en una respuesta, mientras yo estaba escribiendo esta edición) sobre el uso de rotaciones de Givens. Ya que ello es una consecuencia lógica de la primera idea, me gustaría explicar por qué no me gusta.

Podríamos utilizar las rotaciones de Givens para cancelar los elementos de $\xi{\rm I}$, pero cada rotación de Givens es computing dos combinaciones lineales de dos filas. Eso significa que si me cancelan el primer elemento de $\xi{\rm I}$, voy a introducir también un montón de no-ceros en el resto de la fila.

Esto significa que tendría que ir a través de todo el triángulo superior de la parte inferior del bloque, mismo que tendría que hacer si $\xi{\rm I}$ fue un general triangular superior de la matriz. Dado que es una matriz diagonal (con todos sus elementos de la diagonal de ser el mismo, aunque sospecho que esto no ayuda mucho), estoy esperando a conseguir más eficaz que eso.

4voto

Chris Ballance Puntos 17329

Para bien de tener una respuesta ... si $A=Q\pmatrix{L^\top\\ 0}$, $L$ es la matriz de Cholesky de la descomposición de $R^\top R+\xi^2I$. Como Cholesky de rango-una actualización, que ya consume el $O(n^2)$ momento, me resulta difícil de creer que una diagonal de actualización se puede hacer en $O(n^2)$ del tiempo. Sin embargo, dado que este no es un general de la diagonal de la actualización, pero una corrección por escalares de varias de $I$, quizás alguien pueda realmente golpear $O(n^3)$ del tiempo, aunque yo no apostaría por ello.

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