stringtranslate.com

Métodos de Runge-Kutta

Comparación de los métodos de Runge-Kutta para la ecuación diferencial (en rojo la solución exacta)

En análisis numérico , los métodos de Runge-Kutta ( inglés: / ˈ r ʊ ŋ ə ˈ k ʊ t ɑː / RUUNG-ə-KUUT-tah[1]) son una familia demétodos iterativosimplícitos y explícitosmétodo de Euler, utilizado endiscretización temporalpara las soluciones aproximadas deecuaciones no lineales simultáneas.[2]Estos métodos fueron desarrollados alrededor de 1900 por los matemáticos alemanesCarl RungeyWilhelm Kutta.

El método Runge-Kutta

Pendientes utilizadas por el método clásico de Runge-Kutta

El miembro más conocido de la familia Runge-Kutta se conoce generalmente como "RK4", el "método Runge-Kutta clásico" o simplemente como "el método Runge-Kutta".

Sea un problema de valor inicial especificado de la siguiente manera:

Aquí tenemos una función desconocida (escalar o vectorial) del tiempo , que nos gustaría aproximar; se nos dice que , la tasa a la que cambia, es una función de y de sí misma. En el tiempo inicial el valor correspondiente es . Se dan la función y las condiciones iniciales , .

Ahora elegimos un tamaño de paso h > 0 y definimos:

para n = 0, 1, 2, 3, ..., utilizando [3]

( Nota: las ecuaciones anteriores tienen definiciones diferentes pero equivalentes en diferentes textos. [4] )

Aquí está la aproximación RK4 de , y el siguiente valor ( ) está determinado por el valor actual ( ) más el promedio ponderado de cuatro incrementos, donde cada incremento es el producto del tamaño del intervalo, h , y una pendiente estimada especificada por la función f en el lado derecho de la ecuación diferencial.

Al promediar las cuatro pendientes, se da mayor peso a las pendientes en el punto medio. Si es independiente de , de modo que la ecuación diferencial es equivalente a una integral simple, entonces RK4 es la regla de Simpson . [5]

El método RK4 es un método de cuarto orden, lo que significa que el error de truncamiento local es del orden de , mientras que el error acumulado total es del orden de .

En muchas aplicaciones prácticas, la función es independiente de (el llamado sistema autónomo o sistema invariante en el tiempo, especialmente en física), y sus incrementos no se calculan en absoluto y no se pasan a la función , y solo se utiliza la fórmula final .

Métodos explícitos de Runge-Kutta

La familia de métodos explícitos de Runge-Kutta es una generalización del método RK4 mencionado anteriormente. Está dada por

donde [6]

( Nota: las ecuaciones anteriores pueden tener definiciones diferentes pero equivalentes en algunos textos. [4] )

Para especificar un método en particular, es necesario proporcionar el entero s (el número de etapas) y los coeficientes a ij (para 1 ≤ j < is ), b i (para i = 1, 2, ..., s ) y c i (para i = 2, 3, ..., s ). La matriz [ a ij ] se denomina matriz de Runge-Kutta , mientras que b i y c i se conocen como los pesos y los nodos . [7] Estos datos suelen organizarse en un dispositivo mnemotécnico, conocido como tabla de Butcher (en honor a John C. Butcher ):

Una expansión en serie de Taylor muestra que el método de Runge-Kutta es consistente si y solo si

También existen requisitos complementarios si se requiere que el método tenga un cierto orden p , lo que significa que el error de truncamiento local es O( h p +1 ). Estos pueden derivarse de la definición del error de truncamiento en sí. Por ejemplo, un método de dos etapas tiene orden 2 si b 1 + b 2 = 1, b 2 c 2 = 1/2 y b 2 a 21 = 1/2. [8] Nótese que una condición popular para determinar coeficientes es [8]

Sin embargo, esta condición por sí sola no es suficiente ni necesaria para la coherencia. [9]

