stringtranslate.com

Métodos numéricos para ecuaciones diferenciales ordinarias

Ilustración de la integración numérica para la ecuación diferencial
  Azul: método de Euler
  Rojo: Solución exacta: .
El tamaño del paso es .
La misma ilustración para el método del punto medio converge más rápido que el método de Euler, ya que .

Los métodos numéricos para ecuaciones diferenciales ordinarias son métodos que se utilizan para encontrar aproximaciones numéricas a las soluciones de ecuaciones diferenciales ordinarias (EDO). Su uso también se conoce como " integración numérica ", aunque este término también puede referirse al cálculo de integrales .

Muchas ecuaciones diferenciales no se pueden resolver con exactitud. Sin embargo, para fines prácticos (por ejemplo, en ingeniería), una aproximación numérica a la solución suele ser suficiente. Los algoritmos estudiados aquí se pueden utilizar para calcular dicha aproximación. Un método alternativo es utilizar técnicas de cálculo para obtener una expansión en serie de la solución.

Las ecuaciones diferenciales ordinarias ocurren en muchas disciplinas científicas, incluidas la física , la química , la biología y la economía . [1] Además, algunos métodos en ecuaciones diferenciales parciales numéricas convierten la ecuación diferencial parcial en una ecuación diferencial ordinaria, que luego debe resolverse.

El problema

Una ecuación diferencial de primer orden es un problema de valor inicial (PVI) de la forma, [2]

donde es una función y la condición inicial es un vector dado. De primer orden significa que solo aparece la primera derivada de y en la ecuación y no hay derivadas superiores.

Sin perder la generalidad de los sistemas de orden superior, nos limitamos a las ecuaciones diferenciales de primer orden , porque una EDO de orden superior se puede convertir en un sistema más grande de ecuaciones de primer orden introduciendo variables adicionales. Por ejemplo, la ecuación de segundo orden y ′′ = − y se puede reescribir como dos ecuaciones de primer orden: y ′ = z y z ′ = − y .

En esta sección, describimos métodos numéricos para problemas de valores en la frontera y remarcamos que los problemas de valores en la frontera (BVP) requieren un conjunto diferente de herramientas. En un BVP, se definen valores o componentes de la solución y en más de un punto. Debido a esto, se deben utilizar diferentes métodos para resolver BVP. Por ejemplo, el método de disparo (y sus variantes) o métodos globales como diferencias finitas , [3] métodos de Galerkin , [4] o métodos de colocación son apropiados para esa clase de problemas.

El teorema de Picard-Lindelöf establece que existe una solución única, siempre que f sea Lipschitz-continua .

Métodos

Los métodos numéricos para resolver problemas de primer orden a menudo se dividen en dos grandes categorías: [5] métodos lineales de múltiples pasos o métodos de Runge-Kutta . Se puede realizar una división adicional dividiendo los métodos en aquellos que son explícitos y aquellos que son implícitos. Por ejemplo, los métodos lineales de múltiples pasos implícitos incluyen los métodos de Adams-Moulton y los métodos de diferenciación hacia atrás (BDF), mientras que los métodos Runge-Kutta implícitos [6] incluyen el Runge-Kutta diagonalmente implícito (DIRK), [7] [8] el Runge-Kutta diagonalmente implícito simple (SDIRK), [9] y los métodos numéricos de Gauss-Radau [10] (basado en la cuadratura gaussiana [11] ). Los ejemplos explícitos de la familia lineal de múltiples pasos incluyen los métodos de Adams-Bashforth y cualquier método Runge-Kutta con una tabla de Butcher diagonal inferior es explícito . Una regla general general dicta que las ecuaciones diferenciales rígidas requieren el uso de esquemas implícitos, mientras que los problemas no rígidos pueden resolverse de manera más eficiente con esquemas explícitos.

Los llamados métodos lineales generales (GLM) son una generalización de las dos grandes clases de métodos anteriores. [12]

Método de Euler

Desde cualquier punto de una curva, puedes encontrar una aproximación a un punto cercano en la curva moviéndose una distancia corta a lo largo de una línea tangente a la curva.

Comenzando con la ecuación diferencial ( 1 ), reemplazamos la derivada y ′ por la aproximación de diferencias finitas

que al reorganizarlo da como resultado la siguiente fórmula

y usando ( 1 ) se obtiene:

Esta fórmula se suele aplicar de la siguiente manera. Elegimos un tamaño de paso h y construimos la secuencia que denotamos por una estimación numérica de la solución exacta . Motivados por ( 3 ), calculamos estas estimaciones mediante el siguiente esquema recursivo

Se trata del método de Euler (o método de Euler directo , en contraposición al método de Euler inverso , que se describirá más adelante). El método recibe su nombre de Leonhard Euler, quien lo describió en 1768.

El método de Euler es un ejemplo de método explícito . Esto significa que el nuevo valor y n +1 se define en términos de cosas que ya se conocen, como y n .

Método de Euler inverso

Si, en lugar de ( 2 ), utilizamos la aproximación

Obtenemos el método de Euler hacia atrás :

El método de Euler inverso es un método implícito , lo que significa que tenemos que resolver una ecuación para encontrar y n +1 . Para lograrlo, se suele utilizar la iteración de punto fijo o (alguna modificación de) el método de Newton-Raphson .

Resolver esta ecuación lleva más tiempo que los métodos explícitos; este costo debe tenerse en cuenta cuando se selecciona el método a utilizar. La ventaja de los métodos implícitos como ( 6 ) es que suelen ser más estables para resolver una ecuación rígida , lo que significa que se puede utilizar un tamaño de paso h mayor.

Método de integración exponencial de primer orden

Los integradores exponenciales describen una gran clase de integradores que han experimentado un gran desarrollo recientemente. [13] Se remontan al menos a la década de 1960.

En lugar de ( 1 ), asumimos que la ecuación diferencial es cualquiera de las formas

o se ha linealizado localmente alrededor de un estado de fondo para producir un término lineal y un término no lineal .

Los integradores exponenciales se construyen multiplicando ( 7 ) por , e integrando exactamente el resultado en un intervalo de tiempo :

Esta ecuación integral es exacta, pero no define la integral.

El integrador exponencial de primer orden se puede realizar manteniendo constante durante todo el intervalo:

Generalizaciones

El método de Euler no suele ser lo suficientemente preciso. En términos más precisos, solo tiene orden uno (el concepto de orden se explica más adelante). Esto llevó a los matemáticos a buscar métodos de orden superior.

Una posibilidad es utilizar no solo el valor calculado previamente y n para determinar y n +1 , sino hacer que la solución dependa de más valores pasados. Esto produce un denominado método de múltiples pasos . Quizás el más simple sea el método de salto de rana , que es de segundo orden y (a grandes rasgos) se basa en dos valores de tiempo.

Casi todos los métodos prácticos de varios pasos caen dentro de la familia de métodos lineales de varios pasos , que tienen la forma

Otra posibilidad es utilizar más puntos en el intervalo . Esto conduce a la familia de métodos de Runge-Kutta , llamada así en honor a Carl Runge y Martin Kutta . Uno de sus métodos de cuarto orden es especialmente popular.

Funciones avanzadas

Una buena implementación de uno de estos métodos para resolver una EDO implica más que la fórmula de pasos de tiempo.

A menudo resulta ineficiente utilizar el mismo tamaño de paso todo el tiempo, por lo que se han desarrollado métodos de tamaño de paso variable . Por lo general, el tamaño de paso se elige de manera que el error (local) por paso esté por debajo de un cierto nivel de tolerancia. Esto significa que los métodos también deben calcular un indicador de error , una estimación del error local.

Una extensión de esta idea es elegir dinámicamente entre diferentes métodos de diferentes órdenes (esto se llama método de orden variable ). Los métodos basados ​​en la extrapolación de Richardson , [14] como el algoritmo de Bulirsch–Stoer , [15] [16] se utilizan a menudo para construir varios métodos de diferentes órdenes.

Otras características deseables incluyen:

Métodos alternativos

Muchos métodos no se incluyen en el marco que se analiza aquí. Algunas clases de métodos alternativos son:

Métodos paralelos en el tiempo

Algunos IVP requieren una integración con una resolución temporal tan alta y/o en intervalos de tiempo tan largos que los métodos clásicos de pasos de tiempo seriales se vuelven computacionalmente inviables para ejecutarse en tiempo real (por ejemplo, los IVP en la predicción numérica del tiempo, el modelado de plasma y la dinámica molecular). Se han desarrollado métodos paralelos en el tiempo (PinT) en respuesta a estos problemas con el fin de reducir los tiempos de ejecución de la simulación mediante el uso de computación paralela .

Los primeros métodos PinT (los primeros propuestos en la década de 1960) [20] fueron inicialmente pasados ​​por alto por los investigadores debido al hecho de que las arquitecturas de computación paralela que requerían aún no estaban ampliamente disponibles. Con más potencia de computación disponible, el interés se renovó a principios de la década de 2000 con el desarrollo de Parareal , un algoritmo PinT flexible y fácil de usar que es adecuado para resolver una amplia variedad de problemas de rendimiento intrínseco. La llegada de la computación a exaescala ha significado que los algoritmos PinT están atrayendo cada vez más la atención de la investigación y se están desarrollando de tal manera que puedan aprovechar las supercomputadoras más poderosas del mundo . Los métodos más populares a partir de 2023 incluyen Parareal, PFASST, ParaDiag y MGRIT. [21]

Análisis

El análisis numérico no es sólo el diseño de métodos numéricos, sino también su análisis. Tres conceptos centrales en este análisis son:

Convergencia

Se dice que un método numérico es convergente si la solución numérica se aproxima a la solución exacta a medida que el tamaño del paso h tiende a 0. Más precisamente, requerimos que para cada EDO (1) con una función de Lipschitz f y cada t *  > 0,

Todos los métodos mencionados anteriormente son convergentes.

Coherencia y orden

Supongamos que el método numérico es

El error local (de truncamiento) del método es el error cometido en un paso del método. Es decir, es la diferencia entre el resultado que arroja el método, suponiendo que no se cometió ningún error en los pasos anteriores, y la solución exacta:

Se dice que el método es consistente si

El método tiene orden si

Por lo tanto, un método es consistente si tiene un orden mayor que 0. El método de Euler (hacia adelante) (4) y el método de Euler hacia atrás (6) presentados anteriormente tienen ambos orden 1, por lo que son consistentes. La mayoría de los métodos que se utilizan en la práctica alcanzan un orden superior. La consistencia es una condición necesaria para la convergencia [ cita requerida ] , pero no suficiente; para que un método sea convergente, debe ser consistente y estable a cero.

Un concepto relacionado es el error global (de truncamiento) , el error que se produce en todos los pasos necesarios para alcanzar un tiempo fijo . Explícitamente, el error global en el tiempo es donde . El error global de un método de un paso de orden n es ; en particular, un método de este tipo es convergente. Esta afirmación no es necesariamente cierta para los métodos de varios pasos.

Estabilidad y rigidez

En el caso de algunas ecuaciones diferenciales, la aplicación de métodos estándar (como el método de Euler, los métodos explícitos de Runge-Kutta o los métodos de múltiples pasos (por ejemplo, los métodos de Adams-Bashforth)) muestra inestabilidad en las soluciones, aunque otros métodos pueden producir soluciones estables. Este "comportamiento difícil" en la ecuación (que puede no ser necesariamente complejo en sí mismo) se describe como rigidez y, a menudo, es causado por la presencia de diferentes escalas de tiempo en el problema subyacente. [23] Por ejemplo, una colisión en un sistema mecánico como en un oscilador de impacto ocurre típicamente en una escala de tiempo mucho menor que el tiempo para el movimiento de los objetos; esta discrepancia produce "giros muy bruscos" en las curvas de los parámetros de estado.

Los problemas de rigidez son omnipresentes en la cinética química , la teoría de control , la mecánica de sólidos , la previsión meteorológica , la biología , la física del plasma y la electrónica . Una forma de superar la rigidez es ampliar la noción de ecuación diferencial a la de inclusión diferencial , que permite y modela la no suavidad. [24] [25]

Historia

A continuación se muestra una cronología de algunos desarrollos importantes en este campo. [26] [27]

Soluciones numéricas a problemas de valores límite unidimensionales de segundo orden

Los problemas de valores en la frontera (BVP) se resuelven generalmente numéricamente resolviendo un problema matricial aproximadamente equivalente obtenido discretizando el BVP original. [28] El método más comúnmente utilizado para resolver numéricamente los BVP en una dimensión se denomina método de diferencias finitas . [3] Este método aprovecha las combinaciones lineales de valores puntuales para construir coeficientes de diferencias finitas que describen derivadas de la función. Por ejemplo, la aproximación de diferencia central de segundo orden a la primera derivada viene dada por:

y la diferencia central de segundo orden para la segunda derivada viene dada por:

En ambas fórmulas, es la distancia entre los valores x vecinos en el dominio discretizado. Luego se construye un sistema lineal que luego se puede resolver mediante métodos matriciales estándar . Por ejemplo, supongamos que la ecuación a resolver es:

El siguiente paso sería discretizar el problema y utilizar aproximaciones derivadas lineales como

y resolver el sistema de ecuaciones lineales resultante. Esto daría lugar a ecuaciones como:

A primera vista, este sistema de ecuaciones parece tener dificultades asociadas con el hecho de que la ecuación no involucra términos que no se multipliquen por variables, pero de hecho esto es falso. En i = 1 y n − 1 hay un término que involucra los valores de contorno y y, dado que estos dos valores son conocidos, uno puede simplemente sustituirlos en esta ecuación y, como resultado, tener un sistema no homogéneo de ecuaciones lineales que tiene soluciones no triviales.

Véase también

