En álgebra lineal , una descomposición QR , también conocida como factorización QR o factorización QU , es una descomposición de una matriz A en un producto A = QR de una matriz ortonormal Q y una matriz triangular superior R. La descomposición QR se usa a menudo para resolver el problema de mínimos cuadrados lineales (LLS) y es la base de un algoritmo de valores propios en particular , el algoritmo QR .
Casos y definiciones
Matriz cuadrada
Cualquier matriz cuadrada real A puede descomponerse como
donde Q es una matriz ortogonal (sus columnas son vectores unitarios ortogonales, lo que significa) y R es una matriz triangular superior (también llamada matriz triangular derecha). Si A es invertible , entonces la factorización es única si requerimos que los elementos diagonales de R sean positivos.
Si en cambio A es una matriz cuadrada compleja, entonces hay una descomposición A = QR donde Q es una matriz unitaria (por lo que la transpuesta conjugada)).
Si A tiene n columnas linealmente independientes , entonces las primeras n columnas de Q forman una base ortonormal para el espacio columna de A. De manera más general, las primeras k columnas de Q forman una base ortonormal para el espacio generado por las primeras k columnas de A para cualquier 1 ≤ k ≤ n . [ 1 ] El hecho de que cualquier columna k de A solo dependa de las primeras k columnas de Q corresponde a la forma triangular de R. [ 1 ]

Matriz rectangular
De forma más general, podemos factorizar una matriz compleja m × n A , con m ≥ n , como el producto de una matriz unitaria m × m Q y una matriz triangular superior m × n R. Como las filas inferiores ( m − n ) de una matriz triangular superior m × n consisten enteramente en ceros, a menudo es útil particionar R , o tanto R como Q :
donde R 1 es una matriz triangular superior n × n , 0 es una matriz cero ( m − n )× n , Q 1 es m × n , Q 2 es m ×( m − n ) , y Q 1 y Q 2 tienen columnas ortogonales.
Golub y Van Loan (1996 , §5.2) llaman a Q 1 R 1 la factorización QR delgada de A ; Trefethen y Bau la llaman factorización QR reducida . [ 1 ] Si A tiene rango completo n y requerimos que los elementos diagonales de R 1 sean positivos, entonces R 1 y Q 1 son únicos, pero en general Q 2 no lo es. R 1 es entonces igual al factor triangular superior de la descomposición de Cholesky de A * A (= A T A si A es real).
Descomposiciones QL, RQ y LQ
De forma análoga, podemos definir las descomposiciones QL, RQ y LQ, donde L es una matriz triangular inferior .
Cálculo de la descomposición QR
Existen varios métodos para calcular la descomposición QR, como el proceso de Gram-Schmidt , las transformaciones de Householder o las rotaciones de Givens . Cada uno presenta ventajas y desventajas.
Utilizando el proceso de Gram-Schmidt
Consideremos el proceso de Gram-Schmidt aplicado a las columnas de la matriz de rango de columna completa., con producto interno(opara el caso complejo).
Defina la proyección :
entonces:
Ahora podemos expresar las sobre nuestra base ortonormal recién calculada:
dóndeEsto se puede escribir en forma matricial :
dónde:
y
Ejemplo

Consideremos la descomposición de
Recordemos que una matriz ortonormaltiene la propiedad.
Entonces, podemos calcularmediante el método de Gram-Schmidt de la siguiente manera:
Por lo tanto, tenemos
Relación con la descomposición RQ
La descomposición RQ transforma una matriz A en el producto de una matriz triangular superior R (también conocida como triangular derecha) y una matriz ortogonal Q. La única diferencia con la descomposición QR radica en el orden de estas matrices.
La descomposición QR es la ortogonalización de Gram-Schmidt de las columnas de A , comenzando desde la primera columna.
La descomposición RQ es la ortogonalización de Gram-Schmidt de las filas de A , comenzando desde la última fila.
Ventajas y desventajas
El proceso de Gram-Schmidt es inherentemente inestable desde el punto de vista numérico. Si bien la aplicación de las proyecciones presenta una atractiva analogía geométrica con la ortogonalización, esta última es propensa a errores numéricos . Una ventaja significativa es su facilidad de implementación.
Utilizando las reflexiones de Householder

