Vous êtes sur la page 1sur 18

Cap tulo 7

Reexiones 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 reexiones 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 reexiones 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 a lgebra que establece que toda transformaci on ortogonal (o unitaria) es un producto de simetr as (reexiones o giros). Los m etodos de Householder y Givens dieren de los de Gram-Schmidt en un hecho b asico fundamental. Para ver esta diferencia analicemos, de nuevo, el proecedi141

142

Reexiones de Householder y el Algoritmo QR

miento de ortonormalizaci on de Gram-Schmidt: dada A  a1 a2 1 a1 con r11  }a1 }2 . As , si (F=R o C) denimos q1  r11 R1 tenemos que

an

P Fm n

 Diag

1 , 1, . . . , 1 r11

 AR1  A continuaci on, ponemos r22  }a2 }2 y


A2 q2 Si denimos

q 1 a2

r12 a1 r11

an .

1 a qq q  1 p a2 p q 1 2 1 r22 r22 1 0   R2  0 . . . 0


a2

 r1 a2 r r12 r
22

a1

11 22

r r

1 r22

12 22

0 . . . 0


0 0 1 . . . . .. 0

0 0  0   . . . 1

tenemos que A3

 A2R2  A1R1R2 

q 1 q 2 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 1 . . . R1 y se obtiene A  QR , la descomposici Rn on QR, reducida, de A. 1

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 . . . Q1 A  R 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.

7.1 Introducci on

143

Lo primero que hay que observar es que mientras los m etodos de ortonormalizaci on de Gram-Schmidt produce una factorizaci on QR reducida, el de Householder produce una factorizaci on completa. En aquel caso Q es de tama no m n y R es n n. En el m etodo de Householder cada Qi es unitaria (o, insistimos por u ltima vez, ortogonal en el caso real);por lo tanto, de tama no m m. Y R ser a de tama no m n. Sucintamente, el m etodo de Householder consiste en construir matrices unitarias elementales (reexiones) 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


Q
1

x x x

x 0  0  0 0

x x x x  x x  x x x x Q1 A

Q
2

x x x  x x    0 x    0 x 0 x Q2 Q1 A

Q
3

x x x  x x    x    0 0 Q3 Q2 Q1 A

Q1 opera sobre las las 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 matriz Q2 , unitaria u ortogonal en el caso real, que opera sobre las las 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 k  1, 2, . . . , n, Qk opera sobre Ak p1 : k, 1 : nq haciendo ceros en las posiciones pk 1, kq, pk 2, kq,. . . , pm, kq, donde A1  A y para k 1, Ak  Qk1Ak1. Se debe observar que Qk no act ua sobre las primeras k 1 las de Ak1 ; es decir, las deja intactas, por lo que tendr a la siguiente forma: Qk

Ik1 0 k 0 Q

k una matriz unitaria cuyo objetivo es reducir el vector formado por los siendo Q elementos en las posiciones pk, k q, pk 1, k q,. . . , pm, k q de Ak1 a un vector cuya u nica componente posiblemente no nula sea la primera: x x x   0     k  Q .   .. . . . . x 0
   

144

Reexiones de Householder y el Algoritmo QR

La primera cuesti on surge de forma natural: existe siempre, para cualquier vector, una matriz unitaria que lo reduce a otro cuya u nica componente no nula sea, posiblemente, la primera?. Como veremos enseguida la respuesta es armativa y es la base del m etodo de Householder.

7.2.

Las reexiones de Householder

El objetivo es resolver el siguiente problema: dado un vector x P Cn1 construir una matriz unitaria Q P Cnn tal que siendo e1 el vector p1, 0, . . . , 0q. Qx  e1

2 ||2  }Qx}2 2  x Q Qx  x x  }x}2 , de donde deducimos que }x}2  ||.

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

La idea de Householder fu e construir tal matriz como la matriz de una reexi 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). Suponiendo que 0, dicha recta (H en la gura) es la bisectriz del angulo que forma los vector x y e1 . Sea v  e1 x  }x}2e1 x (este vector es el de la Figura 7.1 pero trasladado 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 a v . Es decir, H Figura 7.1: Reexi on sobre el eje de abscisas

v1 x v

| |x| |2 e1

 v K

Cu al es la transformaci on que lleva x sobre }x}2 e1 ?

7.2 Las reexiones de Householder

145

