Beruflich Dokumente
Kultur Dokumente
tulo 7
Reexiones de Householder y el
Algoritmo QR
7.1.
Introduccin
o
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
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
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 .
Q,
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
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,
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
7.2.
v1
x
v
| |2 e1
|x|
v u
145
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
H+
u1
u
| | e1
|x|2
v
+| | e1
|x|2
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
}x}2ei e1 x,
y
u1
}v1} ,
v
v2
}x}2ei e1 x,
u2
v
}v2} .
2
}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
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
147
}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
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
Ii1 0
0 Qui
&
Cmm
Qn . . . Q1 A DR
}A}2
Diagpei , Im1q
" 0
"
y R" .
! .
.
0
(
0
0
0.
)
}a1}2ei
Qu A
0
1
xT
B
&
Qi
0 Qui
(Q2
Qu ) entonces
149
Qn . . . Q2 C
DR,
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
&
(iii)
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
3.000000000000000
4.000000000000000
151
-0.000000000000000
1.000000000000000
0.000000000000000
1.000000000000000
3.000000177635681
-3.999999866773233
-3.000000199999997
3.999999849999995
}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
si elegimos
}x}2 x1
"
x2 0
"
0
}x}e1 x "
!
.
.
.
xm
0
)
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,
153
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
Q1Q2 Qn. Si
&
Ii1 0
.
0 Qui
r
Qi. As pues
r
Qi p:, i : mqQui
r
r
Qi1p:, i : mq 2Qi1p:, i : mquiu.
i
154
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.
155
N mero de operaciones
u
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
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
156
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
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
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.
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.
157
Qi
Im 2uiu,
i
ui
v
}vi} .
i
158
}A} Op q
M
}A}
rr
y QR A A.