runge kutt a

56
THI,Integraci´onnum´ erica Sistemas de EDOs: M´ etodos de Runge-Kutta C. Palencia ([email protected]) ETSI Telecomunicaci´ on, UVA

Upload: pruebaprueba123

Post on 04-Dec-2015

237 views

Category:

Documents


0 download

DESCRIPTION

Runge Kutt A

TRANSCRIPT

THI, Integracion numerica Sistemas

de EDOs: Metodos de Runge-Kutta

C. Palencia ([email protected])

ETSI Telecomunicacion, UVA

Determinismo vs sistemas de EDOs

Los problemas de valores inciales relativos a los sistemas de

Ecuaciones Diferenciales Ordinarias (SEDOs) son muy frecuentes

en las Leyes de la Naturaleza y en el modelado de un sinnumero

de situaciones, pues son la expresion matematica de la idea de

determinismo.

Supongamos que cierto sistema (de cualquier naturaleza) esta

totalmente descrito, en un instante dado t ∈ R, toda vez que

conocieramos un vector de estado x ∈ Ωt ∈ Rd correspondiente a

dicho instante. El conjunto Ωt recoge todos los estados potencial-

mente concebibles, los diferentes estados que el sistema podrıa

adoptar el en instante t.

1

En ciertos instantes t0 ∈ R podemos llevar a cabo mediciones del

vector de estado del sistema y nos proponemos, sobre la base

de esta unica medicion, tanto anticipar como volver la vista al

pasado, saber cual sera o era el vector de estado en cualquier

instante diferente de t0. En algunas ocasiones, en lugar de medir,

estamos en condiciones de forzar la situacion de suerte que en

t0 el sistema adopte un estado admisible (en Ωt0) a nuestra

eleccion y nos planteamos entonces el mismo objetivo (en rigor

ahora hacia el futuro).

Una evolucion concreta de dicho sistema vendra dada por una

curva u : I ⊂ R→ Rd de suerte que u(t) es el vector de estado que

corresponde al sistema en el instante t ∈ I. En este contexto, I

es el intervalo que consta de todos los instantes para los cuales

tiene sentido concebir la materializacion del sistema.2

La hipotesis determinista se puede formular diciendo que u(t),

para cualquier t ∈ I, es una funcion de u(t0) y del propio t0 ∈ R.

Debe existir por tanto una aplicacion

Φ : Dom (Φ) ⊂ R× R× Rd → Rd

tal que

Φ(t, t0,x0) = vector de estado en t sabiendo que en t0 es x0.

El dominio de definicion Dom consta de los tripletes

(t, t0,x0) ∈ R× R× Rd

tales que x0 ∈ Ωt0 y t pertenece al intervalo donde tiene sentido

hablar de la evolucion que corresponde a la observacion (t0,x0).

3

Sea ahora u : I ⊂ R→ Rd una evolucion del sistema y tomemos

dos instantes t0, t1 ∈ I. Por definicion,

u(t0) = Φ(t0, t0,u(t0))

y, para todo t ∈ I,

u(t) = Φ(t, t0,u(t0)) = Φ(t, t1,u(t1)) = Φ(t, t1,Φ(t1, t0,u(t0))).

Estas propiedades definen lo que llamamos un flujo (en este

contexto). No es difıcil probar el siguiente aserto: supongamos

que Φ es diferenciable en la primera variable, llamemos

Ω = (t,x) ∈ R× Rd : (t, t,x) ∈ Dom (Φ)

y sea f : Ω→ R la aplicacion dada por f(t,x) = ∂1Φ(t, t,x).

4

Entonces se puede demostrar que toda evolucion u : I ⊂ R→ Rd

del sistema cumple

u′(t) = f(t,u(t)), t ∈ I,

esto es, las evoluciones se rigen por un SEDOs de primer orden.

Evidentemente es mucho mas sencillo afirmar algo sobre la velocidad

del estado, conocido el estado del sistema, que hacer predicciones.

No es de sorprender pues que los modelos deterministas se formulen

habitulmente mediante un SEDOs (generador infinitesimal del

flujo), lo mismo que las Leyes fısicas de tipo determinista.

5

Por otra parte, con frecuencia, por ejemplo en mecanica o en

