Factorización QR Departamento de Matemáticas, CCIR/ITESM 9 de febrero de 2011 Índice 23.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2. Factorización QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3. Algoritmo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1. 1 1 2 Introducción En esta lectura veremos el proceso para obtener la factorización QR de una matriz. Esta factorización es utilizada para la solución por mı́nimos cuadrados y da un algoritmo numérico para determinar los valores propios de una matriz cuadrada. 23.2. Factorización QR Teorema Si A es una matriz m × n con columnas linealmente independientes, entonces A puede factorizarse en la forma A = QR (1) en la que Q es una matriz con columnas ortonormales y R es una matriz triangular superior. Demostración Sean a1 ,a2 ,. . . ,an las columnas de A y sean q1 ,q2 ,. . . ,qn los vectores obtenidos al ortonormalizarlas según el proceso de Gram-Schmidt. Ası́, Gen(a1 , a2 , . . . , an ) = Gen(q1 , q2 , . . . , qn ) Definamos Q = [q1 q2 · · · qn ] Como cada ai es combinación lineal de q1 ,. . . ,qn deben existir escalares rij tales que r1i ai = r1i q1 + · · · + rni qn = Q ... para i = 1, . . . , n rni siendo rji = 0 para j = i + 1, . . . , n y para i = 1, . . . n, de acuerdo r11 A = [a1 · · · an ] = Q ... · · · Q 0 al proceso de Gram-Schmidt. Ası́, r1n .. = QR . rnm Figura 1: Ejemplo 1: cálculo de la factorización QR de A. donde R es la matriz cuyo elemento (i, j) es rij . Las matrices buscadas son las matrices Q y R: Q tiene sus columnas ortonormales y R es triangular superior. Asimismo R debe ser invertible pues en caso contrario Rx = 0 tendrı́a infinitas soluciones y por ende también QRx = Ax = 0 contradiciendo el hecho de que las columnas de A son linealmente independientes. Nota En la práctica la matriz R se calcula mediante la fórmula: R = QT · A Ejemplo 23.1 Determine una factorización QR para la matriz 1 −2 1 3 2 A = −1 1 −1 −4 Solución Al aplicarle el proceso de Gram-Schmidt a las columnas de A obtenemos: √1 √2 0 3 6 1 q1 = − √13 , q2 = √2 , q3 = √16 √1 √1 − √16 2 3 Por tanto y Q= √1 3 − √13 √1 3 √ R = QT · A = 0 √1 2 √1 2 √2 6 √1 6 − √16 √ √ 3 −2 √3 − 35 √3 0 2 −2√ 3 0 0 13 96 Los cálculos anteriores pueden hacerse en la calculadora TI. Si seleccionamos el modo exacto, definimos la matriz A y aplicamos la rutina de factorización QR tendremos la salida de la figura 1 La figura 2 despliega la matriz Q calculada. La figura 3 despliega la matriz R calculada. y la comprobación de que el producto efectivamente da A. La figura 4 muestra la comprobación de que el producto efectivamente da A. 2 Figura 2: Ejemplo 1: Matriz Q de la factorización QR de A. Figura 3: Ejemplo 1: Matriz R de la factorización QR de A. Figura 4: Ejemplo 1: Comprobación de la factorización QR de A. 3 23.3. Algoritmo QR Para una matriz A n × n invertible, cuyos valores propios λ1 , . . . , λn son tales que |λ1 | < |λ2 | < · · · < |λn | Hacer: 1. Tomar A0 = A. 2. Para i = 0, 1, 2, . . . , k − 1 hacer: a) Determinar la descomposición QR de Ai = Qi Ri . b) Tomar Ai+1 = Ri Qi Resultado: Ak se aproxima a una matriz triangular cuyos elementos diagonales son todos los valores propios de A. Ejemplo 23.2 Aplique el algoritmo QR a la matriz: A= 8 7 1 2 Solución Tomamos A0 = A. Determinamos una factorización QR de A0 : 0.9922 −0.1240 8.0622 7.1940 A 0 = Q 0 R0 = · 0.1240 0.9922 0.0000 1.1163 Por tanto, A 1 = R0 Q 0 = 8.8923 6.1384 0.1384 1.1076 Determinamos una factorización QR de A1 : 8.8933 6.1549 0.9998 −0.1556 · A 1 = Q 1 R1 = 0.0000 1.0119 0.0155 0.9998 Por tanto, A 2 = R1 Q 1 = 8.9881 6.0157 0.0157 1.0118 Determinamos una factorización QR de A2 : 0.9999 −0.0017 8.9881 6.0175 A 2 = Q 2 R2 = · 0.0017 0.9999 0.0000 1.0013 Por tanto, A 3 = R2 Q 2 = 8.9986 6.0107 0.0017 1.0013 Concluimos que los valores propios de A son aproximadamente 9 y 1. Las figuras 5,6 y 7 muestran la sucesión de cálculos del algorimto QR para aproximar los valores propios de A. 4 Figura 5: Ejemplo 2: Iteración 1 del algoritmo QR. Figura 6: Ejemplo 2: Iteraciones 2 y 3 del algoritmo QR. Figura 7: Ejemplo 2: Iteraciones 4 y 5 del algoritmo QR. 5