Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DIFERENCIALES ORDINARIAS.
Roland England
Marzo 2003.
Contents
1 Introducci
on
1.1 Repaso de las propiedades de ecuaciones diferenciales ordinarias y de sus soluciones. . . . . . . . . . . . . . . . . . . . .
1.1.1 Soluciones analticas y numericas. . . . . . . . . . . .
1.1.2 Sistemas de ecuaciones, y ecuaciones de orden mayor
que uno. . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 Soluciones generales y condiciones iniciales. . . . . . .
1.1.4 Singularidades y ecuaciones implcitas. . . . . . . . . .
1.1.5 Teorema de existencia. . . . . . . . . . . . . . . . . . .
1.2 Ecuaciones lineales, linealizaci
on de ecuaciones no-lineales, y
estabilidad del problema. . . . . . . . . . . . . . . . . . . . .
1.2.1 Soluci
on general de ecuaciones lineales. . . . . . . . .
1.2.2 Aplicaci
on a la primera variaci
on de ecuaciones nolineales, y estabilidad del problema. . . . . . . . . . .
4
4
4
5
6
7
9
10
10
12
3.1.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
28
28
28
29
29
34
35
35
35
36
36
37
41
42
54
54
54
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
Chapter 1
Introducci
on
1.1
1.1.1
y=
y=
f (t) dt.
(1.2)
y(t) = y0 +
que es la solucion u
nica.
4
f ( )d
t0
(1.3)
El segundo problema es que la integral en (1.2) o (1.3) no puede generalmente 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+et sin2 t) no se conoce una integral explcita,
y s
olo puede resolverse mediante integraci
on numerica.
Ejemplo 1.1.2 Sea f (t) = 1 + et sin2 t.
Entonces f (t) = 1 + 12et (1 cos 2t).
1.1.2
y 1 = f1 (t, y1 , y2 , ..., yn )
.
y 2 = f2 (t, y1 , y2 , ..., yn )
..
.
.
y n = fn (t, y1 , y2 , ..., yn )
(1.4)
(1.5)
yi = y (i1) ,
i = 2, 3, ..., n
(1.6)
y 1 = y2
.
y 2 = y3
..
.
.
y n1 = yn
.
y n = f (t, y1 , y2 , ..., yn )
(1.7)
que es una forma particularmente sencilla de las ecuaciones (1.4). Normalmente, se supone que ecuaciones de orden mayor se reducen a sistemas de
primer orden para la soluci
on numerica, aun que algunos metodos se presentar
an para tratar directamente ecuaciones de orden mayor.
1.1.3
1.1.4
Para ver un poco las dicultades que pueden presentarse, se dan a continuaci
on unos ejemplos sencillos de problemas con singularidades.
.
on u
nica por cada punto en el
Ejemplo 1.1.3 Si y = t/y hay una soluci
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 f
acil vericar que las soluciones son los
crculos concentricos t2 + y 2 = c, que claramente no tienen intersecciones.
Adem
as, 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.
.
on u
nica por cada punto, excepto
Ejemplo 1.1.4 Si y = y/t hay una soluci
en la recta t = 0, en donde f (t, y) es innita (con excepci
on del punto (0, 0)
en donde no est
a denida). Estas soluciones son las rectas y = ct, que
pasan todas por la singularidad en (0, 0), el u
nico punto en el cual tienen
intersecci
on. La recta t = 0 tiene tangente vertical, y puede considerarse
tambien como una soluci
on.
.
on similar
Ejemplo 1.1.6 Si y = t/y se tiene a primera vista una situaci
a la del ejemplo 1.1.3. Esta vez las soluciones son hiperbolas rectangulares
t2 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).
.
on u
nica por cada punto
Ejemplo 1.1.7 Si y = (t + y)/(t y) hay una soluci
excepto en la recta y = t, en la cual f (t, y) es en general innita, pero no
est
a denida en el origen (0, 0). Escribiendo
t = r cos
y = r sin
se obtiene
.
r sin + r cos
cos + sin
=
.
.
cos sin
r cos r sin
.
g(t, y, y) = 0
(1.8)
1.1.5
Teorema de existencia.
1.2
1.2.1
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)
r = 1, 2, ..., n
(1.11)
de la ecuaci
on homogenea
.
y = A(t)y
10
(1.12)
n
Cr Zr (t)
(1.13)
r=1
en la cual los Cr 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:
.
n
.
Cr Z r A(t)Zr = 0
(1.14)
r=1
(1.15)
(1.16)
de (1.9), y la funci
on
on como
Se ve que Z0 (t) es una solucion de (1.12), y por la misma sustituci
antes
y = b0 Z0 (t) +
n
br Zr (t)
(1.17)
r=1
es una soluci
on de (1.12) para valores cualesquiera de los n + 1 constantes
as de n constantes
b0 , b1 , ..., bn . Como la solucion general no puede tener m
arbitrarios, una de las funciones Z0 (t), Z1 (t), ..., Zn (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
a0 Z0 (t) +
n
ar Zr (t) = 0
(1.18)
r=1
(1.19)
ar
a0 Zr (t)
1.2.2
Aplicaci
on a la primera variaci
on de ecuaciones nolineales, y estabilidad del problema.
y = f (t, y) + (t)
(1.20)
(1.21)
(1.22)
En esta ecaci
on A (t) es la matriz Jacobiana del sistema, que tiene elemento
fi
, y 0(2 ) representa terminos del orden 2 en la serie de
Aij = yj
y=z(t)
z= f (t, z)
(1.23)
= 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),
2
ya no es posible despreciar terminos del orden , 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
13
Chapter 2
CONCEPTOS BASICOS
PARA PROBLEMAS CON
CONDICIONES
INICIALES.
2.1
M
etodo de Euler con an
alisis del error.
2.1.1
M
etodo de Euler.
(2.1)
na.
puede aproximarse por y1 = y (t0 ) + hf (t0 , y (t0 )) para una h peque
Con esta aproximacion, el proceso puede repetirse en t1 = t0 + h para dar
una aproximaci
on de y (t0 + 2h), o sea y2 = y1 + hf (t1 , y1 ). As, se puede
proceder paso por paso para obtener una secuencia yi de aproximaciones
para y (ti ) donde
14
ti = t0 + ih,
yi+1 = yi + hf (ti , yi ) ,
i = 0, 1, ...
(2.2)
con una magnitud constante de paso, h. No es necesario que los pasos 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 ecuaciones 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
bt0
h = N , donde N es el n
umero de pasos que se tomaran para integrar de t0
hasta b. Entonces tN = b, yN es una aproximacion para y (tN ). 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 num
ericas.
y= y ,
y (0) = 1.
yN
error (yN y (1))
2
0.71828
2.44141
0.27688
2.63793
0.08035
2.69734
0.02094
2.1.3
La soluci
on y (t) de (1.1) satisface identicamente
y (ti + h) = y (ti ) + hf (ti , y (ti )) di
(2.3)
donde di = y (ti + h) + y (ti ) + hf (ti , y (ti )) es el llamado error de truncamiento local, o cantidad por la cual y (t) no satisface la ecuacion de diferencias (2.2) localmente en ti . El error de truncamiento global i = yi y (ti )
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 (ti , yi ) hf (ti , y (ti )) + di .
(2.4)
Si el problema satisface las condiciones de un teorema de existencia y unicidad en una vecindad de yi , y (ti ), existe un constante de Lipschitz L , tal
que
f (ti , yi ) f (ti , y (ti )) L yi y (ti )
(2.5)
(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 t0 t tN , y D = max{di : 0 i < N }, se tiene
i+1 (1 + hL) i + D ,
i = 0, 1, ..., N 1.
(2.7)
on de diferencias
Se demuestra f
acilmente que, si ei es la solucion de la ecuaci
ei+1 = (1 + hL) ei + D ,
i = 0, 1, ..., N 1
(2.8)
con la condici
on inicial e0 = 0 , entonces
i ei ,
i = 0, 1, ..., N
16
(2.9)
(2.10)
(1 + hL)i 1
hL
(2.11)
(1 + hL)i 1 .
(2.12)
hL
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 ehL , y se obtiene
i (1 + hL)i 0 +
D
hL
e(ti t0 )L 0
eihL 1
D
hL
e(ti t0 )L
(2.13)
17
ti
ti+h
ti
ti +h
ti
ti +h
ti
(2.15)
ti
( ) d
ti +h
y.
(t)
dt
ti
.
(2.16)
y sustituyendo en (2.14)
18
..
1 2
h maxt0 tb y (t)
2
que es una cota menor que la de ecuacion (2.16).
D = max0i<N di
2.1.4
(2.19)
Comprobaci
on num
erica.
t
Para el ejemplo 2.1.1 la soluci
on correcta es y (t)
.= e . Tomando b = 1,
t0 = 0, 0 = 0, se tiene K = 0, L = 1, max0t1 y (t) = e y la cota (2.17)
da
|i | h (e 1) e h 4.67077 ,
i = 1, 2, ..., N.
(2.20)
(2.21)
1
(2.22)
|i | he (e 1) h 2.33539 , i = 1, 2, ..., N.
2
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
1
1/4
1/16
1/64
2.1.5
yN
2
2.44141
2.663793
2.69734
N /h
Cota (2.20)/h Cota (2.21)/h
0.71828
4.67077
2.33539
1.10750
4.67077
2.33539
1.28565
4.67077
2.33539
1.33997
4.67077
2.33539
Estimaci
on del error.
Muchas veces es u
til de estimar el error de truncamiento local di , del primer
termino de una serie innita, como la serie de Taylor. Para el metodo de
Euler,
1 ..
di = h2 y (ti ) + 0(h3 )
2
19
(2.23)
(2.24)
o despreciando terminos en h3 , 2i
1 ..
i+1 = i + hA (ti ) i h2 y (ti )
(2.25)
2
Si se calcula y0 de manera que 0 0 cuando h 0, o de manera mas
on (2.17) indica que i
precisa, de manera que 0 tiene un factor h, la ecuaci
tiene un factor h, para el metodo de Euler, para todo i = 0, 1, .... Por esto,
se dene i = i /h y se obtiene
1 ..
y (ti )
(2.26)
2
lo que se obtendr
a por la aplicaci
on del metodo de Euler a la ecuaci
on
diferencial
i+1 = i + h A (ti ) i
1 ..
y (t)
(2.27)
2
con condici
on inicial correspondiente (t0 ) = 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 12 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)
.
= A (t)
.
1 t
(t) = (t) e
2
(2.28)
con soluci
on
1
(2.29)
(t) = tet
2
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
3.1.1
En la secci
on 2.1.3, en particular en la ecuaci
on (2.13), se ve como la constante 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 t2 ,
y (0) = 0
(3.1)
y (0) = 0
(3.2)
y= 2t + 100 y t2 ,
La soluci
on es y (t) = t2 , y la constante de Lipschitz es L = 100, que iguales
para los dos casos. En el primero, todas las soluciones tienden r
apidamente
on general es y(t) = t2 +y (0) e100t .
hacia t2 cuando t aumenta, pues la soluci
En el segundo caso la solucion general es y (t) = t2 + y (0) e100t , y con
apidamente despreciable
y (0) peque
no pero diferente de cero, t2 vuelve r
comparado con y (0) e100t .
El primer problema, en lo cual hay amortiguamiento de perturbaciones
peque
nas, tiene estabilidad matematica, mientras el segundo es inestable. Si
21
3.1.2
(3.3)
en el paso n
umero i. Sustituyendo yi = t2i + i
i+1 = i (1 100h) h2
(3.4)
(1 100h)i 1
(3.5)
100
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
i = (1 100h)i 0 +
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.
(4)i 1
2000
tomando 0 = 0, y despues de 100 pesos |100 | >> 1050 .
i =
22
(3.6)
y= 2t,
y (0) = 0
(3.7)
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 )
en cual caso
y (t )
(3.10)
satisface
y (t ) = f (T, y (T )) +
.
= A (T ) y (t ) +
donde b (t ) = f (T, y (T )) +
f
t (T,y(T ))
b (t )
t + A (T ) y (t )
(3.11)
f
t (T,y(T )) t , A (T ) es la matriz Jacobiana
fi
, y t queda peque
no para permitir
elemento (i, j) igual a y
j (T,y(T ))
2
2
se desprecien terminos de orden t , y .
con
que
Si A(T ) tiene n vectores propios linealmente independientes, estos forman una matriz U , no singular, tal que
A (T ) = U U 1
23
(3.12)
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)
y = y
(3.15)
(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 m
etodo con regi
on de estabilidad absoluta m
as
grande.
(3.17)
1
yi
1 h
(3.18)
1
Si h tiene parte real neativo, 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
(3.19)
y repitiendo la sustituci
on yi = t2i + i
i+1 =
h2
i
+
1 + 100h 1 + 100h
(3.20)
con soluci
on
0
h
i =
i 100
(1 + 100h)
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
6100
1
1
2000
(3.22)
(j)
(j1)
j = 1, 2, ...
(3.23)
(j)
(3.24)
(3.25)
26
(0)
(3.26)
(j)
(j)
(j)
(3.27)
despreciando
erminos en 2 , y con A(j) (t) una matriz con elemento (i, j)
t
fi
(j)
igual a yj
(j) . Resolviendo para
y=yi+1
(j)
(j)
(3.28)
27
Chapter 4
Clasicaci
on de m
etodos
M
etodos 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 ti1 a ti . Para una clase muy extensa de metodos paso-por-paso
para ecuaciones diferenciales
del primer orden, un error de truncamiento
r+1
genera un error propagado o global de orden 0 (hr )
local de orden 0 h
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 construir la solucion aproximada en un intervalo h, y esto puede conseguirse
por una de dos maneras:
(i) dentro del intervalo de ti1 a ti (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 correctamente 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 m
etodo de la serie de Taylor.
yi+1 = yi + h yi +
f
y
.
d
(f (t, y)) = ft + fy y = ft + fy f
dt
(4.2)
(4.3)
..
y=
...
4.1.3
M
etodos de extrapolaci
on.
29
(4.4)
h
(b) + 0 h2
2
(4.5)
Eliminando (b)
y = y ,
(4.6)
y (0) = 1
Aplicando el metodo de Euler con varios valores del paso h, para determinar y(1), y eliminando el error principal como en (4.6). Se obtienen los
resultados siguientes:
h
1
1/2
1/4
1/8
1/16
1/32
1/64
error
0.36788
0.11788
0.05147
0.02427
0.01182
0.00582
0.00289
2y2/h y1/h
0.5
0.3828125
0.3708116
0.3685393
0.3680364
0.3679177
error
0.1321206
0.0149331
0.9929321
0.0006599
0.0001569
0.0000382
El error de la aproximaci
on 2y1/2h y1/h baja r
apidamente cuando h
tiende a cero, debido a su comportamiento como h2 . El error del valor
obtenido de los casos h = 1, h = 1/2 es mayor que el error del m
etodo de
Euler con h = 1/2. Esto se debe a que los terminos de orden 0 h2 son
todava demasiado grandes para despreciarse como en (4.4).
Esto es un ejemplo de la tecnica de extrapolaci
on 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 yi , de reemplazar los dos valores por el
valor mejorado despues de cada extrapolacion. Para el paso m
as grande
30
(4.7)
h
f (ti , yi )
2
(4.8)
h
h
(4.9)
f ti + , q i
2
2
El valor extrapolado, que debe tomarse como yi+1 para los dos tama
nos de
paso siguiente, es
y2/h (ti + h) = qi +
= yi + hf ti +
h
2 , qi
(4.10)
(4.11)
(4.12)
(4.13)
(4.14)
T0
= T (hs ) =
(4.16)
T m (h) =
(i)
(i)
(i)
(i)
(i)
(i)
p0 + p1 h2 + ... + p h2
q0 + q1 h2 + ... + q h2
(4.17)
(i)
(i)
32
(i)
(i)
T1 = 0 para arrancar
(i)
= T (hi ) la aproximaci
on constante con h = hi
T0
(i+1)
(i)
Tm1 Tm1
(i)
(i+1)
para M 1
Tm = Tm1 +
2
(i+1)
(i)
Tm1 Tm1
hi
1 (i+1) (i+1) 1
hi+m
Tm1 Tm2
T0
T1 (1)
(1)
(0)
T1
T0
T1 (2)
(2)
T0
..
.
..
.
(0)
T2
(1)
T1
(1)
T1 (i)
(i)
(0)
T2
..
.
..
.
(i1)
T0
(0)
T3
T4
(i2)
(i1)
T2
T1
T0
Puede demostrarse que
(i)
T (0) = 0 h2i h2i+1 ...h2i+m
Tm
(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 computadora
y de la precisi
on requerida. Bulirsch y Stoer recomendaron m 6. Si
(0)
(0)
T6 Ts 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 escogen con base en (4.18), prediciendolo para satisfacer el criterio de error en
(0)
T6 . 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
M
etodos del tipo Runge-Kutta.
N
otese ahora que el metodo del punto medio (4.8) y (4.10) genera terminos
que coinciden con la serie de Taylor truncada
h2 ..
yi
(4.19)
2
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.
.
yi+1 = yi + h y i +
34
Chapter 5
METODOS DE
RUNGE-KUTTA Y
CONTROL DEL ERROR.
5.1
5.1.1
M
etodos del tipo Runge-Kutta.
Forma aut
onoma, y notaci
on.
y 0 (0) = 0
(5.1)
y = f (y) ,
(5.2)
y (0) = y0
f
y j
evaluada en ts
35
f0 =
f
t
5.1.2
M
etodo del punto medio por extrapolaci
on.
(5.3)
ys+ 1
2
2
1
1
h
ys = h (ys ) = y ts+ 1 y (ts ) c
2
2
2
ys+1 ys+ 1
2
+ 0 h3
2
1
1
h
= hf ys+ 1 = y (ts+1 ) y ts+ 1 c
2
2
2
2
(5.4)
+ 0 h3
(5.5)
o sea
1
2h
+ 0 h3 .
(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
1
ys+1 ys = hf ys + hf (ys ) = y (ts+1 ) y (ts ) + 0 h3
2
(5.7)
5.1.3
M
etodos del tipo Runge-Kutta de orden dos.
(5.8)
3
y (ts+1 ) y (ts ) = hf (ys ) + 12 h2 df
dt + 0 h
= hf (ys ) +
36
1 2 n
i
i=0 fi f
2h
+ 0 h3 .
(5.9)
n
fi f i + 0 h3 ,
(5.10)
i=0
ys+1 ys = ( + ) hf (ys ) + h2
n
fi f i + 0 h3 ,
(5.11)
i=0
= 1/2.
(5.12)
k0 = hf (ys ) ,
k1 = hf ys + 12 k0 ,
ys+1 ys = k1 .
(5.13)
ys+1 ys =
k1 = hf (ys + k0 ) ,
1
2
(k0 + k1 ) . (5.14)
k0 = hf (ys ) ,
k1 = hf ys + 23 k0 ,
ys+1 ys =
1
4
(k0 + 3k1 ) ,
(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 nomenclatura de estos metodos no es estandar, y vara mucho entre los diferentes
textos.
5.1.4
La clase de m
etodos de orden cuatro.
= hf (ys )
= hf (ys + 10 k0 )
= hf (ys + 20 k0 + 21 k1 )
= hf (ys + 30 k0 + 31 k1 + 32 k2 )
ys = 40 k0 + 41 k1 + 42 k2 + 43 k3
37
(5.16)
n
i=0
n
j=0
n
k=0
i f j f k + f f i f j f k + 0 h5
+fi fjk
i j k
(5.17)
Haciendo la expansi
on de k1 , k2 , k3 en la misma forma, y comparando los
coecientes de cada termino, el metodo es de orden cuatro si
40 + 41
41 1
41 12
41 13
+
+
+
+
42
42 2
42 22
42 23
42 21 1
42 2 21 1
42 21 12
+
+
+
+
+
+
+
43
43 3
43 32
43 33
43 (31 1 + 32 2 )
43 3 (31 1 + 32 2 )
43 31 12 + 32 22
43 32 21 1
=1
= 1/2
= 1/3
= 1/4
= 1/6
= 1/8
= 1/12
= 1/24
(5.18)
donde
1 = 10
2 = 20 + 21
3 = 30 + 31 + 32
(5.19)
= hf (ys )
= hf (ys + 12 k0 )
= hf (ys + 12 k1 )
= hf (ys + k2 )
ys = 16 (k0 + 2k1 + 2k2 + k3 )
(5.20)
38
(5.22)
s = ys y (ts ) = h4 (ts ) + 0 h5
(5.23)
= 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
hs = h (ts ) ,
ts+1 = ts + hs
(5.25)
=1
(5.26)
donde se requiere
b
dt
0
(t)
para que el n
umero total de pasos en el intervalo de 0 a b sea aproximadamente 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 (ts ) en (5.22), y queda
de la forma
.
4
= A(t) + (t) (y)
(5.27)
t
(t) =
(5.28)
G= A (t) G,
G (v, v) = I,
(5.29)
(5.30)
1/5
b
0
(5.31)
La contribuci
on del paso de ts a ts+1 al error de truncamiento global en b es
5
t
b
s+1
1/5
4
4
G (t, b) (y (t)) (t) h dt
G (v, b) (y (v)) dv
h
0
ts
(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
Este resultado teorico es interesante, pero normalmente no es practico aplicarlo. Generalmente, no se sabe el efecto propagado de un error de truncamiento 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 h5 (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 multiplicativa
G (t, b) G (v, t) = G (v, b)
(5.33)
(5.34)
41
5.1.6
Estimaci
on del error de truncamiento local.
k0
k1
= hf ys + 16 k0 + 16 k1
k2
= hf ys + 18 k0 + 38 k2
k3
(5.35)
k4
= hf ys + 12 k0 32 k2 + 2k3
ys+1 ys = 16 (k0 + 4k3 + k4 )
1
(2k0 9k2 + 8k3 k4 ) era la estimacion propuesta para el error.
donde 30
El error de truncamiento local de este metodo puede escribirse
n
1 5 n n n
i=0
j=0
k=0
l=0
120 h
1
i j k l
24 fijkl f f f f
i f jf kf l
+ 16 fij fkl
i f j f kf l
12 fi fjk
l
1 5
120
h
n
i=0
n
n
n
n
n
n
i=0
j=0
j=0
k=0
k=0
l=0
2
i f jf k
f f i f j f k + 23 fij fki f j fk + 13 fi fjk
9 ijk
11
11
11
i j k l
i j k l
i j k l
108 fijkl f f f f + 18 fijk fl f f f + 36 fij fk fl f f
i f j f kf l + 1 f f i f j f kf l + 5 f f i f j f kf l
+ 49 fij fkl
l
3 ij k
54 i jkl
i f j f k f l + 1 f f i f j f k f l + 0 h6
+ 16 fi fjk
l
6 i j k l
(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 u
nico 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 h5 .
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.
k0
k1
k2
k3
ys+1
k8
= hf (ys )
= hf (ys + 12 k0 )
= hf (ys + 14 k0 + 14 k1 )
= hf (ys k1 + 2k2 )
ys = 16 (k0 + 4k2 + k3 )
= hf ys 16 k0 16k1 +
k4 = hf (ys+1 )
k5 = hf (ys+1 + 12 k4 )
k6 = hf (ys+1 + 14 k4 + 14 k5 )
121
6 k3 + 24k4 + k5 2k6
(5.38)
donde el error de truncamiento local en ts+2 sobre los dos pasos es
1
90
46
3 k2
(5.39)
(5.40)
(5.41)
y = y.
(5.42)
Para cualquier metodo de cuatro evaluaciones (5.16) que satisface las condiciones (5.18 ) y (5.19),
k0
k1
k2
k3
ys+1
= hys
= h (ys + 10 hys ) = h (1 + h1 ) ys
= h (ys + 20 hys + 21 h (1 + h1 ) ys )
= h (1 + h (2 + h21 1 )) ys
= h (ys + 30 hys + 31 h (1 + h1 ) ys + 32 h (1 + h (2 + h21 1 ))) ys
= h (1 + h (3 + h (31 1 + 32 2 + h32 21 1 ))) ys
= ys + 40 hys + 41 h (1 + h1 ) ys + 42 h (1 + h (2 + h21 1 )) ys
+43 h
32 2 + h32 21 1 ))) ys
(1 + h
(3 + h
(31 1 +
1
1
1
= ys + h 1 + h 2 + h 6 + 24 h
ys
= ys 1 + h + 12 h2 2 + 16 h3 3 +
1 4 4
24 h
que haba que esperarse como es una aproximacion del cuarto orden a la
on de estabilidad es la parte del plano complejo para
soluci
on ys eh . La regi
la cual
1 + h + 1 h2 2 + 1 h3 3 + 1 h4 4 < 1
2
6
24
(5.43)
44
Chapter 6
Introducci
on a los m
etodos con pasos m
ultiples.
Los m
etodos de Adams.
Los metodos que se describen en seguida utilizan informacion acumulada sobre 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 ts = sh,
y que se tiene informaci
on suciente para denir un vector de polinomios
zs (t ts ), de lo cual cada componente es un polinomio de grado K, o sea
zsi ( ) =
K
sik k
(6.1)
k=0
del sistema de ecuaciones diferenciales, localde relacionar estos polonomios con los valores
Por ejemplo, pueden haberse guardado valores
de la solucion calculada, y/o de sus derivadas
.
y r = f (tr , yr )
45
(6.2)
ys+1 = zs (h) .
(6.3)
En seguida se utiliza
la ecuaci
on diferencial en el tiempo ts+1 para evaluar la
. (p)
(p)
(p)
y
derivada s+1 = f ts+1 , ts+1 y se determina otro polinomio zs+1 (t ts+1 )
. (p)
con la informaci
on anterior y el valor de ys+1 , que se utiliza para corregir el
valor predicho, obteniendo valores corregidos
(c)
(p)
(c)
y s+1 =z s+1 (0) = f ts+1 , ys+1
.
(6.4)
(6.5)
zs ( ) = ys + y s +
.
2 .
y s y s1 .
2h
De esto se obtiene
.
1 .
(p)
ys+1 = zs (h) = ys + h 3 y s y s1 .
2
46
(p)
y (p)
s+1 = f ts+1 , ys+1
.
y denir
ys+1 =
.
(c)
ys+1
= ys +
(c)
1
2h
.
y (p)
s+1
.
ys
Predicci
on de
ys+1
.
y (p)
s+1
Evaluaci
on de
(c)
Correcci
on para obtener ys+1
. (c)
(c)
y s+1 = f ts+1 , ys+1
Evaluaci
on de
Otra manera de considerar la f
ormula corrector es como un conjunto de
ecuaciones implcitas (y generalmente no-lineales)
.
1
(c)
(c)
ys+1 = ys + h f ts+1 , ys+1 + y s
2
que deben resolverse por iteraci
on. Se toman los valores explcitos anteriores
(c)
(1)
on ys+1 , y se generan aproximaciones
de ys+1 como una primera aproximaci
sucesivas
.
1
(j)
(j1)
ys+1 = ys + h f ts+1 , ys+1 + y s , j = 2, 3, ...
2
continuando hasta satisfacer un criterio de convergencia, como en el proceso
de sustituci
on sucesiva con el corrector de Euler implcito (3.23) que es el
corrector de Adams de primer orden. Esto puede clasicarse como una aplicaci
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 conseguir 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
(p)
ys+1 = ys + h
k
k y s+1k
(6.6)
k+1
ormula de
que puede derivarse, para obtener los constantes k , como una f
ts +h .
.
.
.
y (t) dt en terminos de y s , y s1 , ..., y s+1k . La f
ormula
integraci
on para ts
corrector es
(c)
ys+1 = ys + h
k
k ys+1k
(6.7)
k=0
(c)
(p)
ys+1 = ys+1 + h0 y s+1 +h
K
(k k ) y s+1k
(6.8)
k=1
ys+1 = ys + h
K
.
k=1
K
.
k y s+1k
(6.9)
k=1
.
(6.10)
Por otra parte, si el corrector es del tipo Adams y de orden K, el predictor 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 utilizar 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 u
ltimo termino de la serie de Taylor incluido.
La tecnica de Milne para estimar el error es precisamente un proceso de
on exacta de la ecuaci
on
extrapolaci
on. Si Yi+1 es el valor en ts+1 de la soluci
diferencial que pasa por el punto (ts , ys ), se tiene
(p)
(6.11)
(c)
(6.12)
ormulas
donde PK+1 , CK+1 son constantes conocidos, que dependen de las f
umeros desconocidos entre 1 K y 1.
particulares utilizadas, y , son n
La diferencia,
(c)
(p)
(6.13)
ys+1 Ys+1 =
CK+1
(c)
(p)
ys+1 ys+1 + 0 hK+2 y (K+2) ,
CK+1 PK+1
(6.14)
CK+1
(c)
(p)
ys+1 ys+1 .
CK+1 PK+1
(6.15)
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 solamente cuando us > 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
.
(p)
ys+1 = ys + h y s
y el corrector de Euler implcito iterado hasta convergencia
(c)
(c)
...
..
...
(p)
ys+1 = Ys 12 h2 y s +0 h3 y
(c)
ys+1 = Ys + 12 h2 y s +0 h3 y
de donde
..
...
(c)
(p)
ys+1 ys+1 = h2 y s +0 h3 y
y la estimaci
on del error de truncamiento local es
1 (c)
(p)
ys+1 ys+1 .
2
Ts =
6.1.2
Estabilidad de los m
etodos de pasos m
ultiples.
y = y + g (t)
(6.16)
y = y
(6.17)
y = S(t)
(6.18)
as que
.
(6.19)
y que la soluci
on calculada es
ys = S(ts ) + s
(6.20)
y s = ys + g (ts )
.
= S (ts ) + s + S (ts ) S (ts )
.
= S (ts ) + s
(6.21)
as que
.
(6.23)
que pueden ser diferentes de cero. Si se empieza con valores iniciales exactos
an un
entonces 0 = 0, pero de todos modos, errores de redondeo introducir
a
error intermedio diferente de cero, y en seguida un Ts+1 = 0 constituir
otro fuerte de errores, los cuales se propagar
an de acuerdo con (6.23). Si
h > 0, hay una funci
on complementaria creciente et , que crece por un
h
no, es una buena aproximaci
on
factor e en cada paso. Para h peque
h
a e , 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
K
k Kk = 0
(6.24)
k=0
una ecuaci
on de grado K en . Una de sus races (la raz principal) es una
no. Las otras (races cticias) son
buena aproximaci
on a eh para |h| peque
todas cero para h = 0, y entonces para h peque
no y diferente de cero
satisfacen
K1 + hK = 0 (h) + 0 K
(6.25)
on de estabilidad
de donde son del orden |hK |1/K1 en magnitud. La regi
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
regi
on es de la forma siguiente
K1
K
Kk
h0
K1
+ h
k+1
K
k Kk
=0
(6.26)
k=1
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
(c)
0 ys+1 =
K
(c)
k=1
K
k ys+1k
(6.27)
k=1
la ecuaci
on correspondiente a (6.24) es
K
k=0
k Kk h
K
k Kk = 0
(6.28)
k=0
o sea
() h () = 0
(6.29)
= eh + 0 (h)K+1
(6.30)
53
Chapter 7
FORMULACION DE
NORDSIECK Y METODOS
PARA ECUACIONES
STIFF
7.1
7.1.1
Una t
ecnica para cambiar el paso, y las f
ormulas
de Gear
La formulaci
on de Nordsieck.
y = f (t, y)
(7.1)
on guardada en el
y se reserva la notacion ys para el vector de informaci
metodo predictor-corrector. Para el metodo de Adams de orden K, los
componentes de ys seran
ys0
ys1
ysK
ys
.
h ys
.
h y s+1K
54
(7.2)
(p)
ys+1 =
(p)
ys+1
. (p)
h y s+1
.
h ys
.
h y s+2K
1
0
0
0
1
1
1
0
2
2
0
1
K1
K1
0
0
K
0
0
ys = Cys.
(7.3)
Aqu, los k son coecientes nuevos, que todava pueden escogerse para
. (p)
consistencia, y ys+1 claramente no tiene el mismo signicado como antes.
. (p)
En efecto, y s+1 debe ser la derivada de zs ( ) en = h. Si se tiene otro
(p)
vector de informaci
on guardada, la interpretaci
on de los vectores ys , ys+1 es
diferente, y la matriz C tiene que ser diferente.
(p)
(0)
on iterativa
Se tomar
a ys+1 como ys+1 , el valor inicial para la aplicaci
del corrector. Una aplicaci
on del corrector (6.7), o de su forma m
as general
(6.27), puede escribirse
Fm
. (m+1)
h y s+1
(m+1)
ys+1
. (m)
(m)
. (m)
(7.4)
= h y s+1 Fm
(m)
= ys+1 Fm 0 /0
. (m+1)
(p)
ys+1 = ys+1 F q
55
(7.5)
q=
0 /0
1
0
(7.6)
ys+1 = ys+1
(7.7)
(7.8)
zs+1 = P 1 CP zs
(7.9)
y (7.5) se convierte en
(c)
(p)
zs+1 = zs+1 P 1 qF
con el mismo valor de F .
En el caso particular
56
(7.10)
zs =
ys
.
h ys
..
1 2 y
s
2! h
1 K (K)
K! h ys
(7.11)
el polinomio predictor es
zs (t ts ) =
K
zsj
j=0
t ts
h
j
(7.12)
j
k
jk
zsj
(7.13)
1
P CP = A =
1
0
0
0
1
1
0
0
1
2
1
0
1
3
3
1
1
K
K(K1)
2
K(K1)(K2)
23
(7.14)
donde
Akj =
j
k
= Ak,j1 + Ak1,j1 ,
j k.
(7.15)
zs+1 = Azs
(p)
zs+1 = zs+1 lF
en donde se normaliza l por la condici
on l1 = 1.
57
(7.16)
(p)
ys+1
+ 0 hf
(p)
ts+1, ys+1
k
.
k h y s+1k
(7.17)
k=1
(7.18)
de donde
1 = 2, 2 = 1
1 32
C= 0 2
0 1
1
2
12
1
0
q= 1
0
Para polinomios de segundo grado
ys
ys
1 0 0
.
.
ys= h y s = 0 1 0 h y s = P zs
..
.
1
2
ys
0 1 2
h y s1
2h
de donde
58
P 1 CP = 0
0
0
1
1
2
0
1
0 0
12
0
3
2
12
1 0
0
2 1 0 1
0
1
0
0 1 2
1 1 1
= 0 1 2 =A
0 0 1
como debe de ser, y
l = P 1 q = 0
0
0
1
1
2
1
1
0
2 2
0 1 = 1 .
1
12
0
2
t ts+1
h
2
1
=
2
t ts
h
2
y es obvio
que esto es consistente con el proceso de guardar los valores de
.
ys , 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 m
etodos para ecuaciones sti.
59
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
regi
on 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
. (m+1)
Fm+1 = h y s+1
. (m)
(m+1)
hf ts+1 , ys+1
(m+1)
= h y s+1 Fm h ys+1
(m)
+ g (ts+1 )
(m)
(7.20)
y si |h| < |0 /0 | las iteraciones del corrector divergen. Es necesario reconocer que el objeto de las iteraciones es de encontrar una F en (7.16) tal
que zs+1 satisface la ecuacion diferencial, lo que quiere decir que
zs+1,1 hf (ts+1 , zs+1,0 ) = 0
(7.21)
(m+1)
(m)
(m)
(m)
(m)
l1 I l0 hA(m) (t) Fm
(7.22)
2 , y con A(m) (t) denido como en (3.27). Por
despreciando terminos en Fm
(7.21), esta expresi
on debe de ser cero aproximadamente, dando
. (m)
(m)
(7.23)
1 = 0 ,
2 = 0
y resulta
3
1
, 1 = 2 , 2 =
2
2
para que el metodo sea exacto para cualquiera soluci
on polinomial de segundo
grado. Entonces la informaci
on guardada es
0 =
ys
ys
1
0 0
.
.
1 0 h y s = P zs
ys = h y s = 0
..
1 2 y
1 1 1
ys1
s
2h
y los predictores son
.
(p)
ys+1 = 2h y s +ys1
. (p)
.
h y s+1 = 2ys + 3h y s +2ys1
de donde la matriz
0 2 1
C = 2 3 2 .
1 0 0
Se verica que P 1 CP = A, y como
62
2
0 /0
3
q= 1
= 1
0
0
se tiene
2
2
1 0 0
3 3
1
l = P q = 0 1 0 1 = 1 .
1
0
1 1 1
3
ultiplo de
Cualquiera correcci
on a zs+1 es un m
2 t ts+1 1
+
+
3
h
3
t ts+1
h
2
1
3
t ts
h
t ts1
.
h
.
Entonces deja sin cambio los valores de ys , ys1 , 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 consideran 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 sugieren los metodos de Gear para nes generales. Sin emabargo, los metodos
de Adams son todava mas conocidos y generalmente disponibles y otros trabajadores 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 implementaciones 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
8.1.1
Dise
no de rutinas con un mnimo de par
ametros
de control.
Necesidades para un algoritmo autom
atico.
64
(8.1)
ormula puede
donde CK+1 es un constante caracterstico del metodo. Tal f
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 sucientemente 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)
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 Tr en lo cual se
necesita la solucion, y en el caso que s, reducir h hasta Tr t. Esto funciona
bien si el espaciamiento entre los puntos Tr 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
nos que los pasos h que
puntos Tr , con intervalos iguales pero mas peque
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 Tr .
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 Tr , 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
1 k (k) t ts k
h ys
k!
h
(8.3)
k=0
para interpolaci
on en el rango ts < t < ts + h, o igualmente utilizar de
manera atrasada el predictor siguiente
K
1 k (k) t ts+1 k
h ys+1
y(t) =
k=0
k!
(8.4)
despues de completar el paso. Esto tiene ventajas bien claras sobre (8.3),
como da una solucion continua; (8.4) evaluado en t = ts da ys , mientras
66
(p)
d = max1i<n
(8.5)
donde los Yi pueden ser valores tpicos de |yi (t)| especicados por el usuario,
bajo suposici
on (a), pueden ser calculados como
Yi (t) = max (Yi (0) , max0 t |yi ( )|)
(8.6)
donde queda necesario especicar Yi (0) para evitar que sea inicialmente cero,
ltima expresi
on (8.6) parece tener ventajas,
por ejemplo Yi (0) = 1. Esta u
especialmente si el usuario especica Yi (0) como un valor tpico de |yi (t)|,
como entonces controla el error absoluto si la soluci
on no crece, seg
un suposici
on (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 yi ,
del vector de soluciones, representan cantidades fsicas con ordenes de magnitud muy diferentes y no es aconsejable que el programa autom
atico utilice
on,
valores estandares para los Yi (0), tales como Yi (0) = 1. Por la misma raz
on parno es satisfactorio dejar Yi = 1 en (8.5). Por otra parte, no hay raz
ticular para la forma (8.5) en preferencia sobre ciertas otras normas, tales
como
67
d =
n 1/2
di 2
i=1
Yi
(8.7)
excepto que esta necesita un poco mas de calculo. Algunos programas utilizan formas mas complejas para Yi (t) que aquella dada en (8.6), pero normalmente 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 Yi , 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 controlar el error global en b, escogiendo h para que el error local estimado sea
proporcional a h, o sea
h
(8.9)
b
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 <
d h2
(8.10)
(8.11)
(t) =
e( t)
68
d ( )
d
h ( )
(8.12)
(8.13)
| (b)| <
b
b
0
e( b) d =
1 eb .
b
(8.14)
b b
e d = eb
(8.15)
b 0
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. Generalmente 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 estabilidad, 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 diferencia entre el predictor y el corrector, se tiene una estimacion dKs (h) del
error de truncamiento local en el s-esimo paso de tama
no h con orden K.
Supuestamente
| (b)| <
hK
dKs (hK ) = dKs (h)
h
K+1
(8.16)
69
dK,s+1 (h) dKs (h) = CK+1 hK+1 y K+1 (ts+1 ) y (K+1) (ts ) + 0 hK+3
CK+1
CK+2 dK+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 hK y (K), lo que permite
estimar dK1,s (h). De estas estimaciones, es posible obtener los mejores
pasos hK1 , hK+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 frecuencia, 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 Dierential Equations, W.H.Freeman, 1975.
[3] Hall G. & Watt J.M., Modern Numerical Methods for Ordinary Dierential Equations, Oxford University Press, 1976.
[4] Butcher J.C., The Numerical Analysis of Ordinary Dierential Equations, 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