Enseguida notamos que v1 es la proyecci on ortogonal de x sobre v a lo largo de v H . Por lo tanto, si q  en la direcci on de v , tenemos que }v}2 es el vector unitario la proyecci on ortogonal sobre v es Pq  qq ; y

 Pq x  qqx. Como, nalmente, v  2v1 y x v  }x}2 e1 conclu mos que pI 2qqqx  }x}2e1. As pues, la matriz Q que representa la reexi on respecto de v K y que hace que Qx  }x}2 e1 es Q  I 2qq v donde q  }v} y v  }x}2e1 x.
v1
2

Hay otra forma de reejar x sobre el eje de abscisas: hacerlo sobre la direcci on negativa de este. Es decir, la reexi on ser a Q1 x  }x}2 e1 . Razonando como antes, pero respecto de con la Figura 7.2, ser a Q1  I 2q1 q1 u q1  }u }2 y u  }x}2 e1 x. Todo lo anterior nos permite asegurar que en el caso R2 , para un vector x dado, siempre podemos encontrar una transformaci on ortogonal Q de forma que Qx  }x}2e1. Adem as, nos dice que la matriz Q es una reexi on. Es decir, Q  I 2q1 q1 u con Q1  }u}2 y u  }x}2 e1 x. esta es nuestra gu a para demostrar que lo mismo es posible en Cn .
 
| |x| | e 2 1

H
u1 u x v +| |x| | e 2 1

H+

Figura 7.2: Las dos reexi on sobre el eje de abscisas

x1 .  n i Lema 7.1 Sea x   . .  P C y escribamos x1  |x1 |e . Existen vectores unitarios xn n i u1 , u2 P C tales que si Qui  pIn 2ui u i q, i  1, 2, entonces Qu1  }x}2 e e1 y Qu2  }x}2 ei e1 .

146

Reexiones de Householder y el Algoritmo QR

Observaci on: En el caso complejo no se puede asegurar, en general, que la primera componente de Qui x vaya a ser real. Demostraci on.- Elegimos los vectores u1 y u2 siguiendo la orientaci on marcada por el caso R2 . Denimos v1 y u1

 }x}2ei e1 x,
1 ,  }v v} 1

v2

 }x}2ei e1 x,
v2  }v }.
2

u2

Veremos que, en efecto, Qu1 x  }x}2 ei e1 . La demostraci on de que Qu2 se hace igual.

 }x}2ei e1

1 1

Qu1 x  pIn 2u1 u 1 qx  x 2pu1 xqu1


Ahora bien

v1 x v1  x2 v1 .  x 2 pvvv1 x 1 { 2 1 { 2 q pv v q v v
1 1 1 1

x v1
Y

i x1 x x   p}x}2ei eT 1 x qx  }x}2 e i i 2  }x}2e e |x1| }x}2  }x}2p|x1| }x}2q.

v1 v1

    

i p}x}2ei eT 1 x qp}x}2 e e1 xq  2 T i T }x}2e1 e1 }x}2e e1 x }x}2ei xe1 xx  i x1 }x}2 ei x }x}2 1 }x}2 2 }x}2 e 2  2 i i i 2}x}2 }x}2 e |x1 |e }x}2 e |x1 |ei  2}x}2 2 2|x1 |}x}2  2}x}2 p}x}2 |x1 |q.

Por lo tanto Qu1 x  x 2

}x}2p|x1| }x}2q v  x v  x }x} ei e x  }x} ei e , 1 1 2 1 2 1 2}x}2 p}x}2 |x1 |q

tal y como se quer a mostrar. Antes de continuar veamos un ejemplo en R4 . Ejemplo 7.2 Sea x  p3, 1, 5, 1q. Encontrar una reexi on Qu tal que Qu x  p, 0, 0, 0q.

7.2 Las reexiones de Householder

147

Las operaciones las haremos con ayuda de MATLAB. Seg un el Lema 7.1 debemos poner v Ahora Por lo tanto v Entonces u1 As Qu1 Entonces Qu1 x  3, 1, 5, 1q  v1  p6, 0, 0, 0q p3, 1, 5, 1q  p p9, 1, 5, 1q  v2
"

 }x}2ei e1 x ?

y u

v }v}2 .

}x}2 

9 1 25 1  6 y x1

 3.

p3, 1, 5, 1q 1 6


y v2

 ? 1 p9, 1, 5, 1q.
