sábado, 25 de mayo de 2019

Método de Adams-Moulton de tres pasos


Método de Adams-Moulton de tres pasos
http://www.frsn.utn.edu.ar/gie/an/mnedo/35_multipasos.html



Métodos multipasos
Los métodos estudiados hasta ahora son llamados métodos de un paso, porque la aproximación de la solución en el punto i + 1 de la malla se obtiene con información proveniente de la aproximación obtenida en el punto i. Aunque hay algunos métodos (Runge-Kutta) que utilizan información en puntos interiores del intervalo [ti, ti+1], no la conservan para utilizarla directamente en aproximaciones futuras. Toda la información que emplean se obtiene dentro del subintervalo en que va a aproximarse la solución.
Como, en el momento de calcular la aproximación en el punto ti+1,  la solución aproximada está disponible en los puntos to, t1, …, ti de la malla, antes de obtener la aproximación en ti+1, y como el error |wi – y(ti)| tiende a aumentar con i, parece razonable desarrollar métodos que usen estos datos precedentes más precisos al obtener la solución en ti+1. Se conocen como métodos multipasos a aquellos que emplean la aproximación en más de uno de los puntos de red precedentes para determinar la aproximación en el punto siguiente.

Definición:
Un método multipasos de p pasos para resolver el problema de valor inicial
(1)
es aquel método cuya ecuación de diferencias para obtener la aproximación wn+1 en el punto tn+1 de la malla definida por {tn = a + h n, n = 1, ..., N}, con h = (b-a)/N, puede representarse por medio de la siguiente ecuación, donde p es un entero mayor que 1:
(2)
para n = p-1, p, …, N-1, donde h = (b-a)/N, a0, a1, …, ap, b-1, …, bp son constantes y se especifican los valores iniciales w0 = a0, w1 = a1, w2 = a2, …, wp-1 = ap-1. Se toma generalmente de la condición inicial el valor w0 = a (el dato de la condición inicial) y los demás valores necesarios para iniciar el método se obtienen con un método de Runge-Kutta u otro método de un paso.
Cuando b-1= 0, el método es explícito o abierto, ya que la ecuación (2) da de manera explícita el valor de wn+1 en función de los valores previamente determinados.
Cuando b-1≠ 0, el método es implícito o cerrado, ya que en la ecuación (2), wn+1 se encuentra en ambos lados, quedando especificado sólo implícitamente. En la implementación de un método implícito, se debe resolver la ecuación implícita para wn+1. No es evidente que siempre se pueda resolver esta ecuación, ni que siempre se obtenga una solución única para wn+1. En caso que no se pueda resolver la ecuación, se deberá recurrir a algún método de aproximación de ecuaciones no lineales (Newton, por ejemplo).
Aproximación polinomial
Para relacionar el método de resolución del PVI con la aproximación polinomial, se debe establecer una relación entre los coeficientes. Un polinomio de grado k está determinado de manera única por k+1 coeficientes. El método de resolución del PVI planteado tiene  2 p + 3 coeficientes; por lo tanto, los coeficientes deben ser elegidos de manera que: 
 