Una reflexión de Householder (o transformación de Householder ) es una transformación que toma un vector y lo refleja con respecto a algún plano o hiperplano . Podemos usar esta operación para calcular la factorización QR de una matriz m × n.con m ≥ n .
La función Q se puede utilizar para reflejar un vector de tal manera que todas las coordenadas, excepto una, desaparezcan.
Dejarsea un vector columna real m -dimensional arbitrario dede tal manera quepara un escalar α . α debería tener el mismo signo que el-ésima coordenada de, dóndedebe ser la coordenada pivote después de la cual todas las entradas son 0 en la forma triangular superior final de la matriz A. Si el algoritmo se implementa utilizando aritmética de punto flotante , entonces α debe tener el signo opuesto para evitar la pérdida de significado (por ejemplo, cuandoes casi colineal con,se vuelve "pequeño" yes numéricamente inestable; el caso extremo es, lo que provoca que la división anterior dé como resultado NaN ).
En el caso complejo, establezca [ 2 ]
y sustituir la transposición por la transposición conjugada en la construcción de Q a continuación.
Entonces, ¿dónde?es el vector [1 0 ⋯ 0] T , || · || es la norma euclidiana yes una matriz identidad m × m , conjunto
O, sies complejo
es una matriz de Householder de m por m , que es simétrica y ortogonal (hermítica y unitaria en el caso complejo), y
Esto se puede usar para transformar gradualmente una matriz A de m por n a la forma triangular superior . Primero, multiplicamos A por la matriz de Householder Q 1 que obtenemos al elegir la primera columna de la matriz para x . Esto da como resultado una matriz Q 1 A con ceros en la columna izquierda (excepto en la primera fila).
Esto se puede repetir para A ′ (obtenido de Q 1 A eliminando la primera fila y la primera columna), lo que da como resultado una matriz de Householder Q ′ 2 . Nótese que Q ′ 2 es más pequeña que Q 1 . Como queremos que realmente opere sobre Q 1 A en lugar de A ′, necesitamos expandirla hacia la esquina superior izquierda, rellenando un 1, o en general:
Despuésiteraciones de este proceso,,
es una matriz triangular superior. Entonces, con
es una descomposición QR de.
Este método presenta una mayor estabilidad numérica que el método de Gram-Schmidt descrito anteriormente.
En las pruebas numéricas los factores calculadosysatisfacer con precisión de máquina. Además, se conserva la ortogonalidad:Sin embargo, la precisión deyDisminución con el número de condición:
Por ejemplo, en condiciones adecuadas (,):
En una prueba mal condicionada (,): [ 3 ]
La siguiente tabla muestra el número de operaciones en el k -ésimo paso de la descomposición QR mediante la transformación de Householder, suponiendo una matriz cuadrada de tamaño n .
Sumando estos números a lo largo de los n − 1 pasos (para una matriz cuadrada de tamaño n ), la complejidad del algoritmo (en términos de multiplicaciones de punto flotante) viene dada por
Ejemplo
Calculemos la descomposición de
Primero, necesitamos encontrar una reflexión que transforme la primera columna de la matriz A , vector, en.
Ahora,
y
Aquí,
- y
Por lo tanto
- y, y luego
Ahora observe:
Así que ya tenemos casi una matriz triangular. Solo necesitamos poner a cero la entrada (3, 2).
Toma el menor (1, 1) y luego aplica el proceso nuevamente a
Mediante el mismo método descrito anteriormente, obtenemos la matriz de la transformación de Householder.
después de realizar una suma directa con 1 para asegurarnos de que el siguiente paso del proceso funcione correctamente.
Ahora, encontramos
O bien, con cuatro dígitos decimales,
La matriz Q es ortogonal y R es triangular superior, por lo que A = QR es la descomposición QR requerida.
Ventajas y desventajas
El uso de las transformaciones de Householder es intrínsecamente el más simple de los algoritmos de descomposición QR numéricamente estables debido al uso de reflexiones como mecanismo para generar ceros en la matriz R. Sin embargo, el algoritmo de reflexión de Householder requiere un gran ancho de banda y es difícil de paralelizar, ya que cada reflexión que produce un nuevo elemento cero modifica por completo las matrices Q y R.
Implementación paralela de Householder QR
El método Householder QR puede implementarse en paralelo con algoritmos como el TSQR (que significa Tall Skinny QR ). Este algoritmo se puede aplicar cuando la matriz A tiene m >> n . [ 4 ] Este algoritmo utiliza un árbol de reducción binaria para calcular la descomposición local de Householder QR en cada nodo en la pasada hacia adelante y reconstituir la matriz Q en la pasada hacia atrás. La estructura del árbol binario tiene como objetivo disminuir la cantidad de comunicación entre procesadores para aumentar el rendimiento.
Utilizando rotaciones de Givens
Las descomposiciones QR también pueden calcularse mediante una serie de rotaciones de Givens . Cada rotación anula un elemento de la subdiagonal de la matriz, formando así la matriz R. La concatenación de todas las rotaciones de Givens forma la matriz ortogonal Q.
En la práctica, las rotaciones de Givens no se realizan construyendo una matriz completa y multiplicando matrices. En su lugar, se utiliza un procedimiento de rotación de Givens que efectúa el equivalente a la multiplicación de matrices dispersas de Givens, sin el trabajo adicional que supone el manejo de los elementos dispersos. El procedimiento de rotación de Givens resulta útil en situaciones donde solo es necesario poner a cero relativamente pocos elementos fuera de la diagonal, y es más fácil de paralelizar que las transformaciones de Householder .
Ejemplo
Calculemos la descomposición de
Primero, necesitamos formar una matriz de rotación que ponga a cero el elemento inferior izquierdo,. Formamos esta matriz utilizando el método de rotación de Givens y la llamamos matriz.Primero rotaremos el vector., para apuntar a lo largo del eje X. Este vector tiene un ángulo. Creamos la matriz de rotación de Givens ortogonal,:
Y el resultado deahora tiene un cero en elelemento.
De forma similar, podemos formar matrices de Givens.y, lo que pondrá a cero los elementos subdiagonalesy, formando una matriz triangularLa matriz ortogonalse forma a partir del producto de todas las matrices de Givens. Por lo tanto, tenemosy la descomposición QR es.
Ventajas y desventajas
La descomposición QR mediante rotaciones de Givens es la más compleja de implementar, ya que el orden de las filas necesario para aprovechar al máximo el algoritmo no es trivial de determinar. Sin embargo, tiene una ventaja significativa en que cada nuevo elemento ceroAfecta únicamente a la fila con el elemento que se va a poner a cero ( i ) y a la fila superior ( j ). Esto hace que el algoritmo de rotación de Givens sea más eficiente en cuanto a ancho de banda y más paralelizable que la técnica de reflexión de Householder.
Utilizando la multiplicación rápida de matrices
Es posible calcular la descomposición QR de forma rápida utilizando algoritmos rápidos de multiplicación de matrices en el tiempopara. [ 5 ] [ 6 ]
Relación con un determinante o un producto de valores propios
Podemos usar la descomposición QR para encontrar el determinante de una matriz cuadrada. Supongamos que una matriz se descompone como. Entonces tenemos
se puede elegir de tal manera que. De este modo,
donde elson las entradas en la diagonal deAdemás, como el determinante es igual al producto de los autovalores, tenemos
donde elson los valores propios de.
Podemos extender las propiedades anteriores a una matriz compleja no cuadrada.introduciendo la definición de descomposición QR para matrices complejas no cuadradas y reemplazando los valores propios por valores singulares.
Comencemos con una descomposición QR para una matriz no cuadrada A :
dóndedenota la matriz cero yes una matriz unitaria.
A partir de las propiedades de la descomposición en valores singulares (SVD) y del determinante de una matriz, tenemos:
donde elson los valores singulares de.
Tenga en cuenta que los valores singulares deyson idénticos, aunque sus autovalores complejos pueden ser diferentes. Sin embargo, si A es cuadrado, entonces
De ello se deduce que la descomposición QR puede utilizarse para calcular de forma eficiente el producto de los valores propios o valores singulares de una matriz.
Pivote de columna
El algoritmo QR pivotado se diferencia del algoritmo Gram-Schmidt ordinario en que toma la columna restante más grande al comienzo de cada nuevo paso (pivoteamiento de columna) [ 7 ] y, por lo tanto, introduce una matriz de permutación P :
El pivoteo de columnas es útil cuando A es (casi) de rango deficiente , o se sospecha que lo es. También puede mejorar la precisión numérica. Generalmente, P se elige de modo que los elementos diagonales de R no sean crecientes:. Esto puede utilizarse para encontrar el rango (numérico) de A con un coste computacional menor que una descomposición en valores singulares , formando la base de los llamados algoritmos QR que revelan el rango .
Utilización para la solución de problemas inversos lineales
En comparación con la inversa directa de la matriz, las soluciones inversas que utilizan la descomposición QR son numéricamente más estables, como lo demuestran sus números de condición reducidos . [ 8 ]
Para resolver el problema subdeterminado () problema linealdonde la matriztiene dimensionesy rango, primero encuentra la factorización QR de la transpuesta de:, donde Q es una matriz ortogonal (es decir,), y R tiene una forma especial:. Aquíes un cuadradomatriz triangular recta, y la matriz cero tiene dimensiónTras algunos cálculos algebraicos , se puede demostrar que una solución al problema inverso se puede expresar como:donde uno puede encontrarmediante eliminación gaussiana o cálculodirectamente mediante sustitución hacia adelante . Esta última técnica ofrece mayor precisión numérica y menores cálculos.
Para encontrar una solucióna lo sobredeterminado () problemalo cual minimiza la norma, primero encuentra la factorización QR de:La solución se puede expresar entonces como, dóndees unmatriz que contiene la primeracolumnas de la base ortonormal completay dóndees como antes. Equivalente al caso subdeterminado, la sustitución hacia atrás se puede utilizar para encontrar esto de forma rápida y precisa.sin invertir explícitamente. (y(A menudo, las bibliotecas numéricas las proporcionan como una descomposición QR "económica").
Generalizaciones
La descomposición de Iwasawa generaliza la descomposición QR a grupos de Lie semisimples.
Véase también
- descomposición polar
- Descomposición en valores propios (descomposición espectral)
- descomposición LU
- Descomposición en valores singulares
Referencias
- 1 2 3 Trefethen, Lloyd N. ; Bau, David III (1997). Álgebra lineal numérica . Filadelfia, PA: Society for Industrial and Applied Mathematics . ISBN 978-0-898713-61-9.
- ↑ Stoer, Josef ; Bulirsch, Roland (2002), Introducción al análisis numérico (3.ª ed.), Springer, pág. 225, ISBN 0-387-95452-X
- ↑ Holmes, Mark H. (2023). Introducción a la computación científica y al análisis de datos, 2.ª ed . Springer. ISBN 978-3-031-22429-4.
- ↑ Demmel, James ; Grigori, Laura (12 de junio de 2008). "Factorizaciones QR y LU paralelas y secuenciales óptimas para la comunicación: teoría y práctica". arXiv : 0806.2159 [ cs.NA ].
- ^ Schönhage, A. (1972). "Unidades de transformación de grandes matrices". Matemática numérica . 20 : 409– 41. doi : 10.1007/BF01402563 .
- ↑ Knight, P. (1995). "Multiplicación rápida de matrices rectangulares y descomposición QR". Álgebra lineal y sus aplicaciones . 221 : 69–81 . doi : 10.1016/0024-3795(93)00230-W .
- ↑ Strang, Gilbert (2019). Álgebra lineal y aprendizaje a partir de datos (1.ª ed.). Wellesley: Wellesley Cambridge Press. pág. 143. ISBN 978-0-692-19638-0.
- ↑ Parker, Robert L. (1994). Teoría inversa geofísica . Princeton, NJ: Princeton University Press. Sección 1.13. ISBN 978-0-691-20683-7OCLC 1134769155
Lecturas adicionales
- Golub, Gene H.; Van Loan, Charles F. (1996), Matrix Computations (3.ª ed.), Johns Hopkins, ISBN 978-0-8018-5414-9.
- Horn, Roger A .; Johnson, Charles R. (1985), Análisis matricial , Cambridge University Press, sec. 2.8, ISBN 0-521-38632-2
- Press, William H.; Teukolsky , Saul A .; Vetterling, William T.; Flannery, Brian P. (2007), "Sección 2.10. Descomposición QR" , Numerical Recipes : The Art of Scientific Computing (3.ª ed.), Nueva York: Cambridge University Press, ISBN 978-0-521-88068-8
Enlaces externos
- Calculadora de matrices en línea. Realiza la descomposición QR de matrices.
- El manual de usuario de LAPACK proporciona detalles sobre las subrutinas para calcular la descomposición QR.
- El manual de usuario de Mathematica proporciona detalles y ejemplos de rutinas para calcular la descomposición QR.
- ALGLIB incluye una adaptación parcial de LAPACK a C++, C#, Delphi, etc.
- Eigen::QR incluye una implementación en C++ de la descomposición QR.
- Descomposiciones matriciales
- Álgebra lineal numérica