Diferencias esenciales entre Runge-Kutta y Adams-Bashforth

No entiendo muy bien la diferencia esencial entre estos métodos. Entiendo que hay diferencias (que escribí al final de este texto), pero ¿qué significa todo esto al final? En otras palabras, si las órdenes son las mismas, ¿por qué los estudiantes deberían aprender estos dos métodos?

Mantengamos el orden de precisión en 2 para ambos métodos. Para que quede claro, escribiré estas fórmulas bien conocidas.

Aunque hay muchos, echemos un vistazo al método de orden 2 de Runge-Kutta de Heun (RK2):

y k + 1 = y k + h 2 [ F ( t k , y k ) + F ( t k + h , y k + h F ( t k , y k ) ) ]

y compararlo con el método Adam Bashforth de segundo orden (AB2):

y k + 2 = y k + 1 + 3 h 2 F ( t k + 1 , y k + 1 ) h 2 F ( t k , y k )

Aquí está mi comprensión de sus diferencias:

  1. Se ven diferentes.
  2. RK2 es de la aproximación de la serie de Taylor, AB2 es de la interpolación polinomial de la cuadratura.
  3. AB2 es único, mientras que hay infinitas fórmulas para RK2 (aunque solo una de ellas tiene el error local más bajo).
  4. RK2 es de un solo paso, AB2 es de dos pasos.
  5. Ambos tienen sus respectivas versiones implícitas de todas las órdenes, que se pueden utilizar para realizar PECE.

Veo todas estas diferencias, pero todavía no entiendo cuándo uno debe preferir uno sobre el otro. Siento que tengo los detalles, pero me estoy perdiendo el panorama general.

6. Un paso de AB2 o cualquier método explícito de varios pasos requiere solo una evaluación de F en un nuevo punto, mientras que para RK2 es 2. ( s para s -etapa de métodos RK explícitos con orden s .)// 7. La adaptación del tamaño de paso es más fácil para los métodos de un paso, ya que los métodos de varios pasos requieren interpolación o un reinicio.
En cuanto a por qué aprender esto, tal vez para poder comprender la documentación de, por ejemplo, Matlabs, métodos ode45 y ode113. O para comenzar a comprender mejor artículos generales como stochasticlifestyle.com/…

Respuestas (2)

  1. Sí, los métodos de un paso y de varios pasos se ven diferentes.

  2. Los métodos de Adams-Bashford también se pueden derivar mediante expansiones de Taylor. Comparando las expansiones de Taylor

    y ( X + h ) = y ( X ) + y ( X ) h + 1 2 y ( X ) h 2 + O ( h 3 )  y    y ( X h ) = y ( X ) y ( X ) h + O ( h 2 ) ,
    la segunda derivada se puede eliminar para dar
    y ( X + h ) = y ( X ) + y ( X ) h + 1 2 ( y ( X ) y ( X h ) ) h + O ( h 3 ) = y ( X ) + 3 2 y ( X ) h 1 2 y ( X h ) h + O ( h 3 )
    que es la fórmula AB 2.

  3. Obtiene los mismos grados de libertad en los métodos de varios pasos si incluye más y valores, en el caso explícito y k + 1 + j = 0 s 1 α j y k j = j = 0 s 1 β j F k j . La diferencia es que con s pasos atrás puede obtener un pedido s método, lo cual no es cierto para s -stage métodos explícitos de Runge-Kutta para s > 4 .

  4. si, mira 1.

  5. La relación de métodos explícitos e implícitos no es tan estrecha en el caso de Runge-Kutta como en el caso de varios pasos. El método implícito de 2 etapas de Gauss tiene orden 4, no existe un método explícito estrechamente relacionado, especialmente con orden 4.

Prueba numérica

Para una demostración práctica, tome el ejemplo estándar del sistema de Lorenz con su atractor caótico, seleccione el valor inicial cercano al atractor

sigma=10.
beta=8./3.
rho=28.
def Lorenz(t,u):
    x,y,z = u;
    return np.array([sigma*(y-x), x*(rho-z)-y, x*y-beta*z])

u0 = [-4,-4,21]; # alternatively [-7, -13, 11]

Úselo scipy.integrate.odeintpara calcular una solución de referencia con tolerancias lo suficientemente ajustadas y aplique los métodos Heun y AB 2 para diferentes tamaños de paso, emparejando AB 2 con Heun del doble del tamaño de paso para tener la misma "densidad" de evaluaciones de funciones ODE. El primer gráfico a continuación muestra la comparación de los X componentes bajo tamaños de paso relativamente grandes, deteniéndose poco antes de que todos los gráficos diverjan completamente.

soluciones y perfiles de error

El segundo y tercer gráfico muestran los perfiles de error, es decir, la diferencia con la solución de referencia dividida por el cuadrado del tamaño del paso. Lo que se puede concluir es que, en general, las soluciones parecen similares en sus puntos de divergencia de la solución de referencia para tamaños de paso similares. Sin embargo, los perfiles de error muestran que el coeficiente de error de Adams-Bashford es casi 4 veces mayor que el coeficiente de error del método de Heun, por lo que el error es similar para soluciones con el mismo número de evaluación de funciones ODE.

En general, un método de varios pasos y un método de un paso del mismo orden pueden mostrar propiedades totalmente diferentes al resolver ecuaciones. Las cosas que enumeras son totalmente ciertas, y hay diferencias importantes. Dependiendo de su problema, uno puede ejecutarse más rápido que el otro, debido a las evaluaciones de funciones, como se señaló anteriormente.

Recientemente trabajé en un circuito electrónico muy mal escalado (un sistema DAE no lineal), y los métodos BDF de orden inferior (pasos múltiples implícitos) parecen manejarse mejor que los métodos RK de orden superior. Supongo que considerar varios pasos maneja mejor los cambios rápidos (que mi solución tenía absolutamente). Esto lo hemos visto muchas veces en clase.

Entonces, a la pregunta, los estudiantes deben aprender los diferentes tipos para conocer realmente los métodos. Hay una tonelada de teoría útil detrás de todo esto. Pero también tienen propiedades diferentes, que se vuelven más evidentes cuando consideramos problemas no lineales, desagradables e interesantes.

Puede estar un poco fuera de tema, pero resolver ecuaciones diferenciales estocásticas solo usa métodos de un paso, según mi experiencia.

Sí, lo siento, mi error, estaba pensando en la estabilidad cero, que no es lo mismo.