Está en la página 1de 3

ALGORITMOS QR

El Algoritmo QR es un algoritmo usado en álgebra lineal para el cálculo de valores y vectores


propios de una matriz.
Formalmente, sea 𝑨 una matriz real de la que queremos calcular los valores propios, se
asigna 𝐴0 : = 𝐴. En adelante se calculan las siguientes iteraciones de forma:

 𝐴𝑘 = 𝑄𝑘 𝑅𝑘 donde 𝑄𝑘 es una matriz ortogonal y 𝑅𝑘 es una matriz triangular superior.


 𝐴𝑘+1 = 𝑅𝑘 𝑄𝑘 . Se ha de notar que

𝐴𝑘+1 = 𝑅𝑘 𝑄𝑘 = 𝑄𝑘𝑇 𝑄𝑘 𝑅𝑘 𝑄𝑘 = 𝑄𝑘𝑇 𝐴𝑘 𝑄𝑘 = 𝑄𝑘−1 𝐴𝑘 𝑄𝑘 ,

Se basa en la descomposición QR, desarrollada en la década de 1950 por John G.F. Francis
(Reino Unido) y Vera N. Kublanovskaya (URSS), de forma independiente.1 Esto es, usa la
oportunidad de representar cualquier matriz regular H en forma de producto de H = Q R
{\displaystyle H=QR} {\displaystyle H=QR} de una matriz ortogonal Q por una matriz
triangular superior R.2 La idea básica es usar dicha descomposición para reescribir la matriz
como el producto de una matriz ortogonal y una matriz triangular superior. Si se multiplica
a la inversa, la matriz resultante sigue teniendo los mismos valores propios e iterando se
puede llegar a una matriz que los contenga en la diagonal.

El Algoritmo QR es un algoritmo usado en álgebra lineal para el cálculo de valores y vectores


propios de una matriz.

Se basa en la descomposición QR, desarrollada en la década de 1950 por John G.F. Francis
(Reino Unido) y Vera N. Kublanovskaya (URSS), de forma independiente.1 Esto es, usa la
oportunidad de representar cualquier matriz regular H en forma de producto de H = Q R
{\displaystyle H=QR} {\displaystyle H=QR} de una matriz ortogonal Q por una matriz
triangular superior R.2 La idea básica es usar dicha descomposición para reescribir la matriz
como el producto de una matriz ortogonal y una matriz triangular superior. Si se multiplica
a la inversa, la matriz resultante sigue teniendo los mismos valores propios e iterando se
puede llegar a una matriz que los contenga en la diagonal.

Figura 1. Estructura del QR


El algoritmo QR es usado para poder construir una matriz triangular superior a partir de
una matriz . El algoritmo mejora su tasa de convergencia si recibe como entrada una
matriz de Hessenberg .

El algoritmo QR puede ser utilizado para encontrar la matriz diagonal superior de la


descomposición de Schur. Que si queremos obtener ceros bajo la diagonal usando el
siguiente procedimiento:

resultaba que al postmultiplicar por la matriz se destruían los ceros formados.

Sin embargo, el procedimiento anterior resulta ser efectivo cuando se realiza


iterativamente:

La idea del algoritmo es ir obteniendo una matriz diagonal superior en dos pasos:

 Primero se calcula (línea 1),


 Y luego se obtiene (línea 2) que equivale a
, es decir se está pre y post multiplicando
sucesivamente por matrices ortonormales.

Nota: De lo anterior resulta que es similar a y por lo tanto a , es decir, todas


ellas tienen los mismos valores propios.

Para poder comparar el algoritmo QR con el método de iteración simultánea se han definido
dos matrices adicionales que no afectan el algoritmo: y.

Figura 2. Esquema y organización


Una vez localizados los tres patrones, hay que determinar la orientación del QR. Para ello se
analizan las posiciones de los centros de cada patrón y se detecta cuál de ellos es el patrón
superior izquierda. El hecho de haber detectado los patrones, nos da una idea de cuál es el
ancho de módulo en pixeles de la imagen.
Patrones temporizadores:
Patrón de función que permite re sincronizar las coordenadas de mapeo del símbolo ante
posibles distorsiones moderadas.
Los patrones temporizador son dos, uno vertical y otro horizontal. Están formados por una
línea o columna de módulos blancos y negros a lternados, comenzando y terminando en un
módulo negro. El temporizador horizontal cruza la fila número 6 entre los separadores
superiores y el vertical igual pero cruzando la columna 6.

Patrones de alineamiento
Los patrones de alineamiento están formados por un módulo negro, rodeado de un
cuadrado de 3x3 módulos blancos que a su vez está rodeado por otro cuadrado de 5x5
módulos negros. Su número en el símbolo varía según la versión.

Versión
Una manera de identificar la versión es contando la cantidad de módulos que tiene a lo largo
el QR.
Sabiendo la versión del símbolo, ya sabemos cuántos patrones de alineamiento posee el
símbolo y su posición, en estas posiciones debemos buscar los patrones 11111, 10101 y el
10001.
Obs.: Las versiones anteriores a la 7 no tienen información de versión, la versión 1 no tiene
ningún patrón de alineamiento. Todas tienen tres patrones localizadores, dos patrones
temporizadores, tres separadores y la información de formato por duplicado.

Corrección de errores
Los códigos QR emplean codificación de errores basada en algoritmos de Reed-Solomon,
generando un conjunto de codewords de corrección de errores (ECC, Error Correction
Codewords) que se añaden a los de datos aportando redundancia. Existen 4 niveles de
corrección de errores en los símbolos QR:
-L (Low). Puede corregir hasta el 7% de los codewords de datos del símbolo.
-M (Medium). Puede corregir hasta el 15% de los codewords de datos del símbolo.
-Q (Quality). Puede corregir hasta el 25% de los codewords de datos del símbolo
-H (High). Puede corregir hasta el 30% de los codewords de datos del símbolo

Referencias

 V. Boss Lecciones de matemática tomo 3 Álgebra lineal Editorial URSS Moscú (2011)

También podría gustarte