4 votos

Cómo calcular la descomposición QR de un producto de matrices

Supongamos que tengo $A=A_nA_{n-1} \cdots A_2A_1$

¿Cómo puedo calcular la $QR$ factorización de $A$ sin multiplicar explícitamente $A_1, A_2, \ldots , A_n$ juntos?

La sugerencia que tengo es que, supongamos $n=3$ y $Q_3^T A =R$

La escritura $$Q_3^T A =Q_3^T A_3Q_2Q_2^T A_2Q_1Q_1^T A_1Q_0, Q_0=I$$

Entonces encuentra la ortogonalidad $Q_i$ de tal manera que $Q_i^T A_iQ_{i-1}$ es el triángulo superior.

0voto

Tarks Puntos 1816

La razón principal para calcular la factorización QR del producto en lugar de multiplicarlos todos juntos es mantener los números de condición bajo control. No es más eficiente (ni es sustancialmente menos eficiente computacionalmente debido a la buena utilización de la caché en las implementaciones modernas de QR).

Usted calcula $A_1 = QR$ y luego aplicar $Q^T$ de la derecha a $A_2$ y luego repítelo hasta que llegues a $A_n$ . En resumen:

tmp = A_1
for i = 1 to n
    [Q,R_i] = qr(tmp);
    tmp = A_{i+1} * Q^T
end
R = R_n * R_{n-1} * ... * R_1

El último $Q$ computarizada es la $Q$ del producto, y el producto de todos los intermediarios $R$ matrices es la $R$ del producto.

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