circuitos, el determinismo se expresa diciendo que conocida la

configuracion de sistema u(t0) en un instante y, conocida la

velocidad del mismo u′(t0) en el mismo, entonces la configuracion

u(t) esta determinada en todo tiempo t ∈ I. Esta situacion se

reduce a la anterior sin mas que llamar vector de estado al

vector ampliado [u(t),u′(t)]T ∈ R2d. En terminos de SEDOs,

esto conduce a que u(t) es solucion de un SEDOs de segundo

orden

u′′(t) = g(t,u(t),u′(t)),

como ya sabemos por ejemplo ocurre en la mecanica. A su vez,

los sistemas de segundo orden se reescriben como sistemas de

primer orden para el vector ampliado [u(t),u′(t)]T , por lo que en

el resto de la exposicion nos limitaremos a estos ultimos.

6

Es una cuestion de hecho que, salvo en contadas ocasiones,

no es posible integrar un SEDOs vıa algoritmos basados en

cuadraturas. Por ello es necesario recurrir a metodos numericos.

Antes de proseguir, vamos a hacer algunos comentarios sobre la

unicidad y la propagacion de errores en los SEDOs.

Nos centramos en la aplicacion f : Ω ⊂ R× Rd → Rd que define

un SEDO sistema. Las variables son mudas, pero las vamos a

denotar por (t,x) ∈ Ω. Fijada una condicion inicial (t0,x0) ∈ Ω,

planteamos el problema de Cauchy (problema de valores iniciales)

(1)

x′(t) = f(t,x(t)),x(t0) = x0.

Sin otra suposicion que la continuidad de f , se puede demostar

