QR divide una matriz en una rotación y un triángulo
Las columnas de una matriz suelen estar torcidas: ni perpendiculares entre sí, ni de igual longitud. QR separa esas columnas limpiamente en dos piezas. Primero endereza las columnas con Gram-Schmidt en vectores unitarios mutuamente perpendiculares. Eso es Q, una rotación pura (o reflexión) que no toca ni la longitud ni el ángulo. Todo lo que tuvo que recortar — las longitudes y los solapamientos — se reúne en R, que, notablemente, siempre está lleno solo en su triángulo superior. A = QR: una rotación y un triángulo. Esa única línea es la forma más estable de resolver mínimos cuadrados, y el caballo de batalla del álgebra lineal numérica.
Recorre con los botones. La etapa 0 son las dos columnas de A, a1 y a2 — inclinadas, de longitud distinta. La etapa 1 ejecuta el Gram-Schmidt de la lección anterior y las endereza. Encoger la dirección de a1 a longitud unitaria da q1; restar la sombra de a2 sobre q1 y normalizar la parte ortogonal sobrante da q2. Ahora q1 y q2 son exactamente perpendiculares y ambos tienen longitud 1 (su producto punto marca 0). La etapa 2 produce R. Como R = Qᵀ A es automáticamente triangular superior, con la entrada inferior izquierda r21 igual a 0. A son las columnas torcidas, Q las columnas ortonormales enderezadas, R el pequeño triángulo que las une. Eso es A = QR.
Las dos columnas de Q son vectores unitarios mutuamente perpendiculares, así que aplicar Q al plano no deforma la rejilla — solo la gira entera de forma rígida. Arrastra el control del ángulo. Las celdas ni se estiran ni se sesgan; un cuadrado sigue siendo un cuadrado, porque tanto la longitud como el ángulo se conservan. Pulsa el botón de reflejar y se voltea como un espejo, pero las columnas siguen siendo ortonormales, así que la forma no cambia. Esta es la definición misma de una matriz ortogonal: QᵀQ = I. Mira QᵀQ abajo — en cada ángulo se mantiene la identidad. Esa es la prueba de que Q no es más que una rotación o una reflexión.
¿Por qué R siempre está lleno solo en su triángulo superior? Cada entrada es rij = qi · aj — la sombra de la j-ésima columna original proyectada sobre la i-ésima dirección enderezada. Alterna las celdas para leer los productos punto. La clave son las entradas bajo la diagonal. r21 = q2 · a1, pero q2 es justo la parte de a2 que queda tras quitar la dirección de a1, así que es perpendicular a a1. Perpendicular significa producto punto 0, así que r21 es 0. En general, una dirección qi construida después nunca entra en una columna anterior aj (j < i), porque esa columna ya quedó expresada por completo con las direcciones previas. Por eso todo lo que está bajo la diagonal es 0, y R es triangular superior.
Ahora ve al revés: toma R en la mano y reconstruye A. Mantén Q fija como una rotación de 20 grados, y al mover las tres entradas de R con los controles, A = QR se redibuja en vivo. r11 fija la longitud de la primera columna a1 — súbela y a1 se alarga. r22 es cuánto llega la segunda dirección, la longitud de la parte ortogonal. r12 es la cizalla: cuánto se inclina la segunda columna hacia la primera dirección. Estos tres números llevan toda la longitud y la inclinación, mientras que Q solo gira el resultado entero 20 grados. Se ve el reparto de trabajo: R lleva la forma, Q la orientación.
Ahora a donde QR de verdad se gana el pan: mínimos cuadrados. En la lección de proyección anterior, la recta que mejor ajusta los datos era la que hace mínima la suma de residuos al cuadrado (las líneas verticales). Mueve los controles de pendiente y ordenada para reducir el SSE. Los libros suelen decir que se forme AᵀA y se resuelvan las ecuaciones normales. Pero AᵀA es sensible al error y a menudo numéricamente inestable. QR se salta ese paso. Sustituye A = QR y las ecuaciones normales se reducen a R x = Qᵀ b, y como R es triangular, una sustitución hacia atrás lo termina. Pulsa el botón para saltar a esa solución QR, donde el SSE es mínimo. Obtener la misma respuesta de forma más estable, sin formar nunca AᵀA, es para lo que sirve QR.