🧮 Computational Mathematics

Inicio · Parte 05 — Álgebra lineal I: vectores y matrices

114 — Eliminación de Gauss

intermedio clase 14 de 20 4 horas demostración gaussian_elimination_demo

El pivoteo parcial evita dividir por pivotes casi nulos y hace estable la eliminación.

Fórmulas

coste: ~2n³/3 operaciones
pivote = fila con el mayor |Aᵢⱼ| en la columna actual

Desarrollo

La eliminación de Gauss transforma el sistema en uno triangular mediante operaciones que no cambian el conjunto solución: intercambiar filas, escalarlas y restarles múltiplos de otras. Una vez triangular, la sustitución hacia atrás resuelve en O(n²).

El pivoteo parcial no es un refinamiento opcional: es lo que hace el método utilizable. Sin él, un pivote muy pequeño produce factores enormes que amplifican los errores de redondeo y pueden destruir por completo la precisión. Con pivoteo, se elige en cada columna la fila con el mayor valor absoluto, garantizando que los factores estén acotados por 1.

El ejemplo clásico es un sistema de 2×2 con pivote 10⁻²⁰: sin pivoteo la solución calculada es completamente errónea; con pivoteo es correcta. La diferencia no está en la matemática —ambas eliminaciones son válidas en ℝ— sino en la aritmética finita.

El coste, ~2n³/3 operaciones, es el mismo que el de la factorización LU, y no es casualidad: la eliminación de Gauss es la factorización LU, expresada de otra forma. La ventaja de guardarla como LU (clase 129) es poder resolver muchos sistemas con la misma matriz pagando O(n²) cada uno en lugar de O(n³).

Ejemplo trabajado

Eliminación con pivoteo sobre un sistema 3×3.

Matriz original:
  [ 2  1 −1 |   8]
  [−3 −1  2 | −11]
  [−2  1  2 |  −3]

Pivoteo: la mayor |entrada| de la columna 1 es −3 → intercambiar filas
Intercambios realizados: 2

Triangular superior resultante:
  [−3 −1.000  2.000]
  [ 0  1.667  0.667]
  [ 0  0      0.200]

Sustitución hacia atrás → x = (2, 3, −1)
Verificación: Ax = (8, −11, −3) = b     ✓

Coste: O(n³/3) ≈ 9 operaciones para n=3

Qué calcula el laboratorio

Eliminación de Gauss con pivoteo parcial, paso a paso.

python classes/part-05-algebra-lineal-i-vectores-y-matrices/114-eliminacion-de-gauss/lab.py
compmath run 114

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "matriz_original": [
    [
      2.0,
      1.0,
      -1.0
    ],
    [
      -3.0,
      -1.0,
      2.0
    ],
    [
      -2.0,
      1.0,
      2.0
    ]
  ],
  "triangular_superior": [
    [
      -3.0,
      -1.0,
      2.0
    ],
    [
      0.0,
      1.666667,
      0.666667
    ],
    [
      0.0,
      0.0,
      0.2
    ]
  ],
  "intercambios_de_fila": 2,
  "solucion": [
    2.0,
    3.0,
    -1.0
  ],
  "pivoteo_evita": "dividir por un pivote casi nulo",
  "coste": "O(n³/3) operaciones"
}

Errores comunes

Dónde se usa

Es el algoritmo que hay dentro de cualquier solve de biblioteca. Resolver circuitos, estructuras, sistemas de equilibrio y ajustes lineales.

Idea rectora de la parte

La proyección ortogonal es la mejor aproximación en norma euclídea.

Error a evitar

Confundir dimensión del espacio con número de vectores.

Conexión con IA

Cada capa densa es un producto matriz-vector. Los embeddings viven en subespacios y la similitud entre ellos es producto punto normalizado.

Bibliografía de la clase

Archivos de la clase