Sie sind auf Seite 1von 18

Cap

tulo 7

Reexiones de Householder y el
Algoritmo QR

7.1.

Introduccin
o

Hay otros dos mtodos importantes para calcular la descomposicin QR de una


e
o
matriz: las reexiones de Householder y las rotaciones de Givens. Ambos comparten
la propiedad de ser procesos que conducen a una triangularizacin de la matriz dada
o
mediante transformaciones ortogonales (caso real) o unitarias (caso complejo).
En este curso estudiaremos el primero de los dos mtodos (el de las reexiones de
e
Householder). Una buena referencia para el mtodo de las rotaciones de Givens es
e
el libro de Golub y van Loan [9]. En realidad, estos dos mtodos, son el resultado
e
de aplicar un teorema general de algebra que establece que toda transformacin

o
ortogonal (o unitaria) es un producto de simetr (reexiones o giros).
as
Los mtodos de Householder y Givens dieren de los de Gram-Schmidt en un
e
hecho bsico fundamental. Para ver esta diferencia analicemos, de nuevo, el proecedia
141

142

Reexiones de Householder y el Algoritmo QR

miento de ortonormalizacin de Gram-Schmidt: dada A  a1 a2


o
1
a1 con r11  }a1 }2 . As si
,
(F=R o C) denimos q1 
r11
R1

 Diag

tenemos que

 AR1 
A continuacin, ponemos r22  }a2 }2 y
o
A2

q2

Si denimos
1
"0
"
"
R2  "0
".
!.
.
0
tenemos que
A3

an

Fm n

1
, 1, . . . , 1
r11

pa2 pq1 a2qq1q  r1


r22
22

q 1 a2

a2

r12
a1
r11

0
0
1
. ..
.
.
.
0

r
r

12
22

1
r22

0
.
.
.
0

 A2R2  A1R1R2 

an .


 r1 a2 r r12
r
22

a1

11 22

0
00
0
00
0
.0
.)
.
1

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

Rn 1 . . . R1 1 y se obtiene A  QR, la descomposicin QR, reducida, de A.


o

El mtodo de Householder; y tambin el de Givens, cambia completamente el


e
e
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 Introduccin
o

143

Lo primero que hay que observar es que mientras los mtodos de ortonormalie
zacin de Gram-Schmidt produce una factorizacin QR reducida, el de Householder
o
o
produce una factorizacin completa. En aquel caso Q es de tamao m n y R es
o
n
n n. En el mtodo de Householder cada Qi es unitaria (o, insistimos por ultima
e

vez, ortogonal en el caso real);por lo tanto, de tamao m m. Y R ser de tamao


n
a
n
m n.
Sucintamente, el mtodo de Householder consiste en construir matrices unitarias
e
elementales (reexiones) que operan sucesivamente sobre las columnas de A para
reducir esta matriz a una forma triangular superior. Esquemticamente el proceso
a
ser el siguiente:
a
(

x x x

"x x x0
"
0
"x x x0
"
0
!x x x)

x x x

x
"0
"
"0
"
!0
0

x x
x x0
0
x x0
0
x x)
x x
Q1 A

x x x
"
x x0
"
0
"
0 x0
"
0
!
0 x)
0 x
Q2 Q1 A

x x x
"
x x0
"
0
"
x0
"
0
!
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 posicin de la diagonal. A continuacin se construye una
o
o
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 acta sobre las primeras k 1 las de Ak1 ; es decir,
u
las deja intactas, por lo que tendr la siguiente forma:
a
Qk

Ik1 0

0 Qk

&

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

x
x
"x 0 " 0 0
" 0 " 0
Qk " . 0  " . 0 .
!.) !.)
.
.
x

144

Reexiones de Householder y el Algoritmo QR

La primera cuestin surge de forma natural: existe siempre, para cualquier


o
vector, una matriz unitaria que lo reduce a otro cuya unica componente no nula sea,

posiblemente, la primera?. Como veremos enseguida la respuesta es armativa y es


la base del mtodo de Householder.
e

7.2.

Las reexiones de Householder

El objetivo es resolver el siguiente problema: dado un vector x Cn1 construir


una matriz unitaria Q Cnn tal que
Qx  e1

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

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

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


2
2
de donde deducimos que }x}2  ||.

La idea de Householder fu construir tal matriz como la matriz de una reexin:


e
o
una simetr respecto de un hiperplano. El caso particular de R2 nos servir como
a
a
gu de lo que queremos conseguir: dado un vector x R2 debemos encontrar una
a
hiperplano (en este caso, una recta que pase por el origen) tal que el simtrico de x
e
respecto de este hiperplano sea e1 (Figura 7.1).

