stringtranslate.com

Métodos de Runge-Kutta

Comparación de los métodos de Runge-Kutta para la ecuación diferencial (el rojo es 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 deimplícitos y explícitos, que incluyen elmétodo de Euler, utilizado enla discretizació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 generalmente se conoce como "RK4", el "método clásico de Runge-Kutta" o simplemente como "el método de Runge-Kutta".

Especifique un problema de valor inicial de la siguiente manera:

Aquí hay una función desconocida (escalar o vectorial) del tiempo , que nos gustaría aproximar; se nos dice que la velocidad a la que cambia es función de sí misma. En el momento 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, ..., usando [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 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 total acumulado 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. esta dado por

donde [6]

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

Para especificar un método particular, es necesario proporcionar el número entero s (el número de etapas) y los coeficientes a ij (para 1 ≤ j < is ), b i (para i = 1, 2, ..., s ) y ci ( para i = 2, 3, ..., s ). La matriz [ a ij ] se llama matriz de Runge-Kutta , mientras que b i y c i se conocen como pesos y nodos . [7] Estos datos generalmente se organizan en un dispositivo mnemotécnico, conocido como cuadro 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 sólo si

También existen requisitos que lo acompañan 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 propio error de truncamiento. 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] Tenga en cuenta que una condición popular para determinar coeficientes es [9]

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

En general, si un método de Runge-Kutta de etapas explícitas tiene orden , entonces se puede demostrar que el número de etapas debe satisfacer , y si , entonces . [11] Sin embargo, no se sabe si estos límites son nítidos en todos los casos. En algunos casos, está demostrado que no se puede alcanzar el límite. Por ejemplo, Butcher demostró que para , no existe un método explícito con etapas. [12] Butcher también demostró que para , no existe un método explícito de Runge-Kutta con etapas. [13] 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 explícito de Runge-Kutta tenga orden . Algunos valores que se conocen son: [14]

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 estas ó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. [15] [16] Un ejemplo de un método explícito de orden 6 con 7 etapas se puede encontrar en. [17] Los métodos explícitos de orden 7 con 9 etapas [18] y los métodos explícitos de orden 8 con 11 etapas [19] son también conocido. Ver referencias. [20] [21] para un resumen.

Ejemplos

El método RK4 entra en este marco. Su cuadro es [22]

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

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

Métodos de segundo orden con dos etapas.

El método explícito del punto medio proporciona un ejemplo de un método de segundo orden con dos etapas :

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, parametrizada por α y dada por la fórmula [24]

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 en dos etapas con α = 2/3, también conocido como método de Ralston . Está dado por el cuadro.

con las ecuaciones correspondientes

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

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

El método procede 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, estimar el error tiene un costo computacional pequeño o insignificante 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 manera 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 más bajo; si el error es mucho menor, el tamaño del paso aumenta 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 perder tiempo buscando el tamaño de paso adecuado.

El paso de orden inferior está dado por

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

cual es . El cuadro de Butcher para este tipo de método se amplía para dar los valores de :

El método Runge-Kutta-Fehlberg tiene dos métodos de orden 5 y 4. Su cuadro de Butcher extendido es:

Sin embargo, el método adaptativo de Runge-Kutta 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 cuadro extendido de Butcher es:

Otros métodos adaptativos de Runge-Kutta son el método Bogacki-Shampine (órdenes 3 y 2), el método Cash-Karp y el método 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 [25] si todos son distintos.

Métodos de Runge-Kutta-Nyström

Los métodos de Runge-Kutta-Nyström son métodos especializados de Runge-Kutta que están optimizados para ecuaciones diferenciales de segundo orden. [26] [27]

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 explícitos de Runge-Kutta 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á limitado. [28] 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

[29]

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 el cuadro de Butcher: la matriz de coeficientes de un método explícito es triangular inferior. En un método implícito, la suma de j llega a s y la matriz de coeficientes no es triangular, lo que produce un cuadro de Butcher de la forma [22]

Consulte los métodos adaptativos de Runge-Kutta 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. Esto 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 implícitos de varios pasos (la otra gran familia de métodos para EDO): un método lineal 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. [30]

Ejemplos

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

El cuadro de Butcher para esto es simplemente:

Este cuadro de Butcher 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 método implícito de Runge-Kutta es la regla trapezoidal . Su cuadro de Carnicero 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 implícitos de Runge-Kutta, pero no todos los métodos implícitos de Runge-Kutta son métodos de colocación. [31]

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). [32] El método con dos etapas (y por lo tanto orden cuatro) tiene un cuadro de Butcher:

[30]

Estabilidad

