Está en la página 1de 84

Captulo 1

El problema de valor inicial

1.1.

El problema de valor inicial

Al modelizar problemas de la ciencia, la ingeniera y la economa aparecen


con frecuencia ecuaciones diferenciales ordinarias. Una ecuacion diferencial ordinaria (en adelante una EDO) es una relacion entre una funcion de una variable y sus derivadas. Nosotros nos centraremos en ecuaciones de primer orden
(la derivada de mayor orden que aparece es la de orden uno) escritas en la
forma estandar
y 0 (x) = f (x, y(x)),

a x b,

(1.1)

donde f : [a, b] Rd 7 Rd es continua. Una solucion de (1.1) en [a, b] es una


funcion y : [a, b] 7 Rd , y C 1 ([a, b]) que satisface (1.1). En el caso vectorial,
d > 1, que se puede interpretar como un sistema de ecuaciones escalares, y y

f tienen d componentes cada una,


y = (y 1 , y 2 , . . . , y d )T ,

f = (f 1 , f 2 , . . . , f d )T .

Un sistema de ecuaciones diferenciales ordinarias en general no define por


1

s solo una solucion u


nica, y se hace necesario a
nadir a la formulacion del

problema un cierto n
umero de condiciones adicionales. Estas
son o bien condiciones de frontera, si la informacion adicional se da en dos o mas valores de
x, o condiciones iniciales, si se especifican todas las condiciones de y en un
u
nico valor de x. En este captulo nos centraremos en el caso en que se dan
condiciones iniciales, y dejaremos el caso en que se dan condiciones de frontera para mas adelante. As pues, dado = ( 1 , 2 , . . . , d )T Rd , buscamos

una solucion del problema de valor inicial (PVI) en [a, b], esto es, una funcion
y C 1 ([a, b]) que satisfaga
y 0 (x) = f (x, y(x))

para a x b,

y(a) = .

(1.2)

Como se puede ver en el siguiente ejemplo, algunos problemas de valor


inicial tienen mas de una solucion.
Ejemplo. Consideramos la ecuacion diferencial y 0 = |y| sujeta a la condicion
inicial y(0) = 0, siendo un n
umero real fijo, (0, 1). Es facil comprobar
que para cualquier n
umero real no negativo c,
(
0,
yc (x) =
(1 )1/(1) (x c)1/(1) ,

0 x c,
x c,

es una solucion del problema de valor inicial en el intervalo [0, ). As pues,

si bien el problema tiene solucion, esta no es u


nica. Sin embargo, en contraste

con el caso (0, 1), si 1 el problema de valor inicial tiene una u


nica
solucion, y(x) 0.

Este ejemplo muestra que hay que pedir a la funcion f algo mas que continuidad para asegurar que la solucion del problema (1.2) sea u
nica. Nosotros
pediremos una condicion de crecimiento con respecto al segundo argumento de
la funcion.
Definici
on 1.1. La funcion f : D R Rd 7 Rd satisface una condicion de

Lipschitz en D con respecto a su segunda variable si existe una constante L,


2

conocida como constante de Lipschitz, tal que


kf (x, y) f (x, y)k Lky yk

(x, y), (x, y) D.

Observacion. Dado que en un espacio vectorial de dimension finita todas las


normas son equivalentes, la propiedad de ser Lipschitz no depende de que norma tomemos.
Si f , ademas de ser continua en D, satisface una condicion de Lipschitz con
respecto a su segunda variable, la solucion, de existir, sera u
nica. Esto es una
consecuencia inmediata del siguiente lema.
Lema 1.2. Sea D = [a, b] Rd y sea f continua en D y Lipschitz con respecto

a su segunda variable en D. Sean y, y dos soluciones de la ecuacion (1.1) en


[a, b]. Entonces, para todo a x b,
ky(x) y(x)k ky(a) y(a)k exp(L(x a)).

(1.3)

Prueba. Tenemos que


y(x) = y(a) +
y(x) = y(a) +

Rx

f (s, y(s)) ds,

Rax

f (s, y(s)) ds.

Restando y tomando normas, y usando que f es Lipschitz en su segunda variable se tiene que
ky(x) y(x)k ky(a) y(a)k +
Si definimos

Rx

kf (s, y(s)) f (s, y(s))k ds


Rx
ky(a) y(a)k + L a ky(s) y(s)k ds.
a

g(x) = ky(a) y(a)k + L

(1.4)

x
a

ky(s) y(s)k ds,

tenemos por un lado que


ky(x) y(x)k g(x),
3

(1.5)

y por otro que,


g 0 (x) = Lky(x) y(x)k Lg(x).
Multiplicando esta desigualdad por el factor integrante exp(L(xa)) se tiene
que
d
(g(x) exp(L(x a))) 0,
dx
de donde g(x) g(a) exp(L(x a)). Esto combinado con (1.5) produce el
resultado.

Observacion. El paso de la estimacion integral (1.4) a la estimacion puntual


(1.3) es lo que se conoce en la literatura como Lema de Gronwall.
La desigualdad (1.3) no solo prueba la unicidad de la solucion del problema
de valor inicial (1.2); tambien muestra que las soluciones de dicho problema
dependen de manera continua del dato inicial.
La cota (1.3) es optima en algunos casos, por ejemplo para la ecuacion
escalar lineal y 0 = y, > 0. Sin embargo, puede ser demasiado pesimista
para otros.
Ejemplo. Consideramos la ecuacion y 0 = y, que tiene constante de Lipschitz
L = . La diferencia entre dos soluciones de este problema decae exponencialmente con el tiempo; de hecho se tiene la igualdad
y(x) y(x) = (y(a) y(a))e(xa) .
La condicion de Lipschitz junto con la continuidad resultan ser tambien
suficientes para demostrar la existencia de una solucion.
Teorema 1.3 (Picard). Sea D = [a, b]Rd . Si f es continua en D y Lipschitz
con respecto a su segunda variable en D, entonces existe una u
nica solucion
del problema (1.2) en [a, b].
Prueba. Solo falta por probar la existencia. La clave es darse cuenta de que el
4

problema (1.2) es equivalente a encontrar una funcion y C([a, b]) tal que
Z x
f (s, y(s)) ds.
(1.6)
y(x) = +
a

Las soluciones de esta ecuacion integral son puntos fijos del operador integral
T : C([a, b]) 7 C([a, b]) definido por
(T y)(x) = +

f (s, y(s)) ds.


a

La idea para hallar un punto fijo para este operador es la misma que se utiliza para hallar puntos fijos de aplicaciones en espacios de dimension finita:
la iteracion. Definimos una sucesion de funciones {yn }
n=0 por medio de la
recurrencia

y0 (x) = ,

yn (x) = +

f (s, yn1 (s)) ds,

n = 1, 2, . . . .

(1.7)

Si la sucesion {yn } converge uniformemente a una funcion y, por un lado esta

sera continua, y por otro, podemos tomar lmites en la relacion de recurrencia


para obtener que y es solucion de (1.6).
Dado que
yn (x) = y0 (x) +

n
X
k=1

(yk (x) yk1 (x)),

la convergencia uniforme de la sucesion {yn } se seguira inmediatamente del

test M de Weierstrass si encontramos una sucesion numerica {ak } tal que

P
kyk (x) yk1 (x)k ak y
ak < .
k=1

La acotacion

kyk (x) yk1 (x)k

K (L(x a))k
,
L
k!

donde L es la constante de Lipschitz de f respecto de la segunda variable,


nos dice que podemos tomar ak =

K (L(ba))k
.
L
k!

Esta acotacion se prueba por

induccion: es cierta para k = 1, pues


Z x
kf (s, )k ds K (x a),
ky1 (x) y0 (x)k
a

y, si es cierta para k 1, entonces


Rx
kyk (x) yk1 (x)k a kf (s, yk1 (s)) f (s, yk2 (s))k ds
Rx
L a kyk1 (s) yk2 (s)k ds
L

es decir, es cierta para k.

R x K (L(s a))k1
K (L(x a))k
ds
=
,
a
L
(k 1)!
L
k!

En resumen, la continuidad de f junto con la condicion de Lipschitz respecto de la segunda variable garantizan que el problema (1.2) esta bien planteado: (i) tiene solucion; (ii) es u
nica y (iii) depende de manera continua de
los datos iniciales. En lo sucesivo supondremos siempre que dicha condiciones
se cumplen. En ocasiones necesitaremos que la solucion sea mas regular. Para conseguirlo bastara con imponer mayor regularidad a la f . En efecto, es
facil ver que si, ademas de ser Lipschitz con respecto a su segunda variable,
f C p ([a, b] Rd ), entonces y C p+1 ([a, b]).
La condicion de Lipschitz se puede relajar, pidiendo tan solo que f sea
Lipschitz en D = [a, b] , con Rd . No obstante, en este caso solo
se tiene garantizado un resultado de existencia local, en alg
un intervalo [a, b],
con a < b b.
Ejemplo. Consideramos el problema
y0 = y2,

y(0) = 1.

La funcion f (x, y) = y 2 satisface una condicion de Lipschitz en [0, b] [K, K]

para cualesquiera b, K > 0. Sin embargo, la u


nica solucion del problema,
y(x) =

1
,
1x

no tiene validez mas alla de [0, 1].


Como se puede ver en cualquier texto avanzado de EDOs, la solucion se
puede prolongar mientras no se salga del dominio donde f satisface la condicion
6

de Lipschitz. La dificultad en este caso reside en que y cuando x 1 .


Notese que f no es Lipschitz en [0, b] R.

Problemas
1. Escribir la ecuacion lineal y n) + an1 y n1) + + a1 y 0 + a0 y = 0 en la
forma Y 0 = AY con Y = (y, y 0 , . . . , y n1) ) y A una matriz n n.

2. Comprobar que las siguientes funciones satisfacen una condicion de Lipschitz sobre los respectivos intervalos y hallar las constantes de Lipschitz
asociadas:
a) f (x, y) = 2yx4 ,
b) f (x, y) = e

x2

x [1, );

arctan y,

x [1, );

c) f (x, y) = 2y(1 + y 2 )1 (1 + e|x| ),

x (, ).

3. Encontrar, usando las normas k k1 , k k2 y k k , una constante de


Lipschitz con respecto a y = (y 1 , y 2 )T para la funcion f : R R2 7 R2

dada por

x2
f (x, y) = (x + sen y ,
+ cos y 1 )T .
2
4. Consideramos el problema de valor inicial
2

y 0 (x) = Ay(x)
donde
A=

para 0 x 2,

100
0

1
1
10

y(0) = ,

(1.8)

Encontrar una constante de Lipschitz para la funcion del lado derecho


usando las normas k k1 , k k2 y k k .

5. La funcion f satisface una condicion de Lipschitz unilateral en D =


[a, b] Rd con constante de Lipschitz unilateral l si
< f (x, y) f (x, y), y y > lky yk22

(x, y), (x, y) D.

(a) Si l < 0 se dice que el PVI es disipativo. Demostrar que el PVI del
ejercicio anterior es disipativo.
7

(b) Demostrar que si f satisface una condicion de Lipschitz unilateral


con constante l y las funciones y e y son soluciones de y 0 (x) =
f (x, y(x)) en [a, b], entonces
ky(x) y(x)k2 exp(l(x a))ky(a) y(a)k2

1.2.

si a x b.

M
etodos num
ericos

Aunque el problema (1.2) tenga solucion, en la mayor parte de los casos no


es posible encontrar una forma cerrada para la misma por metodos analticos.
Ejemplo. Consideramos el PVI
y 0 (x) = ey

2 (x)

1
,
1 + x2

y(0) = 0.

Usando el teorema del valor medio se tiene que


2

|f (x, y) f (x, y)| = |ey ey | = | 2e ||y y| L|y y|,


pero no sabemos encontrar una formula para la solucion.
En casos como este habra que contentarse con obtener una aproximacion
numerica de la solucion. La prueba del teorema de Picard sugiere una manera
de construir una. En efecto, las funciones yn obtenidas mediante la relacion de
recurrencia (1.7) aproximan a la solucion.
Ejemplo. Si aplicamos el metodo de Picard al problema lineal escalar
y 0 = y,
obtenemos la recurrencia
y0 (x) = 1,

yn (x) = 1 +

y(0) = 1,
Z

yn1 (s) ds,


0

cuya solucion es
yn (x) =

n
X
xk
k=0

k!

n = 1, 2, . . . ,

es decir, los polinomios de Taylor de la exponencial en x = 0.


Pero, cuidado!, este ejemplo es muy especial. En general sera difcil, o
incluso imposible, evaluar las integrales involucradas en forma cerrada. As que
buscamos una idea distinta, la discretizacion.
Sustituimos el intervalo continuo [a, b] por el conjunto discreto de puntos
{xn }N
n=0 definido por
xn = a + nh,

n = 0, 1, 2, . . . , N,

h = (b a)/N,

al que llamaremos malla. El parametro h es la longitud del paso. Para facilitar la


exposicion, lo consideraremos constante, aunque conviene mencionar que gran
parte de la potencia de los algoritmos modernos proviene de su capacidad para
cambiar h automaticamente a medida que se realizan los calculos.
Nuestro objetivo es encontrar una forma de producir una sucesion de valores
on y de (1.2) en los puntos {xn }N
{yn }N
n=0 ,
n=0 que aproxime a la soluci
yn y(xn ).
Los valores yn se pueden interpolar para obtener una aproximacion de y(x) en
puntos x que no pertenezcan a la malla.
Un metodo numerico para la integracion1 de (1.2) sera un procedimiento
para producir la sucesion de valores aproximados {yn }.
Problemas
1. Utilizar los iterantes de Picard para construir una aproximacion numerica
de la solucion del problema de valor inicial
y 00 + y = 0,

0 x 2,

y(0) = 0, y 0 (0) = 1.

2. Si f C p ([a, b] Rd ), podemos encontrar una solucion aproximada utilizando la formula de Taylor de orden p alrededor de x = a, y(x)

Historicamente se ha reservado el termino integraci


on para la resolucion numerica de

EDOs, empleandose el termino cuadratura para la aproximacion numerica de integrales.

p
P

j=0

y (j) (a)(x a)j . Los valores de las derivadas y (j) (a) se pueden calcu-

lar derivando la EDO y usando la condicion inicial. Utilizar este procedimiento para aproximar la solucion del problema
y 0 (x) = y 2 (x), 0 x 1,

y(0) = 1,

y estimar el error cometido.

1.3.

Primeros ejemplos

Nuestro primer objetivo es ver, a traves de algunos ejemplos significativos,


formas razonables de construir metodos numericos. Estos ejemplos nos serviran
tambien para ir introduciendo algunas ideas basicas. A lo largo de la seccion
supondremos que f es tan regular como sea necesario para justificar los calculos
que se hagan.
Metodo de Euler. Nuestro primer metodo, padre de alguna manera de todos

los demas que vamos a estudiar, es el metodo de Euler,


yn+1 = yn + hf (xn , yn ),

n = 0, . . . , N 1.

(1.9)

Vamos a llegar a el desde tres puntos de vista diferentes.


Serie de Taylor. Desarrollamos la solucion alrededor de xn y usamos la
ecuacion diferencial para obtener
h2 00
y ( n )
2
h2 00
= y(xn ) + hf (xn , y(xn )) +
y ( n ).
2

y(xn+1 ) = y(xn ) + hy 0 (xn ) +

(1.10)

La notacion n indica que el punto intermedio n [xn , xn+1 ] puede


variar de componente a componente.

As pues, la solucion teorica resuelve la recurrencia


y(xn+1 ) = y(xn ) + hf (xn , y(xn )) + Rn ,
10

n = 0, . . . , N 1,

(1.11)

con Rn =

h2
2

ltima cantidad es desconocida, lo que impide


y 00 ( n ). Esta u

resolver la recurrencia. No obstante, sabemos que Rn es peque


