Está en la página 1de 23

Cap tulo 2 El problema de valor inicial: mtodos de e Runge-Kutta

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!

y(xn+1 ) = y(xn ) + hn y (xn ) + 41

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!

En este caso el error de truncacin Rn = o

(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

Los mtodos de Taylor son conceptualmente sencillos. Sin embargo: e 42

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

= y(xn+1 ) y(xn ) hn T 2 (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 |,

(|b1 | + |b2 |)L|y y | + |b2 |L2 ||h|y y |

|b1 |L|y y | + |b2 |L|y y + h(f (x, y) f (x, y ))|

+|b2 ||f (x + h, y + hf (x, y)) f (x + h, y + hf (x, 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

Siguiendo estos ejemplos, denimos un mtodo de Runge-Kutta de s etapas e por k = f (x + c h , y + h i n i n n n


s s

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

el tablero se puede resumir como c A bT . Si aij = 0 para j i, i = 1, 2, . . . , s, es decir, si la matriz A es triangular

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

El mtodo de Euler mejorado tambin es expl e e cito. Su tablero es 0 1 1 1/2 1/2.

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 .

Si hacemos hn = 0, entonces ki = f (xn , yn ) para todo i = 1, 2, . . . , s. As ,


s

(x, y; 0) =
i=1

bi

f (x, y).

Por tanto, un mtodo de Runge-Kutta es consistente si y slo si e o


s

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

Por tanto y(xn ) yn = xn de consistencia (2.2). 1

bi ,
i=1

y la solucin numrica converge a la terica si y slo si se cumple la condicin o e o o o

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

de un producto se tiene que


s (q) yn+1 hn =0

=
j=1

bj q (f (gj ))(q1)

hn =0

(2.5)

As la derivada primera de la solucin numrica es , o e


s (1) yn+1 hn =0 s

=
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

Pero (f (gj ))(1) =

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)

por lo que concluimos que


s d

yn+1

(2)

hn =0

=2
j,k=1

bj ajk
K=1

fK (y(xn ))f K (y(xn )).

(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)

K La derivada segunda de gj se obtiene utilizando de nuevo la semejanza entre

gi e yn+1 . Finalmente llegamos a yn+1


(3) s hn =0 d

=3
j,k,l=1

bj ajk ajl
K,L=1 s

fKL (y(xn ))f K (y(xn ))f L (y(xn ))


d

(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

fK (y(xn ))(y ) (xn ) =


K=1

K (1)

fK (y(xn ))f K (y(xn )),

=
hn =0 K,L=1 d

fKL (y(xn ))f K (y(xn ))(y L )(1) (xn )


K fK (y(xn ))fL (y(xn ))(y L )(1) (y(xn )).

+
K,L=1 d

=
K,L=1 d

fKL (y(xn ))f K (y(xn ))f L (y(xn ))


K fK (y(xn ))fL (y(xn ))f L (y(xn )).

+
K,L=1

Comparando las derivadas de la solucin numrica y de la terica obteo e o nemos las condiciones de orden 3:
s

Orden 1: Orden 2: Orden 3:

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

condicin de suma por las, quedando o


s

Orden 1: Orden 2: Orden 3:

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

bj cj ajl cl = 1, bj ajk akl cl = 1,


j,k,l=1

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

hacer clculos. Por ejemplo, la condicin 6 a o


j,k=1

bj ajk ck = 1 se puede reescribir

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.

Mtodos expl e citos. Orden obtenible

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

Por otra parte, k j1


(p1) hn =0 s

= (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

aj1 j2 aj2 j3 . . . ajp1 jp kjp

(0) hn =0

Por consiguiente, asumiendo la hiptesis de localizacin, o o


s (p) yn+1 hn =0

= p!
j1 ,...,jp =1

bj1 aj1 j2 aj2 j3 . . . ajp1 jp y(xn ). 53

Concluimos que la condicin o


s

p!
j1 ,...,jp =1

bj1 aj1 j2 aj2 j3 . . . ajp1 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

sucesin j1 , j2 , . . . , jp de enteros 1, 2, . . . , s tal que j1 > j2 > j3 > > jp , o


j1 ,...,jp =1

bj1 aj1 j2 aj2 j3 . . . ajp1 jp = 0, y la condicin (2.11) no se o

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

de orden p con s = p etapas.

pl cito de orden p con s = p + 1 etapas.

Teorema 2.4. (i) Para p 7 no existe ningn mtodo de Runge-Kutta exu e

etapas.

(ii) Para p 8 no hay ningn mtodo de Runge-Kutta expl u e cito con s = p + 2

En la siguiente tabla recogemos el estado del arte: Orden s m nimo 1 2 1 2 3 3 4 5 4 6 6 7 7 8 9 12 s 17 10 13 s 17

9 11

2.5.

A-estabilidad de mtodos de Runge-Kutta e

mtodo de Runge-Kutta (2.1) con paso jo h al problema escalar e y = y, x 0, y(0) = 1.

Para estudiar el dominio de estabilidad lineal D tenemos que aplicar el (2.12)

Para ello conviene reescribir (2.1) en la forma alternativa Y = y + h s a f (x + c h, Y ), i ij n j j n


j=1 s

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 .

Sean Y, e R dados por

yn+1 = yn + h

i=1

Y = (Y1 , . . . , Ys )T ,

e = (1, 1, . . . , 1)T .

Entonces podemos escribir (2.13) en la forma Y = e yn + hAY, yn+1 = yn + hbT Y. 55

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, . . . ,

La funcin R(z) recibe el nombre de funcin de estabilidad del mtodo, o tamo o e

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

Cada elemento de I zA es lineal en z. Por tanto, como cada elemento de

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

pl citos con p = s tienen como funcin de estabilidad o R(z) = 1 + z + zs z2 + + . 2! s!

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

Su funcin de amplicacin es o o R(z) =


1 1 + 3z . 1 2 1 3 z + 6 z2

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

Veamos si es A-estable. Representamos z C en coordenadas polares, z =


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

As pues, l |R(z)| = , por lo que el mtodo no es A-estable. m e


|z|

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

En realidad no hace falta comprobar todos los z C para ver si una

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

izquierdo, y |R(it)| 1 para todo t R.

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 .

Por tanto, al no ser R constante, |R| no puede tener un mximo en el interior, a

Ejemplo. Consideramos el mtodo de Gauss-Legendre de dos etapas (orden 4), e


1 2 1 2

3 6 3 6

1 4

1 4 1 2

1 4

3 6

3 6

1 4 1 . 2

Un sencillo clculo muestra que a R(z) =


1 1 + 2z + 1 1z + 2 1 2 z 12 1 2. z 12

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 .

Si tuviramos otro mtodo de Runge-Kutta con las mismas etapas, e e c A T b

pero de distinto orden, p > p, podr amos calcular la solucin o


s

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

u(xn+1 ) yn+1 = O(hp+1 ). 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

Esto justica la estimacin o


s

u(xn+1 ) yn+1 yn+1 yn+1 = hn As podemos tomar , ERROR = yn+1 yn+1

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

650 891 650 891 800 1053

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.

Por consiguiente, la ultima etapa del paso n viene dada por


s1 s1

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

= 1. Por otra parte, por ser el mtodo e

expl cito, la primera etapa del paso n + 1 viene dada por


s1

k1 = f (xn+1 , yn+1 ) = f (xn + hn , yn + hn


i=1

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

También podría gustarte