Fyskode Learning

Métodos numéricos para dinámica · Licenciatura avanzada · 11 horas

Paso adaptativo, eventos y rigidez

Control local del error, interpolación densa, cruces de secciones y señales prácticas de un problema rígido.

Un paso fijo facilita reproducir y razonar, pero desperdicia trabajo cuando la trayectoria alterna regiones suaves y rápidas. Un par embebido calcula dos aproximaciones de distinto orden con evaluaciones compartidas; su diferencia estima el error local y permite aceptar, rechazar o ajustar el siguiente paso.

Formulación y algoritmo de control del paso adaptativo

Supongamos que un par embebido produce aproximaciones yn+1[p]y_{n+1}^{[p]} y yn+1[p+1]y_{n+1}^{[p+1]}. Su diferencia

en+1=yn+1[p+1]yn+1[p]e_{n+1}=y_{n+1}^{[p+1]}-y_{n+1}^{[p]}

estima el error local de la solución de menor orden. Antes de compararlo con uno, cada componente se normaliza:

err=[1di=1d(eiatoli+rtolmax(yin,yin+1))2]1/2.\operatorname{err}= \left[\frac1d\sum_{i=1}^d \left(\frac{e_i}{\operatorname{atol}_i+ \operatorname{rtol}\max(|y_i^n|,|y_i^{n+1}|)}\right)^2\right]^{1/2}.

El paso se acepta si err <= 1. Una tolerancia relativa domina lejos de cero; la absoluta evita exigir cifras relativas imposibles cuando una componente cruza cero. Variables con unidades o escalas distintas necesitan atol_i razonadas.

La regla conceptual es

hnuevo=hs(tolerr)1/(p+1),h_{\mathrm{nuevo}}=h\,s \left(\frac{\mathrm{tol}}{\mathrm{err}}\right)^{1/(p+1)},

donde s<1s<1 es un factor de seguridad y pp el orden relevante. Una implementación real limita el crecimiento y decrecimiento del paso. Las tolerancias gobiernan una prueba local normalizada; una declaración de error global requiere una verificación adicional.

En la práctica se imponen factores mínimo y máximo para evitar cambios violentos, y se reutiliza la última evaluación del campo cuando el par lo permite. Un paso rechazado no avanza el tiempo: se reduce hh y se recalcula. Contar únicamente puntos guardados oculta este trabajo; registra evaluaciones de ff, pasos aceptados y rechazados.

Alligood, Sauer y Yorke estudian adaptación y error en experimentos dinámicos; los algoritmos rígidos actuales se documentan con SciPy. Alligood, 1996 Kathleen T. Alligood, Tim D. Sauer y James A. Yorke (1996) Chaos: An Introduction to Dynamical Systems Springer Ubicación consultada: apéndice B, pp. 567–576

Salida densa y malla interna

Un integrador adaptativo elige tiempos internos no uniformes. Guardar sólo esos puntos puede sesgar una serie: las regiones rápidas aparecen sobremuestreadas porque allí el método toma pasos pequeños. La salida densa construye un polinomio dentro de cada paso aceptado y permite evaluar en una malla solicitada sin reintegrar.

Para una FFT se requieren tiempos uniformes. Para una sección de Poincaré se requieren raíces de una función de evento. Para visualizar la trayectoria pueden bastar puntos uniformes moderados. En los tres casos, la malla de salida no debe confundirse con la malla que controló el error.

La interfaz oficial scipy.integrate.solve_ivp documenta métodos explícitos e implícitos, dense_output, events, rtol, atol y estadísticas como nfev. Cada opción usada debe traducirse a una decisión del informe.

Un evento es una raíz de g(t,x(t))g(t,x(t)). Para una sección de Poincaré puede usarse g=x3cg=x_3-c, pero además debe fijarse la dirección del cruce. Guardar el punto de la malla más cercano sesga la sección; la raíz debe localizarse mediante interpolación dentro del paso aceptado.

Si gngn+1<0g_n g_{n+1}<0, existe un cambio de signo en el paso, pero puede haber más de una raíz si gg oscila rápidamente. La localización inicial lineal

tctnhgngn+1gnt_c\approx t_n-h\frac{g_n}{g_{n+1}-g_n}

es sólo de primer orden. El integrador usa su interpolante denso y un método de raíces para alcanzar la precisión del evento. La propiedad direction selecciona cruces positivos, negativos o ambos; terminal decide si el evento detiene la integración.

Para evitar registrar dos veces una raíz que cae en el inicio del siguiente paso, el algoritmo necesita una regla de rearme. En una sección, también se comprueba transversalidad: si g˙=xgf+tg\dot g=\nabla_xg\cdot f+\partial_tg se aproxima a cero, la órbita roza la superficie y el tiempo de cruce es sensible.

Trayectoria que cruza una sección de Poincaré y deja puntos de retorno
Cada punto se obtiene al localizar un cruce dentro del paso aceptado. La dirección seleccionada conserva una sola intersección por oscilación y distingue los sentidos de cruce.

Atlas reproducible de sistemas dinámicos Funciones: plot_poincare, animate_poincare_crossings

Descargar .py

La rigidez aparece cuando escalas rápidas obligan a un método explícito a usar pasos diminutos aunque el comportamiento que interesa evolucione lentamente. Rechazos frecuentes, pasos colapsados y estabilidad que exige mallas muy finas sirven como señales prácticas. Compara un método explícito y uno implícito antes de atribuir el problema al modelo.

