Algoritmo QR y el problema de mı́nimos cuadrados Curso 2016-17 1 El método de Householder Objetivo: Realizar transformaciones elementales en las filas de A para obtener una matriz triangular superior: Qn · . . . · Q1 A = R Qi unitaria. x x x x x x x x x x x x → x Q1 x x x 0 0 0 0 x x x x x x x → x Q2 x x x x x x x → 0 x Q3 0 x 0 x x x x x x x 0 0 Para k = 1, 2, . . . , n, Qk opera sobre A(k : m, 1 : n) haciendo ceros en las posiciones (k + 1, k), (k + 2, k),. . . , (m, k). 2 Transformaciones de Householder Objetivo: Para x ∈ Cn×1 encontrar una matriz unitaria Q ∈ Cn×n tal que α 0 Qx = . = αe1 .. 0 kQxk2 = kxk2 ⇒ |α| = kxk2 ⇒ α = e iθ kxk2 . Householder: Q es la matriz de una reflexión. Lema Sea x = (x1 , . . . , xn ) ∈ Cn y x1 = |x1 |e iθ . Existen vectores unitarios u1 , u2 ∈ Cn×1 tales que si Qui = (In − 2ui ui∗ ), i = 1, 2, entonces Qu1 x = +kxk2 e iθ e1 y Qu2 x = −kxk2 e iθ e1 . 3 El procedimiento de Householder Dada A = a1 a2 · · · an ∈ Cm×n , (m ≥ n): v1 , v1 = ±ka1 k2 e iθ1 e1 − a1 tal que Existe u1 = kv1 k2 Qu1 a1 = ±ka1 k2 e iθ1 e1 : iθ e 1 1 ±ka1 k2 c ∗ Qu1 A = .. 0 B . 1 v2 Si B = b1 b2 · · · bn−1 , existe u2 = , kv2 k2 v2 = ±kb1 k2 e iθ2 e1 − b1 tal que Q̃u2 = ±kb1 k2 e iθ2 e1 : iθ e 1 ∗ ±ka k d d iθ 2 1 2 1 e 1 0 ±kb1 k2 f ∗ Qu1 A = . .. Q̃u2 0 0 C 1 Y ası́ sucesivamente. 4 Observaciones 1 2 Si A ∈ Rm×n entonces D = In y Qu1 ,. . . , Qun son reales; i.e., Qui ortogonal. El signo es importante por razones de redondeo. Se elige opuesto al signo de x1 (la primera componente de x). Ası́ v = −sign(x1 )kxk2 e iθ e1 − x o teniendo en cuenta que Qu = Im − 2uu ∗ v = sign(x1 )kxk2 e iθ e1 + x 3 Qu∗i = Qui y como es unitaria Qu∗i = Qu−1 . Ası́ i A = Qu1 · · · Qun DR. Poniendo Q = Qu1 · · · Qun D, Q es unitaria y QR es una descomposición QR completa de A. Una descomposición reducida se obtiene suprimiendo las última m − n columnas de Q y las últimas m − n filas (ceros) de R. 5 4 Rm×n Más observaciones Dada A ∈ existen vectores unitarios u1 , u2 ,. . . , un , m−i+1 ui ∈ R , tales que si Qui = Im−i+1 − 2ui uiT y Qi = Diag(Ii−1 , Qui ) entonces r11 ∗ ∗ ∗ 0 ... ∗ ∗ Qi−1 · . . . · Q1 A = 0 0 ri−1 i−1 ∗ 0 Ai Como Qi = Diag(Ii−1 Qui ) r11 ∗ ∗ ∗ 0 ... ∗ ∗ Qi Qi−1 · . . . · Q1 A = 0 0 ri−1i−1 ∗ 0 Qui Ai La acción de Qi sobre la matriz obtenida hasta el paso i − 1 sólo afecta a la submatriz Ai y a las últimas m − i + 1 columnas de b i−1 = Q1 · . . . · Qi−1 : Q Qui Ai = (Im−i+1 − 2ui uiT )Ai = Ai − 2ui uiT Ai b i (:, i : m) = Q b i−1 (:, i : m) − 2Q b i−1 (:, i : m)ui u T Q 6 i Algoritmo de Householder (Caso Real) Dada A ∈ Rm×n R=A Q = Im (b) for k = 1 to n x = R(k : m, k) u = sign(x1 )kxk2 e1 + x (a) u (c) u= kuk2 R(k : m, k : n) = R(k : m, k : n) − 2uu T R(k : m, k : n) Q(:, k : m) = Q(:, k : m) − 2Q(:, k : m)uu T (d) end for Nota: En la práctica Q no se construye explı́citamente. Se almacenan los vectores de (a) en una matriz triangular y, cuando se quiera disponer de la matriz Q, se llama a otro algoritmo que ejecute las sentencias (b), (c) y (d). 7 Coste del algoritmo de Householder (sin el cálculo de Q) El mayor número de operaciones se hace en: R(k : m, k : n) = R(k : m, k : n) − 2(u(u T R(k : m, k : n))), k =1:n Sea ` = m − k + 1= número de filas de R(k : m, k : n). Para j = k : n: Producto escalar u T R(k : m, j) → ` productos y ` − 1 sumas. Si x = u T R(k : m, j) ∈ R, 2(u(u T R(k : m, j))) = 2xu → ` + 1 productos. Si w = 2uu T R(k : m, j), R(k : m, j) = R(k : m, j) − w → ` restas. Para cada k = 1 : n y j = k : n, (2` − 1) + (` + 1) + ` = 4` flops. n P n P k=1 j=k 4(m − k + 1) = n P k=1 4(m − k + 1)(n − k + 1) 2 = 2mn2 − n3 + potencias menores en m y n 3 Coste ∼ 2n2 m − 32 n3 8 Estabilidad del algoritmo QR por reflexiones de Householder Problema: f : Fm×n → Fm×m × Fm×n A → (Q, R) Q unitaria, R triangular superior y A = QR. No hay algoritmos estables hacia atrás para este problema 9 El teorema de estabilidad hacia atrás En el algoritmo por reflexiones de Householder: Q = Q1 Q2 · · · Qn y Qi = I − 2ui ui∗ , ui = kvvii k . Para el algoritmo QR por reflexiones de Householder aplicado a A: vb1 ,. . . , vbn : vectores con los que se construye el factor Q. b 1 ,. . . , Q b n las matrices exactamente unitarias construı́das con los vbi . Q b =Q b1Q b2 · · · Q bn y R b el factor triangular superior Q Teorema Supongamos que el algoritmo QR por reflexiones de Householder se aplica en un ordenador que cumple los dos axiomas de la aritmética de punto b yR b flotante de la Lección 5. Sea A ∈ Fm×n una matriz arbitraria. Sean Q e = A + δA tal que como más arriba. Entonces existe una matriz A kδAk = O(M ) kAk bR b = A + δA. yQ 10