fbpx
Wikipedia

Factorización QR

En álgebra lineal, la descomposición o factorización QR de una matriz es una descomposición de la misma como producto de una matriz ortogonal por una triangular superior. La descomposición QR es la base del algoritmo QR utilizado para el cálculo de los vectores y valores propios de una matriz.

Definición

La descomposición QR de una matriz cuadrada real A es

 

donde Q es una matriz ortogonal (QTQ = I ) y R es una matriz triangular superior.

Cálculo de la descomposición QR

Mediante el método de ortogonalización de Gram-Schmidt

Recurriendo al método de ortogonalización de Gram-Schmidt, con las columnas de A como los vectores a procesar.

 . Entonces

 
 
 
 
 

Naturalmente, utilizamos los ais de A para obtener:

 
 
 
 
 

Ahora estas ecuaciones pueden ser escritas en forma matricial de esta manera:

  :::::::::

El producto de cada fila con cada columna de las matrices de arriba, nos da la respectiva columna de A con la que comenzamos y, por tanto, dada la matriz A, la hemos factorizado en una matriz ortogonal Q (la matriz de eks), aplicando el proceso de Gram-Schmidt, y la matriz resultante triangular superior es R.

Alternativamente, la matriz   puede calcularse de la siguiente manera:

Recordemos que:   Entonces, tenemos

 

Note que     y  , entonces  .

Ejemplo

Si se considera la descomposición de

 

Se busca la matriz ortogonal   tal que

 

Por lo que calculamos   mediante Gram-Schmidt como sigue:

 
 

Por lo tanto, tenemos

 
 

Mediante el uso de reflexiones de Householder

Una transformación de Householder o reflexión de Householder es una transformación que refleja el espacio con respecto a un plano determinado. Esta propiedad se puede utilizar para realizar la transformación QR de una matriz si tenemos en cuenta que es posible elegir la matriz de Householder de manera que un vector elegido quede con una única componente no nula tras ser transformado (es decir, premultiplicando por la matriz de Householder). Gráficamente, esto significa que es posible reflejar el vector elegido respecto de un plano de forma que el reflejo quede sobre uno de los ejes de la base cartesiana.

La manera de elegir el plano de reflexión y formar la matriz de Householder asociada es el siguiente:

Sea   un vector columna arbitrario m-dimensional tal que || || = |α|, donde α es un escalar; (si el algoritmo se implementa utilizando aritmética de coma flotante, entonces α debe adoptar el signo contrario que  1 para evitar pérdida de precisión).

Entonces, siendo   el vector (1,0,...,0)T, y ||·|| la norma euclídea, se define:

 
 
 

  es un vector unitario perpendicular al plano de reflexión elegido.   es una matriz de Householder asociada a dicho plano.

 

Esta propiedad se puede usar para transformar gradualmente los vectores columna de una matriz A de dimensiones m por n en una matriz triangular superior. En primer lugar se multiplica A con la matriz de Householder Q1 que obtenemos al elegir como vector   la primera columna de la matriz. Esto proporciona una matriz QA con ceros en la primera columna (excepto el elemento de la primera fila).

 

el procedimiento se puede repetir para A′ (que se obtiene de A eliminando la primera fila y columna), obteniendo así una matriz de Householder Q2. Hay que tener en cuenta que Q2 es menor que Q1. Para conseguir que esta matriz opere con Q1A en lugar de A′ es necesario expandirla hacia arriba a la izquierda, completando con un uno en la diagonal, o en general:

 

Tras repetir el proceso   veces, donde  ,

 

es una matriz triangular superior. De forma que tomando

 

  es una descomposición QR de la matriz  .

Este método tiene una estabilidad numérica mayor que la del método de Gram-Schmidt descrito arriba.

Una pequeña variación de este método se utiliza para obtener matrices semejantes con la forma de Hessenberg, muy útiles en el cálculo de autovalores por acelerar la convergencia del algoritmo QR reduciendo así enormemente su coste computacional.

Ejemplo

Vamos a calcular la descomposición de la matriz

 