Adaptación del paso en un sistema con dos escalas

Considere

y1=y1,y2=1000y2,y(0)=(1,1).y_1'=-y_1, \qquad y_2'=-1000y_2, \qquad y(0)=(1,1).

Las soluciones son ete^{-t} y e1000te^{-1000t}. Después de t0.01t\approx0.01, y2y_2 es casi cero y el fenómeno restante evoluciona en escala uno. Euler explícito, sin embargo, exige aproximadamente h<0.002h<0.002 para mantener estable el modo rápido, aun cuando ya no sea visible. El paso se limita por estabilidad, no por resolución del modo lento.

Euler implícito produce

yn+1=yn1hλy_{n+1}=\frac{y_n}{1-h\lambda}

para y=λyy'=\lambda y y es estable para todo h>0h>0 cuando λ<0\lambda<0. Paga esa estabilidad resolviendo una ecuación en cada paso. En sistemas no lineales, un método implícito requiere Newton o una variante y un jacobiano exacto, aproximado o esparso.

La rigidez no es sólo una razón grande entre autovalores; depende del intervalo, de la precisión y del método. Un diagnóstico práctico compara RK45 con Radau o BDF: error contra una referencia, nfev, evaluaciones de jacobiano y factorizaciones. Si el explícito toma miles de pasos pequeños mientras el implícito conserva precisión con muchos menos, la evidencia apoya rigidez para ese experimento.

Tél y Gruiz incluyen la integración de ecuaciones de movimiento como parte de sus herramientas de caos. Su apéndice sustenta la necesidad de relacionar algoritmo y dinámica; los detalles de las rutinas modernas se consultan en SciPy. Tél, 2006 Tamás Tél y Márton Gruiz (2006) Chaotic Dynamics: An Introduction Based on Classical Mechanics Cambridge University Press Ubicación consultada: apéndice A.3, pp. 329–331

Detección del periodo mediante eventos

Para x=vx'=v, v=xv'=-x, define g(t,x,v)=xg(t,x,v)=x con dirección positiva. Desde (x,v)=(1,0)(x,v)=(1,0), los cruces positivos ocurren en t=3π/2+2kπt=3\pi/2+2k\pi si se interpreta positivo como xx creciente, pues allí v>0v>0. Las diferencias entre eventos sucesivos estiman 2π2\pi.

Ejecuta con tolerancias decrecientes y mide el error del periodo. Compara con escoger el punto almacenado con menor x|x|: la segunda estrategia queda limitada por la separación de salida aunque el integrador sea preciso. Este experimento aísla el error de localización antes de aplicar eventos a Lorenz o Duffing.

Comparación de cuatro métodos con una interfaz común

Usa solve_ivp con un método explícito y tolerancias declaradas. Añade un evento, pide salida densa y verifica la ecuación en tiempos distintos de la malla interna. Después repite un problema con dos escalas, registra número de evaluaciones y compara con un método apropiado para rigidez. Evalúa el tiempo de ejecución junto con la precisión y el criterio de parada.

Integra primero el oscilador con RK23 y DOP853; después el sistema de dos escalas con RK45, Radau y BDF. Usa los mismos instantes de salida para comparar, pero registra la malla interna por separado. Para el problema rígido, prueba con jacobiano analítico y sin él. La conclusión debe mencionar precisión alcanzada y costo, no declarar un ganador universal.

Hirsch, Smale y Devaney vinculan bien planteamiento y método numérico: un controlador de paso no remedia una ecuación discontinua mal formulada ni datos incompatibles. Hirsch, 2013 Morris W. Hirsch, Stephen Smale y Robert L. Devaney (2013) Differential Equations, Dynamical Systems, and an Introduction to Chaos 3.ª ed. · Academic Press Ubicación consultada: cap. 7, pp. 139–158

Pruebas de paso adaptativo, eventos y rigidez

Paso adaptativo, evento y rigidez cumplen funciones distintas. El controlador decide cuánto trabajo hacer; el evento localiza una condición geométrica; el método rígido amplía la región estable mediante ecuaciones implícitas. Evaluarlos por separado permite identificar qué componente limita el cálculo.

Fuentes consultadas

Obras citadas en el desarrollo; los localizadores indican los capítulos o secciones consultados.
  1. Kathleen T. Alligood, Tim D. Sauer y James A. Yorke (1996). Chaos: An Introduction to Dynamical Systems. Springer. ISBN 0-387-94677-2.

    apéndice B, pp. 567–576 · Integradores, estimación de error y paso adaptativo.
  2. Morris W. Hirsch, Stephen Smale y Robert L. Devaney (2013). Differential Equations, Dynamical Systems, and an Introduction to Chaos. 3.ª ed. Academic Press. ISBN 978-0-12-382011-2.

    cap. 7, pp. 139–158 · Problemas de valor inicial y aproximación numérica.
  3. Tamás Tél y Márton Gruiz (2006). Chaotic Dynamics: An Introduction Based on Classical Mechanics. Cambridge University Press. ISBN 978-0-521-54783-3.

    apéndice A.3, pp. 329–331 · Integración de ecuaciones de movimiento en experimentos caóticos.
  4. Armin Fuchs (2013). Nonlinear Dynamics in Complex Systems: Theory and Applications for the Life-, Neuro- and Natural Sciences. Springer. ISBN 978-3-642-33551-8.

    apéndice B, pp. 205–212 · Procedimientos de integración para sistemas no lineales.