116 5 {6 1{6 5{18 1{18  7{18 5{18 . 5{18 17{18


1{2 1{6  1 { 6 17 {18   pI4 2u1u 1q   5{6 5{18 1{6 1{18


  0  . 0

0 De la misma forma

Qu2 Y Qu2 x  6e1 .

1{2 1{6 5{6 1{6   1{6 53{54 5{54 1{54 .  pI4 2u2u 2q   5{6 5{54 29{54 5{54 1{6 1{54 5{54 53{54

Ahora podemos describir el proceso de triangularizaci on de Householder. La inducci on del siguiente teorema lo pone claramente de maniesto.

148

Reexiones de Householder y el Algoritmo QR

Teorema 7.3 Sea A P Cmn y m n. Existen vectores unitarios u1 , . . . , un tales que para i  1, . . . , n, ui P Cmi1 y si Qui  Imi1 2ui u i y Qi entonces
m m

Ii1 0 0 Qui

P Cmm

superior cuyos elementos diagonales son n umeros reales.

siendo D P C una matriz diagonal unitaria y R P Cmn una matriz triangular

Qn . . . Q1 A  DR

Demostraci on.- Procederemos por inducci on sobre n. Si n  1 entonces A P Cm1 . Si A  0 escogemos cualquier vector unitario u P Cm1 y ponemos D  Im y R  0 P Cm1 . Claramente, Qu A  DR. Si A  0, por el Lema 7.1 existe u1 P Cm1 , unitario, tal que Qu1 A  }A}2 ei e1 (con se quiere decir que se puede elegir u1 para que Qu1 A  }A}2 ei e1 y se puede elegir u1 para que Qu1 A  }A}2 ei e1 . Arrastraremos esta notaci on), siendo el argumento de la primera componente de A. Entonces Qu1 A  DR con D
  0  y R .  . . 0

}A}2

   . 

 Diagpei , Im1q

Supongamos el teorema verdadero para   matrices hasta con n 1 columnas y sea m n A P C . Escribamos A  a1 A1 . Por el primer paso de la inducci on, existe u1 P Cm1 , unitario, tal que Qu1 a1  }a1 }2 ei e1 . As

}a1}2ei Qu A  0
1

xT 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 Cpmi1q1 y si Qui  Imi1 2ui u i y   I 0 i 2 i  Q 0 Qui

7.2 Las reexiones de Householder

149

2 (Q

 Qu ) entonces
2

P Cpm1qpm1q una matriz diagonal unitaria y R P Cpm1qpn1q una matriz siendo D triangular superior cuyos elementos diagonales son n umeros reales. Sea Q1  Qu1 y Qi Entonces

n . . . Q 2C Q

R, D

1 0 i 0 Q

P Cmm,


i  2, . . . , n. xT R . D xT R
 

}a1}2ei Qn . . . Q2 Q1 A  0
q, D  Diagpe , D
i

Poniendo

}a1}2 R 0

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 Householder o reexiones de Householder, por ser Householder quien puso de maniesto 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, Q u

2u u  I 2uu  Q  pIn 2uuq  In n u

(ii) Son unitarias:

(iii)

 pIn 2uuqpIn 2uuq  In 4uu 4uuuu  In donde hemos utilizado que u u  1 porque u es unitario. 1 De las dos propiedades anteriores se deduce que Q u  Qu  Qu . Es
decir, la inversa de una matriz de Householder es ella misma.

Qu Q u

2. Para que una matriz D P Cmm sea diagonal y unitaria debe ser de la forma D  Diagpei1 , . . . , eim q. 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

Reexiones de Householder y el Algoritmo QR

3. En el Teorema 7.3 no se ha jado 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 }2 ei e1 ai como vi  }ai }2 ei e1 ai . Para ambas elecciones, deniendo ui  vi {}vi }2 , las matrices Qui  I 2ui u i 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 maniesto: >> A=[2 3; 10^(-7) 4] A = 2.000000000000000 0.000000100000000

3.000000000000000 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 reexiones de Householder

151

>> Q1*Q1, Q2*Q2 ans = 1.000000000000000 -0.000000000000000 ans = 1.000000000000001 0.000000000000000 >> R1=Q1*A, R2=Q2*A R1 = 2.000000000000002 -0.000000011182158 R2 = -2.000000000000003 -0.000000000000000

-0.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000

3.000000177635681 -3.999999866773233

-3.000000199999997 3.999999849999995

La primera columna, a1 , de A est a casi en la direcci on de e1  p1, 0q. Si elegimos v1  }a1 }2 e1 a1 la matriz Q1 es ortogonal pero el elemento de la posici on p2, 1q de R1  Q1 A es 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  Q2 A es perfectamente triangular (hasta la precisi on con la que trabajamos 1016 ). Este ejemplo no es especialmente rebuscado, sucede muy a menudo. Si los vector x P Rm1 y }x}2 e1 son casi iguales (i.e., x1 }x}2 , x2 , x3 ,. . . , xm son casi cero), al hacer la diferencia


 }x}e1 x   

}x}2 x1  x  2  
. . . xm
 

tenemos que hacer la resta }x}2 x1 de dos cantidades casi iguales. Este problema, 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

