Está en la página 1de 32

Cap tulo 4 M etodos de Runge Kutta

4.1.

M etodos de Runge-Kutta

Los m etodos de Runge-Kutta son aquellos que se pueden escribir en la forma ki = f (xn + ci h, yn + h yn+1 = yn + h
s s

aij kj ),
j =1

i = 1, 2, . . . , s, (4.1)

bi k i .

i=1

Cada una de las evaluaciones de funci on ki es una etapa. El m etodo (4.1) se representa por medio de su tablero de Butcher: c1 c2 . . . cs a11 a21 . . . as1 b1 a12 a22 . . . as2 b2 ... ... ... ... ... a1s a2s . . . ass bs .

Si escribimos c = (c1 , c2 , . . . , cs )T , b = (b1 , b2 , . . . , bs )T , A = (aij ), el tablero 59

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 el m etodo es expl cito. Al escribir su tablero se suelen omitir los ceros sobre y por encima de la diagonal principal. Ejemplo. El m etodo de Euler modicado, (1.17), es expl cito. Su tablero es 0 1/2 1/2 0 1. Si el m etodo no es expl cito, es impl cito. En general es necesario entonces resolver en cada paso un sistema no lineal para calcular los ki . Este sistema tiene dimensi on ds. Ejemplo. El m etodo RK-Radau IA de dos etapas, de tablero 0 2/3 1/4 1/4 1/4 es un m etodo de Runge-Kutta impl cito. 1/4 5/12 3/4, t erminos de los anteriormente calculados, kj , j = 1, 2, . . . , i 1. En este caso

Hay una situaci on intermedia; si aij = 0 para j > i, i = 1, 2, . . . , s, entonces cada ki est a denido individualmente por
i

ki = f (xn + ci h, yn + h
j =1

aij kj ), 60

i = 1, 2, . . . , s.

En vez de resolver en cada paso un sistema no lineal de dimensi on ds, tendremos que resolver s sistemas no acoplados de dimensi on d. Estos m etodos se llaman semi-impl citos. Al escribir sus tableros se omiten los ceros por encima de la diagonal principal. Ejemplo. El m etodo RK-Lobatto IIIA de dos etapas, de tablero 0 0 1/2 1/2, 1/2

1 1/2

es un m etodo de Runge-Kutta semi-impl cito.