En general, si un método Runge–Kutta explícito de 2 etapas tiene orden , entonces se puede demostrar que el número de etapas debe satisfacer , y si , entonces . [10] Sin embargo, no se sabe si estos límites son precisos en todos los casos. En algunos casos, se demuestra que el límite no se puede lograr. Por ejemplo, Butcher demostró que para , no hay ningún método explícito con etapas. [11] Butcher también demostró que para , no hay ningún método Runge-Kutta explícito con etapas. [12] En general, sin embargo, sigue siendo un problema abierto cuál es el número mínimo preciso de etapas para que un método Runge–Kutta explícito tenga orden . Algunos valores que se conocen son: [13]

El límite demostrable anterior implica entonces que no podemos encontrar métodos de órdenes que requieran menos etapas que los métodos que ya conocemos para estos órdenes. El trabajo de Butcher también demuestra que los métodos de séptimo y octavo orden tienen un mínimo de 9 y 11 etapas, respectivamente. [11] [12] Un ejemplo de un método explícito de orden 6 con 7 etapas se puede encontrar en la referencia [14] . También se conocen métodos explícitos de orden 7 con 9 etapas [11] y métodos explícitos de orden 8 con 11 etapas [15] . Véanse las referencias [16] [17] para un resumen.

Ejemplos

El método RK4 se enmarca en este marco. Su tabla es [18]

Una ligera variación del método "de Runge-Kutta" también se debe a Kutta en 1901 y se llama regla de 3/8. [19] La principal ventaja que tiene este método es que casi todos los coeficientes de error son menores que en el método popular, pero requiere un poco más de FLOP (operaciones de punto flotante) por paso de tiempo. Su tabla de Butcher es

Sin embargo, el método de Runge-Kutta más simple es el método de Euler (hacia adelante) , dado por la fórmula . Este es el único método de Runge-Kutta explícito consistente con una etapa. La tabla correspondiente es

Métodos de segundo orden con dos etapas

Un ejemplo de un método de segundo orden con dos etapas lo proporciona el método de punto medio explícito :

El cuadro correspondiente es

El método del punto medio no es el único método de Runge-Kutta de segundo orden con dos etapas; existe una familia de tales métodos, parametrizados por α y dados por la fórmula [20]

Su cuadro del Carnicero es

En esta familia, se da el método del punto medio , es el método de Heun , [5] y es el método de Ralston.

Usar

Como ejemplo, considere el método de Runge-Kutta de segundo orden de dos etapas con α = 2/3, también conocido como método de Ralston . Está dado por la tabla

con las ecuaciones correspondientes

Este método se utiliza para resolver el problema del valor inicial.

con tamaño de paso h = 0,025, por lo que el método necesita realizar cuatro pasos.

El método se desarrolla de la siguiente manera:

Las soluciones numéricas corresponden a los valores subrayados.

Métodos adaptativos de Runge-Kutta

Los métodos adaptativos están diseñados para producir una estimación del error de truncamiento local de un único paso de Runge–Kutta. Esto se hace teniendo dos métodos, uno con orden y otro con orden . Estos métodos están entrelazados, es decir, tienen pasos intermedios comunes. Gracias a esto, la estimación del error tiene poco o ningún costo computacional en comparación con un paso con el método de orden superior.

Durante la integración, el tamaño del paso se adapta de forma que el error estimado se mantenga por debajo de un umbral definido por el usuario: si el error es demasiado alto, se repite un paso con un tamaño de paso menor; si el error es mucho menor, se aumenta el tamaño del paso para ahorrar tiempo. Esto da como resultado un tamaño de paso (casi) óptimo, lo que ahorra tiempo de cálculo. Además, el usuario no tiene que dedicar tiempo a encontrar un tamaño de paso adecuado.

El paso de orden inferior viene dado por

donde son iguales que para el método de orden superior. Entonces el error es

que es . La tabla de Butcher para este tipo de método se extiende para dar los valores de :

El método de Runge-Kutta-Fehlberg tiene dos métodos de órdenes 5 y 4. Su tabla de Butcher extendida es:

Sin embargo, el método de Runge-Kutta adaptativo más simple implica combinar el método de Heun , que es de orden 2, con el método de Euler , que es de orden 1. Su tabla de Butcher extendida es:

Otros métodos adaptativos de Runge-Kutta son el método de Bogacki-Shampine (órdenes 3 y 2), el método de Cash-Karp y el método de Dormand-Prince (ambos con órdenes 5 y 4).

Métodos de Runge-Kutta no confluentes

Se dice que un método de Runge-Kutta no es confluente [21] si todos son distintos.

Métodos de Runge-Kutta-Nyström

Los métodos de Runge-Kutta-Nyström son métodos de Runge-Kutta especializados que están optimizados para ecuaciones diferenciales de segundo orden. [22] [23] Un método de Runge-Kutta-Nyström general para un sistema de EDO de segundo orden

con orden es con la forma

que forma una mesa de carnicero con la forma

.

Las siguientes tablas de Butcher proporcionan dos métodos RKN explícitos de cuarto orden:

Estos dos esquemas también tienen propiedades de preservación simpléctica cuando la ecuación original se deriva de un sistema mecánico clásico conservativo, es decir, cuando

para alguna función escalar . [24]

Métodos implícitos de Runge-Kutta

Todos los métodos de Runge-Kutta mencionados hasta ahora son métodos explícitos . Los métodos de Runge-Kutta explícitos generalmente no son adecuados para la solución de ecuaciones rígidas porque su región de estabilidad absoluta es pequeña; en particular, está acotada. [25] Esta cuestión es especialmente importante en la solución de ecuaciones diferenciales parciales .

La inestabilidad de los métodos explícitos de Runge-Kutta motiva el desarrollo de métodos implícitos. Un método implícito de Runge-Kutta tiene la forma

dónde

[26]

La diferencia con un método explícito es que en un método explícito, la suma sobre j solo llega hasta i − 1. Esto también se muestra en la tabla de Butcher: la matriz de coeficientes de un método explícito es triangular inferior. En un método implícito, la suma sobre j llega hasta s y la matriz de coeficientes no es triangular, lo que produce una tabla de Butcher de la forma [18]

Consulte los métodos de Runge-Kutta adaptativos más arriba para obtener la explicación de la fila.

La consecuencia de esta diferencia es que en cada paso se debe resolver un sistema de ecuaciones algebraicas, lo que aumenta considerablemente el coste computacional. Si se utiliza un método con s etapas para resolver una ecuación diferencial con m componentes, entonces el sistema de ecuaciones algebraicas tiene ms componentes. Esto se puede contrastar con los métodos lineales multipaso implícitos (la otra gran familia de métodos para EDO): un método lineal multipaso implícito de s pasos necesita resolver un sistema de ecuaciones algebraicas con solo m componentes, por lo que el tamaño del sistema no aumenta a medida que aumenta el número de pasos. [27]

Ejemplos

El ejemplo más simple de un método de Runge-Kutta implícito es el método de Euler hacia atrás :

El cuadro del Carnicero para esto es simplemente:

Este cuadro del Carnicero corresponde a las fórmulas

que se puede reorganizar para obtener la fórmula del método de Euler inverso mencionado anteriormente.

Otro ejemplo de un método de Runge-Kutta implícito es la regla trapezoidal . Su tabla de Butcher es:

La regla trapezoidal es un método de colocación (como se analiza en ese artículo). Todos los métodos de colocación son métodos Runge-Kutta implícitos, pero no todos los métodos Runge-Kutta implícitos son métodos de colocación. [28]

Los métodos de Gauss-Legendre forman una familia de métodos de colocación basados ​​en la cuadratura de Gauss . Un método de Gauss-Legendre con s etapas tiene orden 2 s (por lo tanto, se pueden construir métodos con un orden arbitrariamente alto). [29] El método con dos etapas (y por lo tanto de orden cuatro) tiene la tabla de Butcher:

[27]

Estabilidad