152

Reexiones de Householder y el Algoritmo QR

si elegimos v

 }x}e1 x   

}x}2 x1  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 x.

}x}2e1 son casi iguales y debemos elegir v 

En conclusi on, la elecci on apropiada para v es

 signpx1q}x}2ei e1 x donde signpx1 q es el signo de x1 ; es decir, signpx1 q  1 si x1 0 y signpx1 q  1 si x1 0. Y para ser completamente exahustivos en este punto debemos considerar el caso en que x1  0. En este caso se dene signpx1 q  1. Se
v

debe observar que MATLAB no considera el caso en que x1 pueda ser cero y hay que denirlo expl citamente. Debe observarse tambi en que puesto que Qu  I 2uu se puede, igualmente, elegir v que es la elecci on habitual.

 signpx1q}x}2ei e1 x,

1 un el Teorema 7.3 para cada 4. Teniendo en cuenta que Q u  Qu y que, seg mn APC existen matrices de Householder Qui , i  1, . . . , n tales que

Qun . . . Qu1 A  DR, tenemos que A  Qu1 . . . Qun DR. A  QR 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 u ltimas m n columnas y de R sus u ltima m n las (que son las cero).

Si ponemos Q  Qu1 . . . Qun D, resulta que

7.2 Las reexiones de Householder

153

5. Vamos a hacer expl cito el proceso constructivo de factorizaci on QR que 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. Supongamos A P Rmn dada. El Teorema 7.3 nos dice que existen vectores unitarios u1 , u2 ,. . . , un , ui P Rmi1 tales que si Qui  Imi1 2ui u i y Qi  DiagpIi1 , Qui q entonces
 

r11

 Qi1 . . . Q1 A   0  0

... 0 0

ri1 i1


Ai

    

Como Qi

 DiagpIi1Qu q
i

 

r11

 Qi Qi1 . . . Q1 A   0  0

..

0 0

ri1i1


Qui Ai

    

Es decir la acci on de Qi sobre la matriz obtenida hasta el paso i 1 s olo afecta a la submatriz Ai . Y Qui Ai

 pImi1 2uiu i qAi  Ai 2ui ui Ai .

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 r i  Q1 Q2 qi , i  1, . . . n tenemos que ponemos Q
r Q r i1 Qi 

 Q1Q2 Qn. Si

Ii1 0 . 0 Qui

Por lo tanto, en el paso i s olo quedan afectadas las m i u ltimas columnas de r . As Qi pues
r i p:, i : mqQu Q i r i1 p:, i : mq 2Q r i1 p:, i : mqui u . Q i

154

Reexiones de Householder y el Algoritmo QR

Algoritmo QR de Householder (Caso real) Dada A P Rmn R  A, Q  Im for k  1 to n x  Rrpk, . . . , mq|pk qs u  signpx1 q}x}2 e1 x u u }u}2 Rrpk, . . . , mq|pk, . . . , nqs

Rrpk, . . . , mq|pk, . . . , nqs 2uu Rrpk, . . . , mq|pk, . . . , nqs Qp:, k : mq  Qp:, k : mq 2Qp:, k : mquu end for

La salida de este algoritmo debe ser: una matriz ortogonal Q y una matriz triangular superior R tales que A  QR. Se trata, como ya se ha dicho, de una factorizaci on QR completa de A. Ya se ha indicado m as arriba como conseguir una factorizaci on reducida a partir de esta. Una observaci on nal: El algoritmo QR de Householder, en el caso real, devuelve una matriz triangular superior R cuyos elementos diagonales son n umeros reales pero que pueden ser positivos o negativos. Los algoritmos de GramSchmidt 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, k q es, digamos, negativo, multiplicamos la k - esima la 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) entonces A  QEk Ek R. Como Ek es unitaria, tambi en lo es QEk . Y tambi en Ek R es triangular superior. En el algoritmo bastar a a nadir las siguientes l neas de c odigo justo antes de nalizar el bucle for:

if Rpk, k q 0 Rpk, k : nq  Rpk, k : nq Qp:, k q  Qp:, k q end if

7.3 N umero de operaciones

155

7.3.

N umero de operaciones

Estudiamos a continuaci on el coste del algoritmo QR por transformaciones de Householder. 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 reexiones de Householder y estas quedan determinadas completamente por los sucesivos vectores unitarios u. Podr amos pensar que lo que devuelve el algoritmo no son las matrices R y Q sino la matriz R 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) (2) (3) (4) x  Rrpk, . . . , mq|pk qs u  signpx1 q}x}2 e1 x u u }u}2 Rpk : m, k : nq  Rpk : m, k : nq 2uu Rpk : m, k : nq

