Inicio · Parte 11
Raíces, interpolación, splines, diferenciación y cuadratura numérica, sistemas lineales iterativos, mínimos cuadrados y ecuaciones diferenciales.
Casi ninguna ecuación interesante tiene solución en forma cerrada. No hay fórmula para las raíces de un polinomio de grado cinco, ni para la integral de e^(−x²), ni para la mayoría de las ecuaciones diferenciales que describen el mundo físico. Los métodos numéricos son la respuesta a ese hecho: aproximar con error controlado en vez de resolver exactamente.
La palabra clave es controlado. Un método numérico sin estimación de error es un generador de números plausibles, y la diferencia entre un resultado y un número plausible es exactamente lo que esta parte enseña a establecer. Por eso la clase 221 abre con la tensión que gobierna todo lo demás: el error de truncamiento baja al reducir el paso h, pero el error de redondeo sube, y existe un h óptimo por debajo del cual afinar más empeora el resultado. Es la parte 01 reapareciendo con consecuencias prácticas.
Las clases 222 a 224 buscan raíces. Bisección es lenta pero garantizada: si hay cambio de signo, converge siempre. Newton es cuadrático —duplica los dígitos correctos en cada paso— pero solo cerca de la raíz, necesita la derivada y puede divergir espectacularmente desde un mal punto inicial. La secante renuncia a la derivada a cambio de un orden 1,618, el número áureo, y suele ser el mejor compromiso práctico.
Las clases 225 a 230 tratan de reconstruir funciones y de integrarlas. El fenómeno de Runge es la lección central: subir el grado del polinomio interpolador no mejora la aproximación, la empeora, con oscilaciones cada vez más violentas cerca de los extremos. La solución no es más grado sino trozos pequeños, y de ahí salen los splines. En integración aparece el concepto de orden: el trapecio es O(h²) y duplicar los subintervalos divide el error por 4; Simpson es O(h⁴) y lo divide por 16; la cuadratura gaussiana consigue con tres nodos lo que al trapecio le cuesta cientos.
Las clases 231 a 234 vuelven al álgebra lineal, ahora desde el punto de vista computacional. Los métodos directos como LU resuelven en un número fijo de operaciones; los iterativos como Jacobi y Gauss-Seidel se acercan progresivamente y son los únicos viables en sistemas enormes y dispersos. Aquí aparece la disciplina de los criterios de parada: tolerancia relativa, residuo y tope de iteraciones, los tres a la vez, siempre declarados.
Las clases 235 a 238 resuelven ecuaciones diferenciales. Euler es el método más simple y el peor: orden 1, error que solo se reduce a la mitad al duplicar el trabajo. RK4 cuesta cuatro evaluaciones por paso y es de orden 4, lo que en la práctica significa que RK4 con 5 pasos supera a Euler con 80. La estabilidad aparece como restricción independiente de la precisión, y con problemas rígidos o con ecuaciones en derivadas parciales se vuelve el factor decisivo: la condición de Courant no es una recomendación, es la frontera entre una simulación y una explosión numérica.
El cierre conecta con la práctica: qué aporta SciPy sobre una implementación propia, y por qué merece la pena haber escrito ambas. Se implementa a mano para saber cuándo la biblioteca falla o miente; se usa la biblioteca porque su estabilidad, su control de error y su rendimiento están probados. En inteligencia artificial estos métodos no son historia: los Neural ODE integran con RK4, los samplers de difusión son integradores de ecuaciones estocásticas, y los optimizadores de segundo orden son Newton con la derivada aproximada.
| # | Clase | Demostración ejecutable |
|---|---|---|
221 |
Errores numéricos y convergencia | numerical_errors |
222 |
Bisección | bisection |
223 |
Newton-Raphson | newton_raphson |
224 |
Método de la secante | secant |
225 |
Interpolación de Lagrange | lagrange_interpolation |
226 |
Splines | splines |
227 |
Diferenciación numérica | numerical_differentiation |
228 |
Cuadratura numérica | quadrature |
229 |
Regla del trapecio | trapezoid_rule |
230 |
Simpson | simpson_rule |
231 |
Sistemas lineales directos | direct_linear_solvers |
232 |
Jacobi y Gauss-Seidel | jacobi_gauss_seidel |
233 |
Métodos iterativos y tolerancias | iterative_tolerances |
234 |
Mínimos cuadrados numéricos | numerical_least_squares |
235 |
Ecuaciones diferenciales ordinarias | odes |
236 |
Método de Euler | euler_method |
237 |
Runge-Kutta | runge_kutta |
238 |
Introducción a PDE y discretización | pde_discretization |
239 |
Computación científica con SciPy | scientific_computing |
240 |
Capstone: solver numérico con informe de error | capstone_numerical_solver |
compmath run --part 11
| Término | Definición | Clase |
|---|---|---|
| Error de truncamiento | El que introduce el método al aproximar. Disminuye al reducir el paso h. | 221 |
| Error de redondeo | El que introduce la aritmética finita. Aumenta al reducir h por cancelación. | 221 |
| Paso óptimo | Valor de h que minimiza el error total. Por debajo, afinar empeora el resultado. | 221 |
| Orden de convergencia | Exponente p tal que el error se comporta como O(hᵖ). Predice la ganancia al refinar. | 221 |
| Bisección | Partir por la mitad un intervalo con cambio de signo. Lenta pero convergencia garantizada. | 222 |
| Teorema de Bolzano | Si f es continua y cambia de signo en un intervalo, hay una raíz dentro. | 222 |
| Newton-Raphson | Iteración x − f(x)/f'(x). Convergencia cuadrática cerca de la raíz. | 223 |
| Convergencia cuadrática | El número de dígitos correctos se duplica en cada iteración. | 223 |
| Método de la secante | Newton con la derivada aproximada por diferencias. Orden 1,618. | 224 |
| Interpolación de Lagrange | Polinomio único de grado n−1 que pasa por n puntos dados. | 225 |
| Fenómeno de Runge | Oscilaciones crecientes al interpolar con grado alto en nodos equiespaciados. | 225 |
| Nodos de Chebyshev | Nodos concentrados en los extremos que controlan el error de interpolación. | 225 |
| Spline | Interpolación por tramos de grado bajo. Evita las oscilaciones del grado alto. | 226 |
| Diferencia central | (f(x+h) − f(x−h)) / 2h. Error O(h²) frente al O(h) de la diferencia adelantada. | 227 |
| Cuadratura | Aproximación de una integral por suma ponderada de valores de la función. | 228 |
| Cuadratura gaussiana | Nodos y pesos elegidos para ser exactos con polinomios de grado 2n−1. | 228 |
| Regla del trapecio | Aproxima por trapecios. Error O(h²): duplicar n divide el error por 4. | 229 |
| Regla de Simpson | Aproxima por parábolas. Error O(h⁴) y exacta hasta grado 3. | 230 |
| Método directo | Resuelve en un número fijo de operaciones, como LU. Coste O(n³). | 231 |
| Pivoteo parcial | Intercambiar filas para usar el pivote de mayor módulo y ganar estabilidad. | 231 |
| Diagonalmente dominante | Cada elemento diagonal supera en módulo a la suma de su fila. Garantiza convergencia iterativa. | 232 |
| Gauss-Seidel | Como Jacobi pero reutilizando los valores ya actualizados. Suele converger el doble de rápido. | 232 |
| Tolerancia relativa | Criterio de parada escalado por la magnitud de la solución. Robusto ante cambios de escala. | 233 |
| Residuo | ‖Ax − b‖. Mide cuánto incumple la ecuación la solución aproximada. | 233 |
| Ecuaciones normales | AᵀAx = Aᵀb. Resuelven mínimos cuadrados pero elevan al cuadrado el número de condición. | 234 |
| Problema de valor inicial | EDO más condición inicial. Determina una única trayectoria. | 235 |
| Método de Euler | Avanzar por la tangente. Orden 1 y una sola evaluación por paso. | 236 |
| Región de estabilidad | Valores del paso para los que el método no amplifica el error. Independiente de la precisión. | 236 |
| Runge-Kutta 4 | Cuatro evaluaciones por paso y error O(h⁴). Estándar de facto para EDO no rígidas. | 237 |
| Problema rígido | El que tiene escalas de tiempo muy dispares. Exige métodos implícitos. | 237 |
| Diferencias finitas | Sustituir derivadas por cocientes sobre una malla para discretizar una PDE. | 238 |
| Condición de Courant | Restricción entre paso temporal y espacial. Violarla hace divergir el esquema explícito. | 238 |