You are on page 1of 72

SOLUCION NUMERICA DE ECUACIONES

DIFERENCIALES ORDINARIAS.
Roland England
Marzo 2003.
1
Contents
1 Introducci on 4
1.1 Repaso de las propiedades de ecuaciones diferenciales ordi-
narias y de sus soluciones. . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Soluciones analticas y numericas. . . . . . . . . . . . 4
1.1.2 Sistemas de ecuaciones, y ecuaciones de orden mayor
que uno. . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.3 Soluciones generales y condiciones iniciales. . . . . . . 6
1.1.4 Singularidades y ecuaciones implcitas. . . . . . . . . . 7
1.1.5 Teorema de existencia. . . . . . . . . . . . . . . . . . . 9
1.2 Ecuaciones lineales, linealizaci on de ecuaciones no-lineales, y
estabilidad del problema. . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Soluci on general de ecuaciones lineales. . . . . . . . . 10
1.2.2 Aplicaci on a la primera variaci on de ecuaciones no-
lineales, y estabilidad del problema. . . . . . . . . . . 12
2 CONCEPTOS BASICOS PARA PROBLEMAS CONCONDI-
CIONES INICIALES. 14
2.1 Metodo de Euler con an alisis del error. . . . . . . . . . . . . 14
2.1.1 Metodo de Euler. . . . . . . . . . . . . . . . . . . . . 14
2.1.2 Pruebas numericas. . . . . . . . . . . . . . . . . . . . . 15
2.1.3 Una cota para el error. . . . . . . . . . . . . . . . . . . 16
2.1.4 Comprobaci on numerica. . . . . . . . . . . . . . . . . 19
2.1.5 Estimaci on del error. . . . . . . . . . . . . . . . . . . . 19
3 ESTABILIDAD Y METODOS IMPLICITOS 21
3.1 Estabilidad del problema con condiciones iniciales . . . . . . 21
3.1.1 Problemas estables con cota grande para el error. . . . 21
3.1.2 Ecuaciones Diferenciales sti, y el metodo de Euler. 22
2
3.1.3 Un metodo con region de estabilidad absoluta mas
grande. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 METODOS CON UN SOLO PASO 28
4.1 Clasicaci on de metodos . . . . . . . . . . . . . . . . . . . . . 28
4.1.1 Metodos con un solo paso y con pasos m ultiples. . . . 28
4.1.2 El metodo de la serie de Taylor. . . . . . . . . . . . . 29
4.1.3 Metodos de extrapolaci on. . . . . . . . . . . . . . . . . 29
4.1.4 Metodos del tipo Runge-Kutta. . . . . . . . . . . . . . 34
5 METODOS DE RUNGE-KUTTA Y CONTROL DEL ER-
ROR. 35
5.1 Metodos del tipo Runge-Kutta. . . . . . . . . . . . . . . . . . 35
5.1.1 Forma aut onoma, y notaci on. . . . . . . . . . . . . . . 35
5.1.2 Metodo del punto medio por extrapolaci on. . . . . . . 36
5.1.3 Metodos del tipo Runge-Kutta de orden dos. . . . . . 36
5.1.4 La clase de metodos de orden cuatro. . . . . . . . . . 37
5.1.5 Suposiciones que permiten el ajuste pr actico del paso. 41
5.1.6 Estimaci on del error de truncamiento local. . . . . . . 42
6 METODOS CON PASOS MULTIPLES 45
6.1 Introducci on a los metodos con pasos m ultiples. . . . . . . . . 45
6.1.1 Los metodos de Adams. . . . . . . . . . . . . . . . . . 45
6.1.2 Estabilidad de los metodos de pasos m ultiples. . . . . 50
7 FORMULACION DE NORDSIECK Y METODOS PARA
ECUACIONES STIFF 54
7.1 Una tecnica para cambiar el paso, y las formulas de Gear . . 54
7.1.1 La formulacion de Nordsieck. . . . . . . . . . . . . . . 54
7.1.2 Estabilidad y metodos para ecuaciones sti. . . . . 59
8 METODOS AUTOMATICOS. 64
8.1 Dise no de rutinas con un mnimo de par ametros de control. . 64
8.1.1 Necesidades para un algoritmo autom atico. . . . . . . 64
3
Chapter 1
Introducci on
1.1 Repaso de las propiedades de ecuaciones dife-
renciales ordinarias y de sus soluciones.
1.1.1 Soluciones analticas y numericas.
El problema mas sencillo en ecuaciones diferenciales ordinarias es el de en-
contrar una funci on y(t) cuya derivada
.
y
=
dy
dt
= f(t, y) (1.1)
donde f(t, y) es una funci on 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, atr as de esta notacion quedan dos problemas inmediatos,
uno f acil de resolver, y el otro causa de muchas dicultades pr acticas.
Primero, la ecuacion (1.2) no se determina de manera unica, pues si
se le suma una constante arbitraria al lado derecho, sigue satisfaciendo la
ecuaci on (1.1). Se resuelve este problema jando el valor de y = y
0
cuando
t = t
0
. Entonces, en lugar de la integral indenida de (1.2), se tiene la
integral denida
y(t) = y
0
+
_
t
t
0
f()d (1.3)
que es la solucion unica.
4
El segundo problema es que la integral en (1.2) o (1.3) no puede gen-
eralmente evaluarse explcitamente como una expresion analtica para y(t).
Es posible s olo para ciertas formas especcas de la funci on f(t), y a un as,
muchas veces es necesario adivinar el resultado, y vericarlo mediante la
ecuacion ( 1.1).
Ejemplo 1.1.1 Si f(t) = 1/(1+e
t
sin
2
t) no se conoce una integral explcita,
y s olo puede resolverse mediante integraci on numerica.
Ejemplo 1.1.2 Sea f(t) = 1 + e
t
sin
2
t.
Entonces f(t) = 1 +
1
2
e
t
(1 cos 2t).
_
f(t)dt = t +
1
2
e
t
_
1
1
5
(cos 2t + 2 sin 2t
_
+ constante arbitrario.
Cuando f depende explcitamente de y, como en ecuacion (1.1), puede
pensarse que el primer problema desaparece, pues al sumar una constante
a 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 jando
otra vez el calor de y(t
0
).
Por otra parte, es de esperarse que el segundo problema vuelva a un
mas difcil cuando y aparece explcitamente en f. A un no se conoce el
integrando en ecuaci on (1.3) antes de encontrar la soluci on!. El hecho es
que la soluci on queda bien determinada, excepto en la vecindad de ciertos
puntos llamados singularidades donde f(t, y) tiende hacia innito o toma
una forma indenida tal como 0/0.
Sin embargo, es cierto que el problema es mas difcil, y en los casos
sencillos que pueden reducirse por an alisis a unas integraciones simples tales
como (1.3), en el pasado se ha considerado que vale la pena el trabajo de
tal reducci on.
1.1.2 Sistemas de ecuaciones, y ecuaciones de orden mayor
que uno.
Antes de considerar la soluci on del problema (1.1), vale la pena mencionar
dos generalizaciones.
Primero, y, f pueden ser vectores de dimensi on n, o sea (1.1) sera una
notaci on reducida para el sistema de ecuaciones
5
.
y
1
= f
1
(t, y
1
, y
2
, ..., y
n
)
.
y
2
= f
2
(t, y
1
, y
2
, ..., y
n
)
.
.
.
.
y
n
= f
n
(t, y
1
, y
2
, ..., y
n
)
(1.4)
donde f
1
, f
2
, ..., f
n
son funciones distintas de los n+1 argumentos. No todos
los argumentos deben de aparecer explcitamente 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)
=
d
n
y
dt
n
que se especica, como funci on
de t, y, y de las derivadas de ordenes mayores, de esta forma:
y
(n)
= f(t, y,
.
y
,
..
y
, ..., y
(n1)
). (1.5)
Afortunadamente, esta generalizaci on no es diferente, como puede verse al
escribir
y
1
= y , y
i
= y
(i1)
, i = 2, 3, ..., n (1.6)
luego se puede reemplazar la ecuacion (1.5) por el sistema de ecuaciones de
primer orden
.
y
1
= y
2
.
y
2
= y
3
.
.
.
.
y
n1
= y
n
.
y
n
= f(t, y
1
, y
2
, ..., y
n
)
(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 de
primer orden para la soluci on numerica, aun que algunos metodos se pre-
sentar an para tratar directamente ecuaciones de orden mayor.
1.1.3 Soluciones generales y condiciones iniciales.
Volviendo al tema del nivel de arbitrariedad de la soluci on de (1.1) o de
(1.4), se considerar a explcitamente el caso (1.1) en terminos de curvas en el
espacio de dos dimensiones con coordenadas t, y, pero todos los argumentos
seran v alidos para (1.4) en un espacio de n+1 dimensiones con coordenadas
t, y
1
, y
2
, ..., y
n
.
6
Considerese cualquier punto inicial especicado (t
0
, y
0
) [o en caso de un
sistema (t
0
, y
10
, y
20
, ..., y
no
)]. Si la funci on f en (1.1) [o cualquiera de las
funciones f
i
en (1.4)] no esta denida en este punto, entonces este punto no
puede encontrarse en una de las soluciones de (1.1). Por otra parte, si f [o
todas las f
i
] esta denida en este punto, entonces ja el valor de
.
y
[o de to-
das las
.
y
i
], y as la direcci on de movimiento del punto cuando t se aumenta.
En un punto vecino en esta direcci on, una direcci on (un poco diferente) de
movimiento se determina de manera similar, y se ve intuitivamente que la
curva de la soluci on que empieza en este punto inicial se encuentra deter-
minada de manera unica, hasta cuando, posiblemente, llega a un punto en
el cual f [o una de las f
i
] no esta denida, o sea, una singularidad. Si se
empieza en un punto inicial distinto, se encuentra una curva de soluci on
distinta, que no puede tener una intersecci on con la primera en un punto
regular, como la direcci on de la curva en tal punto es unica. Sigue que, en el
caso general, pueden especicarse arbitrariamente las n+1 coordenadas del
punto inicial (al menos dentro de la regi on de denici on de la funci on f), y
que para cada punto se obtiene una curva unica de soluci on. Desde luego,
hay una simple innidad de puntos en cada una de estas curvas, lo que deja
n par ametros para especicar la solucion de manera unica. Adem as, sin con-
siderar las posibles dicultades en el caso de la existencia de singularidades,
estos parametros pueden ser los n valores y
1
(t
0
), y
2
(t
0
), ..., y
n
(t
0
) para un t
0
jo, arbitrario, que es posible tomar como cero, cambiando, si es necesario,
el origen de t.
1.1.4 Singularidades y ecuaciones implcitas.
Para ver un poco las dicultades que pueden presentarse, se dan a contin-
uaci on unos ejemplos sencillos de problemas con singularidades.
Ejemplo 1.1.3 Si
.
y
= t/y hay una soluci on unica por cada punto en el
cual no se tiene y = 0. En la recta y = 0, f(t, y) es innita excepto para
t = 0, cuando no esta denida. Es facil vericar que las soluciones son los
crculos concentricos t
2
+ y
2
= c, que claramente no tienen intersecciones.
Ademas, es posible incluir las singularidades de la recta y = 0, en las cuales
los crculos tienen tangente vertical, por argumentos de continuidad. Sin
embargo, no hay soluci on que pasa por el origen.
Ejemplo 1.1.4 Si
.
y
= y/t hay una soluci on unica por cada punto, excepto
en la recta t = 0, en donde f(t, y) es innita (con excepcion del punto (0, 0)
7
en donde no esta denida). Estas soluciones son las rectas y = ct, que
pasan todas por la singularidad en (0, 0), el unico punto en el cual tienen
intersecci on. La recta t = 0 tiene tangente vertical, y puede considerarse
tambien como una soluci on.
Ejemplo 1.1.5 Si
.
y
= y/t hay otra vez una soluci on unica por cada punto
en el cual t ,= 0, pero ahora las soluciones son las hiperbolas rectangulares
ty = c. La recta particular t = 0 puede considerarse como una soluci on,
parte de la hiperbola degenerada con c = 0 (que constituyen las dos rectas
t = 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 situaci on similar
a la del ejemplo 1.1.3. Esta vez las soluciones son hiperbolas rectangulares
t
2
y
2
= c, y para el caso particular c = 0, esto degenera para formar las
dos rectas y = t con intersecci on en el punto singular (0, 0).
Ejemplo 1.1.7 Si
.
y
= (t +y)/(t y) hay una soluci on unica por cada punto
excepto en la recta y = t, en la cual f(t, y) es en general innita, pero no
esta denida 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 simplica para dar
.
r= r
.

, o sea
dr
d
= r, cuyas soluciones son las
espirales equiangulares r = ce

. Todas estas tienen tangentes verticales en


la 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 la
singularidad en (0, 0), no hay soluci on en este punto.
Singularidades pueden tambien presentarse cuando las ecuaciones difer-
enciales no vienen en una de las formas explcitas consideradas. Tratando
el caso mas sencillo de una sola ecuacion de primer orden, esto puede pre-
sentarse en la forma implcita
g(t, y,
.
y
) = 0 (1.8)
8
donde g es una funci on dada de sus tres argumentos. La resoluci on 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
implcitos directamente, pero todava tienen unos problemas no-resueltos, y
no se presentaran aqu. Siempre se supondr a que se tienen las ecuaciones en
la forma (1.4) , o a veces (1.5).
Ejemplo 1.1.8 Considerese la ecuaci on
.
y
2
+y
2
1 = 0 que se satisface si
y = sin(t + c)para cualquier valor del constante c. Si se resuelve para
.
y
se
tiene
.
y
=
_
1 y
2
, una funcion con dos valores para [ y [< 1, un valor
para [ y [= 1, y ning un valor real para [ y [> 1. La soluci on general dada
necesita utilizar los dos valores de la raz cuadrada. Las lneas y = 1 son
lineas de singularidades, en las cuales la funci on cambia de signo. Son las
envolventes de las curvas de soluci on, que s tienen intersecciones, como la
derivada tiene dos valores posibles en cualquier punto. Las envolventes con-
stituyen ellas mismas unas soluciones que no se incluyen en la forma general
de la solucion. Es posible tambien construir otras soluciones, con derivadas
continuas, por partes de la soluci on general, y partes de las envolventes. De
todos modos, la soluci on no es unica, una vez que se llega a las singulari-
dades. Adem as, si, por errores tales como redondeo, la aproximaci on para
y que se obtiene de la computadora es mayor que uno en valor absoluto, su
derivada ya no tiene valor real. As, aun una ecuaci on tan sencilla puede
presentar problemas en la solucion numerica.
1.1.5 Teorema de existencia.
Hay un teorema de existencia y unicidad de la soluci on del problema (1.1)
con una condici on inicial y(t
0
) dada. Esencialmente dene que es un punto
regular, dejando que un punto inicial que no satisface las condiciones del
teorema puede ser una singularidad. Sin dar la forma m as comprensiva, se
tiene:
Teorema 1.1.1 Dado la ecuaci on diferencial
.
y
= f(t, y), donde f(t, y) es
una funci on contnua para 0 t b (todo y), y existe un constante L tal
que
[ f(t, y) f(t, z) [ L [ y z [
9
para 0 t b (todo y, z) Condicion de Lipschitz entonces existe una
funci on contnua, diferenciable, y unica y(t) tal que
.
y
(t) = f(t, y(t)) ,
y(0) = y
0
.
La demostracion puede encontrarse en los libros sobre la teora de ecua-
ciones diferenciales ordinarias.
La condici on de Lipschitz es mas fuerte que una condici on de continuidad
con respecto a y, pero no requiere que f(t, y) tenga derivada contnua con
respecto a y, el constante de Lipschitz L es una cota para la derivada parcial
f
y
.
Es posible plantear un teorema an alogo al Teorema 1.1.1, si las condi-
ciones se satisfacen para y, z dentro de una regi on nita que contiene y
0
.
Ademas, puede aplicarse a sistemas de ecuaciones, donde y, z, f son vec-
tores de dimensi on n, si los valores absolutos se reemplazan por normas.
1.2 Ecuaciones lineales, linealizaci on de ecuaciones
no-lineales, y estabilidad del problema.
1.2.1 Soluci on general de ecuaciones lineales.
Para terminar esta introducci on, se mencionara la forma particular de la
soluci on general para un sistema lineal, o sea un sistema en el cual los y
i
y
sus derivadas aparecen linealmente, sin potencias o productos. Tal sistema
puede 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 dos
funciones 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 = Z
r
(t) , r = 1, 2, ..., n (1.11)
de la ecuaci on homogenea
.
y
= A(t)y (1.12)
10
que se obtiene de (1.9) reemplazando b(t) por un vector de n ceros, entonces
la soluci on m as general posible de (1.9) es de la forma
y = Y (t) +
n

r=1
C
r
Z
r
(t) (1.13)
en la cual los C
r
son constantes que pueden tomar cualquier valor jo. El
primer termino en el lado derecho de (1.13) se llama Integral Particular, y
la sumatoria se llama Funci on Complementaria.
Se ve que (1.13) es efectivamente una soluci on de (1.9) por sustituci on
directa:
.
y
A(t)y b(t) =
.
Y A(t)Y b(t) +
n

r=1
C
r
_
.
Zr
A(t)Z
r
_
= 0 (1.14)
Para demostrar que la soluci on general es de la forma (1.13) se considera
una soluci on
y = W(t) (1.15)
de (1.9), y la funci on
Z
0
(t) = Y (t) W(t). (1.16)
Se ve que Z
0
(t) es una solucion de (1.12), y por la misma sustituci on como
antes
y = b
0
Z
0
(t) +
n

r=1
b
r
Z
r
(t) (1.17)
es una soluci on de (1.12) para valores cualesquiera de los n + 1 constantes
b
0
, b
1
, ..., b
n
. Como la solucion general no puede tener m as de n constantes
arbitrarios, una de las funciones Z
0
(t), Z
1
(t), ..., Z
n
(t) puede expresarse como
combinaci on lineal de las dem as, para permitir la eliminaci on de uno de los
constantes en (1.17). Concretamente, debe existir una relacion de la forma
a
0
Z
0
(t) +
n

r=1
a
r
Z
r
(t) = 0 (1.18)
en la cual no todos los coecientes a
0
, a
1
, ..., a
n
son ceros. No es posible
que a
0
= 0, como las n funciones Z
1
, Z
2
, ...., Z
n
se tomaron linealmente
independientes. Entonces, se tiene
11
W(t) = Y (t) Z
0
(t)
= Y (t) +

n
r=1
ar
a
0
Z
r
(t)
(1.19)
utilizando (1.18). Como W(t) se tomo como una soluci on cualquiera de
(1.9), se tiene que la soluci on general es de la forma (1.13), con C
r
= a
r
/a
0
.
1.2.2 Aplicaci on a la primera variaci on de ecuaciones no-
lineales, y estabilidad del problema.
Si se tiene un sistema no-lineal (1.4), puede aplicarse este resultado a errores
peque nos en la soluci on. Sup ongase que la soluci on correcta es z(t), y que
en 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 elemento
A
ij
=
_
f
i
y
j
_
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 los
terminos de orden
2
que se suponen peque nos, se obtiene la ecuacion
.
= A(t) + (t) (1.24)
una ecuaci on lineal para . Ahora es posible aplicar el resultado anterior, e
introducir el concepto de estabilidad que ser a muy importante en este curso.
Si unas soluciones de (1.24) vuelven muy grandes en comparaci on con z(t),
ya no es posible despreciar terminos del orden
2
, pero de todos modos los
errores generan una desviacion grande de la soluci on correcta z(t). En este
caso, 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
unas de las funciones complementarias de (1.24) tienen un decrecimiento
muy r apido), es todava posible que la solucion numerica presente problemas,
o requiera una cantidad excesiva de computaci on. Este fen omeno se llama
stiness (tiesidad o rigidez), y se relaciona con ciertas restricciones de
estabilidad de los metodos numericos.
Ejemplo 1.2.1 Si
.
y
= y+
.
s (t) s (t) donde es un constante, y s (t)
una funci on dada con derivada
.
s, la soluci on general puede escribirse
y (t) = [y (0) s (0)] e
t
+ s (t)
y si y(0) = s(0), la soluci on es y(t) = s(t), que puede ser una funci on sin
variaciones r apidas. Si es grande positivo, errores pueden generar una
desviaci on hasta una soluci on vecina para la cual el primer termino no es
cero, y que desva r apidamente de la soluci on correcta s(t). Tal problema
tiene inestabilidad matem atica. Si es grande negativo, toda soluci on vecina
converge r apidamente hacia s(t) a medida que t aumenta, y el problema es
muy estable. Sin embargo, es sti, y los metodos numericos con restric-
ciones de estabilidad pueden requerir grandes cantidades de computaci on.
Cuando se tiene un sistema de ecuaciones, el comportamiento puede ser
mucho mas complejo. Vale la pena comentar que un problema que es estable
para integraci on en el sentido de crecimiento de t, puede ser inestable en el
sentido de decrecimiento de t.
13
Chapter 2
CONCEPTOS BASICOS
PARA PROBLEMAS CON
CONDICIONES
INICIALES.
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 bien
planteado, por satisfacer las condiciones de un teorema de existencia y uni-
cidad) es el de encontrar la soluci on de la ecuaci on (1.1) para t t
0
dado
y (t
0
), sobre todo para los casos para los cuales no se conoce una solucion
analtica, o si se conoce, no es conveniente utilizarla.
En t
0
, ya se tienen y (t
0
),
.
y
(t
0
) = f (t
0
, y (t
0
)), y por serie de Taylor
y (t
0
+ h) = y (t
0
) + hf (t
0
, y (t
0
)) + 0(h
2
) (2.1)
puede aproximarse por y
1
= y (t
0
) + hf (t
0
, y (t
0
)) para una h peque na.
Con esta aproximacion, el proceso puede repetirse en t
1
= t
0
+ h para dar
una aproximaci on de y (t
0
+ 2h), o sea y
2
= y
1
+ hf (t
1
, y
1
). As, se puede
proceder paso por paso para obtener una secuencia y
i
de aproximaciones
para y (t
i
) donde
14
t
i
= t
0
+ ih,
y
i+1
= y
i
+ hf (t
i
, y
i
) , i = 0, 1, ...
(2.2)
con una magnitud constante de paso, h. No es necesario que los pasos sean
todos iguales, y de hecho, en muchos casos es preferible variar h en cada paso.
Para el momento, para simplicar 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 (explcito). Si la soluci on
de (1.1) se requiere en t = b, puede asegurarse que el metodo de Euler de
una aproximaci on para y (b), con h constante, y sin interpolaci on, tomando
h =
bt
0
N
, donde N es el n umero de pasos que se tomaran para integrar de t
0
hasta b. Entonces t
N
= b, y
N
es una aproximacion para y (t
N
). La pregunta
esencial es Que tan buena es esta aproximacion?. O puede preguntarse
si tiene alguna relaci on con y (b).
2.1.2 Pruebas numericas.
La manera mas sencilla de investigar esas preguntas es de aplicar el metodo
de Euler a un problema del cual se conoce la soluci on analtica.
Ejemplo 2.1.1
.
y
= y , y (0) = 1.
Aplicando el metodo de Euler, o bien resolviendo numericamente la
ecuaci on para y (1) (= e 2.71828) con varios valores de h, se encuentran
los siguientes resultados:
h y
N
error (y
N
y (1))
1 2 0.71828
1/4 2.44141 0.27688
1/16 2.63793 0.08035
1/64 2.69734 0.02094
Se observa que el error se reduce con h.
El error depende tambien de la ecuaci on diferencial. En general, y
1
no
coincide con la soluci on correcta en t
1
, sino se encuentra sobre la curva de
una soluci on vecina. Cuando i crece, los y
i
normalmente se encuentran en
curvas de soluciones distintas. Si curvas de soluci on que se encuentran cerca
unas a otras en ciertos valores de t
i
, i = 0, 1, ..., ellas se desvan para tener
una separaci on grande en t
N
; ases posible que y
N
sea lejos de y (t
N
) .
15
2.1.3 Una cota para el error.
La soluci on y (t) de (1.1) satisface identicamente
y (t
i
+ h) = y (t
i
) + hf (t
i
, y (t
i
)) d
i
(2.3)
donde d
i
= y (t
i
+ h) + y (t
i
) + hf (t
i
, y (t
i
)) 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 t
i
. El error de truncamiento global
i
= y
i
y (t
i
)
es la diferencia entre la soluci on exacta de la ecuaci on de diferencias (2.2) y
la soluci on correcta de la ecuaci on diferencial (1.1). Restando (2.3) de (2.2)
se tiene

i+1
=
i
+ hf (t
i
, y
i
) hf (t
i
, y (t
i
)) + d
i
. (2.4)
Si el problema satisface las condiciones de un teorema de existencia y uni-
cidad en una vecindad de y
i
, y (t
i
), existe un constante de Lipschitz L , tal
que
|f (t
i
, y
i
) f (t
i
, y (t
i
))| L|y
i
y (t
i
)| (2.5)
utilizando una norma vectorial si se tiene un sistema de ecuaciones, o un
valor absoluto si se trata de una sola ecuaci on. Con esta condici on, es posible
deducir de (2.4) las desigualdades
|
i+1
| |
i
| + h|f (t
i
, y
i
) f (t
i
, y (t
i
))| +|d
i
|
|
i
| + hL|y
i
y (t
i
)| +|d
i
|
|
i
| + hL|
i
| +|d
i
|
(2.6)
y si la condici on de Lipschitz se aplica uniformemente, con constante L, en
una vecindad de la soluci on numerica y de la solucion exacta para t en el
rango t
0
t t
N
, y D = max|d
i
| : 0 i < N, se tiene
|
i+1
| (1 + hL) |
i
| + D , i = 0, 1, ..., N 1. (2.7)
Se demuestra f acilmente que, si e
i
es la solucion de la ecuaci on de diferencias
e
i+1
= (1 + hL) e
i
+ D , i = 0, 1, ..., N 1 (2.8)
con la condici on inicial e
0
= |
0
|, entonces
|
i
| e
i
, i = 0, 1, ..., N (2.9)
16
Efectivamente e
0
|
0
| 0, y se procede por inducci on para demostrar
que e
i
|
i
| 0 para i > 0. Si es cierto para un i dado, entonces, restando
(2.7) de (2.8).
e
i+1
|
i+1
| (1 + hL) (e
i
|
i
|) 0 (2.10)
y como, por denici on de norma |
i+1
| 0, se obtiene e
i+1
|
i+1
| 0,
lo que demuestra la proposicion (2.9).
Ademas, la soluci on de (2.8) es muy f acil de obtener:
e
i
= (1 + hL)
i
e
0
+
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
, el
error en los valores iniciales, que puede efectivamente existir, o por redondeo
en su representacion, o por aproximaciones fsicas o numeticas en el proceso
que les genera.
Para eliminar la dependencia de i, se nota que 1+hL e
hL
, y se obtiene
|y
i
y (t
i
)| e
ihL
|
0
| +
D
hL
_
e
ihL
1
_
= e
(t
i
t
0
)L
|
0
| +
D
hL
_
e
(t
i
t
0
)L
1
_
(2.13)
y como esto es una funcion creciente de t
i
|y
i
y (t
i
)| e
(bt
0
)L
|
0
| +
D
hL
_
e
(bt
0
)L
1
_
(2.14)
para t
0
t
i
b. Para desplegar el comportamiento con h, se necesita
todava una cota para D.
Si f (t, y), adem as de satisfacer una condici on de Lipschitz en y, con
constante L, satisface una condici on similar en t, con constante K, se obtiene
17
|d
i
| = |y (t
i
+ h) y (t
i
) hf (t
i
, y (t
i
))|
=
_
_
_
_
t
i
+h
t
i
f (t, y (t)) f (t
i
, y (t
i
)) dt
_
_
_

_
t
i
+h
t
i
|f (t, y (t)) f (t
i
, y (t
i
))| dt

_
t
i
+h
t
i
|f (t, y (t)) f (t
i
, y (t))|
+|f (t
i
, y (t)) f (t
i
, y (t
i
))| dt

_
t
i
+h
t
i
K (t t
i
) + L|y (t) y (t
i
)| dt
h
2
K/2 + hL max
t
i
tt
i
+h
_
_
_
_
t
t
i
.
y
() d
_
_
_
h
2
K/2 + hL
_
t
i
+h
t
i
_
_
_
.
y
(t)
_
_
_ dt
h
2
_
K/2 + L max
t
i
tt
i
+h
_
_
_
.
y
(t)
_
_
_
_
(2.15)
de donde
D h
2
_
K/2 + L max
t
0
tb
_
_
_
.
y
(t)
_
_
_
_
(2.16)
y sustituyendo en (2.14)
|y
i
y (t
i
)| e
(bt
0
)L
|
0
| + h
_
e
(bt
0
)L
1
__
K/2L + max
t
0
tb
_
_
_
.
y
(t)
_
_
_
_
(2.17)
Esto demuestra que, si
0
= 0, la soluci on numerica converge hacia la
soluci on correcta cuando h tiende a cero. Es posible llegar a esta con-
clusi on sin suponer que f(t, y) satisface una condici on de Lipschitz en t, la
continuidad siendo suciente. Por otra parte, si se sabe que la soluci on y (t)
tiene una segunda derivada contnua (por ejemplo, si f (t, y)tiene derivadas
contnuas), es posible obtener una cota un poco mas na. En efecto.
d
i
=
1
2
h
2
..
y
(t
i
+ 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
D = max
0i<N
|d
i
|
1
2
h
2
max
t
0
tb
_
_
_
..
y
(t)
_
_
_ (2.19)
que es una cota menor que la de ecuacion (2.16).
2.1.4 Comprobaci on numerica.
Para el ejemplo 2.1.1 la soluci on correcta es y (t) = e
t
. Tomando b = 1,
t
0
= 0,
0
= 0, se tiene K = 0, L = 1, max
0t1
_
_
_
.
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
1
2
h
2
max
0t1
_
_
_
..
y
(t)
_
_
_ =
1
2
h
2
e (2.21)
y sustituyendo en (2.14)
[
i
[
1
2
he (e 1) h 2.33539 , i = 1, 2, ..., N. (2.22)
Estas cotas para el error dependen del problema y del metodo, muchas
veces son difciles de determinar, y normalmente son muy pesimistas en la
pr actica. Se comparan en seguida con los errores efectivos en el caso del
ejemplo 2.1.1.
h y
N

N
/h Cota (2.20)/h Cota (2.21)/h
1 2 0.71828 4.67077 2.33539
1/4 2.44141 1.10750 4.67077 2.33539
1/16 2.663793 1.28565 4.67077 2.33539
1/64 2.69734 1.33997 4.67077 2.33539
2.1.5 Estimaci on del error.
Muchas veces es util de estimar el error de truncamiento local d
i
, del primer
termino de una serie innita, como la serie de Taylor. Para el metodo de
Euler,
d
i
=
1
2
h
2
..
y
(t
i
) + 0(h
3
) (2.23)
19
si y (t) tiene sucientes derivadas. Entonces, la ecuaci on (2.4), para el error
global, puede escribirse

i+1
=
i
+ hf (t
i
, y
i
) hf (t
i
, y (t
i
))
1
2
h
2
..
y
(t
i
) + 0
_
h
3
_
(2.24)
o despreciando terminos en h
3
,
2
i

i+1
=
i
+ hA(t
i
)
i

1
2
h
2
..
y
(t
i
) (2.25)
Si se calcula y
0
de manera que
0
0 cuando h 0, o de manera mas
precisa, de manera que
0
tiene un factor h, la ecuaci on (2.17) indica que
i
tiene un factor h, para el metodo de Euler, para todo i = 0, 1, .... Por esto,
se dene
i
=
i
/h y se obtiene

i+1
=
i
+ h
_
A(t
i
)
i

1
2
..
y
(t
i
)
_
(2.26)
lo que se obtendr a por la aplicaci on del metodo de Euler a la ecuaci on
diferencial
.

= A(t)
1
2
..
y
(t) (2.27)
con condici on inicial correspondiente (t
0
) =
0
/h.
Vale la pena comparar esta ecuaci on con la ecuaci on (1.24), aunque
la notaci on es diferente, para ver que el efecto aproximado del error de
truncamiento local (2.23) es lo mismo como de un error residual continuo
de
1
2
h
..
y
(t) por unidad de t.
Para el ejemplo 2.1.1, otra vez con b = 1,
0
= 0, se tiene para la nueva
funci on (t)
.

(t) = (t)
1
2
e
t
(2.28)
con soluci on
(t) =
1
2
te
t
(2.29)
y (1) 1.35914, lo cual sera el lmite de
N
/h cuando h 0, de acuerdo
con la tabla de resultados. En la pr actica, no se tiene una expresi on analtica
para
..
y
(t) (o para A(t)), y es necesario estimarlo de la solucion aproximada
de alguna manera, para obtener una estimaci on del error global, tal que
(2.29).
20
Chapter 3
ESTABILIDAD Y
METODOS IMPLICITOS
3.1 Estabilidad del problema con condiciones ini-
ciales
3.1.1 Problemas estables con cota grande para el error.
En la secci on 2.1.3, en particular en la ecuaci on (2.13), se ve como la con-
stante de Lipschitz controla la cantidad maxima en la cual curvas de soluci on
cercanas en un punto, se pueden desviar una de otra cuando se alejan de
este punto. Sin embargo, no es una muy buena indicaci on: considerense los
dos problemas siguientes:
.
y
= 2t 100
_
y t
2
_
, y (0) = 0 (3.1)
.
y
= 2t + 100
_
y t
2
_
, y (0) = 0 (3.2)
La soluci on es y (t) = t
2
, y la constante de Lipschitz es L = 100, que iguales
para los dos casos. En el primero, todas las soluciones tienden r apidamente
hacia t
2
cuando t aumenta, pues la soluci on general es y(t) = t
2
+y (0) e
100t
.
En el segundo caso la solucion general es y (t) = t
2
+ y (0) e
100t
, y con
y (0) peque no pero diferente de cero, t
2
vuelve r apidamente despreciable
comparado con y (0) e
100t
.
El primer problema, en lo cual hay amortiguamiento de perturbaciones
peque nas, tiene estabilidad matematica, mientras el segundo es inestable. Si
21
se cambia el signo de t, o de manera equivalente la direcci on desde el punto
inicial en la cual se busca la soluci on, estos dos problemas interambian sus
propiedades respectivas. Para (3.2), la funci on complementaria creciente,
que no aparece en la soluci on correcta, genera la inestabilidad.
Como errores iniciales y errores de truncamiento local siempre intro-
ducir an componentes de tales funciones complementarias, no puede espe-
rarse que un metodo paso-por-paso permita avanzar la soluci on de un pro-
blema con condiciones iniciales con inestabilidad matematica mas de una
distancia limitada. Como comentario, es posible generar metodos paso-por-
paso con alta precision, o sea con errores de truncamiento local de orden
elevada en h, que introducen, sin embargo, soluciones extra nas crecientes, y
por lo tanto no sirven como tal para la soluci on de problemas con condiciones
iniciales.
3.1.2 Ecuaciones Diferenciales sti, y el metodo de Euler.
Si se aplica el metodo de Euler al problema (3.1) se tiene la ecuaci on de
diferencias
y
i+1
= y
i
+ h
_
2t
i
100y
i
+ 100t
2
i
_
(3.3)
en el paso n umero i. Sustituyendo y
i
= t
2
i
+
i

i+1
=
i
(1 100h) h
2
(3.4)
es la ecuacion de diferencias para el error global, la diferencia entre la
soluci on de (3.3) y la soluci on correcta y (t) = t
2
. La soluci on de (3.4)
es

i
= (1 100h)
i

0
+
h
100
_
(1 100h)
i
1
_
(3.5)
lo que debe compararse con la ecuaci on (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
[ >> 10
50
.
22
Por otra parte, para el problema
.
y
= 2t, y (0) = 0 (3.7)
que tiene la misma soluci on

i
= ih
2
=
i
400
(3.8)
con el mismo paso h = 1/20 y
0
= 0. En este caso
100
=
1
4
, un error de
1%.
Se ve que la funci on complementaria con fuerte amortiguamiento y sin
interes practico esta restringiendo el paso m aximo que puede utilizarse y
requeriendo mucho m as trabajo que lo necesario para resolver con suciente
precision el problema de interes.
Sistemas de ecuaciones diferenciales con esta propiedad de stiness
ocurren en el estudio de reacciones qumicas, columnas de destilaci on, es-
tabilidad de circuitos electricos, y en la modelaci on de muchos otros sis-
temas fsicos, donde una de las cantidades involucrdas cambian mucho m as
r apidamente que otras.
Para el sistema
.
y
= f (t, y) (3.9)
con soluci on y (t), es posible estudiar la variaci on local de la soluci on acerca
de un valor jo 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
_
f
i
y
j
_
(T,y(T))
, y t

queda peque no 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) = UU
1
(3.12)
23
donde es una matriz diagonal con elementos
i
, i = 1, 2, ..., n, los valores
propios de A(T).
Haciendo el cambio de variables
Y
_
t

_
= U
1
y

_
t

_
(3.13)
la ecuaci on (3.11) se escribe
.
y
_
t

_
= Y
_
t

_
+ U
1
b
_
t

_
(3.14)
un sistema de ecuaciones sin interconecciones, la i-esima ecuacion conte-
niendo s olo el variable y
i
(t

). La funci on complementaria correspondiente


es e

i
t

.
Si unos de los
i
tienen parte real grande negativo, el sistema (3.9)
es sti, al menos localmente cerca de t = T. Como los
i
son valores
propios de la matriz real A(T), unos o todos pueden tener valores com-
plejos. La parte real representa crecimiento exponencial (si es positivo) o
amortiguamiento (si es negativo) de la funci on complementaria, o modo,
correspondiente. La parte imaginaria representa oscilaci on.
Un concepto util para metodos paso-por-paso, sobre todo si se aplican a
ecuaciones sti, se dene con respecto a la forma homogenea de una de
las 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 regi on
de estabilidad absoluta de un metodo si, cuando se aplica a la ecuaci on
(3.15) con paso h, ninguna secuencia de valores iniciales y
i
, i = 0, 1, ..., K,
genera una soluci on creciente en los pasos siguientes.
Es claro que, para problemas sti, esta region debera de incluir una
parte grande de la mitad izquierda del plano complejo.
Aplicando el metodo de Euler a la ecuaci on (3.15) se tiene
y
i+1
= y
i
+ hy
i
= (1 + h)y
i
(3.16)
La soluci on no crece si [1 + h[ < 1, o sea la region de estabilidad absoluta
para el metodo de Euler es el interior del crculo con centro en 1 y radio
1.
24
.
3.1.3 Un metodo con regi on de estabilidad absoluta mas
grande.
El metodo de Euler por atr as se escribe
y
i+1
= y
i
+ hf (t
i+1
, y
i+1
) (3.17)
donde la derivada se evalua al nal del paso. Aplic andolo a (3.15) se tiene
y
i+1
= y
i
+ hy
i+1
=
1
1 h
y
i
(3.18)
Si h tiene parte real neativo,

1
1h

< 1 y toda la mitad izquierda del plano


complejo se incluye en la regi on de estabilidad absoluta del metodo de Euler
por atr as.
25
Aplic andolo al problema (3.1) se tiene
y
i+1
= y
i
+ h
_
2t
i+1
+ 100t
2
i+1
100y
i+1
_
(3.19)
y repitiendo la sustituci on y
i
= t
2
i
+
i

i+1
=

i
1 + 100h
+
h
2
1 + 100h
(3.20)
con soluci on

i
=

0
(1 + 100h)
i

h
100
_
1
(1 + 100h)
i
1
_
. (3.21)
A un un error inicial
0
bastante grande se amortigua despues de un rango
normal de pasos. Con h = 1/20 y
0
= 0 el error despues de 100 pasos es

100
=
1
2000
_
1
6
100
1
_

1
2000
(3.22)
Metodos que utilizan valores de la derivada al nal del paso se llaman
implcitos. El ejemplo dado, del metodo de Euler implcito, sugiere que
el concepto es util para el tratamiento de problemas sti.
Para ecuaciones diferenciales lineales, la ecuaci on de diferencias que re-
sulta puede resolverse directamente para y
i+1
, pero en el caso no-lineal se
necesita una tecnica iterativa. El metodo mas sencillo para (3.17) es de
tomar una estimacion inicial y
(0)
i+1
, por un predictor, como el metodo de
Euler explcito, y de iterar por el proceso de sustitucion sucesiva, con el
corrector de Euler implcito.
y
(j)
i+1
= y
i
+ hf
_
t
i+1
, y
(j1)
i+1
_
, j = 1, 2, ... (3.23)
Si se dene
(j)
por y
i+1
= y
(j)
i+1

(j)
entonces
y
i+1
+
(j)
= y
i
+ hf
_
t
i+1
, y
i+1
+
(j1)
_
(3.24)
y despreciando terminos de orden
2

(j)
= hA(t)
(j1)
(3.25)
lo que sugiere que (3.23) s olo convergir a para problemas sti si h es muy
peque no, 1/h mayor que el valor absoluto m aximo de los valores propios
26
de A(t), una restriccion m as fuerte que para Euler explcito. Esto se ve
claramente con su aplicacion a (3.15) cuando

(j)
= h
(j1)
=
_
y
(0)
i+1
y
i+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. Deniendo
(j)
de la misma manera
y
(j)
i+1

(j)
= y
i
+ hf
_
t
i+1
, y
(j)
i+1

(j)
_
y
i
+ hf
_
t
i+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
_
f
i
y
j
_
y=y
(j)
i+1
. Resolviendo para
(j)
_
I hA
(j)
(t)
_

(j)
= y
(j)
i+1
y
i
hf
_
t
i+1
, y
(j)
i+1
_
(3.28)
un sistema de n ecuaciones lineales en el caso de un sistema de ecuaciones
diferenciales. Por la aproximaci on en (3.27) no se tiene el valor correcto
para
(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 aplicaci on del metodo de Newton-Raphson a una ecuaci on diferencial
lineal, como (3.15), da convergencia en una sola iteraci on independiente del
valor de y
(0)
i+1
.
Aunque tiene mejor rapidez de convergencia, el metodo de Newton-
Raphson puede parecer costoso, debido al c alculo de las derivadas parciales
f
i
y
j
( n
2
elementos), y la resolucion del sistema lineal en cada iteracion. Sin
embargo, para un sistema sti, permite pasos mucho mas grandes que
otros metodos, lo que puede compensar completamente para el trabajo adi-
cional por paso. Adem as, muchas veces las derivadas parciales no varan
r apidamente con y, y no es necesario reevaluarlos, y reinvertir la matriz
I hA
(j)
(t), en cada iteraci on (si hay m as de una), ni tampoco en cada
paso en t.
27
Chapter 4
METODOS CON UN SOLO
PASO
4.1 Clasicaci on de metodos
4.1.1 Metodos con un solo paso y con pasos m ultiples.
Los dos metodos Euler explcito y Euler implcito vistos hasta aqu,
son metodos con un solo paso, o sea, la ecuaci on de diferencias al i-esimo
paso involucra valores de la soluci on aproximada y de su derivada s olo en el
intervalo de t
i1
a t
i
. Para una clase muy extensa de metodos paso-por-paso
para ecuaciones diferenciales del primer orden, un error de truncamiento
local de orden 0
_
h
r+1
_
genera un error propagado o global de orden 0 (h
r
)
y se dice que el metodo es de orden r. Para los dos metodos de Euler r = 1.
En general, puede esperarse que mientras m as alto sea el orden del metodo,
la soluci on que genera ser a mas precisa para un tama no dado del paso h.
Para metodos de orden mayor, se necesita mas informaci on para con-
struir la solucion aproximada en un intervalo h, y esto puede conseguirse
por una de dos maneras:
(i) dentro del intervalo de t
i1
a t
i
(metodos con un solo paso, o mejor
dicho, con pasos separados);
(ii) de pasos anteriores (metodos con pasos m ultiples, o mejor dicho, con
pasos ligados).
En esta seccion se tratar an metodos con un solo paso, mas correcta-
mente considerados como metodos que tratan cada paso como un nuevo
problema con condiciones iniciales, sin tener memoria de valores anteriores
28
de la soluci on o de sus derivadas.
4.1.2 El metodo de la serie de Taylor.
El metodo de Euler (explcito) utiliza los primeros dos terminos de la serie
de Taylor en t
i
para aproximar y (t
i+1
). Si se tuvieran r derivadas, se podra
poner
y
i+1
= y
i
+ h
.
y
i
+
h
2
2
..
y
i
+... +
h
r
r!
y
(r)
i
(4.1)
y el primer termino del error de truncamiento local resultante estara dado
por
h
r+1
(r+1)!
y
(r+1)
i
, o sea, se tendra un metodo de orden r. Si f (t, y) tiene
sucientes derivadas, abreviando f (t, y) por f,
f
t
por f
t
,
f
y
por f
y
etc., las
segunda y tercera derivadas de y pueden obtenerse por
..
y
=
d
dt
(f (t, y)) = f
t
+ f
y
.
y
= f
t
+ f
y
f (4.2)
...
y
= f
tt
+ 2f
ty
f + f
yy
f
2
+ f
y
f
t
+ f
2
y
f (4.3)
Es claro que la complejidad de estas expresiones crece rapidamente, y que
el metodo de la serie de Taylor resultara pr actico solo cuando f (t, y) tiene
una forma bastante sencilla. Por ejemplo, no siempre se tiene f en forma
analtica, 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 directamente
una estimacion del error de truncamiento local, lo que puede controlarse va-
riando el n umero de terminos que se utilizan, adem as del paso h para lo cual
no se necesita reevaluar las derivadas. Se consideran despues las tecnicas
para controlar el error.
4.1.3 Metodos de extrapolaci on.
Como el error global baja cuando el paso h se reduce, un metodo com un para
averiguar la precisi on de una soluci on es de repetir la integracion, reduciendo
el paso a la mitad, y de comparar los dos resultados. Si se utiliza el metodo
de Euler, y se obtienen las aproximaciones y
N
1
, y
N
2
para y (b), entonces,
utilizando los metodos de la seccion 2.1.5 se tiene
29
y
N
1
= y (b) + h (b) + 0
_
h
2
_
(4.4)
y
N
2
= y (b) +
h
2
(b) + 0
_
h
2
_
(4.5)
Eliminando (b)
y (b) = 2y
N
2
y
N
1
+ 0
_
h
2
_
(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 los
resultados siguientes:
h y
1/h
por Euler error 2y
2/h
y
1/h
error
1 0.0 0.36788 0.5 0.1321206
1/2 0.25 0.11788 0.3828125 0.0149331
1/4 0.316406 0.05147 0.3708116 0.9929321
1/8 0.343609 0.02427 0.3685393 0.0006599
1/16 0.356074 0.01182 0.3680364 0.0001569
1/32 0.362055 0.00582 0.3679177 0.0000382
1/64 0.364986 0.00289
El error de la aproximaci on 2y
1/2h
y
1/h
baja r apidamente cuando h
tiende a cero, debido a su comportamiento como h
2
. El error del valor
obtenido de los casos h = 1, h = 1/2 es mayor que el error del metodo de
Euler con h = 1/2. Esto se debe a que los terminos de orden 0
_
h
2
_
son
todava demasiado grandes para despreciarse como en (4.4).
Esto es un ejemplo de la tecnica de extrapolacion de Richardson hacia
h = 0, y en este caso da un metodo de segundo orden.
En la practica, muchas veces la soluci on se necesita en puntos dentro del
intervalo global de integraci on y pueden llevarse a cabo las dos integraciones
juntas, y hacer la extrapolaci on (4.6) en cada paso de la integraci on con
pasos mas grandes. Sin embargo, parecera mejor, en lugar de guardar las
dos secuencias independientes de y
i
, de reemplazar los dos valores por el
valor mejorado despues de cada extrapolacion. Para el paso m as grande
30
y
1/h
(t
i
+ h) = y
i
+ hf (t
i
, y
i
) (4.7)
y para los pasos chicos
q
i
= y
2/h
(t
i
+ h/2) = y
i
+
h
2
f (t
i
, y
i
) (4.8)
y
2/h
(t
i
+ h) = q
i
+
h
2
f
_
t
i
+
h
2
, q
i
_
(4.9)
El valor extrapolado, que debe tomarse como y
i+1
para los dos tama nos de
paso siguiente, es
y
i+1
= 2y
2/h
(t
i
+ h) y
h
(t
i
+ h)
= 2y
i
+ hf (t
i
, y
i
) + hf
_
t
i
+
h
2
, q
i
_
y
i
hf (t
i
, y
i
)
= y
i
+ hf
_
t
i
+
h
2
, q
i
_
(4.10)
Los calculos que deben hacerse en la pr actica se dan en (4.8) y (4.10), y
constituyen el metodo del punto medio. Para encontrar el error de trun-
camiento local de este metodo, se sustituye la solucion exacta en estas dos
ecuaciones, dando lugar a
q
i
(t
i
) = y (t
i
) +
h
2
f (t
i
, y (t
i
))
= y (t
i
) +
h
2
.
y
(t
i
)
(4.11)
y (t
i+1
) y (t
i
) hf
_
t
i
+
h
2
, y (t
i
) +
h
2
.
y
(t
i
)
_
= h
.
y
+
h
2
2
..
y
+0
_
h
3
_
hf (t
i
, y (t
i
))
h
2
2
f
t

h
2
2
A(t)
.
y
+O
_
h
3
_
= O
_
h
3
_
pues
..
y
=
f
t
+ A(t)
.
y
(4.12)
El error de truncamiento local es de un orden mayor en h con una evaluaci on
mas de la funci on f.
Otra forma del metodo del putno medio se obtiene reemplazando h por
2h, y notando que q
i
es una aproximacion para la soluci on en el punto medio.
Se reescribe (4.10) como
y
i+1
= y
i1
+ 2hf (t
i
, y
i
) (4.13)
que es un metodo de dos pasos con el mismo nombre. El valor de y
i+1
de
(4.13) se utiliza para evaluar la derivada que se necesita junto con y
i
para
determinar y
i+2
, por medio de (4.13), reemplazando i por i + 1.
31
Este metodo de pasos m ultiples se ha introducido en este momento
porque se utiliza como base de un metodo de exrapolaci on de Bulirsch y
Stoer. Se trabaja sobre un paso b asico H, normalmente bastante grande.
En cada renamiento s del metodo, se divide H en un n umero par N
s
de subintervalos, por ejemplo N
s
= 2, 4, 6, 8, 12, 16, 24, .... con tama no
h
s
= H/N
s
, y se aplica el metodo del punto medio de dos pasos con h = h
s
.
Esto necesita un metodo de un solo paso para arrancar, y se utiliza el metodo
de Euler
y
i
= y
0
+ h
s
f (t
0
, y
0
) . (4.14)
Puede demostrarse que el metodo (4.13), aunque convergente y estable
cuando h tiende a cero, tiende una regi on de estabilidad absoluta consti-
tuido nada m as por el punto h = 0, y no es estable para h ,= 0. Para
amortiguar el crecimiento, se modica el valor y
Ns
obtenido, promediando
con el resultado de un paso del tipo Euler por atr as para dar
T
(s)
0
= T (h
s
) =
1
2
_
y
Ns
+ y
N
s1
+ h
s
f (t
Ns
, y
Ns
)

(4.15)
El resultado es un metodo que tiene una regi on de estabilidad absoluta nita,
incluyendo el intervalo del eje real negativo 3 H < 0 para N
s
= 2, y
creciendo para valores mayores de N
s
. Gragg ha demostrado que la funci on
T(h) tiene una expansi on asint otica en potencias pares de h
T (h) = y (t
0
+ H) +
1
h
2
+
2
h
4
+ ... (4.16)
si f (t, y) tiene sucientes derivadas. La idea general de extrapolaci on hacia
h = 0 es de ajustar una funci on

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, adem as de estudiar extrapolaci on polinomial como la de Richardson,
han utilizado funciones racionales, que en muchos casos es mejor. Denen

T
(i)
m
(h) =
p
(i)
0
+ p
(i)
1
h
2
+ ... + p
(i)

h
2
q
(i)
0
+ q
(i)
1
h
2
+ ... + q
(i)

h
2
(4.17)
con = m/2 si m es par, o (m1) /2 si m es impar, = m , y
con los coecientes p
(i)
j
, q
(i)
j
determinados tales que

T
(i)
m
(h
s
) = T(h
s
) para
s = i, i + 1, i + 2, ..., i + m. Resulta que no es necesario determinar estos
32
coecientes, pues es posible determinar los valores extrapolados T
(i)
m
=

T
(i)
m
(0) por las f ormulas de recurrencia siguientes
T
(i)
1
= 0 para arrancar
T
(i)
0
= T (h
i
) la aproximaci on constante con h = h
i
T
(i)
m
= T
(i+1)
m1
+
T
(i+1)
m1
T
(i)
m1
_
h
i
h
i+m
_
2
_
1
T
(i+1)
m1
T
(i)
m1
T
(i+1)
m1
T
(i+1)
m2
_
1
para M 1
Esto es diferente de las f ormulas para extrapolacion polinomial por la intro-
ducci on 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
(i1)
0
T
(i2)
2
T
1
(i) T
(i1)
1
T
(i)
0
Puede demostrarse que
T
(i)
m
T(0) = 0
_
h
2
i
h
2
i+1
...h
2
i+m
_
(4.18)
Las f ormulas de recurrencia que se obtienen en procesos de extrapolacion
son muy sensitivos a posibles redondeos, y deben organizarse de manera
cuidadosa, con un lmite sobre el valor de m, que depende de la computa-
dora y de la precisi on 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 columna m = 6 hasta i = 10. Si todava no hay convergencia,
repiten todo el c alculo con un valor reducido de H, que de todos mos esco-
gen con base en (4.18), prediciendolo para satisfacer el criterio de error en
T
(0)
6
. El metodo, que se considera un metodo de un solo paso (H grande),
normalmente es muy bueno para problemas sin stiness, sobre todo si
33
la evaluaci on de f (t, y) no necesita mas de 25 operaciones artimeticas por
componente. 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 terminos
que coinciden con la serie de Taylor truncada
y
i+1
= y
i
+ h
.
y
i
+
h
2
2
..
y
i
(4.19)
como se vio en (4.12). Puede buscarse una clase de metodos mas general
que coinciden con la serie de Taylor truncada en un n umero determinado
de terminos. Estos son los metodos de Runge-Kutta, que se derivan en el
captulo siguiente.
34
Chapter 5
METODOS DE
RUNGE-KUTTA Y
CONTROL DEL ERROR.
5.1 Metodos del tipo Runge-Kutta.
5.1.1 Forma aut onoma, y notaci on.
El sistema de ecuaciones (1.4) con condiciones iniciales y (0) = y
0
puede, en
muchas circunstancias, simplicarse por la adici on de una ecuaci on m as:
.
y
0
= 1, y
0
(0) = 0 (5.1)
para el elemento y
0
, que se a nade al principio del vector y, ahora de n + 1
componentes. Como y
0
(t) = t, si se a nade de la misma manera f
0
= 1 al
principio del vector f, el problema puede escribirse en forma aut onoma, sin
que t aparezca explcitamente:
.
y
= f (y) , y (0) = y
0
(5.2)
Esto permite denir las siguientes notaciones:
f
i
es el elemento i-esimo de f, con f
0
= 1;
f
j
es la derivada
f
y
j
evaluada en t
s
_
f
0
=
f
t
_
.
35
5.1.2 Metodo del punto medio por extrapolaci on.
El metodo de Euler puede escribirse
y
s+1
y
s
= hf (y
s
) = y (t
s+1
) (t
s
) ch
2
+ 0
_
h
3
_
(5.3)
mientras sobre dos pasos de tama no h/2 se escribe
y
s+
1
2
y
s
=
1
2
h(y
s
) = y
_
t
s+
1
2
_
y (t
s
) c
_
1
2
h
_
2
+ 0
_
h
3
_
(5.4)
y
s+1
y
s+
1
2
=
1
2
hf
_
y
s+
1
2
_
= y (t
s+1
) y
_
t
s+
1
2
_
c
_
1
2
h
_
2
+0
_
h
3
_
(5.5)
o sea
y
s+1
y
s
=
1
2
h
_
f (y
s
) + f
_
y
s
+
1
2
hf (y
s
)
__
= y (t
s+1
) y (t
s
) 2c
_
1
2
h
_
2
+ 0
_
h
3
_
.
(5.6)
Aplicando la extrapolaci on 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 del
punto medio
y
s+1
y
s
= hf
_
y
s
+
1
2
hf (y
s
)
_
= y (t
s+1
) y (t
s
) + 0
_
h
3
_
(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 funci on
f, se escribira
k
0
= hf (y
s
)
k
1
= hf (y
s
+ k
0
)
y
s+1
y
s
= k
0
+ k
1
(5.8)
donde , , deben ajustarse para que la expresi on para y
s+1
y
s
coincida
hasta donde se puede (o se quiere) con la serie de Taylor acerca de y
s
, o sea
y (t
s+1
) y (t
s
) = hf (y
s
) +
1
2
h
2 df
dt
+ 0
_
h
3
_
= hf (y
s
) +
1
2
h
2

n
i=0
f
i
f
i
+ 0
_
h
3
_
.
(5.9)
36
Para el metodo numerico
k
1
= hf (y
s
) + h
2
n

i=0
f
i
f
i
+ 0
_
h
3
_
, (5.10)
y
s+1
y
s
= ( + ) hf (y
s
) + h
2
n

i=0
f
i
f
i
+ 0
_
h
3
_
, (5.11)
y el metodo es de orden dos si
= 1 , = 1/2. (5.12)
Si = 1, esto es el metodo del punto medio
k
0
= hf (y
s
) , k
1
= hf
_
y
s
+
1
2
k
0
_
, y
s+1
y
s
= k
1
. (5.13)
Si =
1
2
, se tiene un metodo modicado del trapecio
k
0
= hf (y
s
) , k
1
= hf (y
s
+ k
0
) , y
s+1
y
s
=
1
2
(k
0
+ k
1
) . (5.14)
Si =
3
4
, se tiene uno de los metodos de Heun
k
0
= hf (y
s
) , k
1
= hf
_
y
s
+
2
3
k
0
_
, y
s+1
y
s
=
1
4
(k
0
+ 3k
1
) ,
(5.15)
una f ormula de cuadratura del tipo Radau propuesta para minimizar una
forma particular de la cota para el error de truncamiento local. La nomen-
clatura de estos metodos no es estandar, y vara mucho entre los diferentes
textos.
5.1.4 La clase de metodos de orden cuatro.
Los metodos del tipo Runge-Kutta, que se utilizan m as com unmente, son
los del cuarto orden, que toman la forma general siguiente:
k
0
= hf (y
s
)
k
1
= hf (y
s
+
10
k
0
)
k
2
= hf (y
s
+
20
k
0
+
21
k
1
)
k
3
= hf (y
s
+
30
k
0
+
31
k
1
+
32
k
2
)
y
s+1
y
s
=
40
k
0
+
41
k
1
+
42
k
2
+
43
k
3
(5.16)
37
mientras la serie de Taylor para y (t
s+1
) genera los terminos
y (t
s+1
) y (t
s
) = hf (y
s
) +
1
2
h
2

n
i=0
f
i
f
i
+
1
6
h
3

n
i=0

n
j=0
_
f
ij
f
i
f
j
+ f
i
f
i
j
f
j
_
+
1
24
h
4

n
i=0

n
j=0

n
k=0
_
f
ijk
f
i
f
j
f
k
+ 3f
ij
f
i
k
f
j
f
k
+f
i
f
i
jk
f
j
f
k
+ f
i
f
i
j
f
j
k
f
k
_
+ 0
_
h
5
_
(5.17)
Haciendo la expansi on de k
1
, k
2
, k
3
en la misma forma, y comparando los
coecientes de cada termino, el metodo es de orden cuatro si

40
+
41
+
42
+
43
= 1

41

1
+
42

2
+
43

3
= 1/2

41

2
1
+
42

2
2
+
43

2
3
= 1/3

41

3
1
+
42

3
2
+
43

3
3
= 1/4

42

21

1
+
43
(
31

1
+
32

2
) = 1/6

42

21

1
+
43

3
(
31

1
+
32

2
) = 1/8

42

21

2
1
+
43
_

31

2
1
+
32

2
2
_
= 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 innidad de soluciones, de las cuales el metodo
clasico de Runge-Kutta utiliza la f ormula de cuadratura de Simpson de la
manera siguiente
k
0
= hf(y
s
)
k
1
= hf(y
s
+
1
2
k
0
)
k
2
= hf(y
s
+
1
2
k
1
)
k
3
= hf(y
s
+ k
2
)
y
s+1
y
s
=
1
6
(k
0
+ 2k
1
+ 2k
2
+ k
3
)
(5.20)
Para un metodo del tipo Runge-Kutta de orden 4, el n umero de evalua-
ciones de la funci on f es igual al orden, pero para orden 5 o 6, se necesita
una evaluaci on m as, mientras para orden > 6 se necesitan al menos dos
38
evaluaciones suplementarias. Estos metodos dieren del metodo de la serie
de Taylor en que no es f acil aumentar el orden durante una integraci on si los
errores de truncamiento son demasiado grandes, como para esto se necesita
un conjunto de multiplicadores totalmente nuevo. Hasta unas propuestas
muy recientes, ha sido normal utilizar un metodo de cuarto orden todo el
tiempo, y de ajustar el error de truncamiento mediante el paso h. Sin em-
bargo, se necesita un criterio para estos ajustes.
Sea el metodo
y
s+1
y
s
= h (y
s
, h) (5.21)
con error de truncameinto local
d
s
(h) = h (y (t
s
) , h) (y (t
s+1
) y (t
s
))
= h
5
(y) + 0
_
h
6
_
(5.22)
donde se ha especializado al caso de un metodo de cuarto orden. Sea el error
de truncamiento global

s
= y
s
y (t
s
) = h
4
(t
s
) + 0
_
h
5
_
(5.23)
Para el problema (5.2) la funci on (t) satisface
.

= A(t) + (y) (5.24)


ecuaci on an aloga al (2.27), con A(t) la matriz Jacobiana de f. Cuando el
paso no es constante, es posible utilizar una funci on (t) para describir su
variaci on, mediante la denici on
h
s
= h (t
s
) , t
s+1
= t
s
+ h
s
(5.25)
donde se requiere
_
b
0
dt
(t)
= 1 (5.26)
para que el n umero 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 ecuaci on (5.24) se modica por la introducci on de (t
s
) en (5.22), y queda
de la forma
.

= A(t) +
4
(t) (y) (5.27)
de donde (t) puede escribirse como
39
(t) =
_
t
0
G(v, t) (y (v))
4
(v) dv (5.28)
donde G(v, t) es la matriz de funciones complementarias, que satisface la
ecuaci on diferencial homogenea, y la condici on inicial
.
G= A(t) G, G(v, v) = I, (5.29)
y que representa el efecto propagado en t de un error unitario cometido en
v.
Deben notarse las siguientes propiedades de G(v, t):
G(v, t) G(u, v) tambien satisface la ecuacion diferencial homogenea, con
condici on inicial
G(v, v) G(u, v) = G(u, v) ;
pero la soluci on unica de este problema es G(u, t), de donde
G(v, t) G(u, v) = G(u, t)
La mejor funci on (t) es la que minimiza | (b)|. El mnimo 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 contribuci on del paso de t
s
a t
s+1
al error de truncamiento global en b es
_
_
_
_
_
t
s+1
ts
G(t, b) (y (t))
4
(t) h
4
dt
_
_
_
_

_
h
_
b
0
|G(v, b) (y (v))|
1/5
dv
_
5
(5.32)
para la funci on (t) de la ecuaci on (5.31). Resulta que la mejor distribuci on
de tama nos de paso es tal que cada paso hace la misma contribuci on al error
de truncamiento global en b, independientemente de su tama no.
40
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 funci on matricial G(t, b), que puede
obtenerse solo por la integraci on de la ecuaci on (5.29) o algo similar, de
antemano. En la ausencia de un conocimiento de G(t, b), una de las dos
suposiciones siguientes parece razonable:
(a) |G(t, b| nunca es mucho mayor que uno. Esto es el caso cuando la
soluci on general (funci on complementaria) de la ecuacion diferencial (5.29)
tiene solamente componentes oscilantes o con decaimiento, o sea cuando
el problema original tiene estabilidad matematica. Una estrategia pr actica
sera de ajustar el tama no de cada paso para mantener la magnitud del error
de truncamiento local aproximadamente constante. Unas implementaciones
cambian el tama no del paso solamente por factores de 2, pero se reconoce
generalmente ahora que puede ajustarse en cada paso para que h
5
|(y)|
sea un poco menos que un cierto valor constante.
(b) G(v, t) tiene componentes con crecimiento exponencial de una forma
similar 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)| h
5
(5.34)
aproximadamente constante, se debe guardar h
5
|(y)| aproximadamente
proporcional 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 debe
mantenerse constante.
Estas estrategias tiene la desventaja que no se tiene idea de antemano
del n umero de pasos que van a utilizarse, cuando se especica el error per-
misible por paso. Si quiere obtenerse una cierta precision en la solucion en
b, otra estrategia posible es de mantener la contribuci on al error por paso
proporcional al tama no h del paso. Con la suposici on (a) se ajusta h para
que bh
4
|(y)| sea un poco menos que la cota impuesta para el error en b.
Con la suposici on (b) se debe mantener bh
4
|(y)| / |y| un poco menos que
la cota para el error relativo en b.
41
5.1.6 Estimaci on del error de truncamiento local.
En todos los casos, se necesita una estimacion para el error de truncamiento
local d
s
(h) = h
5
(y) + 0
_
h
6
_
, que no siempre se tiene facilmente. En el
caso del metodo de la serie de Taylor, cuando pueden calcularse las derivadas
elevadas 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 estimaci on
tan evidente.
El australiano, Merson, propuso un metodo con cinco evaluaciones de la
funci on f
k
0
= hf (y
s
)
k
1
= hf
_
y
s
+
1
3
k
0
_
k
2
= hf
_
y
s
+
1
6
k
0
+
1
6
k
1
_
k
3
= hf
_
y
s
+
1
8
k
0
+
3
8
k
2
_
k
4
= hf
_
y
s
+
1
2
k
0

3
2
k
2
+ 2k
3
_
y
s+1
y
s
=
1
6
(k
0
+ 4k
3
+ k
4
)
(5.35)
donde
1
30
(2k
0
9k
2
+ 8k
3
k
4
) era la estimacion propuesta para el error.
El error de truncamiento local de este metodo puede escribirse
1
120
h
5

n
i=0

n
j=0

n
k=0

n
l=0
_
1
24
f
ijkl
f
i
f
j
f
k
f
l
+
1
4
f
ijk
f
i
l
f
j
f
k
f
l
+
1
8
f
ij
f
i
k
f
j
l
f
k
f
l
+
1
6
f
ij
f
i
kl
f
j
f
k
f
l
+
1
6
f
ij
f
i
k
f
j
f
k
l
f
l

1
6
f
i
f
i
jkl
f
j
f
k
f
l

1
2
f
i
f
i
jk
f
j
l
f
k
f
l

1
6
f
i
f
i
j
f
j
kl
f
k
f
l

1
6
f
i
f
i
j
f
j
k
f
k
l
f
l
_
+ 0
_
h
6
_
(5.36)
mientras la expansion de la estimacion de Merson es

1
120
h
4

n
i=0

n
j=0

n
k=0
_
2
9
f
ijk
f
i
f
j
f
k
+
2
3
f
ij
f
i
k
f
j
f
k
+
1
3
f
i
f
i
jk
f
j
f
k
_

1
120
h
5

n
i=0

n
j=0

n
k=0

n
l=0
_
11
108
f
ijkl
f
i
f
j
f
k
f
l
+
11
18
f
ijk
f
i
l
f
j
f
k
f
l
+
11
36
f
ij
f
i
k
f
j
l
f
k
f
l
+
4
9
f
ij
f
i
kl
f
j
f
k
f
l
+
1
3
f
ij
f
i
k
f
j
f
k
l
f
l
+
5
54
f
i
f
i
jkl
f
j
f
k
f
l
+
1
6
f
i
f
i
jk
f
j
l
f
k
f
l
+
1
6
f
i
f
i
j
f
j
k
f
k
l
f
l
_
+ 0
_
h
6
_
(5.37)
que claramente no es una buena estimacion, siendo en general de un orden
menor en h que el error estimado. Coincide exactamente cuando f (y) es
lineal en todos sus argumentos, cuando todas las derivadas de f de mayor
orden que el primero desaparecen, y dejan el unico termino con el mismo
42
coeciente en las dos expresiones. Sera injusto hacia Merson de decir que
propuso su estimacion como valido para ecuaciones no-lineales, pero se ha
empleado mucho como un metodo de aplicaci on general. Normalmente su
estimacion es mayor que el error de truncamiento local, y algoritmos que
ajustan los pasos en base en su estimaci on toman pasos mas peque nos que
lo necesario.
Aunque todava no se conocen muy ampliamente, existen otros metodos
del mismo tipo general que estiman correctamente los terminos de orden h
5
.
Se da aquun ejemplo que, al costo de una evaluaci on adicional de la funci on
f, da una estimacion del error sobre dos pasos consecutivos iguales.
k
0
= hf(y
s
) k
4
= hf(y
s+1
)
k
1
= hf(y
s
+
1
2
k
0
) k
5
= hf(y
s+1
+
1
2
k
4
)
k
2
= hf(y
s
+
1
4
k
0
+
1
4
k
1
) k
6
= hf(y
s+1
+
1
4
k
4
+
1
4
k
5
)
k
3
= hf(y
s
k
1
+ 2k
2
)
y
s+1
y
s
=
1
6
(k
0
+ 4k
2
+ k
3
)
k
8
= hf
_
y
s

1
6
k
0
16k
1
+
46
3
k
2

121
6
k
3
+ 24k
4
+ k
5
2k
6
_
(5.38)
donde el error de truncamiento local en t
s+2
sobre los dos pasos es
1
90
(k
0
4k
2
17k
3
+ 23k
4
+ 4k
6
+ k
8
) + 0
_
h
6
_
.
Otra tecnica, de aplicacion m as general, para la estimacion del error
sobre dos pasos para un metodo de Runge-Kutta, se basa en la extrapolaci on,
o sea se repite la integraci on con un paso dos veces mas grande, al costo de
tres evaluaciones adicionales, como f (y
s
) ya se ha evaluado. (Puede decirse
que el metodo de Merson cuesta dos evaluaciones adicionales para dos pasos).
Sobre dos pasos de tama no h, el error de truncamiento local es
G(t
s+1
, t
s+2
)d
s
(h) + d
s+1
(h) = 2h
5
(y) + 0(h
6
) (5.39)
mientras sobre un paso de tama no 2h es
d
s
(2h) = (2h)
5
(y) + 0(h
6
). (5.40)
La diferencia entre las soluciones es tambien la diferencia entre estes errores
de truncamiento, y es
30h
5
(y) + 0(h
6
) = 15 [G(t
s+1
, t
s+2
)d
s
(h) + d
s+1
(h)] , (5.41)
43
15 veces el error de truncamiento local en t
s+2
sobre los dos pasos.
Un aspecto de los metodos de Runge-Kutta que no se ha considerado es
su estabilidad para tama nos nitos del paso, o sea, sus regiones de estabili-
dad absoluta. Se considera entonces su aplicaci on a la ecuaci on
.
y
= y. (5.42)
Para cualquier metodo de cuatro evaluaciones (5.16) que satisface las condi-
ciones (5.18 ) y (5.19),
k
0
= hy
s
k
1
= h(y
s
+
10
hy
s
) = h(1 + h
1
) y
s
k
2
= h(y
s
+
20
hy
s
+
21
h(1 + h
1
) y
s
)
= h(1 + h(
2
+ h
21

1
)) y
s
k
3
= h(y
s
+
30
hy
s
+
31
h(1 + h
1
) y
s
+
32
h(1 + h(
2
+ h
21

1
))) y
s
= h(1 + h(
3
+ h(
31

1
+
32

2
+ h
32

21

1
))) y
s
y
s+1
= y
s
+
40
hy
s
+
41
h(1 + h
1
) y
s
+
42
h(1 + h(
2
+ h
21

1
)) y
s
+
43
h(1 + h(
3
+ h(
31

1
+
32

2
+ h
32

21

1
))) y
s
= y
s
+ h
_
1 + h
_
1
2
+ h
_
1
6
+
1
24
h
___
y
s
= y
s
_
1 + h +
1
2
h
2

2
+
1
6
h
3

3
+
1
24
h
4

4
_
que haba que esperarse como es una aproximacion del cuarto orden a la
soluci on y
s
e
h
. La regi on de estabilidad es la parte del plano complejo para
la cual

1 + h +
1
2
h
2

2
+
1
6
h
3

3
+
1
24
h
4

< 1 (5.43)
y se encuentra casi completamente entre 'e (h) = 2.7 y 'e (h) = 0
y entre Im(h) = 2.5, as que metodos del tipo Runge-Kutta siempre
convergen cuando h tiende a cero, pero son muy poco ecaces para proble-
mas sti. La region de estabilidad absoluta es un poco mas grande para
metodos de orden tres y cuatro que para metodos de orden uno y dos, pero
como utilizan aproximaciones polinomiales para e
h
, no puede esperarse que
se mejoren mucho para ordenes mayores.
44
Chapter 6
METODOS CON PASOS
MULTIPLES
6.1 Introducci on a los metodos con pasos m ultiples.
6.1.1 Los metodos de Adams.
Los metodos que se describen en seguida utilizan informacion acumulada so-
bre la soluci on, que no puede obtenerse durante un solo paso de integraci on.
Por esto, es mas f acil entenderlos si, para el momento, no se consideran
los problemas particulares de arranque, sino que se supone que un n umero
suciente de pasos ya se han generado de alguna manera. Se concentra la
atencion en el metodo para avanzar la soluci on por otro paso.
Para jar las ideas, sup ongase que ya se ha alcanzado el punto t
s
= sh,
y que se tiene informaci on suciente para denir un vector de polinomios
z
s
(t t
s
), de lo cual cada componente es un polinomio de grado K, o sea
z
si
() =
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 valores
de la soluci on que se tienen. Por ejemplo, pueden haberse guardado valores
y
r
, r = s p, s p + 1, ..., s de la solucion calculada, y/o de sus derivadas
.
y
r
= f (t
r
, y
r
) (6.2)
45
Si se tienen K + 1 valores, estos denen de manera unica el vector de poli-
nomios z
s
() que los interpola. Una selecci on com un es la adoptada en los
metodos del tipo Adams, para los cuales la informaci on guardada es y
s
,
.
y
s
,
.
y
s1
, ...,
.
y
sk+1
(o de manera equivalente y
s
,
.
y
s
,
.
y
s
, ...,
k1
.
y
s
donde
es el operador de diferencias por atr as,
.
y
s
=
.
y
s

.
y
s1
). Otra seleccion es
los coecientes
sik
en el polinomio (6.1), que corresponden a los coecientes
de una serie de Taylor, o a las derivadas z
s
(0) ,
.
z
s
(0) ,
..
z
s
(0) , ..., z
(k)
s
(0) .
Cualquiera que sea la relaci on entre estos polinomios y la solucion, se utilizan
para predecir el valor de la soluci on en t
s+1
= t
s
+ h, por medio de
y
(p)
s+1
= z
s
(h) . (6.3)
En seguida se utiliza la ecuaci on diferencial en el tiempo t
s+1
para evaluar la
derivada
.
y
(p)
s+1
= f
_
t
s+1
, t
(p)
s+1
_
y se determina otro polinomio z
(p)
s+1
(t t
s+1
)
con la informaci on anterior y el valor de
.
y
(p)
s+1
, que se utiliza para corregir el
valor predicho, obteniendo valores corregidos
y
s+1
= z
s+1
(0) = y
(c)
s+1
= z
(p)
s+1
(0) (6.4)
.
y
s+1
=
.
z
s+1
(0) = f
_
t
s+1
, y
(c)
s+1
_
(6.5)
Finalmente, se completa el paso desechando la informaci on guardada que no
se necesita para denir z
s+1
(), y deniendo esto en terminos de lo demas
de la informaci on guardada y de la nueva informaci on de (6.4),(6.5).
Ejemplo 6.1.1 El metodo Adams del segundo orden utiliza la f ormula co-
rrector
y
(c)
s+1
= y
s
+
1
2
h
_
.
y
s+1
+
.
y
s
_
que es equivalente a la regla del trapecio. Inicialmente se tienen valores de
y
s
,
.
y
s
,
.
y
s1
que denen un polinomio predictor
z
s
() = y
s
+
.
y
s
+

2
2h
_
.
y
s

.
y
s1
_
.
De esto se obtiene
y
(p)
s+1
= z
s
(h) = y
s
+
1
2
h
_
3
.
y
s

.
y
s1
_
.
46
Hay varias maneras de aplicar la f ormula corrector. Es posible simplemente
evaluar
.
y
(p)
s+1
= f
_
t
s+1
, y
(p)
s+1
_
y denir
y
s+1
= y
(c)
s+1
= y
s
+
1
2
h
_
.
y
(p)
s+1
+
.
y
s
_
.
y
s+1
= f
_
t
s+1
, y
(c)
s+1
_
Esto es una manera explcita, clasicado como una aplicaci on de modo
PECE; lo que quiere decir que las operaciones que se llevan a cabo son
Predicci on de y
(p)
s+1
Evaluaci on de
.
y
(p)
s+1
Correcci on para obtener y
(c)
s+1
Evaluaci on de
.
y
(c)
s+1
= f
_
t
s+1
, y
(c)
s+1
_
Otra manera de considerar la f ormula corrector es como un conjunto de
ecuaciones implcitas (y generalmente no-lineales)
y
(c)
s+1
= y
s
+
1
2
h
_
f
_
t
s+1
, y
(c)
s+1
_
+
.
y
s
_
que deben resolverse por iteraci on. Se toman los valores explcitos anteriores
de y
(c)
s+1
como una primera aproximaci on y
(1)
s+1
, y se generan aproximaciones
sucesivas
y
(j)
s+1
= y
s
+
1
2
h
_
f
_
t
s+1
, y
(j1)
s+1
_
+
.
y
s
_
, j = 2, 3, ...
continuando hasta satisfacer un criterio de convergencia, como en el proceso
de sustitucion sucesiva con el corrector de Euler implcito (3.23) que es el
corrector de Adams de primer orden. Esto puede clasicarse como una apli-
caci on de modo P(EC)
m
, donde se toma m tan grande como sea necesario
para convergencia, si la iteraci on es convergente.
En la practica, cuando se utiliza un tal metodo se restringe h para con-
seguir una convergencia r apida, por ejemplo en no m as de tres iteraciones.
El metodo general de Adams es similar. La formula predictor es
47
y
(p)
s+1
= y
s
+ h
k

k+1

k
.
y
s+1k
(6.6)
que puede derivarse, para obtener los constantes

k
, como una f ormula de
integraci on para
_
ts+h
ts
.
y
(t) dt en terminos de
.
y
s
,
.
y
s1
, ...,
.
y
s+1k
. La f ormula
corrector es
y
(c)
s+1
= y
s
+ h
k

k=0

k
.
y
s+1k
(6.7)
que puede escribirse
y
(c)
s+1
= y
(p)
s+1
+ h
0
.
y
s+1
+h
K

k=1
(
k

k
)
.
y
s+1k
(6.8)
y puede aplicarse en modo explcito PECE (o un modo P(EC)
M
E con M
jo > 1), o en modo implcito P(EC)
m
con iteracion hasta convergencia.
Puede ser interesante de escribir en forma explcita el algortmo para el modo
PECE:
y
s+1
= y
s
+ h
K

k=1

k
.
y
s+1k
+h
0
f
_
t
s+1
, y
s
+ h
K

k=1

k
.
y
s+1k
_
(6.9)
.
y
s+1
= f (t
s+1
, y
s+1
) (6.10)
Se ha supuesto desde un principio que la f ormula predictor es de orden
K, o sea que sera exacta si los componentes del vector solucion fueran poli-
nomios en t de grado no mayor que K. Es posible que la f ormula corrector
sea de orden K o de orden K + 1. Una manera sencilla de ver esto es de
considerar el corrector de Adams (6.7) como una f ormula de integraci on
para dar
_
ts+h
ts
.
y
(t) dt en terminos de
.
y
s+1
,
.
y
s
, ...,
.
y
s+1K
. Si se utiliza toda
esta informaci on, pueden escogerse los K + 1 coecientes
k
, k = 0, 1, ..., K
para dar resultados exactos si
.
y
(t) es un polinomio de grado K, o sea si la
soluci on y(t) es un polinomio de grado K + 1. Por otra parte, si se toma

K
= 0, lo que permite desechar
.
y
s+1K
antes de aplicar el corrector, y no
despues, y as reduce la memoria necesaria, se reduce el orden de la formula
corector hasta K. Otros metodos, que no son del tipo Adams, utilizan un
corrector de orden K con
K
,= 0, utilizando el grado de libertad para
mejorar la regi on de estabilidad absoluta.
48
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 un
corrector del mismo orden, como esto permite utilizar la llamada tecnica
de Milne para estimar el error de truncamiento local. Otros preeren uti-
lizar esta estimacion para mejorar la soluci on por extrapolaci on, lo que es
equivalente al utilizar un corrector de orden K + 1, y tener una estimacion
del ultimo termino de la serie de Taylor incluido.
La tecnica de Milne para estimar el error es precisamente un proceso de
extrapolaci on. Si Y
i+1
es el valor en t
s+1
de la soluci on exacta de la ecuaci on
diferencial que pasa por el punto (t
s
, y
s
), se tiene
y
(p)
s+1
= Y
s+1
+ P
K+1
h
K+1
y
(K+1)
(t
s
+

h) , (6.11)
y
(c)
s+1
= Y
s+1
+ C
K+1
h
K+1
y
(K+1)
(t
s
+ h) , (6.12)
donde P
K+1
, C
K+1
son constantes conocidos, que dependen de las f ormulas
particulares utilizadas, y

, son n umeros desconocidos entre 1 K y 1.


La diferencia,
y
(c)
s+1
y
(p)
s+1
= (C
K+1
P
K+1
) h
K+1
y
(K+1)
+ 0
_
h
K+2
y
(K+2)
_
, (6.13)
de donde el error de truncamiento local del corrector de orden K es
y
(c)
s+1
Y
s+1
=
C
K+1
C
K+1
P
K+1
_
y
(c)
s+1
y
(p)
s+1
_
+ 0
_
h
K+2
y
(K+2)
_
, (6.14)
lo que permite obtener una estimaci on desde la diferencia entre los valores
predichos y corregisos. Es normal ahora, implementar una estrategia de
ajuste del tama no del paso para guardar este valor estimado del error local
dentro de ciertos lmites, de acuerdo con las consideraciones de la seccion an-
terior. Si se especica un vector de tolerancias por paso, sus componentes
se comparan con los de la estimacion del error
T
s
=
C
K+1
C
K+1
P
K+1
_
y
(c)
s+1
y
(p)
s+1
_
. (6.15)
Si u
s
= max [T
si
/
i
[ 1 se acepta el paso, si no se rechaza. Se calcula un
nuevo tama no de paso igual a multiplicado por el valor anterior, donde

K+1
< u
1
s
. Para metodos con pasos m ultiples, esto requiere la creacion de
49
un pasado articial para los pasos siguientes, que no es trivial para ciertas
representaciones del polinomio z (). Por esto se evita cambiar el tama no de
paso con demasiada frecuencia, y ciertos programas hacen un cambio sola-
mente cuando u
s
> 1 o es posible tomar un = 2, aunque estas condiciones
se consideran demasiado fuertes ahora.
Ejemplo 6.1.2 Considerese el predictor de Euler, de primer orden
y
(p)
s+1
= y
s
+ h
.
y
s
y el corrector de Euler implcito iterado hasta convergencia
y
(c)
s+1
= y
s
+ hf
_
t
s+1
, y
(c)
s+1
_
.
Se tiene
y
(p)
s+1
= Y
s

1
2
h
2
..
y
s
+0
_
h
3
...
y
_
y
(c)
s+1
= Y
s
+
1
2
h
2
..
y
s
+0
_
h
3
...
y
_
de donde
y
(c)
s+1
y
(p)
s+1
= h
2
..
y
s
+0
_
h
3
...
y
_
y la estimaci on del error de truncamiento local es
T
s
=
1
2
_
y
(c)
s+1
y
(p)
s+1
_
.
6.1.2 Estabilidad de los metodos de pasos m ultiples.
Para investigar la estabilidad de los metodos de pasos m ultiples, se considera
la ecuaci on
.
y
= y + g (t) (6.16)
que puede representar un componente de un sistema, con igual a un valor
propio de la matriz Jacobiana A(t). Se podra considerar la ecuaci on
.
y
= y (6.17)
como antes, y la generalidad de (6.16) no introduce nada nuevo, como se ve
en adelante.
Sup ongase que la soluci on correcta de (6.16) es
50
y = S(t) (6.18)
as que
g(t) =
.
S (t) S (t) (6.19)
y que la soluci on calculada es
y
s
= S(t
s
) +
s
(6.20)
as que
.
y
s
= y
s
+ g (t
s
)
= S (t
s
) +
s
+
.
S (t
s
) S (t
s
)
=
.
S (t
s
) +
s
(6.21)
y el error global
s
satisface la ecuacion (6.17).
Para el metodo implcito de tipo Adams de segundo orden (la regla del
trapecio del ejemplo 6.1.1) iterado hasta convergencia, se tiene

s+1
=
s
+
1
2
h[
s+1
+
s
] + T
s+1
(6.22)
donde T
s+1
es el error de truncamiento local. A un si S(t) es un polinomio
cuadr atico y T
s+1
= 0, la ecuaci on (6.22) tiene soluciones

s
=
0

s
=
_
1 +
1
2
h
_
/
_
1
1
2
h
_
(6.23)
que pueden ser diferentes de cero. Si se empieza con valores iniciales exactos
entonces
0
= 0, pero de todos modos, errores de redondeo introducir an un
error intermedio diferente de cero, y en seguida un T
s+1
,= 0 constituir a
otro fuerte de errores, los cuales se propagar an de acuerdo con (6.23). Si
h > 0, hay una funci on complementaria creciente e
t
, que crece por un
factor e
h
en cada paso. Para h peque no, es una buena aproximaci on
a e
h
, pero cuando h tiende a 2, tiende a innito. Se ve que, con h
positivo (o con parte real positiva, si se trata de un sistema) el metodo es
menos estable que el problema, pero controlando el tama no del paso, es
posible evitar que tome valores grandes. Si la parte real de h es negativa,
entonces [[ < 1 y se tiene estabilidad absoluta para toda la mitad izquierda
del plano complejo, una propiedad que se llama A-estabilidad. Sin embargo,
cuando h , 1, y hay una oscilacion nita para problemas muy
51
sti. (Para conseguir convergencia, como en (6.22), para [h[ grande, es
esencial utilizar el proceso iterativo de Newton-Raphson, como en el caso
del metodo implcito de Euler).
Considerese ahora un metodo implcito de Adams de orden mayor, o sea
el corrector (6.7). En lugar de las ecuaciones (6.23), se tiene

K1
h
K

k=0

Kk
= 0 (6.24)
una ecuaci on de grado K en . Una de sus races (la raz principal) es una
buena aproximaci on a e
h
para [h[ peque no. Las otras (races cticias) son
todas cero para h = 0, y entonces para h peque no y diferente de cero
satisfacen

K1
+ h
K
= 0 (h) + 0
_

K
_
(6.25)
de donde son del orden [h
K
[
1/K1
en magnitud. La regi on de estabilidad
absoluta es la region dentro de la cual todas las races de (6.24) tienen valor
absoluto menor que uno. Tpicamente, para orden mayor que dos, esta
region es de la forma siguiente
Es necesario que h sea tal que h caiga dentro de esta regi on, y para
problemas sti esto quiere decir valores muy chiquitos de h a un cuando
la soluci on vara lentamente.
52
Para un metodo Adams en modo PECE (6.9) se tiene

K1
h
K

k+1

Kk
h
0
_

K1
+ h
K

k=1

Kk
_
= 0 (6.26)
una ecuaci on con propiedades similares a los de (6.24). Sin embargo, tienen
regiones de estabilidad absoluta un poco mas grande para valores mayores de
K, y por esto varios usuarios preeren el modo PECE de los metodos Adams,
y no la iteraci on hasta convergencia, cuando no se trata de problemas sti.
Para un metodo de pasos m ultiples m as general que los de Adams, con
corrector de la forma

0
y
(c)
s+1
=
K

k=1

k
y
s+1k
+ h
0
f
_
t
s+1
, y
(c)
s+1
_
+ h
K

k=1

k
.
y
s+1k
(6.27)
la ecuaci on correspondiente a (6.24) es
K

k=0

Kk
h
K

k=0

Kk
= 0 (6.28)
o sea
() h () = 0 (6.29)
deniendo los polinomios () , () con coecientes
k
,
k
, k = 0, 1, ..., K.
Si el metodo es de orden K, se sabe que la raz principal de (6.29) satisface
= e
h
+ 0
_
(h)
K+1
_
(6.30)
de donde con h = 0, (1) = 0. Resulta que puede escogerse el polinomio
() con races en donde sea, y la condicion (6.30) determina el polinomio
() de manera unica. Los metodos de Adams resultan si se toma () de
tal manera que las races cticias de (6.29) tienden a cero cuando h 0, o
sea si las races cticias de () son cero. Para problemas sti se quiere
mantener estabilidad cuando h tiende a lo que resulta posible para
orden K hasta 11.
53
Chapter 7
FORMULACION DE
NORDSIECK Y METODOS
PARA ECUACIONES
STIFF
7.1 Una tecnica para cambiar el paso, y las f ormulas
de Gear
7.1.1 La formulaci on de Nordsieck.
Para simplicar la notaci on en esta seccion, se considera una sola ecuaci on
diferencial
.
y
= f (t, y) (7.1)
y se reserva la notacion y
s
para el vector de informaci on guardada en el
metodo predictor-corrector. Para el metodo de Adams de orden K, los
componentes de y
s
seran
_

_
y
s0
y
s1

y
sK
_

_
=
_

_
y
s
h
.
y
s

h
.
y
s+1K
_

_
(7.2)
54
donde se han incluido multiplicadores h, para las derivadas, para simplicar
f ormulas 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 una
columna para cada componente de la soluci on, pero la notaci on resulta muy
compleja
Dado y
s
, es facil construir un vector predicho, multiplicando por una
matriz apropiada, por ejemplo
y
(p)
s+1
=
_

_
y
(p)
s+1
h
.
y
(p)
s+1
h
.
y
s

h
.
y
s+2K
_

_
=
_

_
1

K1

K
0
1

2

K1

K
0 1 0 0 0
0 0 1 0 0



0 0 0 1 0
_

_
y
s
= Cy
s
.
(7.3)
Aqu, los
k
son coecientes nuevos, que todava pueden escogerse para
consistencia, y
.
y
(p)
s+1
claramente no tiene el mismo signicado como antes.
En efecto,
.
y
(p)
s+1
debe ser la derivada de z
s
() en = h. Si se tiene otro
vector de informaci on guardada, la interpretaci on de los vectores y
s
, y
(p)
s+1
es
diferente, y la matriz C tiene que ser diferente.
Se tomar a y
(p)
s+1
como y
(0)
s+1
, el valor inicial para la aplicaci on iterativa
del corrector. Una aplicaci on del corrector (6.7), o de su forma m as general
(6.27), puede escribirse
F
m
= h
.
y
(m)
s+1
hf
_
t
s+1
, y
(m)
s+1
_
h
.
y
(m+1)
s+1
= h
.
y
(m)
s+1
F
m
y
(m+1)
s+1
= y
(m)
s+1
F
m

0
/
0
(7.4)
donde las primeras dos ecuaciones corresponden a la evaluaci on,
.
y
(m+1)
s+1
es lo
que antes se llamaba
.
y
(m)
s+1
(o sea
.
y
(p)
s+1
para la primera aplicaci on con m = 0).
A cualquier cambio a h
.
y
s+1
corresponde el mismo cambio, multiplicado por

0
/
0
para seguir satisfaciendo (6.27). El resultado de aplicar este corrector
una o varias veces es
y
(c)
s+1
= y
(p)
s+1
Fq (7.5)
55
donde, en este caso, q es el vector
q =
_

0
/
0
1
0

0
_

_
(7.6)
(donde
0
= 1 para un metodo Adams), y F es un escalar que depende del
modo en lo cual se aplica el corrector. Finalmente, tomando
y
s+1
= y
(c)
s+1
(7.7)
se ha avanzado un paso. Por la manera de incluir la evaluaci on en la co-
rreccion siguiente, el modo de aplicacion es necesariamente P(EC)
m
, con m
jo 1 o con iteracion hasta convergencia.
Considerese ahora un cambio de la informaci on guardada, sin cambiar
de manera esencial el metodo. Si el nuevo vector de informaci on guardada
es z
s
, cualquier de los dos vectores y
s
, z
s
especica de manera unica el
mismo polinomio de grado K, y debe haber una matriz P no-singular que
les relaciona, o sea
y
s
= Pz
s
y
s+1
= Pz
s+1
(7.8)
En terminos de los nuevos vectores, (7.3) se escribe
z
(p)
s+1
= P
1
CPz
s
(7.9)
y (7.5) se convierte en
z
(c)
s+1
= z
(p)
s+1
P
1
qF (7.10)
con el mismo valor de F.
En el caso particular
56
z
s
=
_

_
y
s
h
.
y
s
1
2!
h
2
..
y
s

1
K!
h
K
y
(K)
s
_

_
(7.11)
el polinomio predictor es
z
s
(t t
s
) =
K

j=0
z
sj
_
t t
s
h
_
j
(7.12)
y se tienen sus derivadas escaladas
1
k!
h
k
z
(k)
s
() =
K

j=k
_
j
k
_
z
sj
_

h
_
jk
. (7.13)
Con = h se obtiene la matriz del predictor
P
1
CP = A =
_

_
1 1 1 1 1
0 1 2 3 K
0 0 1 3
K(K1)
2
0 0 0 1
K(K1)(K2)
23



0 0 0 0 1
_

_
(7.14)
donde
A
kj
=
_
j
k
_
= A
k,j1
+ A
k1,j1
, j k. (7.15)
Escribiendo l = P
1
q se tiene la formulacion de Nordsieck
z
(p)
s+1
= Az
s
z
s+1
= z
(p)
s+1
lF
(7.16)
en donde se normaliza l por la condici on l
1
= 1.
57
Con esta notaci on, no hay problema ninguno en cambiar el tama no
del paso h cuando es necesario, como esto implica solamente un nuevo es-
calamiento de los componenetes de z
s
por potencias de h.
En la representaci on (7.3) del metodo de Adams, no se denieron los
elementos
k
del segundo rengl on de C, pero es f acil 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
_
t
s+1,
y
(p)
s+1
_

k=1

k
h
.
y
s+1k
_
(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
=
3
2
,

2
=
1
2

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

0
= 1,
1
= 1,
2
= 0
de donde

1
= 2,
2
= 1
C =
_

_
1
3
2

1
2
0 2 1
0 1 0
_

_
q =
_

_
1
2
1
0
_

_
Para polinomios de segundo grado
y
s=
_

_
y
s
h
.
y
s
h
.
y
s1
_

_ =
_

_
1 0 0
0 1 0
0 1 2
_

_
_

_
y
s
h
.
y
s
1
2
h
2
..
y
s
_

_ = Pz
s
de donde
58
P
1
CP =
_

_
1 0 0
0 1 0
0
1
2

1
2
_

_
_

_
1
3
2

1
2
0 2 1
0 1 0
_

_
_

_
1 0 0
0 1 0
0 1 2
_

_
=
_

_
1 1 1
0 1 2
0 0 1
_

_ = A
como debe de ser, y
l = P
1
q =
_

_
1 0 0
0 1 0
0
1
2

1
2
_

_
_

_
1
2
1
0
_

_ =
_

_
1
2
1
1
2
_

_.
Este vector caracteriza el metodo implcito de Adams de segundo orden en
la formulaci on de Nordsieck. Cuando se hace una correcci on a h
.
y
s+1
(o sea
una evaluaci on) se hace la mitad de la misma correcci on a y
s+1
, y tambien
a
1
2
h
2
..
y
s+1
. Esto quiere decir que la aproximaci on polinomial de segundo
grado en t
s+1
se corrige por un m ultiplo de
1
2
+
t t
s+1
h
+
1
2
_
t t
s+1
h
_
2
=
1
2
_
t t
s
h
_
2
y es obvio que esto es consistente con el proceso de guardar los valores de
y
s
, h
.
y
s
sin cambio para el paso siguiente.
Ademas, se ve que F es la suma de varias correcciones a la derivada,
una para cada iteraci on del corrector, y de (7.16), para un metodo dado
(o sea un vector l dado, como A es jo), F es proporcional a la diferencia
entre los valores corregidos y predichos y entonces proporcional al error de
truncamiento local.
7.1.2 Estabilidad y metodos para ecuaciones sti.
Es claro que para ecuaciones sti se necesita un metodo implcito, como
metodos explcitos tienen
0
= 0 y al menos una de las races de (6.28)
crece sin lmite cuando h tiende a . Se necesita un metodo implcito
para lo cual todas las races de () h () quedan con valor absoluto
menor que uno para h real negativo, cualquiera que sea su magnitud, lo
que implica que las races de () no deben ser mayores que uno. La regi on
59
de estabilidad absoluta de tal metodo incluira todo el eje real negativo, y
sera de la forma general del exterior de una curva as
.
Sera ideal que el metodo des A-estable como los metodos de Euler por
atr as, y del trapecio: esto implica que la curva se encontrara completamente
del lado derecho del eje imaginario, pero no es posible para K > 2. La
region de inestabilidad del lado izquierdo del eje imaginario corresponde a
funciones complementarias oscilantes con amortiguamiento debil, para las
cuales la restriccion sobre el paso h es normalmente mas fuerte debido a
precision, que la debido a la estabilidad.
Gear propuso los metodos de orden K con () =
K
, o sea con todas sus
races iguales a cero, y demostro que tenan regiones de estabilidad absoluta
de la forma descrita para K 6. Otros investigadores han encontrado
metodos con las mismas propiedades hasta K = 11.
Para todos estos metodos, queda un problema ya mencionado para los
metodos de Euler por atr as, y del trapecio. Considerese la iteracion del
corrector (7.4) para la ecuacion lineal
60
.
y
= y + g (t) . (7.19)
Se tiene
F
m+1
= h
.
y
(m+1)
s+1
hf
_
t
s+1
, y
(m+1)
s+1
_
= h
.
y
(m)
s+1
F
m
h
_
y
(m+1)
s+1
+ g (t
s+1
)
_
= hf
_
t
s+1
, y
(m)
s+1
_
h
_

_
y
(m)
s+1
F
m

0
/
0
_
+ g (t
s+1
)
_
= hF
m

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) tal
que z
s+1
satisface la ecuacion diferencial, lo que quiere decir que
z
s+1,1
hf (t
s+1
, z
s+1,0
) = 0 (7.21)
y de resolver esta ecuacion por el metodo iterativo de Newton-Raphson. Se
tiene
z
(m+1)
s+1,1
hf
_
t
s+1
, z
(m+1)
s+1,0
_
= z
(m)
s+1,1
l
1
F
m
hf
_
t
s+1
, z
(m)
s+1,0
l
0
F
m
_
z
(m)
s+1,1
hf
_
t
s+1
, z
(m)
s+1,0
_

_
l
1
I l
0
hA
(m)
(t)
_
F
m
(7.22)
despreciando terminos en F
2
m
, y con A
(m)
(t) denido como en (3.27). Por
(7.21), esta expresi on debe de ser cero aproximadamente, dando
_
l
1
I l
0
hA
(m)
(t)
_
F
m
= h
.
y
(m)
s+1
hf
_
t
s+1
, y
(m)
s+1
_
(7.23)
un sistema de n ecuaciones lineales para determinar F
n
(en el caso de un
sistema de n ecuaciones diferenciales), en lugar de la denici on en (7.4). Si
el sistema es lineal, y se tiene la matriz Jacobina exacta, una iteracion con
(7.23) da la soluci on de (7.21). En general, no se tiene la matriz Jacobiana
exacta, como no se quiere repetir el calculo e inversi on (factorizaci on) de
la matriz
_
l
1
I l
0
hA
(m)
(t)
_
en cada paso (a un menos en cada iteraci on
para un sistema no-lineal), si no es relativamente sencillo. Por lo tanto,
es necesario normalmente, iterar el corrector (7.23) mas de una vez. Gear
sugeri o la siguiente estrategia:
61
(a) Si hay convergencia del corrector en 3 iteraciones o menos, se sigue
utlitizando la misma factorizaci on de la matriz
_
l
1
I l
0
hA
(m)
(t)
_
.
(b) Si en 3 iteraciones no hay convergencia, y si no se haba calculado
la matriz inmediatamente antes, se calcula y se factoriza nuevamente, y se
repiten las iteraciones.
(c) Si no hay convergencia con una nueva matriz, se reduce h en un factor
16, se calcula la nueva matriz, y se repiten las iteraciones.
Con un poco m as memoria y programaci on, sera posible mejorar la
estrategia, guardando A
(m)
(t) para facilitar el calculo de
_
l
1
I l
0
hA
(m)
(t)
_
cuando h o K (que determina l
0
, l
1
) cambian. En caso (b) un nuevo c alculo
de A
(m)
(t) sera necesario de todos modos.
Ejemplo 7.1.2 Para la f ormula de diferenciaci on por atras (de Gear) de
segundo orden, se pone

0
= 1 ,
1
= 0 ,
2
= 0
y resulta

0
=
3
2
,
1
= 2 ,
2
=
1
2
para que el metodo sea exacto para cualquiera solucion polinomial de segundo
grado. Entonces la informaci on guardada es
y
s
=
_

_
y
s
h
.
y
s
y
s1
_

_ =
_

_
1 0 0
0 1 0
1 1 1
_

_
_

_
y
s
h
.
y
s
1
2
h
2
..
y
s
_

_ = Pz
s
y los predictores son
y
(p)
s+1
= 2h
.
y
s
+y
s1
h
.
y
(p)
s+1
= 2y
s
+ 3h
.
y
s
+2y
s1
de donde la matriz
C =
_

_
0 2 1
2 3 2
1 0 0
_

_.
Se verica que P
1
CP = A, y como
62
q =
_

0
/
0
1
0
_

_ =
_

_
2
3
1
0
_

_
se tiene
l = P
1
q =
_

_
1 0 0
0 1 0
1 1 1
_

_
_

_
2
3
1
0
_

_ =
_

_
2
3
1
1
3
_

_.
Cualquiera correcci on a z
s+1
es un m ultiplo de
2
3
+
t t
s+1
h
+
1
3
_
t t
s+1
h
_
2
=
1
3
_
t t
s
h
__
t t
s1
h
_
.
Entonces deja sin cambio los valores de y
s
, y
s1
, pero en este caso no h
.
y
s
que ya no se utiliza en el paso siguiente.
Al comparar los metodos de Gear y de Adams, se encuentra que los
de Gear necesitan mas tiempo de calculo para problemas sin stiness, y
mucho menos tiempo para problemas sti. Algunos investigadores con-
sideran que las ventajas de los metodos de Adams en los casos sin stiness
no son sucientemente grandes para justicar la utilizaci on de los dos, y sug-
ieren los metodos de Gear para nes generales. Sin emabargo, los metodos
de Adams son todava 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 sti. Puede concluirse que en
caso de duda es mejor utilizar los metodos de Gear, pero ciertas implementa-
ciones de los metodos de Adams salen con un diagn ostico si consideran que
el sistema de ecuaciones es sti.
63
Chapter 8
METODOS
AUTOMATICOS.
8.1 Dise no de rutinas con un mnimo de parametros
de control.
8.1.1 Necesidades para un algoritmo automatico.
Ya se ha mencionado varias veces la idea de metodos automaticos de inte-
graci on, en particular la seleccion autom atica del paso h en base en un error
de truncamiento local estimado. Se estudiar an ahora con m as detalle las
necesidades para un algoritmo autom atico. Deben incluirse los siguientes
puntos:
(A) un metodo para avanzar la soluci on de un tiempo dado t por un paso
hasta tiempo t+h, y estimar el error de truncamiento local correspondiente;
(B) una tecnica para cambiar el tama no del paso h (y eventualmente el
orden K), y para actualizar la informaci on guardada que depende de h (o
de K);
(C) una estrategia para decidir el valor de h (y eventualmente de K)
que debe utilizarse, como resultado de la utilizaci on de (A) para un paso de
prueba, y un examen del error estimado;
(D) una manera de entregar al usuario los valores y(T
r
), r = 0, 1, 2, ...,
de la solucion en tiempos T
r
, especicados de antemano, y frecuentemente
con intervalos iguales.
Se ha considerado (A) en las secciones anteriores. Hay que acordarse
que normalmente existe una constante K (el orden del metodo) tal que el
64
error de truncamiento local, para un paso de tama no h, es
d
r
= C
K+1
h
K+1
y
(K+1)
(t
r
) + O
_
h
K+2
_
(8.1)
donde C
K+1
es un constante caracterstico del metodo. Tal f ormula puede
tener validez, por cierto, s olo si las ecuaciones diferenciales son tales que
y(t) tiene una derivada continua de orden K + 1, o sea que f(t, y) tiene
derivadas continuas de orden K con respecto a sus argumentos. A un si
esto es cierto para la ecuacion diferencial exacta que quiere resolverse, debe
cuidarse que cualquiera aproximaci on a las funciones involucradas es su-
cientemente suave para no violar esta condicion, si se quiere que un metodo
autom atico funcione sin problemas. Sup ongase por ejemplo que se quiere
resolver la ecuacion sencilla
.
y
+y = g(t) (8.2)
donde g(t) es una funci on fsica compleja para la cual se tienen aproxima-
ciones diferentes en los rangos 0 t 1, 1 t 4, 4 t. A un si se cuida
que los errores de las aproximaciones sean peque nas, y que sean continuas
entre s en los puntos t = 1, t = 4, de todos modos no tendr an una suavi-
dad perfecta en estos puntos; una derivada, en muchos casos la primera,
tendr a una discontinuidad. Es claro que la derivada de la soluci on de orden
uno mayor sera tambien discontinua, y se puede esperar que un metodo au-
tomatico de soluci on de alto orden no podra atravesar esas discontinuidades,
o al menos generara errores inesperadamente grandes, o tomara pasos muy
peque nos as desgastando el tiempo de calculo.
El punto (B) es trivial para un metodo de un solo paso. Para un metodo
de pasos m ultiples, puede ser relativamente sencillo para la formulacion de
Nordsieck, o bastante difcil para otras formulaciones. Por esta raz on, mu-
chos programas automaticos en el pasado han utilizado pasos h relacionados
por potencias de 2, o sea de la forma 2
p
h
0
para un entero p (positivo o nega-
tivo) y un paso de prueba h
0
, posiblemente dado por el usuario, o calculado
en base a un criterio del programa. El mejor valor de h en cualquier punto
de la integraci on puede ser de la forma 2
p+
h
0
para 0 < 1, y si se hace la
suposici on razonable que puede tomar cualquier valor en este intervalo con
la misma probabilidad se concluye que tal metodo hace aproximadamente
1.4 veces mas trabajo que lo necesario. Metodos mas modernos no restringen
los cambios de h a factores de dos, y reducen el trabajo a aproximadamente
1.1 veces mas que lo ideal, o sea 30% menos que antes.
65
El punto (C) es lo m as importante para un metodo automatico, y se
considera con m as detalle despues. Antes se va a ver el punto (D) que puede
parecer trivial a primera vista. La soluci on obvia es de probar, antes de hacer
un paso de la integraci on, si se va a rebasar el punto siguiente T
r
en lo cual se
necesita la solucion, y en el caso que s, reducir h hasta T
r
t. Esto funciona
bien si el espaciamiento entre los puntos T
r
es grande comparado con el paso
h optimo, en cual caso no cuesta mucho calculo suplementario, y si no hay
complicaciones al cambiar h por un factor arbitrario. Muchas veces esto
no es el caso. Para metodos de pasos m ultiples, a un con la formulaci on de
Nordsieck, hay problemas si se cambia el paso h con frecuencia, o por factores
grandes. Adem as muchas veces el usuario quiere valores de la solucion en
puntos T
r
, con intervalos iguales pero mas peque nos que los pasos h que
pueden utilizarse por razones de precisi on y estabilidad. Esto puede ser el
caso para problemas sti, si el usuario quiere resultados con intervalos
tpicos de las funciones complimentarias r apidas, a un cuando la soluci on
particular se ha suavizada. Considerese los distintos tipos de metodos por
separado.
Los metodos de un solo paso no tienen, desde luego, problemas para
cambiar el valor del paso h que utilizan. Para problemas sti tienen que
tomar pasos chiquitos (al menos los metodos que se han visto en este curso),
y es probable que necesitaran muchos pasos entre valores consecutivos de T
r
.
Los metodos predictor-corrector pueden utilizar la formulaci on de Nordsieck,
que facilita el cambio del paso, pero estas formulas tienen un metodo muy
economico de interpolar dentro de un paso, como en cada paso se tiene un
polinomio interpolante. Pueden, entonces, evitar el problema tomando un
paso normal que rebasa uno (o varios) puntos T
r
, y despues interpolar la
soluci on en estos puntos. Por ejemplo, con la formulaci on de Nordsieck,
puede utilizarse el polinomio predictor
y(t) =
K

k=0
1
k!
h
k
y
(k)
s
_
t t
s
h
_
k
(8.3)
para interpolaci on en el rango t
s
< t < t
s
+ h, o igualmente utilizar de
manera atrasada el predictor siguiente
y(t) =
K

k=0
1
k!
h
k
y
(k)
s+1
_
t t
s+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 = t
s
da y
s
, mientras
66
(8.3) evaluado en t = t
s+1
da y
(p)
s+1
,= y
s+1
. Hay otra posibilidad, que es
de interpolar todos los valores guardados, tanto en t
s
como en t
s+1
; por un
polinomio de grado m as elevado, que da una soluci on interpolada m as suave.
Para los metodos de un solo paso, no parece que hay una manera de
utilizar los valores intermedios dentro del paso, que generan los metodos
de Runge-Kutta y de extrapolaci on, como esos valores no tienen el mismo
orden de precision como los valores del principio y al nal del paso. En
una rutina autom atica publicada, utilizando el metodo de extrapolaci on de
Bulirsch y Stoer, cada vez que se ha pasado por un punto T
r
, se guardan
los valores actuales de la soluci on, y se ejecuta un paso m as corto por atr as,
hasta T
r
. Con este metodo, el paso adicional puede ser bastante costoso.
Considerese ahora la estrategia para jar h (y eventualmente K, si se deja
la libertad de variarlo). Es importante realizar que casi todos los metodos
autom aticos utilizan estrategias relativamente sencillas, para evitar calculos
adicionales costosos. Escogen h (dado el orden K) lo mas grande posible
para guardar, en cada paso, una norma del error de truncamiento local
estimado dentro de ciertos lmites. Tomando en cuenta las suposiciones (a)
y (b) de la secci on 5.1.5, una norma tpica es
|d| = max
1i<n

d
i
Y
i

(8.5)
donde los Y
i
pueden ser valores tpicos de [y
i
(t)[ especicados por el usuario,
bajo suposici on (a), pueden ser calculados como
Y
i
(t) = max (Y
i
(0) , max
0t
[y
i
()[) (8.6)
donde queda necesario especicar Y
i
(0) para evitar que sea inicialmente cero,
por ejemplo Y
i
(0) = 1. Esta ultima expresi on (8.6) parece tener ventajas,
especialmente si el usuario especica Y
i
(0) como un valor tpico de [y
i
(t)[,
como entonces controla el error absoluto si la soluci on no crece, seg un su-
posicion (a), y controla el error relativo si la soluci on crece, seg un suposici on
(b). En la pr actica, hay muchos problemas en los cuales los elementos y
i
,
del vector de soluciones, representan cantidades fsicas con ordenes de mag-
nitud muy diferentes y no es aconsejable que el programa autom atico utilice
valores estandares para los Y
i
(0), tales como Y
i
(0) = 1. Por la misma raz on,
no es satisfactorio dejar Y
i
= 1 en (8.5). Por otra parte, no hay raz on par-
ticular para la forma (8.5) en preferencia sobre ciertas otras normas, tales
como
67
|d| =
_
n

i=1
_
d
i
Y
i
_
2
_
1/2
(8.7)
excepto que esta necesita un poco mas de calculo. Algunos programas uti-
lizan formas mas complejas para Y
i
(t) que aquella dada en (8.6), pero nor-
malmente esto es suciente.
Un punto debil en casi toda esrategia es que controla solamente el error de
truncamiento local. Normalmente, el usuario especica una tolerancia por
paso (en conjunto con los Y
i
, ya no se necesita un vector de tolerancias como
en la seccion 6.1.1, el vector anterior siendo ahora Y ), y el algoritmo escoge
h 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 sea
proporcional a h, o sea
|d| <
h
b
(8.9)
si se esta integrando de cero a b. Con los metodos de pasos m ultiples, esto
puede generar problemas, como normalmente se arrancan por un metodo de
primer orden con
|d| h
2
(8.10)
lo que da una h proporcional a , posiblemente muy peque no.
Ademas, el criterio (8.9) puede ser muy pesimista para un problema
sti. Para la ecuacion sencilla (8.2), el error acumulado
s
satisface apro-
ximadamente
(
s

s1
) + h
s
= d
s
(8.11)
que es una aproximaci on a la ecuaci on diferencial
d
dt
+ =
1
h
d (t) . (8.12)
Esto tiene la solucion (si (0) = 0)
(t) =
_
t
0
e
(t)
d ()
h()
d (8.13)
68
y si se utiliza (8.9) con Y = 1 en (8.5) se tiene
[ (b)[ <

b
_
b
0
e
(b)
d =

b
_
1 e
b
_
. (8.14)
Si el problema es sti, b es grande positivo, y este error global es mucho
menor que la tolerancia . En el caso contrario, para un problema inestable,
b es grande negativo, y la expresi on en (8.14) puede ser mucho mayor
que . En este caso, si la solucion crece como e
t
seg un suposici on (b), y
Y = max
0t
[y(t)[ se obtiene en lugar de (8.14)
[ (b)[ <

b
_
b
0
e
b
d = e
b
(8.15)
que es mayor que , pero representa un error relativo de , con respecto a la
soluci on. Regresando al caso sti, para un sistema complejo de ecuaciones
el criterio (8.9) puede ser menos pesimista, como habra un rango de valores
propios , para unos de los cuales posiblemente b es del orden de magnitud
de 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 m as ecientes cuando no se pide mucha
precision, o cuando el paso h se encuentra limitado por razones de estabi-
lidad, y no por razones de precisi on, mientras los metodos de orden elevado
son mejores para conseguir alta precision. En un metodo de pasos m ultiples,
es conveniente arrancar con K = 1 (un metodo de un solo paso) como no se
necesita informacion guardada. Sin embargo, debe ser posible aumentar K
r apidamente a medida que se vaya generando tal informaci on.
Una estrategia del estilo siguiente se utiliza con frecuencia. De la dife-
rencia entre el predictor y el corrector, se tiene una estimacion d
Ks
(h) del
error de truncamiento local en el s-esimo paso de tama no h con orden K.
Supuestamente
d
Ks
(h
K
) = d
Ks
(h)
_
h
K
h
_
K+1
(8.16)
lo que permite escoger h
K
, el mejor paso h el orden K, como se ha descrito.
69
Cuando ya se tienen dos pasos con el mismo h y al mismo K, se tienen
d
K,s+1
(h) d
Ks
(h) = C
K+1
h
K+1
_
y
K+1
(t
s+1
) y
(K+1)
(t
s
)
_
+ 0
_
h
K+3
_
= C
K+1
h
K+2
y
(K+2)
(t
s+1
) + 0
_
h
K+3
_

C
K+1
C
K+2
d
K+1,s+1
(h)
(8.17)
de donde es posible estimar el error que podra esperarse con el orden
K + 1. Tambien se tendra una estimaci on de h
K
y
(K)
, lo que permite
estimar d
K1,s
(h). De estas estimaciones, es posible obtener los mejores
pasos h
K1
, h
K+1
que podran utilizarse con los ordenes correspondientes.
Basicamente, se escoge el orden que permite el paso mas grande (si el calculo
por paso es similar en los tres casos), y se toma un paso un poco m as peque no
que el maximo para evitar que se encuentre rechazado con mucha frecuen-
cia, debido a variaciones de la estimaci on entre un paso y el siguiente. Son
necesarias unas reglas de seguridad, tales como las siguientes:
(a) Si el error es demasiado grande, no se considera un aumento del
orden, sino solamente se comparan los ordenes K, K 1.
(b) Despues de un cambio de h, o de K, no se considera un aumento, ni
de h, ni de K, durante K +1 pasos, porque los metodos con pasos m ultiples
tienen implcitamente una memoria de K + 1 valores, y se encuentra que
genera una inestabilidad de cambiar articialmnte dos veces el mismo pasado
guardado.
(c) No se cambia h por un factor menor que 1.1, ni por un factor mayor
que 2, como valores lmites tpicos.
(d) No se cambia el orden K si no hay una ventaja signicativa. Si
no hay una diferencia signicativa entre los ordenes K 1, K + 1, se da
preferencia al orden K 1, para lo cual hay menos problemas posibles con
error de redondeo, o con derivadas discontinuas.
70
Bibliography
[1] Gear C.W., Numerical Initial Value Problems in Ordinary Dierential
Equations, Prentice-Hall, 1971.
[2] Shampine L.F. & Gordon M.K., Computer Solution of Ordinary Dier-
ential Equations, W.H.Freeman, 1975.
[3] Hall G. & Watt J.M., Modern Numerical Methods for Ordinary Dier-
ential Equations, Oxford University Press, 1976.
[4] Butcher J.C., The Numerical Analysis of Ordinary Dierential Equa-
tions, Wiley, 1987.
[5] Hairer E., Nrsett S.P. & Wanner G., Solving Ordinary Dierential
Equations I, Nonsti Problems, Springer-Verlag, 1987, (Second Edition
1993).
[6] Hairer E. & Wanner G., Solving Ordinary Dierential Equations II, Sti
and Dierential-Algebraic Problems, Springer-Verlag, 1991.
[7] Lambert J.D., Numerical Methoda for Ordinary Dierential Systems,
The Initial Value Problem, Wiley, 1991.
71

You might also like