Aproximación numérica y error
Fuentes de error numérico: truncamiento, redondeo aritmético de coma flotante, convergencia y estabilidad.
Qué es
La aproximación numérica es la disciplina físico-matemática que modela, cuantifica y controla las discrepancias inevitables que surgen cuando una ley física continua formulada en el continuo real se traduce a un algoritmo computable ejecutado en una máquina de precisión finita.
El error total en cualquier cálculo computacional se descompone en tres fuentes fundamentales irreducibles:
- Error de truncamiento (): Surge al aproximar un operador analítico continuo infinito (una serie infinita de Taylor, una derivada como límite , o una integral de Riemann) mediante una fórmula algebraica discreta finita con paso de malla . Su orden asintótico se expresa en notación de Landau , donde es el orden de convergencia.
- Error de redondeo (): Consecuencia de representar números reales en precisión binaria fija bajo el estándar IEEE-754 (precisión simple de 32 bits con mantisa de 24 bits y ; o precisión doble de 64 bits con mantisa de 53 bits y ). Cada operación elemental introduce un error relativo acotado por el épsilon de la máquina .
- Cancelación catastrófica: Fenómeno patológico que ocurre al restar dos números de magnitud casi idéntica en punto flotante: los dígitos significativos más altos se cancelan entre sí, dejando en los dígitos restantes únicamente el ruido de redondeo previo y perdiendo drásticamente la precisión.
Por qué aparece en física
En física teórica moderna y computacional (astrofísica, mecánica cuántica de muchos cuerpos, dinámica de fluidos geofísicos, física de plasmas), casi ninguna ecuación diferencial no lineal admite soluciones analíticas cerradas:
- Modelar la trayectoria de cuerpos gravitatorios, el clima terrestre o el confinamiento magnético en un reactor tokamak exige discretizar el espacio y el tiempo.
- Existe una tensión competitiva irreconciliable conocida como el compromiso paso-error (step-size trade-off): al reducir el paso de integración , el error de truncamiento decrece monótonamente como , pero el número de operaciones aritméticas se dispara como , acumulando un error de redondeo estocástico que crece como . Por debajo de un paso óptimo , disminuir empeora la precisión global.
- Ignorar la estabilidad numérica y el condicionamiento de matrices físicas conduce a simulaciones físicamente absurdas donde la energía diverge a infinito, se violan leyes de conservación o aparecen inestabilidades numéricas explosivas puramente artificiales.
Idea visual o geométrica
Visualmente, el error total en función del tamaño del paso se representa en un gráfico logarítmico-logarítmico ( frente a ):
- Para grande, la curva es una recta con pendiente positiva dominada por el truncamiento de Taylor: .
- Para minúsculo, la curva quiebra hacia arriba formando una rama con pendiente negativa dominada por la acumulación de redondeo y cancelación numérica.
- El punto más bajo de la curva en forma de "V" define el paso óptimo , donde la derivada del error total respecto a se anula. Calcular con un paso menor a no solo desperdicia tiempo de CPU, sino que produce un resultado numéricamente más erróneo.
Lenguaje simbólico mínimo
- Error absoluto y relativo:
- Modelo de punto flotante IEEE-754:
- Cancelación catastrófica (resta de números cercanos ): Como , el error relativo formal diverge si no se reformula analíticamente la expresión.
- Número de condición de un problema físico : Si , el problema está mal condicionado (sensible a perturbaciones infinitesimales).
Qué significa el resultado
Comprender el error numérico transforma un código de simulación física en una herramienta científica rigurosa:
- Un resultado numérico carece de valor si no va acompañado de una cota de error comprobable o una demostración de convergencia asintótica en malla.
- En simulaciones orbitales o mecánicas, verificar que el error global decrece a la tasa teórica predicha () garantiza que no hay errores lógicos en el código ni inestabilidades numéricas ocultas.
Cuándo no debes usarlo
- No disminuyas ciegamente el paso sin verificar el límite de redondeo: En derivadas numéricas simples por diferencias finitas en precisión doble, si eliges , el resultado no tenderá a la derivada real, sino que arrojará exactamente cero o números aleatorios debido a la cancelación catastrófica.
- No utilices precisión simple (Float32) para integraciones dinámicas de largo plazo: La acumulación sistemática de redondeo () tras millones de pasos de integración destruye la conservación de la energía en simulaciones moleculares o gravitatorias.
- No confundas aproximación numérica con simplificación de la física: El error numérico mide la discrepancia entre el algoritmo computacional y la ecuación diferencial matemática elegida; no compensa ni detecta si el modelo físico de partida omitió rozamientos o efectos relativistas fundamentales.
Resumen operativo
- Identifica la formulación matemática continua y el algoritmo de discretización.
- Determina el orden teórico del error de truncamiento .
- Analiza si la fórmula contiene restas de magnitudes casi idénticas o raíces cuadradas cercanas que induzcan cancelación catastrófica; si es así, reescribe algebraicamente multiplicando por el conjugado o usando series de Taylor analíticas.
- Selecciona el paso de malla equilibrando el truncamiento frente al límite de precisión del formato IEEE-754.
- Realiza siempre un ensayo de convergencia en malla (grid convergence test) reduciendo a la mitad () y calculando el cociente de convergencia experimental.
Procedimiento de Control y Mitigación de Errores Numéricos
Antes de calcular
Antes de ejecutar una rutina computacional en física:
- Identifica la precisión de punto flotante del entorno de cómputo (Float32: , 7 dígitos decimales; Float64: , 16 dígitos decimales).
- Revisa las expresiones algebraicas en busca de operaciones vulnerables a cancelación catastrófica (por ejemplo, para , o para ).
Paso 1: identifica el objeto matemático
Determina la naturaleza del algoritmo numérico:
- Derivada numérica por diferencias finitas: Truncamiento en diferencias progresivas o en diferencias centradas.
- Integración numérica (cuadratura): Truncamiento en regla trapezoidal o en regla de Simpson.
- Resolución de EDOs (Runge-Kutta): Error de truncamiento local y global .
Paso 2: elige la operación (Reformulación contra cancelación)
Si detectas resta de números casi idénticos, reescribe la fórmula analíticamente antes de programarla:
- Resta de raíces: (multiplicar por el conjugado elimina la cancelación).
- Trigonometría para ángulos pequeños: o su expansión de Taylor .
- Ecuaciones cuadráticas con :
Paso 3: conserva unidades y signos
- Los errores absolutos mantienen estrictamente las unidades de la magnitud física calculada.
- Los errores relativos y el épsilon de la máquina son números puros adimensionales.
- Al estimar derivadas numéricas , el paso debe tener las mismas unidades físicas que la variable independiente .
Paso 4: calcula (Determinación del paso óptimo )
Para un método con error de truncamiento y error de redondeo :
- Plantea el error total:
- Deriva respecto a e iguala a cero:
- Despeja el paso óptimo: (Por ejemplo, para diferencias centradas con : . En Float64, ).
Paso 5: interpreta el resultado (Test de convergencia de Richardson)
Ejecuta el cálculo con tres pasos sucesivamente divididos por dos () obteniendo las soluciones aproximadas :
- Calcula el cociente de convergencia:
- Si (por ejemplo, para métodos de segundo orden , o para cuarto orden ), el algoritmo está convergiendo limpiamente en el régimen asintótico sin contaminación de redondeo.
- Extrapolación de Richardson para eliminar el error dominante:
Checklist de autocontrol
- ¿He verificado que el paso elegido sea mayor que el paso óptimo de redondeo ?
- ¿He eliminado todas las cancelaciones catastróficas mediante conjugados o expansiones analíticas?
- ¿Es el cociente de convergencia experimental coherente con el orden teórico ?
- ¿He utilizado Float64 para cálculos que involucran miles o millones de iteraciones temporales?
- ¿Se conservan invariantes físicos fundamentales (energía, momento lineal) dentro de la tolerancia de truncamiento?
Ejemplo guiado: Cancelación catastrófica en cinemática relativista
Situación física
Una partícula elemental de masa en reposo se acelera en el Gran Colisionador de Hadrones (LHC) hasta alcanzar una energía total ultra-relativista . Se desea calcular computacionalmente el momento lineal relativista utilizando la relación de Einstein: En unidades naturales (), . Como , el momento es prácticamente igual a . Si un programador calcula directamente la energía cinética relativista como: y la diferencia de velocidades respecto a la luz , se produce una pérdida catastrófica de dígitos significativos en precisión simple e incluso en precisión doble estándar.
Traducción matemática
Evaluamos la expresión para y : La fórmula directa calcula: En punto flotante con precisión limitada, Al restar , los primeros 8 dígitos idénticos se cancelan, perdiendo la mitad de la mantisa en Float64 y el de los dígitos en Float32 (donde redondea directamente a , dando ).
Cálculo paso a paso
- Reformulación analítica mediante multiplicación por el conjugado:
- Evaluación numérica sin cancelación: El denominador ahora es una suma de números positivos: El numerador es: Por lo tanto:
- Alternativa por expansión binomial de Taylor:
Lectura del resultado
La reformulación algebraica preserva la totalidad de los 16 dígitos significativos de Float64. La partícula se desplaza a una velocidad inferior a la de la luz por apenas . El cálculo directo ingenuo habría devuelto 0 m/s o un valor con un error relativo del .
Error común evitado
Calcular diferencias de raíces cuadradas directamente en software sin comprobar si el argumento relativo es minúsculo. El uso de identidades de conjugados elimina de raíz la cancelación catastrófica sin coste computacional adicional.
Ejemplo inverso: Búsqueda del paso óptimo en diferenciación numérica
Situación física
Se desea calcular numéricamente la aceleración instantánea de un cohete espacial a partir de mediciones de velocidad en utilizando el método de diferencias centradas en una máquina con precisión estándar Float64 (). La derivada teórica exacta es .
Resultado dado
Se realizan pruebas numéricas con pasos decrecientes obteniendo los siguientes errores absolutos:
- : (dominado por truncamiento ).
- : (truncamiento).
- : (punto mínimo del error).
- : (el error empeora drásticamente).
- : (pérdida total de precisión).
Reconstrucción analítica
La fórmula de diferencias centradas es: El error de truncamiento por serie de Taylor es: El error de redondeo al evaluar el numerador en punto flotante es aproximadamente , el cual al dividirse por genera: Minimizando el error total : Para :
Qué pregunta física permite responder
¿Por qué elegir en vez de destruye el cálculo de la aceleración del cohete? Porque en , los valores y coinciden en casi todos sus bits binarios. Su resta produce cancelación catastrófica, dejando un residuo de ruido puro en el último bit que se multiplica por , amplificando el ruido de punto flotante por catorce órdenes de magnitud.
Verificación de límites
Cuando , pero . Solo en una máquina hipotética con infinitos bits de mantisa () sería óptimo tomar el límite infinitesimal .
Errores comunes en Aproximación Numérica y Error
1. Disminuir el paso de integración creyendo que el error siempre disminuye
Parece razonable porque la teoría de cálculo infinitesimal define las derivadas e integrales en el límite . Falla porque en una computadora real con precisión finita (IEEE-754), el error total tiene forma de "V": al disminuir , el error de truncamiento decrece pero el error de redondeo crece como . Por debajo del paso óptimo , disminuir multiplica el error global. Se detecta cuando al reducir el error experimental comienza a oscilar o crecer abruptamente en lugar de decaer como . Se corrige calculando el paso óptimo y realizando análisis de convergencia en malla. Mini-ejemplo: calcular con en Float64 devuelve en vez de la derivada real, porque en el numerador redondea a .
2. Restar números de magnitud casi idéntica en punto flotante (cancelación catastrófica)
Parece razonable porque las computadoras son máquinas deterministas de alta precisión con 16 dígitos decimales. Falla porque si dos números coinciden en sus primeros 14 dígitos decimales, su resta elimina esos 14 dígitos significativos, dejando solo 2 dígitos de información real seguidos de ruido de redondeo en los bits inferiores. Se detecta si aparecen resultados numéricos con pérdidas súbitas de precisión en diferencias de raíces cuadradas, funciones trigonométricas en ángulos pequeños o polinomios cuadráticos. Se corrige reescribiendo la expresión analíticamente mediante identidades algebraicas (multiplicar por conjugados, expansiones de Taylor o identidades de ángulo mitad). Mini-ejemplo: en precisión Float32, evaluar da directamente; usar devuelve con total exactitud .
3. Comparar números de punto flotante usando igualdad exacta
Parece razonable porque matemáticamente dos expresiones analíticamente idénticas deberían ser iguales. Falla porque las operaciones en punto flotante no son asociativas ni distributivas en binario: en IEEE-754. La expresión 0.1 + 0.2 == 0.3 evalúa a falso en la inmensa mayoría de lenguajes de programación. Se detecta si un bucle iterativo o criterio de parada no termina nunca o se cuelga en un bucle infinito. Se corrige comparando siempre mediante tolerancias absolutas y relativas: abs(x - y) <= atol + rtol * abs(y). Mini-ejemplo: un algoritmo que itera mientras x != 1.0 con x += 0.1 entrará en bucle infinito porque x nunca valdrá exactamente 1.0000000000000000.
4. Confundir estabilidad numérica con precisión del método
Parece razonable porque un método de orden superior (como Runge-Kutta 4) es más preciso que uno de orden bajo (como Euler). Falla porque un método puede ser formalmente muy preciso pero inestable si el problema físico es "rígido" (stiff) o si el paso temporal supera el radio de estabilidad del algoritmo. Se detecta si la solución numérica explota bruscamente hacia tras haber parecido converger durante los primeros pasos temporales. Se corrige analizando la región de estabilidad lineal absoluta en el plano complejo y adoptando métodos implícitos (como Crank-Nicolson o Radau) para ecuaciones diferenciales rígidas. Mini-ejemplo: en cinética química con constantes de reacción dispares (), usar RK4 explícito exige un no por precisión, sino para evitar que la solución explote numéricamente.
5. Acumular sumas de series en orden descendente de magnitud
Parece razonable porque sumar términos grandes primero parece capturar "lo más importante" al inicio. Falla porque al sumar un término minúsculo a un acumulador gigante, los bits del término pequeño se desplazan fuera de la mantisa de punto flotante y se pierden por completo (absorción numérica). Se detecta si al sumar números positivos pequeños su suma se estanca y no crece a partir de cierto umbral. Se corrige ordenando los términos en orden ascendente (de menor a mayor valor absoluto) o utilizando el algoritmo de compensación de suma de Kahan. Mini-ejemplo: en Float32, si un acumulador vale , sumarle no produce ningún efecto: . Sumar un millón de veces al acumulador dejará el total en sin cambiar, perdiendo un millón de unidades.
Regla rápida de detección
- Si estás restando términos: comprueba si su cociente relativo está entre y . Si es así, hay cancelación catastrófica.
- Si reduces el paso : grafica el error en escala log-log. Si la curva deja de bajar y sube, has cruzado el límite de redondeo.
Aplicaciones físicas de Aproximación Numérica y Error
1. Astrodinámica: cálculo de trayectorias interplanetarias y semiejes orbitales
Aparece en ingeniería aeroespacial al integrar las ecuaciones de movimiento de sondas espaciales interplanetarias (como las misiones Voyager o New Horizons) bajo la influencia gravitacional del Sol y los planetas del Sistema Solar. Se calcula integrando las ecuaciones diferenciales ordinarias durante periodos de décadas temporales. El resultado da la posición y velocidad de la sonda para maniobras de asistencia gravitacional (gravity assist) con márgenes de error inferiores a unas pocas decenas de kilómetros en encuentros a miles de millones de kilómetros de la Tierra. El error peligroso es la acumulación de error de redondeo y la disipación artificial de energía inducida por métodos no conservativos (como RK4 estándar); en una integración de 30 años con pasos de 1 hora, un error de redondeo relativo de por paso se acumula sistemáticamente deformando el semieje mayor orbital. Como control final se utilizan integradores simplécticos de orden superior (Gauss-Radau o Yoshida) y se monitorea la invariancia estricta del vector de Runge-Lenz y la energía mecánica total.
2. Mecánica cuántica computacional: resolución de la ecuación de Schrödinger estacionaria
Aparece en física atómica y del estado sólido al calcular los autoestados de energía y funciones de onda de pozos de potencial cuánticos no armónicos o moléculas diatómicas mediante el método de disparo (shooting method) o discretización por diferencias finitas de la ecuación . Se calcula aproximando la segunda derivada mediante el algoritmo de Numerov de sexto orden . El resultado da los niveles de energía discretos cuantizados y la probabilidad de tunelamiento cuántico en barreras de potencial de semiconductores. El error peligroso es elegir un paso de malla espacial demasiado grande en las regiones clásicamente prohibidas donde la función de onda decae exponencialmente; si el truncamiento numérico no resuelve la curvatura exponencial, la solución diverge asintóticamente a impidiendo encontrar la energía propia. Como control final se verifica la condición de ortonormalidad de las funciones de onda y se contrastan los autovalores con cálculos de perturbaciones analíticas de primer orden.
3. Dinámica de fluidos geofísicos: modelos de predicción meteorológica y clima
Aparece en meteorología numérica al resolver las ecuaciones primitivas hidrodinámicas de Navier-Stokes en la atmósfera terrestre en mallas globales tridimensionales. Se calcula discretizando las derivadas espaciales de presión y advección de viento mediante esquemas en diferencias finitas y transformadas espectrales esféricas. El resultado da la evolución temporal de frentes térmicos, borrascas y huracanes con horizontes de predicción de varios días. El error peligroso es violar la condición de Courant-Friedrichs-Lewy (CFL: ); si el viento o una onda de gravedad atmosférica viaja más rápido que una celda de malla por paso temporal , el error de truncamiento se amplifica exponencialmente generando una explosión numérica no física en cuestión de pocos pasos de simulación. Como control final se implementan pasos temporales adaptativos gobernados por el número de CFL local y se añade viscosidad numérica controlada (hiperdifusión) para disipar vórtices por debajo de la resolución de la malla sin alterar las ondas planetarias de Rossby.
4. Física del plasma y fusión nuclear: seguimiento de partículas en reactores Tokamak
Aparece en física de plasmas en experimentos de fusión magnética (como ITER) al calcular las órbitas de deriva de iones y partículas alfa confinadas por campos magnéticos helicoidales toroidales intensos. Se calcula integrando la fuerza de Lorentz mediante el algoritmo cinemático de Boris. El resultado da el radio de Larmor del movimiento giroscópico y verifica si las partículas confinadas impactan contra la pared del reactor (pérdida de confinamiento). El error peligroso es emplear integradores estándar de Runge-Kutta para el término de rotación magnética ; los métodos estándar no conservan el momento magnético adiabático ni el radio de giro, haciendo que las partículas ganen energía cinética numérica artificial y escapen del campo magnético en simulaciones largas. Como control final el integrador de Boris preserva exactamente la magnitud de la velocidad en campos magnéticos puros (), garantizando la conservación absoluta de la energía cinética sin importar la duración de la simulación.
5. Óptica electromagnética: simulación FDTD de metamateriales y guías de ondas
Aparece en fotónica y telecomunicaciones al simular la propagación de pulsos de luz láser a través de cristales fotónicos y guías dieléctricas resolviendo las ecuaciones de Maxwell en el dominio del tiempo mediante el método de diferencias finitas en el dominio del tiempo (FDTD / malla de Yee). Se calcula entrelazando las componentes espaciales y temporales del campo eléctrico y magnético en una cuadrícula cúbica desplazada en medio paso de tiempo y espacio. El resultado da la transmisión espectral, los diagramas de bandas fotónicas y la dispersión cromática de fibras ópticas de última generación. El error peligroso es la dispersión numérica: en una malla discreta, la velocidad de propagación de las ondas electromagnéticas simuladas no es estrictamente igual a , sino que varía artificialmente en función de la dirección de propagación en la cuadrícula y de la longitud de onda en relación a . Si la malla es gruesa, un pulso óptico ultracorto se ensancha y deforma artificialmente debido al error de truncamiento de la discretización espacial. Como control final se fija la resolución espacial a un mínimo de 20 celdas por longitud de onda en el dieléctrico () y se verifica que el número de Courant se ajuste al límite óptimo de estabilidad multidimensional.
Práctica guiada: Aproximación Numérica y Error
Nivel 1: reconocimiento
Para cada una de las siguientes operaciones numéricas, identifica si el error predominante es de truncamiento, de redondeo de punto flotante, o de cancelación catastrófica:
- Calcular el valor de sumando los primeros 100 términos de la serie de Leibniz .
- Evaluar en una calculadora de precisión fija.
- Evaluar almacenando el resultado como Float32 en memoria.
- Integrar una órbita planetaria newtoniana durante 10 millones de pasos temporales acumulando una deriva constante en el semieje mayor.
Solución:
- Error de truncamiento (se corta una serie infinita en un número finito de términos).
- Cancelación catastrófica (resta de dos números de magnitud casi idéntica ).
- Error de redondeo (el número es una fracción periódica binaria infinita que debe truncarse a la mantisa de 24 bits).
- Error de redondeo acumulado estocástico/sistemático (drift numérico por propagación de punto flotante a largo plazo).
Nivel 2: aplicación directa
Se aproxima la primera derivada de en mediante la fórmula de diferencias progresivas hacia adelante: El valor analítico exacto es . Calcula analíticamente el error de truncamiento en función de mediante la serie de Taylor de y evalúa numéricamente el error para y .
Solución:
- Expansión de Taylor:
- Sustitución en el operador:
- Error de truncamiento analítico: El método es de primer orden .
- Evaluación numérica:
- Para : (error del ; valor numérico ).
- Para : (error del ; valor numérico ). Al reducir en un factor 10, el error se reduce exactamente en un factor 10 (convergencia lineal).
Nivel 3: elección de herramienta
Necesitas calcular en un software de astrofísica la energía potencial gravitatoria diferencial entre dos puntos situados a distancias y muy próximas entre sí ( con ): ¿Cómo debes implementar algebraicamente esta fórmula para garantizar estabilidad numérica absoluta sin cancelación?
Solución: Evaluar directamente produce cancelación catastrófica de dígitos. Se debe operar algebraicamente antes de computar: Sustituyendo en la energía potencial: Esta forma matemática involucra únicamente productos y sumas de números positivos. Elimina por completo la resta de términos cercanos, preservando la totalidad de los 16 dígitos significativos de Float64 para cualquier , incluso cuando .
Nivel 4: interpretación física
Un físico computacional ejecuta una simulación del oscilador armónico simple con el método de Euler explícito (; ). Tras 1000 oscilaciones observa que la amplitud del oscilador ha crecido exponencialmente y la energía mecánica se ha multiplicado por 10. Explica por qué este fenómeno no es un error de redondeo ni una física real, sino un error de estabilidad del método numérico.
Solución: Calculamos la matriz de amplificación del método de Euler explícito: El determinante de la matriz de transición es: El determinante representa el factor de amplificación del volumen en el espacio fásico en cada paso temporal. Dado que para cualquier , los autovalores de la matriz tienen módulo estrictamente mayor que 1: . Interpretación física: El método de Euler explícito introduce artificialmente una "fuerza anti-amortiguadora" numérica que bombea energía espuria al sistema en cada paso temporal. No es un error de redondeo; es una inestabilidad algorítmica intrínseca. Para sistemas conservativos deben emplearse métodos simplécticos (Euler simpléctico o Verlet) donde .
Nivel 5: error intencionado
Para resolver la ecuación cuadrática con , , , un estudiante utiliza la fórmula cuadrática escolar estándar: El software reporta y . Demuestra por qué es matemáticamente falso y calcula el valor correcto utilizando fórmulas numéricamente estables.
Fallo conceptual: Como , . Al calcular , en precisión doble Float64 el número 4 está por debajo de los 16 dígitos de la mantisa respecto a , por lo que redondea exactamente a . Al evaluar , la resta de los dos números idénticos destruye completamente la raíz más pequeña. Sin embargo, por el teorema de Cardano-Vieta sabemos que el producto de las raíces es . Si , entonces la raíz real debe ser .
Corrección numéricamente estable: Calculamos primero la raíz sin cancelación (usando el mismo signo que ): Y obtenemos la segunda raíz mediante la relación de Vieta: Sustituyendo en la ecuación original: La raíz correcta es exactamente , mientras que el cálculo estándar arrojó un error relativo del ().