Está en la página 1de 72

Resolucin numrica de E.D.P.

de
evolucin

Fernando Vadillo

Versin 1: 21 de febrero de 2005


Indice

1. Resolucin de E.D.P. con la F.F.T. 2


1.1. La transformada de Fourier . . . . . . . . . . . . . . . . . . . . . 2
1.2. Transformada semi-discreta de Fourier . . . . . . . . . . . . . . . 3
1.3. Transformada discreta de Fourier . . . . . . . . . . . . . . . . . . 5
1.4. Interpolacin trigonomtrica. . . . . . . . . . . . . . . . . . . . . 6
1.5. Transformada rpida de Fourier (FFT). . . . . . . . . . . . . . . 9
1.6. Algunos modelos escalares. . . . . . . . . . . . . . . . . . . . . . 11
1.7. La ecuacin de Korteweg-de Vries (KdV) . . . . . . . . . . . . . 14
1.8. La ecuacin cbica de Schrdinger. . . . . . . . . . . . . . . . . 15
1.9. Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2. Problemas parablicos 19
2.1. La ecuacin del calor . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2. Semidiscretizacin espacial . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Los mtodos de Euler y Crank-Nicolson . . . . . . . . . . . . . . 23
2.4. El teorema de Equivalencia de Lax . . . . . . . . . . . . . . . . . 25
2.5. El condicin de Von Neumann para la estabilidad . . . . . . . . . 28
2.6. Otros mtodos en diferencias . . . . . . . . . . . . . . . . . . . . 34
2.7. El comando pdepe de MATLAB . . . . . . . . . . . . . . . . . . 35
2.8. Problemas multidimensional . . . . . . . . . . . . . . . . . . . . . 36
2.9. Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3. Problemas hiperblicos 42
3.1. E.D.P. de primer orden . . . . . . . . . . . . . . . . . . . . . . . 42
3.2. La ecuacin de ondas de primer orden . . . . . . . . . . . . . . . 44
3.3. Mtodos en diferencias . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4. Sistemas hiperblicos . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5. La ecuacin de ondas de segundo orden . . . . . . . . . . . . . . 51
3.6. Mtodos en diferencias . . . . . . . . . . . . . . . . . . . . . . . . 54
3.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4. Mtodos espectrales 58
4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2. Algunos ejemplos de matrices de diferenciacin . . . . . . . . . . 61
4.3. Matrices de diferenciacin de Fourier . . . . . . . . . . . . . . . . 63
4.4. Matrices de diferenciacin de Chebyshev . . . . . . . . . . . . . . 67

1
4.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Bibliografa 69

0
Estas notas son una breve gua para la asignatura denominada: Resolucin
Numrica de Ecuaciones en Derivadas Parciales, del quinto curso de la licen-
ciatura de Matemticas en la Facultad de Ciencias de la Universidad del Pais
Vasco.
Durante los ltimo aos he explicado dicha asignatura con la impresin de
que los alumnos tenan serias dicultades. Una de las dicultades que ms
me preocupaba era su falta de agilidad para manejar el Anlisis de Fourier
en sus cuatro variedades: series, transformadas, transformadas semi-discreta
y transformadas discreta. Pareca por tanto necesaria una introduccin a di-
chos temas y la mejor exposicin que he encontrado es la del profesor Lloyd
N. Trefethen en el texto: Finite Dierence and Spectral Methods for Ordi-
nary and Partial Dierential Equations, escrito en 1996 y aunque no ha si-
do publicado est disponible en su pgina web de la Universidad de Oxford:
web.comlab.ox.ac.uk/oucl/work/nick.trefethen/pdetext.html. Este tex-
to ha guiado la presentacin sobre todo del captulo primero. Los dos siguientes
captulos dedicados a los problemas parablicos e hiperblicos son los clsicos
que aparecen en casi todos los textos que tratan de estos temas, si bien aliados
al gusto del autor. El captulo de los Mtodos Espectrales de momento se reduce
a una breve introduccin a pesar de que como se arma en el prefacio de [11]
son la mejor opcin para problemas con dominios sencillos.
Esta notas quieren desarrollan ms ideas que demostrar teoremas, quiz sea
una peculiaridad de la Matemtica Aplicada que aqu se practica. Sin renunciar
a los contenidos y desarrollos matemticos, he procurado dosicar los contenidos
para no atiborrar al alumno, opino que es mejor, y quiz tambin ms difcil,
despertar el apetito del alumno que saciar lo en el primer plato. Como escribi
Michel de Montaigne hace ms de cuatro cientos aos:
En verdad que el cuidado y el gasto de nuestros padres apunta slo a atibor-
rarnos la cabeza de ciencia; del juicio y la virtud, apenas si se habla. (Ensayos,
captulo XXV)
Con el tiempo disponible y teniendo en cuenta que los alumnos apenas cono-
cer el lenguaje MATLAB, he credo ms oportuno dedicar algunas clases prc-
ticas a introducir o recordar las herramientas bsicas de dicho lenguaje que
despus sern imprescindibles para las prcticas que se propone en otros docu-
mentos del curso.
El resultado lo dictaran los alumnos del curso que ahora comienza, por mi
parte debo confesar que al releer estas notas me han gustado mucho ms los dos
primeros captulos, los encuentro mejor ordenados y ms acabados. El captulo
de los problemas hiperblicos creo que carece de exposiciones grcas y detallen
en varias exposiciones, la nica disculpa que se me ocurre es la premura, creo que
se puede mejorar dedicndole ms tiempo, quiz en futuras versiones si es que
hubiera oportunidad para ellas. El ltimo captulo de los Mtodos Espectrales
de momento es muy reducido, se explican unas ideas muy generales con algunos
ejemplos, el alumno interesado en ampliar sus conocimientos en estos mtodos
le recomiendo el texto del profesor Lloyd N. Trefethen [11].

Fernando Vadillo
En Lejona a 21 de Febrero de 2005

1
Captulo 1

Resolucin de E.D.P. con la


F.F.T.

1.1. La transformada de Fourier


Dada una funcin u de L2 su transformada de Fourier es la funcin denida
de la forma:
Z
u() = (Fu)() = eix u(x)dx R (1.1.1)

donde x es la variable fsica y la variable de Fourier en el espacio de las


frecuencias. Para muchas funciones la integral converge en el sentido usual <
pero hay situaciones en las que esto no es cierto en cuyo caso se debe interpretar
RM
la integral como un lmite de M cuando M . Los lectores interesado en
los detalles pueden consulta el captulo 12 de la referencia [8].
La igualdad de Parseval relaciona las normas L2 de u y u en el siguiente
resultado:
kuk = 2 kuk , (1.1.2)
que se puede interpretar
como un principio de conservacin de la energa L2
salvo el factor 2 .
La transformacin inversa llamada sntesis est denida de la forma:
Z
1 1
u(x) = (F u)(x) = eix u()d x R. (1.1.3)
2

Aqu se puede apreciar claramente la idea del anlisis de Fourier, se trata de


interpretar u(x) como una superposicin de ondas de distintas frecuencias con
las amplitudes u().El siguiente teorema recoge las propiedades ms importantes
de la transformada de Fourier:

2
Teorema 1.1.1. Sean u, v L2 , entonces:

(a) Linealidad: F{u + v}() = u() + v() y F{cu}() = cu().

(b) Traslacin: Si x0 R, entonces F{u(x + x0 )}() = eix0 u().

(c) Modulacin: Si 0 R, entonces F{ei0 x u(x)}() = u( 0 ).

u(/c)
(d) Dilatacin: Si c R con c 6= 0, entonces F{u(cx)}() = |c| .

(e) Conjugacin: F{u}() = u().

(f ) Diferenciacin: Si ux L2 , entonces F{ux }() = i u().

1
(g) Inversin: F{F 1 {u}}() = 2 u().

La convolucin de dos funciones u, v es la funcin u v denida por:


Z Z
(u v)(x) = (v u)(x) = u(x y)v(y)dy = u(y)v(x y)dy, (1.1.4)

suponiendo que existan las integrales. La convolucin de dos funciones tiene


una propiedad muy importante porque la transformada de la convolucin es el
producto de las transformadas, suponiendo que uL1 y vL2 o viceversa, uvL2
y entonces:
F{u v}() = u()v(). (1.1.5)

1.2. Transformada semi-discreta de Fourier

Dado un paso h > 0 sea hZ la red de puntos equidistantes xj = jh j Z,


y sea v = {vj } una funcin denida en dichos puntos. Para funciones denidas
en dominios discretos se utilizar la `2h norma:
1/2

X
kvk = h |vj |2 , (1.2.1)
j=

y el smbolo `2h indica el conjunto de funciones con norma nita, es decir:

`2h = {v : kvk < } . (1.2.2)

3
Para una funcin v `2h la transforma semi-discreta de Fourier de v
se dene por:

X h i
v() = (Fh v)() = h eijh vj , . (1.2.3)
j=
h h

Observe que ahora la funcin v() es 2h -peridica porque si 1 2 es un mltiplo


entero de 2
h , entonces exp(i 1 xj ) = exp(i 2 xj )j Z, es decir, para los puntos
de la red xj las dos funciones son idnticas. Es el denominado efecto aliasing
que est representado en la gura 1.1. Como se indica en el pie de la gura
h = 0,25 y las funciones representadas sin(x) y sin(9x) toman los mismo
valores en la red de puntos 0, 0,25, 0,5, 0,75, 1.

Efecto alias del sin x y sin 9 x


1

0.5

0.5

1
1 0.75 0.5 0.25 0 0.25 0.5 0.75 1

Figura 1.1: Efecto aliasing para h = 41 .

4
La variable espacial x y la frecuencias estn en distintos conjuntos:

Espacio fsico: discreto y no acotado

Espacio Fourier: continuo y acotado

por lo que ser necesario en el espacio de las funciones v() denir una L2h
norma: "Z #1/2
h
kvk = |v()|2 d , (1.2.4)

h

y la igualdad de Parseval relacionar la norma `2h de v con la norma L2h de v


en el siguiente resultado:
kvk = 2 kvk . (1.2.5)

La inversa de la transformada semi-discreta de Fourier o sntesis est deni-


da de la forma:
Z h
1 1
vj = (Fh v)(xj ) = eixj v()d j Z (1.2.6)
2 h

1.3. Transformada discreta de Fourier


Para la transforma discreta de Fourier la variable fsica x se encuentra en un
intervalo del tipo [0, 2], piense por ejemplo en el caso de funciones peridicas. Se
considera un paso h = 2 N
N h = 2 con N par y la red de puntos equidistantes
xj = jh, j = 1, ..., N .
El espacio `2N es el espacio de las funciones denida en la red con norma
nita, es decir:
1/2
XN
kvk = h |vj |2 < (1.3.1)
j=1

La transforma discreta de Fourier (DFT) est denida de la siguiente forma:


N
X N N
v = (FN v)() = h eixj vj = + 1, . . . . . . , (1.3.2)
j=1
2 2

Ahora el dominio de Fourier adems de acotado es tambin discreto porque la


solucin es de periodo 2 y las nicas funciones del tipo eix con dicho periodo
son las que tiene la frecuencia entera. El siguiente esquema resume la situacin:

5
Espacio fsico: discreto acotado x {h, 2h, . . . , 2}
l l l
Espacio Fourier: acotado discreto { N2 + 1, . . . , N2 }

La transformacin discreta de Fourier inversa o sntesis es:


N/2
1 X
1
vj = (FN v)j = eixj v j = 1, . . . , N. (1.3.3)
2
=N/2+1

1.4. Interpolacin trigonomtrica.


Es un hecho notable que las funciones exponenciales eix no slo son ortog-
onales en el sentido continuo sino tambin en el discreto para un conjunto de
puntos equidistantes, es decir, si xj = jh, con h = 2
N y N par, entonces:

N
X
h eipxj eiqxj = 2pq (1.4.1)
j=1

Sea ahora v(x) una funcin de periodo 2 . El polinomio trigonomtrico que


interpola dicha funcin en los puntos xj evidentemente es:
N/2 N
1 X X
IN v(x) = v eix con v = h eixj v(xj ), (1.4.2)
2 j=1
=N/2+1

es decir, los coecientes del polinomio de interpolacin son exactamente la DFT


que se ha construido anteriormente.
Por otra parte, el N -simo polinomio de Fourier de la funcin v est denido
de la forma:
N/2
X Z 2
1 ix
PN v(x) = v()e con v() = eix v(x)dx, (1.4.3)
2 0
=N/2+1

donde los v() son los coecientes clsicos de Fourier de la funcin v . Es su-
ciente con que v(x) L2 para que la sucesin de polinomios converja en me-
dia cuadrtica a la funcin, pero para la convergencia puntual deben aadirse
hiptesis, es el conocido Teorema de Dirichlet que dice lo siguiente:

Teorema 1.4.1. Si v es una funcin de variacin acotada en [0, 2],


v(x+
0 )+v(x0 )
entonces la serie de Fourier en x0 converge a 2 . En particular,
converge a v(x0 ) si adems la funcin es continua en x0 .

6
Recuerde que una funcin es de variacin acotada si y slo si es la diferen-
cia de dos funciones montonas acotadas, y esto implica que todas sus discon-
tinuidades son de salto y forman un conjunto numerable.
Para la convergencia uniforme el teorema dice lo siguiente:

Teorema 1.4.2. Si v es continua en [0, 2] y su derivada existe excepto


en un nmero nito de puntos y es continua a trozos y acotada, entonces
la serie de Fourier de v converge uniformemente en [0, 2].

Los detalles de los teoremas de convergencia se puede encontrar en las ref-


erencias [8] y [15].
La relacin entre los coecientes de Fourier continuos v() y los discretos v
que se comprueba dice que:

X
v = v() + v( + N m), (1.4.4)
m=,m6=0

es decir, las frecuencias , N, 2N, ... del caso continuo aparecen todas
acumuladas en la frecuencia del interpolante, es lo que antes se llam efecto
alias. Segn este:

N/2
X X
IN v = PN v + RN v, con RN v = v( + mN ) eix ,
=N/2+1 m=,m6=0
(1.4.5)
donde RN u es el error aliasing. De este resultado y usando la ortogonalidad se
deduce la desigualdad:
kv PN vk kv IN vk, (1.4.6)
que indica que el error en media cuadrtica de interpolacin es siempre mayor
o igual que el error en media cuadrtica de la serie de Fourier truncada.
El comportamiento del error aliasing evidentemente depende del tamao
de los coeciente de Fourier para las frecuencias alta, un resultado clsico de
Anlisis de Fourier es el siguiente teorema que se puede consultar en la referencia
[16]:

7
Teorema 1.4.3. Sea v L2 con p 1 derivadas en L2 para algn p 0
y u(p) es de variacin acotada, entonces:

v() = O(||p1 ), cuando || . (1.4.7)

.
En particular si v tiene innitas derivadas continuas en L2 , entonces.

v() = O(||m ), cuando || , (1.4.8)

para todo m 0.

Este teorema aplicado a la expresin del error aliasing da el siguiente resul-


tado que estima el efecto de la discretizacin sobre la transformada de Fourier:

Teorema 1.4.4. Sea v L2 con p 1 derivadas en L2 para algn p y


u(p) es de variacin acotada, entonces:

|v() v | = O(hp+1 ), cuando h 0. (1.4.9)

En particular si v tiene innitas derivadas continuas en L2 , entonces:

|v() v | = O(hm ), cuando h 0, (1.4.10)

para todo m 0.

De aqu se concluye que cuando v(x) es regular, los coecientes continuo y


discreto son muy parecidos y el error aliasing es pequeo.
La derivada de una funcin v(x) se aproximar por la denominada derivada
espectral que se calcula de la siguiente forma:
N/2 N/2
d d d 1 X 1 X
v(x) (IN v(x)) = ( v eix ) = (iv )eix ,
dx dx dx 2 2
=N/2+1 =N/2+1

y los errores en la aproximacin espectral de la derivada son resultados parecido


a los teoremas anteriores. Al derivar se pierde regularidad, ms concretamente
el resultado es el siguiente:

8
Teorema 1.4.5. Sea v con la -sima derivada ( 1) de variacin
acotada, y sea w la -sima derivada espectral de v en los puntos de la
red xj .

(a) Si vL2 tiene p 1 derivadas en L2 para algn p + 1 y u(p) es


de variacn acotada, entonces:

|wj v () (xj )| = O(hp ), cuando h 0. (1.4.11)

(b) Si v tiene innitas derivadas continuas en L2 , entonces.

|wj v () (xj )| = O(hm ), cuando h 0, (1.4.12)

para todo m 0 .

1.5. Transformada rpida de Fourier (FFT).


La DFT tiene muchas aplicaciones, pero el costo de evaluar los coecientes
v es prohibitivo porque requiere del orden de 2N 2 multiplicaciones. Sin em-
bargo, en 1965 Cooley y Tukey redescubrieron un mtodo para calcular dichos
coecientes cuando N = 2n con un costo del orden de O(N log N ) en lugar
de O(N 2 ). Este algoritmo, llamado transformada rpida de Fourier (FFT) ha
sido reconocido como uno de los algoritmos ms inuyentes de nuestro tiempo
por sus muchas aplicaciones en Anlisis Numrico. Los detalles del algoritmo se
pueden consultar en texto clsico como por ejemplo [5], [9] y tambin en [8].
Habitualmente el algoritmo FFT est implementado el los lenguajes de progra-
macin cientca de alto nivel, por ejemplo en MATLAB es el comando fft e
ifft es su inversa.
El programa fftgui de la referencia [10] permite explorar las propiedades
de la FFT. Si en la ventana de comandos de MATLAB teclea fftgui(v) donde
v es un vector, aparecer una pantalla con cuatro grcas que corresponden a
las partes reales e imaginarias de v y fft(v). Si simplemente teclea fftgui con
su ratn podr observa como se van modicando las cuatro grcas anteriores.
Aunque el principal objetivo de estas notas es el de utilizar la FFT para re-
solver ecuaciones diferenciales, antes se comentarn otras aplicaciones siguiente
la referencia [10].
Una de las aplicaciones ms frecuentes se reere a la generacin de los tonos
de los teclados telefnicos, el sistema DTMF (Dual Tone Multi-Frequency) gen-
era una seal acstica dependiendo de la tecla que se presione. Las teclas estn
distribuidas en una matriz 4 3 asociadas a unas frecuencias bsicas:

9
fr=[697 770 852 941];
fc=[1209 1336 1477];
y cuando se elige a posicin (, j) el sonido se puede genera con el siguiente
cdigo en MATLAB:

Fs=32768;
t=0:1/Fs:0.25;
y1=sin(2*pi*fr(k)*t);
y2=sin()2*pi*fs(j)*t);
y=(y1+y2)/2;
sound(y,Fs);
El programa touchtone de la referencia [10] permite visualizar lo que se
acaba de comentar.
Otra de las aplicaciones clsicas de la FFT trata de encontrar comportamien-
to peridicos o prximos a peridicos en series temporales. Con mucha frecuen-
cia, se dispone de datos recogido a lo largo del tiempo de fenmenos observados,
y aunque la representacin de los datos no parezca establecen ninguna peri-
oridad, cuando se pasa al espacio de las frecuencias los periodos comienzan a
desvelarse. Un ejemplo es el de las manchas solares que se analizan en el progra-
ma sunspotstx de la referencia [10]. Durante siglos se observo que la cara del
sol no era uniforme y aparecan zonas oscuras de forma aparentemente aleatoria.
Sin embargo, en 1848 Rudolf Wolfer propuso una relacin de dichas manchas con
un cierto ndice que calculo utilizando datos desde el ao 1700, est relacin esta
recogida en el chero sunspot.dat. En el programa se muestra como aproximar
el periodo de los datos a pesar del aparente caos inicial.
Para aproximar soluciones de ecuaciones diferenciales se usar la FFT para
calcular las derivadas espectrales y el algoritmo tiene los siguientes pasos:

1. Dada v de periodo 2 , se calcula sus coecientes discretos v uti-


lizando la FFT.

2. Se dene w = iv , excepto para wN/2 = 0.

3. Se calcula la derivada espectral, es decir, se estiman los wj que


son las aproximaciones de la derivada en los puntos xj usando la
inversa de la FFT.

Para la p-sima derivada bastar modicar el segundo paso y en su lugar


hacer w = (i)p v y wN/2 = 0 cuando p es impar porque se perdera la simetra.
En el programa p5.m de [11] se estiman las derivadas de las funciones:

|x |
f (x) = max{0, 1 }, g(x) = esin x , (1.5.1)
2

10
function spectral derivative
1.5 1

1 0.5

0.5 0

0 0.5

0.5 1
0 2 4 6 0 2 4 6

3 2
max error = 9.5679e013
1
2
0
1
1

0 2
0 2 4 6 0 2 4 6

Figura 1.2:

con el resultado de la gura 1.2.


En el programa p6.m se resuelve numricamente la ecuacin de ondas de
coeciente variable:
1
ut + c(x)ux = 0, c(x) = + sin2 (x 1), (1.5.2)
5
para x[0, 2] y condiciones peridicas en la frontera. Como condicin inicial se
toma u(x, 0) = exp(100(x 1)2 ) que a pesar de no ser exactamente peridica,
en los extremos prcticamente vale cero y se puede tratar como tal.
La variable tiempo t se discretiza con un mtodo leap-frog y la aproximacin
espectral para la derivada en x. El esquema que resulta es:
(n+1) (n1)
uj uj
= c(xj )(Du(n) )j , j = 1, . . . , N. (1.5.3)
2t
y el resultado est representado en la gura 1.3.

1.6. Algunos modelos escalares.


Uno de los ejemplos ms sencillos de EDP es la ecuacin de ondas de
primer orden en una dimensin :
ut = ux . (1.6.1)

Dada una condicin inicial:

u(x, 0) = u0 (x). (1.6.2)

11
Onda de velocidad variable: leapfrog y espectral

3
u

0
8

1 6
t 5
3 4
0 2
0 1
x

Figura 1.3:

la solucin nica es:


u(x) = u0 (x + t), (1.6.3)
lo que signica que se tiene una adveccin de velocidad 1, es decir, el dato
inicial se traslada hacia la izquierda sin deformaciones. En la gura 1.4 se ha
representado en (a) la condicin inicial sech(x) y el (b) la solucin en t = 10. Se
puede apreciar claramente que la creta de la ola se ha desplazado a x = 10.
El ejemplo ms sencillos de ecuacin parablica es la ecuacin del calor
uni-dimensional :
ut = uxx . (1.6.4)
que describe un proceso de difusin del calor. Para la condicin inicial ( 1.6.2)
sucientemente regular, el anlisis clsico de Fourier permite calcular la solucin
exacta:
Z Z
1 2 1 2
u(x, t) = eix t u0 ()d = e(xs) /4t u0 (s)ds, (1.6.5)
2 4t
donde se aprecia que la componente de la frecuencia en la condicin inicial
2
decrece con el tiempo por el factor e t . La grca (c) de la gura 1.4 representa
en t = 10 la solucin con la condicin inicial (a).

12
1

(a) 0

1
50 40 30 20 10 0 10 20 30 40 50
1

0
(b)

1
50 40 30 20 10 0 10 20 30 40 50
1

(c) 0

1
50 40 30 20 10 0 10 20 30 40 50
1

(d) 0

1
50 40 30 20 10 0 10 20 30 40 50

Figura 1.4:

El tercer modelo que se considera es la ecuacin de Schdinger uni-


dimensinal:
ut = iuxx . (1.6.6)
que describe la propagacin de funciones complejas en mecnica cuntica y que
aparece en aplicaciones acsticas. Nuevamente con la condicin inicial ( 1.6.2)
la solucin exacta que se obtiene es:
Z Z
1 2 1 2
u(x, t) = eixi t u0 ()d = ei(xs) /4t u0 (s)ds. (1.6.7)
2 4it
El comportamiento de esta solucin es muy distinta, la solucin se representa
en la parte (d) de la gura 1.4 y muestra la parte real de la solucin con las
tpicas oscilaciones de los procesos de dispersin.
La idea fundamental para entender estos comportamientos es observar que
si en las tres ecuaciones se buscan soluciones del tipo:

u(x, t) = ei(x+wt) , R w C, (1.6.8)

entonces la frecuencia en tiempo w depende del nmero de onda , en los tres


ejemplos el resultado es el siguiente:

ut = ux w = , (1.6.9)

ut = uxx w = i 2 , (1.6.10)

13
ut = iuxx w = 2 . (1.6.11)
Estas relaciones de dispersin y sus velocidades de grupo ( dw
d )dan una
descripcin completa del comportamiento de cada onda. Para la ecuacin de
Schdinger como dicha velocidad depende de numero de onda el paquete
tiende a romperse provocando las oscilaciones que se observan.
Estos tres ejemplos: adveccin, difusin y dispersin, son mecanismos funda-
mentales para entender el comportamiento de la E.D.P. as como de los posible
modelos discreto.

1.7. La ecuacin de Korteweg-de Vries (KdV)


La ecuacin KdV no lineal es:
ut + uux + uxxx = 0, (1.7.1)
que combina un trmino no lineal uux y una parte lineal dispersiva uxxx . Esta
ecuacin tiene un tipo de soluciones que son ondas viajeras de la forma:
a
u(x, t) = 3a2 sech2 ( (x x0 ) a3 t), a, x0 , (1.7.2)
2
donde sech(x) = 2/(ex + ex ). Se trata por tanto de ondas de amplitud 3a2 y
velocidad 2a2 en contra del caso lineal en donde la velocidad es independiente
de la amplitud. Adems, el valor de u est muy localizado en el entorno del
punto x0 + 2a2 t y despus decrece muy rpidamente.
Estas ondas viajeras tienen una propiedad muy destacable porque cuando
se superponen dos de ellas la colisin es elstica en el sentido de que despus
del choque, se vuelven a reproducir cada una de ellas con un ligero cambio en
la fase, son ondas llamadas solitones que han recibido una gran atencin en los
ltimos aos. De hecho, cualquier mtodo numrico para la ecuacin KdV que
se precie deben al menos reproducir el choque elstico de dos solitones.
Para resolver la ecuacin KdV se usar la FFT con el mtodo de factor
integrante de la siguiente forma: primero se rescribe la ecuacin en su forma
conservativa:
1
ut + ( u2 )x + uxxx = 0, (1.7.3)
2
que en el espacio de Fourier resulta:
i c2
ut + k u ik 3 u = 0. (1.7.4)
2
3
Multiplicando ahora toda la ecuacin por eik t que es el factor integrante, y
3
cambiando a la nueva variable U = eik t u la ecuacin que resulta es:
i 3
c2 = 0,
Ut + eik t k U (1.7.5)
2
donde el trmino lineal ha desaparecido. Trabajando con la transformada de
Fourier se obtiene:
2
i ik3 t 1 ik3 t
Ut + e k F F (e U ) = 0, (1.7.6)
2

14
donde F indica el operador transformada de Fourier.
El programa p27.m de la referencia [11] implementa el mtodo comentado
con el resultado de la gura 1.5. Las ODE que aparecen se resuelven con el
mtodo Runge-Kutta de cuatro evaluaciones clsico.

2000

0
6

4
3
x 10 3

2 3
2
1 1
0
t 1
0 2
3
x

Figura 1.5:

1.8. La ecuacin cbica de Schrdinger.


La ecuacin cbica de Schrdinger es:

iut + uxx + q|u|2 u = 0, < x < , (1.8.1)

donde u(x, t) es una funcin de valores complejos y q un parmetro real. Como


en el ejemplo anterior, al combinar una parte lineal con la no lineal la ecuacin
tiene propiedades muy destacables, por ejemplo conserva la energa, es decir:
Z
d
|u(x, t)|2 dx = 0, (1.8.2)
dt

y tambin tiene solitones de la forma:


r
2 1 1
u(x, t) = exp i{ c(x x0 ) ( c2 )t} sech( (x x0 ct)),
q 2 4
(1.8.3)
donde c es la velocidad y el parmetro determina su amplitud.
Supuesto de que |u|2 es constante, la ecuacin en el espacio de Fourier que
queda es:
iut k 2 u + q|u|2 u = 0, (1.8.4)

15
cuya solucin evidentemente es:
2
+q|u|2 )t
u(k, t) = ei(k u(k, 0), (1.8.5)

tomando ahora la transformada inversa queda:


h 2
2
i
u(x, t) = F 1 (u(k, t)) = F 1 eik t F eiq|u| t u(x, 0) . (1.8.6)

Esta expresin indica que dado un t para avanzar de t a t + t se puede usar


la siguiente expresin:
h 2
2
i
u(x, t + t) = F 1 eik t F eiq|u| t u(x, t) , (1.8.7)

y el algoritmo que resulta tiene los siguientes pasos:


2
1. Se calcula eiq|u| t
u(x, t) que es como resolver la parte no lineal de la
ecuacin.
2. Se pasa al espacio de Fourier donde la parte lineal tiene una solucin muy
2
sencilla que es multiplicar por eik t .
3. Finalmente se hace la transformada inversa de Fourier para volver al es-
pacio fsico.
Estos tipos de mtodos que separan la parte lineal de la no lineal son llamados
Mtodos de paso partido. El programa nls.m implementa este mtodo.
La gura 1.6 reproduce la colisin de los dos solitones que corresponden a
la condicin inicial:

i(x 20) i(x + 20)
u(x, 0) = exp sech(x 20) + exp sech(x + 20).
2 2
(1.8.8)

1.9. Ejercicios.
1. Demuestre las propiedades de la transformada de Fourier del teorema
1.1.1.
2. Sea uL2 , compruebe las siguientes armaciones:
(a) u(x) es una funcin par (impar) ssi u() es par (impar).
(b) u(x) es real (imaginaria) ssi u() es hermitiana (anti-hermtiana).
Recuerde que una funcin es hermitiana si u(x) = u(x) y anti-hermitiana
si cambia el signo.
3. Considere la siguiente funcin:
1
para 1 x 1,
u(x) = 2 (1.9.1)
0 otros casos

16
2

0
140

120 60
100 50
80 40
60 30
40 20
20 10
0 0

Figura 1.6:

(a) Calcule su transformada de Fourier y compruebe la relacin de Par-


seval.
(b) Calcule las convoluciones u u y u u u.
(c) Escriba un programa en MATLAB que dibuje las tres funciones u, u
u, u u u en el intervalo [3, 3] y sus tres transformadas de Fourier.
Qu destacara de lo que observa?.

4. Demuestre que a diferencia con L1 , L2 y L los espacios discretos veri-


can: `1h `2h `
h .

5. Enuncie y demuestre un teorema parecido al teorema 1.1 y el ejercicio 1.2


con las propiedades de la transformada semi-discreta de Fourier.

6. La convolucin de dos funciones v y w es la funcin denida de la forma:



X
X
(v w)m = h vmj wj = h vj wmj .
j= j=

suponiendo que los sumatorios existan. Si v `1h y w `2h (o viceversa)


entonces v w `2h . Demuestre que tambin ahora es cierta la propiedad:

Fh (v w)() = v()w().

17
7. La convolucin de dos funciones v y w es la funcin denida de la forma:
N/2 N/2
X X
(v w)m = h vmj wj = h vj wmj .
j=N/2+1 j=N/2+1

Si v, w `2N demuestre que tambin ahora es cierta la propiedad:

FN (v w)() = v()w().

8. Compruebe la expresin del error alias ( 1.4.4).

9. El fenmeno climatolgico del Nio resulta de cambios en la presin at-


mosfrica en el sur del oceano Pacco, cambios que se miden por un ndice
mensual. El chero elnino.dat contiene los valores mensuales de dicho
ndice del aos 1962 al 1975. Realice los cambios necesarios en el programa
sunspottx para conocer si el fenmeno del nio es peridico o no, y en
caso armativo estime cada cuanto tiempo deben tomarse medida para
evitar sus destrozos.
10. Escriba un programa en MATLAB que utilice el siguiente esquema en
diferencias:
(n+1) (n1) (n) (n)
uj uj uj+1 uj1
= c(xj ) , j = 1, . . . , N. (1.9.2)
2t 2h
con N = 128, 256 y compare los resultado con los de p6.m.

11. Calcule las relaciones de dispersin de las siguientes ecuaciones:

(kG) utt = uxx u. Ecuacin de Klein-Gordon.


(kdV ) ut = uxxx . Ecuacin de Korteweg-de Vries.
(RLW ) ut + ux = uxxt . Ecuacin Regularized Long Wave,

y escriba un programa en MATLAB que dibuje sus soluciones para la


condicin inicial sech(x).

18
Captulo 2

Problemas parablicos

2.1. La ecuacin del calor

La ecuacin del calor es la ecuacin parablica que aparece en todos los


modelos matemticos relacionados con problemas de difusin y Mecnica de
Fluidos.
Se considera el problema de Cauchy:

ut u = 0, en RN (0, )
(2.1.1)
u(x, 0) = (x), en RN .
cuya solucin exacta es:
Z
N/2 |x y|2
u(x, t) = (4t) exp (y)dy, (2.1.2)
RN 4t
donde ya se aprecia que tiene una velocidad de propagacin innita porque
los valores de la condicin inicial (y) en cualquier punto y RN intervienen
en la solucin u en todos los puntos (x, t).
En la siguiente lista se recogen las propiedades bsicas de la ecuacin del
calor (ver [4] ):

1. Velocidad innita de propagacin.


2. Efecto regularizante que implica tambin irreversibilidad temporal.
3. Principio del mximo: si 0 entonces u 0. En realidad u es positivo
salvo que 0.
4. Conservacin de la masa:
Z Z
u(x, t)dx = (x)dx, t > 0.
RN RN

5. Decaimiento de la solucin:

ku(x, t)kL (RN ) CtN/2 k(x)kL1 (RN ) , t > 0.

19
Los detalles y comprobaciones de estas propiedades se pueden consulta en
las referencias [4] y [6].
En lo que resta de este captulo se considerar la ecuacin del calor uni-
dimensional en el siguiente problema:

ut uxx = 0, 0<x< t>0
u(0, t) = u(, t) = 0, t>0 (2.1.3)

u(x, 0) = (x), 0 < x < .
Esta ecuacin modela la distribucin de la temperatura en un alambre de lon-
gitud aislado, con los extremos a cero grados y partiendo de la distribucin
inicial de temperaturas (x).
El mtodo de separacin de variables calcula la solucin en forma de serie
de Fourier:

X 2
u(x, t) = bj ej t j (x),
(2.1.4)
j=1
q
2
donde las j (x) = sin(jx) son las autofunciones y
bj son los coecientes de
2
Fourier de L (0, ), es decir:
Z

bj = (x)j (x)dx. (2.1.5)
0

De la expresin 2.1.4 se deduce entonces que:



X
X
2
ku(t)k2L2 (0,) = |(x)|
b 2 2j
e t
e2t |(x)|
b 2
= e2t kk2L2 (0,) , (2.1.6)
j=1 j=1

que demuestra como la solucin decrece exponencialmente cuando t en


contra del decrecimiento potencial en el decaimiento de la solucin comentado
en las propiedades anteriores.
Este mismo resultado se alcanza estudiando la evolucin de la energa del
sistema: Z
E(t) = u2 (x, t)dx, (2.1.7)
0
porque se comprueba que:
d
E(t) 2E(t) (2.1.8)
dt
de donde se deduce la misma desigualdad 2.1.6.
Como la solucin es la serie innita 2.1.4, un posible primer intento de aprox-
imacin sera truncar la serie, es decir, para cada nmero natural M estimar las
sumas parciales:
XM
2
uM (x, t) = bj ej t j (x).
(2.1.9)
j=1

con una evidente cota de error:


2
ku(x, t) uM (x, t)kL2 (0,) eM t/2
k(x)kL2 (0,) , t > 0 (2.1.10)

lo que demuestra la convergencia en norma L2 cuando M . El problema


para utilizar este mtodo de las series de Fourier truncadas es que se necesitan

20
conocer las autofunciones del laplaciano con las condiciones fronteras y en el
dominio del problema que se estudia, y aunque la teora espectral garantiza la
existencia de la sucesin de autofunciones que forman una base ortogonal, otra
cosa es poder calcularlas salvo en casos muy particulares.

2.2. Semidiscretizacin espacial

Discretizando la variable x con un paso h = M+1 y utilizamos la clsica


aproximacin de tres puntos para la segunda derivada se llega a un sistema de
M ecuaciones diferenciales ordinarias lineales acopladas:

u0j (t) uj+1 (t)2uhj2(t)+uj1 (t) = 0, j = 1, ..., M t > 0
u (t) = uM +1 (t) = 0, t>0 (2.2.1)
0
uj (0) = (jh), j = 1, ..., M ,

que de manera vectorial puede escribirse de la forma siguiente:


d
u(t) + Ah ~u(t) = ~0,
dt ~ (2.2.2)
~u(0) = ~.


u1 (t) 2 1
.. .. ..
. 1 1 . .
~u =
..
,
Ah = 2

.
(2.2.3)
h .. ..
. . . 1
uM (t) 1 2

cuya solucin exacta es:

~u(t) = etAh
~. (2.2.4)

El sistema 2.2.1 tambin verica un principio del mximo segn el cual si


el dato inicial es no negativo, la solucin tambin lo es para todo x y todo t.
Tambin se puede hacer una anlisis de Fourier del sistema 2.2.1. Si se
considera el problema de autovalores:

Ah w
~ = w,
~ (2.2.5)

los autovalores son:



4 2 h
l (h) = 2 sin l , l = 1, ..., M, (2.2.6)
h 2
y los autovectores asociados:

r sin(lx1 )
2 ..
w~ l (h) = . , l = 1, ..., M, (2.2.7)

sin(lxM )

donde se reeja que cuando h 0 los autovalores y autovectores del problema


semidiscreto convergen a los autovalores y autovectores del problema continuo.

21
Este anlisis de Fourier construira una solucin del tipo:
M
X
~uh (t) = bl el (h) w
~ l (h), (2.2.8)
l=1

porque los autovectores ahora son ortogonales respecto de una versin discreta
de la norma L2 y despus demostrara la convergencia, es decir, comprobara que
los errores ~uh (t) ~u(t) tienden a cero cuando t 0, donde ~u(t) es la restriccin
de la solucin exacta de 2.1.3 en los nodos de la red.
Otra tcnica para demostrar la convergencia de la solucin del sistema semidis-
creto 2.2.1 a la solucn de la ecuacin del calor 2.1.3 es el denominado mtodo
de la energa que consiste en estudiar como evoluciona una versin discreta de
la energa:
M
hX
Eh (t) = |uj |2 . (2.2.9)
2 j=1

Los dos lemas siguientes son necesarios para demostrar la convergencia:

Lema 2.2.1.
XM
d uj+1 uj 2
Eh (t) = h . (2.2.10)
dt h
j=0

Lema 2.2.2 (Versin discreta de la desigualdad de Poincar.). Para


todo > 0 existe un h0 > 0 tal que para todo 0 < h < h0 y para toda sucesin
a0 , a1 , ..., aM +1 con a0 = aM +1 = 0 se tiene:
M
X M
X
aj+1 aj 2
h (1 )h |aj |2 . (2.2.11)
h
j=0 j=1

Para demostrar la convergencia de la solucin de la ecuacin semidiscreta uj


a la solucin exacta, se considere ahora la solucin exacta sobre la malla uj , y
se estudia el vector de errores:
~e = {ej }j=1,...,M , ej = uj uj . (2.2.12)
Resulta evidente que las ej satisfacen:
e 2e +e
e0j j+1 h2j j1 = j , j = 1, ..., M t>0
e = eM +1 = 0, t>0 (2.2.13)
0
ej (0) = 0, j = 1, ..., M ,
donde j son los errores de truncatura locales:
uj+1 2uj + uj1
j = uxx (xj , t) (2.2.14)
h2

22
que como son aproximaciones de orden dos verican que:

|j (t)|2 Ch4 ku(t)k2C 4 ([0,]) , (2.2.15)

para 1 j M, 0 h h0 0 t T.

Repitiendo las operaciones del lema primero, se obtiene ahora que:



M M M
d h X 2
X ej+1 ej 2
+h
X
|ej | = h j ej , (2.2.16)
dt 2 j=1 j=0
h j=1

y utilizando la desigualdad de Poincar con = 1/2 se tiene:



M M M M
d h X hX X hX
|ej |2 |ej |2 + h j ej |j |2 , (2.2.17)
dt 2 j=1 2 j=1 j=1
2 j=1

de donde se llega a:
M
X M Z
X T
2
h |ej (t)| h |j (t)|2 dt, 0 < h < h0 , 0 t T. (2.2.18)
j=1 j=1 0

Usando ahora desigualdad 2.2.15 se llega nalmente a:


M
X Z T
k~ek2h = h |ej (t)|2 Ch4 ku(t)k2C 4 ([0,]) dt, (2.2.19)
j=1 0

que demuestra la convergencia de orden dos siempre que la integral sea nita.

2.3. Los mtodos de Euler y Crank-Nicolson


El mtodo de las diferencias nitas bsicamente consiste en discretizar las
variables y sustituir en la ecuacin diferencial las derivadas por cocientes en
diferencias para obtener un problema que se pueda resolver por algn proced-
imiento nito, habitualmente se llegar a sistemas de ecuaciones lineales.
Sean entonces h y k los pasos en x y t que denen una red de puntos (xj , tn )
con xj = jh y tn = nk . El mtodo que se desarrolla calcula aproximaciones a
los valores de u(x, t) en los puntos de la malla: Ujn u(xj , tn ).
Las frmulas en diferencias que se utilizan para aproximar ut (x, t) y uxx (x, t)
son respectivamente:

u(x, t + k) u(x, t)
ut (x, t) = + O(k), (2.3.1)
k
u(x h, t) 2u(x, t) + u(x + h, t)
uxx (x, t) = + O(h2 ), (2.3.2)
h2

23
que aplicadas en los puntos de la red y despreciando los trminos O(k) y O(h2 )
resulta el esquema en diferencias llamado mtodo de Euler:

Ujn+1 Ujn n
Uj1 2Ujn + Uj+1
n
= , (2.3.3)
k h2
que es una aproximacin a la ecuacin diferencial del problema 2.1.3.Por co-
modidad, se toma r = hk2 y se reordenan los trminos para obtener el esquema
en diferencias explcito:

Ujn+1 = (1 2r)Ujn + r(Uj+1


n n
+ Uj1 ). (2.3.4)

El programa forwdif de [14] implementa este mtodo en MATLAB. En el


ejemplo representado en la gura 2.1 se considera la condicin inicial (x) =
x( x) con h = /5 en 0 t 3 y dos diferentes pasos en el tiempo, a la
izquierda k = 3/20 y a la derecha k = 3/10. La diferencia entre las soluciones es
evidente, en la parte derecha se aprecian oscilaciones que ensucian la solucin
exacta, se trata de un claro ejemplo de inestabilidad que mas tarde se estudiara.
La condicin de estabilidad del mtodo ser r 1/2 y mientras que en primer
caso r = 0,38 en segundo r 0,75.

inestable
estable

Figura 2.1:

La condicin de estabilidad puede llegar a ser una problema grave porque si


se precisara utilizar un k de orden de una dcima, entonces el h debiera ser del
orden de centsimas y ello encarecera mucho el coste computacional. Por tanto,
parece necesario conocer otros esquemas que no tengan este inconveniente y uno
de los ms conocidos es el mtodo de Crank-Nicolson.

24
La idea del este mtodo es aproximar la ecuacin del calor en un punto
intermedio de la red: x, t + k2 de la forma siguiente:

k u(x, t + k) u(x, t)
ut (x, t + ) = + O(k 2 ), (2.3.5)
2 k
k 1
uxx (x, t + ) = [u(x h, t + k) 2u(x, t + k)
2 2h2
+u(x + h, t + k) + u(x h, t) 2u(x, t)
+u(x + h, t)] + O(h2 ), (2.3.6)

que aplicadas en los puntos de la red y despreciando los trminos O(k 2 ) y O(h2 )
resulta el esquema implcito:
n+1
rUj1 + (2 + 2r)Ujn+1 rUj+1
n+1 n
= rUj1 + (2 2r)Ujn + rUj+1
n
, (2.3.7)

donde nuevamente r = hk2 , y el ndice j = 1, ..., N 1 suponiendo que h = N


.
Este conjunto de N 1 ecuaciones deben resolverse de manera conjunta porque
las ecuaciones no se desacoplan como en el mtodo explcito 2.3.4. Para calcular
las aproximaciones en el nivel de tiempo n + 1 con los datos del nivel n se tiene
que resolver un sistema de ecuaciones lineales:

AUn+1 = b, (2.3.8)

donde:
2 + 2r r
r 2 + 2r r

A= .. .. .. , (2.3.9)
. . .
r 2 + 2r

U2n+1 U3n + (2 2r)U2n
U3n+1 U2 + (2 2r)U3n + U4n
n

Un+1 = .. , b= .. . (2.3.10)
. .
n+1 n n
UN 1 UN 2 + (2 2r)UN 1

El mtodo de Crank-Nicholson 2.3.7 tiene entonces el inconveniente del


sistema que se debe resolver en cada nivel de tienmpo, pero por otra parte es
un mtodo incondicionalmente estable, es decir, los errores nunca aumentan
independientemente de cuales sean la relacin entre los pasos h y k .

2.4. El teorema de Equivalencia de Lax


El problema que se quiere resolver de una manera abstracta tiene el siguiente
planteamiento: dado un espacio de Banach B , se quiere hallar la familia u(t) B ,
donde t es un parmetro real, tal que:
(
ut (t) = Au(t) 0 t T,
(2.4.1)
u(0) = u0 ,

25
donde A : B B es un operador lineal y u0 B representa el estado inicial
del sistema. De hecho bastara con que el operador A estuviera denido en un
subconjunto denso del espacio B (ver [12]). Se supone que el problema 2.4.1
est bien denido en el sentido de que existe una nica solucin para cada u0 B
que depende continuamente del dato inicial. Por ejemplo, para la ecuacin del
calor B = L2 y el operador A = x2 .
El siguiente paso consiste en denir un esquema en diferencias, tambin en
sentido abstracto, esto signica que se tiene una familia de operador lineales:

Sk : B B, (2.4.2)

donde el subndice k es el parmetro del que depende la discretizacin (paso


en el tiempo t), y para aproximar la solucin del problema 2.4.1 en sucesivos
niveles de tiempo:

U n+1 = Sk U n U n = Skn U 0 , (2.4.3)

aqu el Skn = (Sk )n , es decir, el nmero n indica una potencia y no un su-


perndice. Por simplicidad se supone los operadores A y Sk no dependen explci-
tamente del tiempo, aunque la teora se puede extender a estos casos. Tampoco
aparece explcitamente la dependencia del paso h aunque se supone h = h(k),
si hubiera varias variables espaciales se supones que para cada una de ellas
hj = hj (k).

Denicin 2.4.1. Se dice que {Sk } tiene orden de exactitud p si

ku(t + k) Sk u(t)k = O(hp+1 ), cuando k 0, (2.4.4)

para todo t [0, T ] y suponiendo u(t) sucientemente regular. Se dice que es


esquema es consistente si p > 0.

El trmino que aparece en el interior de la norma de la denicin 2.4.1,


que es el error que comete la solucin exacta en el esquema en diferencias, se
denomina error del truncatura local de {Sk }.
Los errores globales son la diferencia entre las soluciones exacta y aprox-
imada: en = u(nk) (Sk )n u0 , y evidentemente para que un mtodo sea til
estos errores deben hacerse tan pequeos como se quiera siempre que se tome el
parmetro k adecuado (sucientemente pequeo). Se tiene entonces la denicin
de convergencia:

Denicin 2.4.2. Se dice que {Sk } es convergente si:

lm kSkn u(0) u(t)k = 0, (2.4.5)


k0,nk=t

para todo t [0, T ].

26
Segn esta denicin, para demostrar que un esquema es convergente, habra
que calcular los errores globales para lo que sera preciso conocer la solucin
exacta, pero si se conociera la solucin exacta poco inters puede tener calcular
soluciones aproximadas. Para evitar manipular errores globales se introduce el
concepto de estabilidad:

Denicin 2.4.3. Se dice que {Sk } es estable, si existe alguna constante


C > 0 tal que:
kSkn k C, (2.4.6)

para todo n y k tal que 0 nk T .

Es importante destacar que las deniciones de consistencia y convergencia


hacen referencia a la solucin de la ecuacin diferencia, pero la denicin de
estabilidad no. Uno puede decidir si su esquema es estable o no sin mirar la
ecuacin que est tratando de aproximar.
En realidad la condicin de estabilidad se puede debilitar porque si existe
un nmero 0 tal que:
kSk k 1 + k, (2.4.7)
entonces:
n
kSkn k kSk k (1 + k)n ehk eT = C, (2.4.8)
que implica la estabilidad. De hecho, cuando se estudie la estabilidad de cualquiera
esquema, se buscarn condiciones del tipo 2.4.7.
El nal de esta teora es el siguiente famoso teorema:

Teorema 2.4.4. Teorema de equivalencia de Lax.


Sea {Sk } una aproximacin consistente al problema de valores iniciales 2.4.1.
Entonces {Sk } es convergente si y slo es estable.

Demostracin. La demostracin de que la consistencia y estabilidad implican la


convergencia es sencilla, si se escribe la expresin:

u((n + 1)k) = Sk u(nk) + Tn+1 (2.4.9)

donde Tn+1 es el error de truncatura local. Restando 2.4.3 se tiene la ecuacin


de los errores:
en+1 = Sk en + Tn+1 (2.4.10)

y tomando normas:

n
ken+1 k kSk k ken k + kTn+1 k kSk k ke0 k + kTn+1 k . (2.4.11)

27
De los dos trminos de la de la cota de error, el primero est acotado por la
estabilidad y tiende a cero si e0 0, mientras que la convergencia del segundo
trmino es justamente la denicin de consistencia.
Los otros detalle de la demostracin se pueden consultar en [12]

Ejemplo 2.4.5. En el esquema explcito 2.3.4 para el problema 2.1.3, el espa-


cio de Banach sera el espacio de las funciones continuas nulas en los extremo:
C0 [0, ] con la norma del supremo.

Algunos comentarios sobre el contexto donde se puede aplicar el teorema de


equivalencia de Lax:

Problemas lineales de coecientes variables: La teora es aplicable sin ningu-


na dicultad. Se utiliza el mtodo en condiciones de estabilidad para la
familia de problemas que resulte de mantener constantes los coecientes.
Sistemas de ecuaciones: Aunque la teora se ha expuesto para el caso escalar,
evidentemente es extensible para sistemas de ecuaciones.
Esquema implcitos: Aunque el esquema 2.4.3 se presente de manera explci-
ta, el caso de implcito no est excluido porque debe existir el operador
inverso para llevarlo a la formulacin general.
Esquemas multipaso: Aunque el esquema 2.4.3 sea de un paso, el caso de
esquemas multipaso se puede llevar a la formulacin general aumentando
la dimensin.
Condiciones fronteras: Si el problema tuviera condiciones frontera, estas de-
bieran incluirse en la denicin del espacio funcional.
Problemas no lineales: La teora no es aplicable a este caso, lo habitual en
los problemas no lineales es investigar las condiciones de de estabilidad del
problema linealizado y utilizarlas para resolver el problema no lineal. Con
mucha frecuencia los resultados son bastante buenos, pero ello no quita
que puedan aparecer inestabilidades de tipo no lineal.

2.5. El condicin de Von Neumann para la esta-


bilidad
Von Neumann realiza un anlisis de Fourier del mtodo en diferencias, la
idea bsica consiste en expresar el dato inicial en el espacio de Fourier y despus

28
analizar la propagacin de los errores en dicho espacio para todos los nmeros
de frecuencias .
Se considerar en primer lugar el caso de una frmula explcito escalar de
una paso:
Xr
Ujn+1 = SUjn = Uj+ , (2.5.1)
=l

donde los { } son constantes. S es el operador para pasar del nivel n al n + 1


denido en `2h y con valores en el mismo espacio porque se trata de una suma
nita. Adems se puede escribir como una convolucin discreta:
1
SU = a U, a = ( ). (2.5.2)
h
por lo cual:
d() = a[
SU U () = a()U (), (2.5.3)
lo que indica que a() es el factor de amplicacin que multiplica a la com-
ponente de U para el nmero de frecuencia cuando se aplica el operador S .
Habitualmente este factor de amplicacin se denota por g(). Debido a la lin-
ealidad del problema, para determinar este factor de amplicacin es suciente
insertar la solucin Ujn = g n eijh en el esquema en diferencias y encontrar la
expresin g = g() que resulta.
Utilizando la igualdad de Parseval:

d
kSU k = SU = g U kgk U , (2.5.4)

lo que implica que kSk kgk , sin embargo, como la cota se alcanza (bastara
tomar toda la masa en una frecuencia concreta) si tiene que:

kSU k
kSk = sup = kgk . (2.5.5)
U `2h kU k

Aplicando la iteracin desde el nivel cero hasta el n es evidente que: U n =


S U 0 y entonces U
n c0 (). Como g() es una funcin escalar:
cn () = (g())n U

k(g())n k = max(|g()|n ) = max(|g()|)n = (kgk )n , (2.5.6)


y repitiendo argumentos anteriores:


n
kS n k = (kgk )n = kSk , (2.5.7)

con lo que se concluye el siguiente teorema:

Teorema 2.5.1. Si la frmula en diferencias nitas 2.5.1 dene un operador


lineal acotado S : `2h `2h , entonces:

kS n k = (kgk )n , n > 0. (2.5.8)

29
Este teorema interpretado para la estabilidad dice lo siguiente:

Corolario 2.5.2. Una frmula en diferencias lineal explcita, escalar y de un


paso es estable si y solo si:

|g()| = 1 + O(k), (2.5.9)

cuando k 0 y uniformemente en [/h, /h].

La condicin 2.5.9 se la denomina condicin de Von Neuman de la


frmula en diferencias, y el corolario dice que para un esquema lineal explcito
escalar y de un paso, la condicin de Von Neumann es necesaria y suciente
para la estabilidad.

Ejemplo 2.5.3. En el mtodo de Euler 2.3.4 para la ecuacin del calor 2.1.3,
h
es fcil comprobar que g() = 1 4r sin2 2 . Entonces es table si y slo si:

h 1
1 1 4r sin2 1 r . (2.5.10)
2 2

Una frmula en diferencias lineal de un paso es de la forma:


r
X r
X
n+1 n
Uj+ = Uj+ , (2.5.11)
=l =l

para algunas constantes { } y { } con 0 6= 0. Si = 0 para 6= 0 la


frmula es explcita, mientras que si 6= 0 para algn 6= 0 es implcita.
Para denir ahora el operador S : U n U n+1 se debe ser mas cuidadoso
porque dada una sucesin U n la nueva sucesin U n+1 de obtiene de un sistema
de ecuaciones lineales que se pueden expresar como:

BU n+1 = AU n , (2.5.12)

donde A y B son matrices innitas tipo Toeplitz (ver por ejemplo [2]).
La ecuacin 2.5.11 se puede escribir usando la convolucin como:

b U n+1 = a U n , (2.5.13)

donde a = h1 y b = h1 , y la pregunta de se plantea es si dada una suce-


sin U n existe una nica la sucesin U n+1 que resuelve el sistema de ecuaciones
lineales. La respuesta es no.

Ejemplo 2.5.4. El mtodo de Crank-Nicolson 2.3.7 para la ecuacin del calor:

n+1
rUj1 + (2 + 2r)Ujn+1 rUj+1
n+1 n
= rUj1 + (2 2r)Ujn + rUj+1
n
, (2.5.14)

30
y suponga que Ujn = 0, j , el sistema que resulta es:

n+1
rUj1 + (2 + 2r)Ujn+1 rUj+1
n+1
= 0, (2.5.15)

que tiene la solucin trivial Ujn+1 = 0, j . Por otra parte, se trata de una
ecuacin en diferencial lineal para la que se pueden buscar soluciones del tipo
exponencial Ujn+1 = j , donde es una raz del polinomio caracterstico:

r2 + (2 + 2r) r = 0, (2.5.16)

y por lo tanto existen tambin soluciones no triviales. La condicin para evitar


est ambigedad se vera en un momento.

Sean U n y U n+1 dos sucesiones de `2h que satisfacen 2.5.13, pasando al


espacio de Fourier se tiene:

\
b()U cn (),
n+1 () = a()U (2.5.17)

para [/h, /h]. Suponiendo ahora que es cierta la hiptesis de resolu-


bilidad que dice que b() 6= 0, [/h, /h], se puede escribir:

\
U cn () = a() U
n+1 () = g()U cn (), (2.5.18)
b()

donde nuevamente g() es el factor de amplicacin. Si g() es una funcin


continua en el compacto [/h, /h] entonces:

a()
kgk = max < , (2.5.19)
[/h,/h] b()
y se puede concluir que para un esquema lineal, escalar y de un paso, la condicin
de Von Neumann 2.5.9 es tambin necesaria y suciente para la estabilidad
numrica.

Ejemplo 2.5.5. Si se insertando la solucin Ujn = g n eijh en el mtodo de


Crank-Nicolson 2.3.7 para la ecuacin del calor unidimensional se obtiene que:
h
a() 1 2r sin2 2
g() = = < 1, (2.5.20)
b() 1+ 2r sin2 h
2

por lo que se trata de un mtodo incondicionalmente estable.

Las extensin del anlisis de Fourier a frmulas vectoriales o multipaso


no presenta demasiadas novedades. En el caso del multipaso primero se reducir
a otra frmula vectorial de un paso a costa de aumentar la dimensin.

31
Sea entonces una frmula lineal de un paso 2.5.11 con la novedad de que
ahora los Ujn son vectores de dimensin N lo mismo que los y son matrices
N N . Los operadores A y B son tensores.
Usando nuevamente la convolucin y pasando al espacio de Fourier se tendr
una matriz de amplicacin de N N :

G() = [b()]1 [a()]. (2.5.21)

La estabilidad del mtodo pedir que exista una constante C tal que:

kG()n k C, (2.5.22)

para todo [/h, /h] y todo n, k con 0 nk T .


Para estimar estas normas se dispone ahora de dos desigualdades:
n
(G()n ) kG()n k kG()k , (2.5.23)

donde el (G) indica el radio espectral de la matriz G. El resultado de estabilidad


entonces ser el siguiente teorema:

Teorema 2.5.6. Para una frmula en diferencias nitas lineal de coecientes


constante con matriz de amplicacin G() se tiene lo dos resultados siguientes:

(a) (G()) 1 + O(k) es una condicin necesaria para la estabilidad .

(b) kG()k 1 + O(k) es una condicin suciente para la estabilidad.

La dos condiciones se entiende que son para cuando k 0 y uniformemente


en [/h, /h], y la condicin sobre el espectro de la matriz de amplicacin
se denomina condicin de Von Neuman.

Ejemplo 2.5.7. El mtodo leap frog para aproximar la ecuacin del calor uni-
dimensional es la frmula de dos pasos:

Ujn+1 = Ujn1 + 2r(Uj+1


n
2Ujn + Uj1
n
). (2.5.24)

con r= k/h2 . Para escribirlo como una frmula de un paso se introduce una
nueva variable:
Ujn
Wjn = , (2.5.25)
Ujn1
con lo que resulta el esquema de un paso:

2r 0 4r 1 2r 0
Wjn+1 = Wj1
n
+ Wjn + Wj+1
n
, (2.5.26)
0 0 1 0 0 0

32
que se puede escribir de la forma:

Wjn+1 = 1 Wj1
n
+ 0 Wjn + 1 Wj+1
n
, (2.5.27)

con las matrices:



2r 0 4r 1 2r 0
1 = , 0 = , 1 = . (2.5.28)
0 0 1 0 0 0

La matriz de amplicacin que resulta es:



h
8r sin2 2 1
G() = , (2.5.29)
1 0

y su polinomio caractersticos es:

h
2 + 8r sin2 1 = 0, (2.5.30)
2
h
llamando = 8r sin2 2 , sus races son:
p
2 + 4
= , (2.5.31)
2

y para su raz negativa se verica que:



4
< < 1, (2.5.32)
2

de donde se concluye que es un esquema inestable.


Otra forma ms rpida de llega al mismo resultado consiste en insertar en
2.5.24 la solucin Ujn = g n eijh , la ecuacin que queda para la incgnita g es:

h
g 2 = 1 + 2rg(eih 2 + eih ) = 1 8rg sin2 , (2.5.33)
2

que es el polinomio caracterstico anterior.

La conclusin importante es que la condicin de Von Neumann es necesaria


pero no suciente para la estabilidad, aunque en la prctica los esquemas en
diferencias se utilizan en dichas condiciones, ello es debido a que las pocas
condiciones necesarias y sucientes que se conocen son demasiado complicadas
de comprobar (ver por ejemplo [12]).

33
2.6. Otros mtodos en diferencias
Hasta ahora se ha considerado tres mtodos en diferencias para aproximar
la ecuacin del calor uni-dimensional con las siguientes propiedades:
Mtodo Orden de exactitud Estabilidad
Euler 1 r 12
Crank-Nicolson 2 incondicionalmente estable
Leap frog 2 inestable.
Para construir otros mtodos con propiedades distintas, lo ms cmodo es
utilizar los operadores en diferencias. Para una funcin denida sobre los
puntos de la red vjn = v(xj , tn ) se denen en primer lugar el operador elevador:
Kvjn = vj+1
n
y los siguientes operadores en diferencias espaciales:

Promedio progresivo: + vjn = 12 (vj+1


n
+ vjn )

Promedio regresivo: vjn = 12 (vjn + vj1


n
)

Promedio central: 0 vjn = 12 (vj+1


n n
+ vj1 )

Diferencia progresiva: + vjn = h1 (vj+1


n
vjn )

Diferencia regresiva: vjn = h1 (vjn vj1


n
)

1
Diferencia central: 0 vjn = n
2h (vj+1
n
vj1 )

1
Diferencia central de segundo orden: vjn = n
h2 (vj+1 2vjn + vj1
n
)
Es evidente que las diferencias progresivas y regresivas son aproximaciones
de primer orden a la primera derivada en x, mientras que la diferencia central
aproxima tambin la primera derivadas pero con orden dos. En cuando a al
diferencia central de segundo orden es una estimacin de la segunda derivada
de orden dos.
Para la discretizacin en tiempo se utilizara exactamente la misma notacin
pero en lugar de los sub-ndices se escribirn super-ndices:

Promedio progresivo: + vjn = 12 (vjn+1 + vjn )

Promedio regresivo: vjn = 12 (vjn + vjn1 )

Promedio central: 0 vjn = 12 (vjn+1 + vjn1 )

Diferencia progresivo: + vjn = k1 (vjn+1 vjn )

Diferencia regresiva: vjn = k1 (vjn vjn1 )

n+1
Diferencia central: 0 vjn = 1
2k (vj vjn1 )

n+1
Diferencia central de segundo orden: vjn = 1
k2 (vj 2vjn + vjn1 )

34
En realidad unos operadores se pueden escribir en funcin de otros, por
ejemplo 0 = 12 (+ + ) o = k12 (Z 2I + Z 1 ) donde Z sera el elevador en
t e I el operador identidad.
En esta notacin los tres mtodos anteriores se escriben de la siguiente man-
era:

Euler + v = v ,
Crank-Nicolson + v = + v ,
Leap-Frog 0 v = v .

En la siguiente tabla se recogen otros mtodos habituales en la bibliografa:

BOX ( 56 I + 16 0 ) + v = + v ,
Crank-Nicolson de orden cuatro + v = + [ 34 (h) 31 (2h)]v ,
Dufort-Frankel + v = h12 (K 20 + K 1 )v .

2.7. El comando pdepe de MATLAB


El comando pdepe de MATLAB resuelve sistemas de P.D.E. parablicas y
elpticas del tipo:


u u u u
c x, t, u, = xm xm f x, t, u, + s x, t, u, , (2.7.1)
x t x x x

donde a x b y t0 t tf y el entero m = 0, 1, 2 que corresponden al tipo


de coordenadas. La funcin c es una matriz diagonal y las funciones vectoriales
f y s son los ujos y las fuentes.
La condicin inicial es: u(x, t0 ) = u0 (x) y las condiciones frontera en x = a
es
u
pa (x, t, u) + qa (x, t)f x, t, u, =0 (2.7.2)
x
y en x = b
u
pb (x, t, u) + qb (x, t)f x, t, u, =0 (2.7.3)
x
La llamada a pdepe tiene el formato general:

sol=pdepe(m,@pdefun,@pdeic,@pdebc,xmesh,tspan,options,p1,p2,..)
donde las funciones tiene la forma:

function [c,f,s] = pdefun(m,x,t,u,DuDx,p1,p2,..)

function u0= pdeic(x,p1,p2,..)

function [pa,qa,pb,qb] = pdebc(xa,ua,xb,ub,t,p1,p2,..)

35
xmesh es la red de punto del intervalo [a, b], tspan es el intervalo de tiempo, y
p1,p2,.. son posible parmetros del problema.
El argumento del salida sol(j,k,i) es la aproximacin de la componente i
de la solucin en (tj , xk ). Adems pdeval permite estimar la solucin en otros
puntos que no son de la red.
El chero adjuntado bs.m resuelve la ecuacin de Black-Scholes famosa
por sus aplicaciones en matemtica nanciera:

u 2u u
= 2 + (k 1) ku, (2.7.4)
t x x
donde k = r/( 2 /2), r = 0,065, = 0,8, a = log(2/5), b = log(7/5), t0 = 0 y
tf = 5.
Con las condiciones iniciales y frontera :

u(x, 0) = max(ex 1, 0) (2.7.5)


u(a, t) = 0 (2.7.6)
7 5ekt
u(b, t) = . (2.7.7)
5

2.8. Problemas multidimensional


La extensin de las tcnicas y conceptos aplicados a la ecuacin del calor
uni-dimensional a ms dimensiones, no presenta demasiadas dicultades salva
las propias de tener ms variables y geometras ms complicadas, sin duda las
mejores referencias son los textos de Twizell [3] y Strikwerda [7]. Ms concre-
tamente se considerar el problema bidimensional porque para ms dimensiones
las situaciones son muy parecidas.
Se considera la ecuacin del calor en dos variables espaciales:


ut = uxx + uyy , (x, y, t) ,
u(x, y, 0) = u0 (x, y), (x, y) , (2.8.1)


u(x, y, t) = 0, (x, y, t) ,

donde = (a, b) (a, b) (0, T ) y su frontera.


Discretizando las variables x, y con un paso h = Nba+1 y aproximando las
segundas derivadas por diferencias centrales de segundo orden :

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


uxx (x, y, t) x u(x, y, t) = ,
h2
u(x, y + h, t) 2u(x, y, t) + u(x, y h, t)
uyy (x, y, t) y u(x, y, t) = ,
h2
el sistema lineal que resulta es N 2 -dimensional y tiene la siguiente expresin:
d
U(t) = AU(t), (2.8.2)
dt

36
donde

U = (U1,1 , . . . , UN,1 , U1,2 , . . . , UN,2 , . . . . . . U1,N , . . . , UN,N )T , (2.8.3)


A = B+C (2.8.4)

con

B1 2 1
.. ..
1 B1 1 . .
B= 2 .. , B1 =

,
(2.8.5)
h . .. ..
. . 1
B1 1 2
y
2I I
..
1 I 2I .
C= . (2.8.6)
h2 .. ..
. . I
I 2I
La matriz B est relacionada con la diferencia nita en x mientras de C lo
ser en y . Los autovalores de la matriz A son reales y negativos:

4 i j
i,j = 2 sin2 + sin2 , i, j = 1, . . . , N. (2.8.7)
h 2(N + 1) 2(N + 1)

La solucin exacta del sistema semidiscreto 2.8.2 es:

U(t) = et(B+C) U(0), (2.8.8)

que satisface la recurrencia:

U(t + k) = ek(B+C) U(t). (2.8.9)

Para construir los sistemas totalmente discretos se puede reemplazar la fun-


cin exponencial por sus aproximaciones de Pad (ver [3]). Por ejemplo, la
aproximacin de Pad (0,1): ek(B+C) I + k(B + C) y el mtodo discreto que
resulta es:
Un+1 = (I + k(B + C))Un , (2.8.10)
Los autovalores de la matriz del mtodo I + k(B + C) son 1 + ki,j por lo
que es evidente que la condicin de Von Neumann es:
k 1
. (2.8.11)
h2 4
Considerando las expresiones de las matrices B y C , tambin se puede es-
cribir la ecuacin punto a punto del mtodo:

n+1 n k k
Ui,j = Ui,j + (U n 2Ui,j
n n
+Ui1,j n
)+ 2 (Ui,j+1 n
2Ui,j n
+Ui,j1 ). (2.8.12)
h2 i+1,j h
De donde se puede hallar el error de truncatura local que es O(k + h2 ), y si se
quisiera hacer el anlisis de Von Neumann bastara insertar en ella la expresin:
n
Ui,j = g n ei1 xi ei2 yj .

37
El mtodo de Crank-Nicolson se obtiene usando la aproximacin de Pad
(1,1) resultando la expresin implcita :

k k
I (B + C) U n+1
= I + (B + C) Un , (2.8.13)
2 2
que tambin se puede escribir como:

k k k k k2
I B I C U n+1
= I+ B I + C Un + BC(Un+1 Un ).
2 2 2 2 4
La expresin punto a punto se puede ver en la pgina 226 de [3]. Este mtodo
evidentemente sigue siendo incondicionalmente estable.
Otro problema es como resolver ecazmente los sistemas lineales muy grandes
con matrices muy huecas pero con bandas muy anchas. La tcnica ms utilizada
son los llamados mtodos A.D.I. (Alternating Direction Implicit), cuya idea
principal consiste en resolver dos sistemas lineales de la misma dimensin en
lugar de uno, pero cada uno de ellos con matrices mas sencillas, en un sistema
slo aparecer la matriz B y en el otro la matriz C .
Si se tiene en cuanta de Un+1 Un = O(k) y se prescinde del ltimo trmino
de orden tres, queda:

k k k k
I B I C Un+1 = I + B I + C Un . (2.8.14)
2 2 2 2
Para resolver este sistema implcito el algoritmo de Peaceman-Rachford
utiliza:

k n+1 k
I B V = I + C Un , (2.8.15)
2 2

k k
I C Un+1 = I + B Vn+1 . (2.8.16)
2 2
El algoritmo de D'Yakonov es otro mtodo A.D.I. habitual en la liter-
atura:

k k k
I B Vn+1 = I+ C I + B Un , (2.8.17)
2 2 2

k
I C Un+1 = Vn+1 . (2.8.18)
2

2.9. Ejercicios.
1. Demuestre la desigualdad 2.1.8 y deducir de ella 2.1.6.
2. Dada la matriz tridiagonal de dimensin N:

a b
c a b

. . . .. .
. .. .
c a

38
Compruebe que si todos sus elementos no diagonales son positivos o neg-
ativos su autovalores son:
s
s = a + 2 bc cos , s = 1 N.
N +1
Calcule tambin sus autovectores asociados.

3. Sea la matriz:
A11 A1m
A = ... ..
..
. .
Am1 Amm
donde las Aij son matrices cuadradas de dimensin n tales que todas ellas
tienen un conjunto comn de n autovectores linealmente independientes.
Demuestre que los autovalores de la matriz A son los autovalores de las
matrices
(k) (k)
1m
11 ..
.. ..
.
. .
(k) (k)
m1 mm
(k)
donde ij es el k -simo autovalor de la matriz Aij para k = 1 n.

4. El programa crnich.m de [14] implementea el mtodo de Crank-Nicholson.


Compruebe numricamente que es un mtodo incondicionalmente estable
para el problema:


ut = uxx 0 < x < 1, 0 < t < 0,1,
u(x, 0) = sin(x) + sin(3x)


u(0, t) = u(1, t) = 0.

5. Compruebe que las expresiones de los mtodos de Euler, Crank-Nicolson


y leap frog en funcin de los operadores en diferencias son los esquemas
2.3.4, 2.3.7 y 2.5.24 respectivamente.

6. Estudio el orden y la condicin de estabilidad del mtodo de Crank-


Nicolson de orden cuatro .

7. Encuentre el orden y estudie la estabilidad del mtodo de Dufort-Frankel.

8. Estudie la convergencia del mtodo de Douglas:


1 h2 1 h2
1 (k ) Ujn+1 = 1 + (k + ) Ujn ,
2 6 2 6
aplicado a la ecuacin del calor uni-dimensional.

9. Para resolver la ecuacin ut + auxxx = f con a constante, se propone el


mtodo en diferencias:
1 n+1 a n
Uj Ujn + 3 Uj+2 n
3Uj+1 + 3Ujn Uj1
n
= fjn . (2.9.1)
k h

39
(a) Estudie el orden de aproximacin de los operadores en diferencias
usados para aproximar ut y uxxx .
(b) Encuentre la condicin de consistencia que deben vericar h y k cuan-
do h, k 0, y determine su orden de consistencia.
(c) Determine su condicin de estabilidad numrica.
10. Para resolver la ecuacin ut + auxxx = f con a constante, se propone el
mtodo en diferencias:
1 n+1 1 n n
a n n n n

Uj (Uj+1 + Uj1 ) + 3 Uj+2 2Uj+1 + 2Uj1 Uj2 = fjn .
k 2 2h
(2.9.2)

(a) Halle su condicin y el orden de consistencia.


(b) Calcule su condicin de estabilidad.
(c) Es un mtodo convergente o divergente?.
11. Se considera el problema parablico:

ut = xuxx ,
0 x 1/2, t > 0
1
u(x, 0) = x(1 x), 0 x ,
2
u(0, t) = 0, t > 0,
1 1 1
ux ( , t) = u( , t), t > 0.
2 2 2
(a) Escriba el mtodo numrico que resulta cuando se aproximan las
derivadas en x por frmulas en diferencias centrales, y se usa el mto-
do de Euler para la variable t con pasos h y k respectivamente.
(b) Estudie el orden de consistencia del esquema obtenido.
(c) Compruebe que la condicin de estabilidad es r 2+2 h con r = k
h2 .
2

(d) Observe que el problema tiene una discontinuidad entre las condi-
ciones de contorno y condiciones iniciales en el punto x = 1/2. Es-
tudie cmo se propaga dicha discontinuidad en el mtodo numrico.

12. En este ejercicio se resolver un sistema de reaccin difusin con apli-


caciones en biologa:

u 1 2 u 1
= + ,
t 2 x2 1 + v2
v 1 2 v 1
= 2
+ ,
t 2 x 1 + u2
para 0 x 1 y 0 t 0,2, con las condiciones iniciales:
1
u(x, 0) = 1+ cos(2x),
2
1
v(x, 0) = 1 cos(2x),
2

40
y en la frontera:
u u v v
(0, t) = (1, t) = (0, t) = (1, t) = 0.
x x x x

Despus estudie numricamente la evolucin en el tiempo de la energa del


sistema:
Z " 2 2 #
1 1 u v
E(t) = + dx,
2 0 x x

y comente su resultado.

13. En esta segunda parte debe resolver un sistema de ecuaciones que aparecen
en problemas de electrodinmica:

u 2 u
= 0,024 F (u v),
t x2
v 2 v
= 0,170 2 + F (u v),
t x
donde F (y) = exp (5,73y) exp (11,46y), para 0 x 1 , 0 t y las
condiciones que se indican:

u(x, 0) = 1,
v(x, 0) = 0,
u
(0, t) = 0,
x
v(0, t) = 0,
u(1, t) = 1,
v
(1, t) = 0.
x

14. Estudie la convergencia de la frmula en diferencias:


n+1
n
Ui,j = 1 + kx 1 + ky Ui,j ,

aplicada a la ecuacin bidimensional del calor.

41
Captulo 3

Problemas hiperblicos

3.1. E.D.P. de primer orden

Una ecuacin en derivadas parciales de primer orden en el plano es una


expresin del tipo:
u u
F (x, t, u, , ) = 0. (3.1.1)
t x
En particular la ecuacin es lineal si se expresa en la forma:
u u
a(x, t) + b(x, t) = c(x, t)u + d(x, t). (3.1.2)
x t
Existen tcnicas analticas que resuelven la ecuacin de primer orden general,
sin embargo, por sencillez aqu se considerar el caso cuasilineal porque la tcnica
es mas fcil de comprender.
La tcnica que se explicar a continuacin reduce la ecuacin en derivadas
parciales a un sistema de ecuaciones diferenciales ordinarias; sistema que en
casos sencillos se puede resolver por tcnicas analticas o por tcnicas numricas
en casos ms complicados en el conocido como mtodos de caractersticas.
El problema que se considera es el siguiente:

Halle la funcin u(x, t) que verique la ecuacin cuasilineal:

u u
P (x, t, u) + Q(x, t, u) = R(x, t, u), (3.1.3)
x t
cuya grca contenga la curva :


x = x0 (s),
t = t0 (s), (3.1.4)


u = u0 (s)

para s (s0 , s1 )

42
Si se dene el campo de vectores:

v(x, t, u) = P (x, t, u)i + Q(x, t, u)j + R(x, t, u)k, (3.1.5)

y el vector normal a la supercie u = u(x, t) es:

u u
n= i+ j k, (3.1.6)
x t
y la ecuacin 3.1.3 se pude escribe como:

v n = 0, (3.1.7)

es decir, el campo de vectores v es tangente a la grca de la funcin u en


cada punto, y en consecuencia se puede construir la supercie solucin con las
curvas que salen de la curva inicial siguiendo la direccin del campo v. Por
cada punto de la curva inicial (x0 (s), t0 (s), u0 (s)) se construye una nueva curva,
llamada linea de campo que resuelva el el sistema caracterstico :

dx
dr = P (x, t, u),
dt
dr = Q(x, t, u),
(3.1.8)

du
dr = R(x, t, u),

con la condicin inicial (x0 (s), t0 (s), u0 (s)) en r = 0.


La solucin parametrizada:


x = x(s, r),
t = t(s, r), (3.1.9)


u = u(s, r),

es una supercie integral del campo asociado a la ecuacin y su proyeccin


sobre el plano OXT es una curva caracterstica de la ecuacin.
Para que las ecuaciones parametrizadas anteriores denan un supercie reg-
ular es necesario que la curva inicial no sea una curva caracterstica de la
ecuacin porque en tal caso nunca nos moveramos de ella, es necesario en-
tonces que el dato inicial verique una condicin de transversalidad para
que los vectores tangentes no tengan la misma direccin que es la siguiente:

i j k

P Q R 6= 0. (3.1.10)
dx
0 dt0 du0
ds ds ds

Ejemplo 3.1.1. Halle la solucin de la ecuacin:

u u 2
x +t = u, (3.1.11)
x t 3

que contiene la curva interseccin de las supercies: t = z 3 , t > 0, x = 1.

43
El sistema caracterstico es:



dx

dr = x,


dt (3.1.12)
dr = t,





du = 2 u,
dr 3

y la condicin inicial: para r = 0, x = 1, t = s3 , u = s.


Es muy sencillo comprobar que se verica la condicin de transversalidad.
Integrando las ecuaciones lineales y desacopladas se obtiene la supercie integral:



x(s, r) = er ,




t(s, r) = s3 er , (3.1.13)






u(s, r) = se 2r3 ,

y despejando nalmente s y r en funcin de x y t se llega a la solucin:

1
u = (xt) 3 . (3.1.14)

Evidentemente, esta tcnica calcula la supercie integral pero eso no garan-


tiza que exista una solucin de la ecuacin en derivadas parciales porque puede
resultar imposible despejar los parmetros s y r en funcin de las variables x y
t para calcular u(x, t).

3.2. La ecuacin de ondas de primer orden

Las ecuaciones en derivadas parciales de primer orden que habitualmente


aparecen en las aplicaciones estn relacionadas con leyes de conservacin
de cantidades fsicas. Son sistemas de E.D.P. (generalmente no lineales) que
dependen del tiempo y en el caso de una dimensin espacial tiene la forma:

u(x, t) + f (u(x, t)) = 0, (3.2.1)
t x
donde u es un vector m-dimensional de cantidades conservadas, tales como
masas, momentos , energas,... y f es la funcin ujo del sistema.
El problema ms sencillo es el problema de Cauchy de valores iniciales
puro en que la ecuacin se considera para < x < , t > 0 y se especica
una condicin inicial:

u(x, 0) = u0 (x), < x < . (3.2.2)

44
Ejemplo 3.2.1. Suponga una tubera muy estrecha llena de un gas con una
densidad (x, t) que se mueve a una velocidad v(x, t) constantes para cada sec-
cin de la tubera. La masa de gas entre dos puntos x1 y x2 en en instante t
ser:
Z x2
masa en [x1 , x2 ]en el tiempo t = (x, t)dx. (3.2.3)
x1

Por otra parte, el ujo de gas que atraviesa la seccin en (x, t) es:

ujo en (x, t) = (x, t)v(x, t). (3.2.4)

Entonces la variacin de la masa en [x1 , x2 ] es el ujo entrante menos el


saliente, es decir:
Z x2
d
(x, t)dx = (x1 , t)v(x1 , t) (x2 , t)v(x2 , t), (3.2.5)
dt x1

que ser la forma integral de la ley de conservacin de la masa.


Para obtener la forma diferencial de la ley de conservacin de la masa,
se debe suponer que las funciones (x, t) y v(x, t) son diferenciables, entonces:
Z x2

(x1 , t)v(x1 , t) (x2 , t)v(x2 , t) = ((x, t)v(x, t))dt, (3.2.6)
x1 x

que llevada a la expresin anterior nalmente resulta:

t + (v)x = 0. (3.2.7)

Esta ecuacin se puede resolver si se conoce la velocidad v , porque entonces


v = f () y tiene la forma de la expresin general 3.2.1. Se trata de un ejemplo
sencillo de una ecuacin de conveccin que representa el transporte de la masa
a travs del espacio por el movimiento del medio.
Cuando la velocidad es constante v(x, t) = a la ecuacin que queda es:

t + ax = 0, (3.2.8)

llamada ecuacin de conveccin lineal o tambin ecuacin de ondas de primer


orden que ya se vio en el primer captulo.

45
La primer ecuacin que se considera es la ecuacin de ondas de primer orden
que ahora se escribe como:
ut + aux = 0. (3.2.9)
El problema de Cauchy est denido por la ecuacin en < x < , t 0
con la condicin inicial:
u(x, 0) = u0 (x). (3.2.10)
El sistema caracterstico es:

dx
dr = 1,
dt
dr = a,
(3.2.11)

du
dr = 0,

con la condicin inicial de que en r = 0, t = 0, x = x0 , u = uo (x0 ).


La solucin que resulta es:

u(x, t) = u0 (x at), (3.2.12)

pata t 0. Cuando el tiempo avanza, el dato inicial simplemente se desplaza


con una velocidad a, hacia la derecha si a > 0 y hacia la izquierda cuando
a < 0. Adems, la solucin es constante a lo largo de sus rectas caracterstica
x at = cte.

0.9

0.8

0.7

0.6
u(x,t)

0.5

0.4

0.3

0.2

0.1

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5


x

Figura 3.1:

El programa wvmovie.m de la referencia [13] le permitir observar la evolu-


cin de las ondas. Si teclea en la ventana de comandos de MATLAB el nombre

46
wvmovie se abrir una ventana como la de la gura 3.1 donde puede observa la
evolucin de la onda que elija.
Otros programas del mismo autor son: wvsurf.m que dibuja la supercie
u(x, t) en el plano xtu y el programa wvslice.m dibuja la funcin en distintos
tiempos.
La ecuacin de conveccin con el coeciente variable:

ut + (a(x)u)x = 0, (3.2.13)

donde a(x) es una funcin regular, se puede escribir como:




+ a(x) u(x, t) = a0 (x)u(x, t), (3.2.14)
t x

de donde se deduce que la evolucin de u a lo largo de las curvas caractersticas:


(
x0 (t) = a(x(t)),
(3.2.15)
x(0) = a0 ,

satisface la ecuacin diferencial ordinaria:


d
u(x(t), t) = a0 (x(t))u(x(t), t). (3.2.16)
dt
En conclusin, en este caso la solucin no es constante a lo largo de las
caractersticas pero el problema se reduce a resolver dos ecuaciones diferencias
ordinarias.
La E.D.P. de primer orden no lineal de tipo conservativo 3.2.1 ms famosa
es cuando la funcin f (u) = 12 u2 llamada ecuacin de ondas no lineal o
tambin ecuacin de Burgers sin viscosidad:

ut + uux = 0. (3.2.17)

Para la condicin inicial u(x, 0) = u0 (x) y usando el sistema caracterstico se


obtiene la solucin exacta:

u(x, t) = u0 (x tu(x, t)), (3.2.18)

en la que no es posible, en general, despejar la incognita u, hara falta el teorema


de la funcin implcita.
Por ejemplo, para u0 (x) = x la solucin es:
x
u(x, t) = , (3.2.19)
1t
que explota en t = 1, para entender lo que est ocurriendo es esencial observar
que las curvas caractersticas x(t) = (1 t)x(0) conuyen en el punto (0, 1)
y en t = 1 tiene lugar un shock porque como la solucin es constante a lo
largo de las curvas caractersticas, en t = 1 la solucin debiera tomar todos los
valores iniciales cosa que evidentemente es imposible. El programa wvburg.m de
[13] dibuja las caractersticas de la ecuacin de ondas no lineal para distintas
condiciones iniciales.

47
3.3. Mtodos en diferencias
La teora de los mtodos en diferencias para la ecuacin de ondas lineal 3.2.9
con una condicin inicial 3.2.10 apenas presenta novedades respecto a lo que
ya se hizo para la ecuacin del calor en el captulo anterior, razn por la cual se
har con mayor brevedad.
Evidentemente el teorema de convergencia de Lax continua siendo vlido y
despus de discretizar la ecuacin diferencial se deber estudiar la consistencia
e investigar la condicin de estabilidad para que el mtodo en diferencias sea
utilizado con resultados de convergencia.
Sean entonces h y k los pasos en x y t respectivamente, si aproximamos
ambas derivas en x y t por una diferencia progresiva la frmula o esquema en
diferencias explcito que resulta es el conocido como mtodo upwind:

Ujn+1 = Ujn a(Uj+1


n
Ujn ). (3.3.1)

donde = hk . Suponiendo que u es sucientemente diferenciable y utilizando de


desarrollos de Taylor el e.t.l. que resulta es:

2u 3u
Thk = chk 2
+ dhk 3 + O(k 3 + h3 ), (3.3.2)
x x
donde:
a a 2
chk = (ak h), dhk =(h a2 k 2 ), (3.3.3)
2 6
son los coecientes de disipacn y dispersin del mtodo respectivamente.
En este caso si hk = a ambos coecientes se anulan y el mtodo es consistente
de orden tres.
Por el contrario si chk 6= 0 la ecuacin modicada del mtodo:

u u 2u 3u
+a + chk 2 + dhk 3 = 0, (3.3.4)
t x x u
tiene un trmino de difusin no nulo que provocar un efecto difusivo en el
esquema numrico que aproxima mejor la ecuacin modicada que la original.
Para estudiar la estabilidad se insertar la solucin Ujn = g n eijh para obtener
el factor de amplicacin:

g() = (1 a) + aeih , (3.3.5)

cuyo mdulo al cuadrado resulta:

|g()|2 = 1 2a(1 a)(1 cos h) 1, (3.3.6)

cuando |a| 1 que ser por tanto la condicin de estabilidad.


Los trminos espurios de difusin provocan que las soluciones numricas
correspondan a una ecuacin de difusin y no de conveccin. Para evitar este
problema se introducen en el esquema numrico trminos de difusin arti-
ciales como se ver en el siguiente ejemplo.
Se considera el mtodo en diferencias progresivo en tiempo y central en
espacio, es decir:
a
Ujn+1 = Ujn (Uj+1n n
Uj1 ), (3.3.7)
2

48
cuyo e.t.l. es:
k 2 a2 2 u k 3 a3 ah3 3 u
Thk = 2
( + ) + O(k 4 ) + O(h4 ). (3.3.8)
2 x 6 6 x3
Si ahora se suma en el esquema una aproximacin del trmino de difusin resulta
el llamado mtodo de Lax-Wendro :
a a2
Ujn+1 = Ujn (Uj+1
n n
Uj1 ) + 2 (Uj+1
n
2Ujn + Uj1
n
), (3.3.9)
2 2
cuyo coeciente de difusin es cero y por tanto evitar las difusiones en las
aproximaciones numricas. Su orden de consistencia es tres y su factor de am-
plicacin est dado por la expresin:
h
g() = 1 + ia sin h 2a2 2 sin2 , (3.3.10)
2
cuyo modulo cuadrado es:
h
|g()|2 = 1 + 4(a4 4 a2 2 ) sin4 1, (3.3.11)
2
cuando |a| 1.
A esta misma condicin llegaron en 1928 Courant, Friedrichs y Lewy por
un razonamiento geomtrico comparando los dominios de dependencia de la
ecuacin diferencial y su discretizacin numrica.
Dado un punto de la red (xj , tn ) el valor de la solucin exacta de 3.2.9 en
dicho punto u(xj , tn ) = u0 (xj atn ) donde xj atn es la interseccin con el
eje OX de la caracterstica x xj = a(t tn ) que pasa por el punto, entonces
si la curvas, en este caso recta, caracterstica no est contenida en el dominio
de dependencia del esquema, podramos cambiar el dato inicial para modicar
la solucin exacta pero el esquema no se enterara, razn por lo cual no po-
dra haber convergencia pero como el esquema es consistente lo que se hubiera
perdido es la estabilidad.
Como = hk es constante el dominio de dependencia del punto (xj , tn ) en el
esquema no cambia y su interseccin con el eje OX es el intervalo [xj 1 tn , xj +
1 n
t ]. En consecuencia para que:

1 n 1
xj atn [xj t , xj + tn )], (3.3.12)

la condicin que de cumplirse es que |a| 1 lo cual equivale a escribir que
|a| 1 que es la denominada condicin CFL del mtodo numrico, condicin
necesaria para la estabilidad de todo esquema explcito.

3.4. Sistemas hiperblicos


Una generalizacin de la de la ecuacin de ondas ut + aux = b se obtiene
cuando se escribe el sistema vectorial:

ut + Aux = b, (3.4.1)

49
donde u(x, t) v b(x, t) son vectores m-dimensional y A(x, t) una matriz m m.
Evidentemente la naturaleza de la ecuacin depender del tipo de matriz.
Cuando la matriz A es constante se dice que el sistema vectorial es hiper-
blico si dicha matriz es diagonalizable, es decir, existe una matriz P no singular
tal que:
= diag(1 , ..., m ) = P 1 AP, (3.4.2)
donde los j son los autovalores de A. Como A = P P 1 introduciendo esta
expresin en el sistema se tiene:

ut + P P 1 ux = b, (3.4.3)

que se puede escribir como:

(P 1 u)t + (P 1 u)x = P 1 b, (3.4.4)

y haciendo el cambio de variable v = P 1 u se llega al sistema de m ecuaciones


desacopladas:
(vj )t + j (vj )x = (P 1 b)j , (3.4.5)
de soluciones exactas vj (x, t) = (P 1 u0 )j (x j t) para j = 1, ..., m.
Para discretizar los sistemas hiperblicos se utilizan las misma ideas desar-
rolladas para las ecuaciones escalar aunque, como es natural, aparecen algunas
dicultades debidas al aumento en la dimensin. Por ejemplo, se pueden escribir
versiones vectorial de los mtodos upwind o Lax-Wendro.
El caso ms interesante de los sistemas hiperblicos es cuando m = 2 y la
matriz:
0 1
A= (3.4.6)
1 0
Si se expresa la ecuacin vectorial por componentes se tiene lo siguiente:
u1 u2
= 0, (3.4.7)
t x
u2 u1
= 0. (3.4.8)
t x
Derivando la primera ecuacin respecto de t y la segunda respecto de x resulta:

2 u1 2 u2
2
= 0, (3.4.9)
t tx
2 u2 2 u1
= 0, (3.4.10)
xt x2
que sumadas dan:
2 u1 2 u1
2
= 0, (3.4.11)
t x2
que es la conocida como ecuacin de ondas de orden dos que se estudiar
en la siguiente seccin .

50
3.5. La ecuacin de ondas de segundo orden
En primer lugar se considera el problema de Cauchy de la ecuacin de ondas
de segundo orden de velocidad c en toda la recta real:

utt c2 uxx = 0, x R, t > 0,
u(x, 0) = (x), x R, (3.5.1)

ut (x, 0) = (x), x R
cuya solucin exacta se puede calcular de forma explcita. En efecto, es fcil
comprobar que la solucin es la famosa frmula d'Alembert:
Z
1 1 x+ct
u(x, t) = [(x + ct) + (x ct)] + (s)ds, (3.5.2)
2 2 xct
que tambin conviene escribir como suma de dos ondas viajeras de velocidades
c:
u(x, t) = F (x + ct) + G(x ct), (3.5.3)
donde:
Z s
1 1
F (x) = (x) + ()d, (3.5.4)
2 2 0
Z 0
1 1
G(x) = (x) + ()d. (3.5.5)
2 2 s

Las rectas x ct = cte son las rectas caractersticas de la ecuacin.


La frmula de d'Alembert para la solucin exacta permite deducir algunas
propiedades importante de la ecuacin de ondas:
1. Velocidad nita de propagacin: la solucin en cada punto del plano
(x, t) depende exclusivamente de los datos iniciales en el intervalo de de-
pendencia [x ct, x + ct].
2. No hay efecto regularizante: la solucin u es tan regular como la posi-
cin inicial y gana una derivada respecto a la velocidad inicial .
3. Conserva la energa: la energa del sistema que se dene de la forma:
Z
1
E(t) = |ux (x, t)|2 + |ut (x, t)|2 dx, (3.5.6)
2 R

satisface:
dE
= 0, t 0. (3.5.7)
dt
Esta ley de conservacin sugiere que
T el1 si (, ) H 1 (R)L2 (R) entonces
1 2
la solucin u C([0, ); H (R)) C ([0, ); L (R)) lo que indica que se
preserva la regularidad en los datos iniciales.

Para un modelo simplicado de las vibraciones de una cuerda de longitud


se tiene la ecuacin de ondas en un intervalo acotado :


utt c2 uxx = 0, 0 < x < , t > 0,

u(x, 0) = (x), 0 < x < ,
(3.5.8)

u t (x, 0) = (x), 0 < x < ,

u(0, t) = u(, t) = 0, t > 0,

51
donde se han impuesto condicione de contorno de Dirichlet que indican que la
cuerda est ja en los extremos.
El mtodo de separacin de variables permite escribir la solucin en serie de
Fourier. Si los datos iniciales admiten un desarrollo en serie de Fourier:
X X
(x) = l wl (x), (x) = l wl (x), 0 < x < , (3.5.9)
l1 l1

q
2
donde wl (x) = sin(lx), la solucin de se escribe del siguiente modo:


!
X l
u(x, t) = l cos(lt) + sin(lt) wl (x). (3.5.10)
l
l=1

Nuevamente la energa de la solucin que es:


Z
1
E(t) = |ux (x, t)|2 + |ut (x, t)|2 dx. (3.5.11)
2 0

se conserva, y el espacio natural para resolver es problema es H01 (0, )L2 (0, ).
El programa wvchar.m de la referencia [13] dibuja las rectas caractersticas
y calcula la solucin del problema de cuerda vibrante en en intervalo 0 < x < 1
y con velocidad inicial nula: (x) = 0.
Por otra parte el programa wvstring.m de la misma referencia, dibuja la
solucin de d'Alembert en el intervalo semi-innito 0 < x con las condiciones
frontera u(0, t) = 0 o ux (0, t) = 0.
Discretizando la variable x con un paso h = M+1 y utilizando la clsica
aproximacin de tres puntos para la segunda derivada se obtiene el sistema
semi-discreto de M ecuaciones diferenciales ordinarias lineales:

00 2 uj+1 (t)2uj (t)+uj1 (t)

uj (t) c h2 = 0, t > 0

uj (0) = j ,
(3.5.12)

u0 (t) = j ,
j
u0 (t) = uM +1 (t) = 0, t > 0,

para j = 1, ..., M y que en notacin vectorial se puede escribirse en la forma:


00
u (t) Ah u(t) = 0,
u(0) = , (3.5.13)
0
u (0) = .

donde:

u1 (t) 2 1
.. .. ..
. c2 1 . .
u(t) =
..
,
Ah = 2

.
(3.5.14)
h .. ..
. . . 1
uM (t) 1 2

Considerando ahora el problema de autovalores:

Ah W = W, (3.5.15)

52
las soluciones son:
4c2 2 h
l (h) = sin l , (3.5.16)
h2 2
y los autovectores asociados:

r sin(lx1 )
2 ..
Wl (h) = . , (3.5.17)

sin(lxM )
para j = 1, ..., M . De aqui se concluye que cuando h 0 los autovalores y au-
tovectores del problema semi-discreto convergen a los autovalores y autovectores
del problema continuo.
La solucin del problema semi-discreto tambin se puede desarrollar en serie
de Fourier. Suponiendo que los datos iniciales admiten los desarrollos en serie
de Fourier siguientes:
M
X
= l (h)Wl (h), (3.5.18)
l=1
M
X
= l (h)Wl (h), (3.5.19)
l=1
con:
l (h) = h, W(h)ih , (3.5.20)
l (h) = h, W(h)ih (3.5.21)
PM
en donde he, f ih = h j=1 ej fj ; la solucin del mtodo semi-discreta que resulta
es:
M
!
X l (h)
u(t) = l (h) cos(l (h)t) + sin(l (h)t) Wl (x), (3.5.22)
l (h)
l=1
p
donde l (h) = l (h).
Tambin se puede denir una versin discreta de la energa de la forma:
M
" 2 #
h X uj+1 uj 0 2
Eh (t) = + |uj | , (3.5.23)
2 j=0 h

que naturalmente es conservada, es decir, dE dt = 0. La conclusin nal a la que


h

se llega es que el sistema semi-discreto es una aproximacin natural del sistema


continuo y se trata de un mtodo consistente de orden dos.
Para estudiar su estabilidad se puede hacer un anlisis de Von Neumann
insertando uj (t) = g(t)eijh en la frmula del mtodo obtenindose la ecuacin
de segundo orden:
c2 h
g 00 (t) + 4 2 sin2 g(t) = 0, (3.5.24)
h 2
que multiplicada por g 0 (t) se expresa de la forma:

d 1 0 2 c2 2 h 2
|g (t)| + 2 2 sin |g(t)| = 0, (3.5.25)
dt 2 h 2
que garantiza la estabilidad del mtodo.

53
3.6. Mtodos en diferencias
El esquema completamente discreto ms utilizado para aproximar numrica-
mente la ecuacin de ondas de segundo orden es el llamado mtodo leap-frog:
n+1 n n1
U n 2U n +U n
Uj 2U2j +Uj = c2 j+1 h2j j1 ,
k
U 0 = j , (3.6.1)

Ujn = U n
0 M +1 = 0, ,

para j = 1, ..., M y n 0. Como se trata de un esquema de tres niveles, para


comenzar es imprescindible conocer los Uj0 = j y los Uj1 que de momento se
desconocen, lo natural es utilizar el dato inicial de la derivada y tomar:

Uj1 = j + kj , (3.6.2)

porque se trata de una aproximacin de orden dos como lo es tambin el mtodo.

1.5

0.5
u(x,t)

0.5

1.5

2
0 20
2 15
4
10
6
5
8
10 0
t
x

Figura 3.2:

Este mtodo explcito se puede reescribir de forma ms cmoda como:

Ujn+1 = (2 22 )Ujn + 2 (Uj+1


n n
+ Uj1 ) Ujn1 , (3.6.3)

con = c hk . Evidentemente es un mtodo consistente de orden dos, y para la


estabilidad se puede utilizar el mtodo de Von Neumann insertando la solucin

54
Ujn = g n eijh con el resultado siguiente:

2 2 2 h
g = 2 4 sin ( ) g 1, (3.6.4)
2

cuyas races tiene el mdulo menor que uno si 1 que por tanto ser la
condicin de estabilidad. La misma condicin se obtiene cuando se comparan
los dominios de dependencia de la ecuacin diferencial y el esquema numrico
en lo sera la condicin CFL del mtodo.
El programa finedif.m de la referencia [14] implemente el este mtodo leap-
frog y en gura 3.2 se ha representado la solucin obtenida para el problema:



utt 4uxx = 0, 0 x 1, 0 t 0,5,

u(x, 0) = sin x + sin 2x, 0x1
(3.6.5)

ut (x, 0) = 0, 0x1

u(0, t) = u(, t) = 0, 0 t 0,5,

3.7. Ejercicios

1. Halle la solucin de la ecuacin:


u u
x t = 0, (3.7.1)
x t
que contenga a la curva interseccin de las supercies: x = 0, z = t2 .
2. Dado el problema de Cauchy:

xux + tut = 2u,


2
x + t2 = 1,

u = 1.

(i) Calcule la solucin exacta.


(ii) Escriba el sistema caracterstico con x como variable independiente
y usando el mtodo de Euler comenzando en el punto x = 1, t = 0
aproxime la solucin y estime los errores cometidos.
3. Para el problema de Cauchy:

ut + ux = u,

x = s,
t = s,

u = 1.

(i) Calcule su solucin exacta.


(ii) Integre el sistema caracterstico usando el mtodo de Euler comen-
zando en el punto t = 1, x = 1, y estude el error cometido.

55
4. Si en el esquema de diferencias progresivas en tiempo y central en espacio
para la ecuacin de ondas de primer orden se sustituye Ujn por el promedio
central, se obtiene el mtodo de Lax-Friedrichs. Compruebe que el
esquema que resulta es:
1 n 1
Ujn+1 = n
(Uj+1 + Uj1 n
) + a(Uj+1 n
Uj1 ). (3.7.2)
2 2
Calcule su orden de consistencia y determine su condicin de estabilidad.
5. Estudie la convergencia y calcule los coecientes de disipacin y dispersin
para el esquema beam-warming:

Ujn+1 Ujn 3Ujn 4Uj1


n n
+ Uj2 a2 k Ujn 2Uj1
n n
+ Uj2
+a = 0,
k 2h 2 h2
(3.7.3)
aplicado a la ecuacin ut + aux = 0.
6. Para resolver la ecuacin de ondas ut + ux = 0 se considera el esquema en
caja denido por:
n+1
(1 )Uj1 + (1 + )Ujn+1 = (1 + )Uj1
n
+ (1 )Ujn (3.7.4)

siendo = hk .
Calcule su error de truncatura local y escriba su ecuacin modicada.
Determine tambin el rango de valores de para que el esquema sea
estable.
7. Dado el sistema de ecuaciones en derivadas parciales:
u1 u2 u1 u2
4 2 +5 = 0 (3.7.5)
t t x x
u1 u2 u1 u2
2 +4 +5 = 0 (3.7.6)
t t x x
se pide:
(a) Compruebe que es un sistema hiperblico.
(b) Escriba el sistema de ecuaciones desacopladas equivalente.
8. Demuestre que la frmula de d'Alembert resuelve la ecuacin de ondas de
segundo orden utilizando los resultados de la ecuacin de ondas de primer
orden y los sistemas hiperblicos.
9. Dado el problema hiperblico:
2
utt c uxx = 0,


0 x L, 0 t,

u(x, 0) = f (x),
ut (x, 0) = g(x), (3.7.7)



u(0, t) = (t),

u(L, t) = (t).

Encuentre las expresiones de P y Q en las distintas regiones del plano para


que u(x, t) = P (x + ct) + Q(x ct).

56
10. Dado el problema hiperblico:

utt = uxx


0 < x < , t 0,

u(x, 0) = 0,
ut (x, 0) = 5 sin 5x, (3.7.8)



u(0, t) = 0,

u(, t) = 0 .

(a) Calcule su solucin exacta por separacin de variables.


(b) Busque soluciones tambin por separacin de variables en el esquema
leap-frog.
(c) Estudie las diferencias entre las dos soluciones de los apartado ante-
riores.

11. Utilice el programa programa finedif.m para aproximar la solucin del


problema:


utt 4uxx = 0, 0 x 1, 0 t 0,5,


u(x, 0) = x 0 x 35 ,
u(x, 0) = 1,5 1,5x 35 x 1, (3.7.9)


t
u (x, 0) = 0, 0 x 1

u(0, t) = u(, t) = 0, 0 t 0,5,

57
Captulo 4

Mtodos espectrales

4.1. Introduccin
Dada una ecuacin diferencial con unas condiciones frontera, la idea de los
mtodos espectrales consiste en aproximar la solucin exacta u(x) por una suma
PN
nita v(x) = k=0 ak k (x). Cuando el problemaP dependiente del tiempo la
N
solucin u(x, t) ser aproximada por una v(x, t) = k=0 ak (t)k (x).
Para que los mtodos espectrales sean de utilidad prctica debern tener las
siguientes propiedades:
PN
1. La convergencia de las aproximaciones v(x) = k=0 ak k (x) a la solucin
exacta u(x) deber ser rpida, al menos cuando las funciones sean regular.

2. Dados los coecientes ak , sean fciles de calcular los bk tales que.


N ! N
d X X
ak k (x) = bk k (x). (4.1.1)
dx
k=0 k=0

3. Deber existir algn algoritmo rpido para pasar de los coecientes ak a


los valores de v(x) en algn conjunto de nodos xi , i = 0, ..., N y viceversa.

Las dos cuestiones fundamentales sobre las que se debe decidir para cada
problema son las siguientes:

1. Se deben elegir las funciones base k (x). La eleccin bsicamente es como


sigue:

Para problema peridico se aconsejan funciones trigonomtricas.


Problema no peridico se utilizarn polinomios ortogonales tipo Jacobi,
es decir, polinomios de Chebyshev, Legendre, Hermite ...(ver apndice
A de [1]).

2. La segunda cuestin es la que se reere a cmo determinar los coecientes


ak ak (t), en este tema las principales tcnicas son tres:

58
Mtodo Tau : requiere que v(x) verica las condiciones frontera del
problema y el residuo R(x) sea ortogonal a tantas funciones base
como sea posible. El residuo es lo que queda cuando se inserta la
solucin aproximada en la ecuacin diferencial.
Mtodo Galerkin : combina las funciones base en un nuevo conjunto en
el todas las funciones verique las condiciones frontera y requiere que
el residuo R(x) sea ortogonal a tantas nuevas funciones base como
sea posible.
Mtodo de colocacin pseudoespectral : es similar al de Tau pero
ahora el residuo se anula en una serie de puntos.

Ejemplo 4.1.1. Se considera el siguiente problema de valores en la frontera:



uxx + ux 2u + 2 = 0, 1 x 1,
(4.1.2)
u(1) = u(1) = 0,

de solucin exacta:
sh(2)ex + sh(1)e2x
u(x) = 1 . (4.1.3)
sh(3)

La solucin aproximada ser la serie de Chebyshev truncada:


4
X
v(x) = ak Tk (x), (4.1.4)
k=0

cuya derivada respecto de x ser:


4
X
vx (x) = bk Tk (x), (4.1.5)
k=0

y teniendo en cuenta las relaciones entre las derivadas de los polinomios de


Chebyshev:

b0 0 1 0 3 0 a0 a0


b1 0 4 08 a1 a1


b = 0 6 0
a2 = A a2 (4.1.6)
2 .


b3 0 8 a3 a3

b4 0 a4 a4

El residuo es:
4
X
R(x) = vxx + vx 2v + 2 = Ak Tk (x), (4.1.7)
k=0

59
con:

A0 a0 2


A1 a1 0


A = (A2 + A 2I) a2 0 . (4.1.8)
2 +


A3 a3 0

A4 a4 0

Las condiciones frontera son:


a0


a1

1 1 1 1 1 0
a = (4.1.9)
2
1 1 1 1 1 0

a3

a4

Para el mtodo de Tau primero se tiene las dos ecuaciones ( 4.1.9) corre-
spondientes a las condiciones frontera y despus la ortogonalidad del residuo:
Z 1
R(x)Tk (x)
dx para k = 0, 1, 2, (4.1.10)
1 1 x2

lo que implica que A0 = A1 = A2 = 0. La solucin de este sistema de cinco


ecuaciones lineales es:
a0 = 0,2724,
a1 = 0,0444,
a2 = 0,2562, (4.1.11)

a3 = 0,0444
a4 = 0,0162,

Para el mtodo de Galerkin adems de las condiciones frontera ( 4.1.9)


las nuevas funciones base son:




2 (x) = T2 (x) T0 (x),

3 (x) = T3 (x) T1 (x), (4.1.12)




4 (x) = T4 (x) T0 (x),

60
y la ortogonalidad del residuo ahora signica que:
Z 1
R(x)k (x)
dx = 0 k = 2, 3, 4 (4.1.13)
1 1 x2
y la solucin del sistema lineal es:

a0 = 0,2741,
a1 = 0,0370,
a2 = 0,2593, (4.1.14)

a3 = 0,0370,
a4 = 0,0148,

Finalmente en el mtodo de colocacin el residuo R(x) debe anularse en


los nodos de Chebyshev que son los puntos xi = cos i
4 i = 1, 2, 3 de donde se
obtienen las tres ecuaciones siguientes:

A0


1
1
2
0 12 1
A 1

0

1 1 , (4.1.15)
0 1 0 A2 = 0


1 12 0 1 1 A3 0
2
A4

que junto con las dos ecuaciones ( 4.1.9) dan la solucin:

a0 = 0,2743,
a1 = 0,0371,
a2 = 0,2600, (4.1.16)

a3 = 0,0371,
a4 = 0,0143,

4.2. Algunos ejemplos de matrices de diferenciacin


Considere una red de puntos equidistantes {x1 , . . . , xN } con paso h = xj
xj1 y los valores {u1 , . . . , uN } dados, se supone tambin que el problema es
peridico, es decir, u0 = uN y u1 = uN +1 . Recuerde que la aproximacin en
diferencias nitas de segundo orden a la primera derivada es:
uj+1 uj1
u0 (xj ) wj = , j = 1, . . . , N (4.2.1)
2h

61
que escrita de manera matricial resulta:
1
w1 0 2 12 u1
.. 1 . ..
.


1 2
0 ..
.

.. .. .. .. ..
. = . . . . . (4.2.2)
h
. . ..
.. .. 0 1 .
2
1
wN 2 12 0 uN

Este es el primer ejemplo de lo que se entiende por una matriz de diferenciacin,


se trata de una matriz que multiplicada por los valores de la funcin en los nodos,
el resultado son aproximaciones de la derivada en los mismos puntos. En este
caso se trata de aproximaciones de orden dos.
Unos clculos muy sencillos permiten comprobar que el mismo resultado se
obtiene en el siguiente problema de interpolacin: para cada j = 1, . . . , N

1. Se construye el polinomio pj 2 tal que pj (xji ) = uji i = 0, 1.


2. Se evala la derivada wj = p0j (xj ).
La aproximacin en diferencia de cuarto orden se calcula de manera es anlo-
ga, para cada j = 1, . . . , N

1. Sea calcula pj 4 tal que pj (xji ) = uji i = 0, 1, 2.


2. Se evala la derivada wj = pj 0(xj ).
La expresin matricial ahora es:

..
w1 . 1
23 u1
12
.. .. ..
. . 1
12 1 .
12
.. .. .. ..
. . 2 . .
1 3
.. .. .. ..
. = . 0 . . , (4.2.3)
h
.. .. .. ..
. . 23 . .

.. .. ..
. 1 1 . .
12 12
wN .. uN
2
3
1
12 .

donde se tiene otro ejemplo una matriz de diferenciacin es este caso con aprox-
imaciones de orden cuatro.
La idea detrs de los metros seudoespectrales es, si fuera posible, hace un
paso al limite en este proceso y conseguir matrices de diferenciacin con aprox-
imaciones de orden innito. Se vera ms adelante que en el lmite se obtiene la

62
siguiente matriz innita conocida como el operador de Laurent:

..
.
.
.. 1
3
..
. 12

..
.
1
1
D= 0 . (4.2.4)
h ..


1 .

..
1 .
2
. ..
13

..
.

Observe que D es un operador antisimtrico porque DT = D.


Evidentemente en la prctica no se utilizan matrices innitas. Para redes
nitas el algoritmo bsico es el siguiente:

Principio para los mtodos seudoespectrales:

1. Se construye el polinomio p tal que p(xj ) = uj j .


2. Despus se aproxima la derivada por wj = p0j (xj ).

Por ejemplo, cuando N es par usando polinomios trigonomtricos la matriz


de diferenciacin N N que se obtendr es la siguiente:

..
.
..
. 1 3h
2 cot 2
..
. 1
2 cot 2 2h

..
. 1
2 cot 1h 2

DN = 0 (4.2.5)

..
1
2 cot 2 1h .

1 2h . ..
cot
2 2
..
1
2 cot 2 3h .

..
.

4.3. Matrices de diferenciacin de Fourier


Considere un problema peridico en [0, 2] y una red de punto equidistantes
de paso h = 2
N h = N2 con N par. Recuerde que la DFT (transformada

63
discreta de Fourier) est denida de la forma siguiente:
N
X N N
vk = h eikxj vj , k= + 1, . . . . . . , , (4.3.1)
j=1
2 2

y la transforma inversa tambin llamada sntesis es:


N/2 N/21
1 X X
vj = eikxj vk = eikxj vk j = 1, . . . , N (4.3.2)
2
k=N/2+1 k=N/2

donde vN/2 = vN/2 y los trminos k = N/2 estn multiplicados por 1/2.
Se dene el polinomio interpolador de banda lmite de la forma:
N/21
1 X
p(x) = eikx vk x [0, 2], (4.3.3)
2
k=N/2

que es un polinomio trigonomtrico de grado a lo ms N/2. El algoritmo que


aproxima la derivada llamado diferenciacin espectral es el siguiente algo-
ritmo:
1. Dado los valores de vj se calcula su DFT y se construye el polinomio
interpolador de banda lmite p(x).
2. Se aproxima la derivada v 0 (xj ) p0 (xj ).
Para interpolar la funcin v se usar una formulacin general basada en la
funcin de Kronecker peridica:

1, j = 0 (modN ),
j = (4.3.4)
0, j 6= 0 (modN ),

cuya transformada discreta de Fourier es constante: k = h k . Su cuyo poli-


nomio interpolador de banda lmites es:

N/21 N/21 N/2
h X ikx h 1 X ikx 1 X
p(x) = e = e + eikx , (4.3.5)
2 2 2 2
k=N/2 k=N/2 k=N/2+1

que tambin se escribe de la forma:


N/21/2
h x X h x sin(N x/2)
p(x) = cos( ) eikx = cos( ) = SN (x), (4.3.6)
2 2 2 2 sin(x/2)
k=N/2+1/2

donde SN (x) es la funcin sinc que se escribe como:


sin( x
h )
SN (x) = 2 x (4.3.7)
h tan( 2 )

cuya derivada en los nodos resulta:



0 0, j = 0 (modN ),
SN (xj ) = 1 j jh (4.3.8)
2 (1) cot( 2 ), j 6= 0 (modN ).

64
Volviendo ahora al caso general y escribiendo:
N
X
vj = vm jm , (4.3.9)
m=1

el polinomio interpolador ser:


N
X
p(x) = vm SN (x xm ), (4.3.10)
m=1

y su derivada:
N
X
p0 (x) = 0
vm SN (x xm ). (4.3.11)
m=1
Esto signica que la aproximacin de la derivada en el nodo xj es:
N
X
v 0 (xj ) p0(x1 ) = 0
vm SN (xj xm ), (4.3.12)
m=1

es decir, la la j -sima de la matriz de diferenciacin es:


0 0 0
(SN (xj x1 ), SN (xj x2 ), , SN (xj xN )), (4.3.13)
y la matriz N N de diferenciacin que se obtiene es la siguiente:

0 12 cot 1h
2
1 .. ..
cot 1h . . 1
2 cot 2
2h
2 2
1 ..
2h . 2 cot 2
1 3h
DN = 2 cot 2 , (4.3.14)
.. ..
1 cot 3h . .
2 2
. . .
.. .. .. 1 1h
2 cot 2
1 1h
2 cot 2 0
que es justamente la expresin ( 4.2.5).
Para aproximar segundas derivadas de debe derivados dos veces la funcin
sinc con el resultado: La aproximar la segunda derivada se calcula:
(
2 1
00 3h 2 6, j = 0 (modN ),
SN (xj ) = (1)j (4.3.15)
2 sin2 (jh/2) , j 6= 0 (modN ).
y la matriz de diferenciacin para la aproximar la segunda derivada que se
obtiene es:
.. ..
. .
.
.. 1 2 2h
2 csc ( 2 )

.
.. 1
csc 2 1h
( )
2 2
(2) 2
DN =
3h2 6 1
(4.3.16)

1 2 1h . ..
2 csc ( 2 )


. .
1 2 2h
2 csc ( 2 ) .

.. ..
. .

65
En el programa p4.m de [11] se estiman las derivadas de las funciones:

|x |
f (x) = max{0, 1 }, g(x) = esin x , (4.3.17)
2
con el resultado de la gura 4.1 es casi idntica a la gura 1.2 del captulo
primero..

function spectral derivative


1.5 1

1 0.5

0.5 0

0 0.5

0.5 1
0 2 4 6 0 2 4 6

3 2
max error = 9.6878e013
1
2
0
1
1

0 2
0 2 4 6 0 2 4 6

Figura 4.1:

equispaced points Chebyshev points


1.5 1.5

1 1

0.5 0.5

0 0

0.5 max error = 5.9001 0.5 max error = 0.017523

1 1
1 0.5 0 0.5 1 1 0.5 0 0.5 1

1
Figura 4.2: Efecto Runge para u(x) = 1+16x2 con N = 16
.

66
4.4. Matrices de diferenciacin de Chebyshev
Considere ahora el caso de un problema no peridico en un dominio acotado
[1, 1]. La teora de interpolacin demuestra que para los nodos equidistantes
xj = 1 + 2j N j = 0, . . . , N el polinomio de interpolacin diverge debido al
efecto Runge que se muestra parte izquierda de la gura 4.2, y la mejor
eleccin de son los nodos de Chebyshev: xj = cos j N j = 0, . . . , N como se
puede ver en la parte derecha de la gura 4.2, vea por ejemplo el captulo 3 de
[1].
Las matrices de diferenciacin de Chebyshev se construye de la forma que
especica el siguiente teorema:

Teorema 4.4.1 (Matriz de diferenciacin de Chebyshev). Para


cada N 1 los elementos de la matriz de diferenciacin DN contando
los ndices de 0 a N son:

2N 2 + 1 2N 2 + 1
(DN )00 = , (DN )N N = , (4.4.1)
6 6
xj
(DN )jj = , j = 1, ..., N 1, (4.4.2)
2(1 x2j )
ci (1)i+j
(DN )ij = , i 6= j, i, j = 0, ..., N, (4.4.3)
cj (xi xj )
donde


2 i = 0, N,
ci = (4.4.4)


1 otros.

El programa cheb.m de [11] construye las matrices de diferenciacin de


Chebyshev para cualquier N , y en el programa p12.m aplica dichas matrices
para estimar la derivadas de distintas funciones con el resultado de la gura
4.3.

67
3 2
|x | exp(x )

0 0
10 10

5 5
10 10
error

error
10 10
10 10

15 15
10 10
0 10 20 30 40 50 0 10 20 30 40 50
N N

1/(1+x2) x10

0 0
10 10

5 5
10 10
error

error

10 10
10 10

15 15
10 10
0 10 20 30 40 50 0 10 20 30 40 50
N N

Figura 4.3:

4.5. Ejercicios
2 (2)
1. Compruebe DN 6= DN para N = 2 y N = 4.
2. Compruebe las expresiones de las dos primeras derivadas de la funcin
sinc.

3.

68
Bibliografa

[1] B.Fornberg, A practical guide to pseudospectral methods, Cambridge Uni-


versity Press, 1998.

[2] D.J.Higham and N.J.Higham, Matlab guide, SIAM, 2000.

[3] E.H.Twizell, Computational methods for p.d.e., Ellis Horwood, 1984.


[4] F.John, Partial dierential equations, Springer, 1982.

[5] G.Strang, Introduction to applied matematics, Wellesley-Cambridge Press,


1986.

[6] H.F.Weinberger, Ecuaciones diferenciales en derivadas parciales, Reverte,


1970.

[7] J.C.Strikwerda, Finite dierence squemes for p.d.e., Wadswork, 1989.

[8] J.Duoandikoetxea, Leciones sobre las series y transformada de fourier, No-


tas no publicadas, 2003.

[9] J.Stoer and R.Bulirsh, Introduction to numerical analysis, Springer, 1980.

[10] Cleve B. Moler, Numerical computing with matlab, SIAM, 2004.

[11] Lloyd N.Trefethen, Spectral methods in matlab, SIAM, 2000.

[12] R.D.Richtmeyer and K.W.Morton, Dierence methods for initial value


problems (second edition), John Wiley, 1967.
[13] R.Knobel, An introduction to the mathematical theory pf waves, Americal
Mathematical Sociaty, 1999.

[14] J.F.Mathews y K.D.Fink, Mtodos numricos con matlab. tercera edicin,


Prentice Hall, 1999.

[15] J.E.Marsden y M.J.Homan, Anlisis clsico elemental. segunda edicin,


Addison-Weslwy Iberoamericana, 1998.
[16] Y.Katznelson, An introduction to harmonic analysis, Dover, 1976.

69

También podría gustarte