En análisis numérico , los métodos de Runge-Kutta ( en inglés: / r ʊ ŋ ə k ʊ t ɑː / ( escuchar ) RUUNG -ə- KUUT -tah [1] ) son una familia de implícitos y explícitos métodos iterativos, que incluyen la conocida rutina llamada Método de Euler , que se utiliza en la discretización temporal para las soluciones aproximadas de ecuaciones diferenciales ordinarias . [2]Estos métodos fueron desarrollados alrededor de 1900 por los matemáticos alemanes Carl Runge y Wilhelm Kutta .
El método 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 Runge-Kutta".
Deje que un problema de valor inicial se especifique de la siguiente manera:
Aquí es una función desconocida (escalar o vectorial) del tiempo , que nos gustaría aproximar; se nos dice que, la velocidad a la que cambios, es una función de y de sí mismo. En el momento inicial el correspondiente el valor es . La funcióny las condiciones iniciales , son dados.
Ahora elija un tamaño de paso h > 0 y defina
para n = 0, 1, 2, 3, ..., usando [3]
- (Nota: las ecuaciones anteriores tienen definiciones diferentes pero equivalentes en diferentes textos). [4]
Aquí es la aproximación RK4 de , y el siguiente valor () está determinada por el valor presente () 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.
- es la pendiente al comienzo del intervalo, utilizando ( Método de Euler );
- es la pendiente en el punto medio del intervalo, utilizando y ;
- es nuevamente la pendiente en el punto medio, pero ahora usando y ;
- es la pendiente al final del intervalo, usando y .
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 pasan a funcionar, con solo la fórmula final para usó.
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. Es dado 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 < i ≤ s ), b i (para i = 1, 2, ..., s ) yc i (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 mnemónico, conocido como un cuadro de Butcher (después de John C. Butcher ):
Una expansión de la serie de Taylor muestra que el método de Runge-Kutta es consistente si y solo si
También hay requisitos acompañantes 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 explícito -El método de etapa Runge-Kutta tiene orden , entonces se puede probar que el número de etapas debe satisfacer , y si , luego . [11] Sin embargo, no se sabe si estos límites son nítidos en todos los casos; por ejemplo, todos los métodos conocidos de orden 8 tienen al menos 11 etapas, aunque es posible que haya métodos con menos etapas. (El límite anterior sugiere que podría haber un método con 9 etapas; pero también podría ser que el límite simplemente no sea nítido). De hecho, es un problema abierto cuál es el número mínimo preciso de etapas es para que un método explícito de Runge-Kutta tenga orden en aquellos casos en los que aún no se han descubierto métodos que satisfagan los límites anteriores con igualdad. Algunos valores que se conocen son: [12]
Los límites demostrables anteriores implican que no podemos encontrar métodos de órdenes que requieren menos etapas que los métodos que ya conocemos para estos pedidos. Sin embargo, es concebible que encontremos un método de orden que tiene solo 8 etapas, mientras que las únicas conocidas en la actualidad tienen al menos 9 etapas como se muestra en la tabla.
Ejemplos de
El método RK4 se inscribe en este marco. Su cuadro es [13]
0 1/2 1/2 1/2 0 1/2 1 0 0 1 1/6 1/3 1/3 1/6
Una ligera variación de "el" método de Runge-Kutta también se debe a Kutta en 1901 y se llama la regla de 3/8. [14] 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 de carnicero es
0 1/3 1/3 2/3 -1/3 1 1 1 −1 1 1/8 3/8 3/8 1/8
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 explícito consistente de Runge-Kutta con una etapa. El cuadro correspondiente es
0 1
Métodos de segundo orden con dos etapas
El método del punto medio proporciona un ejemplo de un método de segundo orden con dos etapas :
El cuadro correspondiente es
0 1/2 1/2 0 1
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 [15]
Su cuadro de carnicero es
0
En esta familia da el método del punto medio, y es el método de Heun . [5]
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
0 | |||
2/3 | 2/3 | ||
1/4 | 3/4 |
con las ecuaciones correspondientes
Este método se utiliza para resolver el problema del valor inicial.
con un tamaño de paso h = 0.025, por lo que el método debe tomar 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 solo paso de Runge-Kutta. Esto se hace teniendo dos métodos, uno con orden y uno con orden . Estos métodos están entretejidos, 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 modo 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, 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
dónde 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:
0 | ||||||
El método de Runge-Kutta-Fehlberg tiene dos métodos de órdenes 5 y 4. Su cuadro Butcher extendido es:
0 | |||||||
1/4 | 1/4 | ||||||
3/8 | 3/32 | 9/32 | |||||
13/12 | 1932/2197 | −7200/2197 | 7296/2197 | ||||
1 | 439/216 | −8 | 3680/513 | -845/4104 | |||
1/2 | −8/27 | 2 | −3544/2565 | 1859/4104 | −11/40 | ||
16/135 | 0 | 6656/12825 | 28561/56430 | −9/50 | 2/55 | ||
25/216 | 0 | 1408/2565 | 2197/4104 | −1/5 | 0 |
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 Butcher extendido es:
0 | |||
1 | 1 | ||
1/2 | 1/2 | ||
1 | 0 |
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 fluidos
Se dice que un método de Runge-Kutta no es confluente [16] si todos los son distintos.
Métodos 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 de la siguiente forma: [17] [18]
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á acotado. [19] Este problema 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
- [20]
La diferencia con un método explícito es que en un método explícito, la suma sobre j solo sube a i - 1. Esto también se muestra en el cuadro de Butcher: la matriz de coeficientesde un método explícito es triangular inferior. En un método implícito, la suma sobre j sube a sy la matriz de coeficientes no es triangular, lo que produce un cuadro de Butcher de la forma [13]
Consulte los métodos Adaptive Runge-Kutta más arriba para obtener una explicación de los fila.
La consecuencia de esta diferencia es que en cada paso hay que resolver un sistema de ecuaciones algebraicas. Esto aumenta considerablemente el costo computacional. Si se usa 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 las EDO): un método lineal multipaso de s -paso implícito 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. [21]
Ejemplos de
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 hacia atrás mencionado anteriormente.
Otro ejemplo de método implícito de Runge-Kutta es la regla trapezoidal . Su cuadro de Butcher es:
La regla trapezoidal es un método de colocación (como se explica 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. [22]
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 un orden de 2 s (por lo tanto, se pueden construir métodos con un orden arbitrariamente alto). [23] El método con dos etapas (y por lo tanto el orden cuatro) tiene un cuadro de Butcher:
- [21]
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 y ' = λ y . Un método de Runge-Kutta aplicado a esta ecuación se reduce a la iteración, con r dado por
- [24]
donde e representa el vector de unos. La función r se llama función de estabilidad . [25] 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 A estrictamente inferior , lo que implica que det ( I - zA ) = 1 y que la función de estabilidad es un polinomio. [26]
La solución numérica de la ecuación de prueba lineal se reduce 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 z con Re ( z ) <0 están en el dominio de la 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. [26]
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 aproximen mejor a la función exponencial. Estos se conocen como aproximantes de Padé . Un aproximado de Padé con numerador de grado my denominador de grado n es A-estable si y solo si m ≤ n ≤ m + 2. [27]
El método de 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. [28] Esto muestra que A-estable Runge-Kutta puede tener un orden arbitrariamente alto. Por el contrario, el orden de los métodos lineales de varios pasos estables en A no puede exceder de dos. [29]
B-estabilidad
El concepto de estabilidad A para la solución de ecuaciones diferenciales está relacionado con la ecuación lineal autónoma. Dahlquist propuso la investigación de la estabilidad de esquemas numéricos cuando se aplica a sistemas no lineales que satisfacen una condición de monotonicidad. Los conceptos correspondientes se definieron como estabilidad G para los métodos de varios pasos (y los métodos relacionados de una rama) 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 para dos soluciones numéricas.
Dejar , y ser tres matrices definidas por
Se dice que un método de Runge-Kutta es algebraicamente estable [30] si las matrices y son ambos definidos no negativos. Una condición suficiente para la estabilidad B [31] 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 [32] para el método de cuarto orden de Runge-Kutta usando la fórmula general con evaluado, como se explicó anteriormente, en el punto de inicio, el punto medio y el punto final de cualquier intervalo ; así, elegimos:
y de lo contrario. Comenzamos por definir las siguientes cantidades:
dónde y . Si definimos:
y para las relaciones anteriores podemos demostrar que las siguientes igualdades se mantienen hasta :
dónde:
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 :
obtenemos un sistema de restricciones sobre los coeficientes:
que cuando se resuelve da como se indicó anteriormente.
Ver también
- El método de Euler
- Lista de métodos Runge-Kutta
- Métodos numéricos para ecuaciones diferenciales ordinarias
- Método de Runge-Kutta (SDE)
- Métodos lineales generales
- Integrador de grupos de mentiras
Notas
- ^ "Método de Runge-Kutta" . Dictionary.com . Consultado el 4 de abril de 2021 .
- ^ DEVRIES, Paul L.; HASBUN, Javier E. Un primer curso de física computacional. Segunda edicion. Jones y Bartlett Publishers: 2011. p. 215.
- ^ Presione et al. 2007 , pág. 908; Süli y Mayers 2003 , pág. 328
- ↑ a b 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.
- ↑ a b Süli y Mayers , 2003 , p. 328
- ^ Presione et al. 2007 , pág. 907
- ^ Iserles 1996 , p. 38
- ^ Iserles 1996 , p. 39
- ^ Iserles 1996 , p. 39
- ^ Como contraejemplo, considere cualquier esquema explícito de Runge-Kutta de 2 etapas con y y elegido al azar. 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 .
- ^ Carnicero , 2008 , p. 187
- ^ Carnicero , 2008 , págs. 187-196
- ↑ a b Süli y Mayers , 2003 , p. 352
- ↑ Hairer, Nørsett & Wanner (1993 , p. 138) se refieren a Kutta (1901) .
- ^ Süli y Mayers , 2003 , p. 327
- ^ Lambert 1991 , p. 278
- ^ 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. doi : 10.1007 / BF01230162 .
- ^ 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.). Marshall Space Flight Center, AL: Administración Nacional de Aeronáutica y del Espacio.
- ^ Süli y Mayers , 2003 , págs. 349–351
- ^ Iserles 1996 , p. 41; Süli y Mayers 2003 , págs. 351–352
- ↑ a b Süli y Mayers , 2003 , p. 353
- ^ Iserles 1996 , págs. 43–44
- ^ Iserles 1996 , p. 47
- ^ Hairer y Wanner 1996 , págs. 40–41
- ^ Hairer y Wanner 1996 , p. 40
- ↑ a b Iserles , 1996 , p. 60
- ^ Iserles 1996 , págs. 62-63
- ^ Iserles 1996 , p. 63
- ↑ Este resultado se debe a Dahlquist (1963) .
- ^ Lambert 1991 , p. 275
- ^ Lambert 1991 , p. 274
- ^ PDF que informa esta derivación
Referencias
- Runge, Carl David Tolmé (1895), "Über die numerische Auflösung von Differentialgleichungen" , Mathematische Annalen , Springer , 46 (2): 167–178, doi : 10.1007 / BF01446807.
- Kutta, Martin (1901), "Beitrag zur näherungsweisen Integration totaler Differentialgleichungen", Zeitschrift für Mathematik und Physik , 46 : 435–453.
- Ascher, Uri M .; Petzold, Linda R. (1998), Métodos informáticos para ecuaciones diferenciales ordinarias y ecuaciones algebraicas diferenciales , Filadelfia: Sociedad de Matemáticas Industriales y Aplicadas , ISBN 978-0-89871-412-8.
- Atkinson, Kendall A. (1989), Introducción al análisis numérico (2a ed.), Nueva York: John Wiley & Sons , ISBN 978-0-471-50023-0.
- Butcher, John C. (mayo de 1963), "Coeficientes para el estudio de los procesos de integración de Runge-Kutta", Journal of the Australian Mathematical Society , 3 (2): 185-201, doi : 10.1017 / S1446788700027932.
- Butcher, John C. (1975), "Una propiedad de estabilidad de los métodos implícitos de Runge-Kutta", BIT , 15 (4): 358–361, doi : 10.1007 / bf01931672.
- Butcher, John C. (2008), Métodos numéricos para ecuaciones diferenciales ordinarias , Nueva York: John Wiley & Sons , ISBN 978-0-470-72335-7.
- Cellier, F .; Kofman, E. (2006), simulación de sistema continuo , Springer Verlag , ISBN 0-387-26102-8.
- Dahlquist, Germund (1963), "Un problema de estabilidad especial para métodos lineales de varios pasos", BIT , 3 : 27–43, doi : 10.1007 / BF01963532 , hdl : 10338.dmlcz / 103497 , ISSN 0006-3835.
- Forsythe, George E .; Malcolm, Michael A .; Moler, Cleve B. (1977), Métodos informáticos para cálculos matemáticos , Prentice-Hall (ver Capítulo 6).
- Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (1993), Resolución de ecuaciones diferenciales ordinarias I: Problemas no rígidos , Berlín, Nueva York: Springer-Verlag , ISBN 978-3-540-56670-0.
- Hairer, Ernst; Wanner, Gerhard (1996), Resolver ecuaciones diferenciales ordinarias II: Problemas rígidos y algebraicos diferenciales (2a ed.), Berlín, Nueva York: Springer-Verlag , ISBN 978-3-540-60452-5.
- Iserles, Arieh (1996), Un primer curso en el análisis numérico de ecuaciones diferenciales , Cambridge University Press , ISBN 978-0-521-55655-2.
- Lambert, JD (1991), Métodos numéricos para sistemas diferenciales ordinarios. El problema del valor inicial , John Wiley & Sons , ISBN 0-471-92990-5
- Kaw, autar; Kalu, Egwu (2008), Métodos numéricos con aplicaciones (1ª ed.), Autarkaw.com.
- Prensa, William H .; Teukolsky, Saul A .; Vetterling, William T .; Flannery, Brian P. (2007), "Sección 17.1 Método Runge-Kutta" , Recetas numéricas: El arte de la informática científica (3ª ed.), Cambridge University Press , ISBN 978-0-521-88068-8. Además, la Sección 17.2. Control de tamaño adaptativo para Runge-Kutta .
- Stoer, Josef; Bulirsch, Roland (2002), Introducción al análisis numérico (3.a ed.), Berlín, Nueva York: Springer-Verlag , ISBN 978-0-387-95452-3.
- Süli, Endre; Mayers, David (2003), Introducción al análisis numérico , Cambridge University Press , ISBN 0-521-00794-1.
- Tan, Delin; Chen, Zheng (2012), "Sobre una fórmula general del método Runge-Kutta de cuarto orden" (PDF) , Revista de ciencia matemática y educación matemática , 7 (2): 1–10.
- libro de referencia de ignou de matemáticas discretas avanzadas (código- mcs033)
- John C. Butcher: "Serie B: Análisis algebraico de métodos numéricos", Springer (SSCM, volumen 55)), ISBN: 978-3030709556 (abril de 2021).
enlaces externos
- "Método de Runge-Kutta" , Enciclopedia de Matemáticas , EMS Press , 2001 [1994]
- Método de cuarto orden de Runge-Kutta
- Implementación de la biblioteca de componentes del rastreador en Matlab : implementa 32 algoritmos integrados de Runge Kutta en
RungeKStep
, 24 algoritmos integrados de Runge-Kutta Nyström enRungeKNystroemSStep
y 4 algoritmos generales de Runge-Kutta Nyström enRungeKNystroemGStep
.