na si h es
peque
na. Si la recurrencia (1.9) es estable ante peque
nas perturbaciones,
esperamos que {y(xn )} se parezca a la solucion {yn } de la recurrencia
sin perturbar(1.9). La cantidad Rn , que es lo que le sobra a la solucion

teorica para ser solucion de la ecuacion del metodo numerico, recibe el


nombre de residuo.
Geometricamente (en el caso d = 1), al despreciar el residuo lo que
estamos haciendo es aproximar a la solucion por su tangente.
Cuadratura numerica. Integramos la EDO en (xn , xn+1 ), y obtenemos
Z xn+1
f (x, y(x)) dx.
(1.12)
y(xn+1 ) = y(xn ) +
xn

Para calcular la integral utilizamos la formula de cuadratura numerica


Z

c+h
c

g hg(c),

llamado regla rectangular izquierda, y llegamos de nuevo a (1.11).


Diferenciacion numerica. De la definicion de derivada,
y(xn+1 ) y(xn )
y 0 (xn ) = f (xn , y(xn )),
h
de donde, despejando, obtenemos una vez mas (1.11).
Para generar una solucion numerica de (1.2) usando (1.9) necesitamos un
valor de arranque y0 . Uno deseara tomar y0 = y(x0 ), pero en general esto
no es posible, debido a la precision finita del ordenador. As pues, habra que
contentarse con tomar una aproximacion y0 y(x0 ).
Metodo de Taylor de orden 2. Se pueden obtener metodos mas precisos,

tomando mas terminos en la formula de Taylor. Esto da lugar a los llamados


metodos de Taylor. Como ejemplo construimos el metodo de Taylor de orden 2,
en el caso d = 1.
11

El desarrollo de Taylor produce


y(xn+1 ) = y(xn ) + hy 0 (xn ) +

h2 00
h3
y (xn ) + y 000 (n ).
2
3!

Para calcular y 0 (xn ) e y 00 (xn ) usamos la ecuacion diferencial,


y 0 (x) = f (x, y(x)),
y 00 (x) = fx (x, y(x)) + fy (x, y(x))y 0 (x) = fx (x, y(x)) + fy (x, y(x))f (x, y(x)).
Si despreciamos el residuo, Rn =
yn+1 = yn + hf (xn , yn ) +

h3 000
y (n ),
3!

obtenemos el metodo

h2
(fx (xn , yn ) + fy (xn , yn )f (xn , yn )).
2

Puesto que en este caso el residuo es mas peque


no que para el metodo de Euler
(si h es peque
no), esperamos que la aproximacion sea mejor. A cambio hay que
hacer tres evaluaciones de funcion por paso, mientras que con el metodo de
Euler solo hay que hacer una.
Por el mismo procedimiento podemos generar metodos de Taylor del orden
que queramos. El inconveniente es que involucran cada vez mas derivadas, que
hay que calcular y evaluar.
Regla del trapecio. Si calculamos la integral de (1.12) por medio de la regla

del trapecio (que es mas precisa que la regla rectangular izquierda), se tiene
que
f (xn , y(xn )) + f (xn+1 , y(xn+1 ))
+ Rn .
2
Despreciando el residuo Rn , se llega a la llamada regla del trapecio,
y(xn+1 ) y(xn ) =

yn+1 = yn +

h
f (xn , yn ) + f (xn+1 , yn+1 ) .
2

(1.13)

El metodo de Euler es explcito; el valor yn+1 viene dado explcitamente


en terminos del valor anterior yn y se puede calcular facilmente mediante una
evaluacion de f y unas pocas operaciones aritmeticas. Por el contrario, la
regla del trapecio es un metodo implcito; para calcular yn+1 hay que resolver
12

un sistema de ecuaciones no lineales, lo que en general es computacionalmente


costoso. La primera posibilidad para resolver el sistema es iterar la funcion
h
G(y) = yn + (f (xn , yn ) + f (xn+1 , y))
2
para obtener un punto fijo. La funcion de iteracion satisface
kG(y) G(
y )k =

Lh
h
kf (xn+1 , y) f (xn+1 , y)k
ky yk.
2
2

Para que la iteracion converja se necesita que Lh/2 < 1. Si L 1, esto


obliga a dar pasos de longitud h muy peque
na. Para evitarlo lo que se hace es

determinar yn+1 como un cero de la funcion


h
F (y) = y {yn + (f (xn , yn ) + f (xn+1 , y))}
2
mediante el metodo de Newton.
Euler mejorado. Para evitar el coste computacional derivado del caracter

implcito de la regla del trapecio, podemos sustituir el valor yn+1 en el lado


derecho de (1.13) por una aproximacion de ese valor dada por el metodo de
Euler,

yn+1
= yn + hf (xn , yn ),

de manera que
yn+1 = yn +

f (xn , yn ) + f (xn+1 , yn+1


) .
2

El metodo resultante, que es explcito, se conoce como metodo de Euler mejorado. Requiere dos evaluaciones de funcion por paso, lo que queda a
un mas
claro si lo escribimos de la siguiente forma:
k1 = f (xn , yn ),

k2 = f (xn + h, yn + hk1 ),

yn+1 = yn + h

k1 k2
+
2
2

Euler modificado. Si calculamos la integral de (1.12) por medio de la regla


del punto medio, se tiene que

y(xn+1 ) y(xn ) hf

h
h
xn + , y xn +
.
2
2

13

Como no conocemos el valor y(xn + h2 ), lo aproximamos por el metodo de Euler.


Llegamos finalmente a
y(xn+1 ) y(xn ) + hf

h
h
xn + , y(xn ) + f (xn , y(xn )) .
2
2

El metodo de Euler modificado se obtiene imponiendo que esta relacion se


satisfaga de forma exacta,
yn+1 = yn + hf

h
h
xn + , yn + f (xn , yn ) .
2
2

Este metodo se suele escribir bajo la forma alternativa

h
k1
k1 = f (xn , yn ),
k 2 = f xn + , y n + h
,
2
2

yn+1 = yn + hk2 .

Metodo leap-frog (regla del punto medio). Si integramos la EDO en (xn , xn+2 )
y usamos la regla del punto medio, se tiene que
Z xn+2
f (x, y(x)) dx 2hf (xn+1 , y(xn+1 )),
y(xn+2 ) y(xn ) =
xn

lo que da lugar al metodo leap-frog, tambien conocido como regla del punto
medio,
yn+2 = yn + 2hf (xn+1 , yn+1 ),

(1.14)

Como vemos, para calcular yn+2 se utilizan dos valores anteriores, yn e yn+1 ,
y no uno solo, como en los metodos vistos hasta ahora. Diremos que es un
metodo de dos pasos. Necesitaremos por tanto dos valores de arranque, y 0 e
y1 . Para y0 tomamos un valor proximo al dato inicial, y0 y(0). El valor de
y1 se tendra que obtener por otro procedimiento, por ejemplo por el metodo

de Euler.
Tambien se puede llegar al metodo leap-frog a traves de la diferenciacion
numerica. En efecto, si en lugar de usar la formula de orden uno
y 0 (x)

y(x + h) y(x)
,
h
14

como hicimos para obtener el metodo de Euler, usamos la formula de diferencias centradas
y 0 (x)

y(x + h) y(x h)
,
2h

que es una aproximacion de orden 2, se tiene que


f (xn+1 , y(xn+1 )) = y 0 (xn+1 )

y(xn+2 ) y(xn )
,
2h

lo que da lugar al metodo (1.14).


Regla de Simpson. Si integramos la EDO en (xn , xn+2 ) y usamos la regla de
Simpson obtenemos que
y(xn+2 ) y(xn )

h
(f (xn , y(xn )) + 4f (xn+1 , y(xn+1 )) + f (xn+2 , y(xn+2 ))).
3

Esta aproximacion conduce al metodo numerico,


yn+2 yn =

h
(f (xn , yn ) + 4f (xn+1 , yn+1 ) + f (xn+2 , yn+2 )),
3

conocido como regla de Simpson, que tambien es un metodo de dos pasos.


Metodo de colocacion de parametro c1 = 1/2. Buscamos un polinomio u de

grado 1 tal que

u(xn ) = yn ,

u0 (xn + c1 h) = f (xn + c1 h, u(xn + c1 h));

es decir, pedimos que u tome un cierto dato inicial y que sea solucion de la
EDO en el punto de colocacion x = xn + c1 h. Puesto que u0 es constante,
tenemos que u0 (x) = k1 f (xn + c1 h, u(xn + c1 h)), que integrado en (xn , x)

produce

u(x) = yn + k1 (x xn ).
Si definimos yn+1 = u(xn+1 ), se tiene que yn+1 = yn + hk1 , siendo k1 solucion
de
k1 = f

h
k1
xn + , y n + h
2
2
15

Adams-Bashforth de dos pasos. Si integramos la EDO en (xn+1 , xn+2 ), se

tiene que

y(xn+2 ) y(xn+1 ) =

xn+2

f (x, y(x)) dx.

(1.15)

xn+1

Aproximamos la integral sustituyendo el integrando por el polinomio de grado


menor o igual que uno que interpola a f (x, y(x)) en los nodos xn y xn+1 ,
f (x, y(x)) f (xn , y(xn ))

x xn+1
x xn
+ f (xn+1 , y(xn+1 ))
,
xn xn+1
xn+1 xn

de forma que
y(xn+2 ) y(xn+1 )

h
(3f (xn+1 , y(xn+1 )) f (xn , y(xn ))).
2

Llegamos al metodo
yn+2 yn+1 =

h
(3f (xn+1 , yn+1 ) f (xn , yn )),
2

conocido como metodo de Adams-Bashforth de dos pasos.


Adams-Moulton de dos pasos. Si sustituimos el integrando en (1.15) por el

polinomio de grado menor o igual que dos que interpola a f (x, y(x)) en los
nodos xn , xn+1 y xn+2 ,
(x xn+1 )(x xn+2 )
(xn xn+1 )(xn xn+2 )
(x xn )(x xn+2 )
+f (xn+1 , y(xn+1 ))
(xn+1 xn )(xn+1 xn+2 )
(x xn )(x xn+1 )
,
+f (xn+2 , y(xn+2 ))
(xn+2 xn )(xn+2 xn+1 )

f (x, y(x)) f (xn , y(xn ))

llegamos a
y(xn+2 ) y(xn+1 )

h
(5f (xn+2 , y(xn+2 )) + 8f (xn+1 , y(xn+1 )) f (xn , y(xn ))),
12

y finalmente al metodo
yn+2 yn+1 =

h
(5f (xn+2 , yn+2 ) + 8f (xn+1 , yn+1 ) f (xn , yn )),
12
16

(1.16)

conocido como metodo de Adams-Moulton de dos pasos.


Predictor-corrector AB2/AM2. Podemos combinar los dos metodos anteriores para obtener un nuevo metodo: en primer lugar predecimos un valor de

yn+2 mediante el metodo de Adams-Bashforth de dos pasos y a continuacion


lo corregimos usando esta cantidad para calcular el lado derecho de (1.16),

yn+2
= yn+1 + h2 (3f (xn+1 , yn+1 ) f (xn , yn )),

yn+2 = yn+1 +

(5f (xn+2 , yn+2


)
12

+ 8f (xn+1 , yn+1 ) f (xn , yn )).

El metodo resultante, explcito y de dos pasos, es un par predictor-corrector.


El metodo de Euler mejorado tambien se puede ver como un par predictorcorrector.
BDF de 2 pasos. Dadas yn e yn+1 queremos obtener yn+2 . Consideramos el

polinomio Qn,2 de grado menor o igual que 2 que interpola a yn , yn+1 e yn+2 ,
es decir
(x xn+1 )(x xn+2 )
(x xn )(x xn+2 )
+ yn+1
(xn xn+1 )(xn xn+2 )
(xn+1 xn )(xn+1 xn+2 )
(x xn )(x xn+1 )
+yn+2
.
(xn+2 xn )(xn+2 xn+1 )

Qn,2 (x) = yn

Este polinomio no se puede construir, porque desconocemos yn+2 . Se impone


ahora que Qn,2 satisfaga la ecuacion diferencial en xn+2 , esto es
Q0n,2 (xn+2 ) = f (xn+2 , Qn,2 (xn+2 )) = f (xn+2 , yn+2 ).
El metodo resultante,
4
1
2
yn+2 yn+1 + yn = hf (xn+2 , yn+2 ),
3
3
3
implcito y de dos pasos, se conoce como formula BDF de 2 pasos.
Problemas
1. Construir el metodo de Taylor de orden 3 para d = 1 y el de orden 2
para d = 2.
17

2. Comprobar que el metodo de Taylor de orden 3 aplicado al problema


y 0 = 2xy, y(0) = 1, lleva a la iteracion

h2
yn+1 = yn + h 2xn yn + yn (1 + 2x2n )h + 2xn yn (3 + 2x2n )
.
3

3. Si integramos la EDO en (xn , xn+1 ) y aplicamos la regla de Simpson,


obtenemos que
y(xn+1 )y(xn )