La ventaja de los métodos implícitos de Runge-Kutta 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 de Runge-Kutta aplicado a esta ecuación se reduce a la iteración , con r dada por

[33]

donde e representa el vector de unos. La función r se llama función de estabilidad . [34] 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. [35]

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 llama 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 explícito de Runge-Kutta es un polinomio, por lo que los métodos explícitos de Runge-Kutta nunca pueden ser A-estables. [35]

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

El método Gauss-Legendre con s etapas tiene orden 2 s , por lo que su función de estabilidad es la aproximante de Padé con m = n = s . De ello se deduce que el método es A-estable. [37] Esto muestra que 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 exceder de dos. [38]

B-estabilidad

El concepto de estabilidad A 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 esquemas numéricos cuando se aplican a sistemas no lineales que satisfacen una condición de monotonicidad. Los conceptos correspondientes se definieron como estabilidad G para métodos de varios pasos (y los métodos relacionados de una sola pierna) y estabilidad B (Butcher, 1975) para los 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 dos soluciones numéricas.

Sean , y tres matrices definidas por

algebraicamente estable [39]la estabilidad B [40]

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 orden -ésimo.

Desarrollamos la derivación [41] 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 de otra manera. Comenzamos definiendo las siguientes cantidades:

dónde y . Si definimos:

y para las relaciones anteriores podemos demostrar que las siguientes igualdades se cumplen hasta :

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

y comparando esto con la serie de Taylor de alrededor :

obtenemos un sistema de restricciones sobre los coeficientes:

que cuando se resuelve da como se indicó anteriormente.

Ver también

Notas

  1. ^ "Método Runge-Kutta". Diccionario.com . Consultado el 4 de abril de 2021 .
  2. ^ DEVRIES, Paul L.; HASBUN, Javier E. Un primer curso de física computacional. Segunda edicion. Editores Jones y Bartlett: 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 & Wanner (1993, p. 134), Kaw & Kalu (2008, §8.4) y Stoer & 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 de y como etapas.
  5. ^ ab Süli y Mayers 2003, pág. 328
  6. ^ Prensa y col. 2007, pág. 907
  7. ^ Iserles 1996, pág. 38
  8. ^ Iserles 1996, pág. 39
  9. ^ Iserles 1996, pág. 39
  10. ^ Como contraejemplo, considere cualquier esquema Runge-Kutta explícito de dos etapas con y elegido al azar. Este método es consistente y (en general) convergente de primer orden. Por otro lado, el método de una etapa con es inconsistente y no logra converger, aunque trivialmente sostiene que .
  11. ^ Carnicero 2008, pag. 187
  12. ^ Carnicero 1965, pag. 408
  13. ^ Carnicero 1985
  14. ^ Carnicero 2008, págs. 187-196
  15. ^ Carnicero 1965, pag. 408
  16. ^ Carnicero 1985
  17. ^ Carnicero 1964
  18. ^ Carnicero 1965, pag. 408
  19. ^ Curtis 1970, pag. 268
  20. ^ Hairer, Nørsett y Wanner 1993, pág. 179
  21. ^ Carnicero 1996, pag. 247
  22. ^ ab Süli y Mayers 2003, pág. 352
  23. ^ Hairer, Nørsett y Wanner (1993, p. 138) se refieren a Kutta (1901).
  24. ^ Süli y Mayers 2003, pág. 327
  25. ^ Lambert 1991, pag. 278
  26. ^ 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 Bib : 1978CeMec..18..223D. doi :10.1007/BF01230162. S2CID  120974351.
  27. ^ Fehlberg, E. (octubre de 1974). Fórmulas clásicas de Runge-Kutta-Nyström de séptimo, sexto y quinto orden con control de tamaño de paso 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.
  28. ^ Süli y Mayers 2003, págs. 349–351
  29. ^ Iserles 1996, pág. 41; Süli y Mayers 2003, págs. 351–352
  30. ^ ab Süli y Mayers 2003, pág. 353
  31. ^ Iserles 1996, págs. 43–44
  32. ^ Iserles 1996, pág. 47
  33. ^ Hairer y Wanner 1996, págs. 40-41
  34. ^ Hairer y Wanner 1996, pág. 40
  35. ^ ab Iserles 1996, pág. 60
  36. ^ Iserles 1996, págs. 62–63
  37. ^ Iserles 1996, pág. 63
  38. ^ Este resultado se debe a Dahlquist (1963).
  39. ^ Lambert 1991, pag. 275
  40. ^ Lambert 1991, pag. 274
  41. ^ 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) Apuntes de conferencias . Instituto de Ciencias Espaciales, Universidad Nacional Central . Consultado el 17 de abril de 2022 .

Referencias

enlaces externos