(Teorema de Peano( que el problema tiene al menos una solucion

siempre que (t0,x0) sea interior a Ω.

7

Es de interes la situacion en la que f admite una constante de

Lipschitz L ≥ 0 respecto de x, es decir, cuando

‖f(t,x2)− f(t,x1)‖ ≤ L‖x2 − x1‖, (t,x1), (t,x2) ∈ Ω.

Esta condicion se cumple “localmente”siempre que f admita

parciales contuinuas respecto de x. La existencia de una constante

de Lipschitiz local implica la unicidad: dos posibles soluciones del

PC (1) han de coincidir en el intervalo comun de definicion. Si L

es global, entonces dadas dos soluciones del sistema uj : Ij → Rd,con t0 ∈ I1 ∩ I2, tenemos

‖u2(t)− u1(t)‖ ≤ exp(L|t− t0|)‖u2(t0)− u1(t0)‖, t ∈ I1 ∩ I2.

Esta desigualdad da una cota (pesimista en muchos casos, pero

alcanzable en otros) sobre la separacion entre distintas soluciones.

Observemos que implica la unicidad.

8

Metodos de un paso

Si bien en ciertos casos particulares es posible obtener las soluciones

de (1) mediante un algoritmo basado en cuadraturas (cuadraturas

es en este contexto sinonimmo de primitivas)), lo cierto es que

por regla general hay que trabajar con algun metodo numerico

para aproximar las soluciones. Lagrange demostro que para la

ecuacion de Ricatti

u′(t) + u(t)2 = λ/t

no existe algoritmo alguno (basado en cuadraturas) que la permita

integrar (esto sucede para una infinidad de valores de λ).

9

Dado un paso temporal ∆t > 0, nos proponemos pues aproximar

los valores u(tn) de la solucion de (1) en los niveles discretos

tn = t0 + n∆t, 0 ≤ n ≤ N . Estos niveles recorren el intervalo

[t0, t0 + T ], con T = N∆t. Las aproximaciones numericas de

u(tn) se denotaran por un ∈ Rd, 0 ≤ n ≤ N .

La forma en la que se obtienen estas aproximaciones depende

naturalmente del metodo numerico. En los llamados metodos

explıcitos de un paso, que son los que vamos a estudiar, los

valores numericos un, 0 ≤ n ≤ N , vienen definidos recursivamente

en la forma

(2)

un+1 = un + ∆tδ(∆t, tn,un), 1 ≤ n ≤ N − 1,u0 = u(t0).

10

La aplicacion δ(∆t, t,x) viene dada por el metodo. Depende de

(d+ 2) variables (∆t, t,x) ∈ Ω∗ ⊂ R× R× Rd y el metodo numerico

ha de precisar la manera de obtener δ en terminos de f , sin

hacer llamada a las soluciones de (1). Notemos que δ tiene las

dimensiones de f . De hecho, siempre δ ≈ f .

Posponemos por ahora la obtencion efectiva de los metodos

numericos. Pasamos a estudiar la convergencia, pues este estudio

se lleva a cabo bajo condiciones muy amplias y nos servira de

ayuda a la hora de construir los metodos. El estudio de la

convergencia se hace a traves de los conceptos fundamentales

de consistencia y estabilidad.

11

Consistencia y Estabilidad

Los llamados errores de truncacion del metodo τn ∈ Rd, 0 ≤ n ≤ N ,correspondientes a la solucion u, se definen como los residuosque produce dicha solucion continua en las ecuaciones discretasdel metodo, es decir

(3) un+1 = un + ∆td(∆t, tn,un) + τn+1.

Notemos que τn no depende en absoluto de los valores discretos.No hay que confundir los errores de truncacion con los erroresdel metodo, que naturalmente son

en = u(tn)− un, 0 ≤ n ≤ N.Si bien no tenemos forma practica de calcular los errores detruncacion, pues hacen referencia a la solucion continua, si quees posible estimar su norma, lo que sera suficiente para el analisisde la convergencia.

12

Se dice que el metodo es consistente de orden p ≥ 0 entero,

cuando admitiendo que f tiene p derivadas continuas (esto implica

que u tiene p+ 1 derivadas continuas) se cumple que

(4) ‖τn‖ ≤ Cckp+1, 0 ≤ n ≤ N,

donde Cc > 0 es una constante que solo depende del metodo y

de las derivadas de ordenes ≤ p de f y de las de orden ≤ p+ 1

de u. Es importante notar de nuevo que el orden consistencia

depende unicamente de la solucion u y del comportamiento de

f alrededor de la misma, no depende por tanto de los valores

numericos obtenidos por el metodo.

13

Para el estudio de la convergencia vamos a combinar la consistenciaya definida con la estabilidad. Esta ultima nocion se refiere alcomportamiento del metodo numerico frente a perturbaciones, yes por tanto independiente de la solucion continua. Supongamosque resolvemos la recurrencia (2) de manera aproximada, desuerte que en cada paso introducimos una perturbacion εn, 0 ≤ n ≤ N ,y en realidad computamos la nueva recurrencia

(5)

u∗n+1 = u∗n + ∆tδ(∆t, tn,u∗n) + εn, 1 ≤ n ≤ N − 1,

u0 = u(t0) + ε0.

Nos preguntamos por la dependencia de u∗n respecto de las perturbaciones.Esto conduce a la siguiente definicion: Diremos que el esquemanumerico (2) es estable cuando exista un constante Ce (independientede las perturbaciones en (5) tal que

‖u∗n − un‖ ≤ Cen∑

j=0

‖εj‖, 1 ≤ n ≤ N.

14

La constante Ce puede depender de la longitud T = tN − t0 delintervalo de integracion, pero no del paso temporal ∆t > 0 utilizado.La estabilidad esta ligada exclusivamente al metodo numerico,siendo pues independiente de las soluciones del problema continuo(1).

Vamos a enunciar el teorema central: Consistencia y estabilidadimplican convergencia.

TEOREMA. Sea p ≥ 1 entero. Supongamos que (i) f admiteparciales continuas de orden p, (ii) el metodo numerico es consistentede orden p con constante Cc para u y (iii) el metodo numerico esestable con constante Ce. Supongamos que el metodo numericoempieza en un valor u0 ∈ Rd. Entonces se tiene la siguienteacotacion para el error(6)‖u(tn)− un‖ ≤ Ce‖u(t0)− u0‖+ CcCe(tn − t0)∆tp, 1 ≤ n ≤ N.

15

La demostracion del teorema es muy sencilla, basta considerar

que los valores u(tn) son solucion de la recurrencia perturbada

por los terminos εn = τn, esto conduce directamente a

‖en‖ ≤ Ce‖e0‖+ CenCc∆tp+1 = Ce‖e0‖+ (tn − t0)CcCe∆tp, 0 ≤ n ≤ N,

donde hemos denotado en = u(tn)− un.

Bajo las condiciones del Teorema, se dira que el metodo es

convergente de orden p, pues ciertamente el error es O(∆tp)

siempre que ‖u0 −U0‖ = 0 o bien sea a lo sumo ‖u0 −U0‖ = O(∆tp).

16

Es pues importante el disponer de algun criterio de estabilidad.Vamos a probar que si la funcion δ del metodo es lipchitzianarespecto de la variable x, es decir, si existe L ≥ 0 tal que

‖δ(∆t, t,x2)− δ(∆t, t,x1)‖ ≤ L‖x2 − x1‖, (∆t, t,x1), (∆t, t,x2) ∈ Ω∗,

entonces el esquema numerico (2) es estable. Esto se basa en ellema siguiente, cuya demostracion es elemental por induccion.

LEMA. Sean en ≥ 0, ρn ≥ 0, 0 ≤ n ≤ N , dos sucesiones finitastales que

en+1 ≤ (1 + L∆t)en + ρn+1, 0 ≤ n ≤ N − 1,

donde L > 0 y ∆t > 0 son fijas. Entonces, para 1 ≤ n ≤ N , secumple

(7) en ≤ exp(Ln∆t)e0 + exp(L(n− 1)∆t)n∑

j=1

ρj.

17

Se concluye directamente del lema que si la funcion δ es lipschitziana

respecto de x, con constante L ≥ 0, entonces el esquema numerico

es estable con constante Ce = exp(L(tN − t0)).

La presencia del factor exponencial hace que la acotacion para

el error sea muy mala cuando L(tN − t0) sea grande. Ası, las

cotas no son significativas sobre intervalos largos. Los metodos

explıcitos adolecen siempre de esta limitacion. Para obviarla

se deben utilizar metodos implıcitos, cuyo estudio abordamos

posteriormente.

18

El estudio de la consistencia es bastante mas difıcil. Supondremosque f admite derivadas parciales continuas hasta el orden p ≥ 0.Vamos a explicar como es posible calcular las derivadas de u(t)directamente en terminos de las derivadas de f en el punto(t,u(t)). En efecto, el propio sistema de ecuaciones diferencialesproporciona la derivada primera

u′(t) = f(t,u(t)).

Volviendo a derivar respecto de t, encontramos

u′′(t) = ft(t,u(t)) + fx(t,u(t)) u′(t)

= ft(t,u(t)) + fx(t,u(t)) f(t,u(t)),

donde fx denota la matriz jacobiana

fx = [fx1, fx2, . . . , fxd] ∈ Rd×d.

19

Derivando de nuevo la ultima expresion hallamos

u′′′(t) = ft,t + ft,xf + fx,tf + fx,x · f · f + fxft + fxfxf ,

donde el segundo miembro esta evaluado en (t,u(t)) y hace

llamada a las diferenciales de segundo orden de f .

El proceso se puede iterar, llegandose a la conclusion de que

todas las derivadas u(j)(t), 0 ≤ j ≤ p+ 1 son expresables mediante

composiciones de ciertas derivadas de f actuando en el punto

(t,u(t)) ∈ Ω. Se puede comprobar que, para 1 ≤ j ≤ p, existen

funciones f [j](t,x), definidas para cualquier punto (t,x) ∈ Ω, que

son expresables en terminos de las derivadas de f hasta el orden

j − 1, y tales que

u(j)(t) = f [j](t,u(t)).

20

Lo cierto que las expresiones que dan f [j], j ≥ 3, se complican

muchısimo. En realidad, esta es una de las grandes dificultades

que surge en la construccion y analisis de los metodos numericos

para los sistemas de EDOs.

Podemos enunciar el siguiente teorema, que resuelve el estudio

de la consistencia.

TEOREMA. Supongamos que f admite derivadas hasta el orden

p y que estas son continuas. El metodo numerico es consistente

de orden p si, y solamente si, la funcion δ del metodo cumple

δ(∆t, t,x) =

p∑j=1

∆tj−1

rj!f [j](t,x) + O(∆tp), (t,x) ∈ Ω.

21

Metodos de Taylor El metodo de Taylor de orden p adoptala forma

δ(∆t, t,x) =

p∑j=1

∆tj−1

j!f [j](t,x).

Trivialmente es de orden p. En particular tendremos:

(1) El metodo de Taylor de orden p = 1,

δ(∆t, x,x) = f [1](t,x) = f(t,x).

(2) El metodo de Taylor de orden p = 2,

δ(∆t, x,x) = f [1](t,x) +∆t

2f [2](t,x)

= f(t,x) +∆t

2

(fx(t,x)f(t,x) + ft(t,x)

).

22

No hay problema en cuanto a la estabilidad se refiere, siempre quef admita derivadas parciales continuas de los ordenes adecuados,pues ya sabemos que toda funcion diferenciable con continuidades lipschitziana.

Tradicionalmente se consideraba que los metodos de Taylor deordenes superiores eran poco practicos, pues es muy costosoobtener las expresiones de f [j](t,x), 2 ≤ j ≤ p. En efecto, aunquedispusieramos de alguna aplicacion capaz de llevar a cabo laderivacion simbolica (MAPLE o MATHEMATICA, por ejemplo),es frecuente que la escritura de f [j] requiera varias paginas,incluso para funciones f sencillas. Sin embargo, recientementeel panorama ha cambiado y se espera cierto crecimiento de usode los metodos de Taylor. La razon es que en la actualidadse han desarrollado programas que son capaces de evaluar f [j]

directamente, sin necesidad de escribir estas funciones.

23

Metodos de Runge–Kutta Estos metodos de nacen con la

idea de evitar el calculo de derivadas de f . Ası, estos metodos

proponen expresiones para δ que unicamente conllevan evaluaciones

de la propia funcion f . En la acualidad son los metodos mas

eficientes para la integracion de SEDOs.

Un metodo de Runge–Kutta explıcito tiene asociado un entero

s ≥ 1, llamado el numero de etapas del metodo, que indica las

veces que hay que evaluar f para calcular δ. Para describir el

metodo son precisos ciertos parametros que denotamos por dos

vectores

c = clsl=1, b = blsl=1 ∈ Rs

y una matriz A = ak,lsk,l=1 ∈ Rs×s.

24

Generalmente, las componentes de c se ordenan de forma creciente

y estan contenidas en el intervalo [0,1],

0 ≤ c1 ≤ c2 ≤ · · · ≤ cs ≤ 1.

Dichas componentes se interpretan como nodos de cuadratura.

Las componentes de b son pesos de cuadratura para la integral

sobre [0,1], mientras que la k-esima de A son pesos para la

integral sobre [0, ck], 1 ≤ k ≤ s. Ası, dada una funcion g : [0,1]→ Rd,tenemos en mente que∫ 1

0g(σ)dσ ≈

s∑k=1

bkg(cl),

∫ ck

0g(σ)dσ ≈

s∑l=1

ak,lg(cl), 1 ≤ k ≤ s.

25

Cuando estemos trabajando en el intervalo [tn, tn+1], 0≤ n ≤ N − 1,

las cuadraturas se conviertiran en∫ tn+1

tn

g(t)dt ≈∆t

s∑k=1

bkg(tkn),

∫ tln

tn

g(t)dt ≈∆t

s∑l=1

ak,lg(tln), 1 ≤ k ≤ s,

donde hemos introducido la notacion tln = tn + ∆tcl, 1 ≤ l ≤ s,que constituyen las llamadas abscisas intermedias.

26

En principio, para la solucion continua escribimos

u(tn+1)− u(tn) =

∫ tn+1

tn

f(t,u(t))dt ≈∆t

s∑k=1

bkf(tlnk,u(tkn)),

e

u(tkn)− u(tn) =

∫ tkn

tn

f(t,u(t))dt ≈∆t

s∑l=1

ak,lf(tln,u(tln)), 1 ≤ k ≤ s.

El metodo de Runge–Kutta trata de emular esto al nivel discreto

y para ello, junto con las aproximaciones un ≈ u(tn), debe construir

aproximaciones ukn ≈ u(tkn), 1 ≤ k ≤ s, llamadas etapas intermedias.

27

Ası, alcanzada la aproximaacion un, el metodo consiste en hacer

un+1 = un + ∆t

s∑k=1

bkf(tlnk,ukn),

donde las etapas se definen por

ukn = un + ∆t

s∑l=1

ak,lf(tln,uln), 1 ≤ k ≤ s.

En general, se trata de un sistema de ecuaciones para las etapas.

28

En los metodos explıcitos (matriz A triangular inferior) la primera

etapa es siempre

u1n = un

y las restantes se obtiene recursivamente como

ukn = un + ∆t

k−1∑l=1

ak,lf(tln,uln), 2 ≤ k ≤ s,

y no hay neecesidad de resolver sistema alguno.

Es claro que la mayor precision de las formulas de cuadratura

redundara en un mayor orden de consistencia, pero es un tema

muy delicado. La combinacion final de las etapas puede dar

lugar a un orden de consistencia mayor que el individual que

correspionde a las cuadraturas de definidas por las filas de A.

29

La funcion δ del metodo se escribe como un promedio con pesos

b1, b2, . . . , bs ∈ R de funciones mas sencillas

δ(k, t,x) =s∑

j=1

bjFj(∆t, t,x),

donde las nuevas funciones F1,F2, . . . ,Fs ∈ Rd se definen recursivamente

como

F1(∆t, t,x) = f(t+ c1∆t,x)

y por

Fk(∆t, t,x) = f(t+ ck∆t,x + ∆t

k−1∑l=1

ak,lFl(∆t, t,x)), 2 ≤ k ≤ s.

Es claro que si f es lipchitziana en x con constante L, entonces

δ lo es con consante∑sk=1L

s, lo que garantiza la estabilidad.

30

En terminos de las funciones anteriores el metodo se puede

escribir como

un+1 = un + ∆t

s∑k=1

bkFkn,

donde

F1n = f(t1n,un),

y

Fkn = f(tkn,un + ∆t

k−1∑l=1

ak,lFln), 2 ≤ k ≤ n.

Ası, tenemos dos formar de implementar el metodo, vıa las

etapas intermedias ukn o vıa las pendientes intermedias Fkn. En

todo caso son precisas s evaluaciones de la funcion f .

31

Notemos la relacion, para 1 ≤ k ≤ n

Fkn = f(tkn,ukn); ukn = un + ∆t

s∑l=1

ak,lFln.

Comentemos que el estudio del orden para los metodos de Runge–

Kutta es difıcil y hasta la decada de los 60 no se ha establecido

la teorıa general, debida a Butcher.

Seguidamente vamos a dar los parametros e indicar los ordenes

de los metodos clasicos. Es recomendable hacer el ejercicio de

comprobar que los ordenes son los indicados, al menos para los

metodos de orden ≤ 2.

32

1.Metodo de Euler: p = 1, s = 1 c1 = 0, b1 = 1, A = [0].

un+1 = un + kf(tn,un).

2. Metodo de Euler modificado:

p = 2, s = 2, c = [0,1/2]T , b = [0,1]T , A =

[0 0

1/2 0

].

un+1 = un + kF2n,

donde

F1n = f(tn,un),

F2n = f

(tn + (k/2),un + (k/2)F1

n

).

33

3. Metodo de Euler mejorado: p = 2, s = 2, c = [0,1]T , b = [1/2,1/2]T ,

A =

[0 01 0

].

un+1 = un + (k/2)[F1n + F2

n

],

donde

F1n = f(tn,un),

F2n = f(tn + k,un + kF1

n).

34

4. Regla de Heun de tercer orden: p = 3, s = 3, c = [0,1/3,2/3]T ,

b = [1/4,0,3/4]T ,

A =

0 0 01/3 0 0

0 2/3 0

.un+1 = un + (k/4)

[F1n + 3F3

n

]donde

F1n = f(tn,un),

F2n = f(tn + (k/3),un + (k/3)F1

n),

F3n = f(tn + (2k/3),Uun + (2k/3)F2

n),

35

5. El metodo de Runge–Kutta de tercer orden: p = 3, s = 3,

c = [0,1/2,1]T , b = [1/6,2/3,1/6]T ,

A =

0 0 01/2 0 0−1 2 0

.un+1 = un + (k/6)

[F1n + 4F2

n + F3n

],

donde

F1n = f(tn,un),

F2n = f(tn + (k/2),un + (k/2)F1

n),

F3n = f(tn + k,un − kF1

n + 2kF1n).

36

6. El metodo de Runge–Kutta de cuarto orden (“El metodo deRunge–Kutta”):

p = 4, s = 4, c = [0,1/2,1/2,1]T , b = [1/6,1/3,1/3,1/6]T ,

A =

0 0 0 0

1/2 0 0 00 1/2 0 00 0 1 0

.un+1 = un + (k/6)

[F1n + 2F2

n + 2F3n + F4

n

],

donde

F1n = f(tn,un),

F2n = f(tn + (k/2),un + (k/2)F1

n),

F3n = f(tn + (k/2),un + (k/2)F2

n),

F4n = f(tn + k,un + kF3

n).

37

Metodos implıcitos

Vamos a considerar un sistema de d ecuaciones diferenciales

u′(t) = f(t,u(t)).

Consideremos dos soluciones u1(t), u2(t). Es de gran interes elestudio del comportamiento de las diferencias

‖u2(t)− u1(t)‖en terminos de su discrepancia en un tiempo inicial t0.

Tıpicamente se disponen de cotas del tipo

‖u2(t)− u1(t)‖ ≤ K exp(L|t− t0|)‖u2(t0)− u1(t0)‖,donde L es esencialmente una cota de las derivadas primeras def en una region (convexa) que contenga a ambas soluciones.

38

Cuando discreticemos en tiempo hemos de comparar u(tn) con

un y, como es logico, no podemos esperar nada mejor de lo que

sucede con la propagacion de las discrepancias de las soluciones

continuas. Ası, en general, para un metodo de orden p podremos

esperar una cota como sumo del tipo

‖u(tn)− un‖ ≤ K exp(L|tn − t0|)|∆t|p.

Estas cotas son poco o nada significativas cuando L|tn − t0| es

grande. Lamentablemente, esta situacion se produce de forma

muy habitual.

Cuando L es grande se dice que el sistema es rıgido (stiff).

39

Una situacion de gran interes aplicado es la que encontramoscunado el problema esta razonablemente bien puesto en un sentidode avance del tiempo, pongamos para t ≥ t0. Es decir, nosvamos a centrar en situaciones para las que (i) Las derivadasde f pueden ser grandes (gran rigidez), pero (ii) a pesar de esto

‖u2(t)− u1(t)‖ ≤ C(t− t0)‖u2(t0)− u1(t0)‖, t > t0,

donde C crece moderadamente (o no la hace en absoluto) cont− t0 > 0.

Es de pues de interes el diponer de metodos numericos de integracionque, para problemas rıgidos pero unidireccionalmente bien puestos(en el sentido anterior), sean capaces de proporcionar aproximacionesnumericas sujetas a cotas de error del tipo

‖u(tn)− un‖ ≤ C(tn − t0)|∆t|p, tn > t0,

con C de crecimiento moderado.40

Para avanzar en esta direccion se estudia primero la llamada

ecuacion test: se fija un parametro complejo λ con <λ ≤ 0 y se

considera la ecuacion

u′(t) = λu(t).

Siendo la solucion de la forma

u(t) = exp(λt)u(0),

se comprende que independientemente de la ridigez (valor de |λ|,el problema esta bien puesto (controlado) para t > 0.

41

Por comprobacion directa, se ve que el resultado de aplicar un

metodo de RK explıcito, con s etapas, a la ecuacion test lleva a

una recurrencia

un+1 = Ps(λ∆t)un, n ≥ 0,

donde Ps es un polinomio de grado s. Es decir,

un = Ps(λ∆t)nu0, n ≥ 0.

En el momento en el que |Ps(λ∆t)| > 1, cosa que puede suceder

si pensamos que λ puede ser muy grande, la solucion numerica

crece exponencialmente con n, a pesar de que la continua permanece

acotada.

Ningun metodo explıcito es pues adecuado para integrar la ecuacion

test en la situacion de gran rigidez.

42

Por ejemplo, el metodo de Euler explıcito, aplicado a la ecuacion

test, lleva a

un+1 = (1 + λ∆t)nu0, n ≥ 1,

que es absolutamente inadecuado en la situacion |λ| grande, salvo

que ∆t sea extremadamente small.

Los metodos implıcitos van a superar estas limitaciones, si bien

seran mas costosos, pues necesitan resolver sistemas no lineales

de ecuaciones. Nos limitaremos al metodo de Euler y a la regla

del punto medio.

43

Metodo de Euler implıcito

Para el PC

u′(t) = f(t,u(t)), u(t0) = u0,

partiendo de u0, se definen las aproximaciones un ≈ u(tn) por la

recurrencia:

un+1 = un + ∆tf(tn+1,un+1),

Cada paso necesita pues resolver un sistema de ecuaciones para

determinar el vector un+1.

44

La propiedad mas importante es que, para t > t0, conserva la

contractividad: supongamos que para cada par u1, u2 de soluciones

del sistema de EDOs se tuviera

‖u2(t)− u1(t)‖ ≤ ‖u2(t0)− u1(t0)‖, t ≥ t0.

Entonces, para las respectivas soluciones numericas (vıa Euler

implıcito) (denotadas por la misma letra con subındices)

‖u2,n − u1,n‖ ≤ ‖u2(t0)− u1(t0)‖, tn ≥ t0.

45

Por ejemplo, para la ecuacion test, el metodo genera las aproximaciones

un =u0

(1− λ∆t)n, n ≥ 1,

que, cuando <λ ≤ 0 y ∆t > 0, heredan la contractividad, pues

entonces

|1− λ∆t| ≥ 1.

46

Mas en general, si V es un funcional convexo (definido en el

espacio donde tomas valores las soluciones del sistema de EDOs)

y si V decrece a lo largo de todas las soluciones, es decir,

V (u(t)) ≤ V (u(s)), t ≥ s,

cualquiera que sea la solucion del sistema de EDOs, entonces

V (un+1) ≤ V (un),

para todas las aproximaciones vıa el metodo de Euler implıcito.

47

En lo relativo al error y la el metodo de Euler implıcito, se

obtienen cotas del tipo

‖u(tn)− un‖ ≤ Ctn(∆t), n ≥ 0,

donde C es una cota de la derivada segunda de la solucion.

48

Regla del punto medio

Para el PC

u′(t) = f(t,u(t)), u(t0) = u0,

partiendo de u0, se definen las aproximaciones un ≈ u(tn) por la

recurrencia:

un+1 = un + ∆tf((tn+1 + tn)/2, (un+1 + un)/2, ), n ≥ 0.

Cada paso necesita pues resolver un sistema de ecuaciones para

determinar el vector un+1.

49

Aplicada a la ecuacion test,

u′(t) = λu(t), u(0) = u0,

la regla del punto medio proporciona aproximaciones

un+1 = ∆tλun + un+1

2,

es decir

un+1 =1 + ∆tλ/2

1−∆tλ/2un,

o bien, de forma global,

un =

(1 + ∆tλ/2

1−∆tλ/2

)nu0, n ≥ 0.

50

Observamos que, para <λ ≤ 0,∣∣∣∣1 + ∆tλ/2

1−∆tλ/2

∣∣∣∣n ≤ 1, n ≥ 0,

lo que garantiza la estabilidad con independencia de la rigidez.

51

Una propiedad muy importante es que si la distancia entre dossoluciones arbitrarias del sistema de EDOs se conserva en unanorma que derive de un producto interno (es decir, supongamosque para cada par u1, u2 de soluciones del sistema de EDOs setuviera

‖u2(t)− u1(t)‖ = ‖u2(t0)− u1(t0)‖,

donde ‖ · ‖ es una norma que provenga de un producto interno),entonces, para las respectivas soluciones numericas (vıa la regladel punto medio) tambien se tiene la conservacion de distancias:

‖u2,n − u1,n‖ = ‖u2(t0)− u1(t0)‖, tn ≥ t0.

Tambien se puede demostrar que si un funcional cuadraticodecrece (o se conserva) a lo largo de todas las soluciones delsistema de EDOs, entonces lo mismo sucede con los valores delfuncionional a lo largo de las soluciones discretas (punto medio).

52

En lo relativo al error y la regla del punto medio, se obtienen

cotas del tipo

‖u(tn)− un‖ ≤ Ctn(∆t)2, n ≥ 0,

donde C es una cota de la derivada tercera de la solucion.

53