h
(f (xn , y(xn ))+4f (xn+ 1 , y(xn+ 1 )+f (xn+1 , y(xn+1 ))),
2
2
6

donde xn+ 1 = xn + h2 . Como no conocemos el valor de y(xn+ 1 ), aproxima2

mos esta cantidad por Euler, y(x

n+ 21

) y(xn ) +

h
f (xn , y(xn )).
2

Tampoco

conocemos el valor de y(xn+1 ). Para estimarlo podemos avanzar a partir


de xn utilizando una media ponderada de las dos pendientes calculadas hasta ahora, k1 = f (xn , y(xn )), k2 = f (xn+ 1 , y(xn ) + h2 k1 ); es decir,
2

tomamos y(xn+1 ) y(xn ) + h(k1 + k2 ). Llegamos as al metodo

k1 = f (xn , yn ),

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

k3 = f (xn + h, yn + h(k1 + k2 ))

yn+1 = yn + h6 (k1 + 4k2 + k3 ).

Determinar y para que Rn = O(h4 ). El metodo resultante se conoce


como metodo de Runge-Kutta clasico.

4. Consideramos la igualdad
y(xn+k ) y(xn+k1 ) =

xn+k

f (t, y(t)) dt.


xn+k1

Si aproximamos la integral sustituyendo el integrando por el polinomio


de grado menor o igual que k 1 que interpola a f (t, y(t)) en los nodos

xn , . . . , xn+k1 , y pedimos que la aproximacion yn satisfaga la relacion

resultante exactamente, se obtiene el metodo de Adams-Bashforth de k


pasos.
18

Si aproximamos la integral sustituyendo el integrando por el polinomio


de grado menor o igual que k que interpola a f (t, y(t)) en los nodos
xn , . . . , xn+k , y pedimos que la aproximacion yn satisfaga la relacion resultante exactamente, se obtiene el metodo de Adams-Moulton de k pasos.
Construir los metodos de Adams-Bashforth y Adams-Moulton de 1 y
3 pasos, obteniendo una expresion para el residuo a partir del error de
interpolacion.
5. Consideramos la igualdad
y(xn+k ) y(xn+k2 ) =

xn+k

f (t, y(t)) dt.


xn+k2

Si aproximamos la integral sustituyendo el integrando por el polinomio


de grado menor o igual que k 1 que interpola a f (t, y(t)) en los nodos

xn , . . . , xn+k1 , y pedimos que la aproximacion yn satisfaga la relacion

resultante exactamente, se obtiene el metodo de Nystrom de k pasos.


Obtener los metodos de Nystrom de 2 y 3 pasos.
6. Obtener una aproximacion de orden 4 de la derivada y 0 (x) a partir de los
valores y(x + 2h), y(x + h), y(x), y(x h) e y(x 2h). Utilizarla para

construir un metodo de cuatro pasos para resolver problemas de valor

inicial para EDOs. Obtener una expresion para el residuo.


7. Dadas las aproximaciones yn , . . . , yn+k1 , consideramos el polinomio Qn,k
de grado menor o igual que k que interpola a yn , . . . , yn+k . Obviamente este polinomio no se puede construir, porque desconocemos yn+k . Se
impone ahora que Qn,k satisfaga la ecuacion diferencial en xn+k , esto es
Q0n,k (xn+k ) = f (xn+k , Qn,k (xn+k )) = f (xn+k , yn+k ).
El metodo resultante se conoce como formula BDF de k pasos. Construir
las formulas BDF de 1 y 3 pasos.
8. Dados parametros, c1 , . . . , c (preferiblemente en [0, 1], aunque no es
imprescindible), buscamos un polinomio u de grado (con coeficientes
19

vectoriales) tal que


u(xn ) = yn ,

u0 (xn + cj h) = f (xn + cj h, u(xn + cj h)), j = 1, . . . , .

En otras palabras, u satisface la condicion inicial y tambien la EDO


en puntos distintos. Un metodo de colocacion consiste en calcular u y
tomar yn+1 = u(xn+1 ). Los parametros c1 , . . . , c son los parametros de
colocacion.
Obtener el metodo de colocacion que corresponde a los parametros de
colocacion c1 = 1/3, c2 = 2/3.

1.4.

Convergencia

Todos los metodos de la seccion anterior se pueden escribir en la forma


k
X

j yn+j = hf (xn , yn , . . . , yn+k1 ; h),

j=0

n = 0, . . . , N k,

(1.17)

donde f , la funcion de incremento, depende de sus argumentos a traves de la


funcion f (y a veces, como en los metodos de Taylor, tambien de sus derivadas).
Ejemplos. Para el metodo de Euler f (xn , yn ; h) = f (xn , yn ). Para la regla del
trapecio f viene definida implcitamente por
f (xn , yn ; h) =

f (xn , yn ) + f (xn + h, yn + hf (xn , yn ; h))


.
2

(1.18)

Si la funcion de incremento f se puede expresar explcitamente en terminos


de f (y tal vez de sus derivadas), el metodo es explcito. En caso contrario, el
metodo es implcito.
El metodo (1.17) se dice de k pasos, pues se necesitan k valores anteriores,
yn , . . . , yn+k1 , para calcular yn+k . Por consiguiente, es necesario disponer de
k valores de arranque, y0 , . . . , yk1 ; sin embargo, el problema de valor inicial
20

solo proporciona y0 . Si k 2 habra que obtener los k 1 valores de arran-

que restantes por alg


un otro procedimiento, como puede ser por desarrollo de
Taylor, utilizando un metodo de un solo paso, etc.

Supondremos que k = 1, eliminando as la arbitrariedad que surge del


hecho de que podemos multiplicar ambos lados de (1.17) por un mismo n
umero
distinto de cero sin cambiar el metodo. Supondremos tambien que, o bien
0 6= 0, o bien f depende de yn de forma no trivial. Excluimos as metodos
como por ejemplo

yn+2 yn+1 = hf (xn+1 , yn+1 ),


que es esencialmente de 1 paso, y no de 2, y que se puede escribir como
yn+1 yn = hf (xn , yn ).
Para todos los ejemplos de la seccion anterior f satisface las siguientes
propiedades: (i) es continua; (ii) existen constantes h0 y L tales que
kf (xn , yn , . . . , yn+k1 ; h) f (xn , yn , . . . , yn+k1 ; h)k L

k1
X
j=0

kyn+j yn+j k
(1.19)

para todo 0 < h < h0 ; y (iii) si f = 0, entonces f = 0. En lo que sigue, siempre


que consideremos un metodo de la forma (1.17) supondremos que verifica estas
tres condiciones.
Dan los metodos (1.17) una buena aproximacion a la verdadera solucion
del problema (1.2)? Una medida posible de la bondad de la aproximacion es
el mayor error cometido,
max ky(xn ) yn k.

0nN

Se hace el error cada vez mas peque


no a medida que la malla va teniendo
mas puntos? Si esto es as diremos que el metodo es convergente.
Definici
on 1.4. Un metodo (1.17) se dice convergente si para todo problema
de valor inicial (1.2) con f continua en D = [a, b] Rd y Lipschitz con respecto
21

a su segunda variable en D se tiene que


lm max ky(xn ) yn k = 0

si lm

N knN

Observacion. La condicion lm

max ky(xn ) yn k = 0.

N 0nk1

max ky(xn ) yn k = 0 sobre los valores

N 0nk1

de arranque es equivalente a pedir que lm+ yn = y(x0 ) para n = 0, . . . , k 1.


h0

Estamos pidiendo que los valores de arranque, {yn }k1


n=0 , aproximen bien al dato
inicial y(x0 ); si esto no es as no hay por que esperar que la solucion numerica
se parezca a la teorica.
Problemas
1. Para cada uno de los metodos de la seccion 1.3, demostrar que si f es
continua en D y Lipschitz con respecto a su segunda variable en D,
entonces la correspondiente funcion de incremento satisface la condicion
de Lipschitz (1.19). En el caso del metodo de Taylor de orden 2 se supone
ademas que todas las derivadas parciales de orden 2 de f existen y estan
acotadas en D.
2. Sea y la solucion del problema (1.2) y sea y I la funcion continua lineal
a trozos que pasa por los puntos (xn , yn ), n = 0, . . . , N , donde {yn } es

una solucion numerica del problema. Una medida alternativa del error

cometido viene dada por max ky(x) y I (x)k . Hallar una cota para
axb

esta cantidad en terminos de max ky(xn ) yn k y de h, suponiendo que


0nN

f C ([a, b] R ).

1.5.

0-estabilidad

Salvo en casos excepcionales, la verdadera solucion no satisface la recurrencia (1.17) que define el metodo numerico, sino la recurrencia mas una peque
na
perturbacion,
k
X

j yn+j = hf (xn , yn , . . . , yn+k1 ; h) + Rn ,

j=0

22

n = 0, . . . , N k. (1.20)

La cantidad Rn , el residuo, es lo que le falta a la solucion teorica para ser


solucion del metodo numerico.
Por cierto, la solucion producida por el ordenador tampoco es solucion de
la ecuacion del metodo, pues los errores de redondeo introducen peque
nas perturbaciones. Por otra parte, f (xn , yn , . . . , yn+k1 ; h) en general no se calcula
exactamente, sino solo de forma aproximada. As que en realidad el ordenador
produce una solucion {
yn } de una recurrencia perturbada
k
P

j=0

j yn+j = h f (xn , yn , . . . , yn+k1 ; h) + n + n ,

yn = yn + n ,

n = 0, . . . , N k,
n = 0, . . . , k 1,

donde n es el error cometido en el calculo de f (xn , yn , . . . , yn+k1 ; h) y n es


el error de redondeo.
Para que el metodo sirva para algo, necesitamos que y(xn ) e yn permanezcan proximas si las perturbaciones Rn y n son peque
nas. Esto es, nos gustara
que el metodo numerico fuese estable. Esto motiva la siguiente definicion.
Definici
on 1.5. Un metodo (1.17) se dice 0-estable si para cada problema de
valor inicial (1.2) con f continua en D y Lipschitz con respecto a su segunda
variable en D existe una constante C > 0 tal que para cada dos sucesiones
N
{un }N
n=0 y {vn }n=0 satisfaciendo
k
P

j=0
k
P

j=0

j un+j hf (xn , un , . . . , un+k1 ; h) = hn ,


j vn+j hf (xn , vn , . . . , vn+k1 ; h) = hn ,

0 n N k,

se verifica que
max kun vn k C

knN

max kun vn k +

0nk1

max kn n k .

0nN k

(1.21)

Ejemplo. Todos los metodos de un paso con 0 = 1 son 0-estables. En efecto,


23

N
sean {un }N
n=0 y {vn }n=0 satisfaciendo

un+1 = un + hf (xn , un ; h) + hn ,
vn+1 = vn + hf (xn , vn ; h) + hn ,

n = 0, . . . N 1.

(1.22)

Restando ambas ecuaciones, tomando normas y usando la condicion de Lipschitz (1.19), se tiene que en = kun un k verifica
en+1 en + hkf (xn , un ; h) (xn , vn ; h)k + hkn n k
(1 + Lh)en + hkn n k.

A partir de aqu se demuestra facilmente por induccion que


kun vn k eL(xn x0 ) ku0 v0 k + eL(xn x0 ) (xn x0 ) max kn n k, (1.23)
0nN 1

de donde se sigue inmediatamente que el metodo es 0-estable.


Como corolario de la definicion de 0-estabilidad se tiene el siguiente resultado de convergencia.
Corolario 1.6. Si un metodo (1.17) es 0-estable y
:=

max kRn k/h 0

0nN k

cuando h 0+ ,

entonces el metodo converge.


Prueba. Basta con tomar un = y(xn ), n = Rn /h, vn = yn y n = 0 en la
definicion de 0-estabilidad.
Apliquemos el corolario al metodo de Euler. Es 0-estable, pues es de un
paso con 0 = 1. Por otra parte,
Rn /h =

y(xn+1 ) y(xn )
f (xn , y(xn )) = y 0 ( n ) y 0 (xn ).
h

usando la continuidad uniforme de y 0 (x) en [a, b] se concluye que 0, y por

tanto la convergencia. La convergencia de la regla del trapecio se obtiene de


forma similar.
24

Si f es mas regular se tiene algo mejor. Por ejemplo, si f C 1 , Rn =

y 00 ( n )h2 /2 y, utilizando (1.23), se llega a la cota para el error

ky(xn ) yn k eL(ba) ky(x0 ) y0 k + eL(ba) (b a)Ch,


donde C =

1
2

(1.24)

maxx[a,b] ky 00 (x)k y L > 0 es una constante de Lipschitz para f

con respecto a su segunda variable.

Analogamente, si f C 2 , para la regla del trapecio tenemos que


Rn = y(xn+1 ) {y(xn ) + h2 [f (xn , y(xn )) + f (xn+1 , y(xn+1 ))]}
3
h2 00
y (xn ) + h3! y 000 ( n )
2
2
{y(x ) + h2 [y 0 (xn ) + y 0 (xn ) + hy 00 (xn ) + h2 y 000 ( n )]}

000 n
000
y ( n )
n)
y (
h3 ,
3!
4

= y(xn ) + hy 0 (xn ) +

de donde se deduce que

ky(xn ) yn k eL(ba) ky(x0 ) y0 k + eL(ba) (b a)Ch2 ,

(1.25)

donde L > 0 es una constante de Lipschitz para f con respecto a su segunda


variable y
C=

5
max ky 000 (x)k.
12 x[a,b]

La constantes que aparecen en las cotas anteriores se pueden estimar utilizando la ecuacion diferencial.
Ejemplo. Sea y la solucion de y 0 = sen (exp(y)) en [0, 1], y(0) = 0. Queremos
estimar y 00 sin conocer y. Para ello derivamos la EDO,
y 00 = cos(exp(y)) exp(y)y 0 = cos(exp(y)) exp(y) sen (exp(y)).
Para acotar el factor exponencial tenemos que tener una idea del tama
no de
y. Dado que |y 0 | 1 tenemos que |y| x 1. Concluimos que |y 00 | e.
La cotas (1.24) y (1.25) en general sobreestiman el error en muchos ordenes
de magnitud, y no se deben por tanto utilizar en la practica. Sin embargo
25

dan una informacion importante: el error del metodo de Euler es una O(h),
siempre y cuando ky(x0 ) y0 k = O(h) y el de la regla del trapecio una O(h2 ),

si ky(x0 ) y0 k = O(h2 ). Eso motiva la siguiente definicion.

Definici
on 1.7. El metodo numerico (1.17) es convergente de orden p si este
es el mayor entero tal que para todo problema (1.2) con f C p (D) y Lipschitz

con respecto a su segunda variable en D se tiene que


max ky(xn ) yn k = O(hp )

knN

si

max ky(xn ) yn k = O(hp )

0nk1

cuando h 0+ .
Con esta definicion, el metodo de Euler es convergente de orden al menos
uno y la regla del trapecio de orden al menos de orden 2. Para ver que el
metodo de Euler no es convergente de orden 2 lo aplicamos al problema
y 0 (x) = x

para x [0, b],

y(0) = 0,

cuya solucion exacta es y(x) = x2 /2. Si tomamos valor de arranque y0 = 0


tenemos que
y1 = y0 + hx0 = 0,
y2 = y1 + hx1 = h2 ,
y3 = y2 + hx2 = h2 (1 + 2)
..
.
yn = h2 (1 + + (n 1)).
Es decir,
yn =

x2n xn h

,
2
2

y por tanto
max ky(xn ) yn k = max kxn h/2k = bh/2.

1nN

1nN

Cuando h 0 el error tiende a cero, pero lo hace como h y no como h2 . De

forma parecida se prueba que la regla del trapecio no tiene orden de convergencia 3.
26

La regla del trapecio tiene un orden de convergencia mayor que el metodo de


Euler. Pero, cuidado!, el orden no lo es todo. Aunque en un metodo de orden
alto en principio hay que dar menos pasos, estos pueden ser muy costosos;
puede ser preferible un metodo de orden mas bajo, en el que, a pesar de dar
mas pasos, cada uno de ellos lleve menos trabajo computacional.
Que un metodo sea de orden p significa que para todos los problemas razonables el error que se comete con el metodo es de ese orden. Pero puede
suceder que para alg
un problema concreto el metodo sea mejor.
Ejemplo. Consideramos el problema
y 0 (x) = 1,

y(0) = 0,

cuya solucion exacta es y(x) = x. Aplicando Euler con valor de arranque y0 = 0


tenemos yn+1 = yn + h, y por tanto yn = nh = xn . Euler nos da por tanto la
solucion para este problema sin ning
un error.
Problemas
1. Consideramos un metodo de un solo paso con |0 | > 1. Demostrar que no
es 0-estable. Indicacion: Aplicarselo a un problema con f = 0 y valores
de arranque y0 = 0 e y0 = h.
2. Suponiendo solo que f es continua en D y Lipschitz con respecto a su
segunda variable en D, demostrar que lm+ = 0 para la regla del trah0

pecio.

3. Consideramos la ecuacion escalar y 0 = arctan y. Encontrar una cota para


y 00 e y 000 en el intervalo [0, 1] sin hallar y explcitamente.
4. Consideramos el problema de valor inicial y 0 (x) = x(sen y(x))2 , x [0, 1],
y(0) = 1. Si se resuelve por el metodo de Euler, que valor de h habra que

tomar para garantizar un error menor que 103 ? Y si se usa la regla del
trapecio?
5. Probar que la regla del trapecio no es convergente de orden 3.
27

6. Construir todos los metodos convergentes de orden 2 de la forma


yn+1 = yn + hf (xn + h, yn + hf (xn + h, yn + hf (xn , yn ))).
Comprobar que ninguno tiene orden de convergencia 3. Tiene alguno
orden de convergencia 3 para el problema y 0 = y en [0, b], y(0) = 1?
7. Calcular la solucion teorica del problema de valor inicial
y 0 (x) = mn(y(x), 2),

0 x 2,

y(0) = 1,

y aproximarla mediante el metodo de Euler. Comprobar que la solucion


numerica converge a la teorica. Es la convergencia de orden 1?
8. Consideramos un metodo de un paso con 0 = 1. Sean {un }N
n=0 y
{vn }N
n=0 satisfaciendo (1.22) Demostrar que existe una constante C > 0

tal que

max kun vn k C

0nN

max k

0nN 1

N
1
X
j=0

(j j )k.

Concluir de lo anterior que si existe un problema de valor inicial tal que


Rn = Chp+1 , entonces el metodo no puede tener orden de convergencia mayor que p. Como aplicacion, demostrar que el metodo de Euler
modificado no es convergente de orden 3.
9. Supongamos que los errores de evaluacion de f estan acotados por y
los de redondeo por . Si el metodo es 0-estable, dar una cota para el
error max ky(xn ) yn k y obtener el valor de h que minimiza dicha cota.
knN

1.6.

Consistencia

La 0-estabilidad garantiza que si lm+ = 0, el metodo converge. Esto


motiva la siguiente definicion.

h0

Definici
on 1.8. Un metodo de la forma (1.17) es consistente si para todo
problema (1.2) con f continua en D y f Lipschitz con respecto a su segunda
28

variable en D se tiene que


lm = 0.

h0+

Que tiene que satisfacer un metodo para ser consistente? El siguiente


resultado da una caracterizacion completa.
Teorema 1.9. Un metodo (1.17) es consistente si y solo si
k
X

j = 0

(1.26)

j=0

y ademas

f (x, y(x), . . . , y(x); 0) =

k
X

jj

j=0

f (x, y(x)).

(1.27)

Prueba. Aplicamos el metodo (1.17) al problema


y 0 (x) = 0,

y(0) = 1,

cuya solucion es y(x) = 1. Puesto que f = 0, entonces f = 0, y se tiene que


k

Rn X
lm+
j = 0
=
h0
h
j=0
si el metodo es consistente, es decir, (1.26).
Consideramos ahora el problema general (1.2) y lo integramos numericamente en el intervalo [a, x], con x (a, b]. Si se cumple (1.26), entonces
k

Rn
1X
=
j y(xn+j ) f (xn , y(xn ), . . . , y(xn+k1 ); h)
h
h j=0
k

1X
=
j y(xn ) + jhy 0 ( n,j ) f (xn , y(xn ), . . . , y(xn+k1 ); h)
h j=0
=

k
X
j=0

k
X
j=0

jj y 0 ( n,j ) f (xn , y(xn ), . . . , y(xn+k1 ); h)


jj f ( n,j , y( n,j )) f (xn , y(xn ), . . . , y(xn+k1 ); h),
(1.28)
29

donde xn n,j xn+j . Si el problema es consistente, pasando al lmite h 0+

para n = 0 se tiene (1.27) con x = a; haciendo lo mismo para n = N k,


k

RN k X
=
jj f ( N k,j , y( N k,j )) f (xN k , y(xN k ), . . . , y(xN 1 ); h)
h
j=0
k
P
jj f (x, y(x)) f (x, y(x), . . . , y(x); 0),

j=0

de donde, si el metodo es consistente, se obtiene (1.27) para x (a, b] .

Veamos el recproco. Supongamos que se cumplen las condiciones (1.26) y


(1.27). Entonces, usando (1.28) se tiene que
k

f ( n,j , y( n,j ), . . . , y( n,j ); 0) f (xn , y(xn ), . . . , y(xn+k1 ); h)


Rn X
=
.
jj
k
P
h
j=0
jj
j=0

Utilizando la continuidad uniforme de y y f sobre compactos, se concluye que


0.
Ejemplo. Los metodos de un paso son consistentes si y solo si
0 = 1

f (x, y(x); 0) = f (x, y(x)).

Usando (1.18) es facil ver que la regla del trapecio cumple estas dos condiciones;
por tanto es consistente.
Ejemplo. Consideramos el metodo

yn+2 + yn+1 2yn = h 5f (xn+1 , y(xn+1 )) 2f (xn , y(xn )) .

Se tiene f (xn , yn , yn+1 ; h) = 5f (xn + h, yn+1 ) 2f (xn , yn ),


2
P

2
P

(1.29)
j = 0 y

j=0

jj = 3. Por consiguiente, f (x, y, y; 0) = 3f (x, y). As pues, el metodo

j=0

es consistente.
Si un metodo es 0-estable y ademas = O(hp ) cuando h 0+ , entonces

converge con orden al menos p, lo que motiva una nueva definicion.


30

Definici
on 1.10. Un metodo de la forma (1.17) es consistente de orden p si
este es el mayor entero tal que para todo problema (1.2) con f C p (D) y

f Lipschitz con respecto a su segunda variable en D se tiene que = O(hp )

cuando h 0+ .
Ejemplo. Si f C 2 , la regla del punto medio (1.14) tiene residuo
Rn = y(xn+2 ) y(xn ) 2hf (xn+1 , y(xn+1 ))

= y(xn+2 ) y(xn ) 2hy 0 (xn+1 )

= y(xn ) + y 0 (xn )(2h) + 2!1 y 00 (xn )(2h)2 + 3!1 y 000 (n )(2h)3

y(xn ) 2h y 0 (xn ) + y 00 (xn )h + 2!1 y 000 (n )h2

= 43 y 000 (n ) y 000 (n ) h3 ,

con xn n xn+2 y xn n xn+1 . As pues, = O(h2 ), y el metodo es


consistente de orden al menos 2.

Si aplicamos el metodo al problema


y 0 (x) =

x2
,
2

0 x b,

y(0) = 0,

(1.30)

cuya solucion, y(x) = x3 /3!, verifica que y 000 (x) = 1, se tiene que Rn = h3 /3.
As pues, = h2 /3, y el metodo no es consistente de orden 3.
Problemas
1. Decidir si los metodos de la seccion 1.3 son consistentes y en caso afirmativo determinar el orden de consistencia.
2. Determinar que condiciones deben cumplir las constantes y para que
el metodo
yn+1 = yn + hf (xn , yn ) + hf (xn+1 , yn+1 )
sea: (i) consistente; (ii) consistente de orden al menos uno; y (iii) consistente de orden al menos dos. Es consistente de orden 3 para alguna
eleccion de y ?
31

3. a) Hallar el orden de consistencia del metodo