Notas

  1. ^ Chicone, C. (2006). Ecuaciones diferenciales ordinarias con aplicaciones (Vol. 34). Springer Science & Business Media.
  2. ^ Bradie (2006, págs. 533-655)
  3. ^ ab LeVeque, RJ (2007). Métodos de diferencias finitas para ecuaciones diferenciales ordinarias y parciales: problemas de estado estacionario y dependientes del tiempo (Vol. 98). SIAM.
  4. ^ Slimane Adjerid y Mahboub Baccouch (2010) Métodos de Galerkin. Scholarpedia, 5(10):10056.
  5. ^ Griffiths, DF y Higham, DJ (2010). Métodos numéricos para ecuaciones diferenciales ordinarias: problemas de valor inicial. Springer Science & Business Media.
  6. ^ Hairer, Nørsett y Wanner (1993, págs. 204-215)
  7. ^ Alexander, R. (1977). Métodos de Runge-Kutta implícitos diagonalmente para ecuaciones diferenciales ordinarias rígidas. Revista SIAM sobre análisis numérico, 14(6), 1006-1021.
  8. ^ Cash, JR (1979). Fórmulas de Runge-Kutta implícitas diagonalmente con estimaciones de error. IMA Journal of Applied Mathematics, 24(3), 293-301.
  9. ^ Ferracina, L., y Spijker, MN (2008). Fuerte estabilidad de los métodos Runge-Kutta implícitos en diagonal simple. Matemáticas numéricas aplicadas, 58(11), 1675-1686.
  10. ^ Everhart, E. (1985). Un integrador eficiente que utiliza espaciamientos de Gauss-Radau. En International Astronomical Union Colloquium (Vol. 83, pp. 185–202). Cambridge University Press.
  11. ^ Weisstein, Eric W. "Cuadratura gaussiana". De MathWorld, un recurso web de Wolfram. https://mathworld.wolfram.com/GaussianQuadrature.html
  12. ^ Butcher, JC (1987). El análisis numérico de ecuaciones diferenciales ordinarias: Runge-Kutta y métodos lineales generales. Wiley-Interscience.
  13. ^ Hochbruck (2010, pp. 209–286) Este es un artículo de revisión moderno y extenso sobre integradores exponenciales.
  14. ^ Brezinski, C., y Zaglia, MR (2013). Métodos de extrapolación: teoría y práctica. Elsevier.
  15. ^ Monroe, JL (2002). Extrapolación y el algoritmo Bulirsch-Stoer. Physical Review E, 65(6), 066116.
  16. ^ Kirpekar, S. (2003). Implementación del método de extrapolación de Bulirsch Stoer. Departamento de Ingeniería Mecánica, UC Berkeley/California.
  17. ^ Nurminskii, EA y Buryi, AA (2011). Método Parker-Sochacki para resolver sistemas de ecuaciones diferenciales ordinarias utilizando procesadores gráficos. Análisis numérico y aplicaciones, 4(3), 223.
  18. ^ Hairer, E., Lubich, C. y Wanner, G. (2006). Integración numérica geométrica: algoritmos que preservan la estructura para ecuaciones diferenciales ordinarias (Vol. 31). Springer Science & Business Media.
  19. ^ Hairer, E., Lubich, C. y Wanner, G. (2003). Integración numérica geométrica ilustrada por el método de Störmer-Verlet. Acta Numerica, 12, 399-450.
  20. ^ Nievergelt, Jürg (1964). "Métodos paralelos para la integración de ecuaciones diferenciales ordinarias". Comunicaciones de la ACM . 7 (12): 731–733. doi : 10.1145/355588.365137 . S2CID  6361754.
  21. ^ "Parallel-in-Time.org". Parallel-in-Time.org . Consultado el 15 de noviembre de 2023 .
  22. ^ Higham, NJ (2002). Precisión y estabilidad de algoritmos numéricos (Vol. 80). SIAM.
  23. ^ Miranker, A. (2001). Métodos numéricos para ecuaciones rígidas y problemas de perturbación singular: y problemas de perturbación singular (Vol. 5). Springer Science & Business Media.
  24. ^ Markus Kunze; Tassilo Kupper (2001). "Sistemas dinámicos no uniformes: una descripción general". En Bernold Fiedler (ed.). Teoría ergódica, análisis y simulación eficiente de sistemas dinámicos . Springer Science & Business Media. pág. 431. ISBN 978-3-540-41290-8.
  25. ^ Thao Dang (2011). "Pruebas basadas en modelos de sistemas híbridos". En Justyna Zander, Ina Schieferdecker y Pieter J. Mosterman (ed.). Pruebas basadas en modelos para sistemas integrados . CRC Press. pág. 411. ISBN 978-1-4398-1845-9.
  26. ^ Brezinski, C., y Wuytack, L. (2012). Análisis numérico: desarrollos históricos en el siglo XX. Elsevier.
  27. ^ Butcher, JC (1996). Una historia de los métodos de Runge-Kutta. Matemáticas numéricas aplicadas, 20(3), 247-260.
  28. ^ Ascher, UM, Mattheij, RM y Russell, RD (1995). Solución numérica de problemas de valores en la frontera para ecuaciones diferenciales ordinarias. Sociedad de Matemáticas Industriales y Aplicadas.

Referencias

Enlaces externos