Algorithm Qr

18
5/20/2018 AlgorithmQr-slidepdf.com http://slidepdf.com/reader/full/algorithm-qr 1/18 Cap´ ıtulo 7 Reflexiones de Householder y el Algoritmo QR 7.1. Introducci´ on Hay otros dos m´etodos importantes para calcular la descomposici´on  QR  de una matriz: las reflexiones de Householder y las rotaciones de Givens. Ambos comparten la propiedad de ser procesos que conducen a una “triangularizaci´ on de la matriz dada mediante transformaciones ortogonales” (caso real) “o unitarias” (caso complejo). En este curso estudiaremos el primero de los dos m´ etodos (el de las reflexiones de Householder). Una buena referencia para el m´ etodo de las rotaciones de Givens es el libro de Golub y van Loan [9]. En realidad, estos dos m´ etodos, son el resultado de aplicar un teorema general de ´algebra que establece que toda transformaci´on ortogonal (o unitaria) es un producto de simetr´ ıas (reflexiones o giros). Los m´ etodos de Householder y Givens difieren de los de Gram-Schmidt en un hecho b´ asico fundamental. Para ver esta diferencia analicemos, de nuevo, el proecedi- 141

Transcript of Algorithm Qr

  • Captulo 7

    Reflexiones de Householder y elAlgoritmo QR

    7.1. Introduccion

    Hay otros dos metodos importantes para calcular la descomposicion QR de unamatriz: las reflexiones de Householder y las rotaciones de Givens. Ambos compartenla propiedad de ser procesos que conducen a una triangularizacion de la matriz dadamediante transformaciones ortogonales (caso real) o unitarias (caso complejo).En este curso estudiaremos el primero de los dos metodos (el de las reflexiones deHouseholder). Una buena referencia para el metodo de las rotaciones de Givens esel libro de Golub y van Loan [9]. En realidad, estos dos metodos, son el resultadode aplicar un teorema general de algebra que establece que toda transformacionortogonal (o unitaria) es un producto de simetras (reflexiones o giros).

    Los metodos de Householder y Givens difieren de los de Gram-Schmidt en unhecho basico fundamental. Para ver esta diferencia analicemos, de nuevo, el proecedi-

    141

  • 142 Reflexiones de Householder y el Algoritmo QR

    miento de ortonormalizacion de Gram-Schmidt: dada A

    a1 a2 an

    P Fmn

    (F=R o C) definimos q1 1

    r11a1 con r11 }a1}2. As, si

    R1 Diag

    1

    r11, 1, . . . , 1

    tenemos queA2 AR1

    q1 a2 an

    .

    A continuacion, ponemos r22 }a2}2 y

    q2 1

    r22pa2 pq

    1a2qq1q 1

    r22

    a2 r12r11

    a1

    1

    r22a2

    r12r11r22

    a1

    Si definimos

    R2

    1 r12r22

    0 0

    0 1r22

    0 0

    0 0 1 0...

    ......

    . . ....

    0 0 0 1

    tenemos queA3 A2R2 A1R1R2

    q1 q2 a3 an

    .

    Procediendo de esta forma sucesivamente podemos construir, para la matriz dadaA, matrices R1, R2,. . . , Rn de modo que

    AR1 . . . Rn Q,

    siendo Q una matriz cuyas columnas son ortonormales. Se pone, entonces, R R1n . . . R11 y se obtiene A QR, la descomposicion QR, reducida, de A.

    El metodo de Householder; y tambien el de Givens, cambia completamente elpunto de vista: se trata de realizar sobre la matriz A una serie de transformacionesunitarias (u ortogonales, en el caso real) Q1, Q2 . . . , Qn tales que

    Qn . . . Q1A R

    sea una matriz triangular superior. En lo sucesivo hablaremos de transformacionesy matrices unitarias pero se debe entender que si A es real las transformaciones ymatrices son ortogonales.

  • 7.1 Introduccion 143

    Lo primero que hay que observar es que mientras los metodos de ortonormali-zacion de Gram-Schmidt produce una factorizacion QR reducida, el de Householderproduce una factorizacion completa. En aquel caso Q es de tamano m n y R esn n. En el metodo de Householder cada Qi es unitaria (o, insistimos por ultimavez, ortogonal en el caso real);por lo tanto, de tamano mm. Y R sera de tamanom n.

    Sucintamente, el metodo de Householder consiste en construir matrices unitariaselementales (reflexiones) que operan sucesivamente sobre las columnas de A parareducir esta matriz a una forma triangular superior. Esquematicamente el procesosera el siguiente:

    x x xx x xx x xx x xx x x

    Q1

    x x x0 x x0 x x0 x x0 x x

    Q1A

    Q2

    x x xx x0 x0 x0 x

    Q2Q1A

    Q3

    x x xx x

    x00

    Q3Q2Q1A

    Q1 opera sobre las filas 1 a 5 para hacer ceros en todas las posiciones de la primeracolumna excepto en la posicion de la diagonal. A continuacion se construye unamatriz Q2, unitaria u ortogonal en el caso real, que opera sobre las filas 2 a 5 de lamatriz obtenida en el paso anterior, para hacer ceros en todas las posiciones de lasegunda columna por debajo de la diagonal principal. Y as sucesivmente. Es decir,para k 1, 2, . . . , n, Qk opera sobre Akp1 : k, 1 : nq haciendo ceros en las posicionespk 1, kq, pk 2, kq,. . . , pm, kq, donde A1 A y para k 1, Ak Qk1Ak1.

    Se debe observar que Qk no actua sobre las primeras k1 filas de Ak1; es decir,las deja intactas, por lo que tendra la siguiente forma:

    Qk

    Ik1 0

    0 Qk

    siendo Qk una matriz unitaria cuyo objetivo es reducir el vector formado por loselementos en las posiciones pk, kq, pk 1, kq,. . . , pm, kq de Ak1 a un vector cuyaunica componente posiblemente no nula sea la primera:

    Qk

    xx...x

    x0...0

    .

  • 144 Reflexiones de Householder y el Algoritmo QR

    La primera cuestion surge de forma natural: existe siempre, para cualquiervector, una matriz unitaria que lo reduce a otro cuya unica componente no nula sea,posiblemente, la primera?. Como veremos enseguida la respuesta es afirmativa y esla base del metodo de Householder.

    7.2. Las reflexiones de Householder

    El objetivo es resolver el siguiente problema: dado un vector x P Cn1 construiruna matriz unitaria Q P Cnn tal que

    Qx e1

    siendo e1 el vector p1, 0, . . . , 0q.

    Antes de nada debemos observar que, como Q es unitaria,

    ||2 }Qx}22 xQQx xx }x}22,

    de donde deducimos que }x}2 ||.

    La idea de Householder fue construir tal matriz como la matriz de una reflexion:una simetra respecto de un hiperplano. El caso particular de R2 nos servira comogua de lo que queremos conseguir: dado un vector x P R2 debemos encontrar unahiperplano (en este caso, una recta que pase por el origen) tal que el simetrico de xrespecto de este hiperplano sea e1 (Figura 7.1).

    H

    |x|| |2e1

    vx

    v1

    Figura 7.1: Reflexion sobre el ejede abscisas

    Suponiendo que 0, dicha recta (H enla figura) es la bisectriz del angulo que for-ma los vector x y e1. Sea v e1 x }x}2e1 x (este vector es el de la Figu-ra 7.1 pero trasladado al origen). Comoel triangulo formado por los vectores x,}x}2e1 y v (trasladado desde el origen alextremo de x) es isosceles, resulta que Hes perpendicular a v. Es decir,

    H v K

    Cual es la transformacion que lleva x so-bre }x}2e1?

  • 7.2 Las reflexiones de Householder 145

    Enseguida notamos que v1 es la proyeccion ortogonal de x sobre v a lo largo de

    H. Por lo tanto, si q v

    }v}2es el vector unitario en la direccion de v, tenemos que

    la proyeccion ortogonal sobre v es Pq qq; y

    v1 Pqx qqx.

    Como, finalmente, v 2v1 y x v }x}2e1 conclumos que

    pI 2qqqx }x}2e1.

    As pues, la matriz Q que representa la reflexion respecto de v K y que hace queQx }x}2e1 es

    Q I 2qq

    donde q v

    }v}2y v }x}2e1 x.

    Hay otra forma de reflejar x sobre el ejede abscisas: hacerlo sobre la direccion ne-gativa de este. Es decir, la reflexion sera

    Q1x }x}2e1.

    Razonando como antes, pero respecto dela Figura 7.2, sera Q1 I 2q1q

    1 conq1

    u}u}2

    y u }x}2e1 x.

    Todo lo anterior nos permite asegurarque en el caso R2, para un vector x dado,siempre podemos encontrar una transfor-macion ortogonal Q de forma que Qx }x}2e1. Ademas, nos dice que la matriz Qes una reflexion. Es decir, Q I 2q1q

    1

    con Q1 u}u}2

    y u }x}2e1 x. esta esnuestra gua para demostrar que lo mismoes posible en Cn.

    v

    H+

    H

    u1

    u

    |x|| |2e1 |x|+| |2e1

    x

    Figura 7.2: Las dos reflexion sobreel eje de abscisas

    Lema 7.1 Sea x

    x1...xn

    P Cn y escribamos x1 |x1|ei. Existen vectores unitarios

    u1, u2 P Cn tales que si Qui pIn 2uiui q, i 1, 2, entonces Qu1 }x}2eie1 yQu2 }x}2e

    ie1.

  • 146 Reflexiones de Householder y el Algoritmo QR

    Observacion: En el caso complejo no se puede asegurar, en general, que la primeracomponente de Quix vaya a ser real.

    Demostracion.- Elegimos los vectores u1 y u2 siguiendo la orientacion marcada porel caso R2. Definimos

    v1 }x}2eie1 x, v2 }x}2e

    ie1 x,

    y

    u1 v1}v1}

    , u2 v2}v2}

    .

    Veremos que, en efecto, Qu1x }x}2eie1. La demostracion de que Qu2 }x}2e

    ie1se hace igual.

    Qu1x pIn 2u1u

    1qx x 2pu

    1xqu1 x 2v1x

    pv1v1q1{2

    v1pv1v1q

    1{2 x 2

    v1x

    v1v1v1.

    Ahora bien

    v1x p}x}2eieT1 x

    qx }x}2eix1 xx }x}2eiei|x1| }x}

    22 }x}2p|x1| }x}2q.

    Yv1v1 p}x}2eieT1 x

    qp}x}2eie1 xq }x}22e

    T1 e1 }x}2eieT1 x }x}2e

    ixe1 xx }x}22 }x}2eix1 }x}2e

    ix1 }x}22

    2}x}22 }x}2ei|x1|e

    i }x}2e

    i|x1|ei

    2}x}22 2|x1|}x}2 2}x}2p}x}2 |x1|q.

    Por lo tanto

    Qu1x x 2}x}2p|x1| }x}2q

    2}x}2p}x}2 |x1|qv1 x v1 x }x}2e

    ie1 x }x}2eie1,

    tal y como se quera mostrar.

    Antes de continuar veamos un ejemplo en R4.

    Ejemplo 7.2 Sea x p3, 1, 5, 1q. Encontrar una reflexion Qu tal que Qux p, 0, 0, 0q.

  • 7.2 Las reflexiones de Householder 147

    Las operaciones las haremos con ayuda de MATLAB.

    Segun el Lema 7.1 debemos poner

    v }x}2eie1 x y u

    v

    }v}2.

    Ahora}x}2 ?

    9 1 25 1 6 y x1 3.

    Por lo tanto

    v p6, 0, 0, 0q p3, 1, 5, 1q

    "

    p3,1,5,1q v1p9,1,5,1q v2

    Entonces

    u1 1

    6p3,1,5,1q y v2

    1?

    116p9,1,5,1q.

    As

    Qu1 pI4 2u1u

    1q

    1{2 1{6 5{6 1{61{6 17{18 5{18 1{185{6 5{18 7{18 5{181{6 1{18 5{18 17{18

    .

    Entonces

    Qu1x

    6000

    .

    De la misma forma

    Qu2 pI4 2u2u

    2q

    1{2 1{6 5{6 1{61{6 53{54 5{54 1{545{6 5{54 29{54 5{541{6 1{54 5{54 53{54

    .

    Y Qu2x 6e1.

    Ahora podemos describir el proceso de triangularizacion de Householder. La induc-cion del siguiente teorema lo pone claramente de manifiesto.

  • 148 Reflexiones de Householder y el Algoritmo QR

    Teorema 7.3 Sea A P Cmn y m n. Existen vectores unitarios u1, . . . , un talesque para i 1, . . . , n, ui P Cmi1 y si Qui Imi1 2uiui y

    Qi

    Ii1 00 Qui

    P Cmm

    entoncesQn . . . Q1A DR

    siendo D P Cmm una matriz diagonal unitaria y R P Cmn una matriz triangularsuperior cuyos elementos diagonales son numeros reales.

    Demostracion.- Procederemos por induccion sobre n. Si n 1 entonces A P Cm1.Si A 0 escogemos cualquier vector unitario u P Cm1 y ponemos D Im yR 0 P Cm1. Claramente, QuA DR.

    Si A 0, por el Lema 7.1 existe u1 P Cm1, unitario, tal que Qu1A }A}2eie1(con se quiere decir que se puede elegir u1 para que Qu1A }A}2e

    ie1 y sepuede elegir u1 para que Qu1A }A}2e

    ie1. Arrastraremos esta notacion), siendo el argumento de la primera componente de A. Entonces

    Qu1A DR

    con

    D Diagpei, Im1q y R

    }A}20...0

    .

    Supongamos el teorema verdadero para matrices hasta con n 1 columnas y seaA P Cmn. Escribamos A

    a1 A1

    . Por el primer paso de la induccion, existeu1 P Cm1, unitario, tal que Qu1a1 }a1}2eie1. As

    Qu1A

    }a1}2ei xT

    0 B

    con x P Cpn1q1 y B P Cpm1qpn1q. Aplicamos la hipotesis de induccion a B.Existen vectores unitarios u2, . . . , un tales que para i 2, . . . , n, ui P Cpmi1q1 ysi Qui Imi1 2uiu

    i y

    Qi

    Ii2 00 Qui

  • 7.2 Las reflexiones de Householder 149

    (Q2 Qu2) entoncesQn . . . Q2C DR,

    siendo D P Cpm1qpm1q una matriz diagonal unitaria y R P Cpm1qpn1q una matriztriangular superior cuyos elementos diagonales son numeros reales. Sea Q1 Qu1 y

    Qi

    1 0

    0 Qi

    P Cmm, i 2, . . . , n.

    Entonces

    Qn . . . Q2Q1A

    }a1}2ei xT

    0 DR

    .

    Poniendo

    D Diagpei, Dq, y R

    }a1}2 xT

    0 R

    obtenemos el resultado deseado.

    Observaciones 7.4 1. Las matrices de la forma Qu In 2uu, con u P Cn1

    unitario, se llaman matrices de Householder o transformaciones de Househol-der o reflexiones de Householder, por ser Householder quien puso de manifiestosu interes en el calculo numerico. Estas matrices tienen algunas propiedadesimportantes:

    (i) Son matrices hermticas (simetricas en el caso real). En efecto,

    Qu pIn 2uu

    q

    In 2u

    u In 2uu

    Qu

    (ii) Son unitarias:

    QuQ

    u pIn 2uu

    qpIn 2uu

    q In 4uu

    4uuuu In

    donde hemos utilizado que uu 1 porque u es unitario.

    (iii) De las dos propiedades anteriores se deduce que Q1u Q

    u Qu. Esdecir, la inversa de una matriz de Householder es ella misma.

    2. Para que una matriz D P Cmm sea diagonal y unitaria debe ser de la formaD Diagpei1 , . . . , eimq. Por lo tanto, si A P Rmn es real en el Teorema 7.3,debemos concluir que D Im y que las matrices Qui y R son reales. Es decir,en el caso real las matrices de Householder son ortogonales.

  • 150 Reflexiones de Householder y el Algoritmo QR

    3. En el Teorema 7.3 no se ha fijado el signo de los elementos diagonales de lamatriz R. Ello es debido a que dos elecciones de vectores ui es posible. Esdecir, es posible elegir tanto vi }ai}2e

    ie1 ai como vi }ai}2eie1 ai.

    Para ambas elecciones, definiendo ui vi{}vi}2, las matrices Qui I 2uiu

    i

    permiten llevar la matriz A a forma triangular. El signo de los elementosdiagonales depende de la eleccion realizada. Ahora bien, esta eleccion no esinocua desde el punto de vista del calculo numerico. El siguiente ejemplo, hechocon MATLAB, lo pone de manifiesto:

    >> A=[2 3; 10^(-7) 4]

    A =

    2.000000000000000 3.000000000000000

    0.000000100000000 4.000000000000000

    >> v1=norm(A(:,1))*[1;0]-A(:,1), v2=-norm(A(:,1))*[1;0]-A(:,1)

    v1 =

    1.0e-07 *

    0.000000022204460

    -1.000000000000000

    v2 =

    -4.000000000000002

    -0.000000100000000

    >> u1=v1/norm(v1), u2=v2/norm(v2)

    u1 =

    0.000000022204460

    -1.000000000000000

    u2 =

    -1.000000000000000

    -0.000000025000000

    >> Q1=eye(2)-2*u1*u1, Q2=eye(2)-2*u2*u2

    Q1 =

    0.999999999999999 0.000000044408921

    0.000000044408921 -0.999999999999999

    Q2 =

    -0.999999999999999 -0.000000050000000

    -0.000000050000000 0.999999999999999

  • 7.2 Las reflexiones de Householder 151

    >> Q1*Q1, Q2*Q2

    ans =

    1.000000000000000 -0.000000000000000

    -0.000000000000000 1.000000000000000

    ans =

    1.000000000000001 0.000000000000000

    0.000000000000000 1.000000000000000

    >> R1=Q1*A, R2=Q2*A

    R1 =

    2.000000000000002 3.000000177635681

    -0.000000011182158 -3.999999866773233

    R2 =

    -2.000000000000003 -3.000000199999997

    -0.000000000000000 3.999999849999995

    La primera columna, a1, de A esta casi en la direccion de e1 p1, 0q. Sielegimos v1 }a1}2e1 a1 la matriz Q1 es ortogonal pero el elemento de laposicion p2, 1q de R1 Q1A es del orden de 108, un orden mas que el elementop2, 1q de A. Sin embargo, si elegimos v2 }a1}2e1 a1 entonces Q2 es unpoco menos ortogonal que Q1, pero R2 Q2A es perfectamente triangular(hasta la precision con la que trabajamos 1016).

    Este ejemplo no es especialmente rebuscado, sucede muy a menudo. Si losvector x P Rm1 y }x}2e1 son casi iguales (i.e., x1 }x}2, x2, x3,. . . , xm soncasi cero), al hacer la diferencia

    v }x}e1 x

    }x}2 x1x2

    ...xm

    tenemos que hacer la resta }x}2 x1 de dos cantidades casi iguales. Este pro-blema, tal y como se ve en los problemas del Captulo 4, esta mal condicionadoy los errores de redondeo pueden dar lugar a calculos inexactos. Esto no sucede

  • 152 Reflexiones de Householder y el Algoritmo QR

    si elegimos

    v }x}e1 x

    }x}2 x1x2

    ...xm

    porque entonces lo que tenemos que hacer es sumar |x}2 x1, y la suma es unproblema bien condicionado

    De la misma forma si x y }x}2e1 son casi iguales y debemos elegir v }x}2e1 x.

    En conclusion, la eleccion apropiada para v es

    v signpx1q}x}2eie1 x

    donde signpx1q es el signo de x1; es decir, signpx1q 1 si x1 0 y signpx1q 1 si x1 0. Y para ser completamente exahustivos en este punto debemosconsiderar el caso en que x1 0. En este caso se define signpx1q 1. Sedebe observar que MATLAB no considera el caso en que x1 pueda ser ceroy hay que definirlo explcitamente. Debe observarse tambien que puesto queQu I 2uu se puede, igualmente, elegir

    v signpx1q}x}2eie1 x,

    que es la eleccion habitual.

    4. Teniendo en cuenta que Q1u Qu y que, segun el Teorema 7.3 para cadaA P Cmn existen matrices de Householder Qui , i 1, . . . , n tales que

    Qun . . . Qu1A DR,

    tenemos queA Qu1 . . . QunDR.

    Si ponemos Q Qu1 . . . QunD, resulta que

    A QR

    es una factorizacion QR de A. Esta es una factorizacion QR completa; paraobtener una factorizacion reducida basta suprimir de Q las ultimas m ncolumnas y de R sus ultima m n filas (que son filas cero).

  • 7.2 Las reflexiones de Householder 153

    5. Vamos a hacer explcito el proceso constructivo de factorizacionQR que esta detrasde la induccion en el Teorema 7.3. El objetivo es formular un algoritmo queproduzca una factorizacion QR de una matriz arbitraria A P Rmn. Por ello,nos centraremos en el caso real. Supongamos A P Rmn dada. El Teorema 7.3nos dice que existen vectores unitarios u1, u2,. . . , un, ui P Rmi1 tales que siQui Imi1 2uiu

    i y Qi DiagpIi1, Quiq entonces

    Qi1 . . . Q1A

    r11

    0. . .

    0 0 ri1 i1 0 Ai

    Como Qi DiagpIi1Quiq

    QiQi1 . . . Q1A

    r11

    0. . .

    0 0 ri1i1 0 QuiAi

    Es decir la accion de Qi sobre la matriz obtenida hasta el paso i1 solo afectaa la submatriz Ai. Y

    QuiAi pImi1 2uiu

    i qAi Ai 2uiu

    iAi.

    Esta es la operacion que tenemos que realizar en cada paso de el procesoiterativo sobre A.

    Algo similar sucede con la matriz Q. Recordemos que Q Q1Q2 Qn. Siponemos rQi Q1Q2 qi, i 1, . . . n tenemos que

    rQi rQi1

    Ii1 00 Qui

    .

    Por lo tanto, en el paso i solo quedan afectadas las m i ultimas columnas derQi. As pues

    rQip:, i : mqQui rQi1p:, i : mq 2 rQi1p:, i : mquiu

    i .

  • 154 Reflexiones de Householder y el Algoritmo QR

    Algoritmo QR de Householder (Caso real)

    Dada A P RmnR A, Q Imfor k 1 to n

    x Rrpk, . . . ,mq|pkqsu signpx1q}x}2e1 x

    u u

    }u}2Rrpk, . . . ,mq|pk, . . . , nqs Rrpk, . . . ,mq|pk, . . . , nqs

    2uuRrpk, . . . ,mq|pk, . . . , nqsQp:, k : mq Qp:, k : mq 2Qp:, k : mquu

    end for

    La salida de este algoritmo debe ser: una matriz ortogonal Q y una matriz triangularsuperior R tales que A QR. Se trata, como ya se ha dicho, de una factorizacionQR completa de A. Ya se ha indicado mas arriba como conseguir una factorizacionreducida a partir de esta.

    Una observacion final: El algoritmo QR de Householder, en el caso real, devuelveuna matriz triangular superior R cuyos elementos diagonales son numeros reales peroque pueden ser positivos o negativos. Los algoritmos de GramSchmidt devuelvenmatrices R con numeros reales positivos en la diagonal. Se puede conseguir queel algoritmo de Householder tambien proporcione matrices R con numeros realespositivos (o negativos) en la diagonal. Para ello, si el elemento en la posicion pk, kqes, digamos, negativo, multiplicamos la k-esima fila de R por 1 y tambien la k-esima columna de Q por 1. Es decir, si Ek Diagp1, . . . ,1, . . . , 1q (1 en lak-esima posicion) entonces A QEkEkR. Como Ek es unitaria, tambien lo es QEk.Y tambien EkR es triangular superior. En el algoritmo bastara anadir las siguienteslneas de codigo justo antes de finalizar el bucle for:

    if Rpk, kq 0Rpk, k : nq Rpk, k : nqQp:, kq Qp:, kq

    end if

  • 7.3 Numero de operaciones 155

    7.3. Numero de operaciones

    Estudiamos a continuacion el coste del algoritmo QR por transformaciones de Hou-seholder.

    Antes de nada debemos hacer una observacion que es pertinente tambien para lasiguiente seccion donde estudiaremos la estabilidad de este algoritmo: tal y comose ha expuesto aqu el algoritmo (recuadro con el Algoritmo de Householder (Casoreal)) la matriz Q se forma explcitamente. Sin embargo, esto no es estrictamentenecesario ya que Q es producto de reflexiones de Householder y estas quedan de-terminadas completamente por los sucesivos vectores unitarios u. Podramos pensarque lo que devuelve el algoritmo no son las matrices R y Q sino la matriz R y los nvectores unitarios u que permiten (si se desea) construir la matriz Q. Teniendo encuenta esto, las operaciones del algoritmo se encuentran en el bucle

    (1) x Rrpk, . . . ,mq|pkqs(2) u signpx1q}x}2e1 x

    (3) u u

    }u}2(4) Rpk : m, k : nq Rpk : m, k : nq 2uuRpk : m, k : nq

    que se realiza para k 1 : n. El numero m k 1 aparece muy frecuentementeporque es el tamano del vector x. Pongamos ` mk1 para abreviar la notacion.

    La sentencia (1) es una asignacion y por lo tanto en ella no se realizan flops. En lasentencia (2) se hacen:

    ` multiplicaciones: x21, x22,. . . , x

    2` .

    ` 1 sumas: x21 x2` .

    1 raz cuadrada:a

    x21 x2`

    1 multiplicacio en }x}2e1.

    1 suma para la primera componente de x.

    En total 2` 2 2pm k 2q flops. Como k 1 : n, el numero total de flops

  • 156 Reflexiones de Householder y el Algoritmo QR

    necesarios para implementar la sentencia (2) es

    n

    k1

    2pm k 2q 2n

    k1

    pm n 1 kq 2npm n 1q 2npn 1q

    2 2mn n2 potencias menores en m y n.

    Para implementar la sentencia (3) se necesita un numero similar de flops. Es en lasentencia (4) donde se acumula la mayor parte de las flops como veremos ahora.Analicemos cuantas son necesarias para cada j k : n:

    Rpk : m, jq Rpk : m, jq 2upuRpk : m, jqq

    Los parentesis en upuRpk : m, jqq indican la forma que asociamos para realizarlos productos. Notese que uRpk : m, jq es un producto escalar y, por tanto, unnumero cuya formacion requiere ` productos y ` 1 sumas. En total, 2` 1 flops.Ahora, si ponemos x uRpk : m, jq tenemos que multiplicar el numero x por2u; es decir, 2x requiere un producto y 2xu requiere ` productos para un total de` 1 flops. Finalmente, si v 2xu tenemos que hacer la resta Rpk : m, jq v;lo cual requiere ` flops. As pues, el numero total de flops para cada j k : n esp2` 1q p` 1q ` 4`. Y el numero total de flops involucrados en la sentencia(4) para cada k 1 : n son 4`pn k 1q 4pm k 1qpn k 1q. . As pues, elnumero total de flops necesarios para la sentencia (4) es

    n

    k1

    4pm k 1qpn k 1q 4n

    k1

    pm n kqk 4pm nqn

    k1

    k 4n

    k1

    k2

    4pm nqnpn 1q

    2 4

    npn 1qp2n 1q

    6

    2mn2 2

    3n3 potencias menores en m y n.

    Teorema 7.5 El algoritmo QR de Householder (caso real) requiere 2mn2 2

    3n3

    flops para calcular la factorizacion QR de una matriz m n.

    Notese que este algoritmo requiere del orden de2

    3n3 flops menos que los algoritmos

    de Gram-Schmidt.

  • 7.4 Estabilidad del algoritmo de Householder 157

    7.4. Estabilidad del algoritmo de Householder

    Estrictamente hablando el algoritmo de Householder para la factorizacion QR nopuede ser estable hacia atras si se entiende que el objetivo del mismo es calcular paracada matriz AmatricesQ, unitaria (ortogonal), y R, triangular superior con numerosreales en la diagonal. La razon es la misma que la que impide que ningun algoritmopara el calculo de la descomposicion en valores singulares de una matriz sea establehacia atras (Problema 6 de la Leccion ??). En efecto, para cualquier algoritmosiempre habra matrices, A, cuya matriz Q no sea exactamente unitaria (ortogonal)siendo imposible, por lo tanto, que tal matriz Q sea la matriz exactamente unitaria(ortogonal) de alguna matriz proxima a A.

    Dicho lo anterior, y recordando (ver Seccion 7.3) que la formacion de la matriz Qen el algoritmo de Householder se hace a partir de los vectores unitarios que seconstruyen en los pasos

    u signpx1q}x}2e1 x

    u u

    }u}2

    del algoritmo, podemos interpretar que el resultado que se busca no es la matriz Qexplcitamente, sino cada uno de los vectores unitarios v1, v2,. . . , vn que, una veznormalizados, se usan para construir las reflexiones cuyo producto permite obtenerla matriz unitaria (ortogonal) Q:

    Q Q1Q2 Qn, Qi Im 2uiu

    i , ui vi}vi}

    .

    Si se entiende que el problema de la factorizacion QR consiste en, para cada A PFmn (n m), obtener vectores v1, v2,. . . , vn en Fm1 tales que si Qi Im 2uiui ,ui

    vi}vi}

    , y Q Q1Q2 Qn entonces A QR con R triangular superior con nume-

    ros reales en la diagonal, entonces el algoritmo de Householder para la factorizacionQR es estable hacia atras para cualquier matriz A. En efecto, tal algoritmo aplicadoa A P Fmn producira una matriz triangular superior rR, con numeros reales en la

    diagonal, y vectores rvi, i 1, . . . , tales que definiendo rui rvi}rvi}

    , rQi Im 2ruiru

    i ,

    i 1, . . . , n, y rQ oQ1 rQn entonces rQ rR es una factorizacion QR exacta de unamatriz rA proxima a A. El siguiente teorema, que damos sin demostracion, establecela estabilidad hacia atras del algoritmo de Householder rigurosamente:

  • 158 Reflexiones de Householder y el Algoritmo QR

    Teorema 7.6 Supongamos que el algoritmo QR por reflexiones de Householder seaplica en un ordenador que cumple los dos axiomas de la aritmetica de punto flotante(5.2) y (5.4) de la Leccion 5. Sea A P Fmn una matriz arbitraria. Sean rQ y rR comomas arriba. Entonces existe una matriz rA A A tal que

    }A}

    }A} OpMq

    y rQ rR A A.