solucion numerica de ecuaciones diferenciales ordinarias

72
SOLUCION NUMERICA DE ECUACIONES DIFERENCIALES ORDINARIAS. Roland England Marzo 2003.

Upload: halien

Post on 31-Jan-2017

267 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: solucion numerica de ecuaciones diferenciales ordinarias

SOLUCION NUMERICA DE ECUACIONES

DIFERENCIALES ORDINARIAS.

Roland England

Marzo 2003.

Page 2: solucion numerica de ecuaciones diferenciales ordinarias

1

Page 3: solucion numerica de ecuaciones diferenciales ordinarias

Contents

1 Introduccion 41.1 Repaso de las propiedades de ecuaciones diferenciales ordi-

narias y de sus soluciones. . . . . . . . . . . . . . . . . . . . . 41.1.1 Soluciones analıticas y numericas. . . . . . . . . . . . 41.1.2 Sistemas de ecuaciones, y ecuaciones de orden mayor

que uno. . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.3 Soluciones generales y condiciones iniciales. . . . . . . 61.1.4 Singularidades y ecuaciones implıcitas. . . . . . . . . . 71.1.5 Teorema de existencia. . . . . . . . . . . . . . . . . . . 9

1.2 Ecuaciones lineales, linealizacion de ecuaciones no-lineales, yestabilidad del problema. . . . . . . . . . . . . . . . . . . . . 101.2.1 Solucion general de ecuaciones lineales. . . . . . . . . 101.2.2 Aplicacion a la primera variacion de ecuaciones no-

lineales, y estabilidad del problema. . . . . . . . . . . 12

2 CONCEPTOS BASICOS PARA PROBLEMAS CON CONDI-CIONES INICIALES. 142.1 Metodo de Euler con analisis del error. . . . . . . . . . . . . 14

2.1.1 Metodo de Euler. . . . . . . . . . . . . . . . . . . . . 142.1.2 Pruebas numericas. . . . . . . . . . . . . . . . . . . . . 152.1.3 Una cota para el error. . . . . . . . . . . . . . . . . . . 162.1.4 Comprobacion numerica. . . . . . . . . . . . . . . . . 192.1.5 Estimacion del error. . . . . . . . . . . . . . . . . . . . 19

3 ESTABILIDAD Y METODOS IMPLICITOS 213.1 Estabilidad del problema con condiciones iniciales . . . . . . 21

3.1.1 Problemas estables con cota grande para el error. . . . 213.1.2 Ecuaciones Diferenciales ”stiff”, y el metodo de Euler. 22

2

Page 4: solucion numerica de ecuaciones diferenciales ordinarias

3.1.3 Un metodo con region de estabilidad absoluta masgrande. . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 METODOS CON UN SOLO PASO 284.1 Clasificacion de metodos . . . . . . . . . . . . . . . . . . . . . 28

4.1.1 Metodos con un solo paso y con pasos multiples. . . . 284.1.2 El metodo de la serie de Taylor. . . . . . . . . . . . . 294.1.3 Metodos de extrapolacion. . . . . . . . . . . . . . . . . 294.1.4 Metodos del tipo Runge-Kutta. . . . . . . . . . . . . . 34

5 METODOS DE RUNGE-KUTTA Y CONTROL DEL ER-ROR. 355.1 Metodos del tipo Runge-Kutta. . . . . . . . . . . . . . . . . . 35

5.1.1 Forma autonoma, y notacion. . . . . . . . . . . . . . . 355.1.2 Metodo del punto medio por extrapolacion. . . . . . . 365.1.3 Metodos del tipo Runge-Kutta de orden dos. . . . . . 365.1.4 La clase de metodos de orden cuatro. . . . . . . . . . 375.1.5 Suposiciones que permiten el ajuste practico del paso. 415.1.6 Estimacion del error de truncamiento local. . . . . . . 42

6 METODOS CON PASOS MULTIPLES 456.1 Introduccion a los metodos con pasos multiples. . . . . . . . . 45

6.1.1 Los metodos de Adams. . . . . . . . . . . . . . . . . . 456.1.2 Estabilidad de los metodos de pasos multiples. . . . . 50

7 FORMULACION DE NORDSIECK Y METODOS PARAECUACIONES ”STIFF” 547.1 Una tecnica para cambiar el paso, y las formulas de Gear . . 54

7.1.1 La formulacion de Nordsieck. . . . . . . . . . . . . . . 547.1.2 Estabilidad y metodos para ecuaciones ”stiff”. . . . . 59

8 METODOS AUTOMATICOS. 648.1 Diseno de rutinas con un mınimo de parametros de control. . 64

8.1.1 Necesidades para un algoritmo automatico. . . . . . . 64

3

Page 5: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 1

Introduccion

1.1 Repaso de las propiedades de ecuaciones dife-renciales ordinarias y de sus soluciones.

1.1.1 Soluciones analıticas y numericas.

El problema mas sencillo en ecuaciones diferenciales ordinarias es el de en-contrar una funcion y(t) cuya derivada

.y=

dy

dt= f(t, y) (1.1)

donde f(t, y) es una funcion dada de t, y. En el caso particular donde f(t, y)no depende de y, y se escribe f(t), la solucion formal es

y =∫f (t) dt. (1.2)

Sin embargo, atras de esta notacion quedan dos problemas inmediatos,uno facil de resolver, y el otro causa de muchas dificultades practicas.

Primero, la ecuacion (1.2) no se determina de manera unica, pues sise le suma una constante arbitraria al lado derecho, sigue satisfaciendo laecuacion (1.1). Se resuelve este problema fijando el valor de y = y0 cuandot = t0. Entonces, en lugar de la integral indefinida de (1.2), se tiene laintegral definida

y(t) = y0 +∫ t

t0f(τ)dτ (1.3)

que es la solucion unica.

4

Page 6: solucion numerica de ecuaciones diferenciales ordinarias

El segundo problema es que la integral en (1.2) o (1.3) no puede gen-eralmente evaluarse explıcitamente como una expresion analıtica para y(t).Es posible solo para ciertas formas especıficas de la funcion f(t), y aun ası,muchas veces es necesario adivinar el resultado, y verificarlo mediante laecuacion ( 1.1).

Ejemplo 1.1.1 Si f(t) = 1/(1+et sin2 t) no se conoce una integral explıcita,y solo puede resolverse mediante integracion numerica.

Ejemplo 1.1.2 Sea f(t) = 1 + et sin2 t.Entonces f(t) = 1 + 1

2et(1 − cos 2t).∫

f(t)dt = t+ 12e

