Inicio · Parte 05 — Álgebra lineal I: vectores y matrices
coste: ~2n³/3 operaciones
pivote = fila con el mayor |Aᵢⱼ| en la columna actual
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³).
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
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
matriz_originaltriangular_superiorintercambios_de_filasolucionpivoteo_evitacosteverificacion{
"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"
}
Es el algoritmo que hay dentro de cualquier solve de biblioteca. Resolver circuitos, estructuras, sistemas de equilibrio y ajustes lineales.
Cada capa densa es un producto matriz-vector. Los embeddings viven en subespacios y la similitud entre ellos es producto punto normalizado.
9780898719574 verificado en International ISBN Agency (2026-08-19).9780898718027, pendiente de resolver.