Está en la página 1de 10

Sobre la Factorizacion QR usando matrices de

Householder
Elaborado por
M. Monsalve
c
February
4, 2015

Conceptos previos
Definici
on: Un conjunto de vectores {q1 , q2 , qm } donde qi Rn es un
conjunto ortonormal si satisface

0 si i 6= j
< qi , qj >=
1 si i = j
Definici
on: Sea Q Rnn . Se dice que Q es ortogonal Q1 = QT . Observe
que las columnas (filas) de esta matriz forman un conjunto ortonormal.
Propiedades:
1. QT Q = QQT = I
2. kQxk2 = kxk2 , x Rn
3. El producto de matrices ortogonales es una matriz ortogonal.

Factorizaci
on QR
La idea es, dada A Rnn , hallar una matriz ortogonal Q y una matriz R
triangular superior, tal que A = QR. Al igual que el proceso de eliminacion
Gaussiana, la matriz A se multiplicara por matrices ortogonales hasta obtener
la matriz R, esto es
Qn1 Qn2 Q2 Q1 A = R
|
{z
}
Q1

Q1 A = R
QQ1 A = QR
A = QR
1

(1)

Note que si Q1 = Qn1 Qn2 Q2 Q1 entonces


1
1
1
T T
T
T
Q = (Qn1 Qn2 Q2 Q1 )1 = Q1
1 Q2 Qn2 Qn1 = Q1 Q2 Qn2 Qn1

Esquema de la factorizaci
on QR
Primer paso: Es necesario hallar

1
0

Q1 A = 0
..
.
0

Q1 tal que

...
. . .

. . .
= A1
. . . ..
.
...

..
.

..
.

Segundo paso: Es necesario hallar Q2

1
0

Q2 A1 = Q2 Q1 A = 0
..
.
0

tal que

2
0
..
.
0

...
. . .

. . .
= A2
. . ..
. .
...

..
.

siguiendo con esta metodologa es posible hallar


tales que

1 . . .
0 2 . . .

Qn1 Q2 Q1 A = 0 0 3 . . .
..
..
.. . .
.
.
.
.
0 0 0 ...

n 1 matrices ortogonales

= An1 = R
..
.

Transformada de Householder
Una forma de obtener las matrices ortogonales necesarias para realizar la factorizacion QR de una matriz A Rnn dada , es a traves del uso de las
matrices de Householder.
Definici
on: Dado u Rn . Una matriz de Householder, denotada por H, se
define como
2uut
H = In t ,
uu
donde In es la matriz identidad de orden n. Las matrices de Householder
tambien son conocidas con el nombre de Reflectores de Householder. Para
ilustrar este hecho, observe que en la Figura, H es una matriz de Householder

Figure 1: Reflector de Householder


generada por el vector u R3 y P es el subespacio conformado por todos los
vectores ortogonales al vector u es decir: P = {y R3 : ut y = 0}. Al aplicar
la matriz H sobre alg
un vector x se obtiene un vector y = Hx que es el reflejo
de x a traves de P .
Propiedades: Asegurase que Ud sabe probar formalmente TODAS estas
propiedades
1. H es ortogonal.
2. H es simetrica.
3. H 1 = H.
4. H 2 = In .
5. Hu = u
6. y P : Hy = y.
7. kHxk2 = kxk2
8. Producto matriz vector

 t 

2uut
2uut x
2u x
Hx = In t
x=x t =x
u = x u,
uu
uu
ut u
donde =

2ut x
ut u

A continuacion se enuncia un Lema que sera de utilidad para emplear las


matrices de Householder para obtener la factorizacion QR de una matriz dada.

LEMA

Sean a, b Rn , tales que kak2 = kbk2 . El vector u = a b


genera una matriz de Householder H tal que Ha = b. La u
ltima pagina
de este material contiene una explicacion grafica de este Lema.
Para la factorizacion QR mediante matrices de Householder se require la
aplicacion de este Lema en un caso particular muy especial: Considere
al vector b = e1 donde e1 es el canonico de orden n y el vector a es
cualquiera, es decir, queremos aplicar el Lema para hallar H tal que
Ha = e1 .
Para satisfacer la hipotesis del Lema debe ocurrir que kak = ke1 k, es
decir debe ser tal que,
kak = ke1 k = ||ke1 k = ||,

(2)

entonces u = a e1 . De (2) se desprende que bien puede ser igual a


kak o igual a kak, con lo cual el vector u puede definirse de dos formas
u = a kake1
u = a + kake1

si se usa
si se usa

= kak
= kak.

(3)
(4)

Note que si la primera componente de a es negativa conviene usar el u


