You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
———————————————————–<br />
MÉTODOS NUMÉRICOS<br />
- NOTAS DE CLASE -<br />
———————————————————–<br />
por<br />
René Escalante<br />
Departamento <strong>de</strong> Cómputo Científico y Estadística<br />
UNIVERSIDAD SIMON BOLIVAR<br />
- Noviembre, 2014 -
2
Contenido<br />
1 Conceptos básicos 1<br />
1.1 Métodos numéricos . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
1.2 Tipos <strong>de</strong> errores y cotas . . . . . . . . . . . . . . . . . . . . . 2<br />
1.2.1 Errores por redon<strong>de</strong>o . . . . . . . . . . . . . . . . . . . 5<br />
1.2.2 Errores por cancelación . . . . . . . . . . . . . . . . . . 7<br />
1.2.3 Cotas para el error relativo . . . . . . . . . . . . . . . . 10<br />
1.3 Convergencia y algoritmos . . . . . . . . . . . . . . . . . . . . 10<br />
1.4 Experimentación numérica adicional . . . . . . . . . . . . . . . 13<br />
2 Sistemas <strong>de</strong> Ecuaciones Lineales (SEL) 15<br />
2.1 Resolución directa <strong>de</strong> un SEL . . . . . . . . . . . . . . . . . . 15<br />
2.1.1 El algoritmo <strong>de</strong> eliminación gaussiana . . . . . . . . . . 15<br />
2.1.2 Estrategias <strong>de</strong> pivoteo . . . . . . . . . . . . . . . . . . 25<br />
2.1.3 Factorización LU . . . . . . . . . . . . . . . . . . . . . 26<br />
2.1.4 El método <strong>de</strong> Cholesky . . . . . . . . . . . . . . . . . . 29<br />
2.2 Normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />
2.3 Métodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
2.3.1 El método <strong>de</strong> los gradientes conjugados . . . . . . . . . 43<br />
2.4 Experimentación numérica adicional . . . . . . . . . . . . . . . 48<br />
3 Aproximación <strong>de</strong> autovalores 53<br />
3.1 El método <strong>de</strong> las potencias . . . . . . . . . . . . . . . . . . . . 54<br />
3.2 El método QR . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
3.3 Descomposición en valores singulares . . . . . . . . . . . . . . 63<br />
4 Ecuaciones no lineales 67<br />
4.1 Tasas <strong>de</strong> convergencia . . . . . . . . . . . . . . . . . . . . . . 67<br />
4.2 El método <strong>de</strong> la bisección . . . . . . . . . . . . . . . . . . . . 68<br />
i
ii<br />
CONTENIDO<br />
4.3 Método regula falsi . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
4.4 El método <strong>de</strong> Newton . . . . . . . . . . . . . . . . . . . . . . . 75<br />
4.5 El método <strong>de</strong> la secante . . . . . . . . . . . . . . . . . . . . . 80<br />
4.6 Métodos <strong>de</strong> punto fijo . . . . . . . . . . . . . . . . . . . . . . 83<br />
4.7 El algoritmo <strong>de</strong> Horner . . . . . . . . . . . . . . . . . . . . . . 92<br />
4.8 Experimentación numérica adicional . . . . . . . . . . . . . . . 95<br />
5 Sistemas <strong>de</strong> ecuaciones no lineales 97<br />
5.1 El método <strong>de</strong> Newton . . . . . . . . . . . . . . . . . . . . . . . 97<br />
5.2 Métodos tipo secante . . . . . . . . . . . . . . . . . . . . . . . 101<br />
5.3 Apéndice al Capítulo 5 . . . . . . . . . . . . . . . . . . . . . . 103<br />
6 Aproximación <strong>de</strong> funciones 105<br />
6.1 El teorema <strong>de</strong> aproximación <strong>de</strong> Weierstrass y el teorema <strong>de</strong><br />
Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />
6.2 Interpolación polinómica . . . . . . . . . . . . . . . . . . . . . 107<br />
6.2.1 La forma <strong>de</strong> Lagrange . . . . . . . . . . . . . . . . . . 109<br />
6.2.2 Otras formas . . . . . . . . . . . . . . . . . . . . . . . 110<br />
6.2.3 El método <strong>de</strong> las diferencias divididas . . . . . . . . . . 110<br />
6.2.4 Error <strong>de</strong>l polinomio <strong>de</strong> interpolación . . . . . . . . . . 113<br />
6.3 Interpolación <strong>de</strong> Hermite . . . . . . . . . . . . . . . . . . . . . 116<br />
6.4 Interpolación polinómica a trozos . . . . . . . . . . . . . . . . 119<br />
6.4.1 Interpolación local . . . . . . . . . . . . . . . . . . . . 119<br />
6.4.2 Funciones splines . . . . . . . . . . . . . . . . . . . . . 121<br />
6.5 Mejores aproximaciones . . . . . . . . . . . . . . . . . . . . . 126<br />
6.5.1 Mínimos cuadrados . . . . . . . . . . . . . . . . . . . . 127<br />
6.5.2 El enfoque <strong>de</strong> Chebyshev . . . . . . . . . . . . . . . . . 129<br />
6.6 Interpolación trigonométrica . . . . . . . . . . . . . . . . . . . 133<br />
6.6.1 Series <strong>de</strong> Fourier y la transformada discreta <strong>de</strong> Fourier 133<br />
6.6.2 La transformada rápida <strong>de</strong> Fourier . . . . . . . . . . . 137<br />
6.7 Experimentación numérica adicional . . . . . . . . . . . . . . . 139<br />
6.8 Apéndice al Capítulo 6 . . . . . . . . . . . . . . . . . . . . . . 141<br />
7 Diferenciación e integración numéricas 145<br />
7.1 Diferenciación numérica . . . . . . . . . . . . . . . . . . . . . 146<br />
7.2 Integración numérica . . . . . . . . . . . . . . . . . . . . . . . 149<br />
7.2.1 Fórmulas <strong>de</strong> Newton-Cotes y extensiones . . . . . . . . 149<br />
7.2.2 Cuadratura gaussiana . . . . . . . . . . . . . . . . . . 153
CONTENIDO<br />
iii<br />
7.3 Extrapolación <strong>de</strong> Richardson . . . . . . . . . . . . . . . . . . . 157<br />
7.4 Experimentación numérica adicional . . . . . . . . . . . . . . . 158<br />
8 Problemas <strong>de</strong> valores iniciales 163<br />
8.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />
8.2 EDOs <strong>de</strong> primer or<strong>de</strong>n . . . . . . . . . . . . . . . . . . . . . . 165<br />
8.2.1 Métodos <strong>de</strong> un paso . . . . . . . . . . . . . . . . . . . 166<br />
8.2.2 Métodos multi-paso . . . . . . . . . . . . . . . . . . . . 174<br />
8.3 Sistemas y EDOs <strong>de</strong> or<strong>de</strong>n mayor . . . . . . . . . . . . . . . . 182<br />
8.4 Estabilidad y ecuaciones <strong>de</strong> stiff . . . . . . . . . . . . . . . . . 184<br />
8.5 Experimentación numérica adicional . . . . . . . . . . . . . . . 192<br />
9 Problemas con valores en la frontera 197<br />
9.1 Método <strong>de</strong>l disparo . . . . . . . . . . . . . . . . . . . . . . . . 201<br />
9.2 Método <strong>de</strong> las diferencias finitas . . . . . . . . . . . . . . . . . 205<br />
9.3 Métodos <strong>de</strong> proyecciones . . . . . . . . . . . . . . . . . . . . . 208<br />
9.3.1 Método <strong>de</strong> colocación . . . . . . . . . . . . . . . . . . . 209<br />
9.3.2 Método <strong>de</strong> Galerkin . . . . . . . . . . . . . . . . . . . . 212<br />
Referencias 217
Capítulo 8<br />
Problemas <strong>de</strong> valores iniciales<br />
para EDOs<br />
Muchos sistemas físicos y naturales dan lugar a mo<strong>de</strong>los matemáticos que<br />
contienen ecuaciones diferenciales ordinarias (EDOs). Aunque pareciera ser<br />
mejor resolver analíticamente estas ecuaciones, muchas <strong>de</strong> ellas tienen soluciones<br />
analíticas complicadas o simplemente no las conocemos. En estos<br />
casos, requerimos <strong>de</strong>l uso <strong>de</strong> una técnica numérica para buscar una solución<br />
aproximada <strong>de</strong> la ecuación diferencial. La bibliografía relacionada con este<br />
tema, al nivel que proponemos aquí, es realmente extensa 1 y nosotros, simplemente,<br />
hacemos una adaptación <strong>de</strong> la misma.<br />
8.1 Preliminares<br />
Consi<strong>de</strong>raremos aquí el estudio y análisis <strong>de</strong> métodos numéricos para la EDO<br />
<strong>de</strong> primer or<strong>de</strong>n <strong>de</strong> la forma<br />
y ′ (t) = f(t, y(t)),<br />
don<strong>de</strong> y(t) es una función <strong>de</strong> valores reales (<strong>de</strong> la variable real t) y f es una<br />
función conocida que toma valores reales y <strong>de</strong>pen<strong>de</strong> <strong>de</strong> dos variables reales.<br />
Nuestro objetivo será el <strong>de</strong> encontrar soluciones numéricas <strong>de</strong> esta ecuación<br />
diferencial. Sin embargo, en general, la solución <strong>de</strong> esta ecuación es una<br />
familia infinita <strong>de</strong> curvas solución, que constituye la solución general. Por<br />
1 Ver por ejemplo, [2], [6], [19], [22], [24], [27], [29], [34], [36].<br />
163
164<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
lo que para escoger una solución particular <strong>de</strong> esta familia necesitaremos,<br />
a<strong>de</strong>más, <strong>de</strong> una condición inicial. Dados dos números reales, t 0 y y 0 , el<br />
objetivo <strong>de</strong> un problema <strong>de</strong> valores iniciales (PVI) consiste en encontrar<br />
una solución y(t), para t > t 0 , tal que<br />
y ′ (t) = f(t, y(t)), y(t 0 ) = y 0 , (8.1)<br />
A fin <strong>de</strong> garantizar la existencia <strong>de</strong> una solución única para el PVI (8.1),<br />
<strong>de</strong>bemos consi<strong>de</strong>rar el siguiente teorema.<br />
Teorema 8.1 (Teorema <strong>de</strong> Picard (1856-1941)) Supongamos que la función<br />
<strong>de</strong> valores reales (t, y) ↦→ f(t, y) es continua en la región R = {(t, y) ∈<br />
R 2 : y ∈ [y 0 − C, y 0 + C] ∧ t ∈ [t 0 , T M ]}, que |f(t, y 0 )| ≤ K cuando<br />
t ∈ [t 0 , T M ], y que f satisface la condición <strong>de</strong> Lipschitz, i.e. existe λ > 0 tal<br />
que |f(t, u)−f(t, v)| < λ|u−v| ∀(t, u), (t, v) ∈ R. Si también suponemos que<br />
C ≥ (K/λ)(e λ(T M −t 0 ) − 1), entonces existe una única función y ∈ C 1 [t 0 , T M ]<br />
tal que y(t 0 ) = y 0 ∧ y ′ (t) = f(t, y(t)) para t ∈ [t 0 , T M ]; a<strong>de</strong>más, |y(t) − y 0 | ≤<br />
C, t ∈ [t 0 , T M ].<br />
Demostración. Ver, por ejemplo, [3]. ✷<br />
Al aplicar este teorema necesitamos escoger la constante C tal que las<br />
hipótesis sean satisfechas. También, se pue<strong>de</strong> <strong>de</strong>mostrar que si T M − t 0 es lo<br />
suficientemente pequeño y si ∂f/∂y es continua en una vecindad <strong>de</strong> (t 0 , y 0 ),<br />
entonces se satisfacerán las condiciones <strong>de</strong>l teorema [3].<br />
Ejemplo.<br />
Consi<strong>de</strong>remos el PVI sguiente:<br />
y ′ (t) − αy(t) = β, y(t 0 ) = y 0 ,<br />
don<strong>de</strong> α y β son constantes. Claramente, λ = |α| (in<strong>de</strong>pendientemente <strong>de</strong><br />
C) y K = |αy 0 | + |β|. De manera que, para cualquier intervalo [t 0 , T M ], si<br />
escogemos C lo suficientemente gran<strong>de</strong> las condiciones son satisfechas. Por<br />
lo tanto, el PVI tiene una única solución <strong>de</strong>finida en t ∈ [t 0 , T M ], que es<br />
continuamente diferenciable.<br />
Ejercicio 1.<br />
Aplicar el Teorema 8.1 al siguiente PVI no lineal<br />
y ′ (t) = y 2 (t), y(0) = 1,
8.2. EDOS DE PRIMER ORDEN 165<br />
¿Cuál es la solución única <strong>de</strong> este PVI?<br />
En estas <strong>notas</strong> siempre supondremos que la función f satisface las condiciones<br />
<strong>de</strong>l Teorema <strong>de</strong> Picard. Asumimos también que <strong>de</strong>seamos resolver el<br />
PVI (8.1) en el intervalo [t 0 , T M ], el cual dividimos en N subintervalos usando<br />
los puntos t n = t 0 + nh, n = 0, 1, . . . , N, don<strong>de</strong> h = (T M − t 0 )/N. De<br />
manera que, para cada n, buscaremos estimar una aproximación y n <strong>de</strong> y(t n ).<br />
Estas aproximaciones se calculan <strong>de</strong> manera sucesiva para n = 1, 2, . . . , N.<br />
Llamaremos a h el tamaño <strong>de</strong>l paso.<br />
8.2 EDOs <strong>de</strong> primer or<strong>de</strong>n<br />
Entre las técnicas numéricas más utilizadas para resolver ecuaciones diferenciales<br />
ordinarias están los <strong>de</strong>nominados métodos <strong>de</strong> Runge-Kutta. Estos<br />
métodos se basan en aproximar una función a partir <strong>de</strong> su <strong>de</strong>sarrollo en<br />
serie <strong>de</strong> Taylor. Así, un método <strong>de</strong> Runge-Kutta <strong>de</strong> primer or<strong>de</strong>n 2 usa un<br />
<strong>de</strong>sarrollo <strong>de</strong> Taylor <strong>de</strong> primer or<strong>de</strong>n, un método <strong>de</strong> Runge-Kutta <strong>de</strong> segundo<br />
or<strong>de</strong>n usa un <strong>de</strong>sarrollo <strong>de</strong> Taylor <strong>de</strong> segundo or<strong>de</strong>n, etc.<br />
En el caso <strong>de</strong>l método <strong>de</strong> Runge-Kutta <strong>de</strong> primer or<strong>de</strong>n, en cada paso<br />
evaluamos f en el punto correspondiente a la solución aproximada actual<br />
(t n , y n ), para luego utilizar la información obtenida <strong>de</strong> la pendiente para<br />
hallar y n+1 . Así, la ecuación queda<br />
y n+1 = y n + h n f(t n , y n ),<br />
cuya aplicación sucesiva <strong>de</strong>fine el algoritmo:<br />
n = 0<br />
Se repite:<br />
f n = f(t n , y n )<br />
Se <strong>de</strong>fine el paso h n > 0<br />
t n+1 = t n + h n<br />
y n+1 = y n + h n f n<br />
n = n + 1<br />
Con un error local <strong>de</strong> truncamiento O(h 3 ), obtenemos el método <strong>de</strong><br />
2 Éste es el <strong>de</strong>nominado método <strong>de</strong> Euler.
166<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
Runge-Kutta <strong>de</strong> segundo or<strong>de</strong>n:<br />
k 1 = hf(t n , y n ) (8.2)<br />
k 2 = hf(t n + h, y n + k 1 ) (8.3)<br />
y n+1 = y n + k 1 + k 2<br />
2<br />
(8.4)<br />
Observemos que por cada paso se requieren dos evaluaciones <strong>de</strong> f.<br />
El método <strong>de</strong> Runge-Kutta más conocido es el siguiente método <strong>de</strong> cuarto<br />
or<strong>de</strong>n:<br />
k 1 = hf(t n , y n ) (8.5)<br />
k 2 = hf(t n + h 2 , y n + 1 2 k 1) (8.6)<br />
k 3 = hf(t n + h 2 , y n + 1 2 k 2) (8.7)<br />
k 4 = hf(t n + h, y n + k 3 ) (8.8)<br />
y n+1 = y n + 1 6 (k 1 + 2k 2 + 2k 3 + k 4 ) (8.9)<br />
El cual requiere <strong>de</strong> cuatro evaluaciones <strong>de</strong> f por paso.<br />
A continuación estudiaremos con mayor <strong>de</strong>talle estas técnicas.<br />
8.2.1 Métodos <strong>de</strong> un paso<br />
En este tipo <strong>de</strong> métodos y n+1 viene expresada en términos <strong>de</strong>l valor y n<br />
obtenido en el paso anterior. El caso más simple <strong>de</strong> los métodos <strong>de</strong> un<br />
paso es el <strong>de</strong>nominado método <strong>de</strong> Euler, que <strong>de</strong>finiremos a continuación.<br />
Sabiendo que y(t 0 ) = y 0 , supondremos que ya hemos calculado y n , para<br />
algún n = 0, 1, . . . , N − 1 (N ≥ 1). Definimos entonces, para cada n =<br />
0, 1, . . . , N − 1, <strong>de</strong> a un paso por vez, el siguiente esquema iterativo:<br />
y n+1 = y n + hf(t n , y n ),<br />
con el que buscaremos estimar, en la red <strong>de</strong> puntos dada, los valores aproximados<br />
y n <strong>de</strong> y(t n ).
8.2. EDOS DE PRIMER ORDEN 167<br />
Observemos que al consi<strong>de</strong>rar el <strong>de</strong>sarrollo <strong>de</strong> Taylor, hasta los dos primeros<br />
términos, <strong>de</strong> y(t n+1 ) = y(t n + h) alre<strong>de</strong>dor <strong>de</strong> t n con y ′ (t n ) = f(t n , y(t n )),<br />
obtendremos<br />
y(t n + h) = y(t n ) + hf(t n , y(t n )) + O(h 2 ).<br />
Si a<strong>de</strong>más sustituimos y(t n ) y y(t n +h) por sus valores aproximados y n y y n+1<br />
respectivamente, y <strong>de</strong>sechamos el término O(h 2 ), obtendremos el método <strong>de</strong><br />
Euler.<br />
En una forma más general po<strong>de</strong>mos expresar los métodos <strong>de</strong> un paso<br />
como<br />
y n+1 = y n + hΨ(t n , y n , h), n = 0, 1, . . . , N − 1, y(t 0 ) = y 0 , (8.10)<br />
don<strong>de</strong> Ψ(t n , y n , h) es una función continua <strong>de</strong> sus variables. Así, por ejemplo,<br />
en el caso <strong>de</strong>l método <strong>de</strong> Euler, Ψ(t n , y n , h) = f(t n , y n ).<br />
Al resolver una ecuación diferencial numéricamente se presentan diferentes<br />
tipos <strong>de</strong> errores.<br />
Definición 8.1 Llamaremos error <strong>de</strong> truncamiento local el que ocurre<br />
en un paso dado cuando reemplazamos un proceso infinito por uno finito. El<br />
error <strong>de</strong> truncamiento global es la acumulación <strong>de</strong> todos los errores <strong>de</strong><br />
truncamiento local. Denominaremos también error <strong>de</strong> redon<strong>de</strong>o global<br />
al que se presenta cuando acumulamos los errores <strong>de</strong> redon<strong>de</strong>o (local) <strong>de</strong> los<br />
pasos anteriores. El error total es la suma <strong>de</strong> los errores <strong>de</strong> truncamiento<br />
global y <strong>de</strong> redon<strong>de</strong>o global.<br />
El error <strong>de</strong> truncamiento local está presente en cada paso <strong>de</strong>l proceso<br />
<strong>de</strong> obtención <strong>de</strong> la solución numérica. El error <strong>de</strong> truncamiento global está<br />
asociado con el método numérico particular que aplicamos y es in<strong>de</strong>pendiente<br />
<strong>de</strong>l hardware que utilicemos.<br />
Para el caso <strong>de</strong>l método numérico (8.10), consi<strong>de</strong>raremos el error e n ≡<br />
y(t n )−y n , también <strong>de</strong>nominado error global, y el error <strong>de</strong> truncamiento<br />
ê n ≡ y(t n+1) − y(t n )<br />
h<br />
− Ψ(t n , y(t n ), h). (8.11)<br />
Si suponemos que Ψ satisface la condición <strong>de</strong> Lipschitz con respecto a su<br />
segundo argumento en R (ver el enunciado <strong>de</strong>l Teorema 8.1) para 0 ≤ h ≤ h 0 ,
168<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
y si a<strong>de</strong>más, |y n − y 0 | ≤ C, entonces<br />
|e n | ≤ max 0≤n≤N−1 |ê n |<br />
[e λ(t n−t 0 ) − 1]. (8.12)<br />
λ<br />
En efecto, <strong>de</strong> la <strong>de</strong>finición <strong>de</strong>l error ê n , vemos que<br />
y <strong>de</strong> (8.10) sigue que<br />
y(t n+1 ) = y(t n ) + hΨ(t n , y(t n ), h) + hê n ,<br />
e n+1 = e n + h[Ψ(t n , y(t n ), h) − Ψ(t n , y n , h)] + hê n ;<br />
aplicando a continuación la condición <strong>de</strong> Lipschitz, obtenemos que<br />
|e n+1 | ≤ |e n | + hλ|e n | + h|ê n | = (1 + hλ)|e n | + h|ê n | (n = 0, 1, . . . , N − 1),<br />
<strong>de</strong> don<strong>de</strong> sigue por inducción que |e n | ≤ ê<br />
λ [(1+hλ)n −1] para n = 0, 1, . . . , N,<br />
con ê = max 0≤n≤N−1 |ê n |, obteniendo así la cota que buscamos (¿por qué?).<br />
Resulta claro que (8.12) nos da una cota para la magnitud <strong>de</strong>l error e n<br />
en términos <strong>de</strong>l error <strong>de</strong> truncamiento ê n . Observemos a<strong>de</strong>más que (8.12)<br />
sugiere que si el error <strong>de</strong> truncamiento se aproxima a cero cuando h → 0,<br />
entonces el error (global) e n converge a cero también.<br />
Definición 8.2 Diremos que el método (8.10) es consistente con el PVI<br />
(8.1) si el error <strong>de</strong> truncacimiento (8.11) es tal que, para cualquier ε > 0,<br />
existe un h ε > 0 para el cual |ê n | < ε, para 0 < h < h ε y cualquier par <strong>de</strong><br />
puntos (t n , y(t n )), (t n+1 , y(t n+1 )) <strong>de</strong> alguna curva solución en R.<br />
Observaciones:<br />
• Por la continuidad <strong>de</strong> las funciones involucradas, <strong>de</strong> (8.11) sigue que si<br />
t n → t ∈ [t 0 , t M ] y h → 0, entonces lim n→∞ ê n = y ′ (t) − Ψ(t, y(t), 0).<br />
Por lo que una condición equivalente para que (8.10) sea un método<br />
consistente es que Ψ(t, y, 0) = f(t, y).<br />
• De aquí en a<strong>de</strong>lante asumiremos que el método numérico <strong>de</strong> un paso<br />
(8.10) es consistente.
8.2. EDOS DE PRIMER ORDEN 169<br />
Consi<strong>de</strong>remos ahora el caso particular <strong>de</strong>l método <strong>de</strong> Euler. Supongamos<br />
primero que y ∈ C 2 [t 0 , T M ], entonces, <strong>de</strong>l Teorema <strong>de</strong> Taylor, sigue que<br />
y(t n+1 ) = y(t n ) + hy ′ (t n ) + h2<br />
2! y′′ (ξ n ),<br />
don<strong>de</strong> ξ n está entre t n y t n+1 . Notemos que, <strong>de</strong> la <strong>de</strong>finición <strong>de</strong>l error <strong>de</strong><br />
truncamiento, ê n = h 2 y′′ (ξ n ). A<strong>de</strong>más, si <strong>de</strong>finimos M = max s∈[t0 ,T M ] |y ′′ (s)|,<br />
entonces |ê n | ≤ hM.<br />
Observemos que este resultado nos dice que, para<br />
2<br />
el método <strong>de</strong> Euler, la magnitud <strong>de</strong>l error <strong>de</strong> truncamiento está acotada<br />
superiormente por un múltiplo constante <strong>de</strong>l tamaño <strong>de</strong> paso h (i.e., |ê n | ≤ κh<br />
para 0 ≤ h ≤ h 0 , don<strong>de</strong> κ es in<strong>de</strong>pendiente <strong>de</strong> h, ver la Definición 8.3).<br />
Más aun, como para el método <strong>de</strong> Euler <strong>de</strong>bemos tener que Ψ(t n , y n , h) ≡<br />
f(t n , y n ), <strong>de</strong> (8.12) sigue que<br />
|e n | ≤ h<br />
2λ M[eλ(t n−t 0 ) − 1], n = 0, 1, . . . , N, (8.13)<br />
don<strong>de</strong> λ es la constante <strong>de</strong> Lipschitz para f.<br />
Ejemplo.<br />
Consi<strong>de</strong>remos el PVI: y ′ = tan −1 y, y(0) = y 0 , don<strong>de</strong> y 0 es un número<br />
real dado. Encontremos, para este caso, las constantes M y λ <strong>de</strong> (8.13).<br />
Como f(t, y) = tan −1 y, por TVM sabemos que existe ζ ∈ (w, z) tal que<br />
|f(t, w) − f(t, z)| = |f y (t, ζ)||w − z| = |(1 + ζ 2 ) −1 ||w − z| ≤ |w − z|. Por<br />
lo que λ = 1. Por otra parte, como y ′′ = (tan −1 y) ′ = (1 + y 2 ) −1 y ′ =<br />
(1+y 2 ) −1 tan −1 y, M = π/2. Por lo que la cota (8.13) es |e n | ≤ h(π/4)[e tn −1]<br />
(n = 0, 1, . . . , N). De manera que si consi<strong>de</strong>ramos una tolerancia dada ε para<br />
el error e n = y(t n ) − y n (i.e., |e n | ≤ ε para n = 0, 1, . . . , N), será suficiente<br />
que el tamaño <strong>de</strong> paso h sea tal que h(π/4)[e t n<br />
− 1] ≤ ε, o mejor aun, que<br />
h ≤ 4ε/[π(e T M<br />
− 1)]. Lo que significa que po<strong>de</strong>mos alcanzar una solución<br />
numérica con la precisión que <strong>de</strong>seemos, siempre que escojamos h lo suficientemente<br />
pequeño. También po<strong>de</strong>mos estimar una cota inferior para N (pues<br />
h = T M /N); sin embargo, en la práctica, un N menor que esta cota podría<br />
producir la precisión requerida; por ejemplo, si escogemos y 0 = 1, T M = 1 y<br />
ε = 0.01 (¿por qué?).<br />
Ejercicio 2.<br />
Consi<strong>de</strong>remos el PVI: y ′ = y 2 −ϕ(t), y(0) = 2, don<strong>de</strong> ϕ(t) = t4 −6t 3 +12t 2 −14t+9<br />
(1+t) 2 .
170<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
Corroborar que la cota <strong>de</strong> error (8.13) muestra, <strong>de</strong> manera aproximada, el<br />
hecho <strong>de</strong> que si usamos los tamaños <strong>de</strong> paso h = 0.2, h/2 y h/4, se produce<br />
también una correspondiente reducción <strong>de</strong>l error por un factor (aproximado)<br />
<strong>de</strong> 2. Graficar las soluciones aproximadas para distintos tamaños <strong>de</strong> paso en<br />
el intervalo [0, 1.6].<br />
Para “medir”, <strong>de</strong> alguna forma, la tasa asintótica <strong>de</strong> <strong>de</strong>caimiento <strong>de</strong>l e-<br />
rror <strong>de</strong> truncamiento cuando h → 0 introducimos el concepto <strong>de</strong> or<strong>de</strong>n <strong>de</strong><br />
precisión.<br />
Definición 8.3 Diremos que el método (8.10) tiene or<strong>de</strong>n <strong>de</strong> precisión<br />
r, si r es el entero positivo más gran<strong>de</strong> tal que, para cualquier curva solución<br />
(t, y(t)) en R lo suficientemente suave <strong>de</strong>l PVI (8.1), existen constantes κ<br />
y h 0 tales que, para cualquier par <strong>de</strong> puntos (t n , y(t n )), (t n+1 , y(t n+1 )) en la<br />
curva solución, |ê n | ≤ κh r para 0 < h ≤ h 0 .<br />
Claramente, el método <strong>de</strong> Euler tiene or<strong>de</strong>n <strong>de</strong> precisión igual a 1.<br />
Teorema 8.2 (Teorema <strong>de</strong> convergencia) Supongamos que el PVI (8.1)<br />
satisface las condiciones <strong>de</strong>l Teorema 8.1 y que su aproximación, obtenida <strong>de</strong><br />
(8.10) cuando h ≤ h 0 , cae en R. Supongamos también que Ψ satisface las<br />
condiciones <strong>de</strong> consistencia Ψ(t, y, 0) = f(t, y) y <strong>de</strong> Lipschitz con respecto<br />
a su segundo argumento en la región R. Entonces, si la sucesión <strong>de</strong> las<br />
aproximaciones sucesivas {y n } generada por el método (8.10), al usar la red<br />
<strong>de</strong> puntos t n = t 0 + nh (n = 1, 2, . . . , N) con valores sucesivos <strong>de</strong> h cada vez<br />
más pequeños, tendremos convergencia a la solución <strong>de</strong>l PVI en el sentido<br />
<strong>de</strong> que lim n→∞ y n = y(t) cuando t n → t ∈ [t 0 , T M ], n → ∞ y h → 0.<br />
Demostración. Observemos primero que aplicando la condición <strong>de</strong> consistencia<br />
po<strong>de</strong>mos expresar el error <strong>de</strong> truncamiento como<br />
ê n = y(t n+1) − y(t n )<br />
h<br />
Ahora, por el TVM,<br />
y(t n+1 ) − y(t n )<br />
h<br />
− f(t n , y(t n )) + Ψ(t n , y(t n ), 0) − Ψ(t n , y(t n ), h).<br />
− f(t n , y(t n )) = y ′ (ξ n ) − y ′ (t n ), don<strong>de</strong> ξ n ∈ (t n , t n+1 ).<br />
Por otra parte, por el teorema <strong>de</strong> Picard, y ′ es continua en [t 0 , T M ] (∴ uniformemente<br />
continua allí) y al ser Ψ una función continua en R × [0, h 0 ]
8.2. EDOS DE PRIMER ORDEN 171<br />
(uniformemente continua), para cada ε > 0 existe h ε tal que, para n =<br />
0, 1, . . . , N −1, |y ′ (ξ n )−y ′ (t n )| ≤ ε/2 ∧ |Ψ(t n , y(t n ), 0)−Ψ(t n , y(t n ), h)| ≤ ε/2.<br />
De don<strong>de</strong> sigue que |ê n | ≤ ε para h < h ε y n = 0, 1, . . . , N − 1. Por lo que,<br />
<strong>de</strong> (8.12), tenemos que<br />
|y(t) − y n | ≤ |y(t) − y(t n )| + |y(t n ) − y n | ≤ |y(t) − y(t n )| + ε λ [eλ(t n−t 0 ) − 1].<br />
Ahora, como y es continua en [t 0 , T M ] y t n → t ∈ [t 0 , T M ] cuando h → 0<br />
y n → ∞, entonces lim n→∞ y(t n ) = y(t). Por último, si hacemos ε → 0<br />
(in<strong>de</strong>pendientemente <strong>de</strong> h y n), tenemos que y n → y(t). ✷<br />
Métodos implícitos <strong>de</strong> un paso<br />
Observemos que <strong>de</strong> y(t n+1 ) − y(t n ) = ∫ t n+1<br />
t n<br />
y ′ (t)dt y luego aproximar la integral<br />
usando la regla <strong>de</strong>l trapecio, obtenemos el siguiente método <strong>de</strong> un<br />
paso:<br />
y n+1 = y n + h 2 [f(t n+1, y n+1 ) + f(t n , y n )], (8.14)<br />
el cual se <strong>de</strong>nomina método <strong>de</strong> la regla <strong>de</strong>l trapecio 3 y tiene una precisión<br />
<strong>de</strong> segundo or<strong>de</strong>n. En efecto, como el error <strong>de</strong> truncamiento ê n está dado<br />
por<br />
ê n = y(t n+1) − y(t n )<br />
− 1 h 2 [f(t n+1, y(t n+1 )) + f(t n , y(t n ))]<br />
y como el error para la regla <strong>de</strong>l trapecio viene dada por (−1/12)(t n+1 −<br />
t n ) 3 f ′′ (ξ), con ξ ∈ (t n , t n+1 ) (ver §7.2.1), entonces |ê n | ≤ (1/12)h 2 M, don<strong>de</strong><br />
M = max z∈[t0 ,t M ] f ′′ (z).<br />
Como y n+1 aparece a ambos lados <strong>de</strong> (8.14), para calcular y n+1 a partir <strong>de</strong><br />
y n necesitamos resolver una ecuación que, por lo general, no es lineal. Po<strong>de</strong>mos<br />
resolver la ecuación (8.14) para y n+1 , por ejemplo, usando el método <strong>de</strong><br />
Newton (siempre y cuando la <strong>de</strong>rivada f y sea relativamente fácil <strong>de</strong> calcular),<br />
usando como iterado inicial y n + hf(t n , y n ). Este tipo <strong>de</strong> métodos, en don<strong>de</strong><br />
requerimos resolver una ecuación para <strong>de</strong>terminar el nuevo valor <strong>de</strong> y n+1 , son<br />
<strong>de</strong> segundo or<strong>de</strong>n (i.e., el error e n es O(h 2 )), y se conocen como métodos<br />
implícitos.<br />
3 También conocido como el método <strong>de</strong> Adams-Moulton <strong>de</strong> segundo or<strong>de</strong>n.
172<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
Ejercicio 3.<br />
Para el mismo PVI <strong>de</strong>l Ejercicio 2, aplicar el método <strong>de</strong> la regla <strong>de</strong>l trapecio<br />
para los tamaños <strong>de</strong> paso h = 0.4 y h/2. Graficar los resultados obtenidos<br />
y comparar con el método <strong>de</strong> Euler <strong>de</strong>l Ejercicio 2. ¿Qué efecto tiene la<br />
reducción <strong>de</strong>l tamaño <strong>de</strong> paso por un factor <strong>de</strong> 2?<br />
Métodos <strong>de</strong> Runge-Kutta<br />
Comencemos por consi<strong>de</strong>rar la siguiente familia <strong>de</strong> métodos:<br />
don<strong>de</strong><br />
y n+1 = y n + hΨ(t n , y n , h), (8.15)<br />
Ψ(t n , y n , h) = αf(t n , y n ) + βf(t n + µh, y n + νhf(t n , y n ))<br />
y α, β, µ y ν son parámetros a ser <strong>de</strong>terminados.<br />
Observaciones.<br />
• (8.2)-(8.4) coinci<strong>de</strong> con el caso α = β = 1/2 y µ = ν = 1. Este método<br />
se suele <strong>de</strong>nominar método <strong>de</strong> Euler mejorado. Otro ejemplo es<br />
el método <strong>de</strong> Euler modificado, para el cual α = 0, β = 1 y<br />
µ = ν = 1/2. Asimismo, el método <strong>de</strong> Euler también es un miembro<br />
<strong>de</strong> esta familia (caso α = 1 y β = 0); no obstante, ahora nos interesan<br />
métodos con un or<strong>de</strong>n <strong>de</strong> precisión mayor que 1.<br />
• De acuerdo con la Definición 8.2 (i.e., cuando Ψ(t, y, 0) = f(t, y)), un<br />
método <strong>de</strong> esta familia será consistente sii α + β = 1. Este es el caso<br />
<strong>de</strong> los ejemplos anteriores.<br />
Con el objeto <strong>de</strong> <strong>de</strong>terminar el error <strong>de</strong> truncamiento (8.11) necesitaremos<br />
calcular algunas <strong>de</strong>rivadas <strong>de</strong> y. A fin <strong>de</strong> simplificar la notación, supongamos<br />
que las funciones en el lado <strong>de</strong>recho <strong>de</strong> las siguientes expresiones están evaluadas<br />
en (t n , y(t n )), <strong>de</strong> manera que<br />
y ′ (t n ) = f,<br />
y ′′ (t n ) = f t + f y f,<br />
y ′′′ (t n ) = f tt + f ty f + (f ty + f yy f)f + f y (f t + f y f),<br />
. . . . . .
8.2. EDOS DE PRIMER ORDEN 173<br />
Y usando el <strong>de</strong>sarrollo <strong>de</strong> Taylor en dos variables, tenemos que<br />
Ψ(t n , y(t n ), h) =<br />
αf + β(f + µhf t + νhff y + 1 2 (µh)2 f tt + µνh 2 ff ty + 1 2 (νh)2 f 2 f yy + O(h 3 )).<br />
Por lo que el error <strong>de</strong> truncamiento queda<br />
ê n = y(t n + h) − y(t n )<br />
h<br />
− Ψ(t n , y(t n ), h)<br />
= f + 1 2 h(f t + f y f) + 1 3! h2 (f tt + f ty f + (f ty + f yy f)f + f y (f t + f y f))<br />
−[αf + β(f + µhf t + νhff y + 1 2 (µh)2 f tt + µνh 2 ff ty + 1 2 (νh)2 f 2 f yy )]<br />
+O(h 3 ).<br />
Como α + β = 1, (1 − α − β)f = 0, y como el término h[(1/2)(f t + f y f) −<br />
βµf t − βνff y ] se anula para toda f tal que βµ = βν = 1/2, el método será<br />
<strong>de</strong> segundo or<strong>de</strong>n si ν = µ, β = 1/2µ y α = 1 − 1/2µ, con µ ≠ 0. De manera<br />
que el error <strong>de</strong> truncamiento <strong>de</strong>l método queda:<br />
ê n = h 2 [( 1<br />
6 − µ 4<br />
)<br />
( 1<br />
(f tt +f yy f 2 )+<br />
3 − µ )<br />
ff ty + 1 ]<br />
2 6 (f tf y +ffy 2 ) +O(h 3 ). (8.16)<br />
Demostrando que en efecto existe una familia <strong>de</strong> métodos, <strong>de</strong>pendiente <strong>de</strong><br />
un parámetro (µ ≠ 0), que es <strong>de</strong> segundo or<strong>de</strong>n.<br />
Observemos que en (8.16) no tenemos manera <strong>de</strong> escoger, para toda f, el<br />
parámetro µ para que el método sea <strong>de</strong> tercer or<strong>de</strong>n (ver el Ejercicio 4).<br />
Ejercicio 4.<br />
Corroborar la última observación anterior para el caso <strong>de</strong>l PVI: y ′ = y,<br />
y(0) = 1. ¿Cuál es el error <strong>de</strong> truncamiento? ¿Cómo <strong>de</strong>pen<strong>de</strong> <strong>de</strong> µ?<br />
Ejercicio 5.<br />
Para los métodos <strong>de</strong> Euler modificado y <strong>de</strong> Euler mejorado estimar sus respectivos<br />
errores <strong>de</strong> truncamiento y verificar que son métodos <strong>de</strong> segundo<br />
or<strong>de</strong>n.
174<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
Po<strong>de</strong>mos realizar un análisis similar, aunque más complicado, para obtener<br />
métodos <strong>de</strong> Runge-Kutta <strong>de</strong> or<strong>de</strong>n mayor, como el método (8.5)-(8.9), el cual<br />
se conoce como el método clásico <strong>de</strong> Runge-Kutta <strong>de</strong> cuarto or<strong>de</strong>n.<br />
Ejercicio 6.<br />
Para el mismo PVI <strong>de</strong>l Ejercicio 2 y tamaños <strong>de</strong> paso, aplicar el métodos <strong>de</strong><br />
la regla <strong>de</strong>l trapecio y el clásico <strong>de</strong> Runge-Kutta <strong>de</strong> cuarto or<strong>de</strong>n. Graficar,<br />
para cada h y en el mismo sistema coor<strong>de</strong>nado, los resultados obtenidos junto<br />
con el método utilizado en el Ejercicio 2. Graficar los errores en otro sistema<br />
coor<strong>de</strong>nado, indicando en el eje horizontal el número <strong>de</strong> puntos igualmente<br />
espaciados (N = 1.6/h), en una escala logarítmica, y en el eje vertical ln |e N |.<br />
Interpretar y comparar las gráficas que correspon<strong>de</strong>n a cada uno <strong>de</strong> los tres<br />
métodos.<br />
8.2.2 Métodos multi-paso<br />
Estos son los <strong>de</strong>nominados métodos <strong>de</strong> k pasos, don<strong>de</strong> ahora y n+1 viene<br />
expresada en términos <strong>de</strong> los k valores anteriores: y n , y n−1 , . . . , y n−k+1 (k ≥<br />
2).<br />
Si bien está claro que cuando aplicamos los métodos <strong>de</strong> Runge-Kutta<br />
po<strong>de</strong>mos alcanzar una mayor precisión, también es cierto que esto ocurre a<br />
costa <strong>de</strong> llevar a cabo un mayor trabajo computacional, pues se requiere <strong>de</strong><br />
un número mayor <strong>de</strong> evaluaciones <strong>de</strong> f. Por otra parte, si consi<strong>de</strong>ramos, por<br />
ejemplo, los tres nodos t n−1 , t n = t n−1 +h y t n+1 = t n−1 +2h, e integramos la<br />
ecuación diferencial y ′ (t) = f(t, y(t)) entre t n−1 y t n+1 , entonces obtendremos<br />
que y(t n+1 ) − y(t n−1 ) = ∫ t n+1<br />
t n−1<br />
f(t, y(t))dt. Si a continuación aplicamos el<br />
método <strong>de</strong> Simpson (ver §7.2.1) para aproximar la integral <strong>de</strong>l lado <strong>de</strong>recho,<br />
conseguimos el método<br />
y n+1 = y n−1 + h 3 [f(t n+1, y n+1 ) + 4f(t n , y n ) + f(t n−1 , y n−1 )], (8.17)<br />
que tan sólo requiere <strong>de</strong> tres evaluaciones <strong>de</strong> la función f por paso.<br />
Observemos también que para calcular y n+1 en (8.17) necesitamos <strong>de</strong><br />
los dos valores anteriores, y n−1 y y n , por lo que este método es diferente a<br />
los métodos <strong>de</strong> un paso que tan sólo requieren <strong>de</strong>l valor anterior, y n . Este
8.2. EDOS DE PRIMER ORDEN 175<br />
tipo <strong>de</strong> métodos se <strong>de</strong>nomina métodos multi-paso lineales. Daremos a<br />
continuación una <strong>de</strong>finición más general.<br />
Definición 8.4 Sea {t n } una sucesión <strong>de</strong> nodos igualmente espaciados con<br />
tamaño <strong>de</strong> paso h. Entonces, el método<br />
k∑<br />
a j y n+j = h<br />
j=0<br />
k∑<br />
b j f(t n+j , y n+j ), (8.18)<br />
j=0<br />
don<strong>de</strong> los coeficientes a j y b j (j = 0, 1, . . . , k) son constantes reales con a k<br />
distinto <strong>de</strong> cero, se <strong>de</strong>nomina método <strong>de</strong> k pasos lineal. Es mejor suponer<br />
también que no se da el caso <strong>de</strong> que a 0 = b 0 = 0. Si b k = 0 <strong>de</strong>cimos que el<br />
método es explícito, y si b k ≠ 0 entonces <strong>de</strong>cimos que es implícito.<br />
Así, por ejemplo, (8.17) es un método <strong>de</strong> 2 pasos lineal implícito.<br />
Observación:<br />
• En la <strong>de</strong>finición anterior <strong>de</strong>cimos que el método (8.18) es “lineal”<br />
porque sólo involucra combinaciones lineales <strong>de</strong> los y n+j y f(t n+j , y n+j ),<br />
para j = 0, 1, . . . , k.<br />
Ejemplos.<br />
El método <strong>de</strong> Euler es un método <strong>de</strong> un paso lineal explícito. Asimismo, el<br />
<strong>de</strong>nominado método <strong>de</strong> Euler implícito<br />
y n+1 = y n + f(t n+1 , y n+1 ),<br />
es un método <strong>de</strong> un paso lineal implícito. El método <strong>de</strong> la regla <strong>de</strong>l trapecio<br />
es también un método <strong>de</strong> un paso lineal implícito.<br />
El <strong>de</strong>nominado método <strong>de</strong> Adams-Bashforth<br />
y n+4 = y n+3 + h 24 (55f n+3 − 59f n+2 + 37f n+1 − 9f n ), (8.19)<br />
en don<strong>de</strong> usamos la notación f k ≡ f(t k , y k ), es un método <strong>de</strong> 4 pasos lineal<br />
explícito. El <strong>de</strong>nominado método <strong>de</strong> Adams-Moulton<br />
y n+3 = y n+2 + h 24 (9f n+3 + 19f n+2 − 5f n+1 − 9f n ) (8.20)<br />
es un método <strong>de</strong> 3 pasos lineal implícito.
176<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
Como ya hemos observado, partiendo <strong>de</strong> y(t n+1 ) = y(t n )+ ∫ t n+1<br />
t n<br />
f(t, y(t))dt,<br />
po<strong>de</strong>mos aproximar la integral usando una fórmula <strong>de</strong> cuadratura numérica,<br />
para obtener una fórmula que genera, en cada paso, una solución aproximada<br />
<strong>de</strong>l problema 8.1. La expresión obtenida será <strong>de</strong> la forma:<br />
y n+1 = y n + af n + bf n−1 + cf n−2 + . . . ,<br />
la cual se <strong>de</strong>nomina fórmula <strong>de</strong> Adams-Bashforth. A manera <strong>de</strong> ejemplo,<br />
supongamos que <strong>de</strong>seamos aproximar, para los puntos t i = t 0 +ih (0 ≤ i ≤ n),<br />
la integral anterior <strong>de</strong> la siguiente manera:<br />
∫ tn+1<br />
t n<br />
f(t, y(t))dt ≈ h[Af n + Bf n−1 + Cf n−2 + Df n−3 + Ef n−4 ].<br />
Determinaremos los coeficientes A, B, C, D y E <strong>de</strong> manera tal que esta<br />
expresión sea exacta siempre que el integrando sea un polinomio <strong>de</strong> grado<br />
≤ 4. Sin pérdida <strong>de</strong> generalidad, po<strong>de</strong>mos suponer que t n = 0 y h = 1<br />
(¿por qué?); claramente t n+1 = 1, t n−1 = −1, t n−2 = −2, t n−3 = −3 y<br />
t n−4 = −4. Asimismo, po<strong>de</strong>mos consi<strong>de</strong>rar convenientemente, como base <strong>de</strong><br />
P 4 , los polinomios p 0 (t) = 1, p 1 (t) = t, p 2 = t(t + 1), p 3 (t) = t(t + 1)(t + 2) y<br />
p 4 = t(t + 1)(t + 2)(t + 3). Cuando los sustituímos en la ecuación<br />
∫ 1<br />
0<br />
p n (t)dt = Ap n (0) + Bp n (−1) + Cp n (−2) + Dp n (−3) + Ep n (−4),<br />
obtenemos el siguiente sistema <strong>de</strong> ecuaciones:<br />
1 = A + B + C + D + E<br />
1<br />
2<br />
5<br />
6<br />
9<br />
4<br />
= −B − 2C − 3D − 4E<br />
= 2C + 6D + 12E<br />
= −6D − 24E<br />
251<br />
30 = 24E,<br />
que fácilmente resolvemos por sustitución hacia atrás, obteniendo la fórmula<br />
y n+1 = y n +<br />
h<br />
720 [1901f n − 2774f n−1 + 2616f n−2 − 1274f n−3 + 251f n−4 ],<br />
<strong>de</strong>nominada método <strong>de</strong> Adams-Bashforth <strong>de</strong> quinto or<strong>de</strong>n.
8.2. EDOS DE PRIMER ORDEN 177<br />
El procedimiento ilustrado es el método <strong>de</strong> los coeficientes in<strong>de</strong>terminados.<br />
De manera similar po<strong>de</strong>mos obtener métodos <strong>de</strong> or<strong>de</strong>n superior.<br />
A fin <strong>de</strong> mejorar la precisión, los métodos <strong>de</strong> Adams-Bashforth se suelen<br />
aplicar conjuntamente con otros métodos. Supongamos ahora que usamos<br />
un método <strong>de</strong> cuadratura numérica que incluya f n+1 , entonces ahora<br />
y n+1 = y n + af n+1 + bf n + cf n−1 + . . .<br />
Ejercicio 7.<br />
Aplicar el método <strong>de</strong> los coeficientes in<strong>de</strong>terminados para <strong>de</strong>ducir el siguiente<br />
método:<br />
y n+1 = y n +<br />
h<br />
720 [251f n+1 + 646f n − 264f n−1 + 106f n−2 − 19f n−3 ].<br />
Se trata <strong>de</strong>l método <strong>de</strong> Adams-Moulton <strong>de</strong> quinto or<strong>de</strong>n.<br />
Notemos que este método no se pue<strong>de</strong> aplicar directamente para avanzar<br />
en la solución, ya que y n+1 aparece a ambos lados <strong>de</strong> la ecuación. Sin embargo,<br />
po<strong>de</strong>mos usar el método <strong>de</strong> Adams-Bashforth <strong>de</strong> quinto or<strong>de</strong>n anterior<br />
para estimar un valor <strong>de</strong> y n+1 , el predictor yn+1, p para luego utilizarlo con el<br />
método <strong>de</strong> Adams-Moulton <strong>de</strong> quinto or<strong>de</strong>n para obtener un nuevo valor <strong>de</strong><br />
y n+1 , el corrector yn+1. c Este algoritmo se <strong>de</strong>nomina el método predictorcorrector.<br />
De manera que, en la expresión anterior para el método <strong>de</strong><br />
Adams-Moulton <strong>de</strong> quinto or<strong>de</strong>n, f n+1 = f(t n+1 , yn+1).<br />
p<br />
Dado que tan sólo conocemos el valor inicial y 0 , po<strong>de</strong>mos usar, por ejemplo,<br />
el método <strong>de</strong> Runge-Kutta para obtener y 1 , y 2 , y 3 y y 4 . En general, se<br />
utilizan conjuntamente métodos <strong>de</strong> un mismo or<strong>de</strong>n 4 .<br />
Como se <strong>de</strong>spren<strong>de</strong> <strong>de</strong> (8.18), requerimos <strong>de</strong> k valores iniciales, y 0 , y 1 , . . .,<br />
y k−1 , antes <strong>de</strong> aplicar el método <strong>de</strong> k pasos lineal al PVI (8.1). De ellos,<br />
como acabamos <strong>de</strong> observar, y 0 está dado por la condición inicial, pero los<br />
<strong>de</strong>más <strong>de</strong>bemos estimarlos <strong>de</strong> alguna otra forma, por ejemplo, usando un<br />
4 La precisión <strong>de</strong> una solución numérica <strong>de</strong> una ecuación diferencial está <strong>de</strong>terminada por<br />
el or<strong>de</strong>n <strong>de</strong>l método utilizado. El or<strong>de</strong>n indica cuántos términos <strong>de</strong> una solución expresada<br />
en serie <strong>de</strong> Taylor está utilizando el método. Por ejemplo, <strong>de</strong>cimos que un método dado<br />
es <strong>de</strong> cuarto or<strong>de</strong>n porque produce <strong>de</strong> manera aproximada la misma precisión que la que<br />
se obtiene al usar una serie <strong>de</strong> Taylor con los términos h, h 2 , h 3 y h 4 . De manera que en<br />
cada paso <strong>de</strong> la solución en la que se aplica el método esperamos que el error sea O(h 5 ).<br />
Más a<strong>de</strong>lante precisaremos esta i<strong>de</strong>a intuitiva <strong>de</strong> or<strong>de</strong>n
178<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
método <strong>de</strong> un paso. En cualquier caso, los valores iniciales contendrán e-<br />
rrores numéricos, por lo que es importante saber cómo este hecho afectará a<br />
las siguientes aproximaciones y n ’s, para n ≥ k, que hemos calculado usando<br />
(8.18). Por lo tanto, es relevante consi<strong>de</strong>rar aquí la “estabilidad” <strong>de</strong>l método<br />
numérico con respecto a “pequeñas perturbaciones” en las condiciones iniciales.<br />
A continuación introduciremos los importantes conceptos <strong>de</strong> cero-estabilidad,<br />
consistencia y convergencia para el caso <strong>de</strong> los métodos multipaso<br />
lineales. Si alguna <strong>de</strong> estas tres condiciones no fuera satisfecha, entonces<br />
la aplicación <strong>de</strong>l método no sería <strong>de</strong> mucha utilidad.<br />
Estabilidad<br />
Definición 8.5 Diremos que un método <strong>de</strong> k pasos lineal, para la ecuación<br />
y ′ = f(t, y), es cero-estable si existe una constante K tal que, para cualesquiera<br />
dos sucesiones {y n } ∧ {z n } generadas por las mismas fórmulas, pero<br />
con diferentes valores iniciales y 0 , y 1 , . . ., y k−1 ∧ z 0 , z 1 , . . ., z k−1 , tenemos<br />
que, para t n ≤ T M ,<br />
cuando h → 0.<br />
|y n − z n | ≤ K max<br />
0≤j≤k−1 {|y j − z j |}, (8.21)<br />
Debido a lo tedioso que pue<strong>de</strong> ser aplicar esta <strong>de</strong>finición directamente,<br />
formularemos un equivalente algebraico <strong>de</strong> la cero-estabilidad que esperamos<br />
facilite esta tarea. Introduciremos primero alguna notación.<br />
Asociados a los métodos <strong>de</strong> k pasos lineales (8.18), consi<strong>de</strong>raremos los<br />
<strong>de</strong>nominados primer y segundo polinomios característicos<br />
ϕ(z) =<br />
k∑<br />
a j z j y ψ(z) =<br />
j=0<br />
k∑<br />
b j z j ,<br />
j=0<br />
respectivamente, don<strong>de</strong> a k ≠ 0 y a 2 0 + b 2 0 ≠ 0. También necesitaremos el<br />
siguiente lema, el cual es un resultado clásico sobre relaciones <strong>de</strong> recurrencia.<br />
Lema 8.1 Consi<strong>de</strong>remos la siguiente relación <strong>de</strong> recurrencia lineal homogénea<br />
<strong>de</strong> or<strong>de</strong>n k:<br />
a k y n+k + . . . + a 1 y n+1 + a 0 y n = 0, n = 0, 1, . . . , (8.22)
8.2. EDOS DE PRIMER ORDEN 179<br />
con a k ≠ 0, a 0 ≠ 0, a j ∈ R, j = 0, 1, . . . , k, y polinomio característico<br />
asociado ϕ(z) = ∑ k<br />
j=0 a jz j . Sea {z s : 1 ≤ s ≤ l ≤ k} el conjunto <strong>de</strong> las<br />
raíces distintas <strong>de</strong>l polinimio ϕ, y <strong>de</strong>notemos por m s la multipicidad <strong>de</strong> z s ,<br />
con ∑ l<br />
s=1 m s = k. Si una sucesión <strong>de</strong> números complejos {y n } satisface<br />
(8.22), entonces y n = ∑ l<br />
s=1 p s(n)zs n , ∀n ≥ 0, don<strong>de</strong> p s (·) es un polinomio en<br />
n <strong>de</strong> grado m s − 1, 1 ≤ s ≤ l. En particular, si todas las raíces son simples,<br />
entonces los p s , 1 ≤ s ≤ k, son constantes.<br />
Demostración: Ver las referencias. ✷<br />
Teorema 8.3 (Condición <strong>de</strong> la raíz) Para un PVI (8.1) que satisfaga las<br />
condiciones <strong>de</strong>l teorema <strong>de</strong> Picard, un método multipaso lineal es cero-estable<br />
sii las raíces <strong>de</strong>l primer polinomio característico <strong>de</strong>l método están en el interior<br />
<strong>de</strong>l disco unitario cerrado en el plano complejo, y las raíces que caen en<br />
el círculo unitario son simples.<br />
Demostración: (⇒) Consi<strong>de</strong>remos el método (8.18) aplicado al caso y ′ = 0:<br />
a k y n+k + . . . + a 1 y n+1 + a 0 y n = 0. (8.23)<br />
Según el Lema 8.1, toda solución <strong>de</strong> esta relación <strong>de</strong> recurrencia lineal es <strong>de</strong><br />
la forma y n = ∑ l<br />
s=1 p s(n)zs n , don<strong>de</strong> z s es una raíz <strong>de</strong> multiplicidad m s <strong>de</strong>l<br />
primer polinomio característico ϕ <strong>de</strong>l método, y el polinomio p s es <strong>de</strong> grado<br />
m s − 1, 1 ≤ s ≤ l ≤ k. Claramente, si |z s | > 1 para algún s, entonces existen<br />
valores iniciales y 0 , y 1 , . . . , y k−1 tales que la solución correspondiente crece<br />
como lo hace |z s | n , y si |z s | = 1 y m s > 1, entonces existe una solución que<br />
crece como n ms−1 . En cualquier caso, hay soluciones que crecen <strong>de</strong> manera<br />
no acotada cuando n → ∞ (i.e., h → 0 con nh fijo). Consi<strong>de</strong>rando los valores<br />
iniciales y 0 , y 1 , . . . , y k−1 que producen la solución no acotada {y n }, y los<br />
valores iniciales z 0 = z 1 = . . . = z k−1 = 0 para los que la solución <strong>de</strong> (8.23)<br />
correspondiente es {z n } con z n = 0 ∀n, vemos que (8.21) no se cumple.<br />
(⇐) Queda como ejercicio, aunque también po<strong>de</strong>mos consultar, por ejemplo,<br />
la referencia [19, §6.3]. ✷<br />
Notemos que el teorema anterior afirma que la condición <strong>de</strong> cero-estabilidad<br />
pue<strong>de</strong> ser <strong>de</strong>terminada por simplemente consi<strong>de</strong>rar el comportamiento <strong>de</strong>l<br />
método cuando lo aplicamos al caso y ′ = 0 (i.e., f(t, y) ≡ 0). Por esta razón
180<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
es que a este concepto <strong>de</strong> estabilidad se le dió el nombre <strong>de</strong> “cero-estabilidad”.<br />
Ejemplos.<br />
Los métodos <strong>de</strong> Euler, <strong>de</strong> Euler implícito y el <strong>de</strong> la regla <strong>de</strong>l trapecio tienen<br />
como primer polinomio característico el polinomio ϕ(z) = z − 1, que tiene la<br />
raíz simple z = 1; por lo que los tres métodos son cero-estables.<br />
El método <strong>de</strong> Adams-Bashforth (8.19) tiene como primer polinomio característico<br />
el polinomio ϕ(z) = z 4 −z 3 = z 3 (z −1), que tiene la raíz múltiple<br />
z = 0 y la raíz simple z = 1; por lo tanto, el método es cero-estable. (¿Qué<br />
po<strong>de</strong>mos <strong>de</strong>cir <strong>de</strong>l método <strong>de</strong> Adams-Moulton (8.20)?)<br />
Ejercicio 8.<br />
Ver si los dos métodos siguientes <strong>de</strong> 3 pasos lineales son, o no son, ceroestables:<br />
11y n+3 + 27y n+2 − 27y n+1 − 11y n = 3h(f n+3 + 9f n+2 + 9f n+1 + f n ),<br />
Consistencia<br />
y n+3 + y n+2 − y n+1 − y n = 2h(f n+2 + f n+1 ).<br />
De manera similar a como hicimos en el caso <strong>de</strong> un paso, aquí también<br />
consi<strong>de</strong>raremos el error <strong>de</strong> truncamiento. Supongamos que y es una solución<br />
<strong>de</strong>l problema y ′ = f(t, y), <strong>de</strong>finiremos el error <strong>de</strong> truncamiento <strong>de</strong> (8.18)<br />
como<br />
ê n =<br />
∑ k<br />
j=0 a jy(t n+j ) − h ∑ k<br />
j=0 b jf(t n+j , y(t n+j ))<br />
h ∑ k<br />
j=0 b , con ψ(1) =<br />
j<br />
k∑<br />
b j ≠ 0.<br />
j=0<br />
(8.24)<br />
Definición 8.6 Diremos que el método (8.18) es consistente con la ecuación<br />
y ′ = f(t, y) si el error <strong>de</strong> truncamiento (8.24) es tal que, para cualquier<br />
ε > 0, existe un h ε > 0 para el cual |ê n | < ε para 0 < h < h ε , y cualesquiera<br />
puntos (t n , y(t n )), . . . , (t n+k , y(t n+k )) en alguna curva solución en la región<br />
R <strong>de</strong>l PVI (8.1).<br />
Si suponemos que la solución <strong>de</strong> la ecuación diferencial es lo suficientemente<br />
suave, y si consi<strong>de</strong>ramos los <strong>de</strong>sarrollos <strong>de</strong> Taylor <strong>de</strong> y(t n+j ) y y ′ (t n+j )
8.2. EDOS DE PRIMER ORDEN 181<br />
alre<strong>de</strong>dor <strong>de</strong>l punto t n , entonces al sustituirlos en (8.24), obtendremos que<br />
ê n = T 0y(t n ) + T 1 hy ′ (t n ) + T 2 h 2 y ′′ (t n ) + . . .<br />
.<br />
hψ(1)<br />
don<strong>de</strong> T 0 = ∑ k<br />
j=0 a j, T 1 = ∑ k<br />
j=1 ja j− ∑ k<br />
j=0 b j, T 2 = ∑ k<br />
j=1 (j2 /2!)a j − ∑ k<br />
j=1 jb j,<br />
. . . , T m = ∑ k<br />
j=1 (jm /m!)a j − ∑ k<br />
j=1 (jm−1 /(m−1)!)b j , . . . Para alcanzar la consistencia,<br />
necesitamos que cuando h → 0 y n → ∞, con t n → t ∈ [t 0 , t M ],<br />
ê n → 0. Lo que significa, necesariamente, que T 0 = T 1 = 0. En términos <strong>de</strong><br />
los polinomios característicos, esto quiere <strong>de</strong>cir que ϕ(1) = 0 y ϕ ′ (1) = ψ(1),<br />
que es distinto <strong>de</strong> cero. Así, si un método multipaso lineal es consistente,<br />
entonces tiene una raíz simple en el círculo unitario (en z = 1); notemos que<br />
esto no viola la condición <strong>de</strong> la raíz.<br />
Definición 8.7 Diremos que el método (8.18) tiene or<strong>de</strong>n <strong>de</strong> precisión<br />
r, si r es el entero positivo más gran<strong>de</strong> tal que, para cualquier curva solución<br />
(t, y(t)) en R lo suficientemente suave <strong>de</strong>l PVI (8.1), existen constantes κ y<br />
h 0 tales que, para cualesquiera k + 1 puntos (t n , y(t n )), . . . , (t n+k , y(t n+k ))<br />
en la curva solución, |ê n | ≤ κh r para 0 < h ≤ h 0 .<br />
De manera que el método es <strong>de</strong> or<strong>de</strong>n <strong>de</strong> precisión r sii T 0 = T 1 = . . . =<br />
T r = 0 y T r+1 ≠ 0, pues<br />
ê n = T r+1<br />
ψ(1) hr y (r+1) (t n ) + O(h r+1 )<br />
Ejercicio 9. ([36])<br />
Determinar los valores <strong>de</strong> w ≠ 0 para los cuales el método multi-paso lineal<br />
y n+3 + (2w − 3)(y n+2 − y n+1 ) − y n = hw(f n+2 + f n+1 )<br />
es cero-estable. ¿Cuál es el or<strong>de</strong>n <strong>de</strong> precisión <strong>de</strong>l método sin <strong>de</strong>jar <strong>de</strong> ser<br />
cero-estable?<br />
El siguiente resultado relaciona los conceptos <strong>de</strong> cero-estabilidad, consistencia<br />
y convergencia <strong>de</strong> un método multi-paso lineal.<br />
Teorema 8.4 (Teorema <strong>de</strong> Dahlquist) Para un método <strong>de</strong> k pasos lineal<br />
consistente con la ecuación diferencial y ′ = f(t, y), don<strong>de</strong> f satisface
182<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
la condición <strong>de</strong> Lipschitz, para valores iniciales consistentes (i.e., y j = γ j ,<br />
j = 0, 1, . . . , k − 1, que convergen a y 0 cuando h → 0), la cero-estabilidad es<br />
una condición necesaria y suficiente para alcanzar convergencia. Más aún, si<br />
la solución y ∈ C r+1 y el or<strong>de</strong>n <strong>de</strong> truncamiento es O(h r ), entonces el error<br />
e n = y(t n ) − y n es también O(h r ).<br />
Demostración. Ver por ejemplo la referencia [19]. ✷<br />
Observaciones:<br />
• Según el teorema <strong>de</strong> Dahlquist, si un método multi-pasos lineal no<br />
es cero-estable, su error e n no pue<strong>de</strong> hacerse arbitrariamente pequeño<br />
mediante la adopción <strong>de</strong> un h lo suficientemente pequeño para datos<br />
iniciales suficientemente precisos. De hecho, si la condición <strong>de</strong> la raíz<br />
se viola, entonces existe una solución para el método multi-pasos lineal<br />
que crecerá por un factor arbitrariamente gran<strong>de</strong> en un intervalo fijo<br />
<strong>de</strong> t, sin importar qué tan precisas sean las condiciones iniciales.<br />
• Un resultado relacionado, también <strong>de</strong> Dahlquist, impone una restricción<br />
sobre el or<strong>de</strong>n <strong>de</strong> precisión <strong>de</strong> un método <strong>de</strong> k pasos lineal cero-estable,<br />
respecto a que no pue<strong>de</strong> exce<strong>de</strong>r k + 1 si k es impar, o k + 2 si k es par<br />
[19]. Así, por ejemplo, el método <strong>de</strong> la regla <strong>de</strong>l trapecio es cero-estable,<br />
k = 1 y tiene or<strong>de</strong>n 2.<br />
Ejercicio 10.<br />
A partir <strong>de</strong> la última observación anterior, investigar la cero-estabilidad y el<br />
or<strong>de</strong>n <strong>de</strong> precisión en los métodos multi-paso lineales siguientes:<br />
y n+2 − y n = h 3 (f n+2 + 4f n+1 + f n ),<br />
11y n+3 + 27y n+2 − 27y n+1 − 11y n = 3h(f n+3 + 9f n+2 + 9f n+1 + f n ).<br />
8.3 Sistemas <strong>de</strong> ecuaciones y EDOs <strong>de</strong> or<strong>de</strong>n<br />
mayor<br />
Consi<strong>de</strong>remos aquí algunos métodos numéricos para aproximar la solución<br />
<strong>de</strong> un sistema <strong>de</strong> ecuaciones diferenciales <strong>de</strong> la forma<br />
y ′ j = f j (t, y 1 , . . . , y m ), j = 1, 2, . . . , m,
8.3. SISTEMAS Y EDOS DE ORDEN MAYOR 183<br />
el cual también se pue<strong>de</strong> expresar como y ′ = f(t, y), don<strong>de</strong> y es una función<br />
vectorial con m entradas que <strong>de</strong>pen<strong>de</strong> <strong>de</strong> t y f es una función vectorial con<br />
m entradas que <strong>de</strong>pen<strong>de</strong> <strong>de</strong> t y y. Ahora bien, para que en este contexto<br />
podamos hablar también <strong>de</strong> la existencia <strong>de</strong> una única solución necesitaremos<br />
consi<strong>de</strong>rar m condiciones complementarias. Supongamos pues, que contamos<br />
con estas condiciones y que están evaluadas en un mismo valor <strong>de</strong> t, digamos<br />
t 0 , y que son <strong>de</strong> la forma y j (t 0 ) = y j,0 para j = 1, 2, . . . , m (don<strong>de</strong> los y j,0<br />
están dados); o bien, usando notación vectorial, las condiciones están dadas<br />
por y(t 0 ) = y 0 . Denominamos a este problema un problema <strong>de</strong> valores<br />
iniciales (PVI) para un sistema <strong>de</strong> ecuaciones diferenciales ordinarias.<br />
Los métodos numéricos que hasta ahora hemos consi<strong>de</strong>rado los po<strong>de</strong>mos<br />
aplicar, sin mayores cambios, al caso <strong>de</strong> un sistema <strong>de</strong> ecuaciones diferenciales<br />
5 . Así, por ejemplo, el método <strong>de</strong> Runge-Kutta (8.2)-(8.4) queda<br />
k 1 = h f(t n , y n )<br />
k 2 = h f(t n + h, y n + k 1 )<br />
y n+1 = y n + k 1 + k 2<br />
.<br />
2<br />
Resulta claro que <strong>de</strong>bemos evaluar todos los elementos <strong>de</strong>l vector k 1 antes <strong>de</strong><br />
continuar con el seguiente paso para calcular k 2 , y luego proce<strong>de</strong>r con y n+1 .<br />
Una <strong>de</strong> la diferencias más importantes, respecto al caso <strong>de</strong> una sóla ecuación<br />
diferencial, tiene que ver con la aplicación <strong>de</strong> un método multi-paso<br />
implícito cuando buscamos <strong>de</strong>terminar y n+1 . Un método <strong>de</strong> este tipo suele<br />
requerir <strong>de</strong>l uso <strong>de</strong> un método iterativo para estimar la solución <strong>de</strong> un sistema<br />
<strong>de</strong> ecuaciones que, en general, es no lineal. Como en muchos problemas<br />
prácticos es normal tratar con sistemas que involucran cientos <strong>de</strong> ecuaciones<br />
diferenciales, es muy importante que nos aseguremos <strong>de</strong> que la ventaja que<br />
pensamos po<strong>de</strong>mos obtener por la aplicación <strong>de</strong>l método implícito justifique<br />
realmente el trabajo adicional en cada paso <strong>de</strong>l proceso.<br />
Cuando trabajamos con sistemas <strong>de</strong> ecuaciones diferenciales, exten<strong>de</strong>mos<br />
el análisis que realizamos para el caso <strong>de</strong> una ecuación, pero usando, cada<br />
vez que sea necesario, la notación vectorial y reemplazando el valor absoluto<br />
<strong>de</strong> un número por la norma <strong>de</strong> un vector en R m . Asimismo, el teorema <strong>de</strong><br />
Picard para el caso <strong>de</strong> una ecuación diferencial, lo po<strong>de</strong>mos exten<strong>de</strong>r al caso<br />
<strong>de</strong> un sistema <strong>de</strong> m ecuaciones diferenciales al reemplazar la notación <strong>de</strong>l<br />
valor absoluto por la vectorial en R m .<br />
5 Sabiendo, claro está, que ahora estamos trabajando con vectores.
184<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
Para finalizar esta sección, hacemos la observación <strong>de</strong> que una ecuación<br />
diferencial <strong>de</strong> or<strong>de</strong>n superior pue<strong>de</strong> expresarse como un sistema <strong>de</strong> ecuaciones<br />
diferenciales <strong>de</strong> primer or<strong>de</strong>n. Consi<strong>de</strong>remos, por ejemplo, el problema <strong>de</strong><br />
valores iniciales 6<br />
..<br />
x(t)<br />
x (t) = −<br />
, x(0) = 0.4, ẋ (0) = 0,<br />
(x(t) 2 + y(t) 2 )<br />
3/2<br />
..<br />
y(t)<br />
y (t) = −<br />
(x(t) 2 + y(t) 2 ) , y(0) = 0, ẏ (0) = 2,<br />
3/2<br />
que son las ecuaciones <strong>de</strong> Newton <strong>de</strong>l movimiento para el problema <strong>de</strong> dos<br />
cuerpos. Como t ∈ [0, 2π], (x(t), y(t)) <strong>de</strong>fine una elipse. Po<strong>de</strong>mos <strong>de</strong>finir<br />
u 1 (t) = x(t), u 2 (t) = ẋ (t), u 3(t) = y(t), u 4 (t) = ẏ (t). De manera que ahora<br />
el problema <strong>de</strong> valores iniciales anterior queda expresado como el siguiente<br />
sistema <strong>de</strong> ecuaciones <strong>de</strong> primer or<strong>de</strong>n:<br />
.<br />
u 1 (t) = u 2 (t) , u 1 (0) = 0.4<br />
.<br />
u 1 (t)<br />
u 2 (t) = −<br />
(u 1 (t) 2 +u 3<br />
,<br />
(t) 2 ) 3/2 u 2 (0) = 0<br />
.<br />
u 3 (t) = u 4 (t) , u 3 (0) = 0<br />
.<br />
u 3 (t)<br />
u 4 (t) = −<br />
(u 1 (t) 2 +u 3<br />
, u<br />
(t) 2 ) 3/2 4 (0) = 2<br />
8.4 Estabilidad y ecuaciones <strong>de</strong> stiff<br />
Uno <strong>de</strong> los conceptos más importantes <strong>de</strong>l cómputo científico es el <strong>de</strong> estabilidad.<br />
Éste tien<strong>de</strong> a tener significados un tanto diferentes <strong>de</strong>pendiendo <strong>de</strong>l<br />
contexto en que se aplique. Por supuesto que aquí sólo discutiremos algunos<br />
aspectos <strong>de</strong> la estabilidad respecto a la solución numérica <strong>de</strong> EDOs.<br />
Consi<strong>de</strong>remos, por ejemplo, el PVI siguiente:<br />
y ′′ − 10y ′ − 11y = 0, y(0) = 1, y ′ (0) = −1, (8.25)<br />
cuya solución exacta es y(t) = e −t (¿por qué?). Supongamos ahora que<br />
perturbamos por una pequeña cantidad ε la primera condición inicial, <strong>de</strong><br />
manera que y(0) = 1 + ε. La solución con esta nueva condición será<br />
(<br />
y(t) = 1 + 11 )<br />
12 ε e −t + ε<br />
12 e11t<br />
6 Tomado <strong>de</strong> [30].
8.4. ESTABILIDAD Y ECUACIONES DE STIFF 185<br />
(¿por qué?). Observemos que, para cualquier ε > 0, sin importar qué tan<br />
pequeño sea, cuando t → ∞ la solución tien<strong>de</strong> a infinito. En este caso po<strong>de</strong>mos<br />
<strong>de</strong>cir que la solución y(t) = e −t <strong>de</strong>l problema (8.25) es inestable, puesto<br />
que cambios, arbitrariamente pequeños en las condiciones iniciales, pue<strong>de</strong>n<br />
producir, cuando t → ∞, cambios arbitrariamente gran<strong>de</strong>s en la solución 7 .<br />
Por lo tanto, resulta muy difícil obtener una solución numérica satisfactoria<br />
porque los errores <strong>de</strong> redon<strong>de</strong>o y discretización producirán el mismo efecto<br />
que el cambio <strong>de</strong> las condiciones iniciales, y la solución aproximada ten<strong>de</strong>rá<br />
a diverger a infinito.<br />
Ejercicio 11.<br />
Expresar el problema (8.25) como un sistema <strong>de</strong> ecuaciones <strong>de</strong> primer or<strong>de</strong>n<br />
equivalente e intentar resolverlo numéricamente por alguno <strong>de</strong> los métodos<br />
vistos y discutir los resultados obtenidos.<br />
En el caso no lineal se suele presentar una mayor inestabilidad.<br />
ejemplo, consi<strong>de</strong>remos el PVI siguiente:<br />
y ′ = ty(y − 2), y(0) = y 0 ,<br />
cuya solución es<br />
Por<br />
y(t) =<br />
2y 0<br />
y 0 + (2 − y 0 )e t2<br />
(¿por qué?)<br />
Observemos que si y(0) = 2 la solución exacta es y(t) = 2, la cual será<br />
inestable. En efecto, si y 0 < 2, entonces y(t) → 0 cuando t → ∞, pero si<br />
y 0 > 2, la solución crece, pero tiene una singularidad cuando y 0 +(2−y 0 )e t2 =<br />
0.<br />
Los dos ejemplos anteriores muestran inestabilida<strong>de</strong>s en las soluciones<br />
<strong>de</strong> la ecuación diferencial misma. Consi<strong>de</strong>remos ahora inestabilida<strong>de</strong>s en el<br />
método numérico. Por ejemplo, analicemos el método siguiente:<br />
y n+1 = y n−1 + 2hf n , (8.26)<br />
el cual es un método <strong>de</strong> 2 pasos y <strong>de</strong> segundo or<strong>de</strong>n (¿por qué?). Apliquemos<br />
este método al problema<br />
y ′ = −2y + 1, y(0) = 1, (8.27)<br />
7 En la jerga <strong>de</strong>l análisis numérico, también po<strong>de</strong>mos <strong>de</strong>cir que este problema está mal<br />
condicionado.
186<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
cuya solución exacta es y(t) = (1/2)e −2t + (1/2). Si ahora consi<strong>de</strong>ramos la<br />
condición inicial perturbada y(0) = 1 + ε, obtendremos la solución y(t) =<br />
(ε + 1/2)e −2t + (1/2), cuya diferencia con la primera solución es el término<br />
εe −2t . Por lo que po<strong>de</strong>mos concluir que la solución es estable. Ahora, al<br />
aplicar el método (8.26) al PVI (8.27), obtenemos<br />
y n+1 = y n−1 + 2h(−2y n + 1) = −4hy n + y n−1 + 2h, y 0 = 1. (8.28)<br />
Como (8.26) es un método <strong>de</strong> dos pasos, también necesitaremos <strong>de</strong> un valor<br />
para y 1 . Escogeremos el valor <strong>de</strong> y 1 como la solución exacta evaluada en<br />
t = h, i.e. y 1 = (1/2)e −2h + (1/2).<br />
Para analizar el comportamiento <strong>de</strong> la sucesión {y n } generada por (8.28)<br />
es mejor consi<strong>de</strong>rar la ecuación como una ecuación en diferencias.<br />
————————————<br />
Una ecuación en diferencias lineal <strong>de</strong> or<strong>de</strong>n m con coeficientes constantes es <strong>de</strong> la forma<br />
y n+1 = α m y n + . . . + α 1 y n−m+1 + α 0 , n = m − 1, m, m + 1, . . . , (8.29)<br />
don<strong>de</strong> α 0 , α 1 , . . . , α m son constantes dadas. La parte homogénea <strong>de</strong> (8.29) está dada por<br />
y n+1 = α m y n + . . . + α 1 y n−m+1 .<br />
Trataremos ahora <strong>de</strong> buscar una solución para esta ecuación. Para ello consi<strong>de</strong>remos una<br />
solución <strong>de</strong> la forma y k = λ k , para una constante <strong>de</strong>sconocida λ. Éste será el caso si<br />
λ satisface la <strong>de</strong>nominada ecuación característica: λ m − α m λ m−1 − . . . − α 1 = 0. Si<br />
suponemos que las m raíces <strong>de</strong> esta ecuación, digamos λ 1 , . . . , λ m , son distintas, entonces<br />
sus soluciones fundamentales son λ k 1, λ k 2, . . . , λ k m, y la solución general es<br />
m∑<br />
y k = d i λ k i , k = 0, 1, . . . ,<br />
i=1<br />
don<strong>de</strong> los d i ’s son constantes arbitrarias. Observemos que una solución particular <strong>de</strong> (8.29)<br />
está dada por<br />
α 0<br />
y k =<br />
,<br />
1 − α 1 − . . . − α m<br />
siempre que el <strong>de</strong>nominador sea distinto <strong>de</strong> cero. De manera que la solución general <strong>de</strong><br />
(8.29) será<br />
m∑<br />
y k = d i λ k α 0<br />
i +<br />
, k = 0, 1, . . . . (8.30)<br />
1 − α 1 − . . . − α m<br />
i=1<br />
Determinamos las constantes arbitrarias cuando consi<strong>de</strong>ramos m condiciones adicionales,<br />
digamos y 0 , y 1 , . . . , y m−1 . Luego, para obtener una solución <strong>de</strong> (8.29) <strong>de</strong>bemos resolver el<br />
SEL m × m<br />
m∑<br />
d i λ k α 0<br />
i +<br />
= y k , k = 0, 1, . . . , m − 1,<br />
1 − α 1 − . . . − α m<br />
i=1
8.4. ESTABILIDAD Y ECUACIONES DE STIFF 187<br />
a fin <strong>de</strong> hallar los d i ’s.<br />
————————————<br />
Si aplicamos esta teoría a la ecuación en diferencias<br />
y n+1 = −4hy n + y n−1 + 2h, y 0 = 1, y 1 = 1 2 e−2h + 1 2 . (8.31)<br />
(i.e., (8.28) con las dos condiciones adicionales consi<strong>de</strong>radas). La correspondiente<br />
ecuación característica es λ 2 + 4hλ − 1 = 0, cuyas raíces son<br />
λ 1 = −2h + √ 1 + 4h 2 y λ 2 = −2h − √ 1 + 4h 2 . En este caso, el SEL es<br />
<strong>de</strong> don<strong>de</strong><br />
d 1 + d 2 + 1 2 = 1, d 1λ 1 + d 2 λ 2 + 1 2 = 1 2 e−2h + 1 2 ,<br />
d 1 = 1 4 + y 1 − (1/2) + h<br />
2 √ 1 + 4h 2 , d 2 = 1 4 − y 1 − (1/2) + h<br />
2 √ 1 + 4h 2 .<br />
Así que la solución <strong>de</strong> (8.31) es<br />
y n = d 1<br />
(<br />
− 2h +<br />
√<br />
1 + 4h<br />
2 ) n<br />
+ d2<br />
(<br />
− 2h −<br />
√<br />
1 + 4h<br />
2 ) n<br />
+<br />
1<br />
2 .<br />
De la solución anterior, observamos que, para cualquier tamaño <strong>de</strong> paso<br />
h > 0,<br />
0 < −2h + √ 1 + 4h 2 < 1 y 2h + √ 1 + 4h 2 > 1.<br />
Así, cuando n → ∞, el primer término <strong>de</strong> la solución <strong>de</strong> (8.31) tien<strong>de</strong> a<br />
0 y el segundo a ∞, <strong>de</strong> una manera oscilatoria. Como la solución exacta<br />
<strong>de</strong> la ecuación diferencial (8.27) tien<strong>de</strong> a 1/2 cuando t → ∞, el error <strong>de</strong> la<br />
solución aproximada {y n } diverge a ∞, por lo que el método (8.28) aplicado<br />
al problema (8.27) es inestable.<br />
En muchas referencias prefieren usar el término estabilidad en lugar <strong>de</strong><br />
cero-estabilidad como fue introducido en la Definición 8.5. De manera que<br />
en virtud <strong>de</strong>l Teorema 8.3, el método multi-paso lineal es estable sii las raíces<br />
λ i <strong>de</strong>l polinomio<br />
ρ(λ) ≡ λ m − a m λ m−1 − . . . − a 1 , (8.32)
188<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
satisfacen que |λ i | ≤ 1, a<strong>de</strong>más, cualquier raíz para la cual |λ i | = 1 será<br />
simple. También, algunos autores, usan el término fuertemente estable<br />
cuando m − 1 raíces satisfacen que |λ i | < 1. Como cualquier método que sea<br />
al menos <strong>de</strong> primer or<strong>de</strong>n <strong>de</strong> precisión <strong>de</strong>be satisfacer que ∑ m<br />
i=1 a i = 1 (¿por<br />
qué?), 1 es una raíz <strong>de</strong> (8.32). Por lo que, en este caso, un método fuertemente<br />
estable tendrá una raíz igual a 1 y el resto <strong>de</strong> las raíces tendrán valor<br />
absoluto < 1. Para el caso <strong>de</strong> los métodos <strong>de</strong> Runge-Kutta ρ(λ) = λ − 1, por<br />
lo que λ = 1 es la única raíz <strong>de</strong> (8.32) y este tipo <strong>de</strong> método siempre es fuertemente<br />
estable. Para un método <strong>de</strong> m pasos para el cual ρ(λ) = λ m − λ m−1<br />
tenemos m − 1 raíces iguales a cero, por lo que este tipo <strong>de</strong> método también<br />
es fuertemente estable.<br />
Ejercicio 12.<br />
¿Cuál es el polinomio ρ(λ) en el caso <strong>de</strong>l método (8.26)? ¿Es este método estable?<br />
¿Es fuertemente estable? ¿Cómo justificar la afirmación que hicimos<br />
más arriba respecto a que “el método (8.28) aplicado al problema (8.27) es<br />
inestable”? Explicar 8 .<br />
En muchos casos, métodos fuertemente estables pue<strong>de</strong>n presentar un comportamiento<br />
<strong>de</strong> inestabilidad si h es gran<strong>de</strong>. Aunque, en teoría, po<strong>de</strong>mos<br />
tomar h lo suficientemente pequeño para superar esta dificultad, pue<strong>de</strong> ocurrir<br />
que el tiempo <strong>de</strong> cómputo sea prohibitivo. Este es el caso cuando tratamos<br />
con las <strong>de</strong>nominadas ecuaciones diferenciales <strong>de</strong>l tipo stiff.<br />
Ecuaciones tipo stiff<br />
En un sistema <strong>de</strong> EDOs <strong>de</strong> esta <strong>clase</strong> se presenta una importante diferencia<br />
entre las escalas temporales <strong>de</strong> las componentes <strong>de</strong>l vector solución. Muchos<br />
algoritmos numéricos que en general trabajan bien, cuando los usamos<br />
para tratar ecuaciones <strong>de</strong> stiff, muestran un <strong>de</strong>sempeño poco satisfactorio.<br />
En estos casos, solamente alcanzamos la estabilidad <strong>de</strong> la solución numérica<br />
cuando la longitud <strong>de</strong> paso es lo suficientemente pequeña. Si bien, este<br />
fenómeno suele presentarse para el caso <strong>de</strong> sistemas <strong>de</strong> ecuaciones diferenciales,<br />
consi<strong>de</strong>raremos primero un sencillo ejemplo con una sola ecuación.<br />
8 Aquí, la teoría <strong>de</strong> estabilidad se reduce a la estabilidad en el límite cuando h → 0. Este<br />
ejemplo muestra lo que pue<strong>de</strong> ocurrir cuando h es arbitrariamente pequeño y el método<br />
es estable pero no fuertemente estable.
8.4. ESTABILIDAD Y ECUACIONES DE STIFF 189<br />
Consi<strong>de</strong>remos pues el siguiente PVI<br />
y ′ = −100y + 100, y(0) = y 0 , (8.33)<br />
cuya solución exacta es y(t) = (y 0 − 1)e −100t + 1. Observemos que si sustituimos<br />
y 0 por y 0 + ε, entonces el término εe −100t se aña<strong>de</strong> a la solución, por<br />
lo que po<strong>de</strong>mos concluir que la solución es estable. Ahora bien, si aplicamos<br />
el método <strong>de</strong> Euler al PVI (8.33), obtenemos<br />
y n+1 = y n + h(−100y n + 100) = (1 − 100h)y n + 100h,<br />
i.e. una ecuación en diferencias <strong>de</strong> primer or<strong>de</strong>n, cuya solución exacta es<br />
y n = (y 0 − 1)(1 − 100h) n + 1 (¿por qué?). Observemos que las ecuaciones<br />
diferencial y en diferencias tienen la misma solución particular y p = 1.<br />
Ahora, si por ejemplo y 0 = 2, las dos soluciones exactas anteriores serían<br />
(a) y(t) = e −100t + 1 y (b) y n = (1 − 100h) n + 1, (8.34)<br />
respectivamente.<br />
Está claro que a partir <strong>de</strong> y 0 = 2, y(t) <strong>de</strong>crece muy rápidamente hasta<br />
alcanzar el valor límite <strong>de</strong> 1 (e.g., y(0.1) ≈ 1 + 5 × 10 −5 ), y que más allá<br />
<strong>de</strong> t = 0.1 la solución varía muy poco y es casi igual a 1. En cuanto al<br />
tamaño <strong>de</strong>l paso h, notemos que si h > 0.02 en la solución (8.34)(b), entonces<br />
|1 − 100h| > 1 y los valores aproximados y n crecen rápidamente,<br />
mostrando un comportamiento inestable. Como (1 − 100h) n resulta ser una<br />
buena aproximación a e −100t cuando h es lo suficientemente pequeño, y una<br />
mala cuando h > 0.02, entonces, a pesar <strong>de</strong> que este término exponencial<br />
contribuya muy poco con la solución para t > 0.1, el método <strong>de</strong> Euler necesita<br />
que aproximemos la solución con suficiente precisión, <strong>de</strong> lo contrario<br />
per<strong>de</strong>remos la estabilidad.<br />
Aunque este es tan sólo un ejemplo, en términos generales: cuando la<br />
solución contiene un componente que aporta muy poco a la misma, los métodos<br />
numéricos tradicionales necesitan que la solución se aproxime <strong>de</strong> una manera<br />
precisa a fin <strong>de</strong> conservar la estabilidad.<br />
Una estrategia recomendada para abordar un problema con ecuaciones<br />
<strong>de</strong> stiff es la <strong>de</strong> consi<strong>de</strong>rar un método implícito.<br />
Ejercicio 13.<br />
Encontrar la solución <strong>de</strong> la ecuación en diferencias y n+1 = αy n + β como
190<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
una función <strong>de</strong> y 0 . Usar este resultado para <strong>de</strong>mostrar que la solución <strong>de</strong> la<br />
ecuación en diferencias obtenida por aplicar el método <strong>de</strong> Euler implícito al<br />
PVI (8.33) es y n = (y 0 − 1)(1 + 100h) −n + 1. En particular, si y 0 = 2, ¿qué<br />
po<strong>de</strong>mos <strong>de</strong>cir <strong>de</strong> la estabilidad respecto al tamaño <strong>de</strong>l paso h?<br />
Si la ecuación diferencial <strong>de</strong> nuestro problema no fuera lineal, el método<br />
implícito que usemos podría requerir, en cada paso, <strong>de</strong> la resolución <strong>de</strong> una<br />
ecuación no lineal para y n+1 . Asimismo, en general, para un sistema <strong>de</strong> ecuaciones<br />
diferenciales se podría necesitar resolver, en cada paso, un sistema <strong>de</strong><br />
ecuaciones, lineales o no lineales, <strong>de</strong>pendiendo <strong>de</strong> cómo sean las ecuaciones<br />
diferenciales involucradas. Esto es costoso <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista numérico,<br />
sin embargo, el manejo eficiente <strong>de</strong> las ecuaciones <strong>de</strong> stiff requiere usar un<br />
método numérico que incluya alguna condición <strong>de</strong> tipo implícito.<br />
Ejercicio 14.<br />
Repetir el análisis realizado para el PVI (8.33) para el caso <strong>de</strong>l PVI:<br />
y ′ = λy, y(0) = y 0 , don<strong>de</strong> λ es una constante.<br />
Consi<strong>de</strong>remos ahora el PVI para el sistema <strong>de</strong> ecuaciones diferenciales<br />
siguiente:<br />
y ′ = Ay, y(0) = y 0 , (8.35)<br />
don<strong>de</strong> A es una matriz <strong>de</strong> or<strong>de</strong>n m con elementos constantes. A fin <strong>de</strong><br />
simplificar la exposición supondremos que los autovalores <strong>de</strong> A son distintos,<br />
por lo que existe una matriz no singular P tal que P AP −1 = Λ es una matriz<br />
diagonal. Así que el problema dado es equivalente al sistema<br />
z ′ = Λz, z(0) = z 0 ,<br />
don<strong>de</strong> z ≡ P y y z 0 = P y 0 . De manera que el sistema se reduce a un<br />
conjunto <strong>de</strong> m ecuaciones in<strong>de</strong>pendientes, cuyas soluciones son z j = z 0j e λ jt ,<br />
j = 1, . . . , m, don<strong>de</strong> los λ j s son los elementos <strong>de</strong> la diagonal <strong>de</strong> la matriz<br />
Λ y también los autovalores <strong>de</strong> A. Claramente, si todos los autovalores son<br />
reales y negativos, entonces lim t→∞ ∥z(t)∥ = 0, y como ∥y(t)∥ = ∥P −1 z(t)∥ ≤<br />
∥P −1 ∥ ∥z(t)∥, también lim t→∞ ∥y(t)∥ = 0, don<strong>de</strong> ∥·∥ es una norma cualquiera<br />
en R m y la norma sobre P −1 es la norma matricial subordinada.
8.4. ESTABILIDAD Y ECUACIONES DE STIFF 191<br />
Observemos que al aplicar el método <strong>de</strong> Euler al sistema propuesto obtendremos<br />
y n+1 = (I + hA)y n (¿por qué?), <strong>de</strong> don<strong>de</strong> sigue que<br />
z n+1 = P y n+1 = P (I + hA)y n = P (I + hA)P −1 z n = (I + hΛ)z n ,<br />
don<strong>de</strong> Λ es la matriz diagonal con los autovalores <strong>de</strong> A en su diagonal. Si<br />
todos los autovalores <strong>de</strong> A son reales y negativos, entonces para asegurar que<br />
lim n→∞ ∥y n ∥ = 0, para un valor fijo <strong>de</strong> h > 0, requerimos para el método <strong>de</strong><br />
Euler que h|λ j | < 2, j = 1, 2, . . . , m (ver el Ejercicio 15(b)).<br />
En el caso <strong>de</strong> que apliquemos el método <strong>de</strong> Euler implícito al PVI (8.35),<br />
y n+1 = (I − hA) −1 y n (¿por qué?), por lo que<br />
z n+1 = P (I − hA) −1 P −1 z n = (P (I − hA)P −1 ) −1 z n = (I − hΛ) −1 z n .<br />
Así que para encontrar z n+1 basta consi<strong>de</strong>rar el sistema (I − hΛ)z n+1 = z n ,<br />
el cual es muy fácil <strong>de</strong> resolver pues la matriz I − hΛ es diagonal.<br />
Ejercicio 15.<br />
(a) Para el PVI (8.35), en el caso <strong>de</strong> que usemos el método <strong>de</strong> Euler<br />
implícito, ¿necesitaremos la condición <strong>de</strong> que h|λ j | < 2, j = 1, 2, . . . , m?<br />
(b) Consi<strong>de</strong>remos el sistema (8.35), don<strong>de</strong><br />
( )<br />
−8003 1999<br />
A =<br />
23988 −6004<br />
( 1<br />
y y(0) =<br />
4<br />
)<br />
.<br />
Ver que lim t→∞ ∥y(t)∥ = 0. Aplicar los métodos <strong>de</strong> Euler y <strong>de</strong> Euler<br />
implícito para resolver numéricamente el sistema con 12 pasos y tamaño<br />
<strong>de</strong> paso h = 0.004. Construir una tabla con las cuatro columnas: t,<br />
la primer componente <strong>de</strong> la solución, el resultado <strong>de</strong> aplicar el método<br />
<strong>de</strong> Euler implícito, y el resultado <strong>de</strong> aplicar el método <strong>de</strong> Euler. ¿Qué<br />
po<strong>de</strong>mos concluir <strong>de</strong> los resultados <strong>de</strong> la tabla? ¿Qué po<strong>de</strong>mos <strong>de</strong>cir<br />
acerca <strong>de</strong> los valores <strong>de</strong> h|λ j |, j = 1, 2? ¿Cómo <strong>de</strong>be ser el tamaño <strong>de</strong>l<br />
paso para que ambos métodos alcancen la misma precisión?<br />
Una parte transitoria <strong>de</strong> la solución, la cual viene <strong>de</strong>s<strong>de</strong> hace tiempo<br />
<strong>de</strong>cayendo, evita el incremento en el tamaño <strong>de</strong>l paso y limita el rango <strong>de</strong> la<br />
variable in<strong>de</strong>pendiente para el que una solución numérica pue<strong>de</strong> ser estimada.
192<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
La mayoría <strong>de</strong> los problemas prácticos no son lineales, y para tales problemas<br />
es difícil <strong>de</strong>finir <strong>de</strong> manera precisa el concepto <strong>de</strong> stiff, si bien una<br />
estrategia a seguir podría ser la <strong>de</strong> reemplazar el problema por una aproximación<br />
lineal. Sin embargo, para el caso <strong>de</strong>l sistema con coeficientes constantes<br />
y ′ = Ay po<strong>de</strong>mos dar la siguiente <strong>de</strong>finición.<br />
Definición 8.8 Diremos que el sistema <strong>de</strong> ecuaciones diferenciales con coeficientes<br />
constantes, y ′ = Ay, es <strong>de</strong> stiff si todos los autovalores <strong>de</strong> A tienen<br />
partes reales negativas, y si el cociente <strong>de</strong> la parte real más gran<strong>de</strong> entre la<br />
más pequeña es gran<strong>de</strong>.<br />
Las dificulta<strong>de</strong>s numéricas encontradas en el Ejercicio 15(b) se <strong>de</strong>ben, sin<br />
duda, al tamaño relativo <strong>de</strong> λ 2 respecto al tamaño <strong>de</strong>l autovalor λ 1 (¡verificar!).<br />
8.5 Experimentación numérica adicional<br />
Ejercicio 1. Usando un software <strong>de</strong> cómputo científico, implementar los<br />
métodos <strong>de</strong> Runge-Kutta <strong>de</strong> ór<strong>de</strong>nes uno, dos y cuatro, con paso <strong>de</strong> tamaño<br />
fijo. Consi<strong>de</strong>remos, por ejemplo, resolver numéricamente el siguiente PVI:<br />
y ′ (t) = 3y(t) + e 2t , y(0) = 3,<br />
en el intervalo [0, 3] (la solución analítica es y = 4e 3t − e 2t ).<br />
solución.<br />
Graficar la<br />
Ejercicio 2.<br />
Aplicar el método <strong>de</strong> Runge-Kutta para resolver numéricamente el siguiente<br />
problema <strong>de</strong> valores iniciales:<br />
⎧<br />
⎪⎨<br />
⎪⎩<br />
y ′′ (x) + xy(x) = 1, 0 ≤ x ≤ 1,<br />
y(0) = 3 −2/3 Γ(1/3) ≈ 1.2878993169,<br />
y ′ (0) = −3 −1/3 Γ(2/3) ≈ −0.9388929401,<br />
don<strong>de</strong> Γ es la función Gamma, la cual se <strong>de</strong>fine por Γ(s) = ∫ ∞<br />
t s−1 e −t dt,<br />
0<br />
con s real > 0. Las soluciones <strong>de</strong> la ecuacion y ′′ (x) + xy = 1 se llaman
8.5.<br />
EXPERIMENTACIÓN NUMÉRICA ADICIONAL 193<br />
funciones generalizadas <strong>de</strong> Airy 9 <strong>de</strong> or<strong>de</strong>n 0. A fin <strong>de</strong> comprobar el resultado,<br />
la respuesta en la red <strong>de</strong> puntos t = 0, 0.1, 0.2, . . . , 0.9, 1.0, es:<br />
0 1.28789931690000<br />
0.10000000000000 1.19880295408549<br />
0.20000000000000 1.11852115068333<br />
0.30000000000000 1.04601372670662<br />
0.40000000000000 0.98037804300430<br />
0.50000000000000 0.92082923969703<br />
0.60000000000000 0.86668350462695<br />
0.70000000000000 0.81734388182298<br />
0.80000000000000 0.77228821288660<br />
0.90000000000000 0.73105887250618<br />
1.00000000000000 0.69325401561206<br />
Obtener también la gráfica <strong>de</strong> la solución aproximada (así como la <strong>de</strong> su<br />
<strong>de</strong>rivada).<br />
Ejercicio 3. (Movimiento cerca <strong>de</strong> los puntos <strong>de</strong> Langrange)<br />
Consi<strong>de</strong>remos dos gran<strong>de</strong>s masas esféricas M 1 y M 2 , con M 1 > M 2 . En la<br />
ausencia <strong>de</strong> otras fuerzas, estos cuerpos se moverán en órbitas elípticas alre<strong>de</strong>dor<br />
<strong>de</strong> su centro <strong>de</strong> masa común (como en el caso <strong>de</strong> la Tierra y la Luna).<br />
Bajo la influencia gravitacional <strong>de</strong> los dos cuerpos gran<strong>de</strong>s, consi<strong>de</strong>remos<br />
9 Las soluciones <strong>de</strong> la versión homogénea: y ′′ + xy = 0, conocidas como funciones<br />
<strong>de</strong> Airy, aparecen <strong>de</strong> un modo natural en muchos problemas <strong>de</strong> la Física-Matemática;<br />
por ejemplo, en la teoría <strong>de</strong> difracción <strong>de</strong> ondas <strong>de</strong> radio alre<strong>de</strong>dor <strong>de</strong> la superficie<br />
terrestre; en el diseño <strong>de</strong> cáscaras toroidales <strong>de</strong>lgadas, sometidas a la acción <strong>de</strong> presiones<br />
internas y fuerzas radiales distribuidas; en el estudio <strong>de</strong> la <strong>de</strong>formación, tanto <strong>de</strong><br />
columnas sujetas a fuerzas longitudinales, como en placas <strong>de</strong>lgadas en las cuales actúan<br />
a<strong>de</strong>más <strong>de</strong> fuerzas transversales, fuerzas centrífugas internas. Cuando se estudia la aproximación<br />
WKM (Wentzel - Kramers - Brillouin), para resolver <strong>de</strong>terminados problemas <strong>de</strong><br />
la mecánica cuántica, se usa un método <strong>de</strong> aproximación, en el cual aparece la ecuación<br />
uno-dimensional <strong>de</strong> Schrödinger,<br />
d 2 y<br />
dx 2 + 2m (E − V (x))y = 0<br />
h2 (con E > V , E − V = m 2 V 2 , y V la velocidad clásica), la cual, <strong>de</strong>spués <strong>de</strong> cierto análisis,<br />
toma la forma<br />
d 2 y<br />
− zy = 0,<br />
dz2 que es una ecuación <strong>de</strong> Airy (para más <strong>de</strong>talles ver [12]).
194<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES<br />
el movimiento <strong>de</strong> un tercer cuerpo, como una nave espacial (con una masa<br />
insignificante en comparación con M 1 y M 2 ). Se producen entonces cinco<br />
puntos <strong>de</strong> equilibrio para el movimiento <strong>de</strong>l cuerpo pequeño con relación a<br />
los dos cuerpos gran<strong>de</strong>s. Tres <strong>de</strong> los mismos (encontrados por Euler) están<br />
sobre la línea que une los dos cuerpos gran<strong>de</strong>s. Los otros dos (encontrados<br />
por Lagrange) son los <strong>de</strong>nominados puntos <strong>de</strong> Lagrange. Cada uno <strong>de</strong> ellos<br />
forma un triángulo equilátero en el plano <strong>de</strong> movimiento con las posiciones<br />
<strong>de</strong> los dos cuerpos gran<strong>de</strong>s. Y estamos interesados en el movimiento <strong>de</strong> la<br />
nave cuando pasa cerca <strong>de</strong> un punto <strong>de</strong> Lagrange.<br />
A fin <strong>de</strong> simplificar nuestro análisis, supondremos que los dos cuerpos<br />
gran<strong>de</strong>s se mueven en círculos (por lo que mantienen una distancia constante<br />
entre sí). Tomaremos como el origen <strong>de</strong>l sistema <strong>de</strong> coor<strong>de</strong>nadas el centro <strong>de</strong><br />
masa y supondremos que el eje x siempre contiene a los dos cuerpos gran<strong>de</strong>s.<br />
La distancia entre los cuerpos gran<strong>de</strong>s será la unidad <strong>de</strong> distancia, y la suma<br />
<strong>de</strong> las dos masas será la unidad <strong>de</strong> masa (M 1 +M 2 = 1). Por último, la unidad<br />
<strong>de</strong> tiempo será tal que una órbita completa tome 2π unida<strong>de</strong>s (en nuestro<br />
caso, 1 año ≡ 2π unida<strong>de</strong>s, lo que equivale a tomar la constante gravitacional<br />
igual a 1). Con todas estas suposiciones, el parámetro fundamental es la masa<br />
relativa <strong>de</strong>l más pequeño <strong>de</strong> los dos cuerpos: µ = M 2<br />
M 1 +M 2<br />
= M 2 . Entonces, la<br />
posición <strong>de</strong> M 1 es (−µ, 0) y la <strong>de</strong> M 2 es (1 − µ, 0). La posición <strong>de</strong>l punto <strong>de</strong><br />
Lagrange será ((1 − 2µ)/2, √ 3/2). Si (x, y) es la posición <strong>de</strong> la nave espacial,<br />
entonces las distancias a M 1 y M 2 son:<br />
r 2 1 = (x + µ) 2 + y 2 ,<br />
r 2 2 = (x − 1 + µ) 2 + y 2 .<br />
Por último, las ecuaciones <strong>de</strong> Newton <strong>de</strong>l movimiento aplicadas a este caso<br />
son:<br />
..<br />
x −2 ẏ (1 − µ)(x + µ)<br />
−x = − −<br />
r1<br />
3<br />
..<br />
− µ)y<br />
y +2 ẋ −y = −(1<br />
r1<br />
3<br />
− µy .<br />
r2<br />
3<br />
µ(x − 1 + µ)<br />
, (8.36)<br />
r2<br />
3<br />
Encuentre el sistema <strong>de</strong> cuatro ecuaciones <strong>de</strong> primer or<strong>de</strong>n equivalente al<br />
sistema (8.36) (ver Ejemplo <strong>de</strong> §6.2). Si los dos cuerpos son la Tierra y<br />
la Luna, µ = 0.0122, x = (1 − 2µ)/2 + ξ y y = √ 3/2 + η. Así, (ξ, η)<br />
es la posición <strong>de</strong> la nave relativa al punto <strong>de</strong> Lagrange. Comenzando con<br />
condiciones iniciales menores que 1/100 unida<strong>de</strong>s <strong>de</strong> distancia <strong>de</strong>l punto <strong>de</strong>
8.5.<br />
EXPERIMENTACIÓN NUMÉRICA ADICIONAL 195<br />
Lagrange, calcular la solución. Para cada solución calculada, obtener la<br />
gráfica <strong>de</strong> η vs. ξ para observar el movimiento relativo al punto <strong>de</strong> Lagrange.<br />
Graficar a<strong>de</strong>más y vs. x, que incluya las posiciones <strong>de</strong> M 1 y M 2 , a fin <strong>de</strong><br />
obtener una visión global <strong>de</strong>l movimiento. (Nota: Tomado <strong>de</strong>l texto <strong>de</strong><br />
Polking y Arnold, 1999 [33])
196<br />
CAPÍTULO 8. PROBLEMAS DE VALORES INICIALES
Capítulo 9<br />
Problemas con valores en la<br />
frontera para EDOs<br />
En muchos problemas prácticos requerimos <strong>de</strong>terminar una solución para<br />
un sistema <strong>de</strong> ecuaciones diferenciales en un intervalo finito dado, con s<br />
condiciones complementarias conocidas en uno <strong>de</strong> los extremos <strong>de</strong>l intervalo<br />
y m − s condiciones en el otro extremo. A un problema, con este tipo <strong>de</strong><br />
condiciones, lo <strong>de</strong>nominaremos un problema con valores en la frontera<br />
(PVF). Los métodos numéricos que abordan esta <strong>clase</strong> <strong>de</strong> problemas son<br />
diferentes a los consi<strong>de</strong>rados para los PVIs. Más precisamente, requerimos la<br />
solución en un intervalo [a, b], con algunas condiciones dadas en a, y el resto<br />
en b, sin embargo pue<strong>de</strong>n darse situaciones más complicado, que involucran<br />
tres o más puntos.<br />
Proponemos pues el caso <strong>de</strong> un problema con valores en la frontera en<br />
dos puntos para una ecuación diferencial <strong>de</strong> segundo or<strong>de</strong>n. Nos referimos al<br />
problema<br />
y ′′ = f(t, y, y ′ ), t ∈ (a, b), con las condiciones y(a) = α, y(b) = β, (9.1)<br />
don<strong>de</strong> α y β son números reales dados.<br />
Ejemplo.<br />
y ′′ = −y, y(0) = 3, y(π/2) = 7. (9.2)<br />
La solución general <strong>de</strong> la ecuación diferencial es y(t) = C 1 sen t + C 2 cos t.<br />
Hallamos las constantes C 1 y C 2 tales que se satisfagan las condiciones <strong>de</strong><br />
frontera. Así, C 1 = 7 y C 2 = 3. De manera que la solución <strong>de</strong> (9.2) es<br />
197
198<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
y(t) = 7 sen t + 3 cos t.<br />
El procedimiento que seguimos en el ejemplo anterior <strong>de</strong>ja <strong>de</strong> ser práctico<br />
cuando no conocemos la solución general <strong>de</strong> la ecuación diferencial (9.1).<br />
De allí la necesidad <strong>de</strong> contar con métodos numéricos a<strong>de</strong>cuados que nos<br />
permitan abordar este tipo <strong>de</strong> problema.<br />
Consi<strong>de</strong>remos ahora el siguiente problema <strong>de</strong> apariencia similar al anterior:<br />
y ′′ = −y, y(0) = 3, y(π) = 7. (9.3)<br />
Si imponemos las condiciones <strong>de</strong> frontera a la solución general, obtenemos<br />
la contradicción <strong>de</strong> que C 2 = 7 y C 2 = −7. Por lo que el problema (9.3)<br />
no tiene solución. El asunto <strong>de</strong> la existencia <strong>de</strong> soluciones <strong>de</strong> (9.1) tien<strong>de</strong> a<br />
ser más complicado que para el caso <strong>de</strong> los PVIs. Mostremos a continuación<br />
otro ejemplo.<br />
Ejemplo. ([34, §12.1])<br />
Consi<strong>de</strong>remos el PVF siguiente<br />
−y ′′ (t) = f(t), t ∈ (0, 1), y(0) = y(1) = 0. (9.4)<br />
Del TFC sigue que si y ∈ C 2 [0, 1] y satisface la ecuación diferencial −y ′′ (t) =<br />
f(t), entonces<br />
y(t) = −<br />
∫ t<br />
0<br />
F (s)ds + C 1 t + C 2 ,<br />
don<strong>de</strong> C 1 y C 2 son constantes abitrarias y F (s) = ∫ s<br />
f(t)dt. Integrando por<br />
0<br />
partes tenemos que<br />
∫ t<br />
∫ F (s)ds = sF (s) ∣ t t<br />
∫ t<br />
− sF ′ (s)ds = (t − s)f(s)ds.<br />
0<br />
0<br />
0<br />
Ahora, es claro que <strong>de</strong> las condiciones <strong>de</strong> frontera sigue que C 2 = 0 y C 1 =<br />
(1 − s)f(s)ds. De manera que la solución <strong>de</strong> (9.4) se pue<strong>de</strong> expresar como<br />
∫ 1<br />
0<br />
o bien,<br />
y(t) =<br />
∫ 1<br />
0<br />
y(t) = t<br />
∫ 1<br />
0<br />
(1 − s)f(s)ds −<br />
G(t, s)f(s)ds, don<strong>de</strong> G(t, s) =<br />
∫ t<br />
0<br />
0<br />
(t − s)f(s)ds,<br />
{ s(1 − t) si s ∈ [0, t],<br />
t(1 − s) si s ∈ [t, 1],<br />
(9.5)
199<br />
para cualquier t fijo. La función G se <strong>de</strong>nomina función <strong>de</strong> Green para el<br />
PVF (9.4). Ésta es una función lineal a trozos <strong>de</strong> s para t fijo, y viceversa<br />
(¡verificar!). A<strong>de</strong>más, la función G es continua, simétrica 1 , nula en los puntos<br />
extremos <strong>de</strong>l intervalo [0, 1], no negativa y ∫ 1<br />
G(t, s)ds = t(1−t)/2. Por esta<br />
0<br />
razón po<strong>de</strong>mos concluir que para toda f ∈ C[0, 1] existe una única solución<br />
y ∈ C 2 [0, 1] <strong>de</strong>l PVF (9.4) que tiene la representación (9.5).<br />
Ejercicio 1.<br />
(a) Demostrar que si f ∈ C[0, 1] la solución <strong>de</strong> (9.4), dada por (9.5), tiene<br />
las propieda<strong>de</strong>s <strong>de</strong> monotonicidad y <strong>de</strong>l principio <strong>de</strong>l máximo 2 .<br />
(b) Demostrar que y(t) = −t ln(t) si f(t) = 1/t en (9.4). Esto muestra que<br />
y ∈ C 2 (0, 1), pero y(0) no está <strong>de</strong>finida y a<strong>de</strong>más y ′ , y ′′ no existen en<br />
t = 0 (lo que implica que si f ∈ C(0, 1), pero no a C[0, 1], entonces<br />
y /∈ C[0, 1]).<br />
El siguiente teorema nos dice algo más.<br />
Teorema 9.1 El PVF<br />
Ly ≡ y ′′ = f(t, y) y(0) = 0, y(1) = 0, (9.6)<br />
tiene solución única si f y es continua, no negativa y acotada en el conjunto<br />
F = {(t, y) ∈ R 2 : t ∈ [0, 1], y ∈ R}.<br />
Demostración: La <strong>de</strong>mostración se <strong>de</strong>sarrolla siguiendo un procedimiento<br />
similar, aunque más elaborado, al mostrado en el ejemplo anterior, don<strong>de</strong> se<br />
parte <strong>de</strong> la equivalencia entre una ecuación integral <strong>de</strong>finida en términos <strong>de</strong><br />
una función <strong>de</strong> Green para el operador L y el PVF (9.6). Para los <strong>de</strong>talles<br />
ver la referencia [28, §4.1]. ✷<br />
1 Esto es, G(t, s) = G(s, t) ∀t, s ∈ [0, 1].<br />
2 La primera propiedad dice que si f ∈ C[0, 1] es una función no negativa, entonces y<br />
también lo es. La segunda establece que si f ∈ C[0, 1], entonces ∥y∥ ∞ ≤ 1 8 ∥f∥ ∞, don<strong>de</strong><br />
∥y∥ ∞ = max t∈[0,1] |y(t)| es la norma <strong>de</strong>l máximo.
200<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
Ejercicio 2.<br />
Aplicar el teorema anterior para <strong>de</strong>mostrar que el PVF en dos puntos<br />
tiene una solución única.<br />
y ′′ = (5y + sen 3y)e t y(0) = y(1) = 0<br />
Consi<strong>de</strong>remos ahora el problema más general:<br />
Ejercicio 3.<br />
y ′′ (t) = f(t, y) y(a) = α, y(b) = β, (9.7)<br />
(a) Realizar el cambio <strong>de</strong> variable a<strong>de</strong>cuado para que los problemas (9.7)<br />
y<br />
x ′′ (s) = (b − a) 2 f(a + (b − a)s, x(s)), x(0) = α, x(1) = β, (9.8)<br />
sean equivalentes. Es <strong>de</strong>cir, <strong>de</strong>mostrar que si x es una solución <strong>de</strong><br />
(9.8), entonces la función y, <strong>de</strong>finida por y(t) = x((t − a)/(b − a))<br />
(a ≤ t ≤ b), es una solución <strong>de</strong> (9.7), y si y es una solución <strong>de</strong> (9.7),<br />
entonces la función x, <strong>de</strong>finida por x(s) = y(a + (b − a)s) (0 ≤ s ≤ 1),<br />
es una solución <strong>de</strong> (9.8).<br />
(b) Demostrar que los siguientes PVFs<br />
{ { y ′′ (t) = sen(ty) + y 2 , x ′′ (t) = 16{sen[(4s + 1)x] + x 2 },<br />
y(1) = 3, y(5) = 7, x(0) = 3, x(1) = 7,<br />
son equivalentes.<br />
Ejercicio 4.<br />
(a) Demostrar que los siguientes PVFs<br />
{ { y ′′ (t) = f(t, y),<br />
z ′′ (t) = f(t, z + α + (β − α)t),<br />
y(0) = α, y(1) = β, z(0) = 0, z(1) = 0,<br />
son equivalentes.<br />
(b) Demostrar que el PVF<br />
{ y ′′ (t) = [5y − 10t + 35 + sen(3y − 6t + 21)]e t ,<br />
y(0) = −7, y(1) = −5,<br />
tiene una solución única.
9.1.<br />
MÉTODO DEL DISPARO 201<br />
9.1 Método <strong>de</strong>l disparo<br />
El método <strong>de</strong>l disparo reemplaza un problema con valores en la frontera en<br />
dos puntos por una sucesión <strong>de</strong> problemas <strong>de</strong> valores iniciales cuyas soluciones<br />
convergen a la solución <strong>de</strong>l problema dado. De manera que la estrategia a<br />
seguir para abordar el PVF (9.1) es la <strong>de</strong> proponer un valor inicial y ′ (a) tal<br />
que el PVI asociado nos permita obtener una solución aproximada con la expectativa<br />
<strong>de</strong> que y(b) = β. Si este no fuera el caso, proponemos <strong>de</strong> nuevo otro<br />
valor para y ′ (a) y repetimos el proceso, el cual, por cierto, <strong>de</strong>nominaremos<br />
<strong>de</strong> disparo. Estudiemos algunas estrategias para hacer esto.<br />
Supongamos pues que el PVI asociado es<br />
y ′′<br />
γ = f(t, y γ , y ′ γ), y γ (a) = α, y ′ γ(a) = γ, (9.9)<br />
don<strong>de</strong> γ <strong>de</strong>nota el valor propuesto para y ′ (a). Si <strong>de</strong>notamos por y γ la solución<br />
<strong>de</strong> este problema, claramente, nuestro objetivo es el <strong>de</strong> escoger γ <strong>de</strong> manera<br />
que y γ (b) = β. Ahora bien, si consi<strong>de</strong>ramos la función ϕ, <strong>de</strong>finida por<br />
ϕ(γ) ≡ y γ (b) − β, (9.10)<br />
nuestro objetivo será entonces el <strong>de</strong> resolver para γ la ecuación, en general,<br />
no lineal ϕ(γ) = 0. Por lo que necesitamos <strong>de</strong> algún método numérico adicional<br />
para resover esta ecuación (e.g., un método tipo secante). El costo<br />
computacional involucrado será alto, ya que cada valor <strong>de</strong> ϕ(γ) lo obtenemos<br />
al resolver numéricamente un PVI.<br />
Supogamos que tenemos dos valores <strong>de</strong> ϕ, digamos ϕ(γ 1 ) y ϕ(γ 2 ), y que<br />
que ϕ es una función lineal. Entonces,<br />
( )<br />
ϕ(γ2 ) − ϕ(γ 1 )<br />
ϕ(γ) = ϕ(γ 2 ) +<br />
(γ − γ 2 ).<br />
γ 2 − γ 1<br />
Si escogemos γ 3 tal que ϕ(γ 3 ) = 0 (i.e., el punto <strong>de</strong> corte con el eje <strong>de</strong> las<br />
abscisas), entonces<br />
( )<br />
γ2 − γ 1<br />
γ 3 = γ 2 −<br />
ϕ(γ 2 ).<br />
ϕ(γ 2 ) − ϕ(γ 1 )<br />
Po<strong>de</strong>mos aplicar este mismo procedimiento a fin <strong>de</strong> obtener la sucesión<br />
{γ i } ∞ i=1 a partir <strong>de</strong><br />
( )<br />
γn − γ n−1<br />
γ n+1 = γ n −<br />
ϕ(γ n ) (n ≥ 1),<br />
ϕ(γ n ) − ϕ(γ n−1 )
202<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
que constituye el conocido método <strong>de</strong> la secante para ecuaciones no lineales<br />
(ver §4.5). Una estrategia adicional consiste en que <strong>de</strong>spués <strong>de</strong> que<br />
hayamos obtenido algunos valores <strong>de</strong> γ para los que ϕ(γ) ≈ 0, <strong>de</strong>tengamos<br />
el proceso y apliquemos interpolación polinomial a fin <strong>de</strong> obtener una mejor<br />
estimación ([29, §8.8]); sin embargo, el éxito <strong>de</strong> esta estrategia <strong>de</strong>pen<strong>de</strong> <strong>de</strong><br />
que la función inversa <strong>de</strong> ϕ sea diferenciable en una vecindad <strong>de</strong> la raíz y <strong>de</strong><br />
que ésta sea simple.<br />
Por supuesto que también po<strong>de</strong>mos aplicar aquí el método <strong>de</strong> Newton<br />
para ecuaciones no lineales (§4.4):<br />
γ n+1 = γ n − ϕ(γ n)<br />
, n = 0, 1, . . . (9.11)<br />
ϕ ′ (γ n )<br />
Ejercicio 5.<br />
A partir <strong>de</strong> <strong>de</strong>rivar parcialmente respecto a γ las ecuaciones en (9.9), <strong>de</strong>mostrar<br />
que obtenemos el PVI<br />
µ ′′ = f yγ (t, y γ , y ′ γ)µ + f y ′ γ<br />
(t, y γ , y ′ γ)µ ′ , µ(a) = 0, µ ′ (a) = 1, (9.12)<br />
don<strong>de</strong> µ = ∂y γ /∂γ. Al resolverlo, po<strong>de</strong>mos <strong>de</strong>terminar µ(b) = ∂y γ (b)/∂γ =<br />
ϕ ′ (γ), lo que nos permitirá aplicar el método <strong>de</strong> Newton para hallar una raíz<br />
<strong>de</strong> ϕ.<br />
Si γ 0 es una primera aproximación lo suficientemente buena, la sucesión<br />
{γ n } convergerá a la raíz <strong>de</strong> (9.10) que buscamos. Si hacemos γ = γ 0 los dos<br />
PVIs (9.9) y (9.12) se pue<strong>de</strong>n resolver por alguno <strong>de</strong> los métodos, el que más<br />
convenga, <strong>de</strong> los estudiados en el capítulo anterior. Del PVI (9.9) obtenemos<br />
y γ0 y <strong>de</strong> (9.10), ϕ(γ 0 ), mientras que <strong>de</strong> la solución <strong>de</strong>l PVI (9.12) obtenemos<br />
ϕ ′ (γ 0 ). De manera que, <strong>de</strong> (9.11), obtenemos un nuevo estimado γ 1 , y el<br />
proceso se repite.<br />
Ejercicio 6.<br />
Escribir un algoritmo para el método <strong>de</strong>l disparo usando el método <strong>de</strong> Newton.<br />
Resolver numéricamente el PVF<br />
y ′′ = −y + 2(y ′ ) 2 y −1 , t ∈ (−1, 1), y(−1) = y(1) = (e + e −1 ) −1 .<br />
La solución <strong>de</strong> este problema es y(t) = (e t + e −t ) −1 . Plantear y resolver<br />
numéricamente el PVI (9.9) para el método <strong>de</strong>l disparo (cuya solución <strong>de</strong>notaremos<br />
por yγ) ∗ y el PVI (9.12) usando el método <strong>de</strong> Runge-Kutta <strong>de</strong>
9.1.<br />
MÉTODO DEL DISPARO 203<br />
segundo or<strong>de</strong>n, con tamaño <strong>de</strong> paso h = 2/N y valores <strong>de</strong> N = 4, 8, 16, 32 y<br />
64. Usar como iterado inicial para el método <strong>de</strong> Newton γ 0 = 0.2 y como criterio<br />
<strong>de</strong> parada la condición |γ n+1 − γ n | < 10 −10 . Tabular los resultados con<br />
columnas para N, γ ∗ −γ r y E N ≡ max 0≤i≤N |y(t i )−yγ ∗ r(t i)|, don<strong>de</strong> γ ∗ <strong>de</strong>nota<br />
la raíz que buscamos, γ r es la raíz <strong>de</strong> la ecuación ϕ(γ) = yγ ∗ −(e+e −1 ) −1 = 0,<br />
los t i son los nodos usados en la resolución <strong>de</strong>l PVI y yγ ∗ es la solución <strong>de</strong>l<br />
r<br />
PVI cuando γ = γ r .<br />
El método <strong>de</strong>l disparo pue<strong>de</strong> ser, computacionalmente hablando, muy<br />
costoso. Sin embargo, en el caso <strong>de</strong> que la ecuación diferencial sea lineal el<br />
método <strong>de</strong> la secante proporciona la solución en un paso. En este caso el<br />
PVF en dos puntos será <strong>de</strong> la forma:<br />
y ′′ (t) = p(t)y ′ (t) + q(t)y(t) + r(t) y(a) = α, y(b) = β, (9.13)<br />
don<strong>de</strong> asumimos que las funciones p, q y r son continuas en [a, b]. Supongamos<br />
también que hemos resuelto los PVIs:<br />
y<br />
y ′′<br />
γ 1<br />
(t) = p(t)y ′ γ 1<br />
(t) + q(t)y γ1 (t) + r(t), y γ1 (a) = α, y ′ γ 1<br />
(a) = γ 1 ,<br />
y ′′<br />
γ 2<br />
(t) = p(t)y ′ γ 2<br />
(t) + q(t)y γ2 (t) + r(t), y γ2 (a) = α, y ′ γ 2<br />
(a) = γ 2 .<br />
Observemos que la combinación lineal <strong>de</strong> y γ1<br />
y y γ2<br />
y(t) = λy γ1 (t) + (1 − λ)y γ2 (t), (9.14)<br />
con λ ∈ R, es una solución <strong>de</strong> la ecuación diferencial y satisface la condición<br />
y(a) = α. Escojamos pues λ tal que y(b) = β. Esto es,<br />
De don<strong>de</strong>,<br />
β = λy γ1 (b) + (1 − λ)y γ2 (b).<br />
λ =<br />
β − y γ 2<br />
(b)<br />
y γ1 (b) − y γ2 (b) . (9.15)<br />
Si usamos un software <strong>de</strong> cómputo científico para resolver numéricamente<br />
el problema (9.13), po<strong>de</strong>mos tomar γ 1 = 0 y γ 2 = 1 en los dos PVIs anteriores,<br />
y para obtener y γ1 y y γ2 <strong>de</strong> manera simultánea, po<strong>de</strong>mos transformar estos
204<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
problemas <strong>de</strong> segundo or<strong>de</strong>n en un solo sistema <strong>de</strong> primer or<strong>de</strong>n. En efecto,<br />
si <strong>de</strong>finimos y 0 = t, y 3 = y γ ′ 1<br />
, y 4 = y γ ′ 2<br />
, obtendremos el siguiente sistema <strong>de</strong><br />
ecuaciones <strong>de</strong> valores iniciales:<br />
⎧<br />
y 0 ′ = 1 y 0 (a) = a,<br />
⎪⎨ y γ ′ 1<br />
= y 3 y γ1 (a) = α,<br />
y γ ′ 2<br />
= y 4 y γ2 (a) = α,<br />
y 3 ⎪⎩<br />
′ = f(y 0 , y γ1 , y 3 ) y 3 (a) = 0,<br />
y 4 ′ = f(y 0 , y γ2 , y 4 ) y 4 (a) = 1.<br />
A continuación, calculando λ mediante (9.15), obtenemos la solución y en<br />
cada valor <strong>de</strong> t usando (9.14).<br />
Ejercicio 7.<br />
Aplicar el método <strong>de</strong>l disparo para resolver numéricamente el PVF siguiente:<br />
y ′′ = −(t + 1)y ′ + (cos t)y + e t y(0) = 1, y(1) = 3.<br />
Utilizar el método clásico <strong>de</strong> Runge-Kutta <strong>de</strong> cuarto or<strong>de</strong>n con h = 0.01.<br />
Notemos que la solución <strong>de</strong>l problema (9.1) no lineal no se pue<strong>de</strong> expresar<br />
como una combinación lineal <strong>de</strong> las soluciones <strong>de</strong> dos problemas con valores<br />
iniciales como lo acabamos <strong>de</strong> hacer.<br />
Ejercicio 8.<br />
Demostrar que si resolvemos un PVF lineal en dos puntos con el método<br />
<strong>de</strong> Newton para ϕ, y calculamos ϕ ′ usando (9.12), el resultado <strong>de</strong>be ser el<br />
mismo que el que obtuvimos usando las ecuaciones (9.14) y (9.15).<br />
Los métodos <strong>de</strong> disparo se pue<strong>de</strong>n aplicar a problemas más generales<br />
que (9.1) [28]. Una importante dificultad con el método <strong>de</strong>l disparo es que el<br />
PVI asociado pueda presentar situaciones <strong>de</strong> inestabilidad, <strong>de</strong>bido por ejemplo<br />
a curvas solución que divergen en parte <strong>de</strong>l dominio; un hecho que crea<br />
una dificultad adicional para dar en el blanco <strong>de</strong>seado 3 . Una posible solución<br />
a este problema está dada por la aplicación <strong>de</strong>l <strong>de</strong>nominado método <strong>de</strong>l disparo<br />
múltiple, en el cual el intervalo [a, b] se divi<strong>de</strong> en subintervalos y se<br />
3 I.e., El PVI generado por el método <strong>de</strong>l disparo es con frecuencia inestable, en el<br />
sentido <strong>de</strong> ser muy sensible a perturbaciones en las condiciones iniciales.
9.2.<br />
MÉTODO DE LAS DIFERENCIAS FINITAS 205<br />
aplica el método <strong>de</strong>l disparo en cada uno <strong>de</strong> ellos. Se requiere a<strong>de</strong>más <strong>de</strong> la<br />
continuidad <strong>de</strong> y y y ′ en los puntos internos <strong>de</strong>l intervalo original, extremos<br />
<strong>de</strong> los subintervalos, lo que nos proporciona las condiciones <strong>de</strong> frontera necesarias<br />
para los subproblemas individuales. El sistema <strong>de</strong> ecuaciones que <strong>de</strong><br />
ello resulta se pue<strong>de</strong> resolver numéricamente usando, por ejemplo, el método<br />
<strong>de</strong> Newton. Otra dificultad, <strong>de</strong>rivada <strong>de</strong> usar el método <strong>de</strong> Newton, consiste<br />
en que no tenemos una estrategia general para escoger una estimación inicial<br />
γ 0 para la iteración <strong>de</strong> Newton, y con una mala elección, la iteración pue<strong>de</strong><br />
no converger.<br />
9.2 Método <strong>de</strong> las diferencias finitas<br />
Otra estrategia para abordar numéricamente un PVF en dos puntos consiste<br />
en la discretización <strong>de</strong>l intervalo <strong>de</strong> <strong>de</strong>finición <strong>de</strong> t, para luego aplicar fórmulas<br />
que estiman <strong>de</strong> manera aproximada las <strong>de</strong>rivadas. Por ejemplo,<br />
y<br />
y ′′ (t) =<br />
y ′ (t) =<br />
y(t + h) − y(t − h)<br />
2h<br />
− 1 6 h2 y ′′′ (ξ)<br />
y(t + h) − 2y(t) + y(t − h)<br />
h 2 − 1<br />
12 h2 y (4) (ζ)<br />
(ver §7.1).<br />
Consi<strong>de</strong>remos nuevamente el problema (9.1) y <strong>de</strong>finamos una partición<br />
<strong>de</strong>l intervalo [a, b] mediante el uso <strong>de</strong> los puntos t 0 , t 1 , . . . , t n , t n+1 ∈ [a, b], no<br />
necesariamente igualmente espaciados, <strong>de</strong> manera que a = t 0 < t 1 < . . . <<br />
t n < t n+1 = b. Suponemos pues que t i = a + ih, i = 0, 1, . . . , n + 1, y<br />
h = (b − a)/(n + 1). Así, la discretización <strong>de</strong> (9.1) es<br />
⎧<br />
⎨<br />
⎩<br />
y i+1 −2y i +y i−1<br />
h 2<br />
y 0 = α, y n+1 = β,<br />
= f ( t i , y i , y i+1−y i−1<br />
)<br />
2h , i = 1, . . . , n,<br />
(9.16)<br />
el cual representa un sistema <strong>de</strong> or<strong>de</strong>n n con y 1 , y 2 , . . . , y n como incógnitas.<br />
Si f <strong>de</strong>pen<strong>de</strong> <strong>de</strong> y i <strong>de</strong> una manera no lineal, entonces las ecuaciones serán<br />
no lineales y más difíciles <strong>de</strong> resolver. Si f es lineal en y y y ′ , entonces f es<br />
<strong>de</strong> la forma f(t, y, y ′ ) = p(t)y ′ (t) + q(t)y(t) + r(t). De manera que el sistema
206<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
anterior será ahora un sistema lineal <strong>de</strong> la forma<br />
⎧<br />
⎨ a i y i−1 + d i y i + c i y i+1 = b i , i = 1, . . . , n,<br />
⎩<br />
y 0 = α, y n+1 = β,<br />
don<strong>de</strong> a i = −1 − 1hp 2 i+1, d i = 2 + h 2 q i , c i = −1 + 1hp 2 i, b i = −h 2 r i , p i = p(t i ),<br />
q i = q(t i ) y r i = r(t i ), para i = 1, 2, . . . , n (¡verificar!). En notación matricial<br />
tenemos el sistema tridiagonal 4 siguiente:<br />
⎛<br />
⎞ ⎛<br />
d 1 c 1 0 . . . 0 0<br />
a 1 d 2 c 2 0 . .<br />
. 0 .. . .. . .. . .. .<br />
.<br />
⎜ . .. . .. . .. . .. 0<br />
⎟<br />
⎝ . . . . 0 a n−2 d n−1 c n−1<br />
⎠ ⎜<br />
⎝<br />
0 . . . . . . 0 a n−1 d n<br />
Observaciones:<br />
y 1<br />
y 2<br />
.<br />
.<br />
.<br />
y n−1<br />
y n<br />
⎞<br />
⎛<br />
=<br />
⎟ ⎜<br />
⎠ ⎝<br />
b 1 − a 1 α<br />
b 2<br />
.<br />
.<br />
.<br />
b n−1<br />
b n − c n β<br />
• Si h es lo suficientemente pequeño, los q i > 0 y | 1 2 hp i| < 1 (1 ≤ i ≤ n),<br />
entonces |d i | > |1 + 1 2 hp i| + |1 − 1 2 hp i| = 2. Por lo que la matriz <strong>de</strong>l<br />
sistema anterior es diagonal dominante y no singular.<br />
• Si p, q y r ∈ C[a, b] y q > 0, el PVF (9.1) con f lineal en y y y ′ , tiene<br />
solución única ([28, Cor. Th. 1.2.2]).<br />
Para el caso lineal, <strong>de</strong>mostraremos el siguiente resultado <strong>de</strong> convergencia.<br />
Teorema 9.2 Si y ∈ C 4 [a, b], para i = 1, 2, . . . , n, |e i | = |y(t i ) − y i | converge<br />
a 0 cuando h → 0.<br />
Demostración: Como para i = 1, 2, . . . , n,<br />
y(t i−1 ) − 2y(t i ) + y(t i+1 )<br />
h 2 − 1<br />
12 h2 y (4) (ζ i ) = r i + q i y(t i )<br />
+ p i<br />
[ y(ti+1 ) − y(t i−1 )<br />
2h<br />
⎞<br />
⎟<br />
⎠<br />
− 1 ]<br />
6 h2 y ′′′ (ξ i ) .<br />
4 Por lo que po<strong>de</strong>mos resolver el sistema usando, por ejemplo, un algoritmo <strong>de</strong> eliminación<br />
gaussiana que aproveche la estructura particular <strong>de</strong> la matriz.
9.2.<br />
MÉTODO DE LAS DIFERENCIAS FINITAS 207<br />
y<br />
y i−1 − 2y i + y<br />
[<br />
i+1<br />
yi+1 − y<br />
]<br />
i−1<br />
= r<br />
h 2<br />
i + q i y i + p i ,<br />
2h<br />
obtendremos, <strong>de</strong> sustraer la segunda ecuación <strong>de</strong> la primera, que<br />
e i−1 − 2e i + e i+1<br />
h 2<br />
[ ei+1 − e<br />
]<br />
i−1<br />
= q i e i + p i + h 2 u i ,<br />
2h<br />
don<strong>de</strong> u i = 1<br />
12 h2 y (4) (ζ i ) − 1 6 h2 y ′′′ (ξ i ). Agrupando términos encontramos que<br />
a i−1 e i−1 + d i e i + c i e i+1 = −h 4 u i<br />
(¡verificar!).<br />
De esta expresión sigue que |d i ||e i | ≤ |a i−1 ||e i−1 | + |c i ||e i+1 | + h 4 |u i |. Sea<br />
∥e∥ ∞ = max i=1,...,n |e i |. De manera que ∥e∥ ∞ (|d i | − |c i | − |a i−1 |) ≤ h 4 ∥u∥ ∞ ,<br />
don<strong>de</strong><br />
∥u∥ ∞ = max<br />
i=1,...,n |u i| ≤ ∥y(4) ∥ ∞<br />
12<br />
+ ∥y′′′ ∥ ∞<br />
.<br />
6<br />
De don<strong>de</strong> sigue, para h lo suficientemente pequeño, que h 2 q i ∥e∥ ∞ ≤ h 4 ∥u∥ ∞<br />
(¿por qué?). Así,<br />
[<br />
]<br />
∥e∥ ∞ ≤ h 2 ∥u∥ ∞<br />
.<br />
inf t∈[a,b] q(t)<br />
Por lo tanto, ∥e∥ ∞ es O(h 2 ) cuando h → 0 como queríamos ver. ✷<br />
Ejercicio 9.<br />
Aplicar el método <strong>de</strong> las diferencias finitas con h = 1/2 para resolver el PVF<br />
en dos puntos<br />
Calcular y 1 ≈ y(1/2).<br />
y ′′ (t) = −2y ′ (t) − 10t y(0) = 1, y(1) = 2.<br />
Ejercicio 10.<br />
Escribir un algoritmo para resolver numéricamente PVFs lineales en dos puntos<br />
usando el método <strong>de</strong> las diferencias finitas. Usar el algoritmo con n = 10<br />
y h = 0.1 para estimar la solución <strong>de</strong>l PVF<br />
y ′′ (t) = −2t −1 y ′ (t) + 2t −2 y(t) + t −2 sen(ln t), t ∈ (1, 2), y(1) = 1, y(2) = 2.
208<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
Comparar los resultados con los obtenidos al aplicar el método <strong>de</strong>l disparo<br />
al mismo problema, así como con la solución exacta<br />
y(t) = −(1/10) cos(ln t) − (3/10) sen(ln t) + C 2 t −2 + C 1 t,<br />
don<strong>de</strong> C 1 = (1/70)(−4 cos(ln 2) − 12sen(ln 2) + 8) y C 1 = (11/10) − C 2 .<br />
Ejercicio 11.<br />
Resolver numéricamente el PVF <strong>de</strong>l Ejercicio 6 usando el método <strong>de</strong> las diferencias<br />
finitas (9.16). Aquí E N ≡ max 0≤i≤N |y(t i ) − y N (t i )|, don<strong>de</strong> y N (t i ) es<br />
la solución <strong>de</strong> (9.16) que obtenemos al resolver el sistema no lineal asociado.<br />
Resolver este sistema no lineal usando el método <strong>de</strong> Newton, con valor inicial<br />
(e + e −1 ) −1 . En cada iteración <strong>de</strong> Newton estimar el máximo, respecto a i =<br />
1, 2, . . . , N, <strong>de</strong> la magnitud <strong>de</strong> la diferencia entre dos iteraciones consecutivas<br />
<strong>de</strong>l método. Terminar las iteraciones <strong>de</strong> Newton cuando este valor sea menor<br />
o igual a 10 −10 . Comparar con los resultados obtenidos en el Ejercicio 6.<br />
9.3 Métodos <strong>de</strong> proyecciones<br />
Hacemos aquí una adaptación, con algunos cambios, <strong>de</strong> las referencias [22]<br />
y [29]. En este capítulo buscaremos aproximar la solución <strong>de</strong> una ecuación<br />
diferencial mediante una combinación lineal finita <strong>de</strong> funciones conocidas.<br />
Estas funciones se suelen <strong>de</strong>nominar funciones base y tienen la propiedad<br />
<strong>de</strong> que son relativamente simples: polinomios, funciones trigonométricas y<br />
splines. La i<strong>de</strong>a fundamental consiste en consi<strong>de</strong>rar la solución como un<br />
elemento <strong>de</strong> un espacio funcional apropiado <strong>de</strong> dimensión infinita, y buscamos<br />
obtener una solución aproximada en un subespacio <strong>de</strong> dimensión finita<br />
<strong>de</strong>finido por las funciones base. La proyección <strong>de</strong> la solución sobre el subespacio<br />
<strong>de</strong> dimensión finita es la solución aproximada. Esta estrategia da<br />
lugar a una familia <strong>de</strong> métodos, algunos <strong>de</strong> los cuales se conocen como el<br />
método <strong>de</strong> colocación, el método <strong>de</strong> Galerkin, el método <strong>de</strong> Rayleigh-Ritz y<br />
el método <strong>de</strong> los elementos finitos.<br />
Consi<strong>de</strong>remos un operador diferencial lineal L y busquemos resolver la<br />
ecuación<br />
Ly = f, (9.17)<br />
don<strong>de</strong> suponemos que f se conoce, pero y no. Comenzamos por escoger un<br />
conjunto <strong>de</strong> funciones base {ϕ 1 , ϕ 2 , . . . , ϕ n }, y queremos resolver (9.17) con
9.3.<br />
MÉTODOS DE PROYECCIONES 209<br />
un elemento <strong>de</strong> la forma y = ∑ n<br />
j=1 c jϕ j . Como L es lineal,<br />
Ly =<br />
n∑<br />
c j Lϕ j = f.<br />
j=1<br />
Necesitamos especificar en qué sentido y(t) = ∑ n<br />
j=1 c jϕ j (t) es una solución<br />
aproximada; es <strong>de</strong>cir, ¿cuál es el criterio que usaremos para <strong>de</strong>terminar los coeficientes<br />
c j en esta combinación lineal? Existen algunas posibles estrategias;<br />
veremos aquí dos <strong>de</strong> ellas.<br />
9.3.1 Método <strong>de</strong> colocación<br />
En el método <strong>de</strong> colocación y, f y ϕ j son funciones con el mismo dominio.<br />
En particular, en n puntos dados t i (i = 1, 2, . . . , n),<br />
n∑<br />
c j (Lϕ j )(t i ) = f(t i ), (9.18)<br />
j=1<br />
el cual es un sistema <strong>de</strong> n ecuaciones lineales con n incógnitas (los c j ).<br />
Si las funciones ϕ j y los puntos t i son tales que la matriz <strong>de</strong>l sistema es<br />
no singular, entonces po<strong>de</strong>mos calcular <strong>de</strong> manera única los coeficientes c j<br />
(j = 1, 2, . . . , n).<br />
Ejemplo.<br />
Consi<strong>de</strong>remos el siguiente PVF <strong>de</strong> Sturm-Liouville:<br />
y ′′ + py ′ + qy = f, y(0) = y(1) = 0,<br />
don<strong>de</strong> las funciones conocidas p, q y f ∈ C[0.1]. En este caso,<br />
Ly ≡ y ′′ + py ′ + qy,<br />
y buscamos una solución en el espacio vectorial<br />
V = {y ∈ C 2 [0, 1] : y(0) = y(1) = 0}.<br />
De manera que si escogemos las funciones base en V, claramente, las condiciones<br />
homogéneas en la frontera se satisfacen. Un tal conjunto <strong>de</strong> funciones<br />
pue<strong>de</strong> ser aquél cuyos elementos son <strong>de</strong> la forma ϕ jk (t) = t j (1−t) k (j, k ≥ 1).
210<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
En este caso, es fácil obtener las funciones Lϕ jk . De manera que si escogemos<br />
n funciones <strong>de</strong> este conjunto y n puntos t i ∈ [0, 1], po<strong>de</strong>mos resolver el<br />
sistema <strong>de</strong> colocación (9.18) y obtener una solución aproximada <strong>de</strong> (9.17).<br />
Ejercicio 12.<br />
Aplicar el método <strong>de</strong> colocación al PVF<br />
y ′′ (t) + t 2 y(t) = t 3 , t ∈ [0, 1] y(0) = y(1) = 0,<br />
cuando las funciones base son, para j = 1, 2, . . . , n,<br />
(i) ϕ j (t) = senjπt, y (ii) ϕ j (t) = t j (1 − t),<br />
don<strong>de</strong> n = 3 y t i = i/3, i = 1, 2, 3.<br />
La matriz <strong>de</strong>l sistema (9.18) será, en general, <strong>de</strong>nsa. Por lo que <strong>de</strong>beríamos<br />
escoger las funciones base <strong>de</strong> manera tal que la matriz <strong>de</strong> coeficientes<br />
<strong>de</strong>l sistema (9.18) tenga una estructura <strong>de</strong> banda, con una banda<br />
lo más estrecha posible. Intentaremos pues que la matriz <strong>de</strong> coeficientes sea<br />
tridiagonal. Si suponemos que las funciones p y q no tienen propieda<strong>de</strong>s especiales,<br />
<strong>de</strong>bemos esperar que los ϕ j en (9.18) sean tales que ϕ ′′<br />
j (t i ) = ϕ ′ j(t i ) =<br />
ϕ j (t i ) = 0, para |i − j| > 1. En este sentido, las funciones base apropiadas<br />
a escoger serán los B-splines. En la sección § 6.4.2 <strong>de</strong>finimos las funciones<br />
splines (Definición 6.2) y tratamos brevemente los <strong>de</strong>nominados B-splines.<br />
Consi<strong>de</strong>remos el PVF<br />
Ly ≡ y ′′ + py ′ + qy = f y(a) = α, y(b) = β, (9.19)<br />
Como necesitamos que las funciones base pertenezcan a C 2 [a, b], nos basta<br />
consi<strong>de</strong>rar B-splines cúbicos Bi 3 , con nodos t i igualmente espaciados como<br />
puntos <strong>de</strong> colocación y h = t i+1 − t i . Si n es el número <strong>de</strong> funciones base a<br />
utilizar, <strong>de</strong>bemos hallar n coeficientes a partir <strong>de</strong> n condiciones. Dos <strong>de</strong> las<br />
mismas correspon<strong>de</strong>n a las condiciones <strong>de</strong> frontera. Éstas son:<br />
n∑<br />
c j ϕ j (a) = α<br />
j=1<br />
y<br />
n∑<br />
c j ϕ j (b) = β.<br />
j=1
9.3.<br />
MÉTODOS DE PROYECCIONES 211<br />
Figura 9.1: Método <strong>de</strong> colocación usando B-splines cúbicos.<br />
Por lo que restan n − 2 condiciones <strong>de</strong> colocación:<br />
n∑<br />
c j (Lϕ j )(t i ) = f(t i ), para i = 1, . . . , n − 2.<br />
j=1<br />
Así que t i = a + (i − 1)h (i ∈ Z), don<strong>de</strong> h = (b − a)/(n − 3). Los nodos <strong>de</strong><br />
colocación en [a, b] son a = t 1 , t 2 , . . ., t n−2 = b. Debemos tomar algunos nodos<br />
fuera <strong>de</strong>l intervalo [a, b] pues necesitamos consi<strong>de</strong>rar B-splines Bj 3 adicionales<br />
(¿por qué?). Éstos son aquellos que no son iguales a cero en el intervalo<br />
[a, b]: B−2, 3 B−1, 3 B0, 3 B1, 3 . . ., Bn−3. 3 (ver la Figura 9.1). Por lo tanto,<br />
para j = 1, 2, . . . , n, <strong>de</strong>finimos ϕ j = Bj−3. 3 Aprovechando el hecho <strong>de</strong> que<br />
los nodos son igualmente espaciados, po<strong>de</strong>mos <strong>de</strong>finir, convenientemente, un<br />
sólo B-spline, que llamaremos B 3 , para obtener las funcione ϕ j . Éste es:<br />
⎧<br />
⎪⎨<br />
B 3 (t) =<br />
⎪⎩<br />
(t+2) 3<br />
6<br />
si t ∈ [−2, −1]<br />
1+3(t+1)+3(t+1) 2 −3(t+1) 3<br />
6<br />
si t ∈ [−1, 0]<br />
1+3(1−t)+3(1−t) 2 −3(1−t) 3<br />
6<br />
si t ∈ [0, 1]<br />
(2−t) 3<br />
6<br />
si t ∈ [1, 2]<br />
0 <strong>de</strong> lo contrario.<br />
De don<strong>de</strong>,<br />
ϕ j (t) = B 3 ( t − a<br />
h − j + 2 )<br />
Ejercicio 13.<br />
Verificar la igualdad (9.20) y que B 3 es en efecto un B-spline cúbico.<br />
(9.20)
212<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
Ejercicio 14.<br />
Escribir un algoritmo que use el método <strong>de</strong> colocación para resolver el problema<br />
(9.19), con nodos igualmente espaciados en [a, b]. Construir una tabla<br />
con la solución aproximada y = ∑ n<br />
j=1 c jϕ j y el residual Ly − f evaluados en<br />
los puntos medios entre puntos <strong>de</strong> colocación consecutivos y en los puntos<br />
<strong>de</strong> colocación mismos. Usar un software <strong>de</strong> cómputo científico para resolver<br />
numéricamente el PVF<br />
y ′′ + (sent)y ′ + (t 2 + 2)y = e t−3 , y(2.6) = 7, y(5.1) = −3.<br />
Usar B-splines cúbicos, don<strong>de</strong> los puntos <strong>de</strong> colocación son los mismos nodos<br />
en [a, b].<br />
Se pue<strong>de</strong> <strong>de</strong>mostrar que si y es lo suficientemente diferenciable, el método<br />
<strong>de</strong> colocación, usando como funciones base los B-splines cúbicos, tiene un<br />
error <strong>de</strong> discretización O(h 2 ), el cual es el mismo que para el método <strong>de</strong><br />
las diferencias finitas estudiado en la sección § 9.2. Sin embargo, po<strong>de</strong>mos<br />
obtener una precisión mayor cuando usamos splines <strong>de</strong> mayor grado.<br />
9.3.2 Método <strong>de</strong> Galerkin<br />
El método <strong>de</strong> Galerkin se basa en el concepto <strong>de</strong> ortogonalidad <strong>de</strong> funciones<br />
5 . Mostraremos la i<strong>de</strong>a general <strong>de</strong>l método a través <strong>de</strong>l PVF lineal más<br />
simple:<br />
y ′′ (t) + q(t)y(t) = f(t), t ∈ [0, 1] y(0) = y(1) = 0. (9.21)<br />
Necesitaremos la función residual para y(t), la cual <strong>de</strong>finimos por<br />
r(t) = y ′′ (t) + q(t)y(t) − f(t), t ∈ [0, 1].<br />
Por supuesto que si y fuera la solución exacta <strong>de</strong> (9.21), entonces r ≡ 0,<br />
y el residual sería entonces ortogonal a toda función, y en particular sería<br />
ortogonal al conjunto <strong>de</strong> funciones base. Claramente, y no pue<strong>de</strong> ser la<br />
solución exacta, ya que hemos supuesto que y es una combinación lineal <strong>de</strong><br />
las funciones base. La estrategia <strong>de</strong> Galerkin consiste en escoger y tal que<br />
5 Recor<strong>de</strong>mos que dos funciones integrables f y g son ortogonales en el intervalo [0, 1]<br />
si ∫ 1<br />
f(t)g(t)dt = 0.<br />
0
9.3.<br />
MÉTODOS DE PROYECCIONES 213<br />
su residual sea ortogonal a las funciones base ϕ 1 , ϕ 2 , . . ., ϕ n . Esto es, para<br />
i = 1, 2, . . . , n,<br />
∫ 1<br />
0<br />
[y ′′ (t) + q(t)y(t) − f(t)]ϕ i (t)dt = 0.<br />
Si sustituimos y(t) = ∑ n<br />
j=1 c jϕ j (t) en la expresión anterior, obtenemos<br />
n∑<br />
∫ 1<br />
∫ 1<br />
c j [ϕ ′′<br />
j (t) + q(t)ϕ j (t)]ϕ i (t)dt = f(t)ϕ i (t)dt, i = 1, 2, . . . , n,<br />
j=1<br />
0<br />
el cual constituye un sistema <strong>de</strong> ecuaciones lineales, el cual po<strong>de</strong>mos resolver<br />
para los coeficientes c 1 , c 2 , . . . , c n .<br />
Observemos que al integrar por partes la primera integral <strong>de</strong>l lado izquierdo<br />
<strong>de</strong> la expresión anterior, obtenemos<br />
∫ 1<br />
∫<br />
ϕ ′′<br />
j (t)ϕ i (t)dt = ϕ ′ j(t)ϕ i (t) ∣ 1 1<br />
∫ 1<br />
− ϕ ′ j(t)ϕ ′ i(t)dt = − ϕ ′ j(t)ϕ ′ i(t)dt<br />
0<br />
0<br />
(¿por qué?). Así, el sistema anterior se pue<strong>de</strong> expresar como:<br />
n∑<br />
∫ 1<br />
c j [q(t)ϕ j (t)ϕ i (t) − ϕ ′ j(t)ϕ ′ i(t)]dt =<br />
j=1<br />
0<br />
0<br />
0<br />
∫ 1<br />
0<br />
0<br />
f(t)ϕ i (t)dt, i = 1, 2, . . . , n.<br />
Ejercicio 15.<br />
Repetir el Ejercicio 12, pero ahora usando el método <strong>de</strong> Galerkin.<br />
(9.22)<br />
Ejercicio 16.<br />
Escribir un algoritmo <strong>de</strong> propósito general que use el método <strong>de</strong> Galerkin<br />
para resolver el problema (9.21). Probar el algoritmo usando un software <strong>de</strong><br />
cómputo científico para resolver numéricamente el PVF <strong>de</strong>l Ejercicio 12.<br />
Ejercicio 17.<br />
Usar para el problema (9.21) las funciones base ϕ i = Bi 1 (i = 1, 2, . . . , n), con<br />
la red <strong>de</strong> nodos igualmente espaciados t i = ih, i = 0, 1, . . ., n + 1, y t n+1 = 1,<br />
las cuales <strong>de</strong>finimos por<br />
⎧<br />
⎪⎨<br />
ϕ i (t) =<br />
⎪⎩<br />
0 si t < t i−1 o t > t i+1<br />
t−t i−1<br />
h<br />
si t ∈ [t i−1 , t i )<br />
t i+1 −t<br />
h<br />
si t ∈ [t i , t i+1 )
214<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
Integrar sobre cada subintervalo para calcular los elementos <strong>de</strong>l sistema (9.22),<br />
percatándose <strong>de</strong> que las entradas <strong>de</strong> la matriz <strong>de</strong> coeficientes <strong>de</strong>l sistema son<br />
iguales a cero si |i − j| > 1. Expresar en forma matricial (mostrando los<br />
elementos <strong>de</strong> las matrices involucradas) el sistema <strong>de</strong> ecuaciones obtenido<br />
cuando q ≡ 0.<br />
Si la solución <strong>de</strong> (9.21) es lo suficientemente diferenciable, se pue<strong>de</strong> <strong>de</strong>mostrar<br />
que el método <strong>de</strong> Galerkin, usando B-splines lineales, tiene un error<br />
<strong>de</strong>l or<strong>de</strong>n <strong>de</strong> O(h 2 ). Y si hubiéramos usado B-splines cúbicos, el or<strong>de</strong>n <strong>de</strong><br />
precisión sería <strong>de</strong> O(h 4 ).<br />
Comparación entre los métodos <strong>de</strong> las diferencias finitas, colocación<br />
y Galerkin:<br />
• Cuando aplicamos el método <strong>de</strong> las diferencias finitas (§9.2) obtenemos<br />
una aproximación a la solución <strong>de</strong> la ecuación diferencial en una red <strong>de</strong><br />
puntos, mientras que en los métodos <strong>de</strong> colocación y Galerkin obtenemos<br />
los coeficientes <strong>de</strong> la representación y = ∑ n<br />
j=1 c jϕ j <strong>de</strong> la solución<br />
aproximada, don<strong>de</strong> el valor <strong>de</strong> la solución aproximada en cualquier<br />
punto t ′ en el intervalo se obtiene <strong>de</strong> la evaluación y(t ′ ) = ∑ n<br />
j=1 c jϕ j (t ′ ).<br />
Si bien, en el método <strong>de</strong> las diferencias finitas no necesitamos realizar<br />
un trabajo adicional para obtener la solución aproximada en la red<br />
<strong>de</strong> puntos, la misma está <strong>de</strong>finida, solamente, en esos puntos, y para<br />
obtener una aproximación en otros puntos <strong>de</strong>l intervalo necesitaríamos<br />
llevar a cabo un proceso <strong>de</strong> interpolación. En cambio, los métodos <strong>de</strong><br />
colocación y Galerkin, permiten obtener una solución aproximada en<br />
todo el intervalo.<br />
• Recor<strong>de</strong>mos que el SEL para el método <strong>de</strong> las diferencias finitas se obtuvo<br />
fácilmente y que la matriz <strong>de</strong> coeficientes es tridiagonal, por lo que<br />
el sistema se pue<strong>de</strong> resolver <strong>de</strong> una manera relativamente eficiente, con<br />
un número <strong>de</strong> operaciones aritméticas <strong>de</strong> ≈ n. Sin embargo, en el caso<br />
<strong>de</strong> los métodos <strong>de</strong> colocación y Galerkin, la matriz <strong>de</strong> coeficientes será,<br />
por lo general, <strong>de</strong>nsa. Lo cual implica que a<strong>de</strong>más <strong>de</strong> que necesitamos<br />
evaluar los n 2 elementos <strong>de</strong> la matriz, también el tiempo <strong>de</strong> cómputo<br />
será proporcional a n 3 . Por esta razón es que resulta más conveniente<br />
usar como funciones base, ϕ j , los B-splines cúbicos, los cuales, como
9.3.<br />
MÉTODOS DE PROYECCIONES 215<br />
hemos visto, son iguales a cero excepto en un subintervalo alre<strong>de</strong>dor <strong>de</strong><br />
t j , <strong>de</strong> manera que la matriz <strong>de</strong> coeficientes será tridiagonal.<br />
• El método <strong>de</strong> Galerkin requiere <strong>de</strong> la evaluación <strong>de</strong> integrales para<br />
po<strong>de</strong>r construir el sistema <strong>de</strong> ecuaciones como en (9.22), el cual, en<br />
general, requerirá <strong>de</strong> la aplicación <strong>de</strong> algún método <strong>de</strong> cuadratura<br />
numérica o <strong>de</strong> integración simbólica.<br />
• Los tres métodos anteriores tienen versiones <strong>de</strong> or<strong>de</strong>n mayor, por la<br />
que no hay una clara ventaja <strong>de</strong> un método respecto a los otros. Dado<br />
un problema particular, habría que realizar un análisis para ver cuál<br />
<strong>de</strong> los métodos pudiera ser el más conveniente utilizar. Sin embargo,<br />
para el caso <strong>de</strong> PVFs, los dos primeros métodos son probablemente los<br />
más fáciles <strong>de</strong> aplicar. El método <strong>de</strong> Galerkin tendrá mayor relevancia<br />
en el caso <strong>de</strong> que consi<strong>de</strong>remos problemas que involucren ecuaciones<br />
diferenciales parciales.<br />
Apéndice <strong>de</strong> §9.3<br />
Recor<strong>de</strong>mos primero que una función spline es un polinomio a trozos bajo<br />
ciertas condiciones <strong>de</strong> continuidad.<br />
Definición 9.1 Dados n + 1 puntos t 0 , t 1 , . . . , t n tales que a = t 0 < t 1 <<br />
. . . < t n = b y un entero r ≥ 0, una función spline <strong>de</strong> grado r con nodos<br />
t 0 , t 1 , . . . , t n es una función S que satisface las dos propieda<strong>de</strong>s siguientes:<br />
(i) En cada subintervalo [t i−1 , t i ), S es un polinomio, S i−1 , <strong>de</strong> grado ≤ r.<br />
(ii) S ∈ C r−1 [a, b].<br />
B-splines<br />
A partir <strong>de</strong> los <strong>de</strong>nominados B-splines po<strong>de</strong>mos obtener, mediante combinaciones<br />
lineales apropiadas, los <strong>de</strong>más splines, permitiéndonos <strong>de</strong>finir bases<br />
para <strong>de</strong>terminados espacios <strong>de</strong> funciones splines. Estas funciones muestran,<br />
en la práctica, un eficiente comportamiento numérico.<br />
Consi<strong>de</strong>remos un conjunto <strong>de</strong> nodos t i ∈ R tales que<br />
. . . < t −2 < t −1 < t 0 < t 1 < t 2 < . . .<br />
Denotemos por Bi<br />
k los B-splines <strong>de</strong> grado k, con i ∈ Z. Así, por ejemplo,<br />
{ 1 si<br />
Bi 0 ti ≤ x < t<br />
(x) =<br />
i+1<br />
0 <strong>de</strong> lo contrario
216<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA<br />
son los B-splines <strong>de</strong> grado 0, y <strong>de</strong>finen la sucesión {B 0 i } i∈Z con las siguientes<br />
propieda<strong>de</strong>s:<br />
(i) El soporte <strong>de</strong> B 0 i es el intervalo [t i , t i+1 ).<br />
(ii) B 0 i (x) ≥ 0 ∀i, x.<br />
(iii) B 0 i es continua por la <strong>de</strong>recha en todo R.<br />
(iv) ∑ ∞<br />
i=−∞ B0 i (x) = 1 ∀x (i.e., para una x ∈ R cualquiera, si x ∈ [t j .t j+1 ),<br />
entonces ∑ ∞<br />
i=−∞ B0 i (x) = Bj 0 (x) = 1).<br />
Observaciones:<br />
• Los B-splines son una base 6 para el conjunto <strong>de</strong> los splines <strong>de</strong> grado<br />
0, si suponemos que estos están <strong>de</strong>finidos en los nodos dados y son<br />
continuos por la <strong>de</strong>recha. En efecto, si S es un spline <strong>de</strong> grado 0,<br />
entonces S(x) = c i si x ∈ [t i , t i+1 ). Luego, S(x) = ∑ ∞<br />
i=−∞ c iB 0 i (x).<br />
• Las funciones B 0 i son el punto <strong>de</strong> partida para po<strong>de</strong>r <strong>de</strong>finir <strong>de</strong> manera<br />
recursiva los B-splines <strong>de</strong> or<strong>de</strong>n superior. Esto es<br />
B k i<br />
= Vi k B k−1<br />
i + (1 − Vi+1)B k k−1<br />
i+1 , (9.23)<br />
x−t i<br />
don<strong>de</strong> Vi k (x) =<br />
t i+k −t i<br />
. Como Vi k es una función lineal y Bi 0 es un<br />
polinomio a trozos <strong>de</strong> grado 0, entonces Bi<br />
1 es un polinomio a trozos<br />
<strong>de</strong> grado ≤ 1. En general, Bi k es un polinomio a trozos <strong>de</strong> grado ≤ k.<br />
Al aplicar la ecuación recursiva anterior po<strong>de</strong>mos ver que<br />
⎧<br />
⎪⎨<br />
0 si x < t i o x ≥ t i+2<br />
Bi 1 x−t i<br />
(x) = t i+1 −t i<br />
si x ∈ [t i , t i+1 )<br />
⎪⎩ t i+2 −x<br />
t i+2 −t i+1<br />
si x ∈ [t i+1 , t i+2 )<br />
En este caso, Bi<br />
1 tiene propieda<strong>de</strong>s similares a las dadas más arriba para<br />
Bi 0 (i.e., (i), (ii), (iii) y (iv)). Sin embargo, el soporte <strong>de</strong> Bi 1 ahora es el<br />
intervalo (t i , t i+2 ) y Bi 1 es continua y diferenciable en todo R excepto en t i ,<br />
6 I.e., todo vector en el espacio posee una única representación en términos <strong>de</strong> los elementos<br />
<strong>de</strong> la sucesión {B 0 i } i∈Z.
9.3.<br />
MÉTODOS DE PROYECCIONES 217<br />
t i+1 y t i+2 . En el caso <strong>de</strong> la propiedad (iv), para x ∈ R cualquiera, po<strong>de</strong>mos<br />
encontrar un índice j tal que x ∈ [t j , t j+1 ). Así que B 1 i (x) = 0 ∀i con la<br />
posible excepción <strong>de</strong> i = j o i = j − 1; por lo que, para este valor <strong>de</strong> x,<br />
∑ ∞<br />
i=−∞ B1 i (x) = B 1 j−1(x) + B 1 j (x) = 1 (¡verificar!).<br />
Ejercicio.<br />
Demostrar las siguientes propieda<strong>de</strong>s <strong>de</strong> los Bi k , con i ∈ Z y k ∈ N:<br />
(a) Si k ≥ 1 y x /∈ (t i , t i+k+1 ), entonces Bi k (x) = 0.<br />
(b) Si k ≥ 0 y x ∈ (t i , t i+k+1 ), entonces Bi k (x) > 0.<br />
(c) ∑ ∞<br />
i=−∞ c iBi<br />
k<br />
(d) ∀k ∑ ∞<br />
= ∑ ∞<br />
i=−∞ [c iVi<br />
k<br />
i=−∞ Bk i (x) = 1.<br />
(e) Para k ≥ 1, los Bi<br />
k ∈ C k−1 (R).<br />
+ c i−1 (1 − V k<br />
i )]B k−1<br />
i .<br />
Asimismo, po<strong>de</strong>mos usar los B-splines Bi<br />
k<br />
<strong>de</strong> los splines <strong>de</strong> grado k.<br />
como una base para el espacio
218<br />
CAPÍTULO 9. PROBLEMAS CON VALORES EN LA FRONTERA
Referencias<br />
[1] M. ABRAMOWITZ and I.A. STEGUN (eds). Handbook of Mathematical<br />
Functions with Formulas, Graphs, and Mathematical Tables. National<br />
Bureau and Standards, U.S. Government Printing Office, Washington,<br />
D.C., 1964.<br />
[2] K.E. ATKINSON. An Introduction to Numerical Analysis, Second Edition.<br />
John Wiley, N.Y., 1989.<br />
[3] G. BIRKHOFF and G.C. ROTA. Ordinary Differential Equations, Third<br />
Edition. John Wiley and Sons, Inc., New York, 1978.<br />
[4] A. CALLEJO, J. GARCIA <strong>de</strong> JALON, and A.F. HIDALGO. Diferenciación<br />
automática <strong>de</strong> fuerzas en la integración implícita <strong>de</strong> sistemas<br />
multicuerpo. In Actas <strong>de</strong>l XVIII Congreso Nacional <strong>de</strong> Ingeniería<br />
Mecánica, pages 1–10, Ciudad Real, Universidad <strong>de</strong> Castilla La Mancha,<br />
2010. Asociación Española <strong>de</strong> Ingeniería Mecánica.<br />
[5] W. CHENEY and D. KINCAID. Numerical Mathematics and Computing,<br />
Sixth Edition. Brooks/Cole Publishing Company, Pacific Grove,<br />
2008.<br />
[6] S.D. CONTE and C. DE BOOR. Elementary Numerical Analysis: An<br />
Algorithmic Approach, Third Edition. McGraw-Hill, New York, 1980.<br />
[7] J.W. COOLEY and J.W. TUKEY. An Algorithm for the Machine<br />
Calculation of Complex Fourier Series. Math. Comput., 19(2):297–301,<br />
1965.<br />
[8] G. DAHLQUIST and A. BJORCK. Numerical Methods. Prentice-Hall,<br />
Inc., Englewood Cliffs, N.J., 1974.<br />
219
220 REFERENCIAS<br />
[9] P. DAVIS. Interpolation and Approximation. Ginn (Blais<strong>de</strong>ll), Massachusetts,<br />
1963.<br />
[10] T.A. DAVIS and K. SIGMON. MATLAB Primer, Seventh Edition.<br />
CHAPMAN & HALL/CRC, Boca Raton, 2005.<br />
[11] J. DENNIS and R. SCHNABEL. Numerical Methods for Unconstrained<br />
Optimization and Nonlinear Equations. Prentice-Hall, Inc., Englewood<br />
Cliffs, New York, 1983.<br />
[12] R. ESCALANTE. Notas sobre la Función Generalizada <strong>de</strong> Airy. Technical<br />
Report RT 04-2000, Dpto. <strong>de</strong> Computación, Universidad Central<br />
<strong>de</strong> Venezuela, Caracas, Venezuela, 2000.<br />
[13] R. ESCALANTE and M. RAYDAN. Dykstra’s algorithm for a constrained<br />
least-squares matrix problem. Num. Linear Algebra Appl.,<br />
3(6):459–471, 1996.<br />
[14] R. ESCALANTE and M. RAYDAN. Dykstra’s algorithm for constrained<br />
least-squares rectangular matrix problems. Computers Math. Applic.,<br />
35(6):73–79, 1998.<br />
[15] R. ESCALANTE and M. VILLASANA. Curso introductorio <strong>de</strong> MAT-<br />
LAB, Segunda Edición. Editorial Equinoccio, Universidad Simón<br />
Bolívar, Caracas, 2012.<br />
[16] D.E. ETTER. Engineering Problem Solving with MATLAB, Second Edition.<br />
Prentice-Hall. Inc., N.J., 1997.<br />
[17] L.V. FAUSETT. Applied Numerical Analysis Using MATLAB, Second<br />
Edition. Prentice-Hall. Inc., N.J., 1999.<br />
[18] G.E. FORSYTHE, M.A. MALCOLM, and C.B. MOLER. Computer<br />
Methods for Mathematical Computations. Prentice-Hall. Inc., N.J., 1977.<br />
[19] W. GAUTSCHI. Numerical Analysis, Second Edition. Birkhäuser,<br />
Boston, MA, 2012.<br />
[20] H.H. GOLDSTINE. A History of Numerical Analysis from the 16th<br />
Through the 19th Century. Springer-Verlag, Berlin, Hei<strong>de</strong>lberg, and<br />
New York, 1977.
REFERENCIAS 221<br />
[21] G.H. GOLUB and C.F. VAN LOAN. Matrix Computations, Third Edition.<br />
The Johns Hopkins University Press, Baltimore, 1996.<br />
[22] G.H. GOLUB and J.M. ORTEGA. Scientific Computing and Differential<br />
Equations, An Introduction to Numerical Methods. Aca<strong>de</strong>mic Press,<br />
San Diego, California, 1992.<br />
[23] S.I. GROSSMAN. Elementary Linear Algebra with Applications, Fifth<br />
Edition. Saun<strong>de</strong>rs College Publishing, 1994.<br />
[24] M.T. HEATH. Scientific Computing, An Introductory Survey, Second<br />
Edition. McGraw-Hill, New York, 2002.<br />
[25] D.J. HIGHAM and N.J. HIGHAM. MATLAB Gui<strong>de</strong>, Second Edition.<br />
Society for Industrial and Applied Mathematics, Phila<strong>de</strong>lphia, 2005.<br />
[26] THE MATHWORKS INC. Mathematics, Version 7. Disponible en<br />
http://www.mathworks.com/access/help<strong>de</strong>sk/help/techdoc/matlab.html,<br />
3251Kb (pdf), Natick, 2005.<br />
[27] E. ISAACSON and H. KELLER. Analysis of Numerical Methods. Wiley,<br />
New York, 1966.<br />
[28] H.B. KELLER. Numerical Methods for Two-Point Boundary-Value<br />
Problems. Blais<strong>de</strong>l Publishing Company, Waltham, Massachusetts,<br />
1968.<br />
[29] D. KINCAID and W. CHENEY. Numerical Analysis: Mathematics of<br />
Scientific Computing, Third Edition. Brooks/Cole Publishing Company,<br />
Pacific Grove, 2002.<br />
[30] C.F. VAN LOAN. Introduction to Scientific Computing - A Matrix-<br />
Vector Approach Using MATLAB, 2nd. Edition. Prentice-Hall, Inc.,<br />
N.J., 2000.<br />
[31] S. NAKAMURA. Numerical Analysis and Graphic Visualization with<br />
MATLAB. Prentice-Hall, Inc., N.J., 1996.<br />
[32] J.M. ORTEGA. Numerical Analysis, A Second Course. Aca<strong>de</strong>mic Press,<br />
Nueva York, 1972.
222 REFERENCIAS<br />
[33] J.C. POLKING and D. ARNOLD. Ordinary Differential Equations using<br />
MATLAB, Second Edition. Prentice-Hall, N.J., 1999.<br />
[34] A. QUARTERONI, R. SACCO, and F. SALERI. Numerical Mathematics,<br />
Second Edition. Springer-Verlag, Berlin Hei<strong>de</strong>lberg, 2007.<br />
[35] J. STOER and R. BULIRSCH. Introduction to Numerical Analysis,<br />
Third Edition. Springer-Verlag, New York, 2002.<br />
[36] E. SÜLI and D.F. MAYERS. An Introduction to Numerical Analysis.<br />
Cambridge University Press, Cambridge, 2003.