Métodos numéricos
El cálculo como algoritmo: encontrar raíces, interpolar, derivar e integrar con aritmética finita, y saber cuánto puede equivocarse la respuesta.
10 conceptos
Las soluciones cerradas son la excepción. La mayoría de las ecuaciones de la ingeniería, la física y el aprendizaje automático se resuelven iterando un paso sencillo hasta que la respuesta deja de cambiar:
x₀ → f(x₀), f'(x₀) → x₁ → f(x₁), f'(x₁) → x₂ → … → solución
Tres preguntas deciden si eso funciona: ¿la iteración converge?, ¿a qué velocidad?, ¿y cuánto estropean el resultado los errores de redondeo y los problemas mal condicionados?
Conceptos
Error absoluto y relativo
Error absoluto y relativo . El error relativo cuenta cifras significativas correctas, y es lo que controla la coma flotante: cada operación es exacta salvo un error relativo de como mucho en doble precisión.
Condicionamiento
Cuánto amplifica un problema los errores relativos de sus datos, independientemente del algoritmo. Su número de condición dice que se pueden perder unas cifras por muy bien que se calcule.
Estabilidad numérica
Si un algoritmo mantiene a raya los errores de redondeo. Dos fórmulas matemáticamente iguales pueden comportarse de forma muy distinta: restar números casi iguales (cancelación catastrófica) o iterar una recurrencia inestable destruye la precisión.
Orden y velocidad de convergencia
Lo deprisa que se reduce el error : lineal (, un número fijo de cifras por paso) o cuadrática (, las cifras se duplican en cada paso). La bisección es lineal; Newton, cuadrático.
Método de bisección
Mantén un intervalo en el que cambie de signo y pártelo por la mitad en cada paso. Lento (un bit por paso) pero imposible de romper: el teorema de Bolzano garantiza una raíz dentro. Es la búsqueda binaria sobre una función continua.
Método de Newton
Para resolver , sustituye por su recta tangente en la aproximación actual y salta a donde la tangente corta el cero: . Cerca de una raíz simple el número de cifras correctas se duplica en cada paso.
Iteración de punto fijo
Reescribe la ecuación como e itera . Si es contractiva (), el teorema de Banach garantiza un único punto fijo y convergencia lineal de razón .
Interpolación
Construir una función que pase por unos puntos dados. La interpolación lineal (lerp) está en todas partes en
gráficos y animación; los polinomios de grado alto oscilan mucho (fenómeno de Runge), así que en la práctica se
usan polinomios a trozos: splines.
Diferenciación numérica
Estimar derivadas a partir de valores de la función: tiene error . Un demasiado grande da error de truncamiento y uno demasiado pequeño error de redondeo; el mejor para diferencias centradas en doble precisión ronda .
Integración numérica (cuadratura)
Aproximar con una suma ponderada de muestras. El trapecio (), Simpson () y la cuadratura de Gauss son excelentes en una o pocas dimensiones; en dimensión alta toma el relevo Monte Carlo.
A dónde lleva esta área en informática
λ Computación científica y algoritmos ★★★★★
- Coma flotante (IEEE 754)★★★★★←Error absoluto y relativo, Estabilidad numérica, Método de Newton
- Cálculo científico★★★★★←Error absoluto y relativo, Condicionamiento, Orden y velocidad de convergencia, Método de bisección, Método de Newton, Iteración de punto fijo, Integración numérica (cuadratura)
- Análisis de algoritmos y complejidad★★★★★←Método de bisección
ℒ IA y machine learning ★★★★★
- Optimización de segundo orden (con hessiano)★★★★★←Método de Newton
- Función de pérdida★★★★★←Estabilidad numérica
- Descenso de gradiente★★★★★←Orden y velocidad de convergencia
- Paisaje de la pérdida (loss landscape)★★★★★←Condicionamiento
- Aprendizaje por refuerzo★★★★★←Iteración de punto fijo
- Diferenciación automática★★★★★←Diferenciación numérica
- Inferencia bayesiana★★★★★←Integración numérica (cuadratura)