🧮 Computational Mathematics

Inicio · Parte 06 — Álgebra lineal II: descomposiciones y tensores

130 — Descomposición QR

intermedio-avanzado clase 10 de 20 4 horas demostración qr_decomposition

QR produce una base ortonormal del espacio columna y es la vía estable para mínimos cuadrados.

Fórmulas

A = QR,  QᵀQ = I,  R triangular superior
resolver mínimos cuadrados: Rx = Qᵀb

Desarrollo

La factorización QR escribe una matriz como el producto de una ortogonal y una triangular superior. Las columnas de Q son una base ortonormal del espacio columna de A, obtenida ortonormalizando sus columnas.

Su importancia es numérica. Resolver mínimos cuadrados por las ecuaciones normales exige formar AᵀA, lo que eleva al cuadrado el número de condición (clase 112). Con QR no hace falta: el problema se reduce a Rx = Qᵀb, una sustitución triangular, y la condición se conserva. La diferencia es la que separa seis dígitos correctos de doce.

El método de Gram-Schmidt que implementa el motor es el más legible pero no el más estable: la ortogonalidad se degrada con matrices mal condicionadas. Las bibliotecas usan reflexiones de Householder, que son ortogonales exactas salvo redondeo. La versión «modificada» de Gram-Schmidt es un punto intermedio.

QR también es la base del algoritmo estándar para calcular autovalores: iterar A ← RQ converge a una forma triangular cuya diagonal son los autovalores. Es uno de los algoritmos más influyentes del siglo XX.

Ejemplo trabajado

QR de una matriz 3×2.

A = [[1,1],
     [1,0],
     [0,1]]

Q (3×2, columnas ortonormales):
  [[0.7071,  0.4082],
   [0.7071, −0.4082],
   [0,       0.8165]]

R = [[1.4142, 0.7071],
     [0,      1.2247]]

QᵀQ = I                                    ✓ ortonormal
QR  = A                                    ✓ reconstruye
R triangular superior                      ✓

Qué calcula el laboratorio

QR por Gram-Schmidt: base ortonormal del espacio columna.

python classes/part-06-algebra-lineal-ii-descomposiciones-y-tensores/130-descomposicion-qr/lab.py
compmath run 130

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "A": [
    [
      1.0,
      1.0
    ],
    [
      1.0,
      0.0
    ],
    [
      0.0,
      1.0
    ]
  ],
  "Q": [
    [
      0.707107,
      0.408248
    ],
    [
      0.707107,
      -0.408248
    ],
    [
      0.0,
      0.816497
    ]
  ],
  "R": [
    [
      1.414214,
      0.707107
    ],
    [
      0.0,
      1.224745
    ]
  ],
  "QᵀQ": [
    [
      1.0,
      0.0
    ],
    [
      0.0,
      1.0
    ]
  ],
  "Q_es_ortonormal": true,
  "QR": [
    [
      1.0,
      1.0
    ],
    [
      1.0,
      -0.0
    ],
    [
      0.0,
      1.0
    ]
  ]
}

Errores comunes

Dónde se usa

Mínimos cuadrados estables, cálculo de autovalores por el algoritmo QR, ortonormalización de bases y regresión numéricamente robusta.

Idea rectora de la parte

Broadcasting y einsum son notación, no algoritmos nuevos.

Error a evitar

Aplicar PCA sin centrar (ni escalar) los datos.

Conexión con IA

LoRA factoriza matrices de bajo rango, la atención se define con productos tensoriales y la estabilidad del entrenamiento depende del espectro de los pesos.

Bibliografía de la clase

Archivos de la clase