Reflexiones de Householder y el
Algoritmo QR
7.1.
Introducci´
on
Hay otros dos m´etodos importantes para calcular la descomposici´onQR 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
miento de ortonormalizaci´on de Gram-Schmidt: dadaAa1 a2 an PFmn (F=R o C) definimos q1 1 r11 a1 con r11 }a1}2. As´ı, si R1 Diag 1 r11 ,1, . . . ,1 tenemos que A2 AR1 q1 a2 an . A continuaci´on, ponemos r22 }a2}2 y q2 1 r22p a2 pq1a2qq1q 1 r22 a2 r12 r11 a1 1 r22 a2 r12 r11r22 a1 Si definimos R2 1 r12 r22 0 0 0 r122 0 0 0 0 1 0 ... ... ... ... ... 0 0 0 1 tenemos que A3 A2R2 A1R1R2 q1 q2 a3 an .
Procediendo de esta forma sucesivamente podemos construir, para la matriz dada A, matrices R1,R2,. . . , Rn de modo que
AR1. . .Rn Q,
siendo Q una matriz cuyas columnas son ortonormales. Se pone, entonces, ˆR R1
n . . .R11 y se obtiene AQR, la descomposici´onˆ QR, reducida, de A.
El m´etodo de Householder; y tambi´en el de Givens, cambia completamente el punto de vista: se trata de realizar sobre la matriz A una serie de transformaciones unitarias (u ortogonales, en el caso real)Q1, Q2 . . . , Qn tales que
Qn. . .Q1AR
sea una matriz triangular superior. En lo sucesivo hablaremos de transformaciones y matrices unitarias pero se debe entender que si A es real las transformaciones y matrices son ortogonales.
Lo primero que hay que observar es que mientras los m´etodos de ortonormali-zaci´on de Gram-Schmidt produce una factoriortonormali-zaci´onQR reducida, el de Householder produce una factorizaci´on completa. En aquel caso Q es de tama˜no mn y R es nn. En el m´etodo de Householder cada Qi es unitaria (o, insistimos por ´ultima vez, ortogonal en el caso real);por lo tanto, de tama˜no mm. Y R ser´a de tama˜no mn.
Sucintamente, el m´etodo de Householder consiste en construir matrices unitarias elementales (reflexiones) que operan sucesivamente sobre las columnas de A para reducir esta matriz a una forma triangular superior. Esquem´aticamente el proceso ser´ıa el siguiente: x x x x x x x x x x x x x x x Q1 Ñ x x x 0 x x 0 x x 0 x x 0 x x Q1A Q2 Ñ x x x x x 0 x 0 x 0 x Q2Q1A Q3 Ñ x x x x x x 0 0 Q3Q2Q1A
Q1 opera sobre las filas 1 a 5 para hacer ceros en todas las posiciones de la primera
columna excepto en la posici´on de la diagonal. A continuaci´on se construye una matrizQ2, unitaria u ortogonal en el caso real, que opera sobre las filas 2 a 5 de la
matriz obtenida en el paso anterior, para hacer ceros en todas las posiciones de la segunda columna por debajo de la diagonal principal. Y as´ı sucesivmente. Es decir, para k1,2, . . . , n, Qk opera sobreAkp1 :k,1 :nq haciendo ceros en las posiciones
pk 1, kq, pk 2, kq,. . . , pm, kq, dondeA1 A y para k ¡1,Ak Qk1Ak1.
Se debe observar queQkno act´ua sobre las primerask1 filas deAk1; es decir,
las deja intactas, por lo que tendr´a la siguiente forma: Qk
Ik1 0
0 Qk˜
siendo ˜Qk una matriz unitaria cuyo objetivo es reducir el vector formado por los elementos en las posiciones pk, kq, pk 1, kq,. . . , pm, kq de Ak1 a un vector cuya
´
unica componente posiblemente no nula sea la primera:
˜ Qk x x ... x x 0 ... 0 .
La primera cuesti´on surge de forma natural: ¿existe siempre, para cualquier vector, 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 es la base del m´etodo de Householder.
7.2.
Las reflexiones de Householder
El objetivo es resolver el siguiente problema: dado un vectorxPCn1 construir
una matriz unitaria QPCnn tal que
Qxαe1
siendo e1 el vector p1,0, . . . ,0q.
Antes de nada debemos observar que, como Q es unitaria,
|α|2 }Qx}22 xQQxxx }x}22,
de donde deducimos que }x}2 |α|.
La idea de Householder fu´e construir tal matriz como la matriz de una reflexi´on: una simetr´ıa respecto de un hiperplano. El caso particular de R2 nos servir´a como
gu´ıa de lo que queremos conseguir: dado un vector x P R2 debemos encontrar una
hiperplano (en este caso, una recta que pase por el origen) tal que el sim´etrico de x respecto de este hiperplano sea αe1 (Figura 7.1).
H |x| | |2e1 v x v1
Figura 7.1: Reflexi´on sobre el eje de abscisas
Suponiendo que α¡0, dicha recta (H en la figura) es la bisectriz del ´angulo que for-ma los vector x y e1. Sea v αe1x }x}2e1 x (este vector es el de la
Figu-ra 7.1 pero tFigu-rasladado al origen). Como el tri´angulo formado por los vectores x,
}x}2e1 y v (trasladado desde el origen al
extremo de x) es is´osceles, resulta que H es perpendicular av. Es decir,
H v ¡K
¿Cu´al es la transformaci´on que lleva x so-bre }x}2e1?
Enseguida notamos que v1 es la proyecci´on ortogonal de xsobre v a lo largo de
H. Por lo tanto, si q v
}v}2 es el vector unitario en la direcci´on de v, tenemos que la proyecci´on ortogonal sobre v esPq qq; y
v1 Pqxqqx.
Como, finalmente, v 2v1 y x v }x}2e1 conclu´ımos que pI2qqqx }x}2e1.
As´ı pues, la matrizQque representa la reflexi´on respecto de v ¡K y que hace que Qx }x}2e1 es
QI2qq dondeq v
}v}2 y v }x}2e1x.
Hay otra forma de reflejar x sobre el eje de abscisas: hacerlo sobre la direcci´on ne-gativa de ´este. Es decir, la reflexi´on ser´ıa
Q1x }x}2e1.
Razonando como antes, pero respecto de la Figura 7.2, ser´ıa Q1 I 2q1q1 con
q1 }u}u2 y u }x}2e1x.
Todo lo anterior nos permite asegurar que en el casoR2, para un vector x dado,
siempre podemos encontrar una transfor-maci´on ortogonal Q de forma que Qx
}x}2e1. Adem´as, nos dice que la matriz Q
es una reflexi´on. Es decir, Q I2q1q1
con Q1 }u}u2 y u }x}2e1x. esta es
nuestra gu´ıa para demostrar que lo mismo es posible en Cn. v H+ H− u1 u |x| −| |2e1 +| ||x|2e1 x
Figura 7.2: Las dos reflexi´on sobre el eje de abscisas Lema 7.1 Seax x1 ... xn PCn y escribamosx
1 |x1|eiθ. Existen vectores unitarios
u1, u2 P Cn tales que si Qui pIn2uiuiq, i 1,2, entonces Qu1 }x}2e
iθe
1 y
Qu2 }x}2e
iθe
Observaci´on: En el caso complejo no se puede asegurar, en general, que la primera componente de Quix vaya a ser real.
Demostraci´on.- Elegimos los vectoresu1 yu2 siguiendo la orientaci´on marcada por
el caso R2. Definimos v1 }x}2eiθe1 x, v2 }x}2eiθe1x, y u1 v1 }v1}, u2 v2 }v2}. Veremos que, en efecto,Qu1x }x}2e
iθe 1. La demostraci´on de queQu2 }x}2e iθe 1 se hace igual. Qu1x pIn2u1u 1qxx2pu1xqu1 x2 v1x pv1v1q1{2 v1 pv1v1q1{2 x2 v1x v1v1 v1. Ahora bien v1x p}x}2eiθeT 1 xqx }x}2eiθx1xx }x}2eiθeiθ|x1| }x}2 2 }x}2p|x1| }x}2q. Y v1v1 p}x}2eiθeT1 xqp}x}2eiθe1xq }x}2 2eT1e1 }x}2eiθe1Tx }x}2eiθxe1 xx }x}2 2 }x}2eiθx1 }x}2eiθx¯1 }x}22 2}x}2
2 }x}2eiθ|x1|eiθ }x}2eiθ|x1|eiθ 2}x}22 2|x1|}x}2 2}x}2p}x}2 |x1|q. Por lo tanto Qu1xx2 }x}2p|x1| }x}2q 2}x}2p}x}2 |x1|qv1 x v1 x }x}2e iθe 1x }x}2eiθe1,
tal y como se quer´ıa mostrar.
Antes de continuar veamos un ejemplo enR4.
Las operaciones las haremos con ayuda de MATLAB. Seg´un el Lema 7.1 debemos poner
v }x}2eiθe1x y u v }v}2. Ahora }x}2 ?9 1 25 16 y x1 3. Por lo tanto v p6,0,0,0q p3,1,5,1q " p3,1,5,1q v1 p9,1,5,1q v2 Entonces u1 1 6p3,1,5,1q y v2 1 ? 116p9,1,5,1q. As´ı Qu1 pI42u1u1q 1{2 1{6 5{6 1{6 1{6 17{18 5{18 1{18 5{6 5{18 7{18 5{18 1{6 1{18 5{18 17{18 . Entonces Qu1x 6 0 0 0 . De la misma forma Qu2 pI42u2u 2q 1{2 1{6 5{6 1{6 1{6 53{54 5{54 1{54 5{6 5{54 29{54 5{54 1{6 1{54 5{54 53{54 . Y Qu2x 6e1.
Ahora podemos describir el proceso de triangularizaci´on de Householder. La induc-ci´on del siguiente teorema lo pone claramente de manifiesto.
Teorema 7.3 Sea A P Cmn y m ¥ n. Existen vectores unitarios u1, . . . , un tales que para i1, . . . , n, ui PCmi 1 y si Qui Imi 1 2uiui y Qi Ii1 0 0 Qui PCmm entonces Qn . . .Q1ADR
siendo D P Cmm una matriz diagonal unitaria y R P Cmn una matriz triangular
superior cuyos elementos diagonales son n´umeros reales.
Demostraci´on.- Procederemos por inducci´on sobren. Si n1 entoncesA PCm1.
Si A 0 escogemos cualquier vector unitario u P Cm1 y ponemos D Im y
R0PCm1. Claramente, QuADR.
Si A 0, por el Lema 7.1 existe u1 P Cm1, unitario, tal que Qu1A }A}2e
iθe
1
(con se quiere decir que se puede elegir u1 para que Qu1A }A}2e
iθe
1 y se
puede elegir u1 para que Qu1A }A}2e
iθe
1. Arrastraremos esta notaci´on), siendo
θ el argumento de la primera componente de A. Entonces Qu1ADR con DDiagpeiθ, Im1q y R }A}2 0 ... 0 .
Supongamos el teorema verdadero para matrices hasta con n 1 columnas y sea A P Cmn. Escribamos A a
1 A1
. Por el primer paso de la inducci´on, existe u1 PCm1, unitario, tal que Qu1a1 }a1}2e
iθe 1. As´ı Qu1A }a1}2eiθ xT 0 B
con x P Cpn1q1 y B P Cpm1qpn1q. Aplicamos la hip´otesis de inducci´on a B. Existen vectores unitarios u2, . . . , un tales que para i 2, . . . , n, ui P Cpmi 1q1 y
si Qui Imi 12uiui y ˜ Qi Ii2 0 0 Qui
( ˜Q2 Qu2) entonces
˜
Qn. . .Q˜2C D˜R,˜
siendo ˜DPCpm1qpm1quna matriz diagonal unitaria y ˜R PCpm1qpn1quna matriz triangular superior cuyos elementos diagonales son n´umeros reales. Sea Q1 Qu1 y
Qi 1 0 0 Qi˜ PCmm, i2, . . . , n. Entonces Qn. . .Q2Q1A }a1}2eiθ xT 0 D˜R˜ . Poniendo DDiagpeiθ,D˜q, y R }a1}2 xT 0 R˜
obtenemos el resultado deseado.
Observaciones 7.4 1. Las matrices de la forma Qu In2uu, con uP Cn1
unitario, se llaman matrices de Householder o transformaciones de
Househol-der oreflexiones de Householder, por ser Householder quien puso de manifiesto
su inter´es en el c´alculo num´erico. Estas matrices tienen algunas propiedades importantes:
(i) Son matrices herm´ıticas (sim´etricas en el caso real). En efecto, Qu pIn2uuq In2uuIn2uu Qu (ii) Son unitarias:
QuQu pIn2uuqpIn2uuq In4uu 4uuuu In donde hemos utilizado que uu1 porque u es unitario.
(iii) De las dos propiedades anteriores se deduce que Q1
u Qu Qu. Es decir, 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 forma DDiagpeiθ1, . . . , eiθmq. Por lo tanto, si AP Rmn es real en el Teorema 7.3,
debemos concluir que DIm y que las matrices Qui y R son reales. Es decir,
3. En el Teorema 7.3 no se ha fijado el signo de los elementos diagonales de la matriz R. Ello es debido a que dos elecciones de vectores ui es posible. Es decir, es posible elegir tanto vi }ai}2eiθe
1 ai como vi }ai}2eiθe1ai.
Para ambas elecciones, definiendo ui vi{}vi}2, las matrices Qui I2uiui permiten llevar la matriz A a forma triangular. El signo de los elementos diagonales depende de la elecci´on realizada. Ahora bien, esta elecci´on no es inocua desde el punto de vista del c´alculo num´erico. El siguiente ejemplo, hecho con 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
>> 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 est´a “casi” en la direcci´on de e1 p1,0q. Si
elegimos v1 }a1}2e1 a1 la matriz Q1 es ortogonal pero el elemento de la
posici´onp2,1qdeR1 Q1Aes del orden de 108, un orden m´as que el elemento p2,1q de A. Sin embargo, si elegimos v2 }a1}2e1 a1 entonces Q2 es un
“poco menos” ortogonal que Q1, pero R2 Q2A es perfectamente triangular
(hasta la precisi´on con la que trabajamos 1016).
Este ejemplo no es especialmente rebuscado, sucede muy a menudo. Si los vectorxPRm1 y }x}2e
1 son “casi” iguales (i.e.,x1 }x}2, x2,x3,. . . ,xm son
“casi” cero), al hacer la diferencia
v }x}e1x }x}2x1 x2 ... xm
tenemos que hacer la resta }x}2x1 de dos cantidades casi iguales. Este
pro-blema, tal y como se ve en los problemas del Cap´ıtulo 4, est´a mal condicionado y los errores de redondeo pueden dar lugar a c´alculos inexactos. Esto no sucede
si elegimos v }x}e1x }x}2x1 x2 ... xm
porque entonces lo que tenemos que hacer es sumar |x}2 x1, y la suma es un
problema bien condicionado
De la misma forma si x y }x}2e1 son “casi” iguales y debemos elegir v }x}2e1x.
En conclusi´on, la elecci´on apropiada para v es
v signpx1q}x}2eiθe1x
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 debemos
considerar el caso en que x1 0. En este caso se define signpx1q 1. Se
debe observar que MATLAB no considera el caso en que x1 pueda ser cero
y hay que definirlo expl´ıcitamente. Debe observarse tambi´en que puesto que Qu I2uu se puede, igualmente, elegir
v signpx1q}x}2eiθe
1 x,
que es la elecci´on habitual. 4. Teniendo en cuenta que Q1
u Qu y que, seg´un el Teorema 7.3 para cada APCmn existen matrices de Householder Qu
i, i1, . . . , n tales que
Qun. . .Qu1ADR,
tenemos que
AQu1 . . .QunDR.
Si ponemos QQu1 . . .QunD, resulta que
AQR
es una factorizaci´on QR de A. Esta es una factorizaci´on QR completa; para obtener una factorizaci´on reducida basta suprimir de Q las ´ultimas m n columnas y de R sus ´ultima mn filas (que son filas cero).
5. Vamos a hacer expl´ıcito el proceso constructivo de factorizaci´onQRque est´a detr´as de la inducci´on en el Teorema 7.3. El objetivo es formular un algoritmo que produzca una factorizaci´on QR de una matriz arbitraria A P Rmn. Por ello, nos centraremos en el caso real. SupongamosAPRmn dada. El Teorema 7.3 nos dice que existen vectores unitariosu1,u2,. . . , un, ui PRmi 1 tales que si Qui Imi 12uiui y Qi DiagpIi1, Quiqentonces
Qi1. . .Q1A r11 0 . .. 0 0 ri1i1 0 Ai ComoQi DiagpIi1Quiq QiQi1. . .Q1A r11 0 . .. 0 0 ri1i1 0 QuiAi
Es decir la acci´on deQi sobre la matriz obtenida hasta el pasoi1 s´olo afecta a la submatriz Ai. Y
QuiAi pImi 12uiuiqAi Ai2uiuiAi.
Esta es la operaci´on que tenemos que realizar en cada paso de el proceso iterativo sobre A.
Algo similar sucede con la matriz Q. Recordemos que Q Q1Q2 Qn. Si ponemosQir Q1Q2 qi, i1, . . . ntenemos que
r Qi rQi1 Ii1 0 0 Qui .
Por lo tanto, en el pasoi s´olo quedan afectadas lasmiultimas columnas de´
r
Qi. As´ı pues
r
Qip:, i:mqQui rQi1p:, i:mq 2Qir 1p:, i:mquiu
i.
Algoritmo QR de Householder (Caso real) DadaAPRmn RA, QIm fork 1 to n xRrpk, . . . , mq|pkqs usignpx1q}x}2e1 x u u }u}2 Rrpk, . . . , mq|pk, . . . , nqs Rrpk, . . . , mq|pk, . . . , nqs 2uuRrpk, . . . , mq|pk, . . . , nqs Qp:, k :mq Qp:, k :mq 2Qp:, k :mquu end for
La salida de este algoritmo debe ser: una matriz ortogonalQy una matriz triangular superior R tales que A QR. Se trata, como ya se ha dicho, de una factorizaci´on QR completa deA. Ya se ha indicado m´as arriba como conseguir una factorizaci´on reducida a partir de ´esta.
Una observaci´on final: El algoritmo QR de Householder, en el caso real, devuelve una matriz triangular superiorRcuyos elementos diagonales son n´umeros reales pero que pueden ser positivos o negativos. Los algoritmos de Gram–Schmidt devuelven matrices R con n´umeros reales positivos en la diagonal. Se puede conseguir que el algoritmo de Householder tambi´en proporcione matrices R con n´umeros reales positivos (o negativos) en la diagonal. Para ello, si el elemento en la posici´on pk, kq es, digamos, negativo, multiplicamos la k-´esima fila de R por 1 y tambi´en la k-´esima columna de Q por 1. Es decir, si Ek Diagp1, . . . ,1, . . . ,1q (1 en la k-´esima posici´on) entoncesAQEkEkR. Como Ek es unitaria, tambi´en lo esQEk. Y tambi´enEkRes triangular superior. En el algoritmo bastar´ıa a˜nadir las siguientes l´ıneas de c´odigo justo antes de finalizar el bucle for:
if Rpk, kq 0
Rpk, k:nq Rpk, k:nq Qp:, kq Qp:, kq
7.3.
N´
umero de operaciones
Estudiamos a continuaci´on el coste del algoritmoQR por transformaciones de Hou-seholder.
Antes de nada debemos hacer una observaci´on que es pertinente tambi´en para la siguiente secci´on donde estudiaremos la estabilidad de este algoritmo: tal y como se ha expuesto aqu´ı el algoritmo (recuadro con el Algoritmo de Householder (Caso real)) la matriz Q se forma expl´ıcitamente. Sin embargo, esto no es estrictamente necesario ya que Q es producto de reflexiones de Householder y ´estas quedan de-terminadas completamente por los sucesivos vectores unitariosu. Podr´ıamos pensar que lo que devuelve el algoritmo no son las matricesR y Q sino la matrizR y los n vectores unitarios u que permiten (si se desea) construir la matriz Q. Teniendo en cuenta esto, las operaciones del algoritmo se encuentran en el bucle
(1) xRrpk, . . . , mq|pkqs (2) usignpx1q}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 n´umero mk 1 aparece muy frecuentemente porque es el tama˜no del vector x. Pongamos`mk 1 para abreviar la notaci´on. La sentencia (1) es una asignaci´on y por lo tanto en ella no se realizan flops. En la sentencia (2) se hacen: ` multiplicaciones: x2 1, x22,. . . , x2`. `1 sumas:x2 1 x2`. 1 ra´ız cuadrada:ax2 1 x2` 1 multiplicaci´o en }x}2e1.
1 suma para la primera componente dex.
necesarios para implementar la sentencia (2) es n ° k1 2pmk 2q 2 °n k1 pmn 1 kq 2npmn 1q 2npn 1q 2 2mnn2 potencias menores en m y n.
Para implementar la sentencia (3) se necesita un n´umero similar de flops. Es en la sentencia (4) donde se acumula la mayor parte de las flops como veremos ahora. Analicemos cu´antas son necesarias para cada j k:n:
Rpk:m, jq Rpk :m, jq 2upuRpk :m, jqq
Los par´entesis en upuRpk : m, jqq indican la forma que asociamos para realizar los productos. N´otese que uRpk : m, jq es un producto escalar y, por tanto, un n´umero cuya formaci´on requiere ` productos y `1 sumas. En total, 2`1 flops. Ahora, si ponemos x uRpk : m, jq tenemos que multiplicar el n´umero x por 2u; 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 n´umero total de flops para cada j k : n es
p2`1q p` 1q ` 4`. Y el n´umero total de flops involucrados en la sentencia (4) para cada k1 :n son 4`pnk 1q 4pmk 1qpnk 1q. . As´ı pues, el n´umero total de flops necesarios para la sentencia (4) es
n ° k1 4pmk 1qpnk 1q 4 n ° k1 pmn kqk 4pmnq n ° k1 k 4 n ° k1 k2 4pmnqnpn 1q 2 4 npn 1qp2n 1q 6 2mn2 2 3n 3 potencias menores en m y n.
Teorema 7.5 El algoritmo QR de Householder (caso real) requiere 2mn2 2
3n
3
flops para calcular la factorizaci´on QR de una matriz mn.
N´otese que este algoritmo requiere del orden de 2 3n
3 flops menos que los algoritmos
7.4.
Estabilidad del algoritmo de Householder
Estrictamente hablando el algoritmo de Householder para la factorizaci´on QR no puede ser estable hacia atr´as si se entiende que el objetivo del mismo es calcular para cada matriz A matrices Q, unitaria (ortogonal), y R, triangular superior con n´umeros reales en la diagonal. La raz´on es la misma que la que impide que ning´un algoritmo para el c´alculo de la descomposici´on en valores singulares de una matriz sea estable hacia atr´as (Problema 11 de la Lecci´on 5).
Dicho lo anterior, y recordando (ver Secci´on 7.3) que la formaci´on de la matriz Q en el algoritmo de Householder se hace a partir de los vectores unitarios que se construyen en los pasos
usignpx1q}x}2e1 x
u u
}u}2
del algoritmo, podemos interpretar que el resultado que se busca no es la matriz Q expl´ıcitamente, sino cada uno de los vectores unitarios v1, v2,. . . , vn que, una vez
normalizados, se usan para construir las reflexiones cuyo producto permite obtener la matriz unitaria (ortogonal) Q:
QQ1Q2 Qn, Qi Im2uiui, ui vi
}vi}.
Si se entiende que el problema de la factorizaci´on QR consiste en, para cada A P
Fmn (n¤m), obtener vectoresv
1,v2,. . . , vn enFm1 tales que siQi Im2uiui, ui vi
}vi}, yQQ1Q2 QnentoncesAQRconRtriangular superior con n´ ume-ros reales en la diagonal, entonces el algoritmo de Householder para la factorizaci´on QRes estable hacia atr´as para cualquier matriz A. En efecto, tal algoritmo aplicado a A P Fmn producir´ıa una matriz triangular superior R, con n´r umeros reales en la diagonal, y vectores rvi, i1, . . . , tales que definiendo uir rvi
}rvi}, Qir Im2ruiru i, i 1, . . . , n, y Qr rQ1 rQn entonces QrRr es una factorizaci´on QR exacta de una
matrizArpr´oxima aA. El siguiente teorema, que damos sin demostraci´on, establece la estabilidad hacia atr´as del algoritmo de Householder rigurosamente:
Teorema 7.6 Supongamos que el algoritmo QR por reflexiones de Householder se aplica en un ordenador que cumple los dos axiomas de la aritm´etica de punto flotante
(5.2) y (5.4) de la Lecci´on 5. Sea APFmn una matriz arbitraria. SeanQryRrcomo
m´as arriba. Entonces existe una matriz ArA δA tal que
}δA}
}A} OpMq