2 p + 3 ≥  k + 1
(3)
El orden del método numérico es el grado más alto k de un polinomio en t tal que la solución numérica coincide con la solución exacta. Los coeficientes de la fórmula del método pueden obtenerse eligiendo un conjunto base de funciones {f1, f2, ..., fk} definidas por
(4)
y que resuelvan el conjunto de ecuaciones multipasos
(5)
para todo j = 0, 1, ..., k. (porque si fes solución de la ecuación, entonces fj' = f(t, f), y f(tn-i)= wn-i )
Este método puede aplicarse para derivar varios métodos de resolución numérica de PVI de primer orden.
Consideremos por ejemplo, el caso donde p = 0 y k = 1. Estos valores de p y k satisfacen la ecuación (3) (con el signo >), por lo tanto es posible determinar coeficientes que devuelvan como solución exacta un polinomio de grado 1. El conjunto base  para k = 1 es:
f0(t) = 1,   f1(t) = t 
(6)
cuyas derivadas son:
f0'(t) = 0,   f1'(t) = 1 
(7)
y la ecuación multipasos resulta:
 
(8)
Representando el método multipasos de la ecuación (6) en términos de las funciones base, resultan las siguientes ecuaciones:
 
(9)
Reemplazando en la ecuación (9) la elección de las funciones base realizada en (6), se tienen las ecuaciones:
  
(10)
De la primera ecuación en (10), resulta a0 = 1. Teniendo esto en cuenta, y recordando que h = tn+1 - tn, de la segunda ecuación en (10) tenemos:
  b-1 + b0 = 1
(11)
Esta elección de orden y grado, nos conduce entonces a dos ecuaciones con tres incógnitas:
        a0 = 1
b-1 + b0 = 1
(12)
Eligiendo por ejemplo, a0 = 1, b-1 = 0 y b0 = 1, se obtiene el ya conocido Método de Euler:
 
  wn+1 = wn +h f(wn , tn )
(13)
Otra elección posible sería a0 = 1, b-1 = 1 y b0 = 0. En este caso, se obtiene otro método para aproximar PVI de primer orden:
 
  wn+1 = wn +h f(wn+1 , tn+1)
(14)
En este caso, el método resultante es llamado  generalmente Euler hacia atrás, o Euler implícito, puesto que wn+1está definido por la ecuación (14) en forma implícita:
Si ahora se eligen los valores p = 0 y k = 2, se tiene que 2p + 3 = k + 1. En este caso, los coeficientes pueden ser determinados de manera única.  Eligiendo como funciones base
 
f0(t) = 1,   f1(t) = t, f2(t) = t2 
(15)
sus derivadas son:
f0'(t) = 0,   f1'(t) = 1,  f2'(t) = 2t,
(16)
y la ecuación multipasos, para cada una de ellas, resulta:
 
(17)
que, reemplazando por los valores en (15) y (16), resulta en el sistema:
 
(18)
Haciendo tn = 0, resulta tn+1 = h, por lo tanto, resolviendo el sistema, se tiene la solución única: a0 = 1, b0 = 1/2, b-1 = 1/2, resultando entonces la fórmula:
 
(19)
Esta fórmula de segundo orden, implícita, se llama método trapezoidal. Se llama así ya que el segundo término de la ecuación (19) puede interpretarse como el área bajo un trapezoide. Esta fórmula es considerada de segundo orden, porque  se requiere información en dos puntos: tn y tn+1.
Hasta aquí los ejemplos que se desarrollaron resultaron métodos de un paso.
Según cómo se eligen los coeficientes ai y ben la fórmula (2), resultan distintas fórmulas multipasos. Hay dos grandes familias de métodos, los métodos de Adams y los métodos de Gear. Ambas familias proveen fórmulas de métodos multipasos propiamente dicho,  porque utilizan información en más de un punto previo de la malla.  Veamos ahora los métodos de Adams, los métodos de Gear son utilizados para ecuaciones rígidas, y se describen en la pestaña correspondiente.
Métodos de Adams
La fórmula general de los métodos multipasos está dada por:
 
(20)
Se puede demostrar que esta fórmula da el valor exacto para y(tn+1) cuando y(t) es un polinomio de grado menor o igual a k si se cumplen las siguientes restricciones de exactitud:
 
(21)
Las restricciones de exactitud dadas en (21) suelen ser llamadas restricciones de consistencia. Los métodos numéricos multipasos dados por  (20) que cumplen la condición (21) se dicen "consistentes".Para un polinomio dado de grado k, estas restricciones pueden ser satisfechas por una amplia variedad de posibilidades. Muchas familias de métodos han sido desarrolladas predefiniendo algunas de las relaciones entre los coeficientes.
La familia de los métodos de Adams, por ejemplo,  está definida mediante la asignación del valor 0 a los coeficientes a1, a2, ..., ap de la fórmula (20), quedando sólo el coeficiente a0, que deberá tomar el valor 1 para cumplir con la primera de las restricciones de consistencia (21), y se toma p = k -1,. Así, la fórmula de los métodos de Adams, queda reducida a:
 
(22)
Los métodos de Adams, dados por la fórmula (22), pueden ser clasificados en dos grupos, explícitos o implícitos, según cómo se haga la elección del coeficiente b-1.
La clase de los métodos explícitos de Adams, también llamados métodos de "Adams-Bashforth", se obtiene haciendo b-1 = 0 y los restantes bi, se obtienen aplicando la segunda restricción de consistencia de (21), tomando p = k-1):
 