En primer lugar necesitamos encontrar una reflexión que transforme la primera columna de la matriz A, vector  , en  

usando la expresión,

 

y

 

en nuestro caso :

  y  

Por lo tanto

  y  , entonces
 
 
 

Ahora observamos:

 

con lo que ya casi tenemos una matriz triangular. Sólo necesitamos hacer cero en el elemento (3,2).

Tomando la submatriz bajo el (1, 1) y aplicando de nuevo el proceso a

 

Mediante el mismo método que antes obtenemos la matriz de Householder

 

Finalmente obtenemos

 
 

La matriz Q es ortogonal y R es triangular superior, de forma que A = QR es la descomposición QR buscada.

Mediante rotaciones de Givens

Las descomposiciones QR también puden calcularse utilizando una serie de rotaciones de Givens. Cada rotación anula (hace cero) un elemento en la subdiagonal de la matriz, formando de este modo la matriz R. La concatenación de todas las rotaciones de Givens realizadas, forma la matriz ortogonal Q.

En la práctica, las rotaciones de Givens no se utilizan en la actualidad para construir una matriz completa y realizar un producto de matrices. En su lugar, se utiliza un procedimiento de rotación de Givens, que es equivalente a la multiplicación reducida de matrices de Givens, sin el trabajo extra de manejar los elementos reducidos. El procedimiento de rotación de Givens es útil en situaciones donde sólo pocos elementos fuera de la diagonal necesitan ser anulados 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 tal que hagamos cero el elemento más inferior a la izquierda,  . Construimos esta matriz empleando el método de la rotación de Givens y llamamos la matriz resultante  . Rotamos primero el vector  , representándolo a lo largo del eje X. Este vector forma un ángulo  . Creamos la matriz ortogonal de rotación de Givens,  :

 
 

Y el resultado de   tiene ahora un cero en el   elemento.

 


Procedemos análogamente con las matrices de Givens   y  , que hacen cero los elementos subdiagonales   y  , formando una matriz triangular  . La matriz ortogonal   es formada a partir del producto en cadena de todas las matrices de Givens  . Luego tenemos  , y la descomposición QR es  .

Relación con el determinante

Es posible utilizar la descomposición QR para encontrar el valor absoluto del determinante de una matriz. Suponiendo que una matriz se descompone según  . Entonces se tiene

 

Puesto que Q es unitaria,  . Por tanto,

 

donde   son los valores de la diagonal de R.

  •   Datos: Q653242

