Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 2
Capitulo 2
2.1.
Mtodos de Taylor e
El mtodo de Euler es tan slo de primer orden. Eso supone un incone o veniente. Si queremos un error muy pequeo nos veremos forzados a tomar n h muy pequeo, lo que supondr tener que dar muchos pasos, con un coste n a computacional que puede ser inaceptable. La regla del trapecio es de segundo orden, pero a cambio es impl cita. Podemos construir mtodos mejores, de e mayor orden que el de Euler, y que a la vez sean expl citos? Una idea es tomar ms trminos en el desarrollo de Taylor, lo que da lugar a e a los llamados mtodos de Taylor. Como ejemplo construimos el mtodo de e e Taylor de orden 2, en el caso d = 1. El desarrollo de Taylor produce h2 h3 n y (xn ) + n y (n ). 2 3!
El trmino de error, de orden h3 , se desprecia. Para calcular y (xn ) e y (xn ) e n usamos la ecuacin diferencial, o y (x) = f (x, y(x)), y (x) = fx (x, y(x)) + fy (x, y(x))y (x) = fx (x, y(x)) + fy (x, y(x))f (x, y(x)). Obtenemos el mtodo e yn+1 = yn + hn f (xn , yn ) + h2 n (fx (xn , yn ) + fy (xn , yn )f (xn , yn )). 2
h3 n y 3!
(n ) satisface que
Rn Ch3 , y el mtodo ser de orden 2 (habr que probar que la funcin de incremento e a a o es continua y satisface una condicin de Lipschitz con respecto a su segunda o variable; esto es cierto si, por ejemplo, f tiene derivadas parciales hasta orden 2 acotadas). Por el mismo procedimiento podemos generar mtodos de Taylor del orden e que queramos. El inconveniente es que involucran cada vez ms derivadas. a Comparemos con el mtodo de Euler. Los mtodos de Taylor tienen mayor e e orden, luego habr que dar menos pasos. A cambio, dar un paso es computaa cionalmente ms caro. No slo hay que evaluar f , sino tambin sus derivadas, a o e lo que puede ser muy costoso, sobre todo si stas son dif e ciles. As si no que, remos mucha precisin y la funcin es complicada, Euler es preferible. Si, por o o el contrario, queremos bastante precisin y la funcin y sus derivadas no son o o complicadas, es preferible usar un mtodo de Taylor de orden ms alto. En e a resumen: no hay un mtodo que sea el mejor. Cul sea el ms conveniente e a a depende de la ecuacin diferencial y de la precisin que queramos conseguir. o o
2.2.
Mtodos de Runge-Kutta e
Exigen calcular derivadas de orden superior, lo que puede ser engorroso. Exigen evaluar dichas derivadas, lo que puede ser computacionalmente costoso. Para evitar estas dicultades, los mtodos de Runge-Kutta evalan f (x, y) e u en ms puntos, intentando igualar la precisin de los mtodos de Taylor. Cona o e cretamente toman (xn , yn , ; hn ) =
i=1 s
bi f (i , i )
de forma que (xn , yn ; hn ) sea una media ponderada de las pendientes cerca de (xn , yn ). La idea es elegir los parmetros bi , i , i de manera que la funcin de a o incremento coincida lo ms posible con la funcin de incremento de un mtodo a o e de Taylor. Veamos por ejemplo cmo hacer esto con dos evaluaciones de la funcin y o o d = 1. Parece razonable tomar (1 , 1 ) = (xn , yn ). Para 2 tomamos 2 = xn + hn . Una eleccin sensata para 2 consiste en estimar el valor y(2 ) avanzando o con el mtodo de Euler, es decir e 2 = yn + hn f (xn , yn ). Queda por tanto yn+1 = yn + hn b1 f (xn , yn ) + b2 f (xn + hn , yn + hn f (xn , yn )) . Cmo elegir b1 , b2 y ? Desarrollamos por Taylor en potencias de hn y obteo nemos yn+1 = yn + (b1 + b2 )hn f (xn , yn ) + b2 h2 (fx (xn , yn ) + fy (xn , yn )f (xn , yn )) + O(h3 ). n n Si hacemos b1 + b2 = 1, b2 = 1/2,
entonces la funcin de incremento coincide hasta orden uno con la funcin o o de incremento T 2 del mtodo de Taylor de orden 2, e (xn , yn ; hn ) = T 2 (xn , yn ; hn ) + O(h2 ). n 43
Veamos cul es el orden de consistencia del mtodo: a e Rn = y(xn+1 ) y(xn ) hn (xn , y(xn ); hn ) = O(h3 ). n
Concluimos que = O(h2 ), es decir, el mtodo es consistente de orden 2. Por e tanto, para ver que el mtodo es convergente de orden 2 basta con comprobar e que la funcin de incremento o (x, y; h) = b1 f (x, y) + b2 f (x + h, y + hf (x, y)), satisface una condicin de Lipschitz con respecto a su segunda variable. Esto o se prueba fcilmente usando que f es Lipschitz en y. En efecto, a |(x, y; h) (x, y ; h)| = |b1 ||f (x, y) f (x, y )|
K|y y |,
para todo h < 1, donde K = (|b1 | + |b2 |)L + |b2 |L2 ||. Hemos obtenido b2 =
1 , 2
unico mtodo, sino una familia uniparamtrica, con parmetro . e e a Ejemplos. Tomando = 1/2 obtenemos el llamado mtodo de Euler modicado, e yn+1 = yn + hn f (xn + hn hn , yn + f (xn , yn )). 2 2
b1 = 1
1 2
y = 0 arbitrario. No tenemos un
Tomando = 1 se tiene el mtodo de Euler mejorado, tambin conocido e e como mtodo de Heun de orden 2, e yn+1 = yn + hn (f (xn , yn ) + f (xn + hn , yn + hn f (xn , yn )). 2 44
En ambos casos se realizan dos evaluaciones de funcin, frente a las tres o necesarias en el mtodo de Taylor de orden 2 (a saber, f (xn , yn ), fx (xn , yn ) y e fy (xn , yn )) cuando d = 1, siendo la cosa an peor para problemas de dimensin u o mayor. El mtodo de Euler modicado se puede escribir alternativamente como e k1 = f (xn , yn ), k2 = f (xn +
hn , yn 2
hn k ), 2 1
yn+1 = yn + hn k2 . En cuanto a Euler mejorado, se puede escribir como k1 = f (xn , yn ), k2 = f (xn + hn , yn + hn k1 ), yn+1 = yn + hn ( k21 +
k2 ). 2
aij kj ),
j=1
i = 1, 2, . . . , s (2.1)
Cada una de las evaluaciones de funcin ki es una etapa. o El mtodo (2.1) se representa por medio de su tablero de Butcher: e c1 c2 . . . cs a11 a21 . . . as1 b1 Si escribimos c = (c1 , c2 , . . . , cs )T , b = (b1 , b2 , . . . , bs )T , 45 A = (aij ), a12 a22 . . . as2 b2 ... ... ... ... ... a1s a2s . . . ass bs .
yn+1 = yn + hn
bi k i .
i=1
inferior estricta, entonces cada uno de los ki viene dado expl citamente en se dice que el mtodo es expl e cito. Al escribir su tablero se suelen omitir los ceros sobre y por encima de la diagonal principal. Ejemplos. El mtodo de Euler modicado es expl e cito. Su tablero es 0 1/2 1/2 0 1. trminos de los anteriormente calculados, kj , j = 1, 2, . . . , i 1. En este caso e
Si el mtodo no es expl e cito, es impl cito. En general es necesario entonces resolver en cada paso un sistema no lineal para calcular los ki . Este sistema tiene dimensin ds. Hay una situacin intermedia; si aij = 0 para j > i, o o i = 1, 2, . . . , s, entonces cada ki est denido individualmente por a
i
ki = f (xn + ci hn , yn + hn
j=1
aij kj ),
i = 1, 2, . . . , s.
En vez de resolver en cada paso un sistema no lineal de dimensin ds, tendreo mos que resolver s sistemas no acoplados de dimensin d. Estos mtodos se o e llaman semi-impl citos. Al escribir sus tableros se omiten los ceros por encima de la diagonal principal. 46
2.3.
Condiciones de orden
Los mtodos de Runge-Kutta son mtodos de un paso con funcin de ine e o cremento (xn , yn ; hn ) =
i=1 s
bi k i .
(x, y; 0) =
i=1
bi
f (x, y).
bi = 1.
i=1
(2.2)
Por otra parte, puesto que las etapas ki son evaluaciones de la funcin f , no es o dif convencerse de que satisface una condicin de Lipschitz con respecto cil o a su segunda variable si f satisface una condicin de Lipschitz en y. As pues, o la condicin de consistencia (2.2) es suciente para garantizar la convergencia. o Veamos que tambin es necesaria. e Teorema 2.1. Un mtodo de Runge-Kutta es convergente si y slo si es cone o sistente. Prueba. Si es convergente, en particular lo es para el problema y (x) = 1, y(0) = 0,
cuya solucin es y(x) = x. El mtodo, aplicado a este problema con paso jo o e h, se reduce a yn+1 = yn + h
i=1 s
bi .
Tomando como valor de arranque y0 = 0 tenemos que la solucin numrica o e viene dada por yn = nh
i=1 s s
bi = x n
i=1
bi .
47
bi ,
i=1
Qu condiciones sobre los coecientes garantizan que el mtodo es cone e vergente de orden p? Tenemos que desarrollar el residuo Rn = y(xn+1 ) (y(xn ) + hn (xn , y(xn ); hn )) alrededor de xn en potencias de hn . Ntese que el residuo coincide con la o diferencia entre la solucin terica y la numrica, o o e Rn = y(xn+1 ) yn+1 , suponiendo que en el paso n no se comet ningn error, y(xn ) = yn (esta a u hiptesis se conoce como hiptesis de localizacin). o o o As pues, lo que hay que hacer es obtener desarrollos en potencias de hn para las soluciones terica y numrica (esta ultima bajo la hiptesis de locao e o lizacin). Si estos desarrollos coinciden hasta orden p, entonces Rn = O(hp+1 ) o n y tendremos convergencia de orden p. Para que los desarrollos de las soluciones terica y numrica sean iguales o e hasta orden p, es necesario que sus derivadas hasta orden p en hn = 0 coincidan. Eso dar lugar a unas ciertas condiciones sobre los coecientes del mtodo, las a e llamadas condiciones de orden. Obtenerlas ser nuestro siguiente objetivo. a Notacin. Los super o ndices en maysculas denotarn componentes, y variarn u a a por tanto entre 1 y d. Los sub ndices en minsculas denotan etapas; var entre u an 1 y s. Finalmente, los sub ndices en maysculas signican derivacin parcial, u o y tambin var entre 1 y d. Ejemplo: e an
J fKL =
f J . y K y L 48
Si el sistema es autnomo, y = f (y), podemos obtener ms simetr en o a a las frmulas sustituyendo ki por gi tal que ki = f (gi ). De esta forma el mtoo e do (2.1) se transforma (para sistemas autnomos) en o s g =y +h aij f (gj ), i = 1, . . . , s, n n i
j=1 s
(2.3)
As la unica diferencia entre las deniciones de gi e yn+1 es que las constantes , aij en la primera frmula pasan a ser las constantes bj en la segunda. Esta o semejanza nos permitir simplicar notablemente algunos clculos. a a Si el sistema no es autnomo, pero el mtodo de Runge-Kutta es consistente o e y satisface la condicin de suma por las o
s
y n+1 = yn + hn
bj f (gj ).
j=1
ci =
j=1
aij ,
i = 1, 2 . . . , s,
(2.4)
el mtodo tambin se puede escribir en la forma (2.3). Para ello basta con e e denir yn = x n , 1
J yn = y n , J+1
f 1 = 1, f J+1 = f J ,
g i = x n + c i hn , 1
J gi = yn + h n J+1
s j=1
J aij kj ,
J = 1, . . . , d.
En lo que sigue escribiremos siempre los mtodos en la forma (2.3). Por e ello, para no dejar fuera los sistemas no autnomos, de aqu en adelante nos o restringiremos a mtodos que cumplan la condicin de suma por las. e o Como ejemplo obtendremos las condiciones de orden 3. Las condiciones para tener un orden ms alto se obtienen de manera similar. Tenemos que coma parar las derivadas hasta orden 3 con respecto a hn de las soluciones numrica, e yn+1 , y terica, y(xn+1 ) = y(xn + hn ), evaluadas en hn = 0. o Empezamos calculando las derivadas de la solucin numrica (siempre bajo o e la hiptesis de localizacin). Aplicando la regla de Leibniz para la derivacin o o o 49
=
j=1
bj q (f (gj ))(q1)
hn =0
(2.5)
=
j=1
bj (f (gj ))|hn =0 =
j=1
bj
f (y(xn )).
(2.6)
Ntese que en la ultima igualdad hemos usado la hiptesis de localizacin. La o o o derivada segunda viene dada por
s (2) yn+1 hn =0
=2
j=1 d
bj (f (gj ))(1)
hn =0
K fK (gj ) gj K=1
(1)
Usando la semejanza de las deniciones de gi e yn+1 junto con (2.6) se tiene que
s J (gi )(1) hn =0
=
j=1
aij
f J (y(xn )),
(2.7)
yn+1
(2)
hn =0
=2
j,k=1
bj ajk
K=1
(2.8)
Para calcular la derivada tercera necesitamos la derivada segunda de f (gj ), que viene dada por
d d
(f (gj ))
(2)
=
K,L=1
fKL (gj )
K (1) gj
L (1) gj
+
K=1
K fK (gj ) gj
(2)
=3
j,k,l=1
bj ajk ajl
K,L=1 s
(2.9)
K fK (y(xn ))fL (y(xn ))f L (y(xn )).
+6
j,k,l=1
bj ajk akl
K,L=1
50
En cuanto a la solucin terica, se tiene que o o d(y(xn+1 )) dhn d2 (y(xn+1 )) dh2 n d3 (y(xn+1 )) dh3 n = f (y(xn + hn ))|hn =0 = f (y(xn )),
hn =0 d d
=
hn =0 K=1 d
K (1)
=
hn =0 K,L=1 d
+
K,L=1 d
=
K,L=1 d
+
K,L=1
Comparando las derivadas de la solucin numrica y de la terica obteo e o nemos las condiciones de orden 3:
s
bj = 1,
j=1 s
2
j,k=1 s
bj ajk = 1,
s
3
j,k,l=1
bj ajk ajl = 1,
6
j,k,l=1
bj ajk akl = 1.
Un mtodo de Runge-Kutta tendr orden de consistencia 3 si cumple estas e a cuatro condiciones. Se puede demostrar, aunque no lo haremos aqu que estas , condiciones son tambin necesarias. e Observacin. La condicin de consistencia coincide con la condicin de cono o o sistencia de orden 1. As pues, si un mtodo de Runge-Kutta es convergente, e converge con orden al menos uno. Observacin. Algunas de estas condiciones se pueden simplicar usando la o 51
bj = 1,
j=1 s
2
j=1 s
bj cj = 1,
j=1
(2.10)
s
bj c2 = 1, j
6
j,k=1
bj ajk ck = 1.
Para tener orden 4 se tienen que cumplir adems las siguientes condiciones, a
s
4 12
j=1 s
bj c3 = 1, j bj ajk c2 = 1, k
8
j,l=1 s
24
j,k=1
que se obtienen de manera anloga. a Observacin. Las sumas que aparecen en las condiciones de orden se pueden o interpretar como productos de matrices, lo que puede ser cmodo a la hora de o
s
como 6 bT Ac = 1. Ejemplo. El mtodo de Heun de orden 3, de tablero e 0 1/3 2/3 0 1/3 0 1/4 2/3 0 3/4,
cumple la condicin de suma por las y las cuatro condiciones (2.10). Es por o tanto de orden 3.
2.4.
Hemos obtenido las condiciones para que un mtodo de Runge-Kutta tenga e un orden dado. Ahora dirigimos nuestra atencin al problema de encontrar o 52
soluciones a dichas condiciones de orden. Nos preguntamos qu orden se puede e lograr. Nuestro primer resultado da una cota superior para el orden que se puede conseguir con un mtodo expl e cito de s etapas. Teorema 2.2. Un mtodo de Runge-Kutta expl e cito de s etapas no puede tener orden mayor que s. Prueba. Aplicamos el mtodo al problema escalar e y (x) = y(x), y(0) = 1,
cuya solucin es y(x) = ex . As pues, las derivadas de la solucin terica vienen o o o dadas por dp (y(xn + hn )) dhp n = exn +hn
hn =0 hn =0
= exn = y(xn ).
En cuanto a la solucin numrica, aplicando la regla de Leibniz para la derivada o e de un producto obtenemos que
s (p) yn+1 hn =0
=p
j1 =1
b j1 k j1
(p1) hn =0
= (p 1)
j2 =1 s
aj1 j2 k j2
(p2) hn =0 (p3) hn =0
= (p 1)(p 2) = = (p 1)!
s
j2 ,j3 =1
aj1 j2 aj2 j3 k j3
j2 ,j3 ,...,jp =1
(0) hn =0
= p!
j1 ,...,jp =1
p!
j1 ,...,jp =1
(2.11)
es necesaria para que el mtodo sea de orden p. e Si el mtodo es expl e cito, aij = 0 para j i. As a menos que exista una ,
s
se tendr que a
podr cumplir. Dicha sucesin slo puede existir si p s. a o o Se puede conseguir orden p = s? Para s = 1, 2, 3, 4 se puede ver que s , y es relativamente fcil encontrar familias de soluciones a las correspondientes a condiciones de orden. Ejemplo. Sea s = 1. La condicin de orden 1 es en este caso b1 = 1. El unico o mtodo expl e cito de una etapa y orden 1 es por tanto el mtodo de Euler. e Ejemplo. Sea s = 2. Las condiciones de orden 1 y 2 son en este caso b1 +b2 = 1 y b1 c1 +b2 c2 = 1 respectivamente (estamos suponiendo que se cumple la condicin o de suma por las). Si el mtodo es expl e cito entonces c1 = 0, y la condicin o de orden 2 queda que b2 c2 = 1/2. Hay pues una familia uniparamtrica de e mtodos expl e citos de 2 etapas y orden 2, 1 1 c2 = , b1 = 1 , b2 = , 2 2
R, = 0.
Qu pasa con s = 5? Para que un mtodo sea de orden 5 se tienen que e e satisfacer 17 condiciones de orden. Si s = 5 tenemos slo 15 parmetros libres. o a Sin embargo, el sistema es no lineal, as que podr haber solucin. Pero no es a o as . Teorema 2.3. Para p 5 no existe ningn mtodo de Runge-Kutta expl u e cito Este es un primer ejemplo de barrera de Butcher. Hay ms barreras. Por a ejemplo, se tiene el siguiente teorema. 54
etapas.
9 11
2.5.
Obtenemos que
yn+1 = yn + h
bi f (xn + ci h, Yi ).
s
i=1
Y = y + h i n
aij Yj ,
j=1 s
(2.13) bi Yi .
yn+1 = yn + h
i=1
Y = (Y1 , . . . , Ys )T ,
e = (1, 1, . . . , 1)T .
La primera de estas ecuaciones da Y = (I hA)1 eyn , que introducido en la segunda produce yn+1 = (1 + hbT (I hA)1 e)yn , es decir, yn+1 = R(h)yn , donde R(z) = 1 + zbT (I zA)1 e, bin funcin de amplicacin. e o o Obsrvese que yn = (R(h))n , as que de la denicin del dominio de e o estabilidad lineal D se sigue inmediatamente que D = {z C : |R(z)| < 1}. Por tanto un mtodo ser A-estable si y slo si |R(z)| < 1 en C . e a o Notacin. P es el conjunto de todos los polinomios de grado menor o igual o q P . que . P/ es el conjunto de todas las funciones racionales p/, con p P y q Un sencillo anlisis permite probar el siguiente lema. a Lema 2.5. Para todo mtodo de Runge-Kutta existe R Ps/s tal que la solue cin por dicho mtodo del problema (2.12) viene dada por o e yn = (R(h))n . Es ms, si el mtodo de Runge-Kutta es expl a e cito, entonces R Ps . 56 z C. (2.14) n = 0, 1, . . . ,
Prueba. Tenemos que probar que la funcin R dada por (2.14) pertenece a o Ps/s . Usamos que (I zA)1 = (adj (I zA))T . det(I zA)
adj (I zA) es el determinante de una submatriz (s 1) (s 1), est en a Ps1 . As pues, bT (adj (I zA))T e Ps1 . Como det(I zA) Ps , concluimos que R Ps/s . Si el mtodo es expl e cito, entonces A es estrictamente triangular inferior y tanto det(I zA) = 1, y R es un polinomio. I zA es una matriz triangular inferior con unos a lo largo de la diagonal. Por
Corolario 2.6. Ningn mtodo de Runge-Kutta expl u e cito puede ser A-estable. Prueba. La funcin de estabilidad de un mtodo de Runge-Kutta expl o e cito es un polinomio. Adems R(0) = 1. Por otra parte, ningn polinomio, salvo la a u funcin constante R(z) = c, |c| < 1, est estrictamente acotado por uno en o a C . En el caso de mtodos expl e citos podemos decir an ms sobre la funcin u a o de amplicacin. o Teorema 2.7. Si un mtodo de Runge-Kutta expl e cito tiene orden de consistencia p, entonces R(z) = 1 + z + z2 zp + + + O(z p+1 ). 2! p!
Prueba. La solucin exacta del (2.12) es y(x) = ex . Por ser el mtodo consiso e tente de orden p tenemos que y(h) y1 = O(hp+1 ), 57
s=4
s=3 s=2
s=1
-1
Figura 2.1: Dominio de estabilidad lineal de los mtodos de Runge-Kutta expl e citos de orden p = s.
as que
z2 zp + + + O(z p+1 ), 2! p! donde z = h. Usando que y1 = R(z)y0 concluimos inmediatamente el resuly1 = ez + O(hp+1 ) = 1 + z + tado. Como consecuencia tenemos que todos los mtodos de Runge-Kutta exe
En la gura 2.1 mostramos los correspondientes dominios de estabilidad lineal. Qu podemos decir de los mtodos impl e e citos? Veamos con un ejemplo que pueden ser A-estables. Ejemplo. Sea el mtodo de dos etapas y orden 3 dado por el tablero e 0
2 3 1 4 1 4 1 4
1 4
5 12 3 . 4
58
equivalente a
ei , con > 0, | | < /2, y nos preguntamos si |R(ei )| < 1. Esto es 1 1 + ei 3 y por tanto a 2 1 4 1 + cos + 2 < 1 cos + 2 3 9 3 1 4 cos 2 + 3 9 2 1 3 cos + 4 . 9 36
2
2 1 < 1 ei + 2 e2i , 3 6
Reordenando trminos, la condicin ei D pasa a ser e o 1 1 2 1 1 2 1 + 2 cos < 2 (1 + cos 2) + 4 = 2 cos2 + 4 , 9 3 36 3 36 este tipo. El mtodo es por tanto A-estable. e que se satisface para todos los z C , puesto que cos < 0 para todo z de Esto explica por qu son interesantes los mtodos impl e e citos. Son ms caros, a pero, adems de permitir romper las barreras de Butcher, algunos de ellos a tienen regiones de estabilidad grandes, y pueden ser convenientes a la hora de tratar problemas sti. Sin embargo, no todos los mtodos impl e citos son A-estables. Ejemplo. Sea el mtodo de dos etapas y orden 1 denido por el tablero e 0
2 3
0
1 3 3 4
0
1 3 1 . 4
Su funcin de amplicacin es o o
2 1 1 + 3 z + 6 z2 R(z) = . 1 1 3z
59
funcin racional dada tiene su origen en un mtodo A-estable (una R(z) tal se o e dice A-aceptable). Ese es el contenido del siguiente lema, cuya prueba es una aplicacin del principio del mximo. o a Lema 2.8. Sea R(z) una funcin racional no constante. Entonces |R(z)| < 1 o
para todo z C si y slo si todos los polos de R tienen parte real positiva y o |R(it)| 1 para todo t R. Prueba. Si |R(z)| < 1 para todo z C , por continuidad |R(z)| 1 para
todo z C . En particular R no puede tener polos en el semiplano cerrado Para probar el rec proco observamos que si los polos estn a la derecha del a
eje imaginario, entonces la funcin racional R es anal o tica en el cerrado C . y alcanza su mximo en la frontera. Parte de la frontera est en el innito. a a Sin embargo, por ser R una funcin racional existe el l o mite (nito o innito) l |z| |R(z)|, y es igual a l t |R(it)|. Por tanto, si |R(it)| 1, t R, m m entonces |R(z)| < 1 para todo z C .
3 6 3 6
1 4
1 4 1 2
1 4
3 6
3 6
1 4 1 . 2
Los polos de esta funcin, 3 i 3, estn en el semiplano abierto derecho, y o a |R(it)| = 1, t R, por lo que el mtodo es A-estable. e 60
2.6.
Pares encajados
Nos gustar tener una forma barata de estimar el error local. Esto pera mitir al mtodo elegir el paso de manera que dicho error sea menor que una a e tolerancia dada. Seguiremos una idea debida a Merson. Sea un mtodo de Runge-Kutta de orden p de tablero e c A bT . La solucin numrica por este mtodo es o e e
s
yn+1 = yn + hn
i=1
bi k i .
yn+1 = yn + hn
i=1
i ki b
sin coste adicional, pues las etapas ki coinciden. Esta solucin ms precisa se o a puede utilizar para estimar el error cometido con el primer mtodo. A un par e de mtodos con estas caracter e sticas se le conoce como par encajado. Seamos un poco ms precisos. Sabemos que los errores locales satisfacen a u(xn+1 ) yn+1 = C(yn )hp+1 + O(hp+2 ), n n
Eliminando u(xn+1 ) y usando que p + 2 p + 1, se tiene que C(yn )hp+1 = yn+1 yn+1 + O(hp+2 ). n 61
i=1
(i bi )ki . b
(2.15)
y se sigue como en el ejemplo que vimos en el cap tulo anterior. Veamos dos ejemplos debidos a Fehlberg. El primero es el RKF2(3), de tablero 0 1
1 2
0 1
1 4 1 2 1 6 1 4 1 2 1 6
yn+1 yn+1
0
4 . 6
El mtodo de orden 2 que se usa para avanzar es en realidad de dos etapas, e mientras que el de orden 3 que se usa para estimar es de tres etapas. El segundo par encajado que queremos presentar es el RKF2(3)B, 0
1 4 27 40
0
1 4 189 800 214 891 214 891 533 2106 729 800 1 33 1 33
1 yn+1 yn+1
0
1 78 .
El mtodo de avance es de 3 etapas y orden 2, y el de estimacin es de 4 etapas e o y orden 3. Notacin. Nombre p(q) quiere decir que el orden de yn+1 (el mtodo que o e se utiliza para avanzar) es p, y el orden de yn+1 (el mtodo que se usa para e estimar) es q. 62
Comparando los mtodos RKF2(3) y RKF2(3)B podr e amos pensar que el primero es mucho mejor, por emplear una etapa menos para conseguir el mismo orden. Sin embargo, el mtodo RKF2(3)B tiene la propiedad FSAL e (First Same As Last), asi = bi i = 1, . . . , s.
ks = f (xn + cs hn , yn + hn
i=1
asi ki ) = f (xn + hn , yn + hn
i=1
bi ki ),
donde hemos usado las condiciones de suma por las y de consistencia para probar que cs =
s j=1
asj =
s j=1 bj
bi ki ).
Es decir, la primera etapa de cada paso coincide con la ultima del paso anterior. Por tanto la primera etapa slo hay que calcularla en el primer paso, y desde el o punto de vista computacional es como si el mtodo tuviera una etapa menos. e Aunque la estimacin (2.15) da el error de truncacin para el mtodo del o o e par encajado de orden ms bajo, si h es sucientemente pequeo el error para el a n mtodo de orden alto ser an menor; as que, por qu no hacer extrapolacin e a u e o local, avanzando con el mtodo de orden ms alto? Esto es lo que hacen los e a mtodos de Dormand y Prince DOPRI5(4) y DOPRI8(7), que son algunos de e los mejores mtodos existentes hasta el momento. e Por qu no se hace siempre extrapolacin local? Porque a veces supone e o desventajas. Por ejemplo, si hiciramos extrapolacin local en el mtodo de e o e RKF2(3)B, no podr amos aprovechar la propiedad FSAL, con el coste computacional extra que ello supone.
63