Para que un m etodo de Runge-Kutta impl cito est e bien determinado el sistema que dene las etapas debe tener soluci on u nica. Se puede probar que esto es cierto si h es peque no. Ejemplo. El m etodo de colocaci on de parametro c1 = 1/2 es un m etodo de Runge-Kutta impl cito de tablero 1/2 1/2 1. La u nica etapa, k1 , es, si existe, un punto jo de la aplicaci on h h G (k 1 ) = f (x n + , y n + k 1 ). 2 2 Si f es Lipschitz con respecto de su segunda variable, con constante de Lipschitz L, se tiene que 1 ) G (k 1 ) G ( k Lh 1 . k1 k 2

As pues, si h < 2/L la aplicaci on G es contractiva, y tiene por tanto un u nico punto jo. 61

Los m etodos de Runge-Kutta son m etodos de un paso con funci on de incremento f (xn , yn ; h) =
i=1 s

bi ki (xn , yn ; h).

(4.2)

Puesto que las etapas ki son evaluaciones de la funci on f , no es dif cil convencerse de que f satisface una condici on de Lipschitz con respecto a su segunda variable si f tambi en lo hace. Ejemplo. Para el m etodo de Euler modicado, k1 (xn , yn ; h) k1 (xn , y n ; h) L yn y n , k2 (xn , yn ; h) k2 (xn , y n ; h) L( y n y n + L(1 +
Lh ) 2 h 2

k1 (xn , yn ; h) k1 (xn , y n ; h) )

yn y n ,

de donde se obtiene inmediatamente la condici on de Lipschitz deseada observando que en este caso f (xn , yn ; h) = k2 (xn , yn ; h). Ejemplo. En el caso del m etodo RK-Radau I de dos etapas, 0 2/3 0 1/3 1/4 se tiene que k1 (xn , yn ; h) k1 (xn , y n ; h) L yn y n , k2 (xn , yn ; h) k2 (xn , y n ; h) L( yn y n +h k1 (xn , yn ; h) k1 (xn , y n ; h) + 3 L(1 +
Lh ) 3 h 3

1/3 3/4,

k2 (xn , yn ; h) k2 (xn , y n ; h) ),

yn y n +

Lh 3

k2 (xn , yn ; h) k2 (xn , y n ; h) ,

de forma que, si h < 3/L, ) L(1 + Lh 3 yn y n . k2 (xn , yn ; h) k2 (xn , y n ; h) 1 Lh 3 62

De aqu se concluye la condici on de Lipschitz deseada utilizando que en este


1 caso f (xn , yn ; h) = 4 k1 (xn , yn ; h) + 3 k (x , y ; h). 4 2 n n

Si hacemos h = 0 en (4.2), obtenemos que ki (xn , yn ; 0) = f (xn , yn ) para todo i = 1, 2, . . . , s. Por consiguiente,
s

f (x, y ; 0) =
i=1

bi

f (x, y ).

As , un m etodo de Runge-Kutta es consistente si y s olo si


s

b i = 1.
i=1

(4.3)

Qu e condiciones sobre los coecientes garantizan que el m etodo es consistente de orden p? Tenemos que desarrollar el residuo
s

Rn = y (xn+1 ) (y (xn ) + h

bi ki (xn , y (xn ); h))


i=1

alrededor de xn en potencias de h. As pues, lo que hay que hacer es obtener desarrollos en potencias de h para las funciones
s

F (h) := y (xn + h),

G(h) := y (xn ) + h
i=1

bi ki (xn , y (xn ); h).

Si estos desarrollos coinciden hasta orden p, existe una constante C independiente de n tal que Rn Chp+1 , y se tendr a consistencia de orden al menos p. Para que los desarrollos coincidan hasta un cierto orden, los coecientes del m etodo tienen que satisfacer ciertas condiciones. Como ejemplo obtendremos las condiciones de consistencia de orden 1 y de orden 2. Las condiciones para tener un orden de consistencia m as alto se obtienen de manera similar. En primer lugar desarrollamos F (h) = y (xn + h). Se tiene que F (h) = y (xn ) + hy (xn ) + 63 h2 h3 y (x n ) + y ( n ), 2 3!

donde n [xn , xn+1 ]. Usando la EDO para expresar y e y en t erminos de f , F (h) = y (xn ) + hf (xn , y (xn )) + +h 2
2

h2 f (xn , y (xn )) 2 x

d J =1

f (xn , y (xn ))f J (xn , y (xn )) y J

h3 y 3!

( n ).

Por otra parte, ki (xn , y (xn ); 0) = f (xn , y (xn )) y


dki (xn , y (xn ); h) dh d

xn + ci h, y (xn ) + h = ci f x
s j =1

aij kj (xn , y (xn ); h)


j =1 s J aij kj (xn , y (xn ); h)

+
J =1 d

f y J

xn + ci h, y (xn ) + h ,

aij kj (xn , y (xn ); h)


j =1

+h
j =1

J dkj aij dh (xn , y (xn ); h)

expresi on que evaluada en h = 0 produce f dki (xn , y (xn ); 0) = ci (xn , y (xn )) + dh x


s d

aij
j =1 J =1

f (xn , y (xn ))f J (xn , y (xn )). y J

As , tenemos el siguiente desarrollo para G(h),


s

G(h) = y (xn ) + h
i=1 s

bi ki (xn , y (xn ); h) bi f (xn , y (xn )) + h2


d s i=1 i=1

= y (x n ) + h + h
2 s

bi ci f (xn , y (xn )) x +
h3 d 2 k i (xn , y (xn ); ), 2 dh2

bi aij
i,j =1 J =1

f (xn , y (xn ))f J (xn , y (xn )) y J

donde [0, h]. independiente de n tal que y ( n ) ,


s

Si f C 2 , es f acil (aunque tedioso) probar que existe una constante C


d 2 ki (xn , y (xn ); ) dh2

parando ambos desarrollos concluimos que la condici on bi = 1


i=1

C . Por tanto, com(4.4)

es suciente para tener orden de consistencia al menos 1 y que si adem as


s

i=1

1 bi c i = , 2 64

1 bi aij = , 2 i,j =1

(4.5)

entonces el orden de consistencia es al menos 2. Por otra parte, si consideramos el problema y (x) = 1, x [0, b], y (0) = 0,
s i=1

cuya soluci on es y (x) = x, se tiene que Rn = h(1


s

bi ). Por consiguiente,

si
i=1

bi = 1 el m etodo no tiene orden de consistencia 1. De manera an aloga

se demuestra que las condiciones (4.5) son necesarias para tener orden de consistencia 2. Observaci on. La condici on de consistencia coincide con la condici on de consistencia de orden 1.

El ejemplo anterior deber a bastar para convencerse de que calcular condiciones de orden para un m etodo de Runge-Kutta general es una tarea ardua. As que intentamos simplicar un poco las cosas. Cualquier problema (1.2) se puede escribir en forma aut onoma a costa de aumentar la dimensi on del espacio. En efecto, si denimos y (x) = x y (x) , = a , ( f y (x)) = 1 f (x, y (x)) ,

el problema (1.2) es equivalente al problema aut onomo ( y (x) = f y (x)), y (a) = .

Podr amos entonces pensar que basta con estudiar las condiciones de orden para problemas aut onomos, lo que es un poco m as f acil. Hay una dicultad: en general un m etodo de Runge-Kutta no produce la misma soluci on para un problema que para su equivalente aut onomo. Sin embargo, se puede comprobar f acilmente que ambas soluciones num ericas coinciden si el m etodo es consistente y satisface la condici on de suma por las
s

ci =
j =1

aij ,

i = 1, 2 . . . , s.

(4.6)

Por consiguiente, si un m etodo cumple esta condici on, podemos calcular el orden de consistencia del m etodo sin p erdida de generalidad suponiendo que 65

el problema es aut onomo. En adelante, salvo que se mencione expresamente lo contrario, nos restringiremos a m etodos que cumplan la condici on de suma por las. Observaci on. Si se cumple la condici on de suma por las, las dos condiciones (4.5) de orden 2 coinciden.

Cu al es el mejor orden que podemos conseguir para un m etodo de RungeKutta con un n umero de etapas s dado? Las condiciones de orden son relaciones no lineales sobre los coecientes del m etodo, por lo que la respuesta no es en absoluto trivial. No obstante, tenemos una cota superior para el orden que se puede conseguir si el m etodo es expl cito. Teorema 4.1. Un m etodo de Runge-Kutta expl cito de s etapas no puede tener orden mayor que s. Prueba. Aplicamos el m etodo al problema escalar y = y en [0, b], y (0) = 1, cuya soluci on es y (x) = ex . As pues, l dp F (0) = exn +h p dh = e x n = y (x n ).

h=0

En cuanto a G, aplicando la regla de Leibniz para la derivada de un producto obtenemos que dp G (0) = p dhp j Por otra parte, k j1
(p1) h=0 s s (p1) h=0

b j1 k j1
1 =1

= (p 1)

j2 =1 s

aj1 j2 k j2

(p2) h=0 (p3) h=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 66

(0) h=0

Para la EDO que estamos considerando kjp dp G (0) = p! dhp j


s

(0) h=0

= y (xn ), por lo que

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


1 ,...,jp =1

Concluimos que la condici on


s

p!
j1 ,...,jp =1

bj1 aj1 j2 aj2 j3 . . . ajp1 jp = 1

(4.7)

es necesaria para que el m etodo sea de orden p. Si el m etodo es expl cito, aij = 0 para j i. As , a menos que exista una
s

se tendr a que

sucesi on j1 , j2 , . . . , jp de enteros 1, 2, . . . , s tal que j1 > j2 > j3 > > jp ,


j1 ,...,jp =1

bj1 aj1 j2 aj2 j3 . . . ajp1 jp = 0, y la condici on (4.7) no se

podr a cumplir. Dicha sucesi on s olo puede existir si p s. Se puede conseguir orden p = s? Para s = 1, 2, 3, 4 se puede ver que s , y es relativamente f acil encontrar familias de soluciones a las correspondientes condiciones de orden. Ejemplo. Sea s = 1. La condici on de orden 1 es en este caso b1 = 1. El u nico m etodo expl cito de una etapa y orden 1 que cumple la condici on de suma por las es por tanto el m etodo de Euler.

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 condici on de suma por las). Si el m etodo es expl cito entonces c1 = 0, y la condici on de orden 2 queda que b2 c2 = 1/2. Hay pues una familia uniparam etrica de m etodos expl citos de 2 etapas y orden 2, c2 = , b1 = 1 1 , 2 b2 = 1 , 2 R , = 0. Qu e pasa con s = 5? Para que un m etodo sea de orden 5 se tienen que satisfacer 17 condiciones de orden. Si s = 5 tenemos s olo 15 par ametros libres. 67