factorización, álgebra, lineal, descomposición, factorización, matriz, descomposición, misma, como, producto, matriz, ortogonal, triangular, superior, descomposición, base, algoritmo, utilizado, para, cálculo, vectores, valores, propios, matriz, Índice, defini. En algebra lineal la descomposicion o factorizacion QR de una matriz es una descomposicion de la misma como producto de una matriz ortogonal por una triangular superior La descomposicion QR es la base del algoritmo QR utilizado para el calculo de los vectores y valores propios de una matriz Indice 1 Definicion 2 Calculo de la descomposicion QR 2 1 Mediante el metodo de ortogonalizacion de Gram Schmidt 2 1 1 Ejemplo 2 2 Mediante el uso de reflexiones de Householder 2 2 1 Ejemplo 2 3 Mediante rotaciones de Givens 2 3 1 Ejemplo 3 Relacion con el determinanteDefinicion EditarLa descomposicion QR de una matriz cuadrada real A es A Q R displaystyle A QR donde Q es una matriz ortogonal QTQ I y R es una matriz triangular superior Calculo de la descomposicion QR EditarMediante el metodo de ortogonalizacion de Gram Schmidt Editar Recurriendo al metodo de ortogonalizacion de Gram Schmidt con las columnas de A como los vectores a procesar A a 1 a n displaystyle A mathbf a 1 cdots mathbf a n Entonces u 1 a 1 e 1 u 1 u 1 displaystyle mathbf u 1 mathbf a 1 qquad mathbf e 1 mathbf u 1 over mathbf u 1 u 2 a 2 p r o j e 1 a 2 e 2 u 2 u 2 displaystyle mathbf u 2 mathbf a 2 mathrm proj mathbf e 1 mathbf a 2 qquad mathbf e 2 mathbf u 2 over mathbf u 2 u 3 a 3 p r o j e 1 a 3 p r o j e 2 a 3 e 3 u 3 u 3 displaystyle mathbf u 3 mathbf a 3 mathrm proj mathbf e 1 mathbf a 3 mathrm proj mathbf e 2 mathbf a 3 qquad mathbf e 3 mathbf u 3 over mathbf u 3 displaystyle vdots dd u k a k j 1 k 1 p r o j e j a k e k u k u k displaystyle mathbf u k mathbf a k sum j 1 k 1 mathrm proj mathbf e j mathbf a k qquad mathbf e k mathbf u k over mathbf u k Naturalmente utilizamos los ais de A para obtener a 1 e 1 u 1 displaystyle mathbf a 1 mathbf e 1 mathbf u 1 a 2 p r o j e 1 a 2 e 2 u 2 displaystyle mathbf a 2 mathrm proj mathbf e 1 mathbf a 2 mathbf e 2 mathbf u 2 a 3 p r o j e 1 a 3 p r o j e 2 a 3 e 3 u 3 displaystyle mathbf a 3 mathrm proj mathbf e 1 mathbf a 3 mathrm proj mathbf e 2 mathbf a 3 mathbf e 3 mathbf u 3 displaystyle vdots dd a k j 1 k 1 p r o j e j a k e k u k displaystyle mathbf a k sum j 1 k 1 mathrm proj mathbf e j mathbf a k mathbf e k mathbf u k Ahora estas ecuaciones pueden ser escritas en forma matricial de esta manera e 1 e n u 1 e 1 a 2 e 1 a 3 0 u 2 e 2 a 3 0 0 u 3 displaystyle left mathbf e 1 left ldots right mathbf e n right begin pmatrix mathbf u 1 amp langle mathbf e 1 mathbf a 2 rangle amp langle mathbf e 1 mathbf a 3 rangle amp ldots 0 amp mathbf u 2 amp langle mathbf e 2 mathbf a 3 rangle amp ldots 0 amp 0 amp mathbf u 3 amp ldots vdots amp vdots amp vdots amp ddots end pmatrix El producto de cada fila con cada columna de las matrices de arriba nos da la respectiva columna de A con la que comenzamos y por tanto dada la matriz A la hemos factorizado en una matriz ortogonal Q la matriz de eks aplicando el proceso de Gram Schmidt y la matriz resultante triangular superior es R Alternativamente la matriz R displaystyle begin matrix R end matrix puede calcularse de la siguiente manera Recordemos que Q e 1 e n displaystyle begin matrix Q end matrix left mathbf e 1 left ldots right mathbf e n right Entonces tenemos R Q T A e 1 a 1 e 1 a 2 e 1 a 3 0 e 2 a 2 e 2 a 3 0 0 e 3 a 3 displaystyle begin matrix R Q T A end matrix begin pmatrix langle mathbf e 1 mathbf a 1 rangle amp langle mathbf e 1 mathbf a 2 rangle amp langle mathbf e 1 mathbf a 3 rangle amp ldots 0 amp langle mathbf e 2 mathbf a 2 rangle amp langle mathbf e 2 mathbf a 3 rangle amp ldots 0 amp 0 amp langle mathbf e 3 mathbf a 3 rangle amp ldots vdots amp vdots amp vdots amp ddots end pmatrix Note que e j a j u j displaystyle langle mathbf e j mathbf a j rangle mathbf u j e j a k 0 p a r a j gt k displaystyle langle mathbf e j mathbf a k rangle 0 mathrm para j gt k y Q Q T I displaystyle QQ T I entonces Q T Q 1 displaystyle Q T Q 1 Ejemplo Editar Si se considera la descomposicion de A 12 51 4 6 167 68 4 24 41 displaystyle A begin pmatrix 12 amp 51 amp 4 6 amp 167 amp 68 4 amp 24 amp 41 end pmatrix Se busca la matriz ortogonal Q displaystyle Q tal que Q Q T I displaystyle begin matrix Q Q T I end matrix Por lo que calculamos Q displaystyle Q mediante Gram Schmidt como sigue U u 1 u 2 u 3 12 69 58 5 6 158 6 5 4 30 33 displaystyle U begin pmatrix mathbf u 1 amp mathbf u 2 amp mathbf u 3 end pmatrix begin pmatrix 12 amp 69 amp 58 5 6 amp 158 amp 6 5 4 amp 30 amp 33 end pmatrix Q u 1 u 1 u 2 u 2 u 3 u 3 6 7 69 175 58 175 3 7 158 175 6 175 2 7 6 35 33 35 displaystyle Q begin pmatrix frac mathbf u 1 mathbf u 1 amp frac mathbf u 2 mathbf u 2 amp frac mathbf u 3 mathbf u 3 end pmatrix begin pmatrix 6 7 amp 69 175 amp 58 175 3 7 amp 158 175 amp 6 175 2 7 amp 6 35 amp 33 35 end pmatrix Por lo tanto tenemos A Q Q T A Q R displaystyle begin matrix A Q Q T A QR end matrix R Q T A 14 21 14 0 175 70 0 0 35 displaystyle begin matrix R Q T A end matrix begin pmatrix 14 amp 21 amp 14 0 amp 175 amp 70 0 amp 0 amp 35 end pmatrix Mediante el uso de reflexiones de Householder Editar Una transformacion de Householder o reflexion de Householder es una transformacion que refleja el espacio con respecto a un plano determinado Esta propiedad se puede utilizar para realizar la transformacion QR de una matriz si tenemos en cuenta que es posible elegir la matriz de Householder de manera que un vector elegido quede con una unica componente no nula tras ser transformado es decir premultiplicando por la matriz de Householder Graficamente esto significa que es posible reflejar el vector elegido respecto de un plano de forma que el reflejo quede sobre uno de los ejes de la base cartesiana La manera de elegir el plano de reflexion y formar la matriz de Householder asociada es el siguiente Sea x displaystyle mathbf x un vector columna arbitrario m dimensional tal que x displaystyle mathbf x a donde a es un escalar si el algoritmo se implementa utilizando aritmetica de coma flotante entonces a debe adoptar el signo contrario que x displaystyle x 1 para evitar perdida de precision Entonces siendo e 1 displaystyle mathbf e 1 el vector 1 0 0 T y la norma euclidea se define u x a e 1 displaystyle mathbf u mathbf x alpha mathbf e 1 v u u displaystyle mathbf v mathbf u over mathbf u Q I 2 v v T displaystyle Q I 2 mathbf v mathbf v T v displaystyle v es un vector unitario perpendicular al plano de reflexion elegido Q displaystyle Q es una matriz de Householder asociada a dicho plano Q x a 0 0 T displaystyle Qx alpha 0 cdots 0 T Esta propiedad se puede usar para transformar gradualmente los vectores columna de una matriz A de dimensiones m por n en una matriz triangular superior En primer lugar se multiplica A con la matriz de Householder Q1 que obtenemos al elegir como vector x displaystyle mathbf x la primera columna de la matriz Esto proporciona una matriz QA con ceros en la primera columna excepto el elemento de la primera fila Q 1 A a 1 0 A 0 displaystyle Q 1 A begin bmatrix alpha 1 amp star amp dots amp star 0 amp amp amp vdots amp amp A amp 0 amp amp amp end bmatrix el procedimiento se puede repetir para A que se obtiene de A eliminando la primera fila y columna obteniendo asi una matriz de Householder Q 2 Hay que tener en cuenta que Q 2 es menor que Q1 Para conseguir que esta matriz opere con Q1A en lugar de A es necesario expandirla hacia arriba a la izquierda completando con un uno en la diagonal o en general Q k I k 1 0 0 Q k displaystyle Q k begin pmatrix I k 1 amp 0 0 amp Q k end pmatrix Tras repetir el proceso t displaystyle t veces donde t min m 1 n displaystyle t min m 1 n R Q t Q 2 Q 1 A displaystyle R Q t cdots Q 2 Q 1 A es una matriz triangular superior De forma que tomando Q Q 1 Q 2 Q t displaystyle Q Q 1 Q 2 cdots Q t A Q T R displaystyle A Q T R es una descomposicion QR de la matriz A displaystyle A Este metodo tiene una estabilidad numerica mayor que la del metodo de Gram Schmidt descrito arriba Una pequena variacion de este metodo se utiliza para obtener matrices semejantes con la forma de Hessenberg muy utiles en el calculo de autovalores por acelerar la convergencia del algoritmo QR reduciendo asi enormemente su coste computacional Ejemplo Editar Vamos a calcular la descomposicion de la matriz A 12 51 4 6 167 68 4 24 41 displaystyle A begin pmatrix 12 amp 51 amp 4 6 amp 167 amp 68 4 amp 24 amp 41 end pmatrix En primer lugar necesitamos encontrar una reflexion que transforme la primera columna de la matriz A vector a 1 12 6 4 T displaystyle mathbf a 1 12 6 4 T en a 1 e 1 14 0 0 T displaystyle mathbf a 1 mathrm e 1 14 0 0 T usando la expresion u a 1 a e 1 displaystyle mathbf u mathbf a 1 alpha mathbf e 1 y v u u displaystyle mathbf v mathbf u over mathbf u en nuestro caso a 14 displaystyle alpha 14 y a 1 12 6 4 T displaystyle mathbf a 1 12 6 4 T Por lo tanto u 2 6 4 T displaystyle mathbf u 2 6 4 T y v 1 14 1 3 2 T displaystyle mathbf v 1 over sqrt 14 1 3 2 T entonces Q 1 I 2 14 14 1 3 2 1 3 2 displaystyle Q 1 I 2 over sqrt 14 sqrt 14 begin pmatrix 1 3 2 end pmatrix begin pmatrix 1 amp 3 amp 2 end pmatrix I 1 7 1 3 2 3 9 6 2 6 4 displaystyle I 1 over 7 begin pmatrix 1 amp 3 amp 2 3 amp 9 amp 6 2 amp 6 amp 4 end pmatrix 6 7 3 7 2 7 3 7 2 7 6 7 2 7 6 7 3 7 displaystyle begin pmatrix 6 7 amp 3 7 amp 2 7 3 7 amp 2 7 amp 6 7 2 7 amp 6 7 amp 3 7 end pmatrix Ahora observamos Q 1 A 14 21 14 0 49 14 0 168 77 displaystyle Q 1 A begin pmatrix 14 amp 21 amp 14 0 amp 49 amp 14 0 amp 168 amp 77 end pmatrix con lo que ya casi tenemos una matriz triangular Solo necesitamos hacer cero en el elemento 3 2 Tomando la submatriz bajo el 1 1 y aplicando de nuevo el proceso a A M 11 49 14 168 77 displaystyle A M 11 begin pmatrix 49 amp 14 168 amp 77 end pmatrix Mediante el mismo metodo que antes obtenemos la matriz de Householder Q 2 1 0 0 0 7 25 24 25 0 24 25 7 25 displaystyle Q 2 begin pmatrix 1 amp 0 amp 0 0 amp 7 25 amp 24 25 0 amp 24 25 amp 7 25 end pmatrix Finalmente obtenemos Q Q 1 Q 2 6 7 69 175 58 175 3 7 158 175 6 175 2 7 6 35 33 35 displaystyle Q Q 1 Q 2 begin pmatrix 6 7 amp 69 175 amp 58 175 3 7 amp 158 175 amp 6 175 2 7 amp 6 35 amp 33 35 end pmatrix R Q A 14 21 14 0 175 70 0 0 35 displaystyle R Q top A begin pmatrix 14 amp 21 amp 14 0 amp 175 amp 70 0 amp 0 amp 35 end pmatrix La matriz Q es ortogonal y R es triangular superior de forma que A QR es la descomposicion QR buscada Mediante rotaciones de Givens Editar Las descomposiciones QR tambien puden calcularse utilizando una serie de rotaciones de Givens Cada rotacion anula hace cero un elemento en la subdiagonal de la matriz formando de este modo la matriz R La concatenacion de todas las rotaciones de Givens realizadas forma la matriz ortogonal Q En la practica las rotaciones de Givens no se utilizan en la actualidad para construir una matriz completa y realizar un producto de matrices En su lugar se utiliza un procedimiento de rotacion de Givens que es equivalente a la multiplicacion reducida de matrices de Givens sin el trabajo extra de manejar los elementos reducidos El procedimiento de rotacion de Givens es util en situaciones donde solo pocos elementos fuera de la diagonal necesitan ser anulados y es mas facil de paralelizar que las transformaciones de Householder Ejemplo Editar Calculemos la descomposicion de A 12 51 4 6 167 68 4 24 41 displaystyle A begin pmatrix 12 amp 51 amp 4 6 amp 167 amp 68 4 amp 24 amp 41 end pmatrix Primero necesitamos formar una matriz de rotacion tal que hagamos cero el elemento mas inferior a la izquierda a 31 4 displaystyle mathbf a 31 4 Construimos esta matriz empleando el metodo de la rotacion de Givens y llamamos la matriz resultante G 1 displaystyle G 1 Rotamos primero el vector 6 4 displaystyle 6 4 representandolo a lo largo del eje X Este vector forma un angulo 8 arctan 4 6 displaystyle theta arctan 4 over 6 Creamos la matriz ortogonal de rotacion de Givens G 1 displaystyle G 1 G 1 1 0 0 0 cos 8 sin 8 0 sin 8 cos 8 displaystyle G 1 begin pmatrix 1 amp 0 amp 0 0 amp cos theta amp sin theta 0 amp sin theta amp cos theta end pmatrix 1 0 0 0 0 83205 0 55470 0 0 55470 0 83205 displaystyle approx begin pmatrix 1 amp 0 amp 0 0 amp 0 83205 amp 0 55470 0 amp 0 55470 amp 0 83205 end pmatrix Y el resultado de G 1 A displaystyle G 1 A tiene ahora un cero en el a 31 displaystyle mathbf a 31 elemento G 1 A 12 51 4 7 21110 125 63959 33 83671 0 112 60414 71 83368 displaystyle G 1 A approx begin pmatrix 12 amp 51 amp 4 7 21110 amp 125 63959 amp 33 83671 0 amp 112 60414 amp 71 83368 end pmatrix Procedemos analogamente con las matrices de Givens G 2 displaystyle G 2 y G 3 displaystyle G 3 que hacen cero los elementos subdiagonales a 21 displaystyle a 21 y a 32 displaystyle a 32 formando una matriz triangular R displaystyle R La matriz ortogonal Q T displaystyle Q T es formada a partir del producto en cadena de todas las matrices de Givens Q T G 3 G 2 G 1 displaystyle Q T G 3 G 2 G 1 Luego tenemos G 3 G 2 G 1 A Q T A R displaystyle G 3 G 2 G 1 A Q T A R y la descomposicion QR es A Q R displaystyle A QR Relacion con el determinante EditarEs posible utilizar la descomposicion QR para encontrar el valor absoluto del determinante de una matriz Suponiendo que una matriz se descompone segun A Q R displaystyle A QR Entonces se tiene det A det Q det R displaystyle det A det Q cdot det R Puesto que Q es unitaria det Q 1 displaystyle det Q 1 Por tanto det A det R i r i i displaystyle det A det R Big prod i r ii Big donde r i i displaystyle r ii son los valores de la diagonal de R Datos Q653242Obtenido de https es wikipedia org w index php title Factorizacion QR amp oldid 132544242, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos