Métodos numéricos no estándar

Anuncio
Métodos numéricos no estándar
Francisco J. Solis
CIMAT
Apartado Postal 402
Guanajuato, Gto
3600 México
Resumen
Se proporciona un método de discretización de ecuaciones diferenciales
que consiste en obtener esquemas numéricos discretos exactos Dicho método tiene mejores propiedades de estabilidad que los métodos explı́cito de
Runge Kutta con tamaño de paso fijo. Se dan resultados numéricos aplicados a algunos ejemplos tı́picos de ecuaciones diferenciales no lineales.
1.
Introducción
Al usar métodos numéricos para aproximar la solución de ecuaciones diferenciales es de gran importancia conservar las propiedades dinámicas de la solución. La precisión de la solución es determinada por el orden del método. En
muchas situaciones las aproximaciones presentan soluciones espurias, periódicas
y muchas veces caóticas. En [4] y en [1] se ha mostrado que los esquemas de
Runge-Kutta , en muchos casos, tienen bifurcaciones y producen soluciones espurias. Más aun la estabilidad de las aproximaciones y la solución exacta son
diferentes.
Mickens [5], [6] ha introducido un método teórico en diferencias que produce
soluciones que son exactas y por lo tanto tienen las mismas propiedades que
las soluciones analı́ticas. La dificultad radica en como obtener esquemas para
la mayorı́a de las ecuaciones. El dio algunos ejemplos para los cuales hay una
solución analı́tica exacta. Este nuevo método tiene dos diferencias fundamentales
de los metodos en diferencias estándar. La primera es que la derivada usualmente
es reemplazada por (uk+1 − uk )/φ(h), donde uk = u(k ∗ h) con h el tamaño
de paso y φ(h) = O(h). La segunda es que algunos de los términos en el lado
derecho de la ecuación son evaluados en diferentes tamaños de paso. En la sección
2 mostraremos algunos ejemplos. La principal pregunta es como generalizar el
método a otras ecuaciones donde la solución exacta no se conoce.
Gander y Meyer-Spasche [3] determinaron para que ecuaciones los esquemas
estándar como el de Euler y otros son exactos. Ellos mostraron además como
obtener esquemas exactos para ecuaciones diferenciales de primer orden con
lados derechos polinomiales.
1
En este trabajo resumimos (ver [7]) y explicamos en detalle varios resultados
acerca de los métodos de aproximación exactos. Mostramos resultados para
establecer un esquema exacto de discretización y proponemos un esquema con
buenas propiedades de estabilidad para ecuaciones sin esquema exacto. En la
sección 2 presentamos el método y los teoremas de existencia y estabilidad. En
la sección 3 mostramos algunas aplicaciones con el nuevo método. Finalmente
en la sección 4 damos algunas conclusiones.
2.
Método General
El método exacto para un sistema de ecuaciones diferenciales lineal de la
forma ẋ = Ax se puede encontrar con ayuda de su solución, la cual es x(t) =
eAt xo . Dado que la solución exacta al tiempo tk + h esta dada por x(tk + h) =
eAh x(tk ), donde h es el tamaño del paso temporal. Ası́ pues denotando por
x(tk ) = xk podemos escribir al método como:
xk+1 = eAh xk .
(1)
Para un sistema no lineal no es claro como encontrar un método exacto.
Consideremos el siguiente ejemplo.
dx(t)
= f (x) = −x2 (t)
dt
(2)
Para esta ecuación el esquema exacto, derivado de la solución exacta
x(t) =
1
t + 1/x(0)
esta dado por
xk+1 − xk = −
hx2k
.
1 + hxk
(3)
Por lo que este esquema numérico produce una solución que tiene las mismas
propiedades de estabilidad que el esquema exacto. Tiene además la propiedad
de ser de convergencia lenta para valores pequeños de h, como lo mostraremos
más tarde. La propiedad de convergencia lenta significa que uno debe de considerar un numero muy grande de iteraciones para lograr un comportamiento
asintótico correcto. Mickens ha escrito el esquema anterior (3) como: xk+1 −xk =
−hxk xk+1 . Notemos que esta forma tiene una apariencia similar a la ecuación
original. Se ha encontrado además que para la ecuación logı́stica ẋ = λx(1 − x)
el esquema exacto es de la forma xk+1 − xk = (eλh − 1)xk (1 − xk+1 ). Este esquema se ha evaluado en diferentes niveles temporales y además el denominador
para la diferencia finita es ahora eλh − 1 en lugar de h. A uno le gustarı́a saber
si la clase de ecuaciones para la cual el esquema exacto es similar en forma es
suficientemente grande. Desafortunadamente, no es este el caso, ya que existen
muchas ecuaciones diferenciales que no tienen un esquema exacto tan compacto.
2
Por ejemplo, para la ecuación diferencial ẋ = −x3 el esquema exacto tiene la
forma
−2hx2k+1 x2k
,
xk+1 − xk =
xk+1 + xk
la cual no es nada similar a la ecuación original.
Aunque la forma del esquema exacto no luce muy bien, este tiene la propiedad
(xk )
de que puede ser escrito como: xk+1 − xk = hf
1+hxk . De aquı́ se deduce que el
esquema de Mickens tiene los mismos puntos fijos, es decir, los ceros de f (x),
como la ecuación diferencial. Podemos escribir el esquema como:
con g(x) =
1
1+hx .
xk+1 − xk = hf (xk )g(hxk ),
(4)
Una ecuación más general ẋ = xα con α ∈ (0, 1). Esta ecuación tiene una
única solución excepto cuando la condición inicial es x(0) = 0. El esquema
exacto, para las condiciones iniciales no triviales, tiene la forma
xk+1 = x1−α
+ (1 − α)h
k
el cual puede escribirse como
xk+1 − xk = hxα
k
∞ X
m=0
1
1−α
m+1
1
1−α
,
(1 − α)m hm xm
k .
La serie converge para |hxk | ≤ (1 − α)−1 .
Nosotros conjeturamos que la ecuación diferencial con f analı́tica tiene una
forma compacta: xk+1 − xk = hf (xk )g(h, xk ). El siguiente teorema da la respuesta a la conjetura.
Teorema 1 Supongamos que f es una función suave (al menos C 1 ), entonces
el esquema exacto para la ecuación dx(t)
dt = f (x) tiene la forma
xk+1 − xk = hf (xk )g(h, xk ),
donde g(h, xk ) = 1 + O(h) para h pequeñas.
Prueba:
R −1
Consideremos la ecuación dx(t)
f (x) dx. Por lo
dt = f (x) y definamos G(x) =
que el esquema exacto es dado por G(xk+1 ) = h + G(xk ). Ahora supongamos
que G tiene una inversa, al menos localmente, entonces obtenemos que xk+1 =
G−1 (h+G(xk )). Definamos la función φ as φ(h) = G−1 (h+G(xk ))−xk . Notemos
que φ′ (h) = f ◦ φ(h) pro lo tanto φ(0) = 0, φ′ (0) = f (xk ), φ′′ (0) = f (xk )f ′ (xk )
2
y que φ′′′ (0) = f 2 (xk )f ′′ (xk ) + f ′ (xk )f (xk ). En general
φ(n) (0) = f (xk )P (f (n−1) (xk ), f (n−2) (xk ), . . . , f (1) (xk ), f (xk ))
3
donde P es un polinomio en cada uno de sus argumentos. Entonces
φ(h) = f (xk )h + f (xk )f ′ (xk )
h2
+ O((f (xk )h)3 )
2
y por lo tanto
h
2
2
xk+1 − xk = hf (xk ) 1 + f (xk ) + O(f (xk )h )
2
′
Notemos que aunque la función f sea solo continua entonces por el teorema
del valor medio obtenemos que
G(xk+1 ) − G(xk ) = G′ (θxk + (1 − θ)xk+1 )(xk+1 − xk ) with 0 ≤ θ ≤ 1.
Por lo tanto
xk+1 − xk =
h
= hf (θxk + (1 − θ)xk+1 )
G′ (θxk + (1 − θ)xk+1 )
Ası́ que hemos probado el siguiente teorema:
Teorema 2 Dada la ecuación diferencial dx(t)
dt = f (x) con f una función continua entonces para todos los valores positivos del tamanõ del paso, h, el esquema
exacto tiene la forma
xk+1 − xk = hf (θxk + (1 − θ)xk+1 )
for a θ ∈ [0, 1].
Si θ << 1, entonces
hf (θxk + (1 − θ)xk+1 ) ≈ ψ(h)f (xk ) + O((1 − θ)xk+1 )
= ψ(h)f (xk ) + g(h, xk ).
Por lo tanto el esquema toma la forma:
xk+1 − xk = hf (xk )(g1 (h) + g2 (h, xk ))
donde lı́mh→0 g√
1 (h) = 1 y g2 (h, xk ) = O(h). Por ejemplo, para la ecuación
diferencial ẋ = a2 − x2 el esquema exacto es dado por
!
q
sin(h) xk (cos(h) − 1)
2
2
p
.
xk+1 − xk = h a − xk
+
h
h a2 − x2k
A continuación compararemos los puntos fijos y sus propiedades de estabil1
idad de la ecuación dx(t)
dt = f (x) (f ∈ C ) con los del esquema exacto. Consideraremos al esquema exacto como un sistema dinámico discreto con el tamaño
del paso como parámetro, es decir
xk+1 = F (h, xk )
4
(5)
donde F (h, xk ) = xk + hf (xk )g(xk , h).
Primero, los puntos fijos están dados por la ecuación hf (x)g(x, h) = 0 para
todos los valores de h. Ası́ que una condición para la función g es que no sea igual
a cero para cualquier x y h, de lo contrario g generará puntos fijos adicionales.
Esta condición se satisface para el esquema exacto. Para valores pequeños de
h tenemos que lı́mh→0 g(x, 0) = 1. Ası́, que para h suficientemente pequeña, la
condición para los puntos fijos se simplifica a f (x) = 0, la cual es equivalente a
la condición para el caso continuo. Por lo tanto, para h pequeñas , los puntos
fijos del sistema discreto (5) son puntos fijos de dx(t)
dt = f (x) y viceversa. Sea
xf un punto fijo aislado del sistema discreto. Entonces
∂F (h, xf )
= 1 + hf ′ (xf )g(h, xf ).
∂xk
Por lo tanto el punto fijo xf es estable siempre y cuando
−2 < hf ′ (xf ) < 0.
Por lo que tenemos tres escenarios:
1. Si f ′ (xf ) > 0 entonces la región de estabilidad de xf está dada por f ′−2
(xf ) <
h < 0; por lo que xf es inestable para cualquier valor positivo de h como
lo es en el caso continuo.
2. Si f ′ (xf ) < 0 entonces la región de estabilidad de xf está dada por 0 <
h < f ′−2
(xf ) , es decir, xf es localmente estable como en el caso continuo.
3.
a) Si f ′ (xf ) = 0 entonces F ′ (xf ) = 1. Ası́ que si F ′′ (xf ) 6= 0 entonces
xf es semi estable, es decir que las órbitas convergerán o no a xf
dependiendo si sus condiciones iniciales son mas pequeñas o grandes
que xf , como lo es en el caso continuo.
b) Este caso es similar al caso (a) cuando las derivadas de F en xf son
cero.
Ası́ que hemos probado el siguiente resultado.
Teorema 3 Los puntos fijos aislados del esquema exacto para una ecuación
diferencial tienen las mismas propiedades de estabilidad que sus correspondientes para el caso continuo.
Hasta ahora nos hemos concentrado en obtener un esquema general exacto pero no hemos dado ninguna condición práctica para construir la función
g(h, xk ). Lo cual no es nada trivial. En la siguiente sección mostraremos que si
usamos una expansión truncada en series de Taylor de esta función obtendremos
buenos resultados de estabilidad aun sin tener un esquema exacto. El problema
radica si la función g es analı́tica solo para valores pequenõs de h y por lo tanto el esquema aproximado tendrá un comportamiento asintótico valido solo en
5
algún intervalo finito de h. Para evitar estos problemas proponemos un nuevo
esquema dado por
!
1
.
(6)
xk+1 − xk = hf (xk )
1 − h2 f ′ (xk )
Este esquema coincide con un esquema de Taylor de segundo orden y tiene la
ventaja de que tiene los mismos puntos fijos que la ecuación original. Tiene la
desventaja de poder tener una singularidad artificial, pero es fácil de detectar.
Con este esquema obtenemos mejores aproximaciones en términos de estabilidad que al usar los esquemas truncados de Taylor. En un trabajo futuro nos
concentraremos en dar mejores aproximaciones a la función g.
3.
Resultados Numéricos
Mostraremos dos ejemplos, el primero es un ejemplo no trivial de una ecuación
con un esquema exacto. Este es un ejemplo de un sistema de convergencia lenta,
es decir un sistema donde el error no decae de manera exponencial. Por lo que
uno tiene que poner atención en el número de iteraciones necesario para obtener buenas aproximaciones. Usaremos este ejemplo para mostrar que usando
una expansión truncada de Taylor producirá una aproximación asintótica valida en un rango finito. Finalmente, en el segundo ejemplo usaremos una versión
unidimensional de la ecuación de Monod para mostrar las cualidades de nuestro
esquema.
Ejemplo 1 Consideremos el sistema discreto exacto para la ecuación ẋ = −x2 ,
xk+1 − xk = −
hx2k
.
1 + hxk
(7)
La función g en este esquema tiene la forma
g(xk , h) = h(1 + hxk )−1
mientras que usando un esquema de Taylor obtendrı́amos
g(xk , h) = h
∞
X
(hxk )j .
j=0
La serie converge únicamente para |hxk | < 1, por lo que un esquema truncado de Taylor producirá aproximaciones exactas solo para valores pequeños de
h. Verifiquemos numéricamente la convergencia del sistema (7). Hay que tener
cuidado que el efecto temporal haya pasado y tengamos un comportamiento
asintótico adecuado. Normalmente con mil iteraciones obtenemos la convergencia requerida, pero en este caso esto no es suficiente. Obtenemos diferentes
escenarios al usar un numero diferente de iteraciones. Al usar mil iteraciones
6
obtenemos un diagrama de bifurcación que consiste en la gráfica de una función
racional y al incrementar a cinco mil iteraciones observamos que dicha función
decrece en su amplitud. Dicha amplitud tiende lentamente a cero cuando el
numero de iteraciones tiende a infinito, lo cual es una propiedad básica de la
convergencia lenta de sistemas dinámicos discretos. En la figura 1 mostramos
este comportamiento en un diagrama de bifurcación para mil, cinco mil, diez
mil y treinta mil iteraciones. En la figura, “cuad1M” denota la curva para las
mil iteraciones, “cuad5M” denota la curva para las cinco mil iteraciones y de
manera análoga para las otras curvas.
Para este ejemplo nuestro esquema coincide con el esquema exacto. Por
lo que el nuevo esquema tiene las mismas propiedades de estabilidad que la
ecuación diferencial. Hay que notar que nuestro esquema propuesto no coincide
en general con el exacto. Aun para ẋ = −x, los esquemas son diferentes.
0.1
"cuad1M"
"cuad5M"
"cuad10M"
"cuad30M"
0.05
0
-0.05
-0.1
-0.04
-0.02
0
0.02
0.04
Fig. 1 Solución asintótica de (7) vs el tamaño de paso.
Ejemplo 2 El último ejemplo es una versión simplificada de la ecuación de
Monod, la cual es dada por la ecuación diferencial unidimensional de la forma:
λx(1 − x)
dx
=
− bx
dt
k+x
donde k y b son constantes. En la figura 2 mostramos un diagrama de bifurcación
de una versión discreta de Monod con valores b = k = 1, usando nuestro esquema
y un esquema de Taylor obtenido usando una truncación de primer orden. La
aproximación de Taylor es valida hasta h = 4.06 donde comienza una rama de
puntos periódicos de periodo dos; mientras que nuestro esquema es exacto para
valores de h mayores que 6. En nuestros experimentos hemos encontrado un
valor asintótico correcto hasta valores de h = 65.6
7
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
Fig. 2. Diagrama de bifurcación para la ecuación de Monod con nuestro esquema
y un esquema de Taylor truncado de primer orden
4.
Conclusiones
En este trabajo hemos presentado un nuevo método para construir esquemas
numéricos para ecuaciones diferenciales ordinarias. Para ecuaciones diferenciales
no lineales, los esquemas no son exactos pero tienen mejores propiedades de estabilidad que los métodos explı́citos de Runge-Kutta. Hemos mostrado como
construir dichos esquemas y estudiado sus propiedades de estabilidad y finalmente se han dado algunos ejemplos numéricos.
Referencias
[1] B. Chen & F. Solis, 1998, Discretizations of Nonlinear Equations Using Explicit Finite Order Methods, Journal of Computational and Applied Mathematics, 90, 171-183.
[2] J. C. Butcher, 1987, The Numerical Analysis of Ordinary Differential Equations, John Wiley & Sons, New York.
[3] M. J. Gander and R. Meyer-Spasche, 2000, An Introduction to Numerical
Integrators Preserving Physical Properties, in Applications of Nonstandard
Finite Difference Schemes, R. E. Mickens ed., World Scientific, Singapore,
181-246.
[4] D. F. Griffiths, P. K. Sweby and H.C. Yee, 1992, On Spurious Asymptotic
Numerical Solutions of Explicit Runge-Kutta Methods, IMA Journal of
Numerical Analysis, 12, 319-338.
8
[5] R. E. Mickens, 1984, Difference Equations Models of Differential Equations having Zero Local Truncation Error, in Differential Equations, I.W.
Knowles and R.T. Lewis eds, North Holland, Amsterdam, 445-449.
[6] R. E. Mickens, 2000, Nonstandard Finite Difference Schemes, in Applications of Nonstandard Finite Difference Schemes, R. E. Mickens ed., World
Scientific, Singapore, 1-54.
[7] Solis, F., Chen, B., Nonstandard Discrete Approximations Preserving Stability Properties of continuous Mathematical Models, Mathematical and
Computer Modelling. Vol 40/5-6 pp 481-490, 2004.
9
Descargar