(23)
En forma matricial, el sistema dado en (23) resulta:
 
(24)
Seleccionando el valor de k deseado (y consecuentemente, el orden p que es igual a k-1) y resolviendo el sistema (24), se obtienen los restantes coeficientes bi de la fórmula (23), para obtener la fórmula de el método de Adams-Bashforth de orden p.
La versión implícita de los métodos de Adams, llamados métodos de "Adams-Moulton", se obtiene con b-1  0 y los restantes bi, se obtienen aplicando la segunda restricción de consistencia de (21) (p = k-2):
 
(25)
En forma matricial, el sistema dado en (25) resulta:
 
(26)
Seleccionando el valor de k deseado (y consecuentemente, el orden p que es igual a k-1) y resolviendo el sistema (26) se obtienen los restantes coeficientes bi de la fórmula (25), para obtener la fórmula de el método de Adams-Moulton de orden p.
Se dan a continuación los métodos de Adams-Bashforth de cuatro pasos, y el de Adams-Moulton de tres pasos.

Método de Adams-Bashforth de cuatro pasos
Se calculan los valores iniciales w0 = a0, w1 = a1, w2 = a2, w3 = a3 (con el método de Runge-Kutta), y se aplica la fórmula:
(27)
Se deja como ejercicio verificar, resolviendo el sistema dado en (24) para p = 4, los coeficientes de la ecuación (27).
Puede demostrarse que el error local de truncamiento |w– y(ti)| en el método de Adams-Bashforth de cuatro pasos está dado por la expresión:
(28)
para algún μi∈[ti-3, ti+1]. Es decir, este método es  del orden de h4.
Se muestra a continuación el pseudocódigo del algoritmo de este método. Los parámetros de entrada de este algoritmo son: los extremos del intervalo inicial a y b, el valor de la condición inicial, a, y la cantidad de puntos a considerar en la malla, N.
Método de Adams-Moulton de tres pasos
Se calculan los valores iniciales w0 = a0, w1 = a1, w2 = a2 (con el método de Runge-Kutta), y se aplica la fórmula:
(29)
Se deja como ejercicio verificar los coeficientes de la fórmula (29), resolviendo el sistema de ecuaciones dado en (26).
Puede demostrarse que el error local de truncamiento |w– y(ti)| en el método de Adams-Moulton de tres pasos está dado por la expresión:
 
(30)
para algún μi∈[ti-2, ti+1]. Es decir, este método también es  del orden de h4. Por ello se comparan siempre los resultados de aplicar el método de Adams-Bashford de n + 1 pasos, contra el método de Adams-Moulton de n pasos.
Se muestra a continuación el pseudocódigo del algoritmo de este método.
Este método requiere menos puntos y tiene la misma precisión que el anterior, pero tiene la dificultad de tener que resolver en cada paso una ecuación, que puede ser no lineal, en cuyo caso se deberá aplicar un método de aproximación de soluciones de ecuaciones no lineales.
Ejemplo
Consideremos el siguiente problema de valor inicial:
 
y' =  y - t2 + 1,    0  ≤  t  ≤  2, y(0) = 0,5
(31)
Se aplicarán los métodos de Adams-Bashforth de cuatro pasos (A-B) y el de Adams-Moulton de tres pasos (A-M), ambos con tamaño de paso h = 0,2 para la malla en el dominio [0, 2]. Con este tamaño de paso, la malla de puntos resulta:
 
