Descomposición QR calculadora

Formato numérico
Comentarios de la solución
Sin descripción (solo respuesta)

a

b

c

d

x

y

z

clear

i

ab
x2
xn

Randomize

313131313135151515151583137
2
2510
=Resolver

  Cómo calcular la descomposición QR por rotaciones de Givens

Aplica una secuencia de rotaciones de plano 2 por 2 para anular las entradas subdiagonales una a una. Cada rotación de Givens está determinada por las dos entradas sobre las que actúa. El producto acumulativo de rotaciones es Q, y la matriz rotada es R.

  Rotaciones de Givens — ejemplo resuelto (3×3)

Escribe la matriz inicial
A
:
A
=
1
1
0
1
0
1
0
1
1
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;
Podemos usar rotaciones de Givens para hacer que todos los elementos debajo de la diagonal principal de la matriz
A
sean cero;
Este método es iterativo y en una iteración convertiremos un elemento a cero;
En la última iteración, cuando todos los elementos debajo de la diagonal principal sean cero, obtendremos la matriz
R
;
Durante el cálculo de la matriz
R
en cada iteración, calcularemos la matriz
G
para convertir los elementos debajo de la diagonal principal a cero;
Podemos calcular la matriz
Q
multiplicando todas las matrices transpuestas
G
;
Anularemos los elementos de arriba a abajo de izquierda a derecha;
En cada iteración necesitamos definir las siguientes variables:
a
es el elemento de la matriz Aₖ₋₁, que se encuentra en la diagonal principal en la misma columna que el elemento que queremos convertir en cero
a
=
a
0
k - 1
0
i,i
;
b
es el elemento de la matriz Aₖ₋₁ que queremos convertir en cero
b
=
a
0
k - 1
0
j,i
;
// donde
j
es el número de fila en el que hay un elemento que queremos convertir en cero
i
es el número de columna en el que hay un elemento que queremos convertir en cero
k
es el número de iteración
Aₖ₋₁
es la matriz calculada en la iteración anterior
A continuación, necesitamos calcular los siguientes valores:
r
=
a
2
0
+
b
2
0
;
c
=
a
r
;
s
= -
b
r
;
Ahora podemos construir la matriz
G
:
1)
La base de la matriz G es una matriz identidad de tamaño n por n
// donde
n
es el número de filas de la matriz A
2)
El elemento en el índice [i,i] es igual a c
g
0
i,i
=
c
;
3)
El elemento en el índice [j,j] es igual a c
g
0
j,j
=
c
;
4)
El elemento en el índice [j,i] es igual a s
g
0
j,i
=
s
;
5)
El elemento en el índice [i,j] es igual a -s
g
0
i,j
=
-s
;
Después de construir la matriz
G
, podemos multiplicarla por la matriz
A
0
k - 1
por la izquierda y obtendremos la matriz
A
0
k
;
En este paso, anularemos el elemento bajo el índice
j,i
;
También multiplicaremos la matriz
Q
0
k - 1
por la matriz
G
T
0
y obtendremos la matriz
Q
0
k
;
2
Iteración 1
En la primera iteración, la matriz
A
0
0
es igual a la matriz original
A
:
A
0
0
=
1
1
0
1
0
1
0
1
1
Escriba la matriz inicial
Q
0
0
, que es igual a la matriz identidad:
Q
0
0
=
1
0
0
0
1
0
0
0
1
i
=
1
;
j
=
2
;
a
=
a
0
k - 1
0
i,i
=
a
0
0
0
1,1
=
1
;
b
=
a
0
k - 1
0
j,i
=
a
0
0
0
2,1
=
1
;
r
=
a
2
0
+
b
2
0
=
1
2
0
+
1
2
0
=
1
41
100
;
c
=
a
r
=
1
1
41
100
=
71
100
;
s
= -
b
r
= -
1
1
41
100
=
-
71
100
;
G
=
c
s
0
-s
c
0
0
0
1
=
71
100
-
71
100
0
71
100
71
100
0
0
0
1
;
Matriz
A
0
1
A
0
1
=
G
0
·
A
0
0
=
71
100
-
71
100
0
71
100
71
100
0
0
0
1
·
1
1
0
1
0
1
0
1
1
=
1
41
100
0
0
71
100
-
71
100
1
71
100
71
100
1
Matriz
G
T
0
G
T
0
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
Matriz
Q
0
1
Q
0
1
=
Q
0
0
·
G
T
0
=
1
0
0
0
1
0
0
0
1
·
71
100
71
100
0
-
71
100
71
100
0
0
0
1
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
3
Iteración 2
i
=
2
;
j
=
3
;
a
=
a
0
k - 1
0
i,i
=
a
0
1
0
2,2
=
-
71
100
;
b
=
a
0
k - 1
0
j,i
=
a
0
1
0
3,2
=
1
;
r
=
a
2
0
+
b
2
0
=
-
71
100
2
0
+
1
2
0
=
1
11
50
;
c
=
a
r
=
-
71
100
1
11
50
=
-
29
50
;
s
= -
b
r
= -
1
1
11
50
=
-
41
50
;
G
=
1
0
0
0
c
s
0
-s
c
=
1
0
0
0
-
29
50
-
41
50
0
41
50
-
29
50
;
Matriz
A
0
2
A
0
2
=
G
0
·
A
0
1
=
1
0
0
0
-
29
50
-
41
50
0
41
50
-
29
50
·
1
41
100
0
0
71
100
-
71
100
1
71
100
71
100
1
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
Matriz
G
T
0
G
T
0
=
1
0
0
0
-
29
50
41
50
0
-
41
50
-
29
50
Matriz
Q
0
2
Q
0
2
=
Q
0
1
·
G
T
0
=
71
100
71
100
0
-
71
100
71
100
0
0
0
1
·
1
0
0
0
-
29
50
41
50
0
-
41
50
-
29
50
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
4
Matriz Q, R
Q
=
Q
0
2
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
R
=
A
0
2
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
Answer
A = Q · R
Q
=
71
100
71
100
0
41
100
-
41
100
41
50
29
50
-
29
50
-
29
50
R
=
1
41
100
0
0
71
100
1
11
50
0
71
100
41
100
-1
3
20
Tamaño3×3MétodoRotación de Givens

  Métodos de cálculo

  Fuentes