Sin embargo, el sistema es no lineal, as que podr a haber soluci on. Pero no es as . Teorema 4.2. Para p 5 no existe ning un m etodo de Runge-Kutta expl cito Estas limitaciones sobre el orden obtenible que hemos mencionado se conocen como barreras de Butcher. Hay m as barreras. Por ejemplo, se tiene el siguiente teorema. Teorema 4.3. (i) Para p 7 no existe ning un m etodo de Runge-Kutta ex-

de orden p con s = p etapas.

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

etapas.

(ii) Para p 8 no hay ning un m etodo de Runge-Kutta expl cito con s = p + 2

Problemas 1. Demostrar que las condiciones (4.5) son necesarias para tener orden de consistencia 2. 2. Comprobar que las soluciones num ericas por un m etodo de Runge-Kutta del problema de valor inicial (1.2) y de su equivalente aut onomo coinciden si el m etodo es consistente y satisface la condici on de suma por las (4.6). 3. Demostrar que para que un m etodo de Runge-Kutta que cumple la condici on de suma por las tenga orden de consistencia 3 es necesario y suciente que, adem as de (4.4) y (4.5), cumpla
s

bj c 2 j
j =1

1 = , 3

b Ac =

1 bj ajk ck = . 6 j,k=1

4. Construir todos los m etodos consistentes de orden al menos 2 de la forma 0 c2 c3 c2 0 0 68 c3 0 1

Estudiar si alguno tiene orden de consistencia 3. Tiene alguno orden de consistencia 3 para el problema y = y en [0, b], y (0) = 1? 5. Consideramos el siguiente m etodo creado por Heun: yn+1 = yn + h 2h 2h h h f (xn , yn )+3f xn + , yn + f (xn + , yn + f (xn , yn )) . 4 3 3 3 3

(i) Comprobar que la funci on de incremento satisface una condici on de Lipschitz de la forma (1.21). (ii) Escribir su tablero. (iii) Determinar el orden de convergencia. 6. Dado un m etodo de Runge-Kutta expl cito de s etapas, denimos =
s

respecto a su segunda variable. (i) Demostrar que ki (xn , yn ; h) ki (xn , y n ; h) Li yn y n , donde i satisface la recurrencia 1 = 1, i = 1 + hL
i1 j =1

1i,j s

m ax |aij |, =

i=1

|bj |. Sea L una constante de Lipschitz para f con

j ,

i = 1, . . . , s.

(ii) Demostrar que la soluci on de dicha recurrencia es i = (1+ hL)i1 . (iii) Concluir que la funci on de incremento del m etodo f (xn , yn ; h) es Lipschitz respecto a su segunda variable con constante de Lipschitz L(1 + h0 L)s1 para h [0, h0 ]. 7. Consideramos los m etodos de Runge-Kutta 0 a) 2/3 0 1/3 1/4 0 1/3 3/4, 69 b) 0 2/3 1/4 1/4 1/4 1/4 5/12 3/4.