definido por (3) para as evitar una resta que necesariamente ocurrira
si se usa la ecuacion (4) para obtener u. Mientras que si la primera
componente de a es positiva conviene usar el u definido por (4), pues si
se usase (3) estaramos realizando una resta: Recuerde que siempre es
una buena practica evitar las restas.
De lo anterior se concluye que, dependiendo del signo de la primera
componente de a, se puede escoger una expresion para u que evite las
restas. Dicha expresion es:
u = a + signo(a1 )kake1 ,

(5)

donde a1 es la primera componente del vector a.

Matrices de Householder y Factorizaci


on QR
Las matrices ortogonales Qi con i = 1, 2, (n 1) requeridas en la expresion
(1) seran matrices de Householder. Es por ello que en esta seccion la ecuacion
(1) se reescribira como
Hn1 Hn2 H2 H1 A = R,
pues recordemos que las Hi ademas de ser ortogonales son simetricas.

Como se menciono anteriormente, es facil ver que este proceso de factorizacion, requiere de n 1 pasos para completarse. Veamos algunos de ellos.

Primer paso:
Es necesario hallar H1 tal que

1
0

H1 A = H1 [a1 a1 an ] = [H1 a1 H1 a2 H1 an ] = 0
..
.
0

...
. . .

. . .
= A1
. . ..
. .
...

..
.

..
.

donde ai con i = 1, 2, n representan las columnas de la matriz A.

Importante!!

b1 R(n1)(n1) a aquella submatriz


Voy a denotar por A
de A1 que se obtiene al eliminar la primera fila y la primera columna de
b1 se denotaran por b
A1 . Las columnas de A
ai . Esto sera de utilidad en
el segundo paso.
Observe que H1 debe ser construida con un objetivo muy especial, H1 debe
ser tal que

1
0


H1 a1 = 0
..
.
0 nn
o lo que es lo mismo H1 debe ser tal que
H1 a1 = 1 e1 ,
donde e1 es el primer canonico de tama
no n. Aqu podemos aplicar el Lema
anteriormente descrito. Para lograr lo anterior sencillamente debemos tomar
u1 = a1 + signo(a11 )ka1 k2 e1 . Recuerde que a11 denota la primera componente
de a1 .
Importante!!

Para no recargar la notacion renombremos a ai := H1 ai


con i = 1, 2, . . . , n. Es decir, ai hara referencia a H1 ai y NO a la columna
ai de la matriz A original.

Segundo paso:
Es necesario hallar H2 Rnn tal que

1
0 2

H2 A1 = H2 [a1 a2 an ] = [H2 a1 H2 a2 H2 an ] = 0 0
|{z}
..
..
.
paso1
.
0 0

...
. . .

. . .
= A2
. . ..
. .
...

..
.

donde ai con i = 1, 2, n representan las columnas de la matriz A1 . Note que


a1 = (1 , 0, , 0)T , con lo cual H2 debe dise
narse tal que NO modifique la
primera columna de A1 para no perder los ceros colocados en el primer paso.
Mas a
un, si H2 tampoco modifica la primera fila de A1 , entonces es posible
b 2 R(n1)(n1) tal que
hallar H

2
0


b
H2b
a1 = 0
,
..
.
0 (n1)(n1)
b1 (Ver Paso 1, para recordar la definicion
donde b
a1 es la primera columna de A
b1 ). Dicho de otra forma, es posible usar el procedimiento usado en el Paso
de A
b 2 tal que
1 para hallar H
b 2b
H
a1 = 2 e 1 ,
b2
donde e1 es el primer canonico de tama
no n 1. Para ello basta formar H
usando el vector u2 = b
a1 +signo(b
a11 )kb
a1 ke1 . Finalmente, la matriz H2 buscada
es de la forma

1 0 0 ... 0
0

= A2
b
H2 = 0
H2

0
Es importante resaltar que H2 es una matriz de Householder que se obtiene
mediante el vector u = [0, 0, uT2 ]T

Importante!!

Nuevamente, para no recargar la notacion renombremos


a ai := H2 ai con i = 2, . . . , n. Es decir, ai hara referencia a H2 ai y NO
a la columna ai de la matriz A original.

Paso k-
esimo:
Observe que de los pasos anteriores se tienen H1 , H2 , . . . Hk1 tales que
Hk1 Hk2 H1 , H2 = Ak1 ,
donde Ak1 tiene la siguiente

1
0

0
.
.
.
Ak1 =
0

0
.
..
0

forma

2
0 3
..
..
.
.
0 0
0 0
..
..
.
.
0

...
...
...
..
.

..
.

...
...

k1
0
..
.

...
...
...
.. ..
. .
...
...
..
. ...

...

...
...

..

..
.

bk1 Rqq aquella submatriz de Ak1 que no posee


