🧮 Computational Mathematics

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

134 — Pseudoinversa de Moore-Penrose

intermedio-avanzado clase 14 de 20 4 horas demostración pseudoinverse

La pseudoinversa generaliza la inversa y da la solución de mínima norma.

Fórmulas

A⁺ = VΣ⁺Uᵀ
sobredeterminado: A⁺b = solución de mínimos cuadrados
indeterminado: A⁺b = solución de norma mínima

Desarrollo

La pseudoinversa de Moore-Penrose extiende la inversa a matrices que no la tienen: rectangulares o singulares. Se construye desde la SVD invirtiendo los valores singulares no nulos y dejando en cero los demás.

Su comportamiento depende del caso. Si el sistema está sobredeterminado —más ecuaciones que incógnitas—, A⁺b da la solución de mínimos cuadrados. Si está indeterminado —infinitas soluciones—, da la de norma mínima entre todas ellas. Esa elección no es arbitraria: es la solución sin componente en el núcleo, la más «económica».

El detalle numérico que importa: al invertir los valores singulares, los más pequeños se convierten en los más grandes y amplifican el ruido. Por eso la pseudoinversa práctica trunca: descarta los valores singulares por debajo de una tolerancia relativa. Ese truncamiento es una forma de regularización, emparentada con Ridge.

Cuando A tiene rango completo por columnas, A⁺ = (AᵀA)⁻¹Aᵀ y coincide con las ecuaciones normales. La versión SVD es preferible porque funciona también cuando el rango es deficiente, donde las ecuaciones normales fallan.

Ejemplo trabajado

Pseudoinversa de un sistema sobredeterminado.

A = [[1,0],      b = (1, 2, 4)
     [1,1],
     [1,2]]

3 ecuaciones, 2 incógnitas → sobredeterminado

A⁺ = [[ 0.8333,  0.3333, −0.1667],
      [−0.5,     0,       0.5   ]]

A⁺b = (0.8333, 1.5)

Coincide con las ecuaciones normales        ✓
A⁺A = I (rango completo por columnas)       ✓

Qué calcula el laboratorio

Pseudoinversa de Moore-Penrose para sistemas sobredeterminados.

python classes/part-06-algebra-lineal-ii-descomposiciones-y-tensores/134-pseudoinversa-de-moore-penrose/lab.py
compmath run 134

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "A_shape": [
    3,
    2
  ],
  "sistema_sobredeterminado": true,
  "A⁺": [
    [
      0.833333,
      0.333333,
      -0.166667
    ],
    [
      -0.5,
      0.0,
      0.5
    ]
  ],
  "A⁺b": [
    0.833333,
    1.5
  ],
  "solucion_por_ecuaciones_normales": [
    0.833333,
    1.5
  ],
  "coinciden": true
}

Errores comunes

Dónde se usa

Mínimos cuadrados con rango deficiente, regularización truncada, cinemática inversa en robótica y resolución de sistemas indeterminados.

Idea rectora de la parte

El número de condición es el cociente entre el mayor y el menor valor singular.

Error a evitar

Interpretar autovalores complejos como error de cálculo.

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