que se realiza para k  1 : n. El n umero m k 1 aparece muy frecuentemente porque es el tama no del vector x. Pongamos  m k 1 para abreviar la notaci on. La sentencia (1) es una asignaci on y por lo tanto en ella no se realizan ops. En la sentencia (2) se hacen:
2 2 multiplicaciones: x2 1 , x2 ,. . . , x . 2 1 sumas: x2 1 x .

1 ra z cuadrada:

2 x2 1 x

1 multiplicaci o en }x}2 e1 . 1 suma para la primera componente de x. En total 2

2  2pm k 2q ops. Como k  1 : n, el n umero total de ops

156

Reexiones de Householder y el Algoritmo QR

necesarios para implementar la sentencia (2) es


n k 1

2pm k 2q

 

pm n 1 kq  2npm n 1q 2 npn2 1q k 1 2mn n2 potencias menores en m y n.


2
n

Para implementar la sentencia (3) se necesita un n umero similar de ops. Es en la sentencia (4) donde se acumula la mayor parte de las ops como veremos ahora. Analicemos cu antas son necesarias para cada j  k : n: Rpk : m, j q  Rpk : m, j q 2upu Rpk : m, j qq Los par entesis en upu Rpk : m, j qq indican la forma que asociamos para realizar los productos. N otese que u Rpk : m, j q es un producto escalar y, por tanto, un n umero cuya formaci on requiere productos y 1 sumas. En total, 2 1 ops. Ahora, si ponemos x  u Rpk : m, j q tenemos que multiplicar el n umero x por 2u; es decir, 2x requiere un producto y 2xu requiere productos para un total de 1 ops. Finalmente, si v  2xu tenemos que hacer la resta Rpk : m, j q v; lo cual requiere ops. As pues, el n umero total de ops para cada j  k : n es p2 1q p 1q  4 . Y el n umero total de ops involucrados en la sentencia (4) para cada k  1 : n son 4 pn k 1q  4pm k 1qpn k 1q. . As pues, el n umero total de ops necesarios para la sentencia (4) es
n k 1

4pm k 1qpn k 1q

pm n kqk  4pm nq k 4 k2 k 1 k 1 k1 npn 1q npn 1qp2n 1q  4pm nq 2 4 6 2 3 2  2mn 3 n potencias menores en m y n.
4
n n n

Teorema 7.5 El algoritmo QR de Householder (caso real) requiere ops para calcular la factorizaci on QR de una matriz m n.

2 3  2mn2 3 n

2 N otese que este algoritmo requiere del orden de n3 ops menos que los algoritmos 3 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 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 6 de la Lecci on ??). En efecto, para cualquier algoritmo siempre habr a 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 pr oxima a A. 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 u  signpx1 q}x}2 e1 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 reexiones cuyo producto permite obtener la matriz unitaria (ortogonal) Q: Q  Q1 Q2 Qn , Qi

 Im 2uiu i,

ui

vi  }v }.
i

Si se entiende que el problema de la factorizaci on QR consiste en, para cada A P mn F (n m), obtener vectores v1 , v2 ,. . . , vn en Fm1 tales que si Qi  Im 2ui u i, vi ui  ume}vi} , y Q  Q1Q2 Qn entonces A  QR con R triangular superior con n ros reales en la diagonal, entonces el algoritmo de Householder para la factorizaci on QR es estable hacia atr as para cualquier matriz A. En efecto, tal algoritmo aplicado mn r, con n aAPF producir a una matriz triangular superior R umeros reales en la v ri r ri , i  1, . . . , tales que deniendo u ri  ri u r diagonal, y vectores v , Qi  Im 2u i, }v ri } r  Q1 Q r n entonces Q rR r es una factorizaci i  1, . . . , n, y Q on QR exacta de una r matriz A pr oxima a A. El siguiente teorema, que damos sin demostraci on, establece la estabilidad hacia atr as del algoritmo de Householder rigurosamente:

158

Reexiones de Householder y el Algoritmo QR

Teorema 7.6 Supongamos que el algoritmo QR por reexiones de Householder se aplica en un ordenador que cumple los dos axiomas de la aritm etica de punto otante mn ryR r como (5.2) y (5.4) de la Lecci on 5. Sea A P F una matriz arbitraria. Sean Q r  A A tal que m as arriba. Entonces existe una matriz A

}A}  Op q M }A}
rR r  A A. yQ

Vous aimerez peut-être aussi