Algoritmo QR y el problema de m´ınimos cuadrados El método de

Anuncio
Algoritmo QR y el problema de mı́nimos cuadrados
Curso 2016-17
1
El método de Householder
Objetivo: Realizar transformaciones elementales en las filas de A para
obtener una matriz triangular superior:
Qn · . . . · Q1 A = R
Qi unitaria.

x
x

x

x
x
x
x
x
x
x

x
x
 →
x
 Q1
x
x

x
0

0

0
0
x
x
x
x
x

x
x
 →
x
 Q2
x
x

x






x x
x x
 →
0 x
 Q3
0 x
0 x

x





x
x

x
x

x

0
0
Para k = 1, 2, . . . , n, Qk opera sobre A(k : m, 1 : n) haciendo ceros en las
posiciones (k + 1, k), (k + 2, k),. . . , (m, k).
2
Transformaciones de Householder
Objetivo: Para x ∈ Cn×1 encontrar una matriz unitaria Q ∈ Cn×n tal que
 
α
0
 
Qx =  .  = αe1
 .. 
0
kQxk2 = kxk2 ⇒ |α| = kxk2 ⇒ α = e iθ kxk2 .
Householder: Q es la matriz de una reflexión.
Lema
Sea x = (x1 , . . . , xn ) ∈ Cn y x1 = |x1 |e iθ . Existen vectores unitarios
u1 , u2 ∈ Cn×1 tales que si
Qui = (In − 2ui ui∗ ),
i = 1, 2,
entonces Qu1 x = +kxk2 e iθ e1 y Qu2 x = −kxk2 e iθ e1 .
3
El procedimiento de Householder
Dada A = a1 a2 · · · an ∈ Cm×n , (m ≥ n):
v1
, v1 = ±ka1 k2 e iθ1 e1 − a1 tal que
Existe u1 =
kv1 k2
Qu1 a1 = ±ka1 k2 e iθ1 e1 :
 iθ

e 1


1

 ±ka1 k2 c ∗
Qu1 A = 

..
0
B

. 
1
v2
Si B = b1 b2 · · · bn−1 , existe u2 =
,
kv2 k2
v2 = ±kb1 k2 e iθ2 e1 − b1 tal que Q̃u2 = ±kb1 k2 e iθ2 e1 :
 iθ

e 1


∗
±ka
k
d
d
iθ


2
1
2
1
e
1


0
±kb1 k2 f ∗ 
Qu1 A = 

.
.. 
Q̃u2

0
0
C
1
Y ası́ sucesivamente.
4
Observaciones
1
2
Si A ∈ Rm×n entonces D = In y Qu1 ,. . . , Qun son reales; i.e., Qui
ortogonal.
El signo es importante por razones de redondeo. Se elige opuesto al
signo de x1 (la primera componente de x). Ası́
v = −sign(x1 )kxk2 e iθ e1 − x
o teniendo en cuenta que Qu = Im − 2uu ∗
v = sign(x1 )kxk2 e iθ e1 + x
3
Qu∗i = Qui y como es unitaria Qu∗i = Qu−1
. Ası́
i
A = Qu1 · · · Qun DR.
Poniendo Q = Qu1 · · · Qun D, Q es unitaria y QR es una
descomposición QR completa de A. Una descomposición reducida se
obtiene suprimiendo las última m − n columnas de Q y las últimas
m − n filas (ceros) de R.
5
4
Rm×n
Más observaciones
Dada A ∈
existen vectores unitarios u1 , u2 ,. . . , un ,
m−i+1
ui ∈ R
, tales que si Qui = Im−i+1 − 2ui uiT y
Qi = Diag(Ii−1 , Qui ) entonces 

r11 ∗
∗
∗


 0 ...

∗
∗
Qi−1 · . . . · Q1 A = 

 0
0 ri−1 i−1 ∗ 
0
Ai
Como Qi = Diag(Ii−1 Qui )


r11 ∗
∗
∗


 0 ...

∗
∗
Qi Qi−1 · . . . · Q1 A = 

 0
0 ri−1i−1
∗ 
0
Qui Ai
La acción de Qi sobre la matriz obtenida hasta el paso i − 1 sólo
afecta a la submatriz Ai y a las últimas m − i + 1 columnas de
b i−1 = Q1 · . . . · Qi−1 :
Q
Qui Ai = (Im−i+1 − 2ui uiT )Ai = Ai − 2ui uiT Ai
b i (:, i : m) = Q
b i−1 (:, i : m) − 2Q
b i−1 (:, i : m)ui u T
Q
6
i
Algoritmo de Householder (Caso Real)
Dada A ∈ Rm×n
R=A
Q = Im
(b)
for k = 1 to n
x = R(k : m, k)
u = sign(x1 )kxk2 e1 + x
(a)
u
(c)
u=
kuk2
R(k : m, k : n) = R(k : m, k : n) − 2uu T R(k : m, k : n)
Q(:, k : m) = Q(:, k : m) − 2Q(:, k : m)uu T
(d)
end for
Nota: En la práctica Q no se construye explı́citamente. Se almacenan los
vectores de (a) en una matriz triangular y, cuando se quiera disponer de la
matriz Q, se llama a otro algoritmo que ejecute las sentencias (b), (c) y
(d).
7
Coste del algoritmo de Householder (sin el cálculo de Q)
El mayor número de operaciones se hace en:
R(k : m, k : n) = R(k : m, k : n) − 2(u(u T R(k : m, k : n))),
k =1:n
Sea ` = m − k + 1= número de filas de R(k : m, k : n). Para j = k : n:
Producto escalar u T R(k : m, j) → ` productos y ` − 1 sumas.
Si x = u T R(k : m, j) ∈ R, 2(u(u T R(k : m, j))) = 2xu → ` + 1
productos.
Si w = 2uu T R(k : m, j), R(k : m, j) = R(k : m, j) − w → ` restas.
Para cada k = 1 : n y j = k : n, (2` − 1) + (` + 1) + ` = 4` flops.
n P
n
P
k=1 j=k
4(m − k + 1) =
n
P
k=1
4(m − k + 1)(n − k + 1)
2
= 2mn2 − n3 + potencias menores en m y n
3
Coste ∼ 2n2 m − 32 n3
8
Estabilidad del algoritmo QR por reflexiones de
Householder
Problema:
f
: Fm×n → Fm×m × Fm×n
A
→
(Q, R)
Q unitaria, R triangular superior y A = QR.
No hay algoritmos estables hacia atrás para este problema
9
El teorema de estabilidad hacia atrás
En el algoritmo por reflexiones de Householder:
Q = Q1 Q2 · · · Qn y Qi = I − 2ui ui∗ , ui = kvvii k .
Para el algoritmo QR por reflexiones de Householder aplicado a A:
vb1 ,. . . , vbn : vectores con los que se construye el factor Q.
b 1 ,. . . , Q
b n las matrices exactamente unitarias construı́das con los vbi .
Q
b =Q
b1Q
b2 · · · Q
bn y R
b el factor triangular superior
Q
Teorema
Supongamos que el algoritmo QR por reflexiones de Householder se aplica
en un ordenador que cumple los dos axiomas de la aritmética de punto
b yR
b
flotante de la Lección 5. Sea A ∈ Fm×n una matriz arbitraria. Sean Q
e = A + δA tal que
como más arriba. Entonces existe una matriz A
kδAk
= O(M )
kAk
bR
b = A + δA.
yQ
10
Descargar