Sea q = n (k 1) y sea A
las (k 1) primeras filas ni las (k 1) primeras columnas de Ak1 . As mismo,
bk1 se denotaran por b
las columnas de A
ai . Note que b
ai Rq . El objetivo es
hallar una matriz de Householder Hk tal que

1 . . .

...
0 2 . . .

. . .

0 0 3 . . .

.
.
.

.
..
.. . .
..
..
.. ..
.

.
.
.
.
.
. .
.
Hk Ak1 =

0 0 0 . . . k1 . . .

0
k . . .
0 0 0 ...
.
..
..
..
..
.
..
.
. . . . ..
.
. ...
0 0 0 ...
0
0 ...
Siguiendo con la filosofa de que Hk no debe modificar los ceros colocados en
los (k 1) pasos anteriores, Hk debe ser de la forma


I(k1) 0(k1)q
Hk =
,
bk
0q(k1)
H
b k Rqq es tal que
donde H
bkb
H
a1 = k e1 ,
bk1 .
y el vector b
a1 es la primera columna de A
Al finalizar este paso, y recordando lo discutido en relacion a la factorizacion QR se tiene que
Hn1 Hn2 H2 H1 A = R
{z
}
|
Q1

Q1 A = R
A = QR

Note que Q1 = Hn1 Hn2 H2 H1 es una matriz ortogonal pues ella es el


producto de n 1 matrices ortogonales de Householder. Mas a
un
Q =
=
=
=

(Hn1 Hn2 H2 H1 )1
1
1
Hn1
H11 H21 Hn2
T
T
H1T H2T Hn2
Hn1
H1 H2 Hn2 Hn1 ya que cada Hi es simetrica

Note que el vector u es el vector xy. Por lo tanto,


usando u = x y se puede hallar una matriz de
Householder tal que Hx = y

Inicialmente se tienen dos vectores x e y de igual


tama
no, es decir kxk2 = kyk2

Dados esos vectores es posible definir un plano P


(plano azul) tal que x sea el reflejo de y a traves
de P (y viceversa).

Una vez definido el plano P , se puede encontrar


un vector u (vector verde) ortogonal al plano P .

Ejemplo

2 5
7 4
7 1 10 1

A=
4 8 4 9
3 12 1 8
Primer paso:
a1 = [2, 7, 4, 3]T .
ka1 k = 8.8318.
u1 = a1 ka1 k[1, 0, 0, 0]T = [10.83, 7, 4, 3]T

0.2265 0.7926
0.4529
0.3397
0.7926
2u1 uT
0.4878 0.2927 0.2195

H1 = I4 T 1 =

0.4529 0.2927 0.8327 0.1254


u1 u1
0.3397 0.2195 0.1254 0.9059

ka1 k 7.3598 10.9831 6.6804


0
0.5250 1.6215 0.7322

A1 = H1 A =
0
7.1286
2.6409
8.0102
0
11.3464
5.9807
7.2576
Segundo paso:

0.5250 1.6215 0.7322


b1 = 7.1286 2.6409 8.0102
A
11.3464 5.9807 7.2576
b
a1 = [0.5250, 7.1286, 11.3464]T .
kb
a1 k = 13.4102.
u2 = b
a1 kb
a1 k[1, 0, 0, ]T = [13.9352, 7.1286, 11.3464]T
b 2 = I3
H

1
0
H2 =
0
0

0.0392 0.5316
0.8461
0.7281 0.4328
= 0.5316
0.8461 0.4328 0.3111

0
0
0
0.0392 0.5316
0.8461

0.5316
0.7281 0.4328
0.8461 0.4328 0.3111

2u2 uT2
uT2 u2

ka1 k 7.3598 10.9831 6.6804


0
kb
a1 k
6.4006
10.4274

A2 = H2 A1 = H2 H1 A =
0
0
0.1961
2.3015
0
0
2.0894 1.8288

Tercer paso:


0.1961
2.3015
b2 =
A
2.0894 1.8288
e
a1 = [0.1961, 2.0894]T .
ke
a1 k = 2.0986.
u3 = e
a1 + ke
a1 k[1, 0, ]T = [2.2947, 2.0894]T


2u3 uT3
0.0935 0.9956
b
=
H3 = I2 T
0.9956 0.0935
u3 u3

1
0
H3 =
0
0

0
0
0

1
0
0

0 0.0935 0.9956
0 0.9956 0.0935

ka1 k 7.3598 10.9831 6.6804


0
kb
a1 k
6.4006
10.4274
=R
A3 = H3 A2 = H3 H2 H1 A =
0
0
ke
a1 k
1.6057
0
0
0
2.4623
Matriz Q

0.2265 0.4971 0.6342 0.5472


0.7926 0.3604 0.4823 0.0966

H1 H2 H3 = Q =
0.4529
0.3480
0.5971 0.5633
0.3397
0.7084 0.0936 0.6116

También podría gustarte