5
7
h
h
yn+1 = yn hf (xn , yn ) + hf (xn + , yn + f (xn , yn )).
2
2
7
7
b) Escribir la funcion de incremento f y comprobar que cumple la condicion (1.19).
4. Repetir el ejercicio anterior para el metodo
yn+1 = yn + hf (xn + (1 )h, yn + (1 )yn+1 ),
donde [0, 1].

1.7.

Criterio de la raz

Si un metodo de un paso es consistente, es 0-estable, y por tanto convergente. Sucede lo mismo con los metodos de mas de un paso? La respuesta es
que no.
Ejemplo. Consideramos el metodo (1.29). Se lo aplicamos al problema mas
simple que uno pueda imaginar,
y 0 (x) = 0,

a x b,

y(a) = 0,

cuya solucion es y(x) = 0. El metodo en este caso queda


yn+2 + yn+1 2yn = 0.
Para que yn = n sea solucion de esta recurrencia, tiene que ser raz del
polinomio () = 2 + 2. As, debe ser 1 o 2, lo que da lugar a las

soluciones yn = 1, yn = (2)n . La solucion general de la recurrencia sera una


combinacion lineal de estas dos soluciones,
yn = c1 + c2 (2)n .
32

Consideramos las soluciones un = 0 y vn = h(2)n . Se tiene que n = 0 = n


y que
max kun vn k = 2h.

0n1

Sin embargo,
max kun vn k = h2N =

2nN

ba N
2 ,
N

luego (1.21) no se cumple para ning


un C.
Como se ve en este ejemplo, la 0-estabilidad esta relacionada con el tama
no
de las races del polinomio
() =

k
X

j j ,

j=0

conocido como primer polinomio caracterstico del metodo, que es el polinomio


asociado a la recurrencia que se obtiene al aplicar el metodo a problemas con
f = 0. Esto motiva la siguiente definicion.
Definici
on 1.11. Se dice que un metodo (1.17) satisface la condicion de la raz
si todas las races del primer polinomio caracterstico tienen modulo menor o
igual que 1, y aquellas que tienen modulo 1 son simples.
Observacion. Si un metodo es consistente, una de las races de () debe ser

1. Esta
es la raz principal, a la que se etiqueta como 1 . Las restantes races,
i , i = 2, . . . , k, son las llamadas races espurias; surgen porque decidimos
representar un sistema diferencial de primer orden por un sistema en diferencias
de orden k. Obviamente, los metodos consistentes con k = 1 no tienen races
espurias, y satisfacen por tanto la condicion de la raz.
La 0-estabilidad resulta ser equivalente a que se satisfaga la condicion de
la raz.
Teorema 1.12. Un metodo (1.17) es 0-estable si y solo si satisface la condicion
de la raz.
33

Prueba. Consideramos el problema de valor inicial con f = 0 y tomamos dos


soluciones un y vn de la ecuacion en diferencias sin perturbar
k
X

j un+j = 0.

(1.31)

j=0

Si el metodo es 0-estable, existe una constante C tal que


max kun vn k C max kun vn k.

knN

0nk1

Veamos que esto es imposible si no se satisface la condicion de la raz.


(i) Supongamos que existe tal que || > 1 y () = 0. Las sucesiones

un = 0 y vn = h n son solucion de la ecuacion en diferencias (1.31). Tenemos


que
max kun vn k = h||N =

knN

ba N
|| ,
N

mientras que,
max kun vn k = max h||n

0nk1

0nk1

b a k1
|| .
N

As pues, el metodo no es 0-estable.


(ii) Supongamos que existe tal que || = 1, () = 0 = 0 (). Las suce
siones un = 0 y vn = hn n son solucion de la ecuacion en diferencias (1.31)
(notese que es raz doble). Entonces
max kun vn k =

knN

hN ||N = b a N ,

mientras que
max kun vn k = max

0nk1

0nk1

ba
hn||
(k 1),
N
n

y el metodo no es 0-estable.
Veamos ahora que si el metodo cumple la condicion de la raz, entonces es
0-estable. Damos la prueba (que se puede omitir en una primera lectura) en el
caso escalar. El caso vectorial es analogo.
34

La idea es escribir el metodo como metodo de un paso. Para ello denotamos


Yn = (yn+k1 , . . . , yn )T ,

n = 0, . . . , N k + 1,

F (Yn ) = (f (xn , yn , . . . , yn+k1 ; 0), 0, . . . , 0) ,

n = 0, . . . , N k + 1.

Con esta notacion podemos escribir el metodo como


Yn+1 = AYn + hF (Yn ),

n = 0, . . . , N k,

donde A es la matriz compa


nera del primer polinomio caracterstico,

k1 k2 . . . 1 0

1
0
...
0

...
A=
.
0
1

..
..
... ...
...

.
.

...

Iterando el proceso tenemos que


Yn = A n Y0 + h

n1
X

An1l F (Yl ).

l=0

Para las un y vn de la definicion de estabilidad, llamando


Rn = (n n , 0, . . . , 0)T ,

n = 0, . . . , N k,

y restando tendremos que


Un Vn = An (U0 V0 ) + h

n1
X
l=0

An1l (F (Ul ) F (Vl )) + h

Si las potencias de A estan todas ellas acotadas, esto es, si


kAn k M,

n1
X

An1l Rl .

l=0

n = 0, 1, . . . ,

tomando normas y utilizando que f satisface la condicion de Lipschitz (1.19),


tenemos que
kUn Vn k M kU0 V0 k + hLM k

n1
X
l=0

kUl Vl k + (b a)M max kl l k,

35

0lN k

desigualdad que se puede escribir como


n1
X

n N + hLM k

l ,

l=0

definiendo n y N de la manera obvia.


Sea n = N + hLM k

n1
P

l . Se tiene que

l=0

n+1 n = hLM kn hLM kn ,


de donde concluimos que
n n (1 + hLM k)n1 1 e(n1)hLM k (N + hLM kkU0 V0 k),
y de aqu la 0-estabilidad.
Para que las potencias de A esten todas acotadas es necesario y suficiente
que las races del polinomio sean de modulo menor que la unidad, y aquellas
que sean de modulo 1 sean simples, es decir, que se cumpla el criterio de la
raz. Para ver esto no hay mas que observar que los autovalores de A son las
races de .
Ejemplo. El primer polinomio caracterstico de la regla del punto medio (1.14)
es
() = 2 1.
Sus races son 1 = 1 y 2 = 1, luego el metodo satisface la condicion de la

raz. Por consiguiente, el metodo es 0-estable. Como tambien es consistente de


orden 2, es convergente de orden al menos 2.
Por otra parte, si aplicamos el metodo al problema (1.30), se obtiene la
recurrencia
yn+2 yn = h3 (n + 1)2 ,

n = 0, . . . , N 2,

cuya solucion general es


yn = c1 + c2 (1)n +
36

h3 3
(n n).
3!

Si tomamos valores de arranque y0 = 0 = y1 , entonces


yn =

h3 3
(n n).
3!

As pues, max ky(xn ) yn k = 0 y


0n1

max ky(xn ) yn k =

2nN

h2
bh2
max kxn k =
;
3! 2nN
3!

el metodo no es por tanto convergente de orden 3.


Problemas
1. Comprobar que los autovalores de la matriz compa
nera del primer polinomio caracterstico son precisamente las races de dicho polinomio.
2. Comprobar que la condicion necesaria y suficiente para que todas las
potencias de una matriz tengan norma uniformemente acotada es que
todos sus autovalores tengan modulo menor o igual que uno y aquellos
que tengan modulo uno sean simples.
3. Determinar si son 0-estables los metodos de la seccion 1.3 de mas de un
paso.
4. Consideramos la familia de metodos

yn+3 +(23)yn+2 (23)yn+1 yn = h f (xn+2 , yn+2 )+f (xn+1 , yn+1 ) ,


donde es un parametro real. Estudiar para que valores de es 0-estable.

1.8.

Teorema de equivalencia

Hemos visto que 0-estabilidad + consistencia convergencia. Es cierto

el recproco?

Teorema 1.13 (Teorema de equivalencia). Un metodo (1.17) es convergente si y solo si es 0-estable y consistente.
37

Prueba. En primer lugar probamos que convergencia criterio de la raz.

Consideramos el problema

y 0 (x) = 0,

y(0) = 0,

cuya solucion es y(x) = 0.


(i) Supongamos que existe tal que || > 1 y () = 0. La sucesion yn = h n ,

n = 0, 1, . . . , es solucion de la ecuacion en diferencias y tiene condiciones de


arranque yn = h n , n = 0, . . . , k 1; por tanto
max ky(xn ) yn k = h||k 0.

0nk1

Sin embargo,
max ky(xn ) yn k = h||N =

knN

ba N
|| cuando h 0+ ,
N

y por tanto el metodo no es convergente.


(ii) Supongamos que existe tal que || = 1, () = 0 = 0 (). La sucesion

yn = hn n , n = 0, 1, . . . , es solucion de la ecuacion en diferencias y tiene

condiciones de arranque yn = hn n , n = 0, . . . , k 1; por tanto

max ky(xn ) yn k = h(k 1)||k1 0.


0nk1

Sin embargo,
max ky(xn ) yn k =

knN

hN ||N = b a N cuando h 0+ ,

y el metodo no es convergente.
Veamos ahora que convergencia consistencia. Si un metodo es conver-

gente, en particular lo es para el problema y 0 (x) = 0, 0 x b, y(0) = 1,


cuya solucion es y(x) = 1. La aplicacion del metodo numerico a este problema

produce la recurrencia
k
X

j yn+j = 0,

n = 0, . . . , N k.

j=0

38

(1.32)

Si tomamos valores de arranque yn = 1, n = 0, . . . , k 1, entonces


max ky(xn ) yn k = 0.

0nk1

Por consiguiente, la convergencia implica que


max k1 yn k 0,

knN

y por tanto que lm+ yn = 1. As, pasando al lmite en (1.32) se llega a (1.26).
h0

Supongamos ahora que no se cumple la condicion (1.27),


k
!
X
f (x, y(x), . . . , y(x); 0)
jj f (x, y(x)) = g(x) 6 0.
j=0

Si definimos

g(x)
,
f(x, y) = f (x, y) k
P
jj
j=0

se tiene que

f (x, y(x), . . . , y(x); 0) =

k
X

jj

j=0

f(x, y(x)).

Combinando esto con (1.26) y la 0-estabilidad, se prueba facilmente que yn


converge a la solucion y 6= y de
y 0 (x) = f(x, y(x)),

a x b,

y(a) = ,