t[1 − 1

5(cos 2t+ 2 sin 2t]+ constante arbitrario.

Cuando f depende explıcitamente de y, como en ecuacion (1.1), puedepensarse que el primer problema desaparece, pues al sumar una constantea y, se cambia f(t, y), sin cambiar

.y. Sin embargo, al analizar el caso, hay

precisamente el mismo nivel de arbitrariedad, lo que puede resolverse fijandootra vez el calor de y(t0).

Por otra parte, es de esperarse que el segundo problema vuelva aunmas difıcil cuando y aparece explıcitamente en f . ¡Aun no se conoce elintegrando en ecuacion (1.3) antes de encontrar la solucion!. El hecho esque la solucion queda bien determinada, excepto en la vecindad de ciertospuntos llamados ”singularidades” donde f(t, y) tiende hacia infinito o tomauna forma indefinida tal como 0/0.

Sin embargo, es cierto que el problema es mas difıcil, y en los casossencillos que pueden reducirse por analisis a unas integraciones simples talescomo (1.3), en el pasado se ha considerado que vale la pena el trabajo detal reduccion.

1.1.2 Sistemas de ecuaciones, y ecuaciones de orden mayorque uno.

Antes de considerar la solucion del problema (1.1), vale la pena mencionardos generalizaciones.

Primero, y, f pueden ser vectores de dimension n, o sea (1.1) serıa unanotacion reducida para el sistema de ecuaciones

5

Page 7: solucion numerica de ecuaciones diferenciales ordinarias

.y1= f1(t, y1, y2, ..., yn).y2= f2(t, y1, y2, ..., yn)

....yn= fn(t, y1, y2, ..., yn)

(1.4)

donde f1, f2, ..., fn son funciones distintas de los n+1 argumentos. No todoslos argumentos deben de aparecer explıcitamente en todas las funciones.

En segundo lugar, puede tenerse una ecuacion de orden mayor, en la cual

no es.y sino una derivada mayor y(n) =

dny

dtnque se especifica, como funcion

de t, y, y de las derivadas de ordenes mayores, de esta forma:

y(n) = f(t, y,.y,

..y, ..., y(n−1)). (1.5)

Afortunadamente, esta generalizacion no es diferente, como puede verse alescribir

y1 = y , yi = y(i−1) , i = 2, 3, ..., n (1.6)

luego se puede reemplazar la ecuacion (1.5) por el sistema de ecuaciones deprimer orden

.y1= y2.y2= y3

....yn−1= yn

.yn= f(t, y1, y2, ..., yn)

(1.7)

que es una forma particularmente sencilla de las ecuaciones (1.4). Normal-mente, se supone que ecuaciones de orden mayor se reducen a sistemas deprimer orden para la solucion numerica, aun que algunos metodos se pre-sentaran para tratar directamente ecuaciones de orden mayor.

1.1.3 Soluciones generales y condiciones iniciales.

Volviendo al tema del nivel de arbitrariedad de la solucion de (1.1) o de(1.4), se considerara explıcitamente el caso (1.1) en terminos de curvas en elespacio de dos dimensiones con coordenadas t, y, pero todos los argumentosseran validos para (1.4) en un espacio de n+1 dimensiones con coordenadast, y1, y2, ..., yn.

6

Page 8: solucion numerica de ecuaciones diferenciales ordinarias

Considerese cualquier punto inicial especificado (t0, y0) [o en caso de unsistema (t0, y10, y20, ..., yno)]. Si la funcion f en (1.1) [o cualquiera de lasfunciones fi en (1.4)] no esta definida en este punto, entonces este punto nopuede encontrarse en una de las soluciones de (1.1). Por otra parte, si f [otodas las fi] esta definida en este punto, entonces fija el valor de

.y [o de to-

das las.yi], y ası la direccion de movimiento del punto cuando t se aumenta.

En un punto vecino en esta direccion, una direccion (un poco diferente) demovimiento se determina de manera similar, y se ve intuitivamente que lacurva de la solucion que empieza en este punto inicial se encuentra deter-minada de manera unica, hasta cuando, posiblemente, llega a un punto enel cual f [o una de las fi] no esta definida, o sea, una singularidad. Si seempieza en un punto inicial distinto, se encuentra una curva de soluciondistinta, que no puede tener una interseccion con la primera en un puntoregular, como la direccion de la curva en tal punto es unica. Sigue que, en elcaso general, pueden especificarse arbitrariamente las n+1 coordenadas delpunto inicial (al menos dentro de la region de definicion de la funcion f), yque para cada punto se obtiene una curva unica de solucion. Desde luego,hay una simple infinidad de puntos en cada una de estas curvas, lo que dejan parametros para especificar la solucion de manera unica. Ademas, sin con-siderar las posibles dificultades en el caso de la existencia de singularidades,estos parametros pueden ser los n valores y1(t0), y2(t0), ..., yn(t0) para un t0fijo, arbitrario, que es posible tomar como cero, cambiando, si es necesario,el origen de t.

1.1.4 Singularidades y ecuaciones implıcitas.

Para ver un poco las dificultades que pueden presentarse, se dan a contin-uacion unos ejemplos sencillos de problemas con singularidades.

Ejemplo 1.1.3 Si.y= −t/y hay una solucion unica por cada punto en el

cual no se tiene y = 0. En la recta y = 0, f(t, y) es infinita excepto parat = 0, cuando no esta definida. Es facil verificar que las soluciones son loscırculos concentricos t2 + y2 = c, que claramente no tienen intersecciones.Ademas, es posible incluir las singularidades de la recta y = 0, en las cualeslos cırculos tienen tangente vertical, por argumentos de continuidad. Sinembargo, no hay solucion que pasa por el origen.

Ejemplo 1.1.4 Si.y= y/t hay una solucion unica por cada punto, excepto

en la recta t = 0, en donde f(t, y) es infinita (con excepcion del punto (0, 0)

7

Page 9: solucion numerica de ecuaciones diferenciales ordinarias

en donde no esta definida). Estas soluciones son las rectas y = ct, quepasan todas por la singularidad en (0, 0), el unico punto en el cual tieneninterseccion. La recta t = 0 tiene tangente vertical, y puede considerarsetambien como una solucion.

Ejemplo 1.1.5 Si.y= −y/t hay otra vez una solucion unica por cada punto

en el cual t �= 0, pero ahora las soluciones son las hiperbolas rectangularesty = c. La recta particular t = 0 puede considerarse como una solucion,parte de la hiperbola degenerada con c = 0 (que constituyen las dos rectast = 0, y = 0). Pasan ası dos soluciones por la singularidad (0, 0).

Ejemplo 1.1.6 Si.y= t/y se tiene a primera vista una situacion similar

a la del ejemplo 1.1.3. Esta vez las soluciones son hiperbolas rectangularest2 − y2 = c, y para el caso particular c = 0, esto degenera para formar lasdos rectas y = ±t con interseccion en el punto singular (0, 0).

Ejemplo 1.1.7 Si.y= (t+y)/(t−y) hay una solucion unica por cada punto

excepto en la recta y = t, en la cual f(t, y) es en general infinita, pero noesta definida en el origen (0, 0). Escribiendo

t = r cos θy = r sin θ

se obtiene

.r sin θ + r

.θ cos θ

.r cos θ − r

.θ sin θ

=cos θ + sin θcos θ − sin θ

lo cual se simplifica para dar.r= r

.θ, o sea dr

dθ = r, cuyas soluciones son lasespirales equiangulares r = ceθ. Todas estas tienen tangentes verticales enla recta y = t, o sea cuando θ = π

4 o 5π4 , estos puntos no siendo singulari-

dades esenciales. Sin embargo, aunque todas las curvas convergen hacia lasingularidad en (0, 0), no hay solucion en este punto.

Singularidades pueden tambien presentarse cuando las ecuaciones difer-enciales no vienen en una de las formas explıcitas consideradas. Tratandoel caso mas sencillo de una sola ecuacion de primer orden, esto puede pre-sentarse en la forma implıcita

g(t, y,.y) = 0 (1.8)

8

Page 10: solucion numerica de ecuaciones diferenciales ordinarias

donde g es una funcion dada de sus tres argumentos. La resolucion de (1.8)para

.y, para ponerla en la forma (1.1) puede presentar problemas, y no

siempre es factible.Existen metodos, similares al metodo de Gear, para resolver sistemas

implıcitos directamente, pero todavıa tienen unos problemas no-resueltos, yno se presentaran aquı. Siempre se supondra que se tienen las ecuaciones enla forma (1.4) , o a veces (1.5).

Ejemplo 1.1.8 Considerese la ecuacion.y2

+y2 − 1 = 0 que se satisface siy = sin(t + c)para cualquier valor del constante c. Si se resuelve para

.y se

tiene.y= ±√1 − y2, una funcion con dos valores para | y |< 1, un valor

para | y |= 1, y ningun valor real para | y |> 1. La solucion general dadanecesita utilizar los dos valores de la raız cuadrada. Las lıneas y = ±1 sonlineas de singularidades, en las cuales la funcion cambia de signo. Son lasenvolventes de las curvas de solucion, que sı tienen intersecciones, como laderivada tiene dos valores posibles en cualquier punto. Las envolventes con-stituyen ellas mismas unas soluciones que no se incluyen en la forma generalde la solucion. Es posible tambien construir otras soluciones, con derivadascontinuas, por partes de la solucion general, y partes de las envolventes. Detodos modos, la solucion no es unica, una vez que se llega a las singulari-dades. Ademas, si, por errores tales como redondeo, la aproximacion paray que se obtiene de la computadora es mayor que uno en valor absoluto, suderivada ya no tiene valor real. Ası, aun una ecuacion tan sencilla puedepresentar problemas en la solucion numerica.

1.1.5 Teorema de existencia.

Hay un teorema de existencia y unicidad de la solucion del problema (1.1)con una condicion inicial y(t0) dada. Esencialmente define que es un puntoregular, dejando que un punto inicial que no satisface las condiciones delteorema puede ser una singularidad. Sin dar la forma mas comprensiva, setiene:

Teorema 1.1.1 Dado la ecuacion diferencial.y= f(t, y), donde f(t, y) es

una funcion contınua para 0 ≤ t ≤ b (todo y), y existe un constante L talque

| f(t, y) − f(t, z) |≤ L | y − z |

9

Page 11: solucion numerica de ecuaciones diferenciales ordinarias

para 0 ≤ t ≤ b (todo y, z) — Condicion de Lipschitz — entonces existe unafuncion contınua, diferenciable, y unica y(t) tal que

.y (t) = f(t, y(t)) ,

y(0) = y0.

La demostracion puede encontrarse en los libros sobre la teorıa de ecua-ciones diferenciales ordinarias.

La condicion de Lipschitz es mas fuerte que una condicion de continuidadcon respecto a y, pero no requiere que f(t, y) tenga derivada contınua conrespecto a y, el constante de Lipschitz L es una cota para la derivada parcial∂f∂y .

Es posible plantear un teorema analogo al Teorema 1.1.1, si las condi-ciones se satisfacen para y, z dentro de una region finita que contiene y0.Ademas, puede aplicarse a sistemas de ecuaciones, donde y, z, f son vec-tores de dimension n, si los valores absolutos se reemplazan por normas.

1.2 Ecuaciones lineales, linealizacion de ecuacionesno-lineales, y estabilidad del problema.

1.2.1 Solucion general de ecuaciones lineales.

Para terminar esta introduccion, se mencionara la forma particular de lasolucion general para un sistema lineal, o sea un sistema en el cual los yi ysus derivadas aparecen linealmente, sin potencias o productos. Tal sistemapuede escribirse

.y= A(t)y + b(t) (1.9)

en lo cual A(t) es una matriz (nxn) y b(t) un vector de n elementos, las dosfunciones de t, elemento por elemento. Si se tiene una solucion particular

y = Y (t) (1.10)

de (1.9), y n soluciones linealmente independientes

y = Zr(t) , r = 1, 2, ..., n (1.11)

de la ecuacion homogenea

.y= A(t)y (1.12)

10

Page 12: solucion numerica de ecuaciones diferenciales ordinarias

que se obtiene de (1.9) reemplazando b(t) por un vector de n ceros, entoncesla solucion mas general posible de (1.9) es de la forma

y = Y (t) +n∑

r=1

CrZr(t) (1.13)

en la cual los Cr son constantes que pueden tomar cualquier valor fijo. Elprimer termino en el lado derecho de (1.13) se llama Integral Particular, yla sumatoria se llama Funcion Complementaria.

Se ve que (1.13) es efectivamente una solucion de (1.9) por sustituciondirecta:

.y −A(t)y − b(t) =

.Y −A(t)Y − b(t) +

n∑r=1

Cr

[ .Zr −A(t)Zr

]= 0 (1.14)

Para demostrar que la solucion general es de la forma (1.13) se considerauna solucion

y = W (t) (1.15)

de (1.9), y la funcion

Z0(t) = Y (t) −W (t). (1.16)

Se ve que Z0(t) es una solucion de (1.12), y por la misma sustitucion comoantes

y = b0Z0(t) +n∑

r=1

brZr(t) (1.17)

es una solucion de (1.12) para valores cualesquiera de los n + 1 constantesb0, b1, ..., bn. Como la solucion general no puede tener mas de n constantesarbitrarios, una de las funciones Z0(t), Z1(t), ..., Zn(t) puede expresarse comocombinacion lineal de las demas, para permitir la eliminacion de uno de losconstantes en (1.17). Concretamente, debe existir una relacion de la forma

a0Z0(t) +n∑

r=1

arZr(t) = 0 (1.18)

en la cual no todos los coeficientes a0, a1, ..., an son ceros. No es posibleque a0 = 0, como las n funciones Z1, Z2, ...., Zn se tomaron linealmenteindependientes. Entonces, se tiene

11

Page 13: solucion numerica de ecuaciones diferenciales ordinarias

W (t) = Y (t) − Z0(t)= Y (t) +

∑nr=1

ara0Zr(t)

(1.19)

utilizando (1.18). Como W (t) se tomo como una solucion cualquiera de(1.9), se tiene que la solucion general es de la forma (1.13), con Cr = ar/a0.

1.2.2 Aplicacion a la primera variacion de ecuaciones no-lineales, y estabilidad del problema.

Si se tiene un sistema no-lineal (1.4), puede aplicarse este resultado a errorespequenos en la solucion. Supongase que la solucion correcta es z(t), y queen lugar de resolver (1.4), se resuelve

.y= f(t, y) + δ (t) (1.20)

donde δ (t) es un vector de errores, y que el resultado obtenido es

y (t) = z (t) + ε (t) . (1.21)

Se puede linealizar (1.20) para obtener

.z (t) +

.ε (t) = f (t, z) +A (t) ε+ δ (t) + 0

(ε2). (1.22)

En esta ecacion A (t) es la matriz Jacobiana del sistema, que tiene elementoAij =

[∂fi∂yj

]y=z(t)

, y 0(ε2) representa terminos del orden ε2 en la serie de

Taylor para f (t, y). Se sabe que

.z= f (t, z) (1.23)

como z (t) es la solucion correcta. Restando de (1.22), y despreciando losterminos de orden ε2 que se suponen pequenos, se obtiene la ecuacion

.ε= A (t) ε+ δ (t) (1.24)

una ecuacion lineal para ε. Ahora es posible aplicar el resultado anterior, eintroducir el concepto de estabilidad que sera muy importante en este curso.Si unas soluciones de (1.24) vuelven muy grandes en comparacion con z(t),ya no es posible despreciar terminos del orden ε2, pero de todos modos loserrores generan una desviacion grande de la solucion correcta z(t). En estecaso, el problema matematico es inestable. Si todas las soluciones de (1.24)quedan chicos, el problema matematico es estable. En tal caso (y a veces

12

Page 14: solucion numerica de ecuaciones diferenciales ordinarias

unas de las funciones complementarias de (1.24) tienen un decrecimientomuy rapido), es todavıa posible que la solucion numerica presente problemas,o requiera una cantidad excesiva de computacion. Este fenomeno se llama”stiffness” (tiesidad o rigidez), y se relaciona con ciertas restricciones deestabilidad de los metodos numericos.

Ejemplo 1.2.1 Si.y= λy+

.s (t) − λs (t) donde λ es un constante, y s (t)

una funcion dada con derivada.s, la solucion general puede escribirse

y (t) = [y (0) − s (0)] eλt + s (t)

y si y(0) = s(0), la solucion es y(t) = s(t), que puede ser una funcion sinvariaciones rapidas. Si λ es grande positivo, errores pueden generar unadesviacion hasta una solucion ”vecina” para la cual el primer termino no escero, y que desvıa rapidamente de la solucion correcta s(t). Tal problematiene inestabilidad matematica. Si λ es grande negativo, toda solucion vecinaconverge rapidamente hacia s(t) a medida que t aumenta, y el problema esmuy estable. Sin embargo, es ”stiff”, y los metodos numericos con restric-ciones de estabilidad pueden requerir grandes cantidades de computacion.

Cuando se tiene un sistema de ecuaciones, el comportamiento puede sermucho mas complejo. Vale la pena comentar que un problema que es establepara integracion en el sentido de crecimiento de t, puede ser inestable en elsentido de decrecimiento de t.

13

Page 15: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 2

CONCEPTOS BASICOSPARA PROBLEMAS CONCONDICIONESINICIALES.

2.1 Metodo de Euler con analisis del error.

2.1.1 Metodo de Euler.

El problema numerico con condiciones iniciales (lo cual se supone es bienplanteado, por satisfacer las condiciones de un teorema de existencia y uni-cidad) es el de encontrar la solucion de la ecuacion (1.1) para t ≥ t0 dadoy (t0), sobre todo para los casos para los cuales no se conoce una solucionanalıtica, o si se conoce, no es conveniente utilizarla.

En t0, ya se tienen y (t0),.y (t0) = f (t0, y (t0)), y por serie de Taylor

y (t0 + h) = y (t0) + hf (t0, y (t0)) + 0(h2) (2.1)

puede aproximarse por y1 = y (t0) + hf (t0, y (t0)) para una h pequena.Con esta aproximacion, el proceso puede repetirse en t1 = t0 + h para daruna aproximacion de y (t0 + 2h), o sea y2 = y1 + hf (t1, y1). Ası, se puedeproceder paso por paso para obtener una secuencia yi de aproximacionespara y (ti) donde

14

Page 16: solucion numerica de ecuaciones diferenciales ordinarias

ti = t0 + ih,yi+1 = yi + hf (ti, yi) , i = 0, 1, ...

(2.2)

con una magnitud constante de paso, h. No es necesario que los pasos seantodos iguales, y de hecho, en muchos casos es preferible variar h en cada paso.Para el momento, para simplificar el estudio, se considera h constante.

El metodo (2.2) es el mas sencillo de las tecnicas numericas para ecua-ciones diferenciales, y se llama metodo de Euler (explıcito). Si la solucionde (1.1) se requiere en t = b, puede asegurarse que el metodo de Euler deuna aproximacion para y (b), con h constante, y sin interpolacion, tomandoh = b−t0

N , donde N es el numero de pasos que se tomaran para integrar de t0hasta b. Entonces tN = b, yN es una aproximacion para y (tN ). La preguntaesencial es ”¿Que tan buena es esta aproximacion?”. O puede preguntarsesi tiene alguna relacion con y (b).

2.1.2 Pruebas numericas.

La manera mas sencilla de investigar esas preguntas es de aplicar el metodode Euler a un problema del cual se conoce la solucion analıtica.

Ejemplo 2.1.1.y= y , y (0) = 1.

Aplicando el metodo de Euler, o bien ”resolviendo numericamente” laecuacion para y (1) (= e ≈ 2.71828) con varios valores de h, se encuentranlos siguientes resultados:

h yN error (yN − y (1))1 2 −0.718281/4 2.44141 −0.276881/16 2.63793 −0.080351/64 2.69734 −0.02094

Se observa que el error se reduce con h.

El error depende tambien de la ecuacion diferencial. En general, y1 nocoincide con la solucion correcta en t1, sino se encuentra sobre la curva deuna solucion vecina. Cuando i crece, los yi normalmente se encuentran encurvas de soluciones distintas. Si curvas de solucion que se encuentran cercaunas a otras en ciertos valores de ti, i = 0, 1, ..., ellas se desvıan para teneruna separacion grande en tN ; asıes posible que yN sea lejos de y (tN ) .

15

Page 17: solucion numerica de ecuaciones diferenciales ordinarias

2.1.3 Una cota para el error.

La solucion y (t) de (1.1) satisface identicamente

y (ti + h) = y (ti) + hf (ti, y (ti)) − di (2.3)

donde di = −y (ti + h) + y (ti) + hf (ti, y (ti)) es el llamado error de trun-camiento local, o cantidad por la cual y (t) no satisface la ecuacion de dife-rencias (2.2) localmente en ti. El error de truncamiento global εi = yi−y (ti)es la diferencia entre la solucion exacta de la ecuacion de diferencias (2.2) yla solucion correcta de la ecuacion diferencial (1.1). Restando (2.3) de (2.2)se tiene

εi+1 = εi + hf (ti, yi) − hf (ti, y (ti)) + di. (2.4)

Si el problema satisface las condiciones de un teorema de existencia y uni-cidad en una vecindad de yi, y (ti), existe un constante de Lipschitz L , talque

‖f (ti, yi) − f (ti, y (ti))‖ ≤ L ‖yi − y (ti)‖ (2.5)

utilizando una norma vectorial si se tiene un sistema de ecuaciones, o unvalor absoluto si se trata de una sola ecuacion. Con esta condicion, es posiblededucir de (2.4) las desigualdades

‖εi+1‖ ≤ ‖εi‖ + h ‖f (ti, yi) − f (ti, y (ti))‖ + ‖di‖≤ ‖εi‖ + hL ‖yi − y (ti)‖ + ‖di‖≤ ‖εi‖ + hL ‖εi‖ + ‖di‖

(2.6)

y si la condicion de Lipschitz se aplica uniformemente, con constante L, enuna vecindad de la solucion numerica y de la solucion exacta para t en elrango t0 ≤ t ≤ tN , y D = max{‖di‖ : 0 ≤ i < N}, se tiene

‖εi+1‖ ≤ (1 + hL) ‖εi‖ +D , i = 0, 1, ..., N − 1. (2.7)

Se demuestra facilmente que, si ei es la solucion de la ecuacion de diferencias

ei+1 = (1 + hL) ei +D , i = 0, 1, ..., N − 1 (2.8)

con la condicion inicial e0 = ‖ε0‖, entonces

‖εi‖ ≤ ei , i = 0, 1, ..., N (2.9)

16

Page 18: solucion numerica de ecuaciones diferenciales ordinarias

Efectivamente e0 ≥ ‖ε0‖ ≥ 0, y se procede por induccion para demostrarque ei ≥ ‖εi‖ ≥ 0 para i > 0. Si es cierto para un i dado, entonces, restando(2.7) de (2.8).

ei+1 − ‖εi+1‖ ≥ (1 + hL) (ei − ‖εi‖) ≥ 0 (2.10)

y como, por definicion de norma ‖εi+1‖ ≥ 0, se obtiene ei+1 ≥ ‖εi+1‖ ≥ 0,lo que demuestra la proposicion (2.9).

Ademas, la solucion de (2.8) es muy facil de obtener:

ei = (1 + hL)i e0 +D

hL

{(1 + hL)i − 1

}(2.11)

de donde se obtiene la cota

‖εi‖ ≤ (1 + hL)i ‖ε0‖ +D

hL

{(1 + hL)i − 1

}. (2.12)

El primer termino en esta cota representa un error posible debido a ε0, elerror en los valores iniciales, que puede efectivamente existir, o por redondeoen su representacion, o por aproximaciones fısicas o numeticas en el procesoque les genera.

Para eliminar la dependencia de i, se nota que 1+hL ≤ ehL, y se obtiene

‖yi − y (ti)‖ ≤ eihL ‖ε0‖ + DhL

{eihL − 1

}

= e(ti−t0)L ‖ε0‖ + DhL

{e(ti−t0)L − 1

} (2.13)

y como esto es una funcion creciente de ti

‖yi − y (ti)‖ ≤ e(b−t0)L ‖ε0‖ +D

hL

{e(b−t0)L − 1

}(2.14)

para t0 ≤ ti ≤ b. Para desplegar el comportamiento con h, se necesitatodavıa una cota para D.

Si f (t, y), ademas de satisfacer una condicion de Lipschitz en y, conconstante L, satisface una condicion similar en t, con constante K, se obtiene

17

Page 19: solucion numerica de ecuaciones diferenciales ordinarias

‖di‖ = ‖y (ti + h) − y (ti) − hf (ti, y (ti))‖

=∥∥∥∫ ti+h

ti{f (t, y (t)) − f (ti, y (ti))} dt

∥∥∥≤ ∫ t

i+h

ti ‖f (t, y (t)) − f (ti, y (ti))‖ dt

≤ ∫ ti+hti

{‖f (t, y (t)) − f (ti, y (t))‖

+ ‖f (ti, y (t)) − f (ti, y (ti))‖ } dt

≤ ∫ ti+hti

{K (t− ti) + L ‖y (t) − y (ti)‖} dt

≤ h2K/2 + hL maxti≤t≤ti+h

∥∥∥∫ tti

.y (τ) dτ

∥∥∥≤ h2K/2 + hL

∫ ti+hti

∥∥∥ .y (t)

∥∥∥ dt≤ h2

(K/2 + L maxti≤t≤ti+h

∥∥∥ .y (t)

∥∥∥)

(2.15)

de donde

D ≤ h2(K/2 + L maxt0≤t≤b

∥∥∥ .y (t)

∥∥∥) (2.16)

y sustituyendo en (2.14)

‖yi − y (ti)‖ ≤ e(b−t0)L ‖ε0‖ + h{e(b−t0)L − 1

}(K/2L + maxt0≤t≤b

∥∥∥ .y (t)

∥∥∥)(2.17)

Esto demuestra que, si ε0 = 0, la solucion numerica converge hacia lasolucion correcta cuando h tiende a cero. Es posible llegar a esta con-clusion sin suponer que f(t, y) satisface una condicion de Lipschitz en t, lacontinuidad siendo suficiente. Por otra parte, si se sabe que la solucion y (t)tiene una segunda derivada contınua (por ejemplo, si f (t, y)tiene derivadascontınuas), es posible obtener una cota un poco mas fina. En efecto.

di = −12h2 ..y (ti + θh) para un θε [0, 1] (2.18)

es una forma del resto de la serie de Taylor en ecuacion (2.3). En este caso

18

Page 20: solucion numerica de ecuaciones diferenciales ordinarias

D = max0≤i<N ‖di‖ ≤ 12h2maxt0≤t≤b

∥∥∥..y (t)

∥∥∥ (2.19)

que es una cota menor que la de ecuacion (2.16).

2.1.4 Comprobacion numerica.

Para el ejemplo 2.1.1 la solucion correcta es y (t) = et. Tomando b = 1,t0 = 0, ε0 = 0, se tiene K = 0, L = 1, max0≤t≤1

∥∥∥ .

y (t)∥∥∥ = e y la cota (2.17)

da

|εi| ≤ h (e− 1) e ≈ h× 4.67077 , i = 1, 2, ..., N. (2.20)

Por otra parte, utilizando (2.13).

D ≤ 12h2max0≤t≤1

∥∥∥..y (t)

∥∥∥ =12h2e (2.21)

y sustituyendo en (2.14)

|εi| ≤ 12he (e− 1) ≈ h× 2.33539 , i = 1, 2, ..., N. (2.22)

Estas cotas para el error dependen del problema y del metodo, muchasveces son difıciles de determinar, y normalmente son muy pesimistas en lapractica. Se comparan en seguida con los errores efectivos en el caso delejemplo 2.1.1.

h yN εN/h Cota (2.20)/h Cota (2.21)/h1 2 −0.71828 4.67077 2.335391/4 2.44141 −1.10750 4.67077 2.335391/16 2.663793 −1.28565 4.67077 2.335391/64 2.69734 −1.33997 4.67077 2.33539

2.1.5 Estimacion del error.

Muchas veces es util de estimar el error de truncamiento local di, del primertermino de una serie infinita, como la serie de Taylor. Para el metodo deEuler,

di = −12h2 ..y (ti) + 0(h3) (2.23)

19

Page 21: solucion numerica de ecuaciones diferenciales ordinarias

si y (t) tiene suficientes derivadas. Entonces, la ecuacion (2.4), para el errorglobal, puede escribirse

εi+1 = εi + hf (ti, yi) − hf (ti, y (ti)) − 12h2 ..y (ti) + 0

(h3)

(2.24)

o despreciando terminos en h3, ε2i

εi+1 = εi + hA (ti) εi − 12h2 ..y (ti) (2.25)

Si se calcula y0 de manera que ε0 → 0 cuando h → 0, o de manera masprecisa, de manera que ε0 tiene un factor h, la ecuacion (2.17) indica que εitiene un factor h, para el metodo de Euler, para todo i = 0, 1, .... Por esto,se define δi = εi/h y se obtiene

δi+1 = δi + h

{A (ti) δi − 1

2..y (ti)

}(2.26)

lo que se obtendra por la aplicacion del metodo de Euler a la ecuaciondiferencial

.δ= A (t) δ − 1

2..y (t) (2.27)

con condicion inicial correspondiente δ (t0) = ε0/h.Vale la pena comparar esta ecuacion con la ecuacion (1.24), aunque

la notacion es diferente, para ver que el efecto aproximado del error detruncamiento local (2.23) es lo mismo como de un error residual continuode −1

2h..y (t) por unidad de t.

Para el ejemplo 2.1.1, otra vez con b = 1, ε0 = 0, se tiene para la nuevafuncion δ (t)

.δ (t) = δ (t) − 1

2et (2.28)

con solucion

δ (t) = −12tet (2.29)

y δ (1) � −1.35914, lo cual serıa el lımite de εN/h cuando h→ 0, de acuerdocon la tabla de resultados. En la practica, no se tiene una expresion analıticapara

..y (t) (o para A (t)), y es necesario estimarlo de la solucion aproximada

de alguna manera, para obtener una estimacion del error global, tal que(2.29).

20

Page 22: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 3

ESTABILIDAD YMETODOS IMPLICITOS

3.1 Estabilidad del problema con condiciones ini-ciales

3.1.1 Problemas estables con cota grande para el error.

En la seccion 2.1.3, en particular en la ecuacion (2.13), se ve como la con-stante de Lipschitz controla la cantidad maxima en la cual curvas de solucioncercanas en un punto, se pueden desviar una de otra cuando se alejan deeste punto. Sin embargo, no es una muy buena indicacion: considerense losdos problemas siguientes:

.y= 2t− 100

(y − t2

), y (0) = 0 (3.1)

.y= 2t+ 100

(y − t2

), y (0) = 0 (3.2)

La solucion es y (t) = t2, y la constante de Lipschitz es L = 100, que igualespara los dos casos. En el primero, todas las soluciones tienden rapidamentehacia t2 cuando t aumenta, pues la solucion general es y(t) = t2+y (0) e−100t.En el segundo caso la solucion general es y (t) = t2 + y (0) e100t, y cony (0) pequeno pero diferente de cero, t2 vuelve rapidamente despreciablecomparado con y (0) e100t.

El primer problema, en lo cual hay amortiguamiento de perturbacionespequenas, tiene estabilidad matematica, mientras el segundo es inestable. Si

21

Page 23: solucion numerica de ecuaciones diferenciales ordinarias

se cambia el signo de t, o de manera equivalente la direccion desde el puntoinicial en la cual se busca la solucion, estos dos problemas interambian suspropiedades respectivas. Para (3.2), la funcion complementaria creciente,que no aparece en la solucion correcta, genera la inestabilidad.

Como errores iniciales y errores de truncamiento local siempre intro-duciran componentes de tales funciones complementarias, no puede espe-rarse que un metodo paso-por-paso permita avanzar la solucion de un pro-blema con condiciones iniciales con inestabilidad matematica mas de unadistancia limitada. Como comentario, es posible generar metodos paso-por-paso con alta precision, o sea con errores de truncamiento local de ordenelevada en h, que introducen, sin embargo, soluciones extranas crecientes, ypor lo tanto no sirven como tal para la solucion de problemas con condicionesiniciales.

3.1.2 Ecuaciones Diferenciales ”stiff”, y el metodo de Euler.

Si se aplica el metodo de Euler al problema (3.1) se tiene la ecuacion dediferencias

yi+1 = yi + h(2ti − 100yi + 100t2i

)(3.3)

en el paso numero i. Sustituyendo yi = t2i + εi

εi+1 = εi (1 − 100h) − h2 (3.4)

es la ecuacion de diferencias para el error global, la diferencia entre lasolucion de (3.3) y la solucion correcta y (t) = t2. La solucion de (3.4)es

εi = (1 − 100h)i ε0 +h

100

{(1 − 100h)i − 1

}(3.5)

lo que debe compararse con la ecuacion (2.12).Si h < 1/50 entonces |1 − 100h| < 1 y

∣∣∣(1 − 100h)i∣∣∣ decrece cuando i

crece. Para h > 1/50 se tiene 1− 100h < −1 y por consecuencia (1− 100h)i

crece en valor absoluta con i, y cambia de signo en cada paso. Por ejemplo,si h = 1/20.

εi =(−4)i − 1

2000(3.6)

tomando ε0 = 0, y despues de 100 pesos |ε100| >> 1050.

22

Page 24: solucion numerica de ecuaciones diferenciales ordinarias

Por otra parte, para el problema

.y= 2t, y (0) = 0 (3.7)

que tiene la misma solucion

εi = −ih2 = − i

400(3.8)

con el mismo paso h = 1/20 y ε0 = 0. En este caso ε100 = −14 , un error de

1%.Se ve que la funcion complementaria con fuerte amortiguamiento y sin

interes practico esta restringiendo el paso maximo que puede utilizarse yrequeriendo mucho mas trabajo que lo necesario para resolver con suficienteprecision el problema de interes.

Sistemas de ecuaciones diferenciales con esta propiedad de ”stiffness”ocurren en el estudio de reacciones quımicas, columnas de destilacion, es-tabilidad de circuitos electricos, y en la modelacion de muchos otros sis-temas fısicos, donde una de las cantidades involucrdas cambian mucho masrapidamente que otras.

Para el sistema.y= f (t, y) (3.9)

con solucion y (t), es posible estudiar la variacion local de la solucion acercade un valor fijo t = T mediante la sustitucion

y(T + t′

)= y(T ) + y′(t′) (3.10)

en cual caso y′ (t′) satisface

.y′ (t′) = f (T, y (T )) +

[∂f∂t

](T,y(T ))

· t′ +A (T ) y′(t′)

= A (T ) y′ (t′) + b (t′)(3.11)

donde b (t′) = f (T, y (T ))+[

∂f∂t

](T,y(T ))

· t′, A (T ) es la matriz Jacobiana con

elemento (i, j) igual a[

∂fi∂yj

](T,y(T ))

, y t′ queda pequeno para permitir que

se desprecien terminos de orden t′2, y′2.Si A(T ) tiene n vectores propios linealmente independientes, estos for-

man una matriz U , no singular, tal que

A (T ) = UΛU−1 (3.12)

23

Page 25: solucion numerica de ecuaciones diferenciales ordinarias

donde Λ es una matriz diagonal con elementos λi, i = 1, 2, ..., n, los valorespropios de A (T ).

Haciendo el cambio de variables

Y(t′)

= U−1y′(t′)

(3.13)

la ecuacion (3.11) se escribe

.y(t′)

= ΛY(t′)+ U−1b

(t′)

(3.14)

un sistema de ecuaciones sin interconecciones, la i-esima ecuacion conte-niendo solo el variable yi (t′). La funcion complementaria correspondientees eλit

′ .Si unos de los λi tienen parte real grande negativo, el sistema (3.9)

es ”stiff”, al menos localmente cerca de t = T . Como los λi son valorespropios de la matriz real A(T ), unos o todos pueden tener valores com-plejos. La parte real representa crecimiento exponencial (si es positivo) oamortiguamiento (si es negativo) de la funcion complementaria, o modo,correspondiente. La parte imaginaria representa oscilacion.

Un concepto util para metodos paso-por-paso, sobre todo si se aplican aecuaciones ”stiff”, se define con respecto a la forma homogenea de una delas ecuaciones del sistema (3.14), o sea

.y= λy (3.15)

Para h real positivo, y λ en el plano complejo, hλ se encuentra en la regionde estabilidad absoluta de un metodo si, cuando se aplica a la ecuacion(3.15) con paso h, ninguna secuencia de valores iniciales yi, i = 0, 1, ...,K,genera una solucion creciente en los pasos siguientes.

Es claro que, para problemas ”stiff”, esta region deberıa de incluir unaparte grande de la mitad izquierda del plano complejo.

Aplicando el metodo de Euler a la ecuacion (3.15) se tiene

yi+1 = yi + hλyi

= (1 + hλ)yi(3.16)

La solucion no crece si |1 + hλ| < 1, o sea la region de estabilidad absolutapara el metodo de Euler es el interior del cırculo con centro en −1 y radio1.

24

Page 26: solucion numerica de ecuaciones diferenciales ordinarias

.

3.1.3 Un metodo con region de estabilidad absoluta masgrande.

El metodo de Euler por atras se escribe

yi+1 = yi + hf (ti+1, yi+1) (3.17)

donde la derivada se evalua al final del paso. Aplicandolo a (3.15) se tiene

yi+1 = yi + hλyi+1

=1

1 − hλyi

(3.18)

Si hλ tiene parte real neativo,∣∣∣ 11−hλ

∣∣∣ < 1 y toda la mitad izquierda del planocomplejo se incluye en la region de estabilidad absoluta del metodo de Eulerpor atras.

25

Page 27: solucion numerica de ecuaciones diferenciales ordinarias

Aplicandolo al problema (3.1) se tiene

yi+1 = yi + h(2ti+1 + 100t2i+1 − 100yi+1

)(3.19)

y repitiendo la sustitucion yi = t2i + εi

εi+1 =εi

1 + 100h+

h2

1 + 100h(3.20)

con solucion

εi =ε0

(1 + 100h)i −h

100

{1

(1 + 100h)i − 1

}. (3.21)

Aun un error inicial ε0 bastante grande se amortigua despues de un rangonormal de pasos. Con h = 1/20 y ε0 = 0 el error despues de 100 pasos es

ε100 = − 12000

{1

6100− 1

}� 1

2000(3.22)

Metodos que utilizan valores de la derivada al final del paso se llamanimplıcitos. El ejemplo dado, del metodo de Euler implıcito, sugiere queel concepto es util para el tratamiento de problemas ”stiff”.

Para ecuaciones diferenciales lineales, la ecuacion de diferencias que re-sulta puede resolverse directamente para yi+1, pero en el caso no-lineal senecesita una tecnica iterativa. El metodo mas sencillo para (3.17) es detomar una estimacion inicial y(0)

i+1, por un predictor, como el metodo deEuler explıcito, y de iterar por el proceso de sustitucion sucesiva, con elcorrector de Euler implıcito.

y(j)i+1 = yi + hf

(ti+1, y

(j−1)i+1

), j = 1, 2, ... (3.23)

Si se define δ(j) por yi+1 = y(j)i+1 − δ(j) entonces

yi+1 + δ(j) = yi + hf(ti+1, yi+1 + δ(j−1)

)(3.24)

y despreciando terminos de orden δ2

δ(j) = hA (t) δ(j−1) (3.25)

lo que sugiere que (3.23) solo convergira para problemas ”stiff” si h es muypequeno, 1/h mayor que el valor absoluto maximo de los valores propios

26

Page 28: solucion numerica de ecuaciones diferenciales ordinarias

de A(t), una restriccion mas fuerte que para Euler explıcito. Esto se veclaramente con su aplicacion a (3.15) cuando

δ(j) = hλδ(j−1) =[y

(0)i+1 − yi+1

](hλ)j (3.26)

lo que tiende a cero cuando j aumenta solo si |hλ| < 1.Otro metodo iterativo es el de Newton-Raphson cuya aplicacion a (3.17)

puede derivarse de esta manera. Definiendo δ(j) de la misma manera

y(j)i+1 − δ(j) = yi + hf

(ti+1, y

(j)i+1 − δ(j)

)� yi + hf

(ti+1, y

(j)i+1

)− hA(j) (t) δ(j)

(3.27)

despreciando terminos en δ2, y con A(j) (t) una matriz con elemento (i, j)igual a

[∂fi∂yj

]y=y

(j)i+1

. Resolviendo para δ(j)

[I − hA(j) (t)

]δ(j) = y

(j)i+1 − yi − hf

(ti+1, y

(j)i+1

)(3.28)

un sistema de n ecuaciones lineales en el caso de un sistema de ecuacionesdiferenciales. Por la aproximacion en (3.27) no se tiene el valor correctopara δ(j), y se toma y(j+1)

i+1 = y(j)i+1 − δ(j). Normalmente, la convergencia de

este metodo es buena con un predictor adecuado. En caso de problemas,puede reducirse el paso h.

La aplicacion del metodo de Newton-Raphson a una ecuacion diferenciallineal, como (3.15), da convergencia en una sola iteracion independiente delvalor de y(0)

i+1.Aunque tiene mejor rapidez de convergencia, el metodo de Newton-

Raphson puede parecer costoso, debido al calculo de las derivadas parciales∂fi∂yj

( n2 elementos), y la resolucion del sistema lineal en cada iteracion. Sinembargo, para un sistema ”stiff”, permite pasos mucho mas grandes queotros metodos, lo que puede compensar completamente para el trabajo adi-cional por paso. Ademas, muchas veces las derivadas parciales no varıanrapidamente con y, y no es necesario reevaluarlos, y reinvertir la matrizI − hA(j) (t), en cada iteracion (si hay mas de una), ni tampoco en cadapaso en t.

27

Page 29: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 4

METODOS CON UN SOLOPASO

4.1 Clasificacion de metodos

4.1.1 Metodos con un solo paso y con pasos multiples.

Los dos metodos — Euler explıcito y Euler implıcito — vistos hasta aquı,son metodos con un solo paso, o sea, la ecuacion de diferencias al i-esimopaso involucra valores de la solucion aproximada y de su derivada solo en elintervalo de ti−1 a ti. Para una clase muy extensa de metodos paso-por-pasopara ecuaciones diferenciales del primer orden, un error de truncamientolocal de orden 0

(hr+1

)genera un error propagado o global de orden 0 (hr)

y se dice que el metodo es de orden r. Para los dos metodos de Euler r = 1.En general, puede esperarse que mientras mas alto sea el orden del metodo,la solucion que genera sera mas precisa para un tamano dado del paso h.

Para metodos de orden mayor, se necesita mas informacion para con-struir la solucion aproximada en un intervalo h, y esto puede conseguirsepor una de dos maneras:

(i) dentro del intervalo de ti−1 a ti (metodos con un solo paso, o mejordicho, con pasos separados);

(ii) de pasos anteriores (metodos con pasos multiples, o mejor dicho, conpasos ligados).

En esta seccion se trataran metodos con un solo paso, mas correcta-mente considerados como metodos que tratan cada paso como un nuevoproblema con condiciones iniciales, sin tener memoria de valores anteriores

28

Page 30: solucion numerica de ecuaciones diferenciales ordinarias

de la solucion o de sus derivadas.

4.1.2 El metodo de la serie de Taylor.

El metodo de Euler (explıcito) utiliza los primeros dos terminos de la seriede Taylor en ti para aproximar y (ti+1). Si se tuvieran r derivadas, se podrıaponer

yi+1 = yi + h.yi +

h2

2..yi +...+

hr

r!y

(r)i (4.1)

y el primer termino del error de truncamiento local resultante estarıa dadopor − hr+1

(r+1)! y(r+1)i , o sea, se tendrıa un metodo de orden r. Si f (t, y) tiene

suficientes derivadas, abreviando f (t, y) por f , ∂f∂t por ft, ∂f

∂y por fy etc., lassegunda y tercera derivadas de y pueden obtenerse por

..y=

d

dt(f (t, y)) = ft + fy

.y= ft + fyf (4.2)

...y= ftt + 2ftyf + fyyf

2 + fyft + f2y f (4.3)

Es claro que la complejidad de estas expresiones crece rapidamente, y queel metodo de la serie de Taylor resultarıa practico solo cuando f (t, y) tieneuna forma bastante sencilla. Por ejemplo, no siempre se tiene f en formaanalıtica, sino como resultado de otro proceso numerico, tal como la opti-mizacion. Sin embargo, cuando es posible, por ejemplo cuando f es un poli-nomio de grado reducido, el metodo tiene la ventaja que da directamenteuna estimacion del error de truncamiento local, lo que puede controlarse va-riando el numero de terminos que se utilizan, ademas del paso h para lo cualno se necesita reevaluar las derivadas. Se consideran despues las tecnicaspara controlar el error.

4.1.3 Metodos de extrapolacion.

Como el error global baja cuando el paso h se reduce, un metodo comun paraaveriguar la precision de una solucion es de repetir la integracion, reduciendoel paso a la mitad, y de comparar los dos resultados. Si se utiliza el metodode Euler, y se obtienen las aproximaciones yN1, yN2 para y (b), entonces,utilizando los metodos de la seccion 2.1.5 se tiene

29

Page 31: solucion numerica de ecuaciones diferenciales ordinarias

yN1 = y (b) + hδ (b) + 0(h2)

(4.4)

yN2 = y (b) +h

2δ (b) + 0

(h2)

(4.5)

Eliminando δ (b)

y (b) = 2yN2 − yN1 + 0(h2)

(4.6)

Ejemplo 4.1.1.y= −y , y (0) = 1

Aplicando el metodo de Euler con varios valores del paso h, para deter-minar y(1), y eliminando el error principal como en (4.6). Se obtienen losresultados siguientes:

h y1/h por Euler error 2y2/h − y1/h error1 0.0 −0.36788 0.5 0.13212061/2 0.25 −0.11788 0.3828125 0.01493311/4 0.316406 −0.05147 0.3708116 0.99293211/8 0.343609 −0.02427 0.3685393 0.00065991/16 0.356074 −0.01182 0.3680364 0.00015691/32 0.362055 −0.00582 0.3679177 0.00003821/64 0.364986 −0.00289

El error de la aproximacion 2y1/2h − y1/h baja rapidamente cuando htiende a cero, debido a su comportamiento como h2. El error del valorobtenido de los casos h = 1, h = 1/2 es mayor que el error del metodo deEuler con h = 1/2. Esto se debe a que los terminos de orden 0

(h2)

sontodavıa demasiado grandes para despreciarse como en (4.4).

Esto es un ejemplo de la tecnica de extrapolacion de Richardson haciah = 0, y en este caso da un metodo de segundo orden.

En la practica, muchas veces la solucion se necesita en puntos dentro delintervalo global de integracion y pueden llevarse a cabo las dos integracionesjuntas, y hacer la extrapolacion (4.6) en cada paso de la integracion conpasos mas grandes. Sin embargo, parecerıa mejor, en lugar de guardar lasdos secuencias independientes de yi, de reemplazar los dos valores por elvalor mejorado despues de cada extrapolacion. Para el paso mas grande

30

Page 32: solucion numerica de ecuaciones diferenciales ordinarias

y1/h (ti + h) = yi + hf (ti, yi) (4.7)

y para los pasos chicos

qi = y2/h (ti + h/2) = yi +h

2f (ti, yi) (4.8)

y2/h (ti + h) = qi +h

2f

(ti +

h

2, qi

)(4.9)

El valor extrapolado, que debe tomarse como yi+1 para los dos tamanos depaso siguiente, es

yi+1 = 2y2/h (ti + h) − yh (ti + h)= 2yi + hf (ti, yi) + hf

(ti + h

2 , qi)− yi − hf (ti, yi)

= yi + hf(ti + h

2 , qi) (4.10)

Los calculos que deben hacerse en la practica se dan en (4.8) y (4.10), yconstituyen el metodo del punto medio. Para encontrar el error de trun-camiento local de este metodo, se sustituye la solucion exacta en estas dosecuaciones, dando lugar a

qi (ti) = y (ti) + h2f (ti, y (ti))

= y (ti) + h2

.y (ti)

(4.11)

y (ti+1) −y (ti) − hf(ti + h

2 , y (ti) + h2

.y (ti)

)= h

.y +h2

2

..y +0

(h3)

−hf (ti, y (ti)) − h2

2∂f∂t − h2

2 A (t).y +O

(h3)

= O(h3)

pues..y= ∂f

∂t +A (t).y

(4.12)

El error de truncamiento local es de un orden mayor en h con una evaluacionmas de la funcion f .

Otra forma del metodo del putno medio se obtiene reemplazando h por2h, y notando que qi es una aproximacion para la solucion en el punto medio.Se reescribe (4.10) como

yi+1 = yi−1 + 2hf (ti, yi) (4.13)

que es un metodo de dos pasos con el mismo nombre. El valor de yi+1 de(4.13) se utiliza para evaluar la derivada que se necesita junto con yi paradeterminar yi+2, por medio de (4.13), reemplazando i por i+ 1.

31

Page 33: solucion numerica de ecuaciones diferenciales ordinarias

Este metodo de pasos multiples se ha introducido en este momentoporque se utiliza como base de un metodo de exrapolacion de Bulirsch yStoer. Se trabaja sobre un paso basico H, normalmente bastante grande.En cada refinamiento s del metodo, se divide H en un numero par Ns

de subintervalos, por ejemplo {Ns} = {2, 4, 6, 8, 12, 16, 24, ....} con tamanohs = H/Ns, y se aplica el metodo del punto medio de dos pasos con h = hs.Esto necesita un metodo de un solo paso para arrancar, y se utiliza el metodode Euler

yi = y0 + hsf (t0, y0) . (4.14)

Puede demostrarse que el metodo (4.13), aunque convergente y establecuando h tiende a cero, tiende una region de estabilidad absoluta consti-tuido nada mas por el punto hλ = 0, y no es estable para hλ �= 0. Paraamortiguar el crecimiento, se modifica el valor yNs obtenido, promediandocon el resultado de un paso del tipo Euler por atras para dar

T(s)0 = T (hs) =

12[yNs + yNs−1 + hsf (tNs , yNs)

](4.15)

El resultado es un metodo que tiene una region de estabilidad absoluta finita,incluyendo el intervalo del eje real negativo −3 ≤ Hλ < 0 para Ns = 2, ycreciendo para valores mayores de Ns. Gragg ha demostrado que la funcionT (h) tiene una expansion asintotica en potencias pares de h

T (h) = y (t0 +H) + α1h2 + α2h

4 + ... (4.16)

si f (t, y) tiene suficientes derivadas. La idea general de extrapolacion hacia

h = 0 es de ajustar una funcion∧T (h) a los valores T (h) que se tienen, y

de evaluar∧T (0) como una aproximacion mejor al valor buscado. Bulirsch y

Stoer, ademas de estudiar extrapolacion polinomial como la de Richardson,han utilizado funciones racionales, que en muchos casos es mejor. Definen

∧T

(i)

m (h) =p(i)0 + p

(i)1 h2 + ...+ p

(i)µ h2µ

q(i)0 + q

(i)1 h2 + ...+ q

(i)ν h2ν

(4.17)

con µ = m/2 si m es par, o (m− 1) /2 si m es impar, ν = m − µ, y

con los coeficientes p(i)j , q(i)j determinados tales que

∧T

(i)

m (hs) = T (hs) paras = i, i + 1, i + 2, ..., i + m. Resulta que no es necesario determinar estos

32

Page 34: solucion numerica de ecuaciones diferenciales ordinarias

coeficientes, pues es posible determinar los valores extrapolados T (i)m =

∧T

(i)

m

(0) por las formulas de recurrencia siguientes

T(i)−1 = 0 para arrancarT

(i)0 = T (hi) la aproximacion constante con h = hi

T(i)m = T

(i+1)m−1 +

T(i+1)m−1 − T

(i)m−1(

hihi+m

)2[1 − T

(i+1)m−1 −T

(i)m−1

T(i+1)m−1 −T

(i+1)m−2

]− 1

para M ≥ 1

Esto es diferente de las formulas para extrapolacion polinomial por la intro-duccion del termino en parentesis cuadrados.

Permite de formar la tabla siguiente

T(0)0

T−1(1) T(0)1

T(1)0 T

(0)2

T−1(2) T(1)1 T

(0)3

T(2)0 T

(1)2 T

(0)4

......

......

T(i−1)0 T

(i−2)2

T−1(i) T(i−1)1

T(i)0

Puede demostrarse que

T (i)m − T (0) = 0

(h2

i h2i+1...h

2i+m

)(4.18)

Las formulas de recurrencia que se obtienen en procesos de extrapolacionson muy sensitivos a posibles redondeos, y deben organizarse de maneracuidadosa, con un lımite sobre el valor de m, que depende de la computa-dora y de la precision requerida. Bulirsch y Stoer recomendaron m ≤ 6. Si∣∣∣T (0)

6 − T(0)s

∣∣∣ no satisface el criterio de error, abandonan el primer giagonal,y siguen por la columnam = 6 hasta i = 10. Si todavıa no hay convergencia,repiten todo el calculo con un valor reducido de H, que de todos mos esco-gen con base en (4.18), prediciendolo para satisfacer el criterio de error enT

(0)6 . El metodo, que se considera un metodo de un solo paso (H grande),

normalmente es muy bueno para problemas sin ”stiffness”, sobre todo si

33

Page 35: solucion numerica de ecuaciones diferenciales ordinarias

la evaluacion de f (t, y) no necesita mas de 25 operaciones artimeticas porcomponente. De otra manera, puede resultar costoso en evaluaciones de f .

4.1.4 Metodos del tipo Runge-Kutta.

Notese ahora que el metodo del punto medio (4.8) y (4.10) genera terminosque coinciden con la serie de Taylor truncada

yi+1 = yi + h.yi +

h2

2..yi (4.19)

como se vio en (4.12). Puede buscarse una clase de metodos mas generalque coinciden con la serie de Taylor truncada en un numero determinadode terminos. Estos son los metodos de Runge-Kutta, que se derivan en elcapıtulo siguiente.

34

Page 36: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 5

METODOS DERUNGE-KUTTA YCONTROL DEL ERROR.

5.1 Metodos del tipo Runge-Kutta.

5.1.1 Forma autonoma, y notacion.

El sistema de ecuaciones (1.4) con condiciones iniciales y (0) = y0 puede, enmuchas circunstancias, simplificarse por la adicion de una ecuacion mas:

.y0

= 1, y0 (0) = 0 (5.1)

para el elemento y0, que se anade al principio del vector y, ahora de n + 1componentes. Como y0 (t) = t, si se anade de la misma manera f0 = 1 alprincipio del vector f , el problema puede escribirse en forma autonoma, sinque t aparezca explıcitamente:

.y= f (y) , y (0) = y0 (5.2)

Esto permite definir las siguientes notaciones:

f i es el elemento i-esimo de f , con f0 = 1;

fj es la derivada ∂f∂yj evaluada en ts

(f0 = ∂f

∂t

).

35

Page 37: solucion numerica de ecuaciones diferenciales ordinarias

5.1.2 Metodo del punto medio por extrapolacion.

El metodo de Euler puede escribirse

ys+1 − ys = hf (ys) = y (ts+1) − (ts) − ch2 + 0(h3)

(5.3)

mientras sobre dos pasos de tamano h/2 se escribe

ys+ 12− ys =

12h (ys) = y

(ts+ 1

2

)− y (ts) − c

(12h

)2

+ 0(h3)

(5.4)

ys+1 − ys+ 12

=12hf

(ys+ 1

2

)= y (ts+1)− y

(ts+ 1

2

)− c

(12h

)2

+ 0(h3)

(5.5)

o sea

ys+1 − ys = 12h

[f (ys) + f

(ys + 1

2hf (ys))]

= y (ts+1) − y (ts) − 2c(

12h)2

+ 0(h3).

(5.6)

Aplicando la extrapolacion de Richardson a este paso, como en ecuacion(4.10), o sea eliminando c entre (5.3) y (5.6), se tiene otra vez el metodo delpunto medio

ys+1 − ys = hf

(ys +

12hf (ys)

)= y (ts+1) − y (ts) + 0

(h3)

(5.7)

un caso particular de un metodo del tipo Runge-Kutta de orden dos.

5.1.3 Metodos del tipo Runge-Kutta de orden dos.

Un metodo general del tipo Runge-Kutta, con dos evaluaciones de la funcionf , se escribirıa

k0 = hf (ys)k1 = hf (ys + αk0)ys+1 −ys = βk0 + γk1

(5.8)

donde α, β, γ deben ajustarse para que la expresion para ys+1 − ys coincidahasta donde se puede (o se quiere) con la serie de Taylor acerca de ys, o sea

y (ts+1) − y (ts) = hf (ys) + 12h

2 dfdt + 0

(h3)

= hf (ys) + 12h

2 ∑ni=0 fif

i + 0(h3).

(5.9)

36

Page 38: solucion numerica de ecuaciones diferenciales ordinarias

Para el metodo numerico

k1 = hf (ys) + αh2n∑

i=0

fifi + 0

(h3), (5.10)

ys+1 − ys = (β + γ)hf (ys) + γαh2n∑

i=0

fifi + 0

(h3), (5.11)

y el metodo es de orden dos si

β = 1 − γ, α = 1/2γ. (5.12)

Si γ = 1, esto es el metodo del punto medio

k0 = hf (ys) , k1 = hf(ys + 1

2k0

), ys+1 − ys = k1. (5.13)

Si γ = 12 , se tiene un metodo modificado del trapecio

k0 = hf (ys) , k1 = hf (ys + k0) , ys+1 − ys = 12 (k0 + k1) . (5.14)

Si γ = 34 , se tiene uno de los metodos de Heun

k0 = hf (ys) , k1 = hf(ys + 2

3k0

), ys+1 − ys = 1

4 (k0 + 3k1) ,(5.15)

una formula de cuadratura del tipo Radau propuesta para minimizar unaforma particular de la cota para el error de truncamiento local. La nomen-clatura de estos metodos no es estandar, y varıa mucho entre los diferentestextos.

5.1.4 La clase de metodos de orden cuatro.

Los metodos del tipo Runge-Kutta, que se utilizan mas comunmente, sonlos del cuarto orden, que toman la forma general siguiente:

k0 = hf (ys)k1 = hf (ys + α10k0)k2 = hf (ys + α20k0 + α21k1)k3 = hf (ys + α30k0 + α31k1 + α32k2)ys+1 −ys = α40k0 + α41k1 + α42k2 + α43k3

(5.16)

37

Page 39: solucion numerica de ecuaciones diferenciales ordinarias

mientras la serie de Taylor para y (ts+1) genera los terminos

y (ts+1) − y (ts) = hf (ys) + 12h

2 ∑ni=0 fif

i

+16h

3 ∑ni=0

∑nj=0

(fijf

if j + fifijf

j)

+ 124h

4 ∑ni=0

∑nj=0

∑nk=0

(fijkf

if jfk + 3fijfikf

jfk

+fifijkf

jfk + fifijf

jkf

k)

+ 0(h5)

(5.17)Haciendo la expansion de k1, k2, k3 en la misma forma, y comparando loscoeficientes de cada termino, el metodo es de orden cuatro si

α40+ α41 + α42 + α43 = 1α41β1 + α42β2 + α43β3 = 1/2α41β

21 + α42β

22 + α43β

23 = 1/3

α41β31 + α42β

32 + α43β

33 = 1/4

α42 α21β1 + α43 (α31β1 + α32β2) = 1/6α42β2α21β1 + α43β3 (α31β1 + α32β2) = 1/8α42 α21β

21 + α43

(α31β

21 + α32β

22

)= 1/12

α43α32α21β1 = 1/24(5.18)

donde

β1 = α10

β2 = α20 + α21

β3 = α30 + α31 + α32

(5.19)

Estas ecuaciones tienen una infinidad de soluciones, de las cuales el metodoclasico de Runge-Kutta utiliza la formula de cuadratura de Simpson de lamanera siguiente

k0 = hf(ys)k1 = hf(ys + 1

2k0)k2 = hf(ys + 1

2k1)k3 = hf(ys + k2)ys+1 −ys = 1

6 (k0 + 2k1 + 2k2 + k3)

(5.20)

Para un metodo del tipo Runge-Kutta de orden ≤ 4, el numero de evalua-ciones de la funcion f es igual al orden, pero para orden 5 o 6, se necesitauna evaluacion mas, mientras para orden > 6 se necesitan al menos dos

38

Page 40: solucion numerica de ecuaciones diferenciales ordinarias

evaluaciones suplementarias. Estos metodos difieren del metodo de la seriede Taylor en que no es facil aumentar el orden durante una integracion si loserrores de truncamiento son demasiado grandes, como para esto se necesitaun conjunto de multiplicadores totalmente nuevo. Hasta unas propuestasmuy recientes, ha sido normal utilizar un metodo de cuarto orden todo eltiempo, y de ajustar el error de truncamiento mediante el paso h. Sin em-bargo, se necesita un criterio para estos ajustes.

Sea el metodoys+1 − ys = hψ (ys, h) (5.21)

con error de truncameinto local

ds (h) = hψ (y (ts) , h) − (y (ts+1) − y (ts))= h5φ (y) + 0

(h6) (5.22)

donde se ha especializado al caso de un metodo de cuarto orden. Sea el errorde truncamiento global

εs = ys − y (ts) = h4δ (ts) + 0(h5)

(5.23)

Para el problema (5.2) la funcion δ (t) satisface

.δ= A (t) δ + φ (y) (5.24)

ecuacion analoga al (2.27), con A (t) la matriz Jacobiana de f . Cuando elpaso no es constante, es posible utilizar una funcion θ (t) para describir suvariacion, mediante la definicion

hs = hθ (ts) , ts+1 = ts + hs (5.25)

donde se requiere

∫ b

0

dt

θ (t)= 1 (5.26)

para que el numero total de pasos en el intervalo de 0 a b sea aproximada-mente 1/h, y el trabajo hecho dependa solamente de h, y no de θ. Entonces,la ecuacion (5.24) se modifica por la introduccion de θ (ts) en (5.22), y quedade la forma

.δ= A(t)δ + θ4 (t)φ (y) (5.27)

de donde δ (t) puede escribirse como

39

Page 41: solucion numerica de ecuaciones diferenciales ordinarias

δ (t) =∫ t

0G (v, t)φ (y (v)) θ4 (v) dv (5.28)

donde G (v, t) es la matriz de funciones complementarias, que satisface laecuacion diferencial homogenea, y la condicion inicial

.G= A (t)G, G (v, v) = I, (5.29)

y que representa el efecto propagado en t de un error unitario cometido env.

Deben notarse las siguientes propiedades de G (v, t):G (v, t)G (u, v) tambien satisface la ecuacion diferencial homogenea, concondicion inicial

G (v, v)G (u, v) = G (u, v) ;

pero la solucion unica de este problema es G (u, t), de donde

G (v, t)G (u, v) = G (u, t)

La mejor funcion θ (t) es la que minimiza ‖δ (b)‖. El mınimo de

∫ b

0‖G (v, b) φ (y (v))‖ θ4 (v) dv (5.30)

que no es exactamente lo mismo, sino es lo mejor posible, ocurre cuando

θ (t) = ‖G (t, b)φ (y (t))‖−1/5∫ b

0‖G (v, b)φ (y (v))‖1/5 dv. (5.31)

La contribucion del paso de ts a ts+1 al error de truncamiento global en b es

∥∥∥∥∫ ts+1

tsG (t, b)φ (y (t)) θ4 (t)h4dt

∥∥∥∥ �[h

∫ b

0‖G (v, b)φ (y (v))‖1/5 dv

]5

(5.32)para la funcion θ (t) de la ecuacion (5.31). Resulta que la mejor distribucionde tamanos de paso es tal que cada paso hace la misma contribucion al errorde truncamiento global en b, independientemente de su tamano.

40

Page 42: solucion numerica de ecuaciones diferenciales ordinarias

5.1.5 Suposiciones que permiten el ajuste practico del paso.

Este resultado teorico es interesante, pero normalmente no es practico apli-carlo. Generalmente, no se sabe el efecto propagado de un error de trun-camiento local, representado por la funcion matricial G(t, b), que puedeobtenerse solo por la integracion de la ecuacion (5.29) o algo similar, deantemano. En la ausencia de un conocimiento de G(t, b), una de las dossuposiciones siguientes parece razonable:

(a) ‖G(t, b‖ nunca es mucho mayor que uno. Esto es el caso cuando lasolucion general (funcion complementaria) de la ecuacion diferencial (5.29)tiene solamente componentes oscilantes o con decaimiento, o sea cuandoel problema original tiene estabilidad matematica. Una estrategia practicaserıa de ajustar el tamano de cada paso para mantener la magnitud del errorde truncamiento local aproximadamente constante. Unas implementacionescambian el tamano del paso solamente por factores de 2, pero se reconocegeneralmente ahora que puede ajustarse en cada paso para que h5 ‖φ (y)‖sea un poco menos que un cierto valor constante.

(b) G (v, t) tiene componentes con crecimiento exponencial de una formasimilar a la de y(t). Debe notarse que G(v, t) tiene una propiedad multi-plicativa

G (t, b)G (v, t) = G (v, b) (5.33)

que es independiente de t, ası que para guardar

‖G (t, b)φ (y)‖h5 (5.34)

aproximadamente constante, se debe guardar h5 ‖φ (y)‖ aproximadamenteproporcional a ‖G (v, t)‖, o sea por la suposicion (b), proporcional a ‖y (t)‖.En este caso, es el error de truncamiento local relativo a la solucion que debemantenerse constante.

Estas estrategias tiene la desventaja que no se tiene idea de antemanodel numero de pasos que van a utilizarse, cuando se especifica el error per-misible por paso. Si quiere obtenerse una cierta precision en la solucion enb, otra estrategia posible es de mantener la contribucion al error por pasoproporcional al tamano h del paso. Con la suposicion (a) se ajusta h paraque bh4 ‖φ (y)‖ sea un poco menos que la cota impuesta para el error en b.Con la suposicion (b) se debe mantener bh4 ‖φ (y)‖ / ‖y‖ un poco menos quela cota para el error relativo en b.

41

Page 43: solucion numerica de ecuaciones diferenciales ordinarias

5.1.6 Estimacion del error de truncamiento local.

En todos los casos, se necesita una estimacion para el error de truncamientolocal ds (h) = h5φ (y) + 0

(h6), que no siempre se tiene facilmente. En el

caso del metodo de la serie de Taylor, cuando pueden calcularse las derivadaselevadas de y (t), el termino siguiente de la serie es la estimacion apropiada.Sin embargo, para los metodos del tipo Runge-Kutta, no hay una estimaciontan evidente.

El australiano, Merson, propuso un metodo con cinco evaluaciones de lafuncion f

k0 = hf (ys)k1 = hf

(ys + 1

3k0

)k2 = hf

(ys + 1

6k0 + 16k1

)k3 = hf

(ys + 1

8k0 + 38k2

)k4 = hf

(ys + 1

2k0 − 32k2 + 2k3

)ys+1 −ys = 1

6 (k0 + 4k3 + k4)

(5.35)

donde 130 (2k0 − 9k2 + 8k3 − k4) era la estimacion propuesta para el error.

El error de truncamiento local de este metodo puede escribirse

1120h

5 ∑ni=0

∑nj=0

∑nk=0

∑nl=0

[124fijklf

if jfkf l +14fijkf

il f

jfkf l +18fijf

ikf

jl f

kf l

+16fijf

iklf

jfkf l +16fijf

ikf

jfkl f

l −16fif

ijklf

jfkf l

−12fif

ijkf

jl f

kf l −16fif

ijf

jklf

kf l −16fif

ijf

jkf

kl f

l]+ 0

(h6)

(5.36)mientras la expansion de la estimacion de Merson es

− 1120h

4 ∑ni=0

∑nj=0

∑nk=0

[29fijkf

if jfk + 23fijf

ikf

jfk + 13fif

ijkf

jfk]

− 1120h

5 ∑ni=0

∑nj=0

∑nk=0

∑nl=0

[11108fijklf

if jfkf l + 1118fijkf

il f

jfkf l + 1136fijf

ikf

jl f

kf l

+49fijf

iklf

jfkf l + 13fijf

ikf

jfkl f

l + 554fif

ijklf

jfkf l

+16fif

ijkf

jl f

kf l + 16fif

ijf

jkf

kl f

l]+ 0

(h6)

(5.37)que claramente no es una buena estimacion, siendo en general de un ordenmenor en h que el error estimado. Coincide exactamente cuando f (y) eslineal en todos sus argumentos, cuando todas las derivadas de f de mayororden que el primero desaparecen, y dejan el unico termino con el mismo

42

Page 44: solucion numerica de ecuaciones diferenciales ordinarias

coeficiente en las dos expresiones. Serıa injusto hacia Merson de decir quepropuso su estimacion como valido para ecuaciones no-lineales, pero se haempleado mucho como un metodo de aplicacion general. Normalmente suestimacion es mayor que el error de truncamiento local, y algoritmos queajustan los pasos en base en su estimacion toman pasos mas pequenos quelo necesario.

Aunque todavıa no se conocen muy ampliamente, existen otros metodosdel mismo tipo general que estiman correctamente los terminos de orden h5.Se da aquıun ejemplo que, al costo de una evaluacion adicional de la funcionf , da una estimacion del error sobre dos pasos consecutivos iguales.

k0 = hf(ys) k4 = hf(ys+1)k1 = hf(ys + 1

2k0) k5 = hf(ys+1 + 12k4)

k2 = hf(ys + 14k0 + 1

4k1) k6 = hf(ys+1 + 14k4 + 1

4k5)k3 = hf(ys − k1 + 2k2)ys+1 −ys = 1

6(k0 + 4k2 + k3)k8 = hf

(ys − 1

6k0 − 16k1+ 463 k2 −121

6 k3 + 24k4 + k5 − 2k6

)(5.38)

donde el error de truncamiento local en ts+2 sobre los dos pasos es

190 (k0 − 4k2 − 17k3 + 23k4 + 4k6 + k8) + 0

(h6).

Otra tecnica, de aplicacion mas general, para la estimacion del errorsobre dos pasos para un metodo de Runge-Kutta, se basa en la extrapolacion,o sea se repite la integracion con un paso dos veces mas grande, al costo detres evaluaciones adicionales, como f (ys) ya se ha evaluado. (Puede decirseque el metodo de Merson cuesta dos evaluaciones adicionales para dos pasos).Sobre dos pasos de tamano h, el error de truncamiento local es

G(ts+1, ts+2)ds(h) + ds+1(h) = 2h5φ(y) + 0(h6) (5.39)

mientras sobre un paso de tamano 2h es

ds(2h) = (2h)5φ(y) + 0(h6). (5.40)

La diferencia entre las soluciones es tambien la diferencia entre estes erroresde truncamiento, y es

30h5φ(y) + 0(h6) = 15 [G(ts+1, ts+2)ds(h) + ds+1(h)] , (5.41)

43

Page 45: solucion numerica de ecuaciones diferenciales ordinarias

15 veces el error de truncamiento local en ts+2 sobre los dos pasos.Un aspecto de los metodos de Runge-Kutta que no se ha considerado es

su estabilidad para tamanos finitos del paso, o sea, sus regiones de estabili-dad absoluta. Se considera entonces su aplicacion a la ecuacion

.y = λy. (5.42)

Para cualquier metodo de cuatro evaluaciones (5.16) que satisface las condi-ciones (5.18 ) y (5.19),

k0 = hλys

k1 = hλ (ys + α10hλys) = hλ (1 + hλβ1) ys

k2 = hλ (ys + α20hλys + α21hλ (1 + hλβ1) ys)= hλ (1 + hλ (β2 + hλα21β1)) ys

k3 = hλ (ys + α30hλys + α31hλ (1 + hλβ1) ys + α32hλ (1 + hλ (β2 + hλα21β1))) ys

= hλ (1 + hλ (β3 + hλ (α31β1 + α32β2 + hλα32α21β1))) ys

ys+1 = ys + α40hλys + α41hλ (1 + hλβ1) ys + α42hλ (1 + hλ (β2 + hλα21β1)) ys

+α43hλ (1 + hλ (β3 + hλ (α31β1 + α32β2 + hλα32α21β1))) ys

= ys + hλ(1 + hλ

(12 + hλ

(16 + 1

24hλ)))

ys

= ys

(1 + hλ+ 1

2h2λ2 + 1

6h3λ3 + 1

24h4λ4

)que habıa que esperarse como es una aproximacion del cuarto orden a lasolucion yse

hλ. La region de estabilidad es la parte del plano complejo parala cual ∣∣∣∣1 + hλ+

12h2λ2 +

16h3λ3 +

124h4λ4

∣∣∣∣ < 1 (5.43)

y se encuentra casi completamente entre �e (hλ) = −2.7 y �e (hλ) = 0y entre Im (hλ) = ±2.5, ası que metodos del tipo Runge-Kutta siempreconvergen cuando h tiende a cero, pero son muy poco eficaces para proble-mas ”stiff”. La region de estabilidad absoluta es un poco mas grande parametodos de orden tres y cuatro que para metodos de orden uno y dos, perocomo utilizan aproximaciones polinomiales para ehλ, no puede esperarse quese mejoren mucho para ordenes mayores.

44

Page 46: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 6

METODOS CON PASOSMULTIPLES

6.1 Introduccion a los metodos con pasos multiples.

6.1.1 Los metodos de Adams.

Los metodos que se describen en seguida utilizan informacion acumulada so-bre la solucion, que no puede obtenerse durante un solo paso de integracion.Por esto, es mas facil entenderlos si, para el momento, no se consideranlos problemas particulares de arranque, sino que se supone que un numerosuficiente de pasos ya se han generado de alguna manera. Se concentra laatencion en el metodo para avanzar la solucion por otro paso.

Para fijar las ideas, supongase que ya se ha alcanzado el punto ts = sh,y que se tiene informacion suficiente para definir un vector de polinomioszs (t− ts), de lo cual cada componente es un polinomio de grado K, o sea

zsi (τ) =K∑

k=0

ζsikτk (6.1)

y que aproxima la solucion del sistema de ecuaciones diferenciales, local-mente. Hay varias maneras de relacionar estos polonomios con los valoresde la solucion que se tienen. Por ejemplo, pueden haberse guardado valoresyr, r = s− p, s− p+ 1, ..., s de la solucion calculada, y/o de sus derivadas

.yr= f (tr, yr) (6.2)

45

Page 47: solucion numerica de ecuaciones diferenciales ordinarias

Si se tienen K + 1 valores, estos definen de manera unica el vector de poli-nomios zs (τ) que los interpola. Una seleccion comun es la adoptada en losmetodos del tipo Adams, para los cuales la informacion guardada es ys,

.ys,.

ys−1, ...,.ys−k+1 (o de manera equivalente ys,

.ys, ∇

.ys, ...,∇k−1

.ys donde ∇

es el operador de diferencias por atras, ∇ .ys=

.ys − .

ys−1). Otra seleccion eslos coeficientes ζsik en el polinomio (6.1), que corresponden a los coeficientesde una serie de Taylor, o a las derivadas zs (0) ,

.zs (0) ,

..zs (0) , ..., z(k)

s (0) .Cualquiera que sea la relacion entre estos polinomios y la solucion, se utilizanpara predecir el valor de la solucion en ts+1 = ts + h, por medio de

y(p)s+1 = zs (h) . (6.3)

En seguida se utiliza la ecuacion diferencial en el tiempo ts+1 para evaluar laderivada

.y(p)

s+1= f(ts+1, t

(p)s+1

)y se determina otro polinomio z(p)

s+1 (t− ts+1)

con la informacion anterior y el valor de.y

(p)s+1, que se utiliza para corregir el

valor predicho, obteniendo valores corregidos

ys+1 = zs+1 (0) = y(c)s+1 = z

(p)s+1 (0) (6.4)

.ys+1=

.zs+1 (0) = f

(ts+1, y

(c)s+1

)(6.5)

Finalmente, se completa el paso desechando la informacion guardada que nose necesita para definir zs+1 (τ), y definiendo esto en terminos de lo demasde la informacion guardada y de la nueva informacion de (6.4),(6.5).

Ejemplo 6.1.1 El metodo Adams del segundo orden utiliza la formula co-rrector

y(c)s+1 = ys +

12h[ .ys+1 +

.ys

]que es equivalente a la regla del trapecio. Inicialmente se tienen valores deys,

.ys,

.ys−1 que definen un polinomio predictor

zs (τ) = ys + τ.ys +

τ2

2h

[ .ys −

.ys−1

].

De esto se obtiene

y(p)s+1 = zs (h) = ys +

12h[3

.ys −

.ys−1

].

46

Page 48: solucion numerica de ecuaciones diferenciales ordinarias

Hay varias maneras de aplicar la formula corrector. Es posible simplementeevaluar

.y(p)

s+1= f(ts+1, y

(p)s+1

)y definir

ys+1 = y(c)s+1 = ys + 1

2h

[.y(p)

s+1 + .ys

].

ys+1 = f(ts+1, y

(c)s+1

)Esto es una manera explıcita, clasificado como una aplicacion de modoPECE; lo que quiere decir que las operaciones que se llevan a cabo son

Prediccion de y(p)s+1

Evaluacion de.y(p)

s+1

Correccion para obtener y(c)s+1

Evaluacion de.y

(c)s+1= f

(ts+1, y

(c)s+1

)Otra manera de considerar la formula corrector es como un conjunto de

ecuaciones implıcitas (y generalmente no-lineales)

y(c)s+1 = ys +

12h[f(ts+1, y

(c)s+1

)+

.ys

]que deben resolverse por iteracion. Se toman los valores explıcitos anterioresde y(c)

s+1 como una primera aproximacion y(1)s+1, y se generan aproximaciones

sucesivas

y(j)s+1 = ys +

12h[f(ts+1, y

(j−1)s+1

)+

.ys

], j = 2, 3, ...

continuando hasta satisfacer un criterio de convergencia, como en el procesode sustitucion sucesiva con el corrector de Euler implıcito (3.23) que es elcorrector de Adams de primer orden. Esto puede clasificarse como una apli-cacion de modo P (EC)m, donde se toma m tan grande como sea necesariopara convergencia, si la iteracion es convergente.

En la practica, cuando se utiliza un tal metodo se restringe h para con-seguir una convergencia rapida, por ejemplo en no mas de tres iteraciones.

El metodo general de Adams es similar. La formula predictor es

47

Page 49: solucion numerica de ecuaciones diferenciales ordinarias

y(p)s+1 = ys + h

k∑k+1

β∗k.ys+1−k (6.6)

que puede derivarse, para obtener los constantes β∗k , como una formula deintegracion para

∫ ts+hts

.y (t) dt en terminos de

.ys,

.ys−1, ...,

.ys+1−k. La formula

corrector es

y(c)s+1 = ys + h

k∑k=0

βk.ys+1−k (6.7)

que puede escribirse

y(c)s+1 = y

(p)s+1 + hβ0

.ys+1 +h

K∑k=1

(βk − β∗k).ys+1−k (6.8)

y puede aplicarse en modo explıcito PECE (o un modo P (EC)ME con Mfijo > 1), o en modo implıcito P (EC)m con iteracion hasta convergencia.Puede ser interesante de escribir en forma explıcita el algorıtmo para el modoPECE:

ys+1 = ys + hK∑

k=1

βk.ys+1−k +hβ0f

(ts+1, ys + h

K∑k=1

β∗k.ys+1−k

)(6.9)

.ys+1= f (ts+1, ys+1) (6.10)

Se ha supuesto desde un principio que la formula predictor es de ordenK, o sea que serıa exacta si los componentes del vector solucion fueran poli-nomios en t de grado no mayor que K. Es posible que la formula correctorsea de orden K o de orden K + 1. Una manera sencilla de ver esto es deconsiderar el corrector de Adams (6.7) como una formula de integracionpara dar

∫ ts+hts

.y (t) dt en terminos de

.ys+1,

.ys, ...,

.ys+1−K . Si se utiliza toda

esta informacion, pueden escogerse los K + 1 coeficientes βk, k = 0, 1, ...,Kpara dar resultados exactos si

.y (t) es un polinomio de grado K, o sea si la

solucion y(t) es un polinomio de grado K + 1. Por otra parte, si se tomaβK = 0, lo que permite desechar

.ys+1−K antes de aplicar el corrector, y no

despues, y ası reduce la memoria necesaria, se reduce el orden de la formulacorector hasta K. Otros metodos, que no son del tipo Adams, utilizan uncorrector de orden K con βK �= 0, utilizando el grado de libertad paramejorar la region de estabilidad absoluta.

48

Page 50: solucion numerica de ecuaciones diferenciales ordinarias

Por otra parte, si el corrector es del tipo Adams y de orden K, el predic-tor no puede ser de orden mayor que K sin aumentar la memoria utilizada.Ciertos expertos consideran que hay una ventaja utilizar un predictor y uncorrector del mismo orden, como esto permite utilizar la llamada ”tecnicade Milne” para estimar el error de truncamiento local. Otros prefieren uti-lizar esta estimacion para mejorar la solucion por extrapolacion, lo que esequivalente al utilizar un corrector de orden K + 1, y tener una estimaciondel ultimo termino de la serie de Taylor incluido.

La tecnica de Milne para estimar el error es precisamente un proceso deextrapolacion. Si Yi+1 es el valor en ts+1 de la solucion exacta de la ecuaciondiferencial que pasa por el punto (ts, ys), se tiene

y(p)s+1 = Ys+1 + PK+1h

K+1y(K+1) (ts + θ∗h) , (6.11)

y(c)s+1 = Ys+1 + CK+1h

K+1y(K+1) (ts + θh) , (6.12)

donde PK+1, CK+1 son constantes conocidos, que dependen de las formulasparticulares utilizadas, y θ∗, θ son numeros desconocidos entre 1 − K y 1.La diferencia,

y(c)s+1 − y

(p)s+1 = (CK+1 − PK+1)hK+1y(K+1) + 0

(hK+2y(K+2)

), (6.13)

de donde el error de truncamiento local del corrector de orden K es

y(c)s+1 − Ys+1 =

CK+1

CK+1 − PK+1

(y

(c)s+1 − y

(p)s+1

)+ 0

(hK+2y(K+2)

), (6.14)

lo que permite obtener una estimacion desde la diferencia entre los valorespredichos y corregisos. Es normal ahora, implementar una estrategia deajuste del tamano del paso para guardar este valor estimado del error localdentro de ciertos lımites, de acuerdo con las consideraciones de la seccion an-terior. Si se especifica un vector de tolerancias ε por paso, sus componentesse comparan con los de la estimacion del error

Ts =CK+1

CK+1 − PK+1

(y

(c)s+1 − y

(p)s+1

). (6.15)

Si us = max |Tsi/εi| ≤ 1 se acepta el paso, si no se rechaza. Se calcula unnuevo tamano de paso igual a ξ multiplicado por el valor anterior, dondeξK+1 < u−1

s . Para metodos con pasos multiples, esto requiere la creacion de

49

Page 51: solucion numerica de ecuaciones diferenciales ordinarias

un pasado artificial para los pasos siguientes, que no es trivial para ciertasrepresentaciones del polinomio z (τ). Por esto se evita cambiar el tamano depaso con demasiada frecuencia, y ciertos programas hacen un cambio sola-mente cuando us > 1 o es posible tomar un ξ = 2, aunque estas condicionesse consideran demasiado fuertes ahora.

Ejemplo 6.1.2 Considerese el predictor de Euler, de primer orden

y(p)s+1 = ys + h

.ys

y el corrector de Euler implıcito iterado hasta convergencia

y(c)s+1 = ys + hf

(ts+1, y

(c)s+1

).

Se tiene

y(p)s+1 = Ys − 1

2h2

..ys +0

(h3

...y)

y(c)s+1 = Ys + 1

2h2

..ys +0

(h3

...y)

de donde

y(c)s+1 − y

(p)s+1 = h2 ..

ys +0(h3 ...

y)

y la estimacion del error de truncamiento local es

Ts =12

(y

(c)s+1 − y

(p)s+1

).

6.1.2 Estabilidad de los metodos de pasos multiples.

Para investigar la estabilidad de los metodos de pasos multiples, se considerala ecuacion

.y= λy + g (t) (6.16)

que puede representar un componente de un sistema, con λ igual a un valorpropio de la matriz Jacobiana A(t). Se podrıa considerar la ecuacion

.y= λy (6.17)

como antes, y la generalidad de (6.16) no introduce nada nuevo, como se veen adelante.

Supongase que la solucion correcta de (6.16) es

50

Page 52: solucion numerica de ecuaciones diferenciales ordinarias

y = S(t) (6.18)

ası que

g(t) =.S (t) − λS (t) (6.19)

y que la solucion calculada es

ys = S(ts) + εs (6.20)

ası que.ys = λys + g (ts)

= λS (ts) + λεs+.S (ts) − λS (ts)

=.S (ts) + λεs

(6.21)

y el error global εs satisface la ecuacion (6.17).Para el metodo implıcito de tipo Adams de segundo orden (la regla del

trapecio del ejemplo 6.1.1) iterado hasta convergencia, se tiene

εs+1 = εs +12h [λεs+1 + λεs] + Ts+1 (6.22)

donde Ts+1 es el error de truncamiento local. Aun si S(t) es un polinomiocuadratico y Ts+1 = 0, la ecuacion (6.22) tiene soluciones

εs = ε0ξs

ξ =(1 + 1

2hλ)/(1 − 1

2hλ) (6.23)

que pueden ser diferentes de cero. Si se empieza con valores iniciales exactosentonces ε0 = 0, pero de todos modos, errores de redondeo introduciran unerror intermedio diferente de cero, y en seguida un Ts+1 �= 0 constituiraotro fuerte de errores, los cuales se propagaran de acuerdo con (6.23). Sihλ > 0, hay una funcion complementaria creciente eλt, que crece por unfactor ehλ en cada paso. Para hλ pequeno, ξ es una buena aproximaciona ehλ, pero cuando hλ tiende a 2, ξ tiende a infinito. Se ve que, con hλpositivo (o con parte real positiva, si se trata de un sistema) el metodo esmenos estable que el problema, pero controlando el tamano del paso, esposible evitar que ξ tome valores grandes. Si la parte real de hλ es negativa,entonces |ξ| < 1 y se tiene estabilidad absoluta para toda la mitad izquierdadel plano complejo, una propiedad que se llama A-estabilidad. Sin embargo,cuando hλ→ −∞, ξ → −1, y hay una oscilacion finita para problemas muy

51

Page 53: solucion numerica de ecuaciones diferenciales ordinarias

”stiff”. (Para conseguir convergencia, como en (6.22), para |hλ| grande, esesencial utilizar el proceso iterativo de Newton-Raphson, como en el casodel metodo implıcito de Euler).

Considerese ahora un metodo implıcito de Adams de orden mayor, o seael corrector (6.7). En lugar de las ecuaciones (6.23), se tiene

ξK − ξK−1 − hλK∑

k=0

βkξK−k = 0 (6.24)

una ecuacion de grado K en ξ. Una de sus raıces (la raız principal) es unabuena aproximacion a ehλ para |hλ| pequeno. Las otras (raıces ficticias) sontodas cero para hλ = 0, y entonces para hλ pequeno y diferente de cerosatisfacen

ξK−1 + hλβK = 0 (hλξ) + 0(ξK

)(6.25)

de donde son del orden |hλβK |1/K−1 en magnitud. La region de estabilidadabsoluta es la region dentro de la cual todas las raıces de (6.24) tienen valorabsoluto menor que uno. Tıpicamente, para orden mayor que dos, estaregion es de la forma siguiente

Es necesario que h sea tal que hλ caiga dentro de esta region, y paraproblemas ”stiff” esto quiere decir valores muy chiquitos de h aun cuandola solucion varıa lentamente.

52

Page 54: solucion numerica de ecuaciones diferenciales ordinarias

Para un metodo Adams en modo PECE (6.9) se tiene

ξK − ξK−1 − hλK∑

k+1

βkξK−k − hλβ0

[ξK−1 + hλ

K∑k=1

β∗kξK−k

]= 0 (6.26)

una ecuacion con propiedades similares a los de (6.24). Sin embargo, tienenregiones de estabilidad absoluta un poco mas grande para valores mayores deK, y por esto varios usuarios prefieren el modo PECE de los metodos Adams,y no la iteracion hasta convergencia, cuando no se trata de problemas ”stiff”.

Para un metodo de pasos multiples mas general que los de Adams, concorrector de la forma

α0y(c)s+1 = −

K∑k=1

αkys+1−k + hβ0f(ts+1, y

(c)s+1

)+ h

K∑k=1

βk.ys+1−k (6.27)

la ecuacion correspondiente a (6.24) es

K∑k=0

αkξK−k − hλ

K∑k=0

βkξK−k = 0 (6.28)

o sea

α (ξ) − hλβ (ξ) = 0 (6.29)

definiendo los polinomios α (ξ) , β (ξ) con coeficientes αk, βk, k = 0, 1, ...,K.Si el metodo es de orden K, se sabe que la raız principal de (6.29) satisface

ξ = ehλ + 0((hλ)K+1

)(6.30)

de donde con hλ = 0, α (1) = 0. Resulta que puede escogerse el polinomioβ (ξ) con raıces en donde sea, y la condicion (6.30) determina el polinomioα (ξ) de manera unica. Los metodos de Adams resultan si se toma β (ξ) detal manera que las raıces ficticias de (6.29) tienden a cero cuando hλ→ 0, osea si las raıces ficticias de α (ξ) son cero. Para problemas ”stiff” se quieremantener estabilidad cuando hλ tiende a −∞ lo que resulta posible paraorden K hasta 11.

53

Page 55: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 7

FORMULACION DENORDSIECK Y METODOSPARA ECUACIONES”STIFF”

7.1 Una tecnica para cambiar el paso, y las formulas

de Gear

7.1.1 La formulacion de Nordsieck.

Para simplificar la notacion en esta seccion, se considera una sola ecuaciondiferencial

.y= f (t, y) (7.1)

y se reserva la notacion ys para el vector de informacion guardada en elmetodo predictor-corrector. Para el metodo de Adams de orden K, loscomponentes de ys serıan

ys0

ys1

−−−ysK

=

ys

h.ys

−−−h

.ys+1−K

(7.2)

54

Page 56: solucion numerica de ecuaciones diferenciales ordinarias

donde se han incluido multiplicadores h, para las derivadas, para simplificarformulas tales como (6.7). Si en realidad se tiene un sistema de ecuaciones,es posible sustituir un arreglo de dos dimensiones para este vector, con unacolumna para cada componente de la solucion, pero la notacion resulta muycompleja

Dado ys, es facil construir un vector predicho, multiplicando por unamatriz apropiada, por ejemplo

y(p)s+1 =

y(p)s+1

h.y(p)

s+1

h.ys

−−−h

.ys+2−K

=

1 β∗1 β∗2 −−− β∗K−1 β∗K0 γ1 γ2 −−− γ∗K−1 γ∗K0 1 0 −−− 0 00 0 1 −−− 0 0− − − −−− − −− − − −−− − −− − − −−− − −0 0 0 −−− 1 0

ys = Cys.

(7.3)Aquı, los γk son coeficientes nuevos, que todavıa pueden escogerse paraconsistencia, y

.y(p)

s+1 claramente no tiene el mismo significado como antes.

En efecto,.y(p)

s+1 debe ser la derivada de zs (τ) en τ = h. Si se tiene otrovector de informacion guardada, la interpretacion de los vectores ys, y

(p)s+1 es

diferente, y la matriz C tiene que ser diferente.Se tomara y

(p)s+1 como y

(0)s+1, el valor inicial para la aplicacion iterativa

del corrector. Una aplicacion del corrector (6.7), o de su forma mas general(6.27), puede escribirse

Fm = h.y(m)

s+1 −hf(ts+1, y

(m)s+1

)h

.y(m+1)

s+1 = h.y(m)

s+1 −Fm

y(m+1)s+1 = y

(m)s+1 − Fmβ0/α0

(7.4)

donde las primeras dos ecuaciones corresponden a la evaluacion,.y

(m+1)s+1 es lo

que antes se llamaba.y(m)

s+1 (o sea.y(p)

s+1 para la primera aplicacion con m = 0).A cualquier cambio a h

.ys+1 corresponde el mismo cambio, multiplicado por

β0/α0 para seguir satisfaciendo (6.27). El resultado de aplicar este correctoruna o varias veces es

y(c)s+1 = y

(p)s+1 − Fq (7.5)

55

Page 57: solucion numerica de ecuaciones diferenciales ordinarias

donde, en este caso, q es el vector

q =

β0/α0

10−−−0

(7.6)

(donde α0 = 1 para un metodo Adams), y F es un escalar que depende delmodo en lo cual se aplica el corrector. Finalmente, tomando

ys+1 = y(c)s+1 (7.7)

se ha avanzado un paso. Por la manera de incluir la evaluacion en la co-rreccion siguiente, el modo de aplicacion es necesariamente P (EC)m, con mfijo ≥ 1 o con iteracion hasta convergencia.

Considerese ahora un cambio de la informacion guardada, sin cambiarde manera esencial el metodo. Si el nuevo vector de informacion guardadaes zs, cualquier de los dos vectores ys, zs especifica de manera unica elmismo polinomio de grado K, y debe haber una matriz P no-singular queles relaciona, o sea

ys = Pzsys+1 = Pzs+1

(7.8)

En terminos de los nuevos vectores, (7.3) se escribe

z(p)s+1 = P−1CPzs (7.9)

y (7.5) se convierte en

z(c)s+1 = z

(p)s+1 − P−1qF (7.10)

con el mismo valor de F .En el caso particular

56

Page 58: solucion numerica de ecuaciones diferenciales ordinarias

zs =

ys

h.ys

12!h

2..ys

−−−

1K!h

Ky(K)s

(7.11)

el polinomio predictor es

zs (t− ts) =K∑

j=0

zsj

(t− tsh

)j

(7.12)

y se tienen sus derivadas escaladas

1k!hkz(k)

s (τ) =K∑

j=k

(jk

)zsj

h

)j−k

. (7.13)

Con τ = h se obtiene la matriz del predictor

P−1CP = A =

1 1 1 1 −−− 10 1 2 3 −−− K

0 0 1 3 −−− K(K−1)2

0 0 0 1 −−− K(K−1)(K−2)2·3

− − − − −−− −− − − − −−− −− − − − −−− −0 0 0 0 −−− 1

(7.14)

donde

Akj =

(jk

)= Ak,j−1 +Ak−1,j−1, j ≥ k. (7.15)

Escribiendo l = P−1q se tiene la formulacion de Nordsieck

z(p)s+1 = Azs

zs+1 = z(p)s+1 − lF

(7.16)

en donde se normaliza l por la condicion l1 = 1.

57

Page 59: solucion numerica de ecuaciones diferenciales ordinarias

Con esta notacion, no hay problema ninguno en cambiar el tamanodel paso h cuando es necesario, como esto implica solamente un nuevo es-calamiento de los componenetes de zs por potencias de h.

En la representacion (7.3) del metodo de Adams, no se definieron loselementos γk del segundo renglon de C, pero es facil de encontrar sus valores,considerando la consistencia del primer corrector, (7.4) con m = 0:

y(1)s+1 = y

(p)s+1 + β0

[hf

(ts+1,y

(p)s+1

)−

k∑k=1

γkh.ys+1−k

](7.17)

de donde, comparando con (6.8)

γk = (β∗k − βk) /β0. (7.18)

Ejemplo 7.1.1 Para el metodo Adams se segundo orden

β∗1 = 32 , β∗2 = −1

2β0 = 1

2 , β1 = 12 , β2 = 0

α0 = 1, α1 = −1, α2 = 0

de donde

γ1 = 2, γ2 = −1

C =

1 3

2 −12

0 2 −10 1 0

q =

1210

Para polinomios de segundo grado

ys=

ys

h.ys

h.ys−1

=

1 0 0

0 1 00 1 −2

ys

h.ys

12h

2..ys

= Pzs

de donde

58

Page 60: solucion numerica de ecuaciones diferenciales ordinarias

P−1CP =

1 0 0

0 1 00 1

2 −12

1 3

2 −12

0 2 −10 1 0

1 0 0

0 1 00 1 −2

=

1 1 1

0 1 20 0 1

= A

como debe de ser, y

l = P−1q =

1 0 0

0 1 00 1

2 −12

1210

=

12112

.

Este vector caracteriza el metodo implıcito de Adams de segundo orden enla formulacion de Nordsieck. Cuando se hace una correccion a h

.ys+1 (o sea

una evaluacion) se hace la mitad de la misma correccion a ys+1, y tambiena 1

2h2

..ys+1. Esto quiere decir que la aproximacion polinomial de segundo

grado en ts+1 se corrige por un multiplo de

12

+t− ts+1

h+

12

(t− ts+1

h

)2

=12

(t− tsh

)2

y es obvio que esto es consistente con el proceso de guardar los valores deys, h

.ys sin cambio para el paso siguiente.

Ademas, se ve que F es la suma de varias correcciones a la derivada,una para cada iteracion del corrector, y de (7.16), para un metodo dado(o sea un vector l dado, como A es fijo), F es proporcional a la diferenciaentre los valores corregidos y predichos y entonces proporcional al error detruncamiento local.

7.1.2 Estabilidad y metodos para ecuaciones ”stiff”.

Es claro que para ecuaciones ”stiff” se necesita un metodo implıcito, comometodos explıcitos tienen β0 = 0 y al menos una de las raıces de (6.28)crece sin lımite cuando hλ tiende a −∞. Se necesita un metodo implıcitopara lo cual todas las raıces de α (ξ) − hλβ (ξ) quedan con valor absolutomenor que uno para hλ real negativo, cualquiera que sea su magnitud, loque implica que las raıces de β (ξ) no deben ser mayores que uno. La region

59

Page 61: solucion numerica de ecuaciones diferenciales ordinarias

de estabilidad absoluta de tal metodo incluirıa todo el eje real negativo, yserıa de la forma general del exterior de una curva ası

.

Serıa ideal que el metodo des A-estable como los metodos de Euler poratras, y del trapecio: esto implica que la curva se encontrarıa completamentedel lado derecho del eje imaginario, pero no es posible para K > 2. Laregion de inestabilidad del lado izquierdo del eje imaginario corresponde afunciones complementarias oscilantes con amortiguamiento debil, para lascuales la restriccion sobre el paso h es normalmente mas fuerte debido aprecision, que la debido a la estabilidad.

Gear propuso los metodos de orden K con β (ξ) = ξK , o sea con todas susraıces iguales a cero, y demostro que tenıan regiones de estabilidad absolutade la forma descrita para K ≤ 6. Otros investigadores han encontradometodos con las mismas propiedades hasta K = 11.

Para todos estos metodos, queda un problema ya mencionado para losmetodos de Euler por atras, y del trapecio. Considerese la iteracion delcorrector (7.4) para la ecuacion lineal

60

Page 62: solucion numerica de ecuaciones diferenciales ordinarias

.y= λy + g (t) . (7.19)

Se tiene

Fm+1 = h.y(m+1)

s+1 −hf(ts+1, y

(m+1)s+1

)= h

.y(m)

s+1 −Fm − h[λy

(m+1)s+1 + g (ts+1)

]= hf

(ts+1, y

(m)s+1

)− h

[λ(y

(m)s+1 − Fmβ0/α0

)+ g (ts+1)

]= hλFmβ0/α0

(7.20)

y si |hλ| < |α0/β0| las iteraciones del corrector divergen. Es necesario re-conocer que el objeto de las iteraciones es de encontrar una F en (7.16) talque zs+1 satisface la ecuacion diferencial, lo que quiere decir que

zs+1,1 − hf (ts+1, zs+1,0) = 0 (7.21)

y de resolver esta ecuacion por el metodo iterativo de Newton-Raphson. Setiene

z(m+1)s+1,1 − hf

(ts+1, z

(m+1)s+1,0

)= z

(m)s+1,1 − l1Fm − hf

(ts+1, z

(m)s+1,0 − l0Fm

)� z

(m)s+1,1 − hf

(ts+1, z

(m)s+1,0

)−[l1I − l0hA

(m) (t)]Fm

(7.22)despreciando terminos en F 2

m, y con A(m) (t) definido como en (3.27). Por(7.21), esta expresion debe de ser cero aproximadamente, dando

[l1I − l0hA

(m) (t)]Fm = h

.y(m)

s+1 −hf(ts+1, y

(m)s+1

)(7.23)

un sistema de n ecuaciones lineales para determinar Fn (en el caso de unsistema de n ecuaciones diferenciales), en lugar de la definicion en (7.4). Siel sistema es lineal, y se tiene la matriz Jacobina exacta, una iteracion con(7.23) da la solucion de (7.21). En general, no se tiene la matriz Jacobianaexacta, como no se quiere repetir el calculo e inversion (factorizacion) dela matriz

[l1I − l0hA

(m) (t)]

en cada paso (aun menos en cada iteracionpara un sistema no-lineal), si no es relativamente sencillo. Por lo tanto,es necesario normalmente, iterar el corrector (7.23) mas de una vez. Gearsugerio la siguiente estrategia:

61

Page 63: solucion numerica de ecuaciones diferenciales ordinarias

(a) Si hay convergencia del corrector en 3 iteraciones o menos, se sigueutlitizando la misma factorizacion de la matriz

[l1I − l0hA

(m) (t)].

(b) Si en 3 iteraciones no hay convergencia, y si no se habıa calculadola matriz inmediatamente antes, se calcula y se factoriza nuevamente, y serepiten las iteraciones.

(c) Si no hay convergencia con una nueva matriz, se reduce h en un factor16, se calcula la nueva matriz, y se repiten las iteraciones.

Con un poco mas memoria y programacion, serıa posible mejorar laestrategia, guardando A(m) (t) para facilitar el calculo de

[l1I − l0hA

(m) (t)]

cuando h o K (que determina l0, l1) cambian. En caso (b) un nuevo calculode A(m) (t) serıa necesario de todos modos.

Ejemplo 7.1.2 Para la formula de diferenciacion por atras (de Gear) desegundo orden, se pone

β0 = 1 , β1 = 0 , β2 = 0

y resulta

α0 =32, α1 = −2 , α2 =

12

para que el metodo sea exacto para cualquiera solucion polinomial de segundogrado. Entonces la informacion guardada es

ys =

ys

h.ys

ys−1

=

1 0 0

0 1 01 −1 1

ys

h.ys

12h

2..ys

= Pzs

y los predictores son

y(p)s+1 = 2h

.ys +ys−1

h.y(p)

s+1 = −2ys + 3h.ys +2ys−1

de donde la matriz

C =

0 2 1

−2 3 21 0 0

.

Se verifica que P−1CP = A, y como

62

Page 64: solucion numerica de ecuaciones diferenciales ordinarias

q =

β0/α0

10

=

2310

se tiene

l = P−1q =

1 0 0

0 1 0−1 1 1

2310

=

23113

.

Cualquiera correccion a zs+1 es un multiplo de

23

+t− ts+1

h+

13

(t− ts+1

h

)2

=13

(t− tsh

)(t− ts−1

h

).

Entonces deja sin cambio los valores de ys, ys−1, pero en este caso no h.ys

que ya no se utiliza en el paso siguiente.

Al comparar los metodos de Gear y de Adams, se encuentra que losde Gear necesitan mas tiempo de calculo para problemas sin ”stiffness”, ymucho menos tiempo para problemas ”stiff”. Algunos investigadores con-sideran que las ventajas de los metodos de Adams en los casos sin ”stiffness”no son suficientemente grandes para justificar la utilizacion de los dos, y sug-ieren los metodos de Gear para fines generales. Sin emabargo, los metodosde Adams son todavıa mas conocidos y generalmente disponibles y otros tra-bajadores consideren que es necesario tener rutinas para los dos metodos,dejando al usuario decidir si su problema es ”stiff”. Puede concluirse que encaso de duda es mejor utilizar los metodos de Gear, pero ciertas implementa-ciones de los metodos de Adams salen con un diagnostico si consideran queel sistema de ecuaciones es ”stiff”.

63

Page 65: solucion numerica de ecuaciones diferenciales ordinarias

Chapter 8

METODOSAUTOMATICOS.

8.1 Diseno de rutinas con un mınimo de parametrosde control.

8.1.1 Necesidades para un algoritmo automatico.

Ya se ha mencionado varias veces la idea de metodos automaticos de inte-gracion, en particular la seleccion automatica del paso h en base en un errorde truncamiento local estimado. Se estudiaran ahora con mas detalle lasnecesidades para un algoritmo automatico. Deben incluirse los siguientespuntos:

(A) un metodo para avanzar la solucion de un tiempo dado t por un pasohasta tiempo t+h, y estimar el error de truncamiento local correspondiente;

(B) una tecnica para cambiar el tamano del paso h (y eventualmente elorden K), y para actualizar la informacion guardada que depende de h (ode K);

(C) una estrategia para decidir el valor de h (y eventualmente de K)que debe utilizarse, como resultado de la utilizacion de (A) para un paso deprueba, y un examen del error estimado;

(D) una manera de entregar al usuario los valores y(Tr), r = 0, 1, 2, ...,de la solucion en tiempos Tr, especificados de antemano, y frecuentementecon intervalos iguales.

Se ha considerado (A) en las secciones anteriores. Hay que acordarseque normalmente existe una constante K (el orden del metodo) tal que el

64

Page 66: solucion numerica de ecuaciones diferenciales ordinarias

error de truncamiento local, para un paso de tamano h, es

dr = CK+1hK+1y(K+1) (tr) +O

(hK+2

)(8.1)

donde CK+1 es un constante caracterıstico del metodo. Tal formula puedetener validez, por cierto, solo si las ecuaciones diferenciales son tales quey(t) tiene una derivada continua de orden K + 1, o sea que f(t, y) tienederivadas continuas de orden K con respecto a sus argumentos. Aun siesto es cierto para la ecuacion diferencial exacta que quiere resolverse, debecuidarse que cualquiera aproximacion a las funciones involucradas es sufi-cientemente suave para no violar esta condicion, si se quiere que un metodoautomatico funcione sin problemas. Supongase por ejemplo que se quiereresolver la ecuacion sencilla

.y +αy = g(t) (8.2)

donde g(t) es una funcion fısica compleja para la cual se tienen aproxima-ciones diferentes en los rangos 0 ≤ t ≤ 1, 1 ≤ t ≤ 4, 4 ≤ t. Aun si se cuidaque los errores de las aproximaciones sean pequenas, y que sean continuasentre sı en los puntos t = 1, t = 4, de todos modos no tendran una suavi-dad perfecta en estos puntos; una derivada, en muchos casos la primera,tendra una discontinuidad. Es claro que la derivada de la solucion de ordenuno mayor sera tambien discontinua, y se puede esperar que un metodo au-tomatico de solucion de alto orden no podrıa atravesar esas discontinuidades,o al menos generarıa errores inesperadamente grandes, o tomarıa pasos muypequenos ası desgastando el tiempo de calculo.

El punto (B) es trivial para un metodo de un solo paso. Para un metodode pasos multiples, puede ser relativamente sencillo para la formulacion deNordsieck, o bastante difıcil para otras formulaciones. Por esta razon, mu-chos programas automaticos en el pasado han utilizado pasos h relacionadospor potencias de 2, o sea de la forma 2ph0 para un entero p (positivo o nega-tivo) y un paso de prueba h0, posiblemente dado por el usuario, o calculadoen base a un criterio del programa. El mejor valor de h en cualquier puntode la integracion puede ser de la forma 2p+θh0 para 0 ≤ θ < 1, y si se hace lasuposicion razonable que θ puede tomar cualquier valor en este intervalo conla misma probabilidad se concluye que tal metodo hace aproximadamente1.4 veces mas trabajo que lo necesario. Metodos mas modernos no restringenlos cambios de h a factores de dos, y reducen el trabajo a aproximadamente1.1 veces mas que lo ideal, o sea 30% menos que antes.

65

Page 67: solucion numerica de ecuaciones diferenciales ordinarias

El punto (C) es lo mas importante para un metodo automatico, y seconsidera con mas detalle despues. Antes se va a ver el punto (D) que puedeparecer trivial a primera vista. La solucion obvia es de probar, antes de hacerun paso de la integracion, si se va a rebasar el punto siguiente Tr en lo cual senecesita la solucion, y en el caso que sı, reducir h hasta Tr− t. Esto funcionabien si el espaciamiento entre los puntos Tr es grande comparado con el pasoh optimo, en cual caso no cuesta mucho calculo suplementario, y si no haycomplicaciones al cambiar h por un factor arbitrario. Muchas veces estono es el caso. Para metodos de pasos multiples, aun con la formulacion deNordsieck, hay problemas si se cambia el paso h con frecuencia, o por factoresgrandes. Ademas muchas veces el usuario quiere valores de la solucion enpuntos Tr, con intervalos iguales pero mas pequenos que los pasos h quepueden utilizarse por razones de precision y estabilidad. Esto puede ser elcaso para problemas ”stiff”, si el usuario quiere resultados con intervalostıpicos de las funciones complimentarias rapidas, aun cuando la solucionparticular se ha suavizada. Considerese los distintos tipos de metodos porseparado.

Los metodos de un solo paso no tienen, desde luego, problemas paracambiar el valor del paso h que utilizan. Para problemas ”stiff” tienen quetomar pasos chiquitos (al menos los metodos que se han visto en este curso),y es probable que necesitarıan muchos pasos entre valores consecutivos de Tr.Los metodos predictor-corrector pueden utilizar la formulacion de Nordsieck,que facilita el cambio del paso, pero estas formulas tienen un metodo muyeconomico de interpolar dentro de un paso, como en cada paso se tiene unpolinomio interpolante. Pueden, entonces, evitar el problema tomando unpaso normal que rebasa uno (o varios) puntos Tr, y despues interpolar lasolucion en estos puntos. Por ejemplo, con la formulacion de Nordsieck,puede utilizarse el polinomio predictor

y(t) =K∑

k=0

1k!hky(k)

s

(t− tsh

)k

(8.3)

para interpolacion en el rango ts < t < ts + h, o igualmente utilizar demanera atrasada el predictor siguiente

y(t) =K∑

k=0

1k!hky

(k)s+1

(t− ts+1

h

)k

(8.4)

despues de completar el paso. Esto tiene ventajas bien claras sobre (8.3),como da una solucion continua; (8.4) evaluado en t = ts da ys, mientras

66

Page 68: solucion numerica de ecuaciones diferenciales ordinarias

(8.3) evaluado en t = ts+1 da y(p)s+1 �= ys+1. Hay otra posibilidad, que es

de interpolar todos los valores guardados, tanto en ts como en ts+1; por unpolinomio de grado mas elevado, que da una solucion interpolada mas suave.

Para los metodos de un solo paso, no parece que hay una manera deutilizar los valores intermedios dentro del paso, que generan los metodosde Runge-Kutta y de extrapolacion, como esos valores no tienen el mismoorden de precision como los valores del principio y al final del paso. Enuna rutina automatica publicada, utilizando el metodo de extrapolacion deBulirsch y Stoer, cada vez que se ha pasado por un punto Tr, se guardanlos valores actuales de la solucion, y se ejecuta un paso mas corto por atras,hasta Tr. Con este metodo, el paso adicional puede ser bastante costoso.

Considerese ahora la estrategia para fijar h (y eventualmente K, si se dejala libertad de variarlo). Es importante realizar que casi todos los metodosautomaticos utilizan estrategias relativamente sencillas, para evitar calculosadicionales costosos. Escogen h (dado el orden K) lo mas grande posiblepara guardar, en cada paso, una norma del error de truncamiento localestimado dentro de ciertos lımites. Tomando en cuenta las suposiciones (a)y (b) de la seccion 5.1.5, una norma tıpica es

‖d‖ = max1≤i<n

∣∣∣∣di

Yi

∣∣∣∣ (8.5)

donde los Yi pueden ser valores tıpicos de |yi (t)| especificados por el usuario,bajo suposicion (a), pueden ser calculados como

Yi (t) = max (Yi (0) ,max0≤τ≤t |yi (τ)|) (8.6)

donde queda necesario especificar Yi (0) para evitar que sea inicialmente cero,por ejemplo Yi (0) = 1. Esta ultima expresion (8.6) parece tener ventajas,especialmente si el usuario especifica Yi (0) como un valor tıpico de |yi (t)|,como entonces controla el error absoluto si la solucion no crece, segun su-posicion (a), y controla el error relativo si la solucion crece, segun suposicion(b). En la practica, hay muchos problemas en los cuales los elementos yi,del vector de soluciones, representan cantidades fısicas con ordenes de mag-nitud muy diferentes y no es aconsejable que el programa automatico utilicevalores estandares para los Yi (0), tales como Yi (0) = 1. Por la misma razon,no es satisfactorio dejar Yi = 1 en (8.5). Por otra parte, no hay razon par-ticular para la forma (8.5) en preferencia sobre ciertas otras normas, talescomo

67

Page 69: solucion numerica de ecuaciones diferenciales ordinarias

‖d‖ =

[n∑

i=1

(di

Yi

)2]1/2

(8.7)

excepto que esta necesita un poco mas de calculo. Algunos programas uti-lizan formas mas complejas para Yi (t) que aquella dada en (8.6), pero nor-malmente esto es suficiente.

Un punto debil en casi toda esrategia es que controla solamente el error detruncamiento local. Normalmente, el usuario especifica una tolerancia ε porpaso (en conjunto con los Yi, ya no se necesita un vector de tolerancias comoen la seccion 6.1.1, el vector anterior siendo ahora εY ), y el algoritmo escogeh para que la norma del error de truncamiento local estimado satisfaga

‖d‖ < ε (8.8)

A veces, como se describio en la seccion 5.1.5, se hace un intento de con-trolar el error global en b, escogiendo h para que el error local estimado seaproporcional a h, o sea

‖d‖ < h

bε (8.9)

si se esta integrando de cero a b. Con los metodos de pasos multiples, estopuede generar problemas, como normalmente se arrancan por un metodo deprimer orden con

‖d‖ ∝ h2 (8.10)

lo que da una h proporcional a ε, posiblemente muy pequeno.Ademas, el criterio (8.9) puede ser muy pesimista para un problema

”stiff”. Para la ecuacion sencilla (8.2), el error acumulado εs satisface apro-ximadamente

(εs − εs−1) + αhεs = ds (8.11)

que es una aproximacion a la ecuacion diferencial

dt+ αε =

1hd (t) . (8.12)

Esto tiene la solucion (si ε (0) = 0)

ε (t) =∫ t

0eα(τ−t) d (τ)

h (τ)dτ (8.13)

68

Page 70: solucion numerica de ecuaciones diferenciales ordinarias

y si se utiliza (8.9) con Y = 1 en (8.5) se tiene

|ε (b)| < ε

b

∫ b

0eα(τ−b)dτ =

ε

αb

(1 − e−αb

). (8.14)

Si el problema es ”stiff”, αb es grande positivo, y este error global es muchomenor que la tolerancia ε. En el caso contrario, para un problema inestable,αb es grande negativo, y la expresion en (8.14) puede ser mucho mayorque ε. En este caso, si la solucion crece como e−αt segun suposicion (b), yY = max0≤τ≤t |y(t)| se obtiene en lugar de (8.14)

|ε (b)| < ε

b

∫ b

0e−αbdτ = εe−αb (8.15)

que es mayor que ε, pero representa un error relativo de ε, con respecto a lasolucion. Regresando al caso ”stiff”, para un sistema complejo de ecuacionesel criterio (8.9) puede ser menos pesimista, como habrıa un rango de valorespropios α, para unos de los cuales posiblemente αb es del orden de magnitudde la unidad, y (8.14) da una cota razonable.

Ahora que se tienen unas reglas para escoger el paso h dado el orden K,queda para ciertos tipos de metodos la posibilidad de escoger K. General-mente metodos de bajo orden son mas eficientes cuando no se pide muchaprecision, o cuando el paso h se encuentra limitado por razones de estabi-lidad, y no por razones de precision, mientras los metodos de orden elevadoson mejores para conseguir alta precision. En un metodo de pasos multiples,es conveniente arrancar con K = 1 (un metodo de un solo paso) como no senecesita informacion guardada. Sin embargo, debe ser posible aumentar Krapidamente a medida que se vaya generando tal informacion.

Una estrategia del estilo siguiente se utiliza con frecuencia. De la dife-rencia entre el predictor y el corrector, se tiene una estimacion dKs (h) delerror de truncamiento local en el s-esimo paso de tamano h con orden K.Supuestamente

dKs(hK) = dKs (h)(hK

h

)K+1

(8.16)

lo que permite escoger hK , el mejor paso h el orden K, como se ha descrito.

69

Page 71: solucion numerica de ecuaciones diferenciales ordinarias

Cuando ya se tienen dos pasos con el mismo h y al mismo K, se tienen

dK,s+1 (h) − dKs (h) = CK+1hK+1

{yK+1 (ts+1) − y(K+1) (ts)

}+ 0

(hK+3

)= CK+1h

K+2y(K+2) (ts+1) + 0(hK+3

)� CK+1

CK+2dK+1,s+1 (h)

(8.17)de donde es posible estimar el error que podrıa esperarse con el ordenK + 1. Tambien se tendrıa una estimacion de hKy(K), lo que permiteestimar dK−1,s (h). De estas estimaciones, es posible obtener los mejorespasos hK−1, hK+1 que podrıan utilizarse con los ordenes correspondientes.Basicamente, se escoge el orden que permite el paso mas grande (si el calculopor paso es similar en los tres casos), y se toma un paso un poco mas pequenoque el maximo para evitar que se encuentre rechazado con mucha frecuen-cia, debido a variaciones de la estimacion entre un paso y el siguiente. Sonnecesarias unas reglas de seguridad, tales como las siguientes:

(a) Si el error es demasiado grande, no se considera un aumento delorden, sino solamente se comparan los ordenes K, K − 1.

(b) Despues de un cambio de h, o de K, no se considera un aumento, nide h, ni de K, durante K+1 pasos, porque los metodos con pasos multiplestienen implıcitamente una memoria de K + 1 valores, y se encuentra quegenera una inestabilidad de cambiar artificialmnte dos veces el mismo pasadoguardado.

(c) No se cambia h por un factor menor que 1.1, ni por un factor mayorque 2, como valores lımites tıpicos.

(d) No se cambia el orden K si no hay una ventaja significativa. Sino hay una diferencia significativa entre los ordenes K − 1, K + 1, se dapreferencia al orden K − 1, para lo cual hay menos problemas posibles conerror de redondeo, o con derivadas discontinuas.

70

Page 72: solucion numerica de ecuaciones diferenciales ordinarias

Bibliography

[1] Gear C.W., Numerical Initial Value Problems in Ordinary DifferentialEquations, Prentice-Hall, 1971.

[2] Shampine L.F. & Gordon M.K., Computer Solution of Ordinary Differ-ential Equations, W.H.Freeman, 1975.

[3] Hall G. & Watt J.M., Modern Numerical Methods for Ordinary Differ-ential Equations, Oxford University Press, 1976.

[4] Butcher J.C., The Numerical Analysis of Ordinary Differential Equa-tions, Wiley, 1987.

[5] Hairer E., Nørsett S.P. & Wanner G., Solving Ordinary DifferentialEquations I, Nonstiff Problems, Springer-Verlag, 1987, (Second Edition1993).

[6] Hairer E. & Wanner G., Solving Ordinary Differential Equations II, Stiffand Differential-Algebraic Problems, Springer-Verlag, 1991.

[7] Lambert J.D., Numerical Methoda for Ordinary Differential Systems,The Initial Value Problem, Wiley, 1991.

71