La ventaja de los métodos Runge-Kutta implícitos sobre los explícitos es su mayor estabilidad, especialmente cuando se aplican a ecuaciones rígidas . Considere la ecuación de prueba lineal . Un método Runge-Kutta aplicado a esta ecuación se reduce a la iteración , con r dado por

[30]

donde e representa el vector de unos. La función r se denomina función de estabilidad . [31] De la fórmula se deduce que r es el cociente de dos polinomios de grado s si el método tiene s etapas. Los métodos explícitos tienen una matriz triangular estrictamente inferior A , lo que implica que det( IzA ) = 1 y que la función de estabilidad es un polinomio. [32]

La solución numérica de la ecuación de prueba lineal decae a cero si | r ( z ) | < 1 con z = h λ. El conjunto de tales z se denomina dominio de estabilidad absoluta . En particular, se dice que el método es absolutamente estable si todos los z con Re( z ) < 0 están en el dominio de estabilidad absoluta. La función de estabilidad de un método Runge-Kutta explícito es un polinomio, por lo que los métodos Runge-Kutta explícitos nunca pueden ser A-estables. [32]

Si el método tiene orden p , entonces la función de estabilidad satisface como . Por lo tanto, es de interés estudiar cocientes de polinomios de grados dados que se aproximan mejor a la función exponencial. Estos se conocen como aproximantes de Padé . Un aproximante de Padé con numerador de grado m y denominador de grado n es A-estable si y solo si mnm + 2. [33]

El método de Gauss-Legendre con s etapas tiene orden 2 s , por lo que su función de estabilidad es la aproximación de Padé con m = n = s . De ello se deduce que el método es A-estable. [34] Esto demuestra que el método de Runge-Kutta A-estable puede tener un orden arbitrariamente alto. Por el contrario, el orden de los métodos lineales multipaso A-estables no puede ser superior a dos. [35]

B-estabilidad

El concepto de A-estabilidad para la solución de ecuaciones diferenciales está relacionado con la ecuación autónoma lineal . Dahlquist propuso la investigación de la estabilidad de los esquemas numéricos cuando se aplican a sistemas no lineales que satisfacen una condición de monotonía. Los conceptos correspondientes se definieron como G-estabilidad para métodos de múltiples pasos (y los métodos de una pierna relacionados) y B-estabilidad (Butcher, 1975) para métodos de Runge-Kutta. Un método de Runge-Kutta aplicado al sistema no lineal , que verifica , se llama B-estable , si esta condición implica para dos soluciones numéricas.

Sean , y tres matrices definidas por Se dice que un método de Runge-Kutta es algebraicamente estable [36] si las matrices y son ambas definidas no negativas. Una condición suficiente para la B-estabilidad [37] es: y son definidas no negativas.

Derivación del método de cuarto orden de Runge-Kutta

En general, un método de orden de Runge-Kutta se puede escribir como:

dónde:

son incrementos obtenidos evaluando las derivadas de en el -ésimo orden.

Desarrollamos la derivación [38] para el método de cuarto orden de Runge-Kutta utilizando la fórmula general con evaluado, como se explicó anteriormente, en el punto inicial, el punto medio y el punto final de cualquier intervalo ; así, elegimos:

y en caso contrario. Empezaremos definiendo las siguientes magnitudes:

donde y . Si definimos:

y para las relaciones anteriores podemos demostrar que las siguientes igualdades se cumplen hasta : donde: es la derivada total de con respecto al tiempo.

Si ahora expresamos la fórmula general usando lo que acabamos de derivar obtenemos:

y comparando esto con la serie de Taylor de alrededor de :

Obtenemos un sistema de restricciones sobre los coeficientes:

que al resolverlo da como resultado lo indicado anteriormente.

Véase también