la ecuacion equivocada!.
Observacion. Las condiciones de consistencia garantizan que estamos resolviendo la ecuacion diferencial correcta, que estamos siendo consistentes con
ella.
Ejemplo. La funcion de incremento del metodo
yn+1 = yn + h(2f (xn , yn ) + 3f (xn+1 , yn+1 ))
39

viene dada implcitamente por


f (x, y; h) = 2f (x, y) + 3f (x + h, y + hf (x, y; h)).
As, f (x, y(x); 0) = 5f (x, y(x)), y el metodo no es convergente, ya que no es
consistente. Sin embargo, es 0-estable y cumple (1.26). Por lo tanto, aproximara a soluciones de la ecuacion y 0 (x) = 5f (x, y(x)).
Problemas
1. Estudiar si son convergentes los metodos de la seccion 1.3.
2. Consideramos la familia de metodos

yn+3 +(23)yn+2 (23)yn+1 yn = h f (xn+2 , yn+2 )+f (xn+1 , yn+1 ) ,


donde es un parametro real. Estudiar para que valores de es convergente.
3. Repetir el problema anterior para la familia de metodos de dos pasos
yn+2 ( + 1)yn+1 + yn = (3 7)hf (xn+2 , yn+2 ).

1.9.

M
etodos lineales multipaso

El metodo de Euler, las reglas del trapecio, del punto medio y de Simpson,
los metodos de Adams-Bashforth y Adams-Moulton de dos pasos y la formula
BDF de dos pasos obtienen las aproximaciones yn a la solucion del problema
de valor inicial como soluciones de recurrencias de la forma
k
X
j=0

j yn+j = h

k
X

j f (xn+j , yn+j ),

j=0

n = 0, . . . , N k.

(1.33)

Los metodos que se pueden escribir de esta manera se conocen como metodos lineales de k-pasos, porque yn+k es una combinacion lineal de yn+j y
f (xn+j , yn+j ), j = 1, . . . , k.
40

Notacion. Para abreviar se suele escribir fn = f (xn , yn ).


La funcion de incremento del metodo (1.33) viene dada por
k1
P

f (xn , yn , . . . , yn+k1 ; h) =
+k f (xn + kh,

j=0
k1
P

j f (xn + jh, yn+j )


j yn+j + hf (xn , yn , . . . , yn+k1 ; h)).

j=0

No es difcil comprobar que f satisface la condicion de Lipschitz (1.19) si f


satisface una condicion de Lipschitz con respecto a su segunda variable.
Si k = 0, el metodo es explcito. En este caso se puede despejar explcitamente cada yn+k en terminos de los k valores anteriores yn , . . . , yn+k1 . Si se
han almacenado los valores fn , . . . , fn+k2 , una u
nica evaluacion de funcion,
fn+k1 , producira yn+k .
Si k 6= 0, el metodo es implcito. Para obtener yn+k en cada paso tendremos

que resolver la ecuacion no lineal

yn+k = hk f (xn+k , yn+k ) + g,

(1.34)

donde g es una funcion conocida de los valores ya calculados,


g=

k1
X
j=0

(hj fn+j j yn+j ).

Si el lado derecho de la igualdad (1.34) tiene una constante de Lipschitz M con


respecto a yn+k tal que M < 1, entonces este sistema de ecuaciones tiene una
u
nica solucion yn+k , que se puede aproximar tanto como se desee por medio
de la iteracion
[+1]

[]

yn+k = hk f (xn+k , yn+k ) + g,

[0]

yn+k arbitrario.

Por el Teorema de la Aplicacion Contractiva, se cumple que


[]

lm yn+k = yn+k .

41

(1.35)

Notese que, siempre que f sea Lipschitz con respecto a su segunda variable,
podemos forzar que se cumpla la condicion M < 1 tomando un valor de h
suficientemente peque
no. Si este fuera demasiado peque
no se debera optar
por otro metodo iterativo, como el de Newton.
Ya vimos que los coeficientes j de un metodo general (1.17) se pueden
especificar por medio de , el primer polinomio caracterstico del metodo. En
el caso de los metodos lineales multipaso se define un segundo polinomio caracterstico,
() =

k
X

j j ,

j=0

con el fin de caracterizar los coeficientes j .


Que condiciones deben satisfacer los coeficientes de un metodo lineal multipaso para que sea consistente?
Si el metodo cumple la condicion (1.26), entonces

f (x, y(x), . . . , y(x); 0) =


=

k1
P
j=0
k
P

j f (x, y) + k f

x,

j f (x, y).

k1
P
j=0

j y(x)

j=0

As pues, el metodo sera consistente si y solo si


k
X

j = 0

j=0

k
X
j=0

j =

k
X

jj .

j=0

En terminos del primer y segundo polinomio caracterstico estas condiciones


se escriben como
(1) = 0,

0 (1) = (1).

Que condiciones se deben cumplir para que el metodo sea consistente de


42

orden p? En este caso el residuo viene dado por


Rn =
=

k
P

j=0
k
P

j=0

(j y(xn+j ) hj f (xn+j , y(xn+j ))


(j y(xn+j ) hj y 0 (xn+j )),

n = 0, . . . , N k.

Si tomamos desarrollos de Taylor para y(xn+j ) = y(xn + jh) e y 0 (xn+j ) =


y 0 (xn + jh) alrededor del punto x = xn ,
y (p+1) (xn )(jh)p+1
+ O(hp+2 ),
(p + 1)!
y (p+1) (xn )(jh)p
+ O(hp+1 ),
y 0 (xn+j ) = y 0 (xn ) + y 00 (xn )jh + +
p!

y(xn+j ) = y(xn ) + y 0 (xn )jh + +

obtenemos que
Rn = C0 y(xn ) + C1 y 0 (xn )h + + Cp+1 y (p+1) (xn )hp+1 + O(hp+2 ),
donde
C0 =
C1 =
..
.

k
X
j=0
k
X
j=0

1
Cq =
q!

j ,
j j

k
X
j=0

k
X

j ,

j=0

j j q q

k
X

j j q1

j=0

q > 1.

As pues, si Cq = 0, q = 0, . . . , p, el metodo sera consistente de orden al menos


p. Por otra parte, si Cp+1 6= 0, el metodo no puede tener orden de consistencia
p + 1. En efecto, la solucion del problema
xp
y (x) = ,
p!
0

0 x b,

y(0) = 0,

verifica y (p+1) (x) = 1, y por consiguiente Rn = Cp+1 hp+1 + O(hp+2 ) 6= O(hp+2 ).


Si un metodo lineal multipaso tiene orden de consistencia p, entonces el
valor Cp+1 6= 0 recibe el nombre de constante de error.
43

Ejemplo. El metodo
yn+2 + yn+1 2yn =

h
(fn+2 + 8fn+1 + 3fn )
4

es un metodo lineal de dos pasos con


0 = 2,

1 = 1,

2 = 1,

0 = 3/4,

1 = 8/4,

2 = 1/4.

Un sencillo calculo muestra que C0 = C1 = C2 = C3 = 0 y que C4 6= 0. As, el


metodo es consistente de orden 3, y la constante de error es C4 = 1/4!.

Observacion. Las condiciones de consistencia del metodo lineal multipaso


(1.33) coinciden con las condiciones de consistencia de orden 1.
No es necesario efectuar el desarrollo de Taylor en x = xn . Se puede (y se
debe) efectuar en otro punto si hay posibilidad de aprovechar simetras.
Ejemplo. Consideramos la regla de Simpson,
yn+2 yn =

h
(fn + 4fn+1 + fn+2 ).
3

Si desarrollamos el residuo alrededor del punto medio, x = xn+1 , queda un


desarrollo en potencias impares de h,
Rn = y(xn+2 ) y(xn ) h3 (y 0 (xn ) + 4y 0 (xn+1 ) + y 0 (xn+2 )) =
= (2y 0 (xn+1 )h + 13 y 000 (xn+1 )h3 + 5!2 y (v) (xn+1 )h5 + )
h3 (6y 0 (xn+1 ) + y 000 (xn+1 )h2 + 4!2 y (v) (xn+1 )h4 + ).

Concluimos que Rn = O(h5 ), y el metodo es por tanto consistente de orden 4.


Ejemplo. Consideramos la regla del trapecio
yn+1 yn =

h
(fn+1 + fn ).
2

Si desarrollamos alrededor del punto medio x = xn+ 1 := xn + h2 , de nuevo


2

queda un desarrollo en potencias impares de h,


Rn = y(xn+1 ) y(xn ) h2 (y 0 (xn ) + y 0 (xn+1 )) =
1 000
y (xn+ 1 )h3 + )
24
2
+ 41 y 000 (xn+ 1 )h2 + ).
2

