Formato numérico
Comentarios de la solución
Sin descripción (solo respuesta)
a
b
c
d
x
y
z
clear
i
Randomize
3131313131351515151515≈83137
Cómo calcular la descomposición QR por reflexiones de Householder
Construye reflectores que anulen las entradas subdiagonales columna a columna. Cada reflector está determinado por el vector de columna que se está reduciendo; el producto de los reflectores da Q (ortogonal), y la matriz reflejada es R (triangular superior).
Reflexiones de Householder — ejemplo resuelto (2×2)
Escribe la matriz inicial
A
:
A
=
3
4
1
2
QR
la descomposición es una representación de la matriz
A
en la forma:
A
=
Q
*
R
;
Matrix
Q
es una matriz ortonormal;
Matrix
R
es una matriz triangular superior;
Para realizar la descomposición
QR
usando el método de reflexiones de Householder, debe hacer lo siguiente:
1)
Calcule el vector de reflexión de Householder v para cada columna a de la matriz A2)
Para cada columna a de la matriz A, calcularemos la matriz de Householder H3)
Después de aplicar la transformación de Householder a todas las columnas de la matriz A, la matriz transformada resultante A' será la matriz triangular superior R4)
La matriz ortogonal Q se obtiene multiplicando todas las matrices de Householder HPara realizar la descomposición
QR
utilizando el método de reflexión de Householder, debe hacer lo siguiente para cada columna
a
de la matriz
A
:
1)
Calcule la norma ‖a‖ de la columna a2)
Defina el signo (s) de la columna as
= -
sgn
(
a
[
i
])
;
// donde
sgn(a)
= 1 si a[i] ≥ 0, y -1 en caso contrarioa[i]
es el i -ésimo elemento de la columna ai
es el número de columna3)
Calcular el vector de reflexión de Householderv
=
a
-
s
*
a
*
e
0
i
;
// donde
eᵢ
es el vector base estándar donde i-ésimo elemento es 1 y todos los demás elementos son 0i
es el número de columna4)
Normalizar el vector de reflexión de Householderv_norm
=
v
v
;
5)
Calcular la matriz de HouseholderH
0
i
=
I
- 2 *
v_norm
*
v_norm
T
0
;
6)
Aplicar la transformación de Householder a la matrizA'
0
i
=
H
0
i
*
A'
0
i - 1
;
7)
Calcular la matrizQ
0
i
=
Q
0
i - 1
*
H
0
i
;
2
Iteración 1En la primera iteración, la matriz
A'
0
0
es igual a la matriz original
A
:
A'
0
0
=
3
4
1
2
Escriba la matriz inicial
Q
0
0
, que es igual a la matriz identidad:
Q
0
0
=
1
0
0
1
El vector
a
es igual a la
1
-ésima columna de la matriz
A'
0
0
:
a
=
3
4
Calcule la norma
a
de la columna
a
:
a
=
5
;
Defina el signo (
s
) de la columna
a
:
s
= -
sgn
(
a
[
1
])
= -
sgn
-(
3
) = -(
1
) =
-1
;
Escriba el
1
-ésimo vector de base estándar:
e
0
1
=
1
0
Calcular el vector de reflexión de Householder
:
v
=
a
-
s
*
a
*
e
0
1
=
3
4
-
-1
*
5
*
1
0
=
3
4
-
-5
0
=
8
4
;
Normalizar el vector de reflexión de Householder
:
v_norm
=
v
v
=
89
100
9
20
Calcular el vector de reflexión de Householder
:
H
0
1
=
I
- 2 *
v_norm
*
v_norm
T
0
=
1
0
0
1
- 2 *
89
100
9
20
*
89
100
9
20
=
=
89
100
9
20
·
89
100
9
20
=
4
5
2
5
2
5
1
5
=
1
0
0
1
- 2 *
4
5
2
5
2
5
1
5
=
=
4
5
2
5
2
5
1
5
·
2
=
4
5
*
2
2
5
*
2
2
5
*
2
1
5
*
2
=
1
3
5
4
5
4
5
2
5
=
1
0
0
1
−
1
3
5
4
5
4
5
2
5
=
1
-
1
3
5
0
-
4
5
0
-
4
5
1
-
2
5
=
-
3
5
-
4
5
-
4
5
3
5
Aplicar la transformación de Householder a la matriz
A'
0
1
:
A'
0
1
=
H
0
1
·
A'
0
0
=
-
3
5
-
4
5
-
4
5
3
5
·
3
4
1
2
=
-5
0
-2
1
5
2
5
Calcular la matriz
Q
0
1
:
Q
0
1
=
Q
0
0
·
H
0
1
=
1
0
0
1
·
-
3
5
-
4
5
-
4
5
3
5
=
-
3
5
-
4
5
-
4
5
3
5
3
Iteración 2El vector
a
es igual a la
2
-ésima columna de la matriz
A'
0
1
:
a
=
0
2
5
Calcule la norma
a
de la columna
a
:
a
=
2
5
;
Defina el signo (
s
) de la columna
a
:
s
= -
sgn
(
a
[
2
])
= -
sgn
-(
2
5
) = -(
1
) =
-1
;
Escriba el
2
-ésimo vector de base estándar:
e
0
2
=
0
1
Calcular el vector de reflexión de Householder
:
v
=
a
-
s
*
a
*
e
0
2
=
0
2
5
-
-1
*
2
5
*
0
1
=
0
2
5
-
0
-
2
5
=
0
4
5
;
Normalizar el vector de reflexión de Householder
:
v_norm
=
v
v
=
0
1
Calcular el vector de reflexión de Householder
:
H
0
2
=
I
- 2 *
v_norm
*
v_norm
T
0
=
1
0
0
1
- 2 *
0
1
*
0
1
=
=
0
1
·
0
1
=
0
0
0
1
=
1
0
0
1
- 2 *
0
0
0
1
=
=
0
0
0
1
·
2
=
0
*
2
0
*
2
0
*
2
1
*
2
=
0
0
0
2
=
1
0
0
1
−
0
0
0
2
=
1
-
0
0
-
0
0
-
0
1
-
2
=
1
0
0
-1
Aplicar la transformación de Householder a la matriz
A'
0
2
:
A'
0
2
=
H
0
2
·
A'
0
1
=
1
0
0
-1
·
-5
0
-2
1
5
2
5
=
-5
0
-2
1
5
-
2
5
Calcular la matriz
Q
0
2
:
Q
0
2
=
Q
0
1
·
H
0
2
=
-
3
5
-
4
5
-
4
5
3
5
·
1
0
0
-1
=
-
3
5
-
4
5
4
5
-
3
5
4
Matriz Q, RQ
=
Q
0
2
=
-
3
5
-
4
5
4
5
-
3
5
R
=
A'
0
2
=
-5
0
-2
1
5
-
2
5
Answer
A = Q · RQ
=
-
3
5
-
4
5
4
5
-
3
5
R
=
-5
0
-2
1
5
-
2
5
Tamaño2×2MétodoReflexiones de Householder