Notas

  1. ^ "Método Runge-Kutta". Dictionary.com . Consultado el 4 de abril de 2021 .
  2. ^ DEVRIES, Paul L.; HASBUN, Javier E. Un primer curso de física computacional. Segunda edición. Jones and Bartlett Publishers: 2011. p. 215.
  3. ^ Prensa y col. 2007, pág. 908; Süli y Mayers 2003, pág. 328
  4. ^ ab Atkinson (1989, p. 423), Hairer, Nørsett y Wanner (1993, p. 134), Kaw y Kalu (2008, §8.4) y Stoer y Bulirsch (2002, p. 476) omiten el factor h en la definición de las etapas. Ascher y Petzold (1998, p. 81), Butcher (2008, p. 93) e Iserles (1996, p. 38) utilizan los valores y como etapas.
  5. ^ ab Süli y Mayers 2003, pág. 328
  6. ^ Press y otros, 2007, pág. 907
  7. ^ Iserles 1996, pág. 38
  8. ^ por Iserles 1996, pág. 39
  9. ^ Como contraejemplo, considere cualquier esquema Runge-Kutta explícito de 2 etapas con y y elegidos aleatoriamente. Este método es consistente y (en general) convergente de primer orden. Por otro lado, el método de 1 etapa con es inconsistente y no converge, aunque trivialmente sostiene que .
  10. ^ Carnicero 2008, pág. 187
  11. ^ abc Butcher 1965, pág. 408
  12. ^ de Carnicero 1985
  13. ^ Carnicero 2008, págs. 187-196
  14. ^ Carnicero 1964
  15. ^ Curtis 1970, pág. 268
  16. ^ Hairer, Nørsett y Wanner 1993, pág. 179
  17. ^ Carnicero 1996, pág. 247
  18. ^ ab Süli y Mayers 2003, pág. 352
  19. ^ Hairer, Nørsett y Wanner (1993, p. 138) se refieren a Kutta (1901).
  20. ^ Süli y Mayers 2003, pág. 327
  21. ^ Lambert 1991, pág. 278
  22. ^ Dormand, JR; Prince, PJ (octubre de 1978). "Nuevos algoritmos de Runge-Kutta para simulación numérica en astronomía dinámica". Mecánica celeste . 18 (3): 223–232. Código Bibliográfico :1978CeMec..18..223D. doi :10.1007/BF01230162. S2CID  120974351.
  23. ^ Fehlberg, E. (octubre de 1974). Fórmulas clásicas de Runge-Kutta-Nyström de séptimo, sexto y quinto orden con control del tamaño de los pasos para ecuaciones diferenciales generales de segundo orden (informe) (NASA TR R-432 ed.). Centro Marshall de Vuelos Espaciales, AL: Administración Nacional de Aeronáutica y del Espacio.
  24. ^ Qin, Meng-Zhao; Zhu, Wen-Jie (1 de enero de 1991). "Métodos canónicos de Runge-Kutta-Nyström (RKN) para ecuaciones diferenciales ordinarias de segundo orden". Computers & Mathematics with Applications . 22 (9): 85–95. doi :10.1016/0898-1221(91)90209-M. ISSN  0898-1221.
  25. ^ Süli y Mayers 2003, págs. 349–351
  26. ^ Iserles 1996, pág. 41; Süli y Mayers 2003, págs. 351–352
  27. ^ ab Süli y Mayers 2003, pág. 353
  28. ^ Iserles 1996, págs. 43-44
  29. ^ Iserles 1996, pág. 47
  30. ^ Hairer y Wanner 1996, págs. 40-41
  31. ^ Hairer y Wanner 1996, pág. 40
  32. ^ por Iserles 1996, pág. 60
  33. ^ Iserles 1996, págs. 62-63
  34. ^ Iserles 1996, pág. 63
  35. ^ Este resultado se debe a Dahlquist (1963).
  36. ^ Lambert 1991, pág. 275
  37. ^ Lambert 1991, pág. 274
  38. ^ Lyu, Ling-Hsiao (agosto de 2016). "Apéndice C. Derivación de las fórmulas de integración numérica" ​​(PDF) . Simulación numérica de plasmas espaciales (I) Notas de clase . Instituto de Ciencias Espaciales, Universidad Nacional Central . Consultado el 17 de abril de 2022 .

Referencias

Enlaces externos