= (y 0 (xn+ 1 )h +
2

h2 (2y 0 (xn+ 1 )
2

44

Concluimos que Rn = O(h3 ), y el metodo es por tanto consistente de orden 2.


Lo que tienen en com
un los dos ejemplos anteriores es que ambos metodos
son simetricos, en el sentido de que
j = kj ,

j = kj .

Es facil comprobar, desarrollando alrededor del punto medio, que los metodos
simetricos tienen orden par. As pues, si un metodo es simetrico solo sera necesario considerar las condiciones de orden impar, pues las de orden par se
cumplen necesariamente.
Cual es el mejor orden que podemos conseguir para un metodo, para
un n
umero de pasos k dado? Puesto que un metodo lineal de k pasos viene
determinado por 2k + 1 coeficientes, y las condiciones de orden de consistencia
son relaciones lineales de estos coeficientes, existen metodos lineales de k pasos
con orden de consistencia p = 2k; reciben el nombre de maximales. Sin embargo
no sirven para nada, puesto que no son convergentes.
Teorema 1.14 (Primera barrera de Dahlquist (1956)). El orden de convergencia p de un metodo lineal de k pasos 0-estable satisface:
p k + 2 si k es par;
p k + 1 si k es impar;
p k si k 0 (en particular si es explcito).
Los metodos con p = k + 2, llamados optimales, tampoco funcionan bien
en la practica. As pues, el mejor orden que se puede alcanzar con un metodo
de k pasos que sirva para algo es p = k + 1.
Problemas
1. Comprobar que la funcion de incremento del metodo lineal multipaso
(1.33) satisface la condicion de Lipschitz (1.19) si f satisface una condicion de Lipschitz con respecto a su segunda variable.
45

2. Encontrar el orden de consistencia y la constante de error de los metodos


(a) yn+2 + yn+1 2yn = h4 (fn+2 + 8fn+1 + 3fn ),
(b) yn+2 yn = 32 h(fn+2 + fn+1 + fn ),
(c) yn+4

8
(y
19 n+3

yn+1 ) yn =

6h
(f
19 n+4

+ 4fn+3 + 4fn+1 + fn ).

Son convergentes? (El metodo (c) se conoce como metodo de Quade.)


3. Repetir el problema anterior para el metodo lineal multipaso cuyos polinomios caractersticos son
() = 4 1

() =

14 4
64 3
24 2
( + 1) +
( + ) +
.
45
45
45

4. De entre los metodos lineales multipaso de la forma


yn+3 + 2 yn+2 + 1 yn+1 + 0 yn = h(2 fn+2 + 1 fn+1 + 0 fn ),
determinar los simetricos convergentes de mayor orden.
5. Determinar, usando la formula para el error de interpolacion, el orden
de consistencia de los metodos de Adams-Bashforth, Adams-Moulton y
BDF de 2 pasos. Comprobar que coincide con el orden de convergencia.
6. Demostrar que si un metodo lineal de 3 pasos explcito es de orden 4,
entonces 0 + 2 = 8 y 1 = 9. Deducir de esto que el metodo no puede

ser convergente.

7. Sea un polinomio monico de grado k verificando (1) = 0. Demostrar


que:
(a) Existe un u
nico polinomio de grado menor o igual que k tal que
el MLM dado por y tiene orden de consistencia mayor o igual
que k + 1.
(b) Existe un u
nico polinomio de grado menor estricto que k tal que
el MLM dado por y tiene orden de consistencia mayor o igual
que k.
46

8. Probar que un MLM con polinomios caractersticos y es de orden


p 1 si y solo si existe una constante c 6= 0 tal que cuando 1
() () log = c( 1)p+1 + O(| 1|p+2 ).
9. Sea un MLM tal que () = ( 1)( 2 + 1). Determinar () para que
alcance el orden maximo posible. Calcular su constante de error.

1.10.

M
etodos de Runge-Kutta

El metodo de Euler, la regla del trapecio, los metodos de Euler mejorado y


modificado y el metodo de colocacion de parametro c1 = 1/2 se pueden escribir
en la forma

s
P

aij kj ),
ki = f (xn + ci h, yn + h
s
P

yn+1 = yn + h bi ki .

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

j=1

(1.36)

i=1

Cualquier metodo que se pueda escribir de esta manera es un metodo de RungeKutta de s etapas. Cada una de las evaluaciones de funcion ki es una etapa.
El metodo (1.36) se representa por medio de su tablero de Butcher:
c1

a11

a12

...

a1s

c2
..
.

a21
..
.

a22
..
.

...
...

a2s
..
.

cs

as1

as2

...

ass

b1

b2

...

bs .

Si escribimos
c = (c1 , c2 , . . . , cs )T ,

b = (b1 , b2 , . . . , bs )T ,

el tablero se puede resumir como


47

A = (aij ),

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 explcitamente en


terminos de los anteriormente calculados, kj , j = 1, 2, . . . , i 1. En este caso

el metodo es explcito. Al escribir su tablero se suelen omitir los ceros sobre y


por encima de la diagonal principal.
Ejemplos.
El metodo de Euler modificado es explcito. Su tablero es
0
1/2

1/2
0

1.

El metodo de Euler mejorado tambien es explcito. Su tablero es


0
1

1
1/2

1/2.

Si el metodo no es explcito, es implcito. En general es necesario entonces


resolver en cada paso un sistema no lineal para calcular los ki . Este sistema
tiene dimension ds.
Ejemplo. El metodo RK-Radau IA de dos etapas, de tablero
0

1/4

2/3

1/4
1/4

es un metodo de Runge-Kutta implcito.


48

1/4
5/12
3/4,

Hay una situacion intermedia; si aij = 0 para j > i, i = 1, 2, . . . , s, entonces


cada ki esta definido individualmente por
ki = f (xn + ci h, yn + h

i
X

aij kj ),

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

j=1

En vez de resolver en cada paso un sistema no lineal de dimension ds, tendremos que resolver s sistemas no acoplados de dimension d. Estos metodos se
llaman semi-implcitos. Al escribir sus tableros se omiten los ceros por encima
de la diagonal principal.
Ejemplo. El metodo RK-Lobatto IIIA de dos etapas, de tablero
0

1 1/2

1/2

1/2

1/2,

es un metodo de Runge-Kutta semi-implcito.


Para que un metodo de Runge-Kutta implcito este bien determinado el
sistema que define las etapas debe tener solucion u
nica. Se puede probar que
esto es cierto si h es peque
no.
Ejemplo. El metodo de colocacion de parametro c1 = 1/2 es un metodo de
Runge-Kutta implcito de tablero
1/2

1/2
1.

Si definimos Y1 = yn + h2 k1 , se puede escribir de forma equivalente como


h
h
Y1 = yn + f (xn + , Y1 ),
2
2

h
yn+1 = yn + hf (xn + , Y1 ).
2

El vector Y1 , si existe, es un punto fijo de la aplicacion


h
h
G(Y ) = yn + f (xn + , Y ).
2
2
49

Esta aplicacion verifica


h
h
h
Lh
kG(Y ) G(Y )k = kf (xn + , Y ) f (xn + , Y )k
kY Y k.
2
2
2
2
As pues, es contractiva, y por tanto tiene un u
nico punto fijo, si h < 2/L.
Los metodos de Runge-Kutta son metodos de un paso con funcion de incremento
f (xn , yn ; h) =

s
X

bi ki (xn , yn ; h).

(1.37)

i=1

Puesto que las etapas ki son evaluaciones de la funcion f , no es difcil convencerse de que f satisface una condicion de Lipschitz con respecto a su segunda
variable si f tambien lo hace.
Ejemplo. Para el metodo de Euler modificado,
kk1 (xn , yn ; h) k1 (xn , yn ; h)k Lkyn yn k,
kk2 (xn , yn ; h) k2 (xn , yn ; h)k
L(kyn yn k + h2 kk1 (xn , yn ; h) k1 (xn , yn ; h)k)
L(1 +

Lh
)kyn
2

yn k,

de donde se obtiene inmediatamente la condicion de Lipschitz deseada observando que en este caso f (xn , yn ; h) = k2 (xn , yn ; h).
Ejemplo. En el caso del metodo RK-Radau I de dos etapas,
0

2/3

1/3

1/3

1/4

3/4,

se tiene que
kk1 (xn , yn ; h) k1 (xn , yn ; h)k Lkyn yn k,
kk2 (xn , yn ; h) k2 (xn , yn ; h)k L(kyn yn k
+ h3 kk1 (xn , yn ; h) k1 (xn , yn ; h)k + h3 kk2 (xn , yn ; h) k2 (xn , yn ; h)k),
L(1 +

Lh
)kyn
3

yn k + h3 kk2 (xn , yn ; h) k2 (xn , yn ; h)k,


50

de forma que, si h < 3/L,


)
L(1 + Lh
3
kk2 (xn , yn ; h) k2 (xn , yn ; h)k
kyn yn k.
1 Lh
3
De aqu se concluye la condicion de Lipschitz deseada utilizando que en este
caso f (xn , yn ; h) = 14 k1 (xn , yn ; h) + 34 k2 (xn , yn ; h).
Si hacemos h = 0 en (1.37), obtenemos que ki (xn , yn ; 0) = f (xn , yn ) para
todo i = 1, 2, . . . , s. Por consiguiente,

f (x, y; 0) =

s
X

bi

i=1

f (x, y).

As, un metodo de Runge-Kutta es consistente si y solo si


s
X

bi = 1.

(1.38)

i=1

Que condiciones sobre los coeficientes garantizan que el metodo es consistente de orden p?
Tenemos que desarrollar el residuo
Rn = y(xn+1 ) (y(xn ) + h(xn , y(xn ); h))
alrededor de xn en potencias de h. Notese que el residuo coincide con la diferencia entre la solucion teorica y la numerica,
Rn = y(xn+1 ) yn+1 ,
suponiendo que en el paso n no se cometa ning
un error, yn = y(xn ) (esta
hipotesis se conoce como hipotesis de localizacion).
As pues, lo que hay que hacer es obtener desarrollos en potencias de h
para las soluciones teorica y numerica (esta u
ltima bajo la hipotesis de localizacion). Si estos desarrollos coinciden hasta orden p, existe una constante C
51

independiente de n tal que kRn k hp+1 , y se tendra consistencia de orden al

menos p.

Como ejemplo obtendremos las condiciones de consistencia de orden 1 y


de orden 2. Las condiciones para tener un orden de consistencia mas alto se
obtienen de manera similar.
En primer lugar desarrollamos la solucion teorica. Se tiene que
y(xn+1 ) = y(xn ) + hy 0 (xn ) +

h2 00
h3
y (xn ) + y 000 ( n ),
2
3!

donde n [xn , xn+1 ]. Usando la EDO para expresar y 0 e y 00 en terminos de f ,


y(xn+1 ) = y(xn ) + hf (xn , y(xn )) +
2

+ h2

d
P

J=1

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

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

h3 000
y ( n ).
3!

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


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

d
P

f
y J

J=1
d
P

+h

j=1

aij

P
aij kj (xn , y(xn ); h)
= ci f
x
+
c
h,
y(x
)
+
h
n
i
n
x
j=1

xn + ci h, y(xn ) + h

s
P

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

j=1

dkjJ
(x
,
y(x
);
h)
,
n
n
dh

s
P

j=1

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

expresion que evaluada en h = 0 produce


s
d
X
X
f
dki
f
(xn , y(xn ))f J (xn , y(xn )).
(xn , y(xn ); 0) = ci (xn , y(xn )) +
aij
J
dh
x
y
j=1
J=1

As, tenemos el siguiente desarrollo para la solucion numerica (bajo la hipotesis


de localizacion),
yn+1 = y(xn ) + h
= y(xn ) + h
+ h

s
P

i,j=1

s
P

i=1
s
P

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

i=1

bi aij

d
P

J=1

s
P

i=1

bi ci f
(xn , y(xn ))
x

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

52

h3 d 2 k i
(xn , y(xn ); ),
2 dh2

donde [0, h].


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

dependiente de n tal que ky 000 ( n )k, k ddhk2i (xn , y(xn ); )k C. Por consiguiente,
comparando ambos desarrollos concluimos que la condicion
s
X

bi = 1

(1.39)

i=1

es suficiente para tener orden de consistencia al menos 1 y que si ademas


s
X
i=1

s
X

1
bi c i = ,
2

i=1

1
bi aij = ,
2

(1.40)

entonces el orden de consistencia es al menos 2.


Por otra parte, si consideramos el problema y 0 (x) = 1, x [0, b], y(0) = 0,
s
P
bi ). Por consiguiente,
cuya solucion es y(x) = x, se tiene que Rn = h(1

si

s
P

i=1

i=1

bi 6= 1 el metodo no tiene orden de consistencia 1. De manera analoga

se demuestra que las condiciones (1.40) son necesarias para tener orden de
consistencia 2.
Observacion. La condicion de consistencia coincide con la condicion de consistencia de orden 1.
El ejemplo anterior debera bastar para convencerse de que calcular condiciones de orden para un metodo de Runge-Kutta general es una tarea ardua.
As que intentamos simplificar un poco las cosas.
Cualquier problema (1.2) se puede escribir en forma autonoma a costa de
aumentar la dimension del espacio. En efecto, si definimos

!
!

!
x
a
1
y(x) =
,
=
,
f(
y (x)) =
,
y(x)

f (x, y(x))
el problema (1.2) es equivalente al problema autonomo
y0 (x) = f(
y (x)),
53

y(a) = .

Podramos entonces pensar que basta con estudiar las condiciones de orden
para problemas autonomos, lo que es un poco mas facil. Hay una dificultad:
en general un metodo de Runge-Kutta no produce la misma solucion para
un problema que para su equivalente autonomo. Sin embargo, se puede comprobar facilmente que ambas soluciones numericas coinciden si el metodo es
consistente y satisface la condicion de suma por filas
ci =

s
X

aij ,

i = 1, 2 . . . , s.

(1.41)

j=1

Por consiguiente, si un metodo cumple esta condicion, podemos calcular el


orden de consistencia del metodo sin perdida de generalidad suponiendo que
el problema es autonomo. En adelante, salvo que se mencione expresamente
lo contrario, nos restringiremos a metodos que cumplan la condicion de suma
por filas.
Observacion. Si se cumple la condicion de suma por filas, las dos condiciones
(1.40) de orden 2 coinciden.
Cual es el mejor orden que podemos conseguir para un metodo de RungeKutta con un n
umero de etapas s dado? Las condiciones de orden son relaciones
no lineales sobre los coeficientes del metodo, 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 metodo es explcito.
Teorema 1.15. Un metodo de Runge-Kutta explcito de s etapas no puede
tener orden mayor que s.
Prueba. Aplicamos el metodo al problema escalar y 0 = y en [0, b], y(0) = 1,
cuya solucion es y(x) = ex . As pues, las derivadas de la solucion teorica vienen
dadas por

dp (y(xn + h))
xn +h
=
e
= exn = y(xn ).

h=0
dhp
h=0

En cuanto a la solucion numerica, aplicando la regla de Leibniz para la derivada


54

de un producto obtenemos que

(p)
yn+1

Por otra parte,

(p1)
k j1
h=0

h=0

=p

= (p 1)

= (p 1)(p

=
= (p 1)!

s
X

j1 =1

s
P

(p1)

b j1 k j1

(p2)
aj1 j2 k j2

j2 =1
s
P

h=0

h=0

(p3)
2)
aj1 j2 aj2 j3 k j3
h=0
j2 ,j3 =1

s
P

j2 ,j3 ,...,jp =1

aj1 j2 aj2 j3 . . . ajp1 jp

Por consiguiente, asumiendo la hipotesis de localizacion,

(p)
yn+1
h=0

= p!

s
X

(0)
k jp

h=0

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

j1 ,...,jp =1

Concluimos que la condicion


p!

s
X

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

(1.42)

j1 ,...,jp =1

es necesaria para que el metodo sea de orden p.


Si el metodo es explcito, aij = 0 para j i. As, a menos que exista una

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


s
P
bj1 aj1 j2 aj2 j3 . . . ajp1 jp = 0, y la condicion (1.42) no se
se tendra que
j1 ,...,jp =1

podra cumplir. Dicha sucesion solo 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 facil encontrar familias de soluciones a las correspondientes
condiciones de orden.
Ejemplo. Sea s = 1. La condicion de orden 1 es en este caso b1 = 1. El u
nico
metodo explcito de una etapa y orden 1 es por tanto el metodo de Euler.
55

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 condicion
de suma por filas). Si el metodo es explcito entonces c1 = 0, y la condicion
de orden 2 queda que b2 c2 = 1/2. Hay pues una familia uniparametrica de
metodos explcitos de 2 etapas y orden 2,
c2 = ,

b1 = 1

1
,
2

b2 =

1
,
2

R, 6= 0.

Que pasa con s = 5? Para que un metodo sea de orden 5 se tienen que
satisfacer 17 condiciones de orden. Si s = 5 tenemos solo 15 parametros libres.
Sin embargo, el sistema es no lineal, as que podra haber solucion. Pero no es
as.
Teorema 1.16. Para p 5 no existe ning
un metodo de Runge-Kutta explcito

de orden p con s = p etapas.

Estas limitaciones sobre el orden obtenible que hemos mencionado se conocen como barreras de Butcher. Hay mas barreras. Por ejemplo, se tiene el
siguiente teorema.
Teorema 1.17. (i) Para p 7 no existe ning
un metodo de Runge-Kutta

explcito de orden p con s = p + 1 etapas.

(ii) Para p 8 no hay ning


un metodo de Runge-Kutta explcito con s = p + 2

etapas.

Problemas
1. Demostrar que las condiciones (1.40) son necesarias para tener orden de
consistencia 2.
2. Comprobar que las soluciones numericas por un metodo de Runge-Kutta
del problema de valor inicial (1.2) y de su equivalente autonomo coinciden si el metodo es consistente y satisface la condicion de suma por
filas (1.41).
56

3. Demostrar que para que un metodo de Runge-Kutta que cumple la condicion de suma por filas tenga orden de consistencia 3 es necesario y
suficiente que, ademas de (1.39) y (1.40), cumpla
s
X

bj c2j

j=1

1
= ,
3

b Ac =

s
X

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

4. Construir todos los metodos consistentes de orden al menos 2 de la forma


0
c2

c2

c3

c3

Estudiar si alguno tiene orden de consistencia 3. Tiene alguno orden de


consistencia 3 para el problema y 0 = y en [0, b], y(0) = 1?
5. Consideramos el siguiente metodo creado por Heun:

2h
h
2h
h
h
yn+1 = yn + f (xn , yn )+3f xn + , yn + f (xn + , yn + f (xn , yn )) .
4
3
3
3
3
(i) Comprobar que la funcion de incremento satisface una condicion de
Lipschitz de la forma (1.19).
(ii) Escribir su tablero.
(iii) Determinar el orden de convergencia.
6. Dado un metodo de Runge-Kutta explcito de s etapas, definimos =
s
P
|bj |. Sea L una constante de Lipschitz para f con
max |aij |, =
1i,js

i=1

respecto a su segunda variable.


(i) Demostrar que

kki (xn , yn ; h) ki (xn , yn ; h)k Li kyn yn k,


donde i satisface la recurrencia
1 = 1,

i = 1 + hL

i1
X
j=1

57

j ,

i = 1, . . . , s.

(ii) Demostrar que la solucion de dicha recurrencia es i = (1+hL)i1 .


(iii) Concluir que la funcion de incremento del metodo 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 metodos de Runge-Kutta

a)

2/3

1/3

1/3

1/4

3/4,

b)

1/4

2/3

1/4
1/4

1/4
5/12
3/4.

Para cada uno de ellos:


(i) Comprobar que la correspondiente funcion de incremento satisface
una condicion de Lipschitz con respecto a su segunda variable.
(ii) Comprobar que las etapas k1 y k2 estan 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 metodo de Runge-Kutta (1.36), comprobar que admite la formulacion equivalente
Yi = y n + h

s
X

aij f (xn + cj h, Yj ),

i = 1, . . . , s,

(1.43)

n = 1, . . . , N 1.

(1.44)

k=1

yn+1 = yn + h

s
X

bi f (xn + ci h, Yi ),

i=1

Demostrar, utilizando el Teorema de la Aplicacion Contractiva, que para


todo h peque
no el sistema de ecuaciones (1.43) tiene una u
nica solucion.
9. Consideramos el metodo de Runge-Kutta de tablero

58

1/3

1/3

1/3

1/4

3/4.

Este metodo no cumple la condicion de suma por filas. Determinar su


orden de consistencia. Tiene un orden de consistencia mayor cuando nos
restringimos a problemas autonomos?
10. Probar que la regla implcita del punto medio

h yn + yn+1
yn+1 = yn + hf xn + ,
2
2

es un metodo de Runge-Kutta de una etapa. Escribir su tablero y calcular


su orden.
11. Restringiendonos a ecuaciones escalares autonomas, demostrar que el
metodo de Runge-Kutta explcito de tablero
0
1/2

1/2

1/2

1/2

1/6

1/3

1/3

1/6

tiene orden 4.
12. Considerese el metodo cuyo tablero es
0
1

1/2

1/2

3/6

1/6

2/6

(a) Probar que es de orden 2 y no es de orden 3 en general.


59

(b) Probar que s es de orden 3 para todas las ecuaciones lineales de la


forma y 0 = M y donde M es una matriz de constantes.
13. Es posible encontrar un metodo que tenga orden tres (en general) para
problemas escalares y 0 = f (y) y que tenga orden menor (en general)
cuando sean vectoriales?

Q
(x ci ), ql (x) = q(x)/(x cl ), l = 1, . . . , . Demostrar
14. Sea q(x) =
i=1

que el metodo de colocacion de parametros c1 , . . . , c es un metodo de

Runge-Kutta implcito de tablero


c

A
bT ,

con
aij =

1.11.

ci
0

qj (x)
dx,
qj (cj )

bi =

1
0

qi (x)
dx,
qi (ci )

i, j = 1, . . . , .

Diagramas de eficiencia

En las paginas anteriores hemos estudiado diversos metodos. Cual de ellos


es mejor? Para un coste computacional dado, cual da un resultado mas preciso? Cual requiere menos trabajo computacional para obtener una precision
dada? Para intentar responder a estas preguntas elaboraremos los llamados
diagramas de eficiencia. Para ello tomamos un problema test, cuya solucion
conozcamos, que sea representativo del tipo de problemas que queremos estudiar numericamente. Al aplicarle el metodo numerico con mallas cada vez mas
finas vamos obteniendo errores cada vez menores, a costa de trabajar cada vez
mas. El diagrama de eficiencia se obtiene representando en escalas logartmicas
la precision conseguida frente al coste computacional. La precision se puede
medir, por ejemplo, con la norma infinito del error, y el coste computacional
por medio del n
umero de evaluaciones de funcion (que es lo que suele suponer
el mayor coste) o del tiempo de CPU.
60

10

Euler
Trapecio
1

10

error

10

10

10

10

10

10

10

10

10

10

evaluaciones de funcin

Figura 1.1: Diagrama de eficiencia para el problema (1.45)(1.46).