ti = 0,2.i, para i = 0, ..., 10.
(32)
 El método de A-B aplicado a este problema, siendo f(t,y) = y - t2 + 1 y tomando ti = 0,2 i, tiene por ecuación de diferencias:
 
(33)
Análogamente, El método de A-M aplicado a este problema, con la misma expresión para f(t,y) y los mismos valores para los ti, tiene por ecuación de diferencias:
 
(34)
Se ve claramente aquí que el método de A-M tiene por ecuación de diferencias una expresión implícita para wi+1. Se puede despejar en este caso la incógnita wi+1, para obtener la ecuación:
 
(35)
Los resultados que se obtuvieron aplicando estas ecuaciones, se muestran en la siguiente tabla. Los valores exactos provienen de la solución exacta del PVI, y(t) = (t+1)2 - 0,5 et. No tiene sentido mostrar la comparación de estos valores en forma gráfica, por la gran precisión de los resultados obtenidos, que hace que los errores sean del orden de 10-3.

Tabla 1
En el ejemplo, el método implícito de Adams-Moulton dio mejores resultados que el método explícito de Adams-Bashforth del mismo orden. Generalmente ocurre esto, pero los métodos implícitos tienen la debilidad intrínseca de que primero deben convertir algebraicamente el método en una representación explícita de wi+1. Este procedimiento no siempre es posible, como ocurre por ejemplo en el siguiente problema elemental de valor inicial:
 
(36)
Dado que f(t)= ey, el método de Adams-Moulton de tres pasos tiene como ecuación de diferencia la siguiente:
 
(37)
y de esta ecuación no se puede despejar wi+1. Para resolver la ecuación (37), se deberá aplicar algún método numérico.
Método predictor-corrector
En la práctica, los métodos multipasos implícitos no se emplean como se mostró aquí. Se utilizan para mejorar las aproximaciones obtenidas con métodos explícitos. La combinación de un método explícito con uno implícito recibe el nombre de método predictor-corrector: El método explícito predice una aproximación, y el método implícito la corrige.
Consideremos el siguiente método de cuarto orden para resolver un problema de valor inicial. El primer paso consiste en calcular los valores iniciales w0, w1,w2 y w3 para el método de Adams-Bashforth de cuatro pasos. Para ello, se puede usar el método de Runge-Kutta. El siguiente paso consiste en calcular una primer aproximación w4(0) en el punto t4 de la malla usando como predictor el método de Adams-Bashforth:
 
(38)
Luego, se mejora esta aproximación utilizando el método de Adams-Moulton de tres pasos como corrector, introduciendo el valor de w4(0) en el lado derecho:
 
(39)
En este procedimiento, la única nueva evaluación de la función que se necesita calcular es f(t4, w4(0)) en la ecuación del corrector. El resto de las evaluaciones de f ya habían sido calculadas para la aproximación anterior.
Luego, se utiliza el valor w4(1) como aproximación de y(t4), y se repite la técnica que consiste en utilizar como predictor el método de Adams-Bashforth y como corrector el de Adams-Moulton para obtener w5(0) y w5(1), las aproximaciones inicial y mejorada de y(t5), y así sucesivamente.
A continuación se presenta el pseudocódigo del método predictor-corrector de Adams de cuatro pasos.
Ejemplo
Dado el problema de valor inicial del ejemplo anterior:
 
y ‘ = y - t2 +1, 0 ≤ t ≤ 2, y(0) = 0,5
(40)
aplicamos ahora el método predictor-corrector de Adams dado en las fórmulas (38) y (39), habiendo aplicado previamente Runge-Kutta para determinar los valores de arranque para el predictor-corrector, y se obtuvieron los valores que se muestran en la siguiente tabla. En la misma se listan también los valores correspondientes de la solución exacta, y el error de truncamiento local.

Tabla 2
Se puede ver, comparando los resultados mostrados en las tablas 1 y 2, que el método predictor-corrector mejora los resultados obtenidos con el método de Adams-Bashforth.

No hay comentarios:

Publicar un comentario