v1
x
v

| |2 e1
|x|

Suponiendo que 0, dicha recta (H en


la gura) es la bisectriz del ngulo que fora
ma 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 tringulo formado por los vectores x,
a
}x}2e1 y v (trasladado desde el origen al
extremo de x) es issceles, resulta que H
o
es perpendicular a v. Es decir,
H

Figura 7.1: Reexin sobre el eje


o
de abscisas

 v u

Cul es la transformacin que lleva x soa


o
bre }x}2 e1 ?

7.2 Las reexiones de Householder

145

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


o
v
H. Por lo tanto, si q 
o
}v}2 es el vector unitario en la direccin de v, tenemos que
la proyeccin ortogonal sobre v es Pq  qq ; y
o

 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 reexin respecto de v u y que hace que

o
Qx  }x}2 e1 es
Q  I 2qq
v
donde q 
}v} y v  }x}2e1 x.
v1

Hay otra forma de reejar x sobre el eje


de abscisas: hacerlo sobre la direccin neo
gativa de ste. Es decir, la reexin ser
e
o
a
Q1 x  }x}2 e1 .

Razonando como antes, pero respecto de

la Figura 7.2, ser Q1  I 2q1 q1 con


a
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 transformacin ortogonal Q de forma que Qx 
o
}x}2e1. Adems, nos dice que la matriz Q
a

es una reexin. Es decir, Q  I 2q1 q1


o
u
con Q1  }u}2 y u  }x}2 e1 x. esta es
nuestra gu para demostrar que lo mismo
a
es posible en Cn .
(

H+

u1
u
| | e1
|x|2

v
+| | e1
|x|2

Figura 7.2: Las dos reexin sobre


o
el eje de abscisas

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

146

Reexiones de Householder y el Algoritmo QR

Observacin: En el caso complejo no se puede asegurar, en general, que la primera


o
componente de Qui x vaya a ser real.
Demostracin.- Elegimos los vectores u1 y u2 siguiendo la orientacin marcada por
o
o
el caso R2 . Denimos
v1

 }x}2ei e1 x,

y
u1

 }v1} ,
v

v2

 }x}2ei e1 x,

u2

v
 }v2} .
2

Veremos que, en efecto, Qu1 x  }x}2 ei e1 . La demostracin de que Qu2


o
se hace igual.
Qu1 x  pIn 2u1 u qx  x 2pu xqu1
1
1

 }x}2ei e1

v x
v
 x 2 pvvv1 x1{2 pvv1q1{2  x 2 v1v v1.
q
1 1

1 1

1 1

Ahora bien

 p}x}2ei eT xqx  }x}2ei x1 xx 


1
 }x}2ei ei |x1| }x}2  }x}2p|x1| }x}2q.
2

v1 x
Y

v1 v1







p}x}2ei eT xqp}x}2ei e1 xq 
1
}x}2eT e1 }x}2ei eT x }x}2ei xe1 xx 
2 1
1
}x}2 }x}2ei x1 }x}2ei x1 }x}2 

2
2
2
i |x1 |ei }x}2 ei |x1 |ei 
2}x}2 }x}2 e
2}x}2 2|x1 |}x}2  2}x}2 p}x}2 |x1 |q.
2

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 mostrar.


a
Antes de continuar veamos un ejemplo en R4 .
Ejemplo 7.2 Sea x  p3, 1, 5, 1q. Encontrar una reexin Qu tal que Qu x  p, 0, 0, 0q.
o

7.2 Las reexiones de Householder

147

Las operaciones las haremos con ayuda de MATLAB.


Segn el Lema 7.1 debemos poner
u
v
Ahora

 }x}2ei e1 x

}x}2 

y u

v
}v}2 .

9 1 25 1  6 y x1

 3.

Por lo tanto
4

v
 p6, 0, 0, 0q p3, 1, 5, 1q  p3,9, 1,1, 5,5, 1q11v2
p q

Entonces
u1

 1 p3, 1, 5, 1q
6

As

Qu1

y v2

 c 1 p9, 1, 5, 1q.
116

1{2
1{6
" 1{6 17{18
 pI4 2u1uq  " 5{6 5{18
1
!
1{6 1{18

5 {6
1{6
5{18 1{180 .
0
7{18 5{18)
5{18 17{18

Entonces

6
"00
Qu1 x  " 0 .
!0)
0
De la misma forma
(

Qu2

1{2 1{6 5{6 1{6


"1{6 53{54 5{54 1{540
 pI4 2u2uq  "5{6 5{54 29{54 5{540 .
2
!
)
1{6 1{54 5{54 53{54

Y Qu2 x  6e1 .
Ahora podemos describir el proceso de triangularizacin de Householder. La induco
cin del siguiente teorema lo pone claramente de maniesto.
o

148

Reexiones de Householder y el Algoritmo QR

Teorema 7.3 Sea A Cmn y m n. Existen vectores unitarios u1 , . . . , un tales


que para i  1, . . . , n, ui Cmi1 y si Qui  Imi1 2ui u y
i
Qi
entonces

Ii1 0
0 Qui

&

Cmm

Qn . . . Q1 A  DR

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


m m

superior cuyos elementos diagonales son nmeros reales.


u

Demostracin.- Procederemos por induccin sobre n. Si n  1 entonces A Cm1 .


o
o
Si A  0 escogemos cualquier vector unitario u Cm1 y ponemos D  Im y
R  0 Cm1 . Claramente, Qu A  DR.
Si A $ 0, por el Lema 7.1 existe u1 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 notacin), siendo
o
el argumento de la primera componente de A. Entonces
Qu1 A  DR
con

}A}2

 Diagpei , Im1q

" 0
"
y R" .
! .
.
0

(
0
0
0.
)

Supongamos el teorema verdadero para matrices hasta con n 1 columnas y sea



$
A Cmn . Escribamos A  a1 A1 . Por el primer paso de la induccin, existe
o
u1 Cm1 , unitario, tal que Qu1 a1  }a1 }2 ei e1 . As

}a1}2ei
Qu A 
0
1

xT
B

&

con x Cpn1q1 y B Cpm1qpn1q . Aplicamos la hiptesis de induccin a B.


o
o
Existen vectores unitarios u2 , . . . , un tales que para i  2, . . . , n, ui Cpmi1q1 y
si Qui  Imi1 2ui u y
i

&
Ii2 0

Qi 
0 Qui

7.2 Las reexiones de Householder

(Q2

 Qu ) entonces

149

Qn . . . Q2 C

 DR,

siendo D Cpm1qpm1q una matriz diagonal unitaria y R Cpm1qpn1q una matriz


triangular superior cuyos elementos diagonales son nmeros reales. Sea Q1  Qu1 y
u
Qi

1 0

0 Qi

&

Cmm,

i  2, . . . , n.

Entonces

Poniendo

}a1}2ei
Qn . . . Q2 Q1 A 
0

D  Diagpe , Dq,
i

&

xT
.
DR

}a1}2
R
0

xT

&

obtenemos el resultado deseado.


Observaciones 7.4
1. Las matrices de la forma Qu  In 2uu , con u Cn1
unitario, se llaman matrices de Householder o transformaciones de Householder o reexiones de Householder, por ser Householder quien puso de maniesto
su inters en el clculo numrico. Estas matrices tienen algunas propiedades
e
a
e
importantes:
(i) Son matrices herm
ticas (simtricas en el caso real). En efecto,
e
Q
u

 pIn 2uuq  In 2uu  In 2uu  Qu

(ii) Son unitarias:


Qu Q
u

(iii)

 pIn 2uuqpIn 2uuq  In 4uu 4uuuu  In


donde hemos utilizado que u u  1 porque u es unitario.
De las dos propiedades anteriores se deduce que Q1  Q  Qu . Es
u
u
decir, la inversa de una matriz de Householder es ella misma.

2. Para que una matriz D Cmm sea diagonal y unitaria debe ser de la forma
D  Diagpei1 , . . . , eim q. Por lo tanto, si A 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 eleccin realizada. Ahora bien, esta eleccin no es
o
o
inocua desde el punto de vista del clculo numrico. El siguiente ejemplo, hecho
a
e
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

>> 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

151

-0.000000000000000
1.000000000000000
0.000000000000000
1.000000000000000

3.000000177635681
-3.999999866773233

-3.000000199999997
3.999999849999995

La primera columna, a1 , de A est casi en la direccin de e1  p1, 0q. Si


a
o
elegimos v1  }a1 }2 e1 a1 la matriz Q1 es ortogonal pero el elemento de la
posicin p2, 1q de R1  Q1 A es del orden de 108 , un orden ms que el elemento
o
a
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 precisin con la que trabajamos 1016 ).
o
Este ejemplo no es especialmente rebuscado, sucede muy a menudo. Si los
vector x Rm1 y }x}2 e1 son casi iguales (i.e., x1 }x}2 , x2 , x3 ,. . . , xm son
casi cero), al hacer la diferencia
(

}x}2 x1
" x
0
2
"
0

 }x}e1 x  "
!

.
.
.
xm

0
)

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 mal condicionado
a
y los errores de redondeo pueden dar lugar a clculos inexactos. Esto no sucede
a

152

Reexiones de Householder y el Algoritmo QR

si elegimos

}x}2 x1
"
x2 0
"
0

 }x}e1 x  "
!

.
.
.
xm

0
)

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 conclusin, la eleccin apropiada para v es


o
o

 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 tambin que puesto que
e
se puede, igualmente, elegir
Qu  I 2uu
v

 signpx1q}x}2ei e1 x,

que es la eleccin habitual.


o
u
4. Teniendo en cuenta que Q1  Qu y que, segn el Teorema 7.3 para cada
u
mn
AC
existen matrices de Householder Qui , i  1, . . . , n tales que
Qun . . . Qu1 A  DR,
tenemos que

A  Qu1 . . . Qun DR.

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


A  QR

es una factorizacin QR de A. Esta es una factorizacin QR completa; para


o
o
obtener una factorizacin reducida basta suprimir de Q las ultimas m n
o

columnas y de R sus ultima m n las (que son las cero).

7.2 Las reexiones de Householder

153

5. Vamos a hacer expl


cito el proceso constructivo de factorizacin QR que est detrs
o
a
a
de la induccin en el Teorema 7.3. El objetivo es formular un algoritmo que
o
produzca una factorizacin QR de una matriz arbitraria A Rmn . Por ello,
o
nos centraremos en el caso real. Supongamos A Rmn dada. El Teorema 7.3
nos dice que existen vectores unitarios u1 , u2 ,. . . , un , ui Rmi1 tales que si
Qui  Imi1 2ui u y Qi  DiagpIi1 , Qui q entonces
i
"

r11

"
Qi1 . . . Q1 A  " 0
! 0

Como Qi

...
0
0

ri1 i1

0
0
0
)

Ai

 DiagpIi1Qu q
i

"

r11

"
Qi Qi1 . . . Q1 A  " 0
! 0

..

0
0

ri1i1

0
0
0
)

Qui Ai

Es decir la accin de Qi sobre la matriz obtenida hasta el paso i 1 slo afecta


o
o
a la submatriz Ai . Y
Qui Ai

 pImi1 2uiuqAi  Ai 2uiuAi.


i
i

Esta es la operacin que tenemos que realizar en cada paso de el proceso


o
iterativo sobre A.
Algo similar sucede con la matriz Q. Recordemos que Q
r
ponemos Qi  Q1 Q2 qi , i  1, . . . n tenemos que
r
r
Qi  Qi1

 Q1Q2 Qn. Si

&

Ii1 0
.
0 Qui

Por lo tanto, en el paso i slo quedan afectadas las m i ultimas columnas de


o

r
Qi. As pues

r
Qi p:, i : mqQui

r
r
 Qi1p:, i : mq 2Qi1p:, i : mquiu.
i

154

Reexiones de Householder y el Algoritmo QR

Algoritmo QR de Householder (Caso real)


Dada A 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 factorizacin
o
QR completa de A. Ya se ha indicado ms arriba como conseguir una factorizacin
a
o
reducida a partir de sta.
e
Una observacin nal: El algoritmo QR de Householder, en el caso real, devuelve
o
una matriz triangular superior R cuyos elementos diagonales son nmeros reales pero
u
que pueden ser positivos o negativos. Los algoritmos de GramSchmidt devuelven
matrices R con nmeros reales positivos en la diagonal. Se puede conseguir que
u
el algoritmo de Householder tambin proporcione matrices R con nmeros reales
e
u
positivos (o negativos) en la diagonal. Para ello, si el elemento en la posicin pk, k q
o
es, digamos, negativo, multiplicamos la k-sima la de R por 1 y tambin la ke
e
sima columna de Q por 1. Es decir, si Ek  Diagp1, . . . , 1, . . . , 1q (1 en la
e
k-sima posicin) entonces A  QEk Ek R. Como Ek es unitaria, tambin lo es QEk .
e
o
e
Y tambin Ek R es triangular superior. En el algoritmo bastar aadir las siguientes
e
a n
l
neas de cdigo justo antes de nalizar el bucle for:
o

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

7.3 Nmero de operaciones


u

7.3.

155

N mero de operaciones
u

Estudiamos a continuacin el coste del algoritmo QR por transformaciones de Houo


seholder.
Antes de nada debemos hacer una observacin que es pertinente tambin para la
o
e
siguiente seccin donde estudiaremos la estabilidad de este algoritmo: tal y como
o
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 stas quedan dee
terminadas 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 nmero m k 1 aparece muy frecuentemente


u
porque es el tamao del vector x. Pongamos  m k 1 para abreviar la notacin.
n
o
La sentencia (1) es una asignacin y por lo tanto en ella no se realizan ops. En la
o
sentencia (2) se hacen:
multiplicaciones: x2 , x2 ,. . . , x2 .
1
2

1 sumas: x2 x2.
1
1 ra cuadrada:
z

x2 x2
1

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

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


u

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

Para implementar la sentencia (3) se necesita un nmero similar de ops. Es en la


u
sentencia (4) donde se acumula la mayor parte de las ops como veremos ahora.
Analicemos cuntas son necesarias para cada j  k : n:
a
Rpk : m, j q  Rpk : m, j q 2upu Rpk : m, j qq
Los parntesis en upu Rpk : m, j qq indican la forma que asociamos para realizar
e
los productos. Ntese que u Rpk : m, j q es un producto escalar y, por tanto, un
o
nmero cuya formacin requiere productos y 1 sumas. En total, 2 1 ops.
u
o
Ahora, si ponemos x  u Rpk : m, j q tenemos que multiplicar el nmero x por
u
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 nmero total de ops para cada j  k : n es

u
p2 1q p 1q  4 . Y el nmero total de ops involucrados en la sentencia
u
(4) para cada k  1 : n son 4 pn k 1q  4pm k 1qpn k 1q. . As pues, el

nmero total de ops necesarios para la sentencia (4) es


u
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.

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


ops para calcular la factorizacin QR de una matriz m n.
o

2
 2mn2 3 n3

2
Ntese que este algoritmo requiere del orden de n3 ops menos que los algoritmos
o
3
de Gram-Schmidt.

7.4 Estabilidad del algoritmo de Householder

7.4.

157

Estabilidad del algoritmo de Householder

Estrictamente hablando el algoritmo de Householder para la factorizacin QR no


o
puede ser estable hacia atrs si se entiende que el objetivo del mismo es calcular para
a
cada matriz A matrices Q, unitaria (ortogonal), y R, triangular superior con nmeros
u
reales en la diagonal. La razn es la misma que la que impide que ningn algoritmo
o
u
para el clculo de la descomposicin en valores singulares de una matriz sea estable
a
o
hacia atrs (Problema 6 de la Leccin ??). En efecto, para cualquier algoritmo
a
o
siempre habr matrices, A, cuya matriz Q no sea exactamente unitaria (ortogonal)
a
siendo imposible, por lo tanto, que tal matriz Q sea la matriz exactamente unitaria
(ortogonal) de alguna matriz prxima a A.
o
Dicho lo anterior, y recordando (ver Seccin 7.3) que la formacin de la matriz Q
o
o
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

v
 }vi} .
i

Si se entiende que el problema de la factorizacin QR consiste en, para cada A


o
mn
F
(n m), obtener vectores v1 , v2 ,. . . , vn en Fm1 tales que si Qi  Im 2ui u ,
i
vi
ui 
, y Q  Q1 Q2 Qn entonces A  QR con R triangular superior con nmeu
}vi}
ros reales en la diagonal, entonces el algoritmo de Householder para la factorizacin
o
QR es estable hacia atrs para cualquier matriz A. En efecto, tal algoritmo aplicado
a
mn
r
aAF
producir una matriz triangular superior R, con nmeros reales en la
a
u
vi r
r
r
r
r ri
diagonal, y vectores vi , i  1, . . . , tales que deniendo ui 
, Qi  Im 2ui u ,
}vi}
r
r
r
rr
i  1, . . . , n, y Q  Q1 Qn entonces QR es una factorizacin QR exacta de una
o
r prxima a A. El siguiente teorema, que damos sin demostracin, establece
matriz A o
o
la estabilidad hacia atrs del algoritmo de Householder rigurosamente:
a

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 aritmtica de punto otante
e
mn
r r
(5.2) y (5.4) de la Leccin 5. Sea A F
o
una matriz arbitraria. Sean Q y R como
r
ms arriba. Entonces existe una matriz A  A A tal que
a

}A}  Op q
M
}A}
rr
y QR  A A.

Das könnte Ihnen auch gefallen