Como primer ejemplo consideramos el problema lineal


y 0 (x) = Ay(x) + B(x)
con
A=

2
1

1
2

y(0) = (2, 3)T ,

para 0 x 10
!

cuya solucion es
y = 2e

B(x) =
!
1
x
1

2 sen x
2(cos x sen x)

sen x
cos x

(1.45)

(1.46)

(1.47)

En la figura 1.1 representamos el diagrama de eficiencia para el metodo de


Euler y la regla del trapecio aplicados a este problema. Medimos el error con
la norma infinito, es decir, error max ky(xn ) yn k ; para medir el cos1nN

te computacional utilizamos el n
umero de evaluaciones de funcion. Cuanta
mayor precision, mas abajo estaremos en el diagrama, y cuanto mas trabajo
realicemos, mas a la derecha.
61

El diagrama muestra que, para un metodo dado, a mayor precision mayor


trabajo. Tambien muestra que no hay un metodo que sea el mejor. En efecto,
para precisiones poco exigentes el metodo de Euler es superior, pero las tornas
se cambian a medida que pedimos que el error sea mas peque
no.
Los puntos parecen disponerse a lo largo de rectas. Veamos una explicacion
cuando el orden del metodo es p. En este caso
error = max ky(xn ) yn k Chp =
1nN

C(b a)p
.
Np

Llamemos fc al n
umero de evaluaciones de funcion. Usando que fc KN
obtenemos que error c (fc)p , y tomando logaritmos
log10 (error) = p log10 (fc) + c.
La pendiente de la recta es p. Esto produce una forma de obtener empri-

camente el orden de convergencia. En la grafica comprobamos que el metodo


de Euler tiene orden 1 y que la regla del trapecio tiene orden 2. Esto implica
en particular que la regla del trapecio acaba ganando al metodo de Euler
para un n
umero de evaluaciones de funcion suficientemente grande; pero hay
que tener en cuenta que quizas no queramos trabajar tanto.
Nuestro segundo ejemplo es de nuevo el problema lineal (1.45), pero ahora
A=

998 999

B(x) =

2 sen x
999(cos x sen x)

(1.48)

La solucion viene dada, tambien esta vez, por (1.47). El diagrama de eficiencia
se representa en la figura 1.2. Esta vez las cosas son muy distintas. A menos
que el n
umero de evaluaciones de funcion sea bastante alto, el metodo de
Euler funciona fatal. De hecho el error llega a superar las capacidades de
representacion del Matlab. Que demonios esta pasando? A la solucion no le
pasa nada especial. De hecho, nuestro primer ejemplo tena la misma solucion
y Euler funcionaba bastante bien.
62

300

10

Euler
Trapecio

250

10

200

10

150

error

10

100

10

50

10

10

50

10

10

10

10
evaluaciones de funcin

10

10

Figura 1.2: Diagrama de eficiencia para el problema (1.45)(1.48).

En cualquier caso, hemos aprendido una nueva leccion: la eficacia de los


metodos puede depender del problema.
Veamos un tercer y u
ltimo ejemplo, el problema lineal

y 0 (x) = Ay(x) para 0 x 2,

donde
A=

100
0

1
1
10

y(0) =

1
999
10

(1.49)

(1.50)

El diagrama de eficiencia para este problema se representa en la figura 1.3.


Como en el segundo ejemplo, a menos que el n
umero de evaluaciones de funcion
sea relativamente alto, el metodo de Euler funciona muy mal. Por el contrario,
la regla del trapecio funciona bien incluso para un n
umero de evaluaciones de
funcion bajo.
Que es lo que tienen de especial el segundo y el tercer ejemplo? Lo veremos
63

120

10

Euler
Trapecio
100

10

80

10

60

error

10

40

10

20

10

10

20

10

10

10

10

10

10

10

evaluaciones de funcin

Figura 1.3: Diagrama de eficiencia para el problema (1.49)(1.50).

en la siguiente seccion, estudiando con detalle el problema (1.49)(1.50).


Problemas
1. Consideramos un metodo que, para un cierto problema, tiene orden p.
Lo aplicamos a dicho problema con dos longitudes de paso distintas, h y
h0 . Probar que
p

log(error(h)) log(error(h0 ))
.
log h log h0

Como aplicacion, determinar el orden de un metodo que aplicado con


longitudes de paso h = 00 001 y h = 00 003 produce errores 10 011 108 y
20 699 107 respectivamente.

2. Estimar, a partir del diagrama de eficiencia (1.1), que longitud de paso


hay que tomar para conseguir que el maximo error cometido al aplicar
el metodo de Euler al problema (1.45)(1.46) sea 0,002. Comprobar que
64

la cota (1.24) sobreestima el error para esta longitud de paso en muchos


ordenes de magnitud.

1.12.

Qu
e es un problema stiff?

Lo primero que se nos ocurre es que a lo mejor el PVI (1.49)(1.50) no es


estable. Un calculo sencillo muestra que
kf (x, y) f (x, y)k = kA(y y)k kAk ky yk ,
y el problema satisface una condicion de Lipschitz con L = kAk . Dado que
kAk = max

i=1,...,d

d
X
j=1

|aij |,

obtenemos L = 101 como constante de Lipschitz para el problema. Este n


umero es, en efecto, bastante grande. Sin embargo, como veremos, el problema es
muy estable. Calculemos su solucion.
Pasando a la forma canonica de Jordan

!
1
1
A = V DV 1 , donde V =
0 999
10

y D=

100

0
1
10

La matriz de paso V tiene por columnas los vectores v1 y v2 de la nueva base,


que son autovectores de la matriz A. De aqu se obtiene que la solucion exacta
del problema (considerado ahora para x 0) viene dada por
y(x) = exA y0 = V exD V 1 y0 ,

donde exD =

e100x

e 10

Si V 1 y0 = (, )T , concluimos que
y(x) = v1 e100x + v2 ex/10 ,
65

x 0.

La funcion e100x decae extraordinariamente mas aprisa que ex/10 . Por tanto,
incluso para x > 0 peque
no, la contribucion de v1 es despreciable a todos los
efectos, y se tiene que y(x) v2 ex/10 .
Supongamos que tenemos dos soluciones de la ecuacion, y e y, tales que
T . Entonces
V 1 y0 = (, )T , V 1 y0 = (
, )
2 ex/10 0
y(x) y(x) = (
)v1 e100x + ( )v

cuando x .

La diferencia entre dos soluciones cualesquiera decae a cero exponencialmente,


as que el problema es muy estable. La estabilidad del PVI no es por tanto la
causa de nuestros males.
Si resolvemos el problema por el metodo de Euler con paso fijo h se tiene
que
yn+1 = (I + hA)yn ,
y por induccion que
yn = (I + hA)n y0 ,

n = 0, 1, 2, . . . .

Pasando a la forma canonica de Jordan,


yn = V (I + hD)n V 1 y0 ,
y, dado que
(I + hD)n =

(1 100h)n
0

n = 0, 1, . . . ,

0
(1

h n
)
10

se sigue que
n

yn = v1 (1 100h) + v2

h
1
10

n = 0, 1, . . . ,

donde, como antes, V 1 y0 = (, )T . Si h > 1/50, entonces |1 100h| > 1, y


para n grande los iterados de Euler crecen en magnitud geometricamente, en

contraste con el comportamiento asintotico de la verdadera solucion.


66

16

14

12


10

10

15

20

25

Figura 1.4: Logaritmo de la norma eucldea kyn k de los pasos de Euler, cuando se aplica
el metodo al problema (1.49)(1.50) con h = 1/10 y condicion inicial igual al autovector
estable.

Supongamos que escogemos una condicion inicial identica a un autovector


correspondiente al autovalor 1/10, por ejemplo
!

1
,
y0 =
999

(1.51)

10

lo que corresponde a tomar = 0, = 1. En aritmetica yn = y0 (1

h n
) .
10

La solucion numerica converge al vector cero cuando n para valores


razonables de h, concretamente para h < 20. As que podramos esperar que

todo fuera bien con el metodo de Euler. No es as. Los ordenadores reales
producen errores de redondeo y antes o despues produciran una contribucion
distinta de cero a un autovector correspondiente al autovalor 100. En cuanto

esto ocurre la componente inestable crece geometricamente como (1100h)n ,


y rapidamente, a menos que h < 1/50, eclipsa a la verdadera solucion.
En la figura 1.4 se representa log kyn k frente a n, para n = 0, . . . , 25 con

la condicion inicial (1.51) y paso h = 1/10. El calculo se ha realizado con


67

Matlab. La norma de los diecinueve primeros pasos decrece con la velocidad


h n
)
10

correcta, dictada por (1

= (99/100)n . Sin embargo, a partir de ese

momento las cosas se estropean, y despues de un par de pasos la norma crece


geometricamente, como |1 100h|n = 9n . Se puede comprobar en la figura que,

en efecto, la pendiente de la curva es inicialmente log(99/100) 0,0101, pero

pasa a ser log 9 2,1972 cuando se llega al regimen inestable.

La anterior eleccion del dato inicial no es artificial. Si nos enfrentamos a un


problema como (1.49)(1.50) con una condicion inicial arbitraria tendremos
que emplear un tama
no de paso peque
no en el regimen transitorio inicial en
el que la contribucion del autovector inestable todava es significativa. Una
vez pasado este corto periodo, la solucion viene esencialmente descrita por el
autovector estable, y uno se ve tentado a incrementar h. Sin embargo hay
que resistirse a esta tentacion pues, como hemos visto antes, aunque no lo
parezca el autovector inestable siempre deja sentir su presencia.
Es importante comprender que este comportamiento no tiene nada que ver
con el error local del metodo numerico; hay que disminuir el paso, no por
consideraciones de precision, sino por la inestabilidad.
No todos los metodos numericos muestran tanta sensibilidad a la estabilidad. Por ejemplo, si resolvemos (1.49)(1.50) con la regla del trapecio y paso
fijo h,
h
yn+1 = yn + (f (xn , yn ) + f (xn+1 , yn+1 ))
2
obtenemos
yn+1 =

h
I A
2

h
I + A yn .
2

Se tiene que
yn =

h
I A
2

h
I+ A
2

!n

y0 ,

n = 0, 1 . . . .

Usando como antes la forma canonica de Jordan de A y factorizando deducimos


68

que
yn = v1
Dado que

1 50h
1 + 50h

+ v2

1 50h

1 + 50h ,

1
1+

1 +

h
20
h
20
h
20
h
20

!n

n = 0, 1, . . . .

<1

para todo h > 0, deducimos que lmn yn = 0. Esto recupera el comportamiento asintotico correcto para la ecuacion (1.49)(1.50) independientemente
del tama
no de h.
En otras palabras, la regla del trapecio no requiere ninguna restriccion en el
paso para evitar la inestabilidad. Esto no quiere decir, por supuesto, que cualquier h valga. Es necesario escoger h > 0 suficientemente peque
no como para
que el error local sea razonablemente peque
no y estemos aproximando adecuadamente la verdadera solucion. Sin embargo, no hay necesidad de disminuir h
hasta un tama
no min
usculo con el fin de evitar el crecimiento incontrolado de
componentes espurias de la solucion.
La ecuacion (1.49)(1.50) es un ejemplo de problema stiff (rgido, en ingles).
En la literatura se pueden encontrar varias definiciones de este concepto, pero
quizas sea mas interesante adoptar una definicion operativa, si bien un poco
vaga.
Definici
on 1.18. Decimos que el sistema
y 0 = f (x, y),

x x0 ,

y(x0 ) = y0 ,

es stiff si su resolucion numerica por algunos metodos exige una disminucion


significativa del paso de integracion para evitar inestabilidades.
Es evidente que esta no es una definicion matematica correcta; pero tampoco estamos intentando probar teoremas del tipo si un sistema es stiff entonces. . . . Lo importante de este concepto es que nos debe ayudar a elegir y
dise
nar metodos numericos.
69

En nuestro ejemplo hemos visto uno de los mecanismos (de hecho, uno de
los mas frecuentes) que hacen que un problema sea stiff, el que haya modos
con escalas y tiempos de vida muy diferentes en la solucion. Es frecuente
designar al cociente de los modulos de los autovalores de mayor y menor modulo
de un sistema lineal (en el caso de un sistema general, los autovalores de la
matriz jacobiana) como coeficiente de rigidez del sistema. Si dicho coeficiente es
grande, el sistema suele ser stiff. No obstante, haremos notar que este analisis
lineal puede fallar al aplicarlo a un sistema no lineal.
Una gran parte de los sistemas de ecuaciones diferenciales ordinarias que
aparecen en problemas reales son stiff. Siempre que las ecuaciones modelen varios procesos con velocidades de evolucion muy distintas, el problema sera probablemente stiff. Esto sucede por ejemplo en problemas de cinetica qumica,
combustion, prediccion meteorologica, biologa y electronica. Otra fuente muy
importante de problemas stiff es el propio analisis numerico. Por ejemplo, las
ecuaciones en derivadas parciales parabolicas se aproximan con frecuencia con
sistemas de ecuaciones diferenciales ordinarias que resultan ser stiff.
Problemas
1. Consideramos un metodo de Runge-Kutta de tablero
c

A
bT .

2. Sea
A=

1
0

C .

(a) Probar que


An =

n nn1
0

n = 0, 1, . . .

(b) Sea g una funcion analtica en un entorno del origen. Definimos


70

g(A) =

n=0

g (n) (0) n
A .
n!

g(xA) =

Demostrar que

g(x) xg 0 (x)
0

g(x)

C .

(c) Demostrar que la solucion de y 0 = Ay, y(0) = , es y(x) = exA . Si


Re < 0, demostrar que lm y(x) = (0, 0)T . La solucion numerica
x

de este problema por el metodo de Euler verifica yn = (I + hA)n .


Dar una expresion explcita para esta cantidad y demostrar que
lm yn = (0, 0)T para cualquier eleccion de si y solo si |1+h| < 1.

3. Caracterizar el valor de la condicion inicial y(0) en el problema

!
5
4
y0 =
y
2
1
para que al aplicar el metodo de Euler con h = 1 se cumpla lm yn = 0.
n

4. Probar el teorema de los crculos de Gershgorin que afirma que los autovalores de una matriz A = (aij ) pertenecen a la union de los crculos en
P
el plano complejo dados por Di = {z : |z aii | j6=i |aij |}.

5. Considerese el problema y 0 = Ay, y(0) = y0 con A M22 (R) diagonalizable en R. Demostrar que si los elementos de A son menores que

uno en valor absoluto y lm y(x) = 0, entonces al aplicar el metodo de


x

Euler con cualquier h < 1 se cumple lm yn = 0. Indicacion: Utilizar el


n

teorema de los crculos de Gershgorin.


6. Considerese el problema
y0 =

242

324

183 245

y.

Probar que cualquiera que sea la condicion inicial y el paso h < 1, al


aplicar el metodo de Euler se tiene lm yn = lm y(x) = 0. Como es
n

posible si los coeficientes son muy grandes?


71

x+

1.13.

Dominio de estabilidad lineal y A-estabilidad

Supongamos que aplicamos un metodo numerico con paso constante h > 0


a la ecuacion lineal escalar
y 0 = y,

x 0,

y(0) = 1,

(1.52)

donde C. La solucion exacta es y(x) = ex , y por tanto lm y(x) = 0 si y


x

solo si Re < 0.

Definici
on 1.19. El dominio de estabilidad lineal (tambien llamado region
de estabilidad absoluta) de un metodo numerico es el conjunto de todos los
n
umeros z = h con h > 0, C, tales que la solucion numerica de (1.52)

verifica que lm yn = 0.
n

Es decir, el dominio de estabilidad lineal es el conjunto de los h para los


que se recupera el comportamiento asintotico de la solucion exacta cuando esta
es estable. Lo denotaremos por D.
Ejemplo. Al aplicar el metodo de Euler a (1.52) obtenemos la sucesion
yn = (1 + h)n ,

n = 0, 1, . . . ,

que es geometrica. As pues, lm yn = 0 si y solo si |1 + h| < 1. Concluimos


n

que D = {z C : |1 + z| < 1}.

Ejemplo. Para la regla del trapecio tenemos que

n
1 + 12 h
yn =
,
n = 0, 1, . . . ,
1 21 h
que es una progresion geometrica. El dominio de estabilidad lineal es obviamente

D= zC:

1 + 12 z
<1 .

1 1z
2

Es facil verificar entonces que D = {z C : Re z < 0}.


72

Por que estamos s


ubitamente interesados en una humilde ecuacion escalar?
Supongamos que queremos resolver
y 0 = Ay,

y(0) = y0 ,

con A una matriz dd arbitraria, por el metodo de Euler. La solucion numerica


es yn = (I +hA)n y0 . Si existe una base de autovectores de A, v1 , v2 , . . . , vd Cd ,

entonces A = V DV 1 con D = diag (1 , 2 , . . . , d ), y se tiene que yn =


V (I + hD)n V 1 y0 . Si V 1 y0 = (1 , 2 , . . . , d )T , entonces
yn =

d
X

k vk (1 + hk )n ,

n = 0, 1, . . . .

k=1

Supongamos que la solucion exacta es asintoticamente estable. Esto solo ocurre


si Re k < 0 para todo k = 1, 2, . . . , d. Para que la solucion numerica de Euler
imite este comportamiento se necesita que el paso h > 0 sea tal que
|1 + hk | < 1,

k = 1, . . . , d.

Es decir, todos los productos h1 , . . . , hd deben estar en el dominio de estabilidad lineal del metodo de Euler. Esto significa en la practica que el tama
no
del paso esta determinado por aquel autovalor que sea peor desde el punto de
vista de la estabilidad.
La restriccion de que A tenga una base de autovectores se puede relajar,
ya que la forma canonica de Jordan es suficiente.
El analisis se puede extender tambien facilmente a sistemas no homogeneos,
y 0 = Ay + a.
El dominio de estabilidad lineal D es tambien importante en sistemas no

lineales. Dado un sistema no lineal


y 0 = f (x, y),

x x0 ,

y(x0 ) = y0 ,

se suele pedir que en el paso n-esimo


hn,1 , hn,2 , . . . , hn,d D,
73

donde n,1 , . . . , n,d son los autovalores de la matriz jacobiana


Jn

f (xn , yn )
.
y

Esto se basa en la suposicion de que localmente el comportamiento del sistema


esta bien modelado por la ecuacion variacional
y 0 = f (xn , yn ) + Jn (y yn ).
Hay que advertir que esto dista mucho de ser exacto.
Cuanto mayor sea la region de C := {z C : Re z < 0} cubierta por D,

menos restricciones para h debidas a posibles inestabilidades (recuerdense los


ejemplos de Euler y la regla del trapecio). Eso motiva la siguiente definicion.
Definici
on 1.20. Un metodo es A-estable si
C D.

Es decir, si un metodo es A-estable podemos elegir la longitud de paso h (al


menos para sistemas lineales) solo por motivos de precision, sin restricciones
debidas a la inestabilidad. Estos metodos seran buenos para problemas stiff.
Problemas
1. Determinar el dominio de estabilidad lineal de cada uno de los metodos
descritos en la seccion 1.3.
2. Considerese el dominio de estabilidad lineal para el metodo de Euler
mejorado. Estudiar si es simetrico con respecto al punto z = 1 (es decir,

invariante por giros de 180o alrededor de dicho punto), con respecto a la


recta Im z = 0, y con respecto a la recta Re z = 1.

3. Hallar el supremo de los h > 0 tales que al aplicar el metodo de Euler al


problema
y0 =

1 1

y,

se cumple que lm yn = 0 (para cada h fijado) cualquiera que sea la


n

condicion inicial y(0) = y0 R2 .


74

4. Considerese el problema
y0 =

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 condicion inicial
lm yn = 0, donde yn es la solucion numerica obtenida al aplicar el

metodo de Runge-Kutta clasico de cuatro etapas y orden cuatro.


5. Estudiar si es Aestable el metodo de tablero
0

1/2

1/2

1/2

1/2

y hallar la funcion de incremento correspondiente, f (xn , yn ; h), comprobando que satisface una condicion de Lipschitz con respecto a su segunda
variable para h peque
no.
6. Determinar para que valores de es A-estable el -metodo
yn+1 = yn + h(fn + (1 )fn+1 ).
7. Se dice que un metodo es Lestable si al aplicarlo a y 0 = y se cumple
yn+1 = R(h)yn con R(z) 0 cuando Re z .

a) Probar que la regla del trapecio no es Lestable mientras que el