Para cada uno de ellos: (i) Comprobar que la correspondiente funci on de incremento satisface una condici on de Lipschitz con respecto a su segunda variable. (ii) Comprobar que las etapas k1 y k2 est an determinadas de manera u nica. (iii) Determinar el orden de consistencia. (iv) Dar un problema para el cual Rn = Chp , siendo p el orden de consistencia. 8. Dado un m etodo de Runge-Kutta (4.1), comprobar que admite la formulaci on equivalente
s

Yi = y n + h
k=1 s

aij f (xn + cj h, Yj ),

i = 1, . . . , s,

(4.8)

yn+1 = yn + h
i=1

bi f (xn + ci h, Yi ),

n = 1, . . . , N 1.

(4.9)

Demostrar, utilizando el Teorema de la Aplicaci on Contractiva, que para todo h peque no el sistema de ecuaciones (4.8) tiene una u nica soluci on. 9. Consideramos el m etodo de Runge-Kutta de tablero 1 1/3 0 1/3 1/4 0 1/3 3/4.

Este m etodo no cumple la condici on de suma por las. Determinar su orden de consistencia. Tiene un orden de consistencia mayor cuando nos restringimos a problemas aut onomos? 10. Consideramos el m etodo de Runge-Kutta de tablero 70

0 1/2 1 1/2 1/2, que no cumple la condici on de suma por las. Demostrar que tiene orden de consistencia al menos 2 si nos restringimos a problemas aut onomos y que sin embargo en general su orden de consistencia es tan s olo 1. 11. Probar que la regla impl cita del punto medio h yn + yn+1 yn+1 = yn + hf xn + , 2 2 es un m etodo de Runge-Kutta de una etapa. Escribir su tablero y calcular su orden. 12. Restringi endonos a ecuaciones escalares aut onomas, demostrar que el m etodo de Runge-Kutta expl cito de tablero 0 1/2 1/2 1 1/2 0 0 1/6 tiene orden 4. 13. Consid erese el m etodo cuyo tablero es 0 1 1 1 1/2 3/6 1/2 1/6 2/6 1/2 0 1/3 1 1/3 1/6

(a) Probar que es de orden 2 y no es de orden 3 en general. (b) Probar que s es de orden 3 para todas las ecuaciones lineales de la forma y = M y donde M es una matriz de constantes. 71

14. Es posible encontrar un m etodo que tenga orden tres (en general) para problemas escalares y = f (y ) y que tenga orden menor (en general) cuando sean vectoriales?

15. Sea q (x) =


i=1

(x ci ), ql (x) = q (x)/(x cl ), l = 1, . . . , . Demostrar

que el m etodo de colocaci on de par ametros c1 , . . . , c es un m etodo de Runge-Kutta impl cito de tablero c A bT , con
ci

aij =
0

q j (x) dx, q j (c j )

bi =
0

q i (x) dx, q i (c i )

i, j = 1, . . . , .

4.2.

Selecci on autom atica del paso

Hasta ahora nos hemos limitado a considerar mallas uniformes. Esto presenta un inconveniente importante: si la soluci on var a mucho en alguna zona del intervalo de integraci on, nos vemos obligados a dar pasos peque nos en todo el intervalo, con el consiguiente coste computacional. Ser a preferible adaptar la malla a la soluci on, haci endola m as na en aquellas regiones donde var e r apidamente y m as gruesa donde cambie poco. La dicultad estriba en que no conocemos la soluci on (estamos intentando calcularla!), y por tanto no sabemos a priori d onde necesitamos una malla m as na. Qu e hacer? Una posibilidad es que sea el propio m etodo quien elija la malla, a medida que calcula la soluci on, de manera que el error cometido est e siempre bajo control. Supongamos que ya hemos calculado y0 , . . . , yn . Queremos avanzar de xn a xn+1 con una longitud de paso hn = xn+1 xn tal que el error global, y (xn+1 ) yn+1 , 72

tenga tama no menor que una tolerancia dada. La dicultad estriba en que no es posible controlar el error global directamente por medio de hn . Lo que s se puede controlar es el error cometido al dar el paso suponiendo que el valor yn era exacto. Este error, conocido como error local, viene dado por un (xn+1 ) yn+1 , donde un , la soluci on local, es la soluci on del problema de valor inicial un (x) = f (x, un (x)), u n (x n ) = y n .

Podemos controlar el error global a trav es del error local? El siguiente resultado muestra que s . Teorema 4.4. Sea =
0nN 1

Lipschitz para f con respecto a su segunda variable. Entonces y (xn ) yn eL(ba) y (x0 ) y0 + eL(ba) (b a), Prueba. Se basa en la identidad

m ax ( un (xn+1 ) yn+1 /hn ) y L una constante de

n = 1, . . . , N.

y (xn+1 ) yn+1 = (y (xn+1 ) un (xn+1 )) + (un (xn+1 ) yn+1 ). Por la dependencia continua, lema 1.2, y (xn+1 ) un (xn+1 ) eLhn y (xn ) yn , y por tanto y (xn+1 ) yn+1 eLhn y (xn ) yn + hn . A partir de aqu se prueba f acilmente, por inducci on, que y (xn ) yn eL(xn x0 ) y (x0 ) y0 + eL(xn x0 ) (xn x0 ), de donde se deduce inmediatamente el resultado. 73

Observaci on. La prueba tiene dos ingredientes: el control del error local y un control del crecimiento de la diferencia entre dos soluciones de la EDO. Esto muestra una limitaci on fundamental de cualquier m etodo num erico: no importa cu an preciso sea al aproximar la soluci on en un paso dado, si el PVI es inestable, esto es, si la diferencia entre dos soluciones crece r apidamente con x, acabaremos calculando soluciones num ericas {yn } que estar an lejos de los verdaderos valores y (xn ). Motivados por este teorema, queremos escribir un c odigo que elija autom aticamente la longitud del paso de forma que la norma del error local por unidad de paso, un (xn+1 ) yn+1 /hn , se ajuste a una tolerancia prescrita. Ser a por tanto necesario tener una forma de estimar esta cantidad. Si un m etodo de un paso es consistente de orden p y f C p+1 , se puede

+1 probar f acilmente que el error local es de orden hp as, existe una funci on n ; es m

f tal que
+1 +2 un (xn+1 ) yn+1 = f (xn , yn )hp + O (h p n n ).

Por consiguiente, podemos estimar el error local por medio del t ermino principal de este desarrollo,
+1 errorl f (xn , yn ) hp n .

Ejemplo. Supongamos que aplicamos Euler a un problema escalar. El error local satisface un (xn+1 ) yn+1 = u n (x n ) 2 u n ( n ) 3 hn + hn , 2 3!

y podemos estimarlo por el t ermino principal,


2 f (x n , y n )h 2 n = f x ( x n , y n ) + f y ( x n , y n ) f ( x n , y n ) h n /2.

74

La estimaci on supone dos evaluaciones de funci on, fx (xn , yn ) y fy (xn , yn ), (f (xn , yn ) ya se hab a evaluado para calcular yn+1 ), un coste excesivo, pues no es razonable que estimar el error, una tarea en cierto sentido auxiliar, cueste el doble que calcular la soluci on num erica.

+1 El t ermino principal del error local, f (xn , yn )hp n , se puede calcular, pero

resulta demasiado costoso (v ease el ejemplo anterior). Tendremos que pensar en otra forma m as barata de estimarlo. Supongamos que calculamos una segunda aproximaci on y n+1 y (xn+1 )
+1 +2 f (xn , yn )hp un (xn+1 ) y n+1 = + O (h p n n ),

por medio de un m etodo de un paso m as preciso,

p p + 1.

Por consiguiente, y n+1 yn+1 = y n+1 un (xn+1 ) + un (xn+1 ) yn+1


+2 +1 + O (h p = f (x n , y n )h p n ), n

as que podemos estimar el error local por medio de


+1 errorl f (xn , yn ) hp y n+1 yn+1 . n

(4.10)

Una vez estimado, el error se compara con hn , donde es la tolerancia prescrita para el error local por unidad de paso. Si errorl > hn , el paso se rechaza, y se vuelve a calcular con un nueva longitud hn tal que f (xn , yn ) (hn )p+1 = hn . Dado que = f (x n , y n ) (h n ) = f (x n , y n ) vemos que la elecci on optima es hn = h n hn errorl 75
1 p

hp n

hn hn

errorl hn

hn hn

(4.11)

acepta. Se intenta ahora un nuevo paso con la longitud o ptima (4.11).

El proceso se repite hasta que errorl hn . En ese momento el paso se Para tener un buen c odigo hay que poner un poco m as de cuidado. Se suele multiplicar el segundo miembro de (4.11) por un factor de seguridad FAC, normalmente FAC = 0,9, de forma que el errorl sea aceptable la siguiente vez con probabilidad alta. Tampoco se suelen permitir incrementos de paso muy grandes, con el n de hacer el m etodo m as seguro. Tambi en es costumbre jar una longitud de paso m axima, HMAX. As , por ejemplo podemos poner hn = m n HMAX, hn m n FACMAX, FAC FACMAX se suele tomar entre 1,5 y 5. C omo elegir el segundo m etodo para que el coste adicional de estimar el error no sea muy grande? Utilizamos una idea debida a Merson. Sea un m etodo de Runge-Kutta de orden p de tablero c A bT . La soluci on num erica por este m etodo es
s

hn errorl

1 p

yn+1 = yn + hn
i=1

bi k i .

Si tuvi eramos otro m etodo de Runge-Kutta con las mismas etapas, c A bT

pero de distinto orden, p > p, podr amos calcular la soluci on


s

y n+1 = yn + hn
i=1

bi k i

76

sin coste adicional, pues las etapas ki coinciden. Esta soluci on m as precisa se puede utilizar para estimar el error cometido con el primer m etodo. A un par de m etodos con estas caracter sticas se le conoce como par encajado. Ejemplo. El par encajado 0 1 yn+1 y n+1 1 1
1 2

0
1 2

avanza con el m etodo de Euler y estima con el m etodo de Euler mejorado. Hemos dicho que no hay coste adicional, pero esto es un poco falaz, porque el m etodo de Euler no usa la segunda etapa, mientras que el m etodo que utilizamos para estimar, Euler mejorado, s lo hace. Ahora bien, el m etodo de avance es un m etodo expl cito con la propiedad FSAL (First Same As Last), asi = bi i = 1, . . . , s.

En los m etodos con esta propiedad la u ltima etapa del paso n viene dada por k s (x n , y n ; h n ) = f (x n + c s h n , y n + h n
s1 i=1

asi ki ) = f (xn + hn , yn + hn

s1 i=1

b i k i ),

donde hemos usado las condiciones de suma por las y de consistencia para
s s

probar que cs =
j =1

asj =
j =1

bj = 1. Por otra parte, por ser el m etodo expl cito,

la primera etapa del paso n + 1 viene dada por k1 (xn+1 , yn+1 ; hn+1 ) = f (xn+1 , yn+1 ) = f (xn + hn , yn + hn
s1 i=1

b i k i ).

Es decir, la primera etapa de cada paso coincide con la u ltima del paso anterior. Por tanto la primera etapa s olo hay que calcularla en el primer paso, y desde el punto de vista computacional es como si el m etodo tuviera una etapa menos. 77

En el ejemplo que nos ocupa tenemos en la pr actica una evaluaci on de funci on por paso, lo mismo que para el m etodo de Euler!

Aunque la estimaci on (4.10) da el error de truncaci on para el m etodo del par encajado de orden m as bajo, si h es sucientemente peque no el error para el m etodo de orden alto ser a a un menor; as que, por qu e no avanzar con el m etodo de orden m as alto? A esto se le llama hacer extrapolaci on local. La desventaja es que si el m etodo de avance original ten a la propiedad FSAL, esta se pierde, con el coste computacional extra que ello supone. Ejemplo. El par encajado 0 1 yn+1 y n+1 1
1 2 1 2

avanza con el m etodo de Euler mejorado y estima con el m etodo de Euler. En este caso el m etodo de avance es de orden 2, pero a cambio hay que hacer dos evaluaciones de funci on por paso.

Notaci on. Un par encajado es de tipo p(q ) si el orden de yn+1 (el m etodo que se utiliza para avanzar) es p, y el orden de y n+1 (el m etodo que se usa para estimar) es q . En la gura 4.1 representamos el diagrama de eciencia para el problema (1.24)(1.25) usando los dos pares encajados que acabamos de describir, as como el m etodo de Euler y la regla del trapecio, estos dos u ltimos con malla prejada uniforme. Siendo ambos de orden 1, el par encajado Euler/Euler mejorado 1(2) trabaja diez veces menos que el m etodo de Euler para conseguir un mismo error. Si comparamos la regla del trapecio con el par Euler mejorado/Euler 2(1), dos m etodos de orden 2, se tiene un factor de ahorro de coste similar. Por otra parte, los o rdenes emp ricos responden a lo esperado, es decir, orden 1 para el par Euler/Euler mejorado 1(2) y orden 2 cuando se hace 78

10

10

Euler Trapecio Euler / Euler mejorado 1(2) Euler mejorado / Euler 2(1)

10

10

10 error

10

10

10

10

10

10

10

10

10

10

10

evaluaciones de funcin

Figura 4.1: Diagrama de eciencia para el problema (1.24)(1.25).

extrapolaci on local. A pesar de ser tan s olo de orden 1, el par Euler/Euler mejorado 1(2) es capaz de competir con la regla del trapecio, a menos que queramos errores menores que 104 . Y qu e pasa si el problema es sti? Para hacernos una idea aplicamos estos m etodos al problema (1.24), donde ahora A= 2 1 , B (x) = 2 sen x 999(cos x sen x) . (4.12)

998 999

La soluci on de este problema viene dada tambi en por (1.26). El diagrama de eciencia se representa en la gura 4.2 (no hemos utilizado el m etodo de Euler, pues ya sabemos que no funciona bien para estos problemas). Como vemos, para que los dos pares encajados que hemos considerado funcionen bien hace falta que trabajen bastante, pues deben tomar h peque no para que h est e en el dominio de estabilidad lineal. As que, a menos que estemos dispuestos a trabajar mucho, la regla del trapecio es superior al m etodo 79

10

10

Trapecio Euler / Euler mejorado 1(2) Euler mejorado / Euler 2(1)

10

10

10 error

10

10

10

10

10

10

10

10

10

10

10

10

evaluaciones de funcin

Figura 4.2: Diagrama de eciencia para el problema (1.24)(4.12).

con extrapolaci on. Problemas 1. Queremos resolver el problema de valor inicial (1.2) en el intervalo [0, 1] con funci on del lado derecho x2 + cos y 1 )T , f (x, y ) = (x + sen y , 2
2

y dato inicial = (0, 0)T . Suponiendo que el ordenador tiene precisi on innita, qu e tolerancia debemos tomar para el error local por paso para garantizar que el m aximo error cometido sea 105 ? 2. Consideramos la ecuaci on diferencial y (x) = 3(y (x) sen x) + cos x, 0 e y (0) = . 80 x [0, 2 ].

(a) Determinar las soluciones correspondientes a datos iniciales y (0) =

(b) Supongamos que calculamos num ericamente la soluci on correspondiente al dato inicial y (0) = 0 con un m etodo que selecciona autom aticamente el paso, imponiendo una tolerancia para el error local por paso de 1010 . Debido a la precisi on nita del ordenador se comete un error en el dato inicial de 1012 . De cu antas cifras decimales de la soluci on nos podemos ar? 3. Consideramos un problema de valor inicial en el que la funci on f del lado derecho satisface la condici on de Lipschitz unilateral < f (x, y ) f (x, y ), y y > l y y con constante l < 0. Demostrar que y (x n ) y n
2 2 2

el(ba) y (x0 ) y0

+ (b a),

n = 1, . . . , N,

siendo una cota para la norma eucl dea del error local por unidad de paso. 4. Calcular el t ermino principal del desarrollo del error local para el m etodo de Euler modicado. Cu antas evaluaciones de funci on extra tendremos que hacer para estimar el error local calculando directamente esta cantidad? 5. Construir todos los pares encajados 1(2) con dos etapas. 6. Hallar alg un par encajado de tipo 1(2) con tres etapas satisfaciendo a3i = bi (propiedad FSAL) y b3 = 0. 7. Hallar todos los pares encajados 2(3) de la forma 0 1 1/2 1 a31 b1 b1 81 a32 b2 b2 0 b3

4.3.

A-estabilidad de m etodos de Runge-Kutta

m etodo de Runge-Kutta (4.1) con paso jo h al problema escalar y = y, x 0, y (0) = 1.

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

Para ello conviene reescribir (4.1) en la forma alternativa s aij f (xn + cj h, Yj ), Y = y + h i n


j =1

Obtenemos que

yn+1 = yn + h

bi f (xn + ci h, Yi ).

i=1

Yi = yn + h

aij Yj ,
j =1 s

Sean Y, e Rs dados por

yn+1 = yn + h

(4.14) bi Yi .

i=1

Y = (Y 1 , . . . , Y s ) T ,

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

Entonces podemos escribir (4.14) en la forma Y = e yn + hAY, yn+1 = yn + hbT Y. 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 , 82 n = 0, 1, . . . ,

donde R(z ) = 1 + zbT (I zA)1 e, bi en funci on de amplicaci on. Obs ervese que yn = (R(h))n , as que de la denici on del dominio de estabilidad lineal D se sigue inmediatamente que D = { z C : |R ( z ) | < 1} . Por tanto un m etodo ser a A-estable si y s olo si |R(z )| < 1 en C . Notaci on. P es el conjunto de todos los polinomios de grado menor o igual q P . que . P/ es el conjunto de todas las funciones racionales p /q , con p P y Un sencillo an alisis permite probar el siguiente lema. Lema 4.5. Para todo m etodo de Runge-Kutta existe R Ps/s tal que la soluci on por dicho m etodo del problema (4.13) viene dada por yn = (R(h))n . Es m as, si el m etodo de Runge-Kutta es expl cito, entonces R Ps . Prueba. Tenemos que probar que la funci on R dada por (4.15) pertenece a Ps/s . Usamos que (I zA)1 = (adj (I zA))T . det(I zA) z C. (4.15)

La funci on R(z ) recibe el nombre de funci on de estabilidad del m etodo, o tam-

adj (I zA) es el determinante de una submatriz (s 1) (s 1), est a en Ps1 . As pues, bT (adj (I zA))T e Ps1 .

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

Como det(I zA) Ps , concluimos que R Ps/s . 83

Si el m etodo es expl 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 4.6. Ning un m etodo de Runge-Kutta expl cito puede ser A-estable. Prueba. La funci on de estabilidad de un m etodo de Runge-Kutta expl cito es un polinomio. Adem as R(0) = 1. Por otra parte, ning un polinomio, salvo la funci on constante R(z ) = c, |c| < 1, est a estrictamente acotado por uno en C . Si un m etodo de Runge-Kutta es de orden p, podemos decir a un m as sobre la funci on de amplicaci on. Teorema 4.7. Si un m etodo de Runge-Kutta tiene orden de consistencia p, entonces R (z ) = 1 + z + zp z2 + + + O(z p+1 ). 2! p!

Prueba. La soluci on exacta del (4.13) es y (x) = ex . Por ser el m etodo consistente de orden p tenemos que y (h) y1 = O(hp+1 ), as que y1 = ez + O(hp+1 ) = 1 + z + z2 zp + + + O(z p+1 ), 2! p!

donde z = h. Usando que y1 = R(z )y0 concluimos inmediatamente el resultado. Como consecuencia tenemos que todos los m etodos de Runge-Kutta expl citos con p = s tienen como funci on de estabilidad R (z ) = 1 + z + zs z2 + + . 2! s!

En la gura 4.3 mostramos los correspondientes dominios de estabilidad lineal. 84


s=4

s=3 s=2

s=1

-1

Figura 4.3: Dominio de estabilidad lineal de los m etodos de Runge-Kutta expl citos de orden p = s.

Qu e podemos decir de los m etodos impl citos? Veamos con un ejemplo que pueden ser A-estables. Ejemplo. Sea el m etodo de dos etapas y orden 3 dado por el tablero 0
2 3 1 4 1 4 1 4

1 4
5 12 3 . 4

Su funci on de amplicaci on es
1 1+ 3 z R (z ) = 1 2. 2 z+6 z 1 3

equivalente a

ei , con > 0, | | < /2, y nos preguntamos si |R(ei )| < 1. Esto es 1 1 + ei 3


2

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

2 1 < 1 ei + 2 e2i , 3 6 85

y por tanto a 2 1 4 1 + cos + 2 < 1 cos + 2 3 9 3 1 4 cos 2 + 3 9 1 2 3 cos + 4 . 9 36

Reordenando t erminos, la condici on ei D pasa a ser 1 1 1 2 1 2 1 + 2 cos < 2 (1 + cos 2) + 4 = 2 cos2 + 4 , 9 3 36 3 36 que se satisface para todos los z C , puesto que cos < 0 para todo z de El ejemplo anterior explica por qu e son interesantes los m etodos impl citos. Son m as caros, pero, adem as de permitir romper las barreras de Butcher, algunos de ellos tienen regiones de estabilidad grandes, y pueden ser convenientes a la hora de tratar problemas sti. Sin embargo, no todos los m etodos impl citos son A-estables. Ejemplo. Sea el m etodo de dos etapas y orden 1 denido por el tablero 0
2 3

este tipo. El m etodo es por tanto A-estable.

0
1 3 3 4

0
1 3 1 . 4

Su funci on de amplicaci on es R (z ) =
1 2 2 z+6 z 1+ 3 . 1 1 3z

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


|z |

funci on racional dada tiene su origen en un m etodo A-estable (una R(z ) tal se es el contenido del siguiente lema, cuya prueba es una dice A-aceptable). Ese aplicaci on del principio del m aximo. 86

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

para todo z C si y s olo si todos los polos de R tienen parte real positiva y |R(it)| 1 para todo t R. Prueba. Si |R(z )| < 1 para todo z C , por continuidad |R(z )| 1 para

Lema 4.8. Sea R(z ) una funci on racional no constante. Entonces |R(z )| < 1

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 est an a la derecha del

eje imaginario, entonces la funci on racional R es anal tica en el cerrado C . y alcanza su m aximo en la frontera. Parte de la frontera est a en el innito. Sin embargo, por ser R una funci on racional existe el l mite (nito o innito) l m|z| |R(z )|, y es igual a l mt |R(it)|. Por tanto, si |R(it)| 1, t R, entonces |R(z )| < 1 para todo z C .

Por tanto, al no ser R constante, |R| no puede tener un m aximo en el interior,

Ejemplo. Consideramos el m etodo de Gauss-Legendre de dos etapas (orden 4),


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 c alculo muestra que R (z ) =


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

Los polos de esta funci on, 3 i 3, est an en el semiplano abierto derecho, y |R(it)| = 1, t R, por lo que el m etodo es A-estable. Problemas 1. Hallar la funci on de amplicaci on del m etodo de Euler mejorado. 2. Determinar si son A-estables los m etodos de Runge-Kutta cuyas funciones de amplicaci on vienen dadas por: 1 + 23z + (i) R(z ) = 1 z 3
z2 6

(ii) R(z ) =

1+ 1

z 2 z 2

+ +

z2 12 z2 12

87

3. Consid erese el problema y = 10 10 9 11 y.

Calcular aproximadamente (con un error menor que el 1 %) el supremo de los h que pueden emplearse para que con cualquier condici on inicial m etodo de Runge-Kutta cl asico de cuatro etapas y orden cuatro. 4. Estudiar si es Aestable el m etodo de tablero 0 1 0 1/2 1/2 0 1/2 1/2
n

l m yn = 0, donde yn es la soluci on num erica obtenida al aplicar el

y hallar la funci on de incremento correspondiente, f (xn , yn ; h), comprobando que satisface una condici on de Lipschitz con respecto a su segunda variable para h peque no. 5. Consideramos el m etodo de Runge-Kutta de tablero 0 1/2 1/3 1/2 0 1/3 (i) Comprobar que no es de orden 3. (ii) Sabiendo que la funci on de amplicaci on es R(z ) = 1 + z + z 2 /2 + z 3 /6, demostrar que cuando aplicamos el m etodo al problema lineal escalar y = y , y (0) = 1, se tiene convergencia de orden 3. 6. Supongamos que un m etodo de Runge-Kutta tiene funci on de amplicaci on R(z ) = superior a 1.
z 1+ 2 +z 2 3 . 1 z 3

1/3 1/3 1.

Probar que su orden de consistencia no puede ser

7. Comprobar que el m etodo de tablero 88

0 1/2 1/3 1/2 0 1/3

1/3 1/3 1 no es de orden 3 y sin embargo R(z ) = 1 + z + z 2 /2 + z 3 /6. 8. Consideramos el m etodo Runge-Kutta semi-impl cito k1 = f xn + h, yn + h k1 , k2 = f (xn + (1 + ) h, yn + h k1 + h k2 , 1 1 + k1 + k2 . yn+1 = yn + h 2 2 (a) Determinar su orden de consistencia, comprobando que es independiente de . (b) Determinar los valores de para los cuales es A-estable. 9. Probar que el m etodo de tablero 0 1/2 3/4 1/2 0 3/4

2/9 1/3 4/9 es de orden 3. Comprobar que la regi on de estabilidad del m etodo tiene intersecci on no vac a con el eje imaginario Re z = 0. 10. Dado el m etodo de tablero 1 1/2 1/2 3/2

11. Comprobar que el siguiente m etodo impl cito es de orden (al menos) 3 (3 + 3)/6 (3 + 3)/6 0 (3 3)/6 3/3 (3 + 3)/6

0 1 estudiar su Aestabilidad y tratar de dibujar el dominio correspondiente.

1 1/2

1/2 1/2. Determinar si es Aestable. Indicaci on. Para simplicar un poco las operaciones conviene escribir = (3 + 3)/6 y emplear en los c alculos

nales que 2 = 1/6. 89

También podría gustarte