metodo implcito yn+1 = yn + hf (xn+1 , yn+1 ) s lo es.
b) Explicar en que sentido los metodos Lestables imitan mejor el decaimiento rapido de la solucion de y 0 = y cuando Re es grande en

comparacion con h1 .

1.14.

Selecci
on autom
atica del paso

Hasta ahora nos hemos limitado a considerar mallas uniformes. Esto presenta un inconveniente importante: si la solucion vara mucho en alguna zona
75

del intervalo de integracion, nos vemos obligados a dar pasos peque


nos en todo
el intervalo, con el consiguiente coste computacional. Sera preferible adaptar
la malla a la solucion, haciendola mas fina en aquellas regiones donde vare
rapidamente y mas gruesa donde cambie poco. La dificultad estriba en que
no conocemos la solucion (estamos intentando calcularla!), y por tanto no
sabemos a priori donde necesitamos una malla mas fina. Que hacer? Una posibilidad es que sea el propio metodo quien elija la malla, a medida que calcula
la solucion, de manera que el error cometido este 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 ,
tenga tama
no menor que una tolerancia dada. La dificultad 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
eran exacto. Este error, conocido como error local, viene dado por
un (xn+1 ) yn+1 ,
donde un , la solucion local, es la solucion del problema de valor inicial
u0n (x) = f (x, un (x)),

un (xn ) = yn .

Podemos controlar el error global a traves del error local? El siguiente resultado muestra que s.
Teorema 1.21. Sea =

max (kun (xn+1 ) yn+1 k/hn ) y L una constante

0nN 1

de Lipschitz para f con respecto a su segunda variable. Entonces


ky(xn ) yn k eL(ba) ky(x0 ) y0 k + eL(ba) (b a),

n = 1, . . . , N.

Prueba. Se basa en la identidad


y(xn+1 ) yn+1 = (y(xn+1 ) un (xn+1 )) + (un (xn+1 ) yn+1 ).
76

Por la dependencia continua


ky(xn+1 ) un (xn+1 )k eLhn ky(xn ) yn k,
y por tanto
ky(xn+1 ) yn+1 k eLhn ky(xn ) yn k + hn .
A partir de aqu se prueba facilmente, por induccion, que
ky(xn ) yn k eL(xn x0 ) ky(x0 ) y0 k + eL(xn x0 ) (xn x0 ),
de donde se deduce inmediatamente el resultado.
Observacion. 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 limitacion fundamental de cualquier metodo numerico. No
importa cuan preciso sea al aproximar la solucion en un paso dado, si el PVI
es inestable, esto es, si la diferencia entre dos soluciones crece rapidamente con
x, acabaremos calculando soluciones numericas {yn } que estaran lejos de los
verdaderos valores y(xn ).

Motivados por este teorema, queremos escribir un codigo que elija automaticamente la longitud del paso de forma que la norma del error local por
unidad de paso,
kun (xn+1 ) yn+1 k/hn ,
se ajuste a una tolerancia prescrita. Sera por tanto necesario tener una forma
de estimar esta cantidad.
Si un metodo de un paso es consistente de orden p, se puede probar facilmente que el error local es de orden p + 1. Es mas, si f C p+1 , existe una
funcion f tal que

un (xn+1 ) yn+1 = f (xn , yn )hp+1


+ O(hp+2
n
n ).
Por consiguiente, podemos estimar el error local por medio del termino principal de este desarrollo,
errorl kf (xn , yn )khp+1
n .
77

Ejemplo. Supongamos que aplicamos Euler a un problema escalar. El error


local satisface
un (xn+1 ) yn+1 =

u00n (xn ) 2 u000


(n ) 3
hn + n
hn ,
2
3!

y podemos estimarlo por el termino principal,

f (xn , yn )h2n = fx (xn , yn ) + fy (xn , yn )f (xn , yn ) h2n /2.

La estimacion supone dos evaluaciones de funcion, fx (xn , yn ) y fy (xn , yn ),


(f (xn , yn ) ya se haba 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 solucion numerica.
El termino principal del error local, f (xn , yn )hp+1
n , se puede calcular, pero
resulta demasiado costoso (vease el ejemplo anterior). Tendremos que pensar
en otra forma mas barata de estimarlo.
Supongamos que calculamos una segunda aproximacion yn+1 y(xn+1 )

por medio de un metodo de un paso mas preciso,

un (xn+1 ) yn+1 = f (xn , yn )hpn+1 + O(hpn+2 ),

p p + 1.

Por consiguiente,
yn+1 yn+1 = yn+1 un (xn+1 ) + un (xn+1 ) yn+1
+ O(hp+2
= f (xn , yn )hp+1
n ),
n
as que podemos estimar el error local por medio de
errorl kf (xn , yn )khp+1
k
yn+1 yn+1 k.
n

(1.53)

Una vez estimado el error se compara con TOLhn donde TOL es la tolerancia
prescrita para el error local por unidad de paso. Si errorl > TOL hn , el paso
se rechaza, y se vuelve a calcular con un nueva longitud h0n tal que
kf (xn , yn )k(h0n )p+1 = TOL h0n .
78

Dado que
TOL =

kf (xn , yn )k(h0n )p

kf (xn , yn )khpn

h0n
hn

errorl

hn

h0n
hn

vemos que la eleccion optima es


h0n

= hn

TOL hn
errorl

p1

(1.54)

El proceso se repite hasta que errorl TOL hn . En ese momento el paso se

acepta. Se intenta ahora un nuevo paso con la longitud optima (1.54).

Para tener un buen codigo hay que poner un poco mas de cuidado. Se suele
multiplicar el segundo miembro de (1.54) 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 fin de hacer el metodo mas seguro. Tambien es costumbre fijar
una longitud de paso maxima, HMAX. As, por ejemplo podemos poner

p1 !!
TOL

h
n
.
h0n = mn HMAX, hn mn FACMAX, FAC
errorl
FACMAX se suele tomar entre 1,5 y 5.
Como elegir el segundo metodo para que el coste adicional de estimar el
error no sea muy grande? Utilizamos una idea debida a Merson.
Sea un metodo de Runge-Kutta de orden p de tablero
c

A
bT .

La solucion numerica por este metodo es


yn+1 = yn + hn

s
X

bi k i .

i=1

Si tuvieramos otro metodo de Runge-Kutta con las mismas etapas,


79

A
bT

pero de distinto orden, p > p, podramos calcular la solucion


yn+1 = yn + hn

s
X

bi ki

i=1

sin coste adicional, pues las etapas ki coinciden. Esta solucion mas precisa se
puede utilizar para estimar el error cometido con el primer metodo. A un par
de metodos con estas caractersticas se le conoce como par encajado.
Ejemplo. El par encajado
0
1

yn+1

yn+1

1
2

1
2

avanza con el metodo de Euler y estima con el metodo de Euler mejorado.


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

i = 1, . . . , s.

En los metodos con esta propiedad la u


ltima etapa del paso n viene dada por
ks (xn , yn ; hn ) = f (xn + cs hn , yn + hn

s1
X

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

s1
X

bi ki ),

i=1

i=1

donde hemos usado las condiciones de suma por filas y de consistencia para
s
s
P
P
probar que cs =
asj =
bj = 1. Por otra parte, por ser el metodo explcito,
j=1

j=1

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
X
i=1

80

bi ki ).

Es decir, la primera etapa de cada paso coincide con la u


ltima del paso anterior.
Por tanto la primera etapa solo hay que calcularla en el primer paso, y desde el
punto de vista computacional es como si el metodo tuviera una etapa menos.
En el ejemplo que nos ocupa tenemos en la practica una evaluacion de funcion
por paso, lo mismo que para el metodo de Euler!
Aunque la estimacion (1.53) da el error de truncacion para el metodo del
par encajado de orden mas bajo, si h es suficientemente peque
no el error para
el metodo de orden alto sera a
un menor; as que, por que no avanzar con el
metodo de orden mas alto? A esto se le llama hacer extrapolacion local. La
desventaja es que si el metodo de avance original tena la propiedad FSAL,
esta se pierde, con el coste computacional extra que ello supone.
Ejemplo. El par encajado
0
1

yn+1

1
2

1
2

yn+1

avanza con el metodo de Euler mejorado y estima con el metodo de Euler. En


este caso el metodo de avance es de orden 2, pero a cambio hay que hacer dos
evaluaciones de funcion por paso.
Notacion. Un par encajado es de tipo p(q) si el orden de yn+1 (el metodo que
se utiliza para avanzar) es p, y el orden de yn+1 (el metodo que se usa para
estimar) es q.
En la figura 1.5 representamos el diagrama de eficiencia para el problema (1.45)(1.46) usando los dos pares encajados que acabamos de describir,
as como el metodo de Euler y la regla del trapecio, estos dos u
ltimos con malla prefijada uniforme. Siendo ambos de orden 1, el par encajado Euler/Euler
mejorado 1(2) trabaja diez veces menos que el metodo de Euler para conseguir
un mismo error. Si comparamos la regla del trapecio con el par Euler mejora81

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

10

evaluaciones de funcin

Figura 1.5: Diagrama de eficiencia para el problema (1.45)(1.46).

do/Euler 2(1), dos metodos de orden 2, se tiene el mismo factor de ahorro de


coste. Por otra parte, los ordenes empricos responden a lo esperado, es decir,
orden 1 para el par Euler/Euler mejorado 1(2) y orden 2 cuando se hace extrapolacion local. A pesar de ser tan solo 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 que pasa si el problema es stiff? Para hacernos una idea aplicamos
estos metodos al problema (1.45)(1.48). El resultado se representa en la figura 1.6 (no hemos utilizado el metodo 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 este en el dominio de estabilidad lineal. As que, a menos que
estemos dispuestos a trabajar mucho, la regla del trapecio es superior al metodo
82

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

10

evaluaciones de funcin

Figura 1.6: Diagrama de eficiencia para el problema (1.45)(1.48).

con extrapolacion.
Problemas
1. Queremos resolver el problema de valor inicial (1.2) en el intervalo [0, 1]
con funcion 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 precision


infinita, que tolerancia debemos tomar para el error local por paso para
garantizar que el maximo error cometido sea 105 ?
2. Consideramos la ecuacion diferencial
y 0 (x) = 3(y(x) sen x) + cos x,

x [0, 2].

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


0 e y(0) = .
83

(b) Supongamos que calculamos numericamente la solucion correspondiente al dato inicial y(0) = 0 con un metodo que selecciona automaticamente el paso, imponiendo una tolerancia para el error local
por paso de 1010 . Debido a la precision finita del ordenador se
comete un error en el dato inicial de 1012 . De cuantas cifras decimales de la solucion nos podemos fiar?
3. Consideramos un problema de valor inicial en el que la funcion f del lado
derecho satisface la condicion de Lipschitz unilateral
< f (x, y) f (x, y), y y > lky yk22
con constante l < 0. Demostrar que
ky(xn ) yn k2 el(ba) ky(x0 ) y0 k2 + (b a),

n = 1, . . . , N,

siendo una cota para la norma eucldea del error local por unidad de
paso.
4. Calcular el termino principal del desarrollo del error local para el metodo
de Euler modificado. Cuantas evaluaciones de funcion 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

a31

a32

b1

b2

bb1

bb2

bb3

84

También podría gustarte