Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE AREQUIPA
ESCUELA DE POSGRADO
AREQUIPA – PERÚ
2017
I
Dedicatoria
A MI ESPOSA E HIJOS
Por su paciencia amor y cariño y
su constante aliento a seguir y
persistir en mis objetivos
trazados que me estimularon
para la ejecución de la tesis. A
ellos mi cariño in finito.
A MIS PADRES
Mi reconocimiento por el apoyo
constante, a Papá Vicente que desde
el cielo me guía, me cuida mis pasos
y a mamá Josefina quienes supieron
brindarme una formación profesional.
II
PROPUESTA DIDÁCTICA Y CONOCIMIENTO DE UN MÉTODO
ESPECTRAL (método de Chebyshev), EN LA ESPECIALIDAD DE
MATEMÁTICA
Introducción
En los últimos años, los micro ordenadores son muy potentes, en cuanto a rapidez,
intención de cálculos y modos gráficos, por otro lado el software en líneas de desarrollo
matemático, también se ha desarrollado en gran medida en forma numérica y simbólica,
como es así el MatLab, Mathematica, Maple y otros, que hoy por hoy facilitan los cálculos
al menos para la enseñanza.
Los métodos espectrales vienen de tres grandes tecnologías para la solución numérica de
EDPs (PDEs) estas entraron aproximadamente en décadas sucesivas:
Aunque naturalmente, los orígenes de cada tecnología de arriba pueden remontarse más
atrás. Para los métodos espectrales, algunas de las ideas son tan viejos como la
interpolación y expansión, y más específicamente los desarrollos algorítmicos ya llegaron
con Lanczos en 1938 (Trefethen, 2007) y con Clenshaw, Elliott, Fox y otros en los años
sesenta.
Entonces, en los años setenta, una transformación de campo tuvo lugar y otros en los
problemas en dinámicas de fluidos y de meteorología y los métodos espectrales se hicieron
famosos. Tres hitos de la literatura de los métodos espectral moderna fueron el pequeño
libro por Gottlieb y Orszag c.p. Trefethen, el estudio por Gottlieb, Hussaini y Orszag y la
monografía por Canuto, Hussaini, Quarteroni y Zang (Trefethen).
Otros libros han contribuido desde entonces como Mercier, Boyd (2000), Funaro, Bernardi
y Maday, Fornberg y Karniadakis y Sherwin c.p. Trefethen, (2007).
III
Si uno quiere resolver una EDO (ODE) o EDP (PDE) con gran exactitud en un dominio
simple, y si los datos que definen el problema son lisos, entonces los métodos espectrales
normalmente son la mejor herramienta. Pueden lograr a menudo diez dígitos de exactitud
donde una diferencia finita o el método de elementos finitos conseguirían dos o tres. A las
más bajo exactitudes, exigen menos memoria de la computadora que las alternativas.
Desde esta perspectiva nuestro trabajo, apunta a dar un enfoque didáctico para la enseñanza
de un cálculo no convencional, o sea los métodos espectrales, tratando que sea al menos
asequible a los estudiantes de matemática, y la maestría y a cualquier otro que le interese
conocer el tema desde el punto de vista como “con manzanitas” . . .
Los métodos Espectrales han resultado muy útiles para la resolución de ecuaciones
diferenciales en diferentes áreas del conocimiento como se dijo arriba. Entre estos campos,
se destaca su aplicación en la dinámica de fluidos, en donde usando este tipo de métodos
numéricos se estudia la turbulencia, la predicción del clima, dinámica del océano, etcétera.
En ciertas situaciones, la solución con este método aproxima a la solución de la ecuación
diferencial con gran precisión y con un alto grado de convergencia. “En el caso de
funciones analíticas, el error típicamente decae con una razón exponencial”. “Los métodos
Espectrales buscan las soluciones de una ecuación diferencial en términos de una serie de
funciones ortogonales”. Existen tres tipos fundamentales de métodos Espectrales: Galerkin,
Tau y de colocación (Gomes de la Garza, (2004)).
En el presente trabajo seremos muy específicos, pues solo nos centraremos en los métodos
de colocación y polinomios y series de Chebyshev.
En el primer capítulo trataremos lo referente a los problemas de los polinomios de
aproximación, como son el de Taylor, Lagrange y los mínimos cuadrados y los polinomios
de Newton, que se requieren para tener un cabal entendimiento de los polinomios de
Chebyshev y los métodos espectrales.
Para llevar acabo todo lo antedicho nos planteamos los siguientes objetivos:
IV
Objetivo general:
Específicos:
Establecer: los temas referido a los métodos que afectan el conocimiento que
permiten la mejor asequibilidad a la teoría y método de polinomios y series de
Chebyshev y sus desarrollos sobre los métodos numéricos para las aplicaciones
elementales a las EDO y EDP; que aporten al resolver situaciones desconocidas
para ese instante.
Tratar de construir una nueva alternativa que permita a los lectores afrontar la
teoría espectral de forma plástica, interpretativa y de aplicabilidad con la
temática y los ejemplos propuestos en este trabajo ante hechos que deben ser
entendidos y aplicados en los métodos espectrales desde el punto de vista de
Chebyshev.
V
Para finalizar nos cabe un magno agradecimiento a nuestra Alma Mater la Universidad
Nacional de San Agustín a quien nos debemos. También va nuestro profundo
agradecimiento a la Maestría en Matemática quien nos dio la oportunidad de habernos
especializando en la Maestría en matemática
VI
Índice
Introducción
Capítulo 1 1
INTERPOLACIÓN POLINOMIAL Y AJUSTE POLINOMIAL 1
1.1 Introducción 1
1.2 El Caso de Taylor 3
Primer Problema: 5
Segundo Problema: 5
1.3 Interpolación Polinomial 6
1.3.2 Forma de Lagrange del polinomio interpolante 7
Caso particular: 9
1.4 Forma de Newton del polinomio interpolante [forma parabólica] 13
1.4.4 Primer y segundo polinomios interpoladores de Newton 18
Capítulo 2. 21
El Problema de los Polinomios de Chebyshev 21
2.1 Aproximaciones Discretas por Mínimos Cuadrados 21
2.2 Aproximaciones por Mínimos Cuadrados 23
2.3 Polinomios Ortogonales y aproximación por Mínimos Cuadrados 24
2.4 Polinomios de Chebyshev y Economización de Series de Potencias 31
2.5 Disminución del grado de otros polinomios 38
2.6 Series de Chebyshev 40
2.7 Aproximación Mediante la Función Racional 42
2.8 Mejora de Aproximaciones de Funciones Racionales por Chebyshev 43
Capítulo 3 46
3.1 Procedimiento de Colocación 46
Capítulo 4 56
4.1. Matrices de Diferenciación 56
4.2. Suavidad y la exactitud espectral 65
4.3 Polinomios de Interpolación y Agrupaciones de Rejillas 65
VII
4.4 Matrices de diferenciación de Chebyshev 73
4.5. Problemas con valor en la frontera 78
4.5.1 El Caso Lineal 78
4.5.2 El caso no lineal 82
4.6 Más sobre las condiciones de frontera 84
4.6.2 Un Caso No Lineal de dos dimensiones 86
Conclusiones 90
Bibliografía 92
Apéndice 94
VIII
Abstract
The present work we study the spectral methods and constructed a didactic system,
accessible to all students who do not have that knowledge, was released the best
presentations and armed polynomials as the Newton polynomials, and the polynomials of
Minimum squares to finish dealing with orthogonal polynomials such as that of Chebyshev,
we show its application to the economization of series in high precision. Then we explain
how to apply spectral theory in a didactic way to solving problems of ordinary and partial
differential equations.
Resumen
En el presente trabajo se estudio los métodos espectrales y se construyo un sistema
didáctico, asequible a todos los estudiantes que no tiene ese conocimiento, se dio a conocer
las mejores presentaciones y armado de los polinomios como los polinomios de Newton, y
los polinomios de mínimo cuadrados para terminar tratando los polinomios ortogonales
como es el de Chebyshev, mostramos su aplicación a la economización de series en alta
precisión. Después explicamos como aplicar la teoría espectral en forma didáctica a la
solución de problemas de ecuaciones diferenciales ordinarias y parciales.
Palabras claves:
Polinomios, polinomios ortogonales, polinomios de Chebyshev, colocación, matrices de
diferenciación, exactitud espectral, matriz derivación.
IX
Capítulo 1
1.1 Introducción
En los últimos años, los métodos espectrales han ofrecido una opción para la solución de
ecuaciones diferenciales de manera numérica, sumándose a los métodos de elemento finito
y diferencias finitas, los cuales han sido ampliamente explotados en el área de la ingeniería.
Los métodos espectrales se diferencian de estos métodos, en que utilizan un sólo polinomio
interpolante de grado superior para todo el dominio del problema. Es parte de los métodos
semiespectrales la definición de los puntos de colocación para los cuales el error se
minimiza y se logre convergencia hacia la solución del problema. Una gran ventaja que
ofrecen los métodos de colocación semiespectral es su convergencia y que el error
semiespectral es O[(1/N)N] (Boyd 2000, p.8).
Los métodos de la diferencias finitas aproximan la función desconocida u(x) por una
sucesión de polinomios solapados que interpolan a u(x) a un conjunto de puntos de la
rejilla. La derivada de la interpolación local se usa para aproximar la derivada de u(x). El
resultado toma la forma de una suma pesada de los valores de u(x) a los puntos de la
interpolación (Boyd 2000, p.6).
Figura 1.1
Si es cierto, los inconvenientes de los métodos espectrales son tres. Primero, ellos son
normalmente más difíciles de programar que los algoritmos de diferencias finitas. Segundo,
son más costosos por los grados de libertad que los procedimientos requieren, que los de
diferencias finitas. Tercero, los algoritmos espectrales en los dominios irregulares acarrean
más pérdidas de exactitud y eficacia, que en las alternativas de bajo orden. Durante los
últimos veinticinco años, sin embargo, los modeladores numéricos se han ganado el
“derecho” de la manera de llevar a cabo los métodos pseudos espectrales para minimizar
estos inconvenientes (Boyd 2000, p.6).
1
En el mercado se encuentran presentes diferentes paquetes o programas que hacen cálculo
simbólico y numérico, Mathematica y MatLab son algunos de ellos. En la actualidad una
buena parte de la literatura relacionada a la implementación de algoritmos para la solución
de ecuaciones diferenciales de forma numérica se refiere a MatLab (Trefethen (2000)), de
forma paralela el uso de Mathematica en la comunidad científica es importante. Se
reportaba que aproximadamente el 75% de los usuarios de Mathematica y MatLab
pertenecen a las áreas de Ingeniería, Física y Matemáticas (sitio web: http://www.wolfram.
com/products/mathematica/introduction.html)(Gómez de la Garza, 2004).
En los últimos años, los métodos Espectrales han resultado muy útiles para la resolución de
ecuaciones diferenciales en diferentes áreas del conocimiento. Entre estos campos, se
destaca su aplicación en la dinámica de fluidos, en donde usando este tipo de métodos
numéricos se estudia la turbulencia, la predicción del clima, dinámica del océano, etcétera.
En ciertas situaciones, la solución con este método aproxima a la solución de la ecuación
diferencial con gran precisión y con un alto grado de convergencia. En el caso de funciones
analíticas, el error típicamente decae con una razón exponencial (Fornberg, 1998, p.2 c.p.
Gómez de la Garza). Los métodos Espectrales buscan las soluciones de una ecuación
diferencial en términos de una serie de funciones ortogonales. Existen tres tipos
fundamentales de métodos Espectrales: Galerkin, Tau y de colocación (Gómez de la Garza,
C. (2004)).
2
En esta exposición se ve que una serie tiene ese efecto pero es de espectro continuo.
Veamos otra presentación por el método de coeficientes indeterminados
y = a0 + (t − t0 )a1 + (t − t0 ) 2 a2 + (t − t0 )3 a3 + ...
Para nuestro caso t0=0, entonces tenemos
∞ ∞
2
y = a0 + ta1 + t a2 + t a3 + ... = 3
∑ k
ak t ; y' = ∑ k ak t k − 1 .
k= 0 k= 0
Reemplazando en la ecuación diferencial tenemos: y'=y–4t+3
∞ ∞
∑ k ak t k − 1 − ∑ ak t k = − 4t + 3 ,
k= 0 k= 0
Haciendo equivalentes los índices y superíndices nos queda:
∞ ∞
∑ k ak t k − 1 − ∑ ak − 1t k − 1 = − 4t + 3
k= 0 k= 1
para: k=0, 0⋅(a0)=0; entonces a0 es libre o arbitrario.
k=1, 1⋅a1 – a0 = 3, entonces a1 = a0 + 3
para k=2, 2⋅a2 –a1 = –4, donde a2 = (a1 – 4)/2 = (a0 – 1)/2
para k=3, 3⋅a3 –a2 = 0, donde a3 = a2 /3 = (a0 – 1)/(2⋅3) = (a0 – 1)/(3 !)
para k=p, p⋅ap –ap–1 = 0, donde ap = [ap–1/(p–1)!]/p = (a0 – 1)/(p !)
Reemplazando,
( a0 − 1)t 2 (a0 − 1)t 3 (a0 − 1)t 4 ( a0 − 1)t n
y = a0 + ( a0 + 3)t + + + + ... + + ...
2! 3! 4! n!
pero con a0=3 tenemos:
t2 t3 t4 tn
y = 1 + 4t + 2(1 + t + + + + ... + + ...)
2 ! 3! 4 ! n!
Que se sigue igual que antes (Sangiacomo y Antoine, (2004) p.35).
3
f ( k + 1) (q ( x))
E= Máx | ( x − x0 ) k + 1 | , q(x)∈{|x–x0|≤r}
| x − x 0 |≤ r (k + 1) !
De otro lado se debe tener en cuenta los desarrollos de Maclaurin de estos problemas
rápidamente se pueden cambiar de radio, con un cambio de variable.
Ilustrando este caso. Digamos que f(x) = ex, con x0=0 y que nuestro intervalo es [0, 2] y error
de tolerancia (pedido) de 0.02, con a lo más grado 5. Para ello notamos que el término de
grado 7 es de error (e2⋅27/5040)= 0.19 no cumple con el requerimiento. Necesitamos
entonces, para que el desarrollo sea de resultados más uniformes en cuanto al error. Usemos
el cambio x=[(b–a)v +(b+a)]/2 aquí tenemos x=v+1, v∈[–1, 1] (este cambio hace que el
radio sea 1). En el desarrollo1 de f(x) = ex.
x2 x3 x4 x5 x6 x7 xp
ex = 1+ x + 2
+ 6
+ 24
+ 120
+ 720
+ 5040
+ ... + p!
+ ...
x2 x3 x4 x5 x6
ex = 1+ x + 2
+ 6
+ 24
+ 120
+ 720
+ ...
2
Si usamos x=v+1, nos queda
( v + 1) 2 ( v + 1) 3 ( v + 1) 4 ( v + 1) 5 ( v + 1) 6
ev + 1 = 1 + v + 1 + 2
+ 6
+ 24
+ 120
+ 720
... v∈[–1, 1]
e 2 (17 )
En donde el error ya es menor que el anterior pues 0.19 ≥ 0.02 ≥ = 0.0015 .
5040
Desarrollando los binomios y haciendo operaciones tenemos:
65v 2 4v 3 5v 4 v5 v6
ev + 1 = 1957
720
+ 163v
60
+ 48
+ 9
+ 48
+ 60
+ 720
... v∈[–1, 1].
Estos polinomios así como están dan los mismos valores ex = ev+1 claro está en sus
respectivos dominios de definición, veamos para un grado 6:
x Taylor ex v ev+1
0.00 1.00000 1.00000 -1.00000 1.00000
0.50 1.64872 1.64872 -0.50000 1.64872
1.00 2.71806 2.71828 0.00000 2.71806
2.00 7.35556 7.38906 1.00000 7.35556
Tabla 1.1
Nos dirán que no pasa nada, pues los resultados son exactamente iguales. Como contra
parte hablemos aquí de la utilidad, entonces si por ejemplo queremos reducir el grado a 5 o
a 4. Veamos directamente esto, empezando con la diferencia para el grado 5:
x2 x3 x4 x5
ex = 1+ x + 2
+ 6
+ 24
+ 120
+ ...
65v 2 4v 3 5v 4 v5
ev + 1 = 1957
720
+ 163v
60
+ 48
+ 9
+ 48
+ 60
... v∈[–1, 1].
1
Para mayor información sobre el desarrollo de Taylor vea Burden y Faires 1985 p.11, Nakamura, 1992.
2
Al hacer esta operación estamos haciendo algo muy parecido a lo que hace el polinomio de Chebyshev, o sea
centrar el problema (o lo condensa en el centro del dominio de definición) y tener un radio más pequeño ello
elimina las oscilaciones de los polinomios de interpolación.
4
Tabla 1.2
Nótese que es significativo y ahorramos el grado del polinomio, además el error esta mejor
distribuido en el intervalo (en un 28% mejor). Si por ejemplo exageramos y queremos
reducir aun más el grado a 4, veamos ahora la diferencia
x2 x3 x4
ex = 1+ x + 2
+ 6
+ 24
+ ... , Maclaurin
65v 2 4v 3 5v 4
ev + 1 = 1957
720
+ 163v
60
+ 48
+ 9
+ 48
... , v∈[–1, 1].
En este primer capítulo trataremos básicamente dos problemas, el primero de los cuales es
el siguiente:
Primer Problema: Dados n+ 1 puntos de R2
( x0, y0), ( x1, y1 ) , ..., (xn, yn)
en los cuales x0, x1, ..., xn, son números distintos, se quiere encontrar un polinomio pn(x) de
grado menor o igual que n tal que
pn (xk) = yk, k = 0,1,..., n.
Probaremos que un tal polinomio pn(x) siempre existe y además es único. A tal polinomio
se le denomina polinomio de interpolación, polinomio interpolante o polinomio de
colocación para los puntos (datos) dados. En este contexto los números x0, x1, ..., xn, son
llamados nodos. Cuando n = 1, es decir, sólo tenemos dos puntos, el polinomio de
interpolación correspondiente se denomina también polinomio de interpolación lineal.
En este primer capítulo, el caso de mayor interés para nosotros es aquel en el cual yk=f(xk)
siendo f una cierta función de la que posiblemente no se conoce una fórmula explícita, o
bien es muy complicada para evaluarla, derivarla, integrarla, hallarle ceros, etcétera
[debemos tener en cuenta que en un espectro, digamos una serie no se conoce la función a
la cual queremos hallar (aproximar) pues podría ser el caso de la solución de una EDO 1.].
1
EDO refiere a la abreviatura de Ecuación Diferencial Ordinaria.
5
En este caso el polinomio de interpolación pn(x) puede usarse como aproximación de la
función f y, en particular, para aproximar valores de la función f en puntos intermedios
entre los nodos x0, x1, ..., xn. Nos referiremos a esta manera de aproximar una función dada,
mediante un polinomio de interpolación, como interpolación polinomial.
Este tipo de aproximación mediante el polinomio de ajuste pm(x) se conoce como ajuste
polinomial.
Teorema 1.3.1 (existencia y unicidad del polinomio interpolante) Dados los n + 1 puntos
(x0, y0), (x1, y1), ..., (xn, yn) de R2 , con x0, x1, ..., xn números distintos, existe un único
polinomio
pn(x) = a0 + a1x + . . . + anxn
de grado menor o igual que n, que interpola los puntos dados, es decir, tal que pn(xk) = yk,
k = 0, 1, ..., n (Nakamura, 1992 p. 25).
Prueba:
Existe un único polinomio
pn(x) = a0 + a1x + . . . + anxn
tal que
pn(xk) = yk, k = 0, 1, ..., n
si y sólo si existen números reales únicos a0, a1, . . ., an tales que
1
Debemos recordar el ejemplo de arriba, donde se ha tomado el polinomio de grado menor, y ellos seguían siendo de
error tolerable, este caso no se debe perder de vista pues es el caso de los mínimos cuadrados, cuando se rectifica por un
polinomio lineal, cuadrático, ..., de grado m≤n, estos es menor que n el número de puntos xi.
6
a0 + a1 x0 + ... + an x n0 = y0
a0 + a1 x1 + ... + an x n1 = y1
(1)
. . .
a + a x + ... + a x n = y
0 1 n n n n
El sistema anterior, de n + 1 ecuaciones lineales en las n + 1 incógnitas a0, a1, . . ., an,
escrito en forma matricial es
1 x0 x02 ... x0n a0 y0
2 n
1 x1 x1 ... x1 a1 = y1
. . . . ... ...
1 xn xn2 ... xnn
an y n
A x b
Ahora bien, como
1 x0 x02 ... x0n
1 x1 x12 ... x1n
det A =
. . . .
= ∏ ( xi − x j ) (2)
0≤ j < i ≤ n
1 xn xn2 ... xnn
Una forma de encontrar el polinomio interpolante para los puntos (x0, y0), (x1, y1), ..., (xn, yn)
es resolviendo directamente el sistema Ax = b que aparece en la prueba del teorema
anterior; pero este procedimiento no se acostumbra porque, por lo general, la matriz de
coeficientes de este sistema resulta mal condicionada, lo que puede ocurrir si dos abscisas
están relativamente cerca. En lo que sigue de esta sección lo dedicaremos a otras formas de
encontrar el polinomio interpolante.
que es un sistema de tres ecuaciones lineales cuyas incógnitas son a0, a1 y a2. (Nakamura,
1992 p.27, Burden y Faires 2007 p. 108)
7
Veamos que el determinante de la matriz de coeficientes de este sistema es, como ya se
dijo, (x1–x0)(x2 – x0)(x2 – x1). En efecto:
1 x0 x02 1 x0 x02
2
∆ = 1 x1 x1 = 0 x1 − x0 x12 − x02 = ( x1 − x0 )( x2 − x0 )( x2 − x1 ) ≠ 0
1 x2 x22 0 x 2 − x0 x22 − x02
(Así que el sistema tiene solución única).
De acuerdo con la regla de Cramer
y0 x0 x02
y1 x1 x12
y2 x2 x22
a0 =
∆
y0 x0 x02
∆ a 0 = y1 x1 x12 = y0 ( x1 x22 − x2 x12 ) − y1 ( x0 x22 − x2 x02 ) + y 2 ( x0 x12 − x1 x02 )
y2 x2 x22
(Desarrollando el determinante por los cofactores de la primera columna) Análogamente,
1 y0 x02
∆ a1= 1 y1 x12 = − y0 ( x22 − x12 ) + y1 ( x22 − x02 ) − y 2 ( x12 − x02 )
1 y2 x22
(Desarrollando el determinante por los cofactores de la segunda columna) y
1 x0 y 0
∆ a1= 1 x1 y1 = y0 ( x2 − x1 ) − y1 ( x2 − x0 ) + y 2 ( x1 − x0 )
1 x2 y 2
Por tanto
∆⋅p2(x) = ∆⋅a0 + ∆⋅a1x + ∆⋅a2x2
Total que
∆⋅p2(x) = y0(x2–x1)(x–x1)(x–x2) + y1(x0–x2)(x–x0)(x–x2) + y2(x1–x0)(x–x0)(x–x1)
y entonces
( x − x1 )( x − x 2 ) ( x − x 0 )( x − x 2 ) ( x − x 0 )( x − x1 )
p 2 ( x ) = y0 ( x 0 − x1 )( x 0 − x 2 )
+ y1 ( x + y2
1 − x 0 )( x1 − x 2 ) ( x 2 − x 0 )( x 2 − x1 )
Si definimos los polinomios de grado dos
( x − x1 )( x − x 2 )
L0 ( x) = ( x 0 − x1 )( x 0 − x 2 )
( x − x 0 )( x − x 2 )
L1 ( x) = ( x1 − x 0 )( x1 − x 2 )
( x − x 0 )( x − x1 )
L2 ( x) = ( x 2 − x 0 )( x 2 − x1 )
entonces
p2 ( x) = y0 L0 ( x) + y1L1 ( x) + y 2 L2 ( x) ,
Observe que
8
1 si k = j
L j ( xk ) = ; j=0, 1, 2, k = 0, 1, 2.
0 si k ≠ j
y que, como era de esperarse, p2(xk) = yk, k = 0, 1, 2.
1
Esto aunque parezca trivial nos da la idea de un espectro pequeño, pero espectro.
9
y 0 x1 − y 0 x 0 + y 0 x 0 + y 0 x + y1 x − y1 x 0 y 0 ( x1 − x 0 ) + ( y1 − y 0 )( x − x 0 )
= ( x1 − x 0 )
= ( x1 − x 0 )
( y1 − y 0 )
p1 ( x ) = y0 + ( x1 − x 0 )
( x − x0 ) .
Se ve que, y=p1(x) es la ecuación de la recta determinada por los puntos (x0,y0) y (x1,y1).
Ejemplo 1.3.3 Pongamos el caso que queremos aproximar la función f(x) = cos(x) sobre el
intervalo [–π/2, π/2], mediante un polinomio de interpolación. Una forma razonable de
hacerlo es mediante un polinomio de interpolación de Lagrange de grado menor o igual que
dos, p2(x), usando como nodos los números x0 = –π/2, x1 = 0 y x2 = π/2.
Como p2(x) = f(x0)L0(x) + f(x1)L1(x) + f(x2)L2(x)
f(x0) = cos(–π/2) = 0; f(x1) = cos(0) = 1 y f(x2) = cos(π/2) = 0
entonces p2(x) = L1(x), donde
(x+ π )( x − π ) x2 − π2
( x − x 0 )( x − x 2 )
L1 ( x) = ( x1 − x 0 )( x1 − x 2 )
= π
2
π
2
= 2
4
= 1− 4
2
x2 .
( 2 )( − 2 ) − π π
4
Total que el polinomio de interpolación
de Lagrange para la función f(x) = cos(x)
en los nodos x0 = –π/2, x1 = 0 y x2 =
π/2, es
p2 ( x) = 1 − 42 x 2
π
Observe que p2(–π/2) = 0 = p2(π/2) y
p2(0) = 1, como era de esperarse.
10
( π4 ) 2
cos( π4 ) ≈ p ( π4 ) = 1 − 2
= 0.69
En relación con el ejemplo anterior, tenemos que los otros dos polinomios fundamentales
de Lagrange de grado dos para f usando los nodos x0 = –π/2, x1 = 0 y x2 = π/2, son
x( x − π )
( x − x1 )( x − x 2 )
L0 ( x) = ( x0 − x1 )( x0 − x 2 )
= 2
π )( − π
= 2
2
x2 − 1
π
x
(− 2
) π
y
(x+ π )x
( x − x 0 )( x − x1 )
L2 ( x) = ( x 2 − x 0 )( x 2 − x1 )
= 2
= 2
x2 + 1
π
x
π ( π2 ) π 2
Observe que
2 2
L0(x) + L1(x) + L2(x) = ( π 2 x −
1
π
x) + (1 − 4
2
x2 ) + ( 2
2
x2 + 1
π
x) = 1
π π
En general, los polinomios fundamentales de Lagrange Lj(x), j= 0,1,..., n, correspondientes
a n+1 puntos dados, tienen la propiedad
n
∑ L j ( x) = 1 , para todo x (6)
j= 0
A continuación nos referiremos al error involucrado en la interpolación polinomial. Si
pn(x) es el polinomio que interpola a una función f en los números distintos x0, x1, ..., xn, y si
x es un punto intermedio entre dichos números, entonces el error al aproximar f(x)
mediante pn(x) es
E(x) = f(x) – pn(x) (7)
Teorema 1.3.4 Sea f una función definida en un intervalo (a, b) y sea pn(x) el polinomio
que interpola a f en los números distintos x0, x1, ..., xn de dicho intervalo. Si f tiene sus
primeras n+1 derivadas continuas en (a, b), entonces para cada x∈(a, b), el error E(x) =
f(x)–pn(x) puede expresarse así
( n + 1)
f (q( x))
⋅ ( x − x 0 )( x − x1 )...( x − x n )
(n + 1)!
donde q(x) es un número que depende de x y q(x)∈(a, b).
Prueba:
Observe primero que, si x = xk para k=0, 1, ..., n, entonces f(xk)=p(xk), y al seleccionar q(xk)
arbitrariamente en (a, b) se obtiene la ecuación
f n + 1 ( q ( x))
f ( x) = p( x) + ⋅ ( x − x 0 )( x − x1 )...( x − x n ) (8)
(n + 1)!
Si x≠xk para cualquier k=0, 1, ..., n, definamos la función g para t en [a, b] por medio de
11
(t − x0 )(t − x1 )...(t − xn )
g (t ) = f (t ) − p (t ) − [ f ( x) − p ( x)]
( x − x0 )( x − x1 )...( x − xn )
n
(t − xi )
= f (t ) − p(t ) − [ f ( x) − p ( x)]∏ .
i= 0 ( x − xi )
Puesto que f∈Cn+1[a, b], y p∈C∞[a, b], se deduce que g∈Cn+1[a, b]. Cuando t=xk tendremos
n
( xk − xi )
g ( xk ) = f ( xk ) − p ( xk ) − [ f ( x) − p ( x)]∏ = 0 – [f(x) – p(x)]⋅0 = 0.
i = 0 ( x − xi )
Además,
n
( x − xi )
g ( x) = f ( x) − p ( x) − [ f ( x) − p ( x)]∏ = f(x) – p(x) – [f(x) – p(x)] = 0.
i = 0 ( x − xi )
Por tanto, g∈Cn+1[a, b], y g se anula en los n+2 numero distintos x, x0, x1, ..., xn. Conforme
al teorema generalizado de Rolle, existe q en (a, b) tal que g(n+1)(q) = 0.
Por tanto
n
d n+ 1 (t − xi )
0= g ( n + 1)
(q ) = f ( n + 1)
(q ) − p ( n + 1)
(q ) − [ f ( x) − p ( x)] n+ 1 [∏ ] t= q (9)
i = 0 ( x − xi )
dt
Por ser p(x) un polinomio de grado a lo más n, la (n+1)-ésima derivada p(n+1)(x), será igual a
∏
n
cero. Asimismo, i= 0
[(t − xi ) /( x − xi )] es un polinomio de grado (n+1) y, por tanto,
n
(t − xi ) 1
∏ ( x − xi )
=[ ]t n + 1 + (términos en t de menor grado que n),
∏
n
i= 0
i= 0
(x − xi )
n
d n+ 1 (t − xi ) (n + 1) !
y d t n+ 1
∏ ( x − xi )
= .
∏
n
i= 0
i= 0
(x − xi )
La ecuación (9) ahora se convierte en
(n + 1) !
0 = f ( n + 1) (q) − 0 − [ f ( x) − p ( x)]
∏
n
i= 0
(x − xi )
y luego de despejar f(x), tendremos
n
f ( n + 1) ( q )
f ( x) = p ( x ) + ( n + 1) ! ∏ ( x − xi ) . ♦
i= 0
Esta fórmula para el error es un resultado teórico importante, pues los polinomios de
interpolación se usan por ejemplo, para deducir fórmulas de integración numérica y a partir
de dicha fórmula de error se pueden obtener cotas para el error en la integración; sin
embargo, en la práctica la fórmula del error en la interpolación es de uso muy restringido
pues sólo se puede aplicar a funciones que tengan derivadas fácilmente acotables (Burden y
Faires, (2007) p. 111, Sangiacomo y Antoine (2004)).
En relación con el ejemplo 1.3.3 tenemos que, si x∈[–π/2, π/2], entonces el error al
aproximar f(x) = cos(x) mediante el polinomio de interpolación p2(x) = 1 – (4/π2)x2,
obtenido usando los nodos x0 = –π/2, x1 = 0 y x2 = π/2, es
12
( x − x0 )( x − x1 )( x − x2 )
| E ( x) | = | f ' ' ' (q( x)) | , con q(x)∈(–π/2, π/2),
3!
es decir,
π π
(x + 2
)( x − 0)( x − 2
)
| E ( x) | = | f ' ' ' (q ( x)) | , con q(x)∈(–π/2, π/2),
6
como
f(x) = cos(x), f '(x) = –sen(x), f ''(x) = –cos(x), f '''(x) = sen(x)
entonces
| f'''q(x))| = |sen(q(x)) | ≤ 1, para toda q(x)∈(–π/2, π/2)
y por tanto
2
π
| E ( x) | ≤ 1
6
x( x 2 − 4
) , para todo x∈[–π/2, π/2].
13
f ( x1 ) − f ( x 0 )
f ( x2 ) − f ( x0 ) − ( x1 − x 0 )
( x 2 − x0 )
b2 = (12)
( x2 − x0 )( x2 − x1 )
y después de realizar algunas manipulaciones algebraicas se tiene que
f ( x 2 ) − f ( x1 ) f ( x1 ) − f ( x 0 )
( x 2 − x1 )
− ( x1 − x 0 )
b2 =
( x2 − x0 )
Los otros coeficientes b3, b4, ..., bn se pueden obtener consecutivamente, siguiendo el
método anterior.
Para facilitar la escritura de los coeficientes b0, b1, ..., bn, del polinomio interpolante
obtenido de esta manera, se introduce la siguiente notación de diferencia dividida hacia
delante (progresiva) de Newton (Nakamura, (1992) p.40).
Definición 1.4.1 Dados n + 1 puntos (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)) con x0, x1, ..., xn
números distintos y f alguna función, definimos:
a) La diferencia dividida cero de f con respecto a xk es
f [xk] = f (xk), k = 1, 2, ..., n (13)
(Así que, con respecto al polinomio interpolante pn(x), se tiene que b0 = f [x0])
Con esta notación de diferencia dividida se tiene que bi = f[x0, x1,..., xi], i = 0, 1, ..., n y así
el polinomio interpolante toma la forma
pn(x)= f[x0]+ f[x0, x1](x – x0)+ f[x0, x1, x2](x – x0)(x – x1)+ ...
+ f[x0, x1,..., xn](x – x0)(x – x1)...(x – xn–1) (15)
14
Esta forma del polinomio interpolante se conoce como fórmula de diferencia dividida
(progresiva) interpolante de Newton o forma progresiva de Newton del polinomio
interpolante, y se usa en los cálculos numéricos cuando se interpola en un punto x que está
más cerca de x0 que de xn (suponemos ordenados los nodos x0, x1,..., xn). Si el punto x en el
cual vamos a interpolar está más cerca de xn que de x0 se usa la fórmula de diferencia
dividida (regresiva) interpolante de Newton:
pn(x)= f [xn]+ f [xn–1, xn](x – xn)+ f [xn–2, xn–1, xn](x – xn)(x – xn–1)+ ...
+ f [x0, x1,..., xn](x – xn)(x – xn–1)...(x – x1) (16)
Una propiedad análoga se tiene para la forma regresiva del polinomio interpolante de
Newton.
La tabla 1.3 siguiente, muestra las diferencias divididas que hay que calcular para
determinar los coeficientes del polinomio interpolante de Newton; haciendo f[x0, x1,..., xi] ≡
[x0, x1,..., xi].
xi yi = f [ xi ] [ x i ; x i + 1 ] [ xi ; xi + 1 ; xi + 2 ] [ xi ; xi + 1;...xi + 3 ] [ xi ; xi + 1;...xi + 4 ] [ xi ; xi + 1;...xi + k ]
x0 f 0 = f [ x0 ]
= b0
[ x0 ; x1 ]
= b1
x1 f1 [ x0 ; x1 ; x2 ]
= b2
[ x1; x2 ] [ x0 ; x1 ; x2 ; x3 ]
= b3
x2 f2 [ x1 ; x2 ; x3 ] [ x0 ; x1; x2 ; x3 ; x4 ] [ xi ; xi + 1;...xi + k ]
= b4 = bi + k
[ x2 ; x3 ] [ x1 ; x2 ; x3 ; x4 ]
x3 f3 [ x2 ; x3 ; x4 ]
15
[ x3 ; x 4 ]
x4 f4
Tabla 1.3
Observe que en la misma tabla pueden leerse los coeficientes para la forma progresiva y
para la forma regresiva de Newton del polinomio interpolante.
En el caso particular n = 1, la forma de Newton del polinomio interpolante es
f ( x1 ) − f ( x0 )
p1(x) = f[x0] + f[x0, x1](x – x0) = f ( x0 ) + ( x − x0 ) (18)
x1 − x0
que coincide con la fórmula deducida para p1(x) en el caso de la forma de Lagrange del
polinomio interpolante. Recuerde que el polinomio de interpolación es único.
Con respecto al error en la interpolación al usar la forma de Newton, tenemos:
Dada una función f definida en [x0, x1]. Si f es continua en [x0, x1] y f ' existe en (x0, x1),
entonces el teorema del valor medio implica que existe x∈(x0, x1) tal que f '(x) = f[x0, x1].
En general, se tiene el siguiente resultado cuya demostración puede ser consultada en
Burden y Faires, 1985, páginas 117 y 118: Burden y Faires 2007 p. 125.
Teorema 1.4.2 Si f es una función de valor real definida sobre el intervalo [a, b], n veces
continuamente diferenciable en [a, b] y x0, x1,..., xn, son números distintos en [a, b],
entonces existe q∈[a, b] tal que
f[x0, x1,..., xn] = f(n)(q)/(n !)
Usando esta fórmula se puede llegar a una expresión para estimar el error al aproximar
una función f mediante el polinomio interpolante de Newton, pn(x), a partir de los puntos x0,
x1,..., xn, x, como se indica a continuación:
De la fórmula del error E(x), dada al estudiar la forma de Lagrange del polinomio
interpolante, tenemos que
( x − x0 )( x − x1 )...( x − xn ) ( n+ 1)
f ( x) = pn ( x) + f (q ( x))
(n + 1) ! (19)
E( x)
La ecuación (21) nos da una fórmula alternativa para estimar el error al usar un polinomio
interpolante.
16
Ejemplo 1.4.3 Considere la siguiente tabla de datos
x f(x)
2.0 0.5103757
2.2 0.5207843
2.4 0.5104147
2.6 0.4813306
2.8 0.4359160
Tabla 1.4.
Si queremos obtener una aproximación de f(2.1) usando todos los datos dados, debemos
elegir la forma progresiva del polinomio interpolante de Newton con todos los datos
dados, y una escogencia adecuada para los nodos es x0 = 2.0, x1 = 2.2, x2 = 2.4, x3 = 2.6 y x4
= 2.8, ya que x = 2.1 está más cerca de x0 que de x4.
Veamos qué resultados obtenemos si usamos los polinomios interpolantes de Newton más
apropiados de grados uno, dos, tres y cuatro, para aproximar f(2.1).
Empezamos calculando las diferencias divididas que se muestran en la tabla 1.5 siguiente,
donde el valor correspondiente a la diferencia dividida cuatro es 8.34125⋅(10–3) = b4 (que no
aparece en la tabla).
Entonces
p1(x) = f[x0] + f[x0, x1](x – x0) = 0.5103757 + 0.052043(x – 2.0)
de donde
p1(2.1) = 0.5103757 + 0.052043(2.1 – 2.0) = 0.5155800 ≈ f(2.1)
Si usamos el polinomio más apropiado de grado dos
P2(x)= f[x0]+ f[x0, x1](x – x0)+ f[x0, x1, x2](x – x0)(x – x1)
= p1(x) + f[x0, x1, x2](x – x0)(x – x1)
de donde
P2(2.1) = p1(2.1) – 0.2597275 (2.1 – 2.0)(2.1 – 2.2)
= 0.5155800 + 0.002597275 = 0.5181773 ≈ f(2.1).
17
= 0.5181773 + 0.04299367(2.1 – 2.0)(2.1 – 2.2)(2.1 – 2.4)
= 0.5183063 ≈ f(2.1)
p3(x) = f[x4]+ f[x3, x4](x – x4)+ f[x2, x3, x4](x – x3)(x – x4)
+ f[x1, x2, x3, x4](x – x2)(x – x3)(x – x4)
p3(x) = 0.4359160 – 0.227073 (x – 2.8) – 0.2041313(x – 2.6)( x – 2.8)
+ 0.04966667(x – 2.4)( x – 2.6)( x – 2.8)
así que nos resulta
p3(x) = 0.4359160 – 0.227073 (2.7 – 2.8) – 0.2041313(2.7 – 2.6)(2.7 – 2.8)
+ 0.04966667(2.7 – 2.4)(2.7 – 2.6)(2.7 – 2.8)
p3(x) = 0.4605156 ≈ f(2.7)
Hasta aquí se han construido polinomios de grado menor o igual n para interpolar entre n+1
puntos dados. Como cuando n aumenta el polinomio interpolante pn(x) tiene más
oscilaciones y ocurre a menudo que no aproxima bien a la función f, esto sugiere que se
intente la interpolación pero localmente, es decir, por subintervalos.
Supongamos que el punto t* está situado en la proximidad del primer nodo de la red x0,
x1, ..., xk ,... Consideremos la relación x= x0+th o t=(x – x0)/h, para un h fijo, esto traslada al
origen sobre el punto x0 (ver ítem (1.2))(Nakamura, (1992) pp. 32-40).
∆ f0 ∆ 2 f0 ∆ k f0
N kI (t ) = f0 + t+ t (t − 1) + ... + t (t − 1) ⋅ ... ⋅ (t − k + 1) , (23)
1! 2! k!
Donde ∆ f 0 = f1 − f 0 ; ∆ 2 f 0 = f 2 − 2 f1 + f 0 ; …
18
K xk f(xk) = yk ∆ fk ∆ 2 fk ∆ 3 fk
0 2.0 0.5103757 = f0 0.0104086= b1 –0.0207782=b2 0.0020637=b3
1 2.2 0.5207843 –0.0103696 –0.0187145 0.0023840
2 2.4 0.5104147 –0.0290841 –0.0163305
3 2.6 0.4813306 –0.0454146
4 2.8 0.4359160
Tabla 1.6. b4 = 0.0003.203.
Ejemplo:
N3I(t) = 0.5103757 + 0.0104086t – 0.0207782t(t – 1)/2+ 0.0020637t(t – 1)(t – 2)/6
Entonces si x = 2.1, h = 0.2, t = (2.1 – 2.0)/0.2 = 0.5
N3I(.5)=0.5103757+0.0104086(.5)–0.0207782(.5)(.5–1)/2+ 0.0020637(.5)(.5–1)(.5–2)/6
N3I(.5)= 0.5183063.
donde M k + 1 = máx f ( k + 1) ( x)
x∈ [ x , x ]
0 k
Ahora supongamos que el punto t* está situado cerca del último nodo de la red ..., x-k, x-
k+1, ..., x-k+2,..., x0. Volvamos a utilizar la variable t, de x=xn–th o t=(x–xn)/h, para un h fijo, y
N3II(t)=0.4359160–0.0454146t–0.0163305t(t+1)/2+0.0026840t(t+1)(t+2)/6
Entonces si x = 2.7, h = 0.2, t = (2.7 – 2.8)/0.2 = –0.5
N3II(–.5)=0.4359160–0.0454146(–.5)–0.0163305(–.5)(–.5+1)/2
+0.0023840(–.5)(–.5+1)(–.5+2)/6
= 0.4605156
El término residual es dado por:
f k + 1 (q ) k + 1
Rn = ⋅h ⋅ t (t + 1) ⋅ ... ⋅ (t + k ) ; con q ∈ ( x− k , x0 ) , (26)
(k + 1)!
19
y el error se estima de la forma:
Mk+ 1 k+ 1
∆ 1 = f ( x) − N kII (t ) ≤ ⋅h ⋅ t (t + 1) ⋅ ... ⋅ (t + k ) (27)
(k + 1)!
donde M k + 1 = máx f ( k + 1) ( x) .
x∈ [ x ,x ]
− k 0
20
Capítulo 2
El Problema de los Polinomios de Chebyshev
En nuestro interés de conocer los métodos espectrales o de proyecciones es que para darle
una forma didáctica primero debemos entender el suceso que se tiene a mano y ello implica
conocimiento de métodos de aproximación, pero por series de términos algebraicos o
polinomios de algún tipo,1 en nuestro caso solo lo haremos por los algebraicos como son
los de Chebyshev.
xi yi xi yi
1 1.3 6 8.8
2 3.5 7 10.1
3 4.2 8 12.5
4 5.0 9 13.0
5 7.0 10 15.6
Tabla 2.1.
Se muestra en esta figura de puntos que existe una relación lineal entre x y y. Ahora, si nos
fijamos un tanto encontramos que ninguna recta se ajusta a esos datos y ello se debe a
cierto error (no es razonable exigir que la función de aproximación coincida exactamente
con los datos). Una tal función implantaría perturbaciones (oscilaciones) que no estaban
1
En casos un poco más generales no solamente serán polinomios, pueden ser otros.
21
presentes al inicio. Por ejemplo si interpolamos por Lagrange1 nos resulta un polinomio de
grado nueve “7.1649(10–5)x9 –3.1275(10–3)x8 + 0.05719x7 –0.5698x6 + 3.3780x5 –12.2685x4
+ 27.4028x3 –37.4085x2 + 31.3119x –10.6”
Figura 2.1. Aquí hemos usado interpolación de Lagrange que veremos después.
Fuente: Burden y Faires 2007 p.485
Sigamos con la idea de una recta de aproximación, recordando que en este caso la serie es
{a1x+b1} pero, esto nos llevaría a un i-ésimo valor a1xi+b1 y el valor original yi de la tabla
para y. El problema es un óptimo o sea la mejor aproximación lineal en un sentido frío o
cuantitativo el valor absoluto que de encontrar los valores a1 y b1 que minimicen
E∞ (a1 , b1 ) = máx {| yi − (a1xi + b1 ) |}
1≤ i ≤ 10
A esta presentación se le denomina minimax, y su solución no es por métodos elementales.
Otra forma pero que también es complicada es tomar el error cuantitativo de la suma así:
10
E1 (a1 , b1 ) = mín ∑ | yi − (a1 xi + b1 ) | (1)
i= 1
Es llamada la desviación absoluta. Para minimizar E1 se necesita minimizar una función de
dos variables y ello implica el cálculo de derivación parcial e igualar a cero y resolver de
forma simultanea las ecuaciones resultantes
∂ 10 ∂ 10
∑
∂ a1 i = 1
| yi − (a1 xi + b1 ) |= 0 y ∑ | yi − (a1xi + b1 ) |= 0
∂ b1 i = 1
(2)
1
Los polinomios de Lagrange se pueden ver arriba o en cualquier texto de análisis numérico.
22
2.2 Aproximaciones por Mínimos Cuadrados
El problema de ajustar la recta más óptima con mínimos cuadrados a una colección de
datos {( xi , yi )}im= 1 implica minimizar el error total,
m
E = E2 (a1 , b1 ) = mín ∑ [ yi − (a1 xi + b1 )]2
i= 1
Con respecto a los parámetros a1 y b1. Para que exista un mínimo, debemos tener
∂ m m
∑
∂ a1 i = 1
[ yi − (a1 xi + b1 )]2 = − 2∑ xi [ yi − (a1 xi + b1 )] = 0
i= 1
∂ m m
∑ i 1i 1
∂ b1 i = 1
[ y − ( a x + b )]2
= − 2∑ [ yi − (a1xi + b1 )] = 0
i= 1
Estas ecuaciones se simplifican en ecuaciones normales:
m m m m m
mb1 + a1 ∑ xi = ∑ yi y b1 ∑ xi + a1 ∑ xi2 = ∑ xi yi .
i= 1 i= 1 i= 1 i= 1 i= 1
La solución de este sistema de ecuaciones es
1
Desviación media cuadrática.
2
En cierta forma lo que trata conseguir que la densidad del error se uniformice en todo el intervalo, donde están contenido
los datos del dominio.
23
m m m m
∑ xi2 ∑ yi − ∑ xi yi ∑ xi
i= 1 i= 1 i= 1 i= 1
b1 = m m (4)
m( ∑ xi2 ) − (∑ xi ) 2
i= 1 i= 1
m m m
m∑ xi yi − ∑ xi ∑ yi
i= 1 i= 1 i= 1
a1 = m m (5)
m( ∑ xi2 ) − (∑ xi ) 2
i= 1 i= 1
Figura 2.2
Fuente: Burden y Faires 2007 p. 498
24
Dado que
b n b b n
E= ∫a [ f ( x)]2 dx − 2 ∑ ak ∫ x k f ( x )dx + ∫a [ ∑ ak x k ]2 dx
a
k= 0 k= 0
tenemos
n
∂E b b
= − 2∫ x j f ( x)dx + 2 ∑ ak ∫ x j + k dx .
∂ aj a
k= 0
a
Por tanto, si queremos obtener Pn(x) debemos resolver las (n+1) ecuaciones normales
b n b
∫a x j f ( x) dx = ∑ ak ∫
a
x j + k dx , para cada j=0, 1, ..., n. (7)
k= 0
para las (n+1) incógnitas aj. Puede demostrarse que las ecuaciones normales siempre tienen
una única solución, siempre que f∈C[a, b].
Ejemplo 2.3.1
Hallar el polinomio de aproximación de mínimos cuadrados de segundo grado para la
función f(x)=sen(πx) en el intervalo [0, 1]. Las ecuaciones normales para P2(x)=a2x2 + a1x +
a0 son
1 1 1 1
a0 ∫ 1dx + a1 ∫ xdx + a2 ∫ x 2 dx = ∫0 sen(π x)dx
0 0 0
1 1 1 1
a0 ∫ xdx + a1 ∫ x 2 dx + a2 ∫ x 3dx = ∫0 xsen(π x)dx
0 0 0
1 1 1 1
a0 ∫ x 2 dx + a1 ∫ x 3dx + a2 ∫ x 4 dx = ∫0 x 2 sen(π x)dx .
0 0 0
Al realizar la integración se obtiene
a0 + 12 a1 + 13 a2 = π2
1 1
a
2 0
+ a + 1a
3 1 4 2
= 1
π
2
1 1 π −4
a
3 0
+ a + 1a
4 1 5 2
= 3 .
π
Estas tres ecuaciones con tres incógnitas pueden
resolverse para obtener
2
12π − 120
a0 = 3
≈ − 0.040465
π
2
720 − 60π
y a1 = − a2 = ≈ 4.12251 Figura 2.3.
π 3
En el ejemplo 2.3.1 se ilustra el problema que implica obtener una aproximación del
polinomio de mínimos cuadrados. Un sistema lineal (n+1)×(n+1) debe resolverse para las
incógnitas a0, a1, . . ., an. Los coeficientes del sistema lineal tienen la forma
25
b b j+ k+ 1 − a j+ k+ 1
j+ k
∫ a x dx = j+ k+ 1
, (8)
sistema lineal que tiene una solución numérica, pero, que no puede ser calcular fácilmente.
La matriz del sistema lineal se conoce como matriz de Hilbert. Esta matriz mal
condicionada constituye un ejemplo clásico para demostrar los problemas del error de
redondeo.
Otra desventaja se parece a la situación que se presentó cuando por primera vez tratamos
los polinomios de Lagrange en la (1.3). Los cálculos efectuados para obtener el mejor
polinomio de n-ésimo grado, Pn(x), no reduce el trabajo que se requiere para calcular
Pn+1(x), o sea el polinomio de grado mayor siguiente.
A continuación explicaremos otra técnica con que se obtienen las aproximaciones de
mínimos cuadrados. La técnica resulta ser eficiente desde el punto de vista de los cálculos a
realizar;1 una vez que se conoce Pn(x) es fácil determinar Pn+1(x). Para facilitar la
exposición necesitaremos aprender otros conceptos nuevos.
Definición 2.3.2
Se dice que el conjunto de funciones { φ0, ..., φn} es linealmente independiente en [a, b] si,
siempre que
c0φ0(x)+ c1φ1(x) + ... + cnφn(x) =0, para cualquier x∈[a, b],
se tiene que c0 = c1 = ... = cn = 0. De lo contrario se dice que el conjunto de funciones es
linealmente dependiente.
Teorema 2.3.3
Si φj(x) es un polinomio de j-ésimo grado para cada j=0, 1, ..., n, entonces {φ0, ..., φn} es
linealmente independiente en cualquier intervalo [a, b].
Prueba:
Supongamos que c0, c1, ..., cn son números reales para los cuales
P(x) = c0φ0(x) + c1φ1(x) + ... + cnφn(x) = 0, para cualquier x∈[a, b].
Como el polinomio P(x) se anula en [a, b], los coeficientes de todas las potencias de x son
cero. En particular, el coeficiente de xn es cero. Y puesto que cnφn(x) es el único término de
P(x) que contiene xn, hemos de tener cn=0 y
n− 1
P ( x) = ∑ c jφ j ( x) .
j= 0
En esta representación de P(x) el único término que contiene una potencia de xn–1 es cn-
1φn-1(x), de modo que este término también debe ser cero y
n− 2
P( x) = ∑ c jφ j ( x) .
j= 0
En forma similar, las constantes restantes cn-1, cn-2, ..., c1, c0 son todas cero, lo cual significa
que {φ0, φ1, ..., φn} es linealmente independiente.
Ejemplo 2.3.4
1
Referente a las técnicas de cómo se calculan los polinomios que se utilizan en los métodos espectrales.
26
Sea φ0(x)=2, φ1(x)= x–3 y φ2(x) = x2+2x+7. De acuerdo con el teorema 2.3.3, {φ0, φ1, φ3}
es linealmente independiente en cualquier intervalo [a, b]. Supongamos que Q(x) = a0 + a1x
+ a2x2. Demostraremos que existen constantes a0, a1 y a2 tales que Q(x) = c0φ0(x)+ c1φ1(x)
+ c2φ3(x). Nótese que
1 = φ0(x)/2, x = φ1(x)+3=φ1(x)+3φ0(x)/2,
y que
x2 = φ2(x) – 2x –7 = φ2(x) – 2[φ1(x)+3φ0(x)/2] – 7[φ0(x)/2]
= φ2(x) – 2φ1(x) – 13φ0(x)/2.
Por tanto,
Q(x) = a0[φ0(x)/2]+ a1[φ1(x) + 3φ0(x)/2] + a2[φ2(x) – 2φ1(x) – 13φ0(x)/2]
= [1a0/2+ 3a1/2 – 13a2/2]φ0(x) + [a1 – 2a2]φ1(x) + a2φ2(x).
De modo que cualquier polinomio cuadrático se puede expresar como una combinación
lineal de φ0(x), φ1(x) y φ3(x). ♦
Teorema 2.3.5
Si {φ0(x), φ1(x), ..., φn(x)} es un conjunto de polinomios linealmente independientes en ∏n,
entonces todo polinomio en ∏n puede escribirse de manera única como una combinación
lineal de φ0(x), φ1(x), ..., φn(x).
Definición 2.3.6
A una función integrable w se le llama función peso en
el intervalo I si w(x)≥0, para toda x en I, pero w(x)≠0 en
cualquier subintervalo I.
1
Esta función 1 / 1 − x 2 es de crucial importante, será vista después en la teoría de Chebyshev, Legendre.
27
Supongamos que {φ0(x), φ1(x), ..., φn(x)} es un conjunto de funciones linealmente
independiente en [a, b], que w es una función de peso en [a, b] y que, para f∈C[a, b], se
busca una combinación lineal
n
P( x) = ∑ ak φ k ( x )
k= 0
para reducir al mínimo el error
b n
E ( a0 , ..., an ) = ∫a w( x)[ f ( x) − ∑ ak φ k ( x)]2 dx .
k= 0
Este problema se reduce a la situación que se tuvo al comienzo en el caso especial cuando
w(x)=1 y φk(x)=xk, para cada k = 0, 1, ..., n.
Las ecuaciones normales asociadas a este problema se derivan del hecho de que para cada
j=0, 1, ..., n
n
∂E b
= 2∫ w( x)[ f ( x) − ∑ ak φ k ( x)]φ j ( x) dx = 0 .
∂ aj a
k= 0
El sistema de ecuaciones normales puede escribirse
b n b
∫a w( x) f ( x)φ j ( x) dx = ∑ ak ∫ w( x )φ k ( x)φ j ( x) dx , para j=0, 1, ..., n.
a
k= 0
Si podemos elegir las funciones φ0(x), φ1(x), ..., φn(x) de modo que
b 0, cuando j ≠ k
∫a w( x )φ k ( x )φ j ( x ) dx = t > 0, cuando j = k (9)
j
Entonces las ecuaciones normales se reducen a
b b
∫ a w( x) f ( x)φ j ( x)dx = a j ∫ a w( x)[φ j ( x)]
2
dx = a j t j .
para cada j = 0, 1, ..., n y fácilmente obtenemos
b
∫ a w( x) f ( x)φ j ( x)dx .
1
aj = tj
Definición 2.3.7
Se dice que {φ0(x), φ1(x), ..., φn(x)} es un conjunto ortogonal de funciones en el intervalo
[a, b] respecto a la función de peso w, si
b 0, cuando j ≠ k
∫a w( x )φ j ( x )φ k ( x ) dx = t > 0, cuando j = k (10)
j
Si además, tk = 1 para cada k=0, 1, ..., n, se dice que el conjunto es ortonormal. ♦
28
Los comentarios de arriba y esta última definición nos lleva al resultado siguiente.
Teorema 2.3.8
Si {φ0(x), φ1(x), ..., φn(x)} es un conjunto ortogonal de funciones en un intervalo [a, b]
respecto a la función de peso w, entonces la aproximación por mínimos cuadrados a f en [a,
b] respecto a w es
n
P( x) = ∑ ak φ k ( x )
k= 0
donde, para cada k=0, 1, ..., n.
b
∫ a w( x)φ k ( x) f ( x)dx b
∫ a w( x)φ k ( x) f ( x)dx .
1
ak = b
= tk ♦
∫ a w( x)[φ k ( x)]
2
dx
Aunque la definición 2.3.7 y el teorema 2.3.8 son válidos para una clase de funciones
ortogonales, sólo tomaremos en cuenta conjuntos ortogonales de polinomios. El siguiente
teorema, que tiene como fundamento el proceso de Gram-Schmidt, describe como
construir polinomios ortogonales en [a, b] respecto a la función de peso w.
Teorema 2.3.9
El conjunto de la funciones polinomiales {φ0(x), φ1(x), ..., φn(x)} definida de la siguiente
forma es ortogonal en [a, b] respecto a la función de peso w.
φ0(x)=1, φ1(x)= x – B1, para cada x en [a, b],
donde
b
∫ a xw( x)[φ k ( x)]
2
dx
B1 = b ,
∫ a w( x)[φ k ( x)]
2
dx
y cuando k≥2,
φk(x) = (x – Bk)φk –1(x) – Ckφk–2(x), para cada x en [a, b],
donde
b b
∫ a xw( x)[φ k − 1 ( x)] ∫ a xw( x)φ k − 1 ( x)φ k − 2 ( x) dx
2
dx
Bk = b y Ck = b .
∫a ∫a
2
w( x)[φ k − 1 ( x)] dx w( x)[φ k − 2 ( x)]2 dx
Corolario 2.3.10
Para toda n>0. El conjunto de las funciones polinomiales { φ0(x), φ1(x), ..., φn(x)} dado en el
teorema 2.3.9 es linealmente independiente en [a, b] y
b
∫ a w( x)φ n ( x)Qk ( x)dx = 0 ,
29
para todo polinomio Q(x) de grado k<n. ♦
Prueba:
Puesto que φn(x) es un polinomio de n-ésimo grado, el teorema 2.3.3 implica que {φ0(x),
φ1(x), ..., φn(x)} es un conjunto linealmente independiente.
Sea Qk(x) un polinomio de k-ésimo grado. De acuerdo con el teorema 2.3.5, existe los
números c0, c1, ..., ck tales que
k
Qk ( x ) = ∑ a jφ j ( x)
j= 0
Por tanto,
b k b k
∫ a w( x)φ n ( x)Qk ( x)dx = ∑ c j ∫ w( x)φ j ( x)φ n ( x)dx =
a ∑ cj ⋅ 0
j= 0 j= 0
porque φn(x) es ortogonal a φj(x) para cada j = 0, 1, ..., k. ♦
Ejemplo 2.3.11
El conjunto de los polinomios de Legendre, {Pn(x)}, es ortogonal en [–1, 1] respecto a la
función de peso w(x) = 1. La definición clásica de estos polinomios requiere que P1(1)=1
para cualquier n, y se utiliza la relación recursiva para generar los polinomios cuando n≥2.
No hace falta esta normalización en nuestra exposición; los polinomios de aproximación de
mínimos cuadrados que se genera en ambos casos son en esencia los mismos.
Al aplicar el procedimiento recursivo del teorema 2.3.9 con P0(x)=1 obtenemos
1
∫ −1 xdx
B1 = 1
= 0 y P1(x)=(x – B1)P0(x)=x.
∫ −1 dx
También,
1 1
∫ −1 x 3dx ∫ −1 x 2 dx
1
B2 = 1
= 0 y c2 = 1
= ,
3
∫ −1 x 2 dx ∫ −1 xdx
y, por tanto,
P2(x) = (x – B2)P1(x) – C2P0(x) Figura 2.5.
= (x – 0)x – (1/3)⋅1= x2–(1/3).
30
P0(x)=1, P1(x)=x.
( 2n − 1) xPn − 1 ( x) − (n − 1) Pn − 2 ( x)
Pn ( x) = [ ] , para n≥2.
n
Y con ello se consigue todos los polinomios de Legendre, con la única diferencia que hay
que convertirlos en mónicos (Burden y Faires, (2007) p.507, López y Pijeira, (2001) pp. 9-
15).
Los polinomios al igual que los de Legendre son ortogonales en el intervalo (–1, 1) respecto
a la función de peso w(x)=(1–x2)–½. Aunque pueden derivarse por el método anterior, nos
será más factible dar su definición y demostrar luego que satisfacen las propiedades de
ortogonalidad requeridas.
Con x∈[–1, 1], definida
Tn(x)=cos(n arccos(x)), para cada n≥0 (11)
No es obvio en esta definición que para cada n, Tn(x) es un polinomio en x, pero este hecho
se demuestra. Debemos notar en primer lugar que
T0(x)=cos(0) = 1 y T1(x)=cos(arcos(x)) = x.
Para n≥1, hacemos θ = arccos(x) esta ecuación se transforma en
Tn(θ(x)) = Tn(x) = cos(n θ), donde θ∈[0, π]
Se desarrolla una relación de recurrencia al observar que
Tn+1(θ) = cos(n θ)cos(θ) – sen(nθ)sen(θ)
y que
Tn–1(θ) = cos(n θ)cos(θ) + sen(nθ)sen(θ)
31
En la figura 2.6 se muestra las T1, T2, T3 y T4, para demostrar la ortogonalidad de los
polinomios de Chebyshev, consideremos
1 T ( x )T ( x ) 1 cos( n arccos( x )) cos( m arccos( x ))
∫− 1 n 1 − mx 2 dx = ∫− 1 1 − x2
dx ,
Teorema 2.4.1
El polinomio de Chebyshev Tn (x) de grado n≥1 tiene n ceros simples en [–l, 1] en
xk = cos( 22k n− 1 π ) , para cada k=1,2, ..., n.
Más aun, Tn(x) toma sus extremos absolutos en
xk = cos( knπ ) , con Tk ( xk ) = (− 1) k , para cada k=0, 1, ..., n.
Prueba:
Si utilizamos
xk = cos( 22k n− 1 π ) , para cada k=1,2, ..., n.
entonces
Tn ( xk ) = cos( n arccos( xk )) = cos[n ar cos(cos( 22k n− 1 π ))] = cos( 22k n− 1 π ) = 0
y cada xk es un cero distinto de Tn. Por ser Tn(x) un polinomio de n-ésimo grado, todos los
ceros de Tn deben ser de esta misma forma.
32
Para demostrar la segunda parte, primero observamos que
Tn ( x)
T0 ( x) = 1 y Tn ( x) = , para cada n≥1. (14)
2n − 1
33
T2 ( x ) = xT1 ( x) − 12 T 0( x)
y (15)
1
Tn + 1 ( x ) = xTn ( x) − T ( x) ,
4 n− 1 para cada n≥2.
En la figura 2.7 se muestran la figuras de T1 , T2 ,
T3 , T4 y T5 .
Como1 Tn (x ) es sólo un múltiplo de Tn(x), el
teorema 2.4.1 implica que los ceros de Tn (x )
también ocurren en
xk = cos( 22k n− 1 π ) , para cada k=1, 2, ..., n,
Figura 2.7.
y que los valores extremos de Tn (x ) , para n≥1, se Fuente: Burden y Faires 2007 p.
presentan en
( − 1) k
x 'k = cos( knπ ) , con Tn ( x 'k ) = , para cada k=0, 1, ..., n. (16)
2 n− 1
Teorema 2.4.2
Los polinomios de la forma Tn (x ) , cuando n≥1, tiene la siguiente propiedad
1
= máx | Tn ( x) | ≤ máx | Pn ( x) | , para cualquier Pn(x)∈ Π n .
2 n− 1 x∈ [ − 1,1] x∈ [ − 1,1]
Prueba:
Supongamos que Pn(x)∈ Π n y que
1
máx | Pn ( x) | ≤ = máx | Tn ( x ) | .
x∈ [ − 1,1] 2 n− 1 x∈ [ − 1,1]
T0(x) = 1
T1(x) = x
T2(x) = 2x2 − 1
T3(x) = 4x3 − 3x
T4(x) = 8x4 − 8x2 + 1
T5(x) = 16x5 − 20x3 + 5x T6(x) = 32x6 − 48x4 + 18x2 − 1
T7(x) = 64x7 − 112x5 + 56x3 − 7x
T8(x) = 128x8 − 256x6 + 160x4 − 32x2 + 1
T9(x) = 256x9 − 576x7 + 432x5 − 120x3 + 9x
T10(x) = 512x10 − 1280x8 + 1120x6 − 400x4 + 50x2 − 1
T11(x) = 1024x11 − 2816x9 + 2816x7 + 1232x5 + 220x3 − 11x
34
( − 1) k
Q( x 'k ) = Tn ( x 'k ) − Pn ( x 'k ) = − Pn ( x 'k ) .
2 n− 1
Dado que
1
Pn ( x 'k ) = , para cada k=0, 1, ..., n,
2 n− 1
tenemos
Q( x 'k ) ≤ 0 , cuando k es impar y Q( x 'k ) ≥ 0 , cuando k es par.
Como Q es continua, el teorema de valor intermedio implica que el polinomio Q(x) tiene, al
menos un cero entre x' j y x ' j + 1 para cada j=0, 1, ..., n–1. Por tanto, Q tiene al menos n
ceros en el intervalo [–1, 1]. Pero el grado de Q(x) es menos que n, así que Q = 0. Ello
implica que P( x) = Tn ( x) . ♦
Este Teorema sirve para contestar la pregunta de dónde colocar los nodos interpolantes
para reducir al mínimo el error de la interpolación de Lagrange. En esa interpolación de
Lagrange dado el intervalo [–1, 1] establece que x0, x1, ..., xn son números distintos en el
intervalo [–1, 1] y si f∈Cn+1[–1, 1], entonces, para cada x∈[–1, 1], existe un número q(x) en
(–1, 1) con
f ( n+ 1) ( q ( x ))
f ( x) − P( x) = ( n + 1) !
(x − x0 )( x − x1 )...( x − xn ) ,
donde P(x) denota el polinomio de interpolación de Lagrange. En general, no se tiene
control sobre t(x) por lo cual, para reducir al mínimo el error mediante una colocación
habilidosa de los nodos x0, x1, ..., xn para reducir al mínimo la cantidad
|(x–x0)( x–x1) ... (x–xn)|
A lo largo del intervalo [–1, 1].
Puesto que (x–x0)( x–x1) ... (x–xn) es un polinomio mónico de grado (n+1), acabamos de
ver que el mínimo se obtiene si y sólo si
(x–x0)( x–x1) ... (x–xn) = Tn+ 1 ( x) .
El valor máximo de |(x–x0)( x–x1) ... (x–xn)| se minimiza cuando hacemos que xk sea el
(k+1)-ésimo cero de Tn + 1 , para cada k=0, 1, ..., n, esto es , cuando xk es
Corolario 2.4.3
Si P(x) es el polinomio de interpolación de grado a lo más n en las raíces de Tn+1(x),
entonces
35
máx | f ( x) − P ( x ) |≤ 1
máx | f ( n + 1) ( x ) | , para cada f∈Cn+1[–1, 1]. ♦
x∈ [ − 1,1] 2 n ( n + 1) ! x∈ [ − 1,1]
Este método de seleccionar puntos para reducir al mínimo el error de interpolación, también
se aplica a un intervalo cerrado [a, b] empleando el cambio de variables
x = 12 [(b − a) x + (b + a)]
Para transformar los números xk del intervalo [–1, 1] en el correspondiente número xk del
intervalo [a, b] como lo veremos en el ejemplo ilustrativo.
Ejemplo 2.3.4
Sea f(x) = xex en el intervalo [0, 1.5]. Se construirán dos polinomios interpolantes de grado
tres como máximo. Primero, usaremos los nodos uniformemente espaciados x0=0, x1=0.5,
x2=1.0 y x3=1.5, para llegar a:
( x − 0.5)( x − 1.0)( x − 1.5) x 3 − 3 x 2 + 2.75 x − 0.75
L0(x) = (0 − 0.5)(0 − 1.0)(0 − 1.5) = − 0.75
= x3/(–0.75) – 3x2/(–0.75) + 2.75x/(–0.75) – 0.75/(–0.75)
= –1.3333x3 + 4.0000x2 – 3.6667x + 1.
L1(x) = 4.0000x3 – 10.000x2 + 6.0000x
L2(x) = –4.0000x3 + 8.0000x2 – 6.0000x
L3(x) = 1.3333x3 – 2.0000x2 + 6.6667x
En el caso de los valores que se dan en las dos primeras columnas de la tabla 2.2, el primer
polinomio está dado por
P3(x)=1.3876x3+0.05757x2+1.2730x
Figura 2.8
36
En el caso del segundo polinomio de interpolación, se transforma los ceros xk =
=cos((2k+1)π/8), cuando k = 0, 1, 2, 3 de T4 , desde [–1, 1] a [0, 1.5] mediante la trans-
formación lineal
1
xk = 2
[(1.5 − 0) xk + (1.5 + 0)] = 0.75 + 0.75 xk
Los valores funcionales que se requieren en estos polinomios se dan en las dos últimas
columnas de la tabla 2.2. El polinomio de interpolación de grado a lo más tres está dado por
(Nakamura, 1992 p. 43-47)
Para efectos de comparación1, en la tabla 2.3 se incluyen varios valores de x, junto con los
valores de f (x), P3(x) y de P3s(x). De la tabla se puede ver que, aunque el error al utilizar
P3(x) es menor que al utilizar P3s(x) cerca de la mitad de la tabla, el error máximo que
implica usar P3s(x), 0.0180, es considerablemente menor que cuando se emplea P3(x), lo
cual da el error 0.0290 (ver figura 2.8).
1
P3m(x)=1.38109522675169x3 + 0.0446475884492927x2 + 1.30309461473314x–0.0143521726363448, es la fórmula
para los puntos (nodos) de Chebyshev por un polinomio de mínimos cuadrados.
37
x f(x)=xex P3(x) |xex–P3(x)| P3s(x) |xex–P3s(x)|
0.15 0.1743 0.1969 0.0226 0.1868 0.0125
0.25 0.3210 0.3435 0.0225 0.3358 0.0148
0.35 0.4967 0.5121 0.0154 0.5064 0.0097
0.65 1.245 1.233 0.012 1.231 0.014
0.75 1.588 1.572 0.016 1.571 0.017
0.85 1.989 1.976 0.013 1.974 0.015
1.15 3.632 3.650 0.018 3.644 0.012
1.25 4.363 4.391 0.028 4.382 0.019
1.35 5.208 5.237 0.029 5.224 0.016
Σ 0.1765 Σ 0.1300
Tabla 2.3.
1 = T0
x = T1
x2 = (½)(T0 + T2)
x3 = (¼)(3T1 + T3)
x4 = (1/8)(3T0 + 4T2 + T4)x5 = (1/16)(10T1 + 5T3 + T5)
x = (1/32)(10T0 + 15T2 +6T4+T6)
6
38
y con esta elección tenemos el valor mínimo de
1 | an |
máx | ( Pn ( x) − Pn − 1 ( x)) | = | an | máx | ( Pn ( x) − Pn − 1 ( x)) | =
x∈ [ − 1,1] a
x∈ [ − 1,1] n 2n − 1
Ejemplo 2.5.1
Aproximamos la función f(x)=ex en el intervalo [–1, 1] mediante el cuarto polinomio de
Maclaurin
P4(x) = 1 +x + x2/2 + x3/6 + x4/24,
Que tiene un error de truncamiento
| f (5) (q ( x)) || x 5 | e
| R4 ( x) |= ≤ ≈ 0.023 , para –1 ≤ x ≤ 1, –1 ≤ q(x) ≤ 1.
120 120
Supongamos que un error de 0.05 de tolerancia y que nos gustaría reducir el grado del
polinomio de aproximación sin rebasar esta cota.
El polinomio de tercer grado o menor, que mejor aproxima uniformemente a P4(x) en
[–1, 1] es (usando T4(x) = 8x4 − 8x2 + 1 y por (17))
x2 x3 x4
P3 ( x ) = P4 ( x ) − a4T4 ( x ) = 1 + x + 2
+ 6
+ 24
− 1
24
( x2 − x 2 + 18 )
191 13 x 2 x3
= 192
+ x+ 24
+ 6
Sin embargo
1 1 2 2 1
| P3 ( x) − P2 ( x) |= T ( x)
6 3
= ( ) = 24
6 2
≤ 0.042.
que, al ser agregado a la cota de error ya acumulada de 0.0283, rebasa la tolerancia de 0.05.
en consecuencia, el polinomio de menor grado que mejor aproxima a ex en [−1, 1] con una
cota de error menor que 0.05 es
191 13 x 2 x3
P3 ( x) = 192
+ x+ 24
+ 6
.
La tabla 2.4 incluye la función y los polinomios de aproximación en varios puntos de
[−1, 1]. Nótese que los valores tabulados de P2 se encuentran, con mucho, dentro de la
tolerancia de 0.05, aunque la cota de error de P2(x) la rebasa. ♦
39
x f(x)=ex P4(x) P3(x) P2(x) |ex–P2(x)|
−0.75 0.47237 0.47412 0.47917 0.45573 0.01664
−0.25 0.77880 0.77881 0.77604 0.74740 0.03140
0.00 1.00000 1.00000 0.99479 0.99479 0.00521
0.25 1.28403 1.28402 1.28125 1.30990 0.02587
0.75 2.11700 2.11475 2.11979 2.14323 0.02623
Tabla 2.4.
Fuente: Burden y Faires, (2007) p.516.
Ejemplo 2.5.2
π π
Aplicamos al cos(x) con una aproximación 0.001, [− , ]
2 2 .
x2 x4 x6 x8
cos( x) = 1 − 2
+ 24
− 720
+ 40320
( π2 ) 8 x8
El error esta en 0.001 ≥ = 0.00091926 , o sea reducimos el término 40320
.
40320
Usamos T8(x) = 128x8 − 256x6 + 160x4 − 32x2 + 1.
x2 x4 x6 8
= 1− 2
+ 24
− + x − [ 40320
720 40320
1 1
128
(128 x8 − 256 x 6 + 160 x 4 − 32 x 2 + 1)]
= 1
(1 − 5160960 32
) − ( 12 − 5160960 ) x 2 + ( 24
1 160
− 5160960 ) x 4 − ( 720
1 256
− 5160960 ) x6
5160959 40319 2 56 4
= −
5160960 80639
x + 1345 x − 2240 6
x6 .
Al lector le queda comprobar que la afirmación del error es tolerable en el intervalo
[− π2 , π2 ] absolutamente (Burden y Faires, (2007) p. 517)
Por ejemplo al sustituir estos en la serie infinita de Taylor y agrupar términos en Ti(x) se
obtiene una serie de Chebyshev (Gerald y Wheatley, (2000) p.315)
Obtendremos los cuatro primeros términos de una serie de Chebyshev empezando con el
desarrollo de Maclaurin de ex. Esta serie converge más rápidamente que la de Taylor en
[–1, 1]:
x2 x3 x4
ex = 1+ x + 2
+ 6
+ 24
+ ...
Al reemplazar usando las equivalencias de la tabla 4.6 nos queda
e x = T0 + 14 (T0 + T2 ) + 24
1 1
(3T1 + T3 ) + 192 (3T0 + 4T2 + T4 ) +
40
1 1
+ 1920
(10T1 + 5T3 + T5 ) + 23040
(10T0 + 15T2 + 6T4 + T6 ) + ...
Ahora tomamos sólo los términos de índice menor o igual a tres se tiene
e x = 2917 T + 217 T + 139 T + 17 T + ...
2304 0 192 1 512 2 384 3
o e x = 1.2661T0 + 1.1302T1 + 0.2715T2 + 0.0443T3 + ... (18)
Para comparar el desarrollo de Chebyshev con la serie de Maclaurin, pone los valores de
Ti(x) en sus respectivas potencias así:
e x = 2917 + 217 x + 139
2304 192 512
(2 x 2 − 1) + 384
17
( 4 x 3 − 3 x) + ...
ex = 550
553
+ 383
384
x+ 278
512
x2 + 17
96
x 3 + ...
Figura 2.9
Fuente: Gerald y Wheatley 2000 p.317
En la figura 2.9 muestra como el desarrollo de Chebyshev obtiene un error máximo más
pequeño al permitir crecer el error en el origen. Puede considerarse que los errores están
distribuidos más o menos uniformemente a lo largo de todo el intervalo. En contra de los
que hace los errores de Maclaurin que en el origen son muy pequeños pero crece
descomunalmente en los extremos.
Si es necesario expresar la función directamente como un desarrollo en polinomios de
Chebyshev, los coeficientes pueden obtenerse por integración. Con base en la propiedad de
ortogonalidad, los coeficientes se calculan a partir de
41
2 1 f ( x)Ti ( x)
ai = π −1 ∫ dx , (19)
1 − x2
y la serie de Chebyshev se expresa como
∞
∑
a0
f ( x) = 2
+ aiTi ( x) . (20)
i= 1
Si el intervalo de trabajo no es [−1, 1], hay que hacer un cambio de variable. En algunos
casos, la integral definida que determina los coeficientes puede evaluarse con éxito por
medio de integración numérica.
Debido a que los coeficientes de los términos de un desarrollo de Chebyshev suelen
disminuir aún más rápidamente que los términos de un desarrollo de Maclaurin, es posible
obtener una estimación de la magnitud del error a partir del siguiente término diferente de
cero después de los que estaban retenidos. Para la serie de Chebyshev truncada definida por
la ecuación (18) el término T4(x) seria
1
T + 1 (6T4 ) + ... = 0.005225T4 .
192 4 23040
Debido a que el valor máximo de T4(x) en (−1, 1) es 1.0, se estima que el error máximo de
ecuación (18) es 0.005225. El error máximo en la tabla 2.6 es 0.0063. La tan rápida la
disminución de los coeficientes en este ejemplo provoca esta coincidencia aceptable. La
economía computacional que se obtienen al economizar una serie de Maclaurin, o al usar
una serie de Chebyshev, es aún más notoria cuando la serie de Maclaurin converge
lentamente.
Otro ejemplo notable es tratado para f(x)=xex en el intervalo [0, 1.5]. y su polinomio de
Lagrange para x0=0, x1=0.5, x2=1.0 y x3=1.5,
P3(x)=1.3876x3+0.05757x2+1.2730x
Lo podemos mejorar usando la serie de Chebyshev haciendo v∈[–1, 1], x=3(v+1)/4:
P3(x)=1.3876(27/64)(v3+3v2+3v+1)+0.05757(9/16)(v2+2v+1) +1.2730(3/4)(v+1)
P3(x)= 0.5854v3 + 1.78858v2 + 2.7757v +1.5725, v∈[–1, 1]
P3(x)= 0.5854(¼)(3T1 + T3) +1.78858(½)(T0 + T2) +2.7757(T1) +1.5725(T0)
P3(x) = 0.14635(T3)+0.89429(T2)+3.21475(T1)+2.46679(T0 ), x∈[–1, 1].
y P3(x) = 0.14635(4x3−3x)+0.89429(2x2−1)+3.21475x+2.46679, x∈[–1, 1].
El cálculo de verificar con una tabla queda para el lector.
Una de los métodos de aproximar funciones por polinomios algebraicos ofrecen ventaja,
diríamos bastantes, pero una desventaja es su tendencia a oscilar; esto hace a menudo que el
error rebase la tolerancia. Nuestro interés es que haya una distribución del error lo más
uniformemente posible en el intervalo de aproximación y es por ello que se recurre a
técnicas de funciones racionales (Gerald y Wheatley 2000, Burden y Faires 2007, ).
El método de aproximación de Padé selecciona los N+1 parámetros de modo que f(k)(0)=r(k)
(0) para cada k = 0, 1, ..., N. es simplemente la aproximación de Taylor para las funciones
racionales o sea:
42
m m
p( x) f ( x) q( x) − p( x) f ( x)∑ qi x i − ∑ pi x i
f ( x) − r ( x) = f ( x) − q( x)
= q( x)
= i= 0
q( x)
i= 0
, (21)
∞ i
y si suponemos que f se desarrolla en series f ( x) = ∑ i= 0 ai x entonces
∞ m m
∑ i= 0 ai x i ∑ qi x i − ∑ pi x i
f ( x) − r ( x) = i= 0
q( x)
i= 0
. (22)
No ahondaremos sobre este problema. Trataremos sólo el caso de la mejora con el
polinomio de Chebyshev.
Ejemplo 2.7.1
Volvemos a presentar el caso de f (x)=ex. La serie de Maclaurin de arriba.
f ( x) = e x = 1 + x + 0.5 x 2 + 0.1667 x 3
Al usar esta aproximación se forma la diferencia
Pn ( x ) f ( x) q( x) − p( x)
f ( x) − Qm ( x )
= q( x)
a 0 + a1 x + a 2 x 2 (1+ x + 0.5 x 2 + 0.1667 x 3 )(1+ b1 x ) − ( a0 + a1 x + a 2 x 2 )
= f ( x) − 1+ b1 x
= 1+ b1 x
≈ 0.
Aquí elegimos como numerador un polinomio de Maclaurin de segundo grado (n=2), y
como denominador un polinomio de primer grado (m=1). De nuevo se hace desaparecer las
primeras N = n+m potencias de x en el numerador. Al desarrollar el numerador se obtiene
P2(x)=a0+a1x+a2x2 y Q1(x)= 1 + b1x.
Aquí n=2, m=1.
Numerador = 1 + x + 0.5x2 + 0.1667x3 +b1x +b1x2 + 0.5b1x3
+ 0.1667b1x4 – a0 – a1x – a2x2.
Mediante esta relación es posible escribir las ecuaciones
a0 = 1; a1 = 1 + b1; a2 = 0.5 + b1; 0 = 0.1667 + 0.5 b1.
Que fácilmente nos da: b1 = –0.3333, a0 = 1, a1 = 0.6667 y a2 = 0.1667, y
1 + 0.667 x + 0.1667 x 2
ex = .
1 − 0.3333x
43
f ( x) = e x = 2917
T
2304 0
+ 217
T + 139 T
192 1 512 2
+ 17
T
384 3
+ ...
o f ( x) = e x = 1.2661T0 + 1.1302T1 + 0.2715T2 + 0.0443T3 + ...
Al usar esta aproximación se forma la diferencia
Pn ( x ) f ( x) q( x) − p( x)
f ( x) − Qm ( x )
= q( x)
(1.2661T0 + 1.1302T1 + 0.2715T2 + 0.0443T3 )(1+ b1T1 ) − ( a0 + a1T1 + a 2T2 )
= 1+ b1T1 .
Aquí elegimos como numerador un polinomio de Chebyshev de segundo grado (n=2), y
como denominador un polinomio de primer grado (m=1). De nuevo se hace desaparecer las
primeras N = n+m potencias de x en el numerador. Al desarrollar el numerador se obtiene:
P2(x)=a0+a1T1+a2T2 y Q1(x)= 1 + b1T1.
Aquí n=2, m=1.
Numerador = 1.2661+1.1302T1 + 0.2715T2 + 0.0443T3 +1.2661b1T1 +1.1302b1T12
+0.2715b1T1T2 + 0.0443b1T1T3 – a0 – a1T1 – a2T2.
Antes de poder igualar a cero los coeficientes es necesario resolver los productos de los
polinomios de Chebyshev que aparezcan. Al recordar que Tn(x)=cos(nθ), es posible aplicar
la identidad trigonométrica
cos(nθ)cos(mθ)=[cos((n+m)θ)+cos((n–m)θ)]/2
Tn(x) Tm(x) = [ Tn+m(x) + T|n–m|(x)]/2. (23)
Se da el valor absoluto de la diferencia n – m porque cos(p) = cos(–p) o sea es función par.
Mediante esta relación es posible escribir las ecuaciones
a0 = 1.2664 + 1.1302 b1/2; a1 = 1.1302 +(0.2715/2 +1.2661) b1
a2 = 0.2715 + (1.1302/2 + 0.0443/2) b1; 0 = 0.0443 + 0.2715 b1/2.
Que fácilmente nos da: b1 = –0.3263, a0 = 1.0817, a1 = 0.6727 y a2 = 0.0799, y
1.0817 + 0.6727T1 + 0.0799T2
ex = ,
1 − 0.3263T1
1.0018 + 0.6727 x + 0.1598 x 2
o ex = . (24)
1 − 0.3263x
(Gerald y Wheatley 2000 p.324)
44
La última expresión resulta cuando los polinomios de Chebyshev se escriben en términos
de potencias de x. El error de la aproximación racional es un 22% menor que la de
Chebyshev (Gerald y Wheatley 2000 p.324) y mucho mejor que la racional de Maclaurin.
(Vea también Burden y Faires 2007 pp.519-524, Gerald y Wheatley p.320.)
Resumen: La exposición anterior nos permite apreciar a cabalidad el profundo interés que
tiene las series y polinomios de Chebyshev, puesto como se ha mostrado permite con los
puntos de Chebyshev la mejora en la precisión al usar los puntos de Chebyshev, luego se
consigue el ahorro en las series de potencia, y al usar los polinomios de Chebyshev en los
polinomios racionales una mayor precisión.
45
Capítulo 3
Para tener una idea cabal de una colocación de aproximación cualquiera tomemos por
ejemplo que queremos aproximar la función f(x)=sen(x) en el intervalo x∈[0, π/2] donde
sabemos los valores particulares como (0, 0), (π/6, 1/2), (π/4, 1/2½), (π/3, 3½/2), (π/2, 1).
Por definición un método de colocación precisa de una serie del tipo:
n
y = u0 ( x ) + ∑ Ci u i ( x ) , (1)
i= 1
donde u0(x) debe cumplir con pasar por los
valores extremos del intervalo, esto es, u0(x),
u0(0)=0 y u1(π/2) = 1. Los demás ui(x) deben
ser homogéneos, esto es, ui(0)= ui(π/2)=0, para
todo i = 1, 2, ..., n.
1
Se refiere a una f general, como incluso una solución de una EDP (ecuación diferencial parcial).
46
Como esto es una ilustración hagamos que n=N=2, aquí tenemos1 por ejemplo u0(x)= 2x/π,
(es la de azul, la recta delgada), posteriormente definimos u1(x)=x(π/2 –x) y u2(x)=x2(π/2 –
x) el cual forman
y = u0(x) + C1 u1(x) + C2 u2(x),
y = 2x/π + C1 x(π/2 –x) + C2 x2(π/2 –x)
Ahora tomamos como puntos2 de colocación (π/6, 1/2) y (π/6, 3½/2) y resolvemos para C1
y C2.
(π/6, 1/2) → sen(π/6) = 2(π/6)/π + C1 x(π/2 –π/6) + C2 (π/6)2(π/2 –π/6)
(π/3, 3½/2) → sen(π/3) = 2(π/3)/π + C1 (π/3)(π/2 –π/3) + C2 (π/3)2(π/2 –π/3)
Comparando tenemos
x yc=calculada ye = exacta
x=0.0 yc =0.000000 ye =0.000000
x=0.2 yc =0.200556 ye =0.198669
x=0.4 yc =0.390408 ye =0.389418
x=0.6 yc =0.564091 ye =0.564642
x=0.8 yc =0.716139 ye =0.717356
x=1.0 yc =0.841086 ye =0.841471
x=1.2 yc =0.933466 ye =0.932039
x=1.4 yc =0.987813 ye =0.985450
x=1.6 yc =0.998661 ye =0.999574
Tabla 3.1.
Figura 3.2. En la izquierda la comparación, como vemos casi se superponen, pero en realidad existe
un error que está amplificado en el intervalo [1.2, 1.6] en la derecha del lienzo.
La expresión anterior también se puede escribir de la forma p(x) =b(x) + Q(x)(a0 + a1x +
a2x2 + ... + an–1xn–1 + anxn) o sea, y = 2x/π + x(π/2 – x)(C1 + C2 x).
1
Pues podríamos tomar tantas otras que pasen por (0, 0) y (π/2, 1), como sería u0(x)= 8x3/π3, u0(x)=2x/π, u0(x)=cos(x-
π/2), ... La idea es tomar siempre la más fácil o la más sencilla.
2
Debemos siempre tener en cuenta que se debe tener un sistema regular.
47
Ejemplo 3.1.1:
Estas ideas abstractas pueden concretarse en un problema simple. Aunque normalmente los
problemas se programan en grandes códigos en algún lenguaje de programación, es muy
educativo usar un lenguaje de manipulación algebraica como Maple, Mathematica,
Macsyma, MatLab o Reduce.
Figura 3.3.
Recomendamos una aproximación polinómica p(x) = a0 + a1x + a2x2 + ... + an–1xn–1 + anxn o
p(x) = b(x) + Q(x)(a0 + a1x + a2x2 + ... + an–1xn–1 + anxn), donde Q(x) debe cumplir las
condiciones homogéneas, para la mayoría de estos problemas, que es una elección de una
solución espectral de esa forma. Debe satisfacer las condiciones de frontera
independientemente de los coeficientes espectrales desconocidos. Para este problema
conveniente aproximarnos con:
u2 = 1+ (1 – x2)(a0 + a1x + a2x2)
Como la condición es de minimización del error, el error debe hacer cero con referencia a
un conjunto de puntos en igual número a los coeficientes indeterminados en u2(x). Esto se
llama la "colocación" o método "pseudoespectral." Si escogemos los puntos xi arbitraria-
mente con xi = (–1/2, 0, 1/2), esto nos da las tres ecuaciones:
Los coeficientes son determinados por la solución del sistema (7), resolviéndolo nos queda:
48
784
a0 = − ,
3807 a1 = 0, a2 = a0 (8)
y la función de aproximación es:
u2 = 1+ (1 – x2)(a0 + a1x + a2x2)
u 2 = 1 + (1 − x 2 )(− 3807
784 784 2
+ 0 x − 3807 x ).
dy
Ejemplo 3.1.2. Considere la ecuación: − y = 0 con 0 ≤ x ≤ 1, y(0)=1.
dx
N
Solucionemos, haciendo una aproximación por un polinomio de la forma y = 1 + ∑ ai x i .
i= 1
Como en el ejemplo de la EDO en el capítulo I. Lo primero es obtener el residuo R(x, a1, ...,
aN), para ello calculamos:
N
y' = ∑ iai x i − 1 , (9)
i= 1
N
R = − 1+ ∑ ai (ix i − 1 − xi ) → mínimo . (10)
i= 1
Haciendo uso de función de funciones ponderación Wm = xm–1 el proceso de optimización
implica:
1
m− 1
N
∫ x − 1 + ∑ ai (ix i− 1
− xi dx = 0 .
)
0
i = 1
El resultado final después de integrar es:
49
1 N i 1
− + ∑ ai − ,
m i= 1 m + i − 1 m + i
por ejemplo para N=3 se obtiene:
1/ 2 2 / 3 3 / 4 a1 1
1 / 6 5 / 12 11 / 20 a = 1 / 2 .
2
1 / 12 3 / 10 13 / 30 a3
1 / 3
Cuya solución es a1=1.0141, a2=0.4225, a3=0.2817; así la aproximación a la solución es:
y = 1 + 1.0141x + 0.4225 x2 + 0.2817x3.
Dado que al solución exacta para la ecuación es conocida e igual a y = ex, es posible
realizar una comparación; la Tabla 3.3 resume algunos puntos de la solución; la figura 3.5
compara gráficamente ambas soluciones.
Figura 3.5. Izquierda la figura de y(x) aproximada superpuesta con la exacta y=ex.
Derecha, una función w(x) = | yaproximada – y exacta |.
50
Va[y] = a1y(a) + a2y'(a) = A
Vb[y] = b1y(b) + b2y'(b) = B (12)
en donde
| a1| + |a2| ≠ 0, | b1| + |b2| ≠ 0.
mientras que las otras funciones ui(x), i=1, 2, …, n, satisfacen las condiciones de contorno
homogéneas:
Si las condiciones de contorno (2) son homogéneas (A = B = 0), podemos poner u0(x)=0 y
considerar únicamente el sistema de funciones
ui(x), i=1, 2, …, n.
como la solución de aproximación del problema de las condiciones de frontera (11) y (12).
Claramente, la función y satisface las condiciones de frontera (12); que luego a causa de la
linealidad de las condiciones de contorno se cumple que
n n
Va [ y ] = Va [u0 ] + ∑ CiVa [ui ] = A + ∑ Ci ⋅ 0 = A ,
i= 1 i= 1
y análogamente
Vb[y] = B.
n
R(x, C1, C2, ..., Cn) = L[y] – f(x) = L[u0 ] − f ( x) + ∑ Ci L[ui ] . (17)
i= 1
51
Si además con una elección más apropiada de los coeficientes Ci, i=1, 2, …, n, puede
cumplirse la ecuación
entonces la función y es la solución exacta del problema de las condiciones de frontera (11),
(12). Una elección adecuada de esta naturaleza de los coeficientes Ci no es en general
posible. Por consiguiente, hay que limitarse al postulado de que la función R(x, C1, C2, ...,
Cn) debe ser cero, para un sistema de puntos dados suficientemente compactos, en el
intervalo [a, b] (es decir el sistema de puntos de colocación). En estos puntos se cumple
exactamente la ecuación diferencial (11). Como puntos de colocación puede elegirse, por
ejemplo, puntos tales que dividan al intervalo [a, b] en un número de partes iguales. Como
resultado obtenemos el sistema de ecuaciones lineales:
Si el sistema (18) tiene solución, podemos de ahí hallar los coeficientes C1, C2, ..., Cn.
La solución aproximada del problema de condiciones de frontera se da entonces por la
fórmula (16).
Ejemplo 3.1.3
Solución:
x− 1 = − 1 1
2 , x0 = 0 , x1 = 2 .
52
R(x) = –2C1+C2(2–12x2) + (1+x2)[C1(1–x2)+C2(x2–x4)] + 1
= 1 – C1(1+x4) + C2(2 – 11x2 – x6).
1 1
En los puntos de colocación x− 1 = − 2 , x0 = 0 , x1 = 2 se cumple
1 – C1 + 2 C2 = 0
1 – (17/16)C1 – (49/64)C2 = 0.
Luego resulta
C1 = 0.957, C2 = –0.022.
Por consiguiente obtenemos la solución
aproximada
y ≈ 0.957(1–x2) – 0.022 (x2–x4).
En especial se cumple que
y(0) = 0.957. Figura 3.6.
Usted puede comprobar al resolver el mismo problema por diferencias finitas y verá que la
solución aproximada cumple con
y(0) = y0 = 0.967.
Donde Tn(x) son los polinomios de Chebyshev Tn(x) = cos(n arccos(x)), específicamente
T0(x) = 1, T1(x) = x, T2(x) = 2x2 – 1, T3(x) = 4x3 – 3x, T4(x) = 8x4 – 8x2 + 1, ...
Como antes, en el método de colocación se seleccionan N + 1 puntos en el dominio para
generar N + 1 ecuaciones para los coeficientes an. Una elección adecuada de estos puntos
para la base de funciones de Chebyshev es (ver capítulo 1)
xj = cos(πj/N), j = 0, ..., N.
Así que Tn(xj) = cos(nπj/N). {xj} se usan para colocar la función en esos puntos,
yN(xj ) = y(xj). (21)
1
Debemos siempre tener en cuenta que se debe tener un sistema regular.
53
Es decir, se requiere que la ecuación diferencial se satisfaga exactamente en los puntos de
colocación {xj}.
Como el dominio del problema es [0, 1] y el de los polinomios Tn(x) es [–1, 1] se utiliza el
cambio de variable v = 2x – 1, dv = 2dx, dx = dv/2. Con este cambio de variable el problema
se convierte en
y'v + y =0, –1 ≤ v ≤ 1; y(–1) = 1.
Sustituya yN en la ecuación a resolver, y evalúe en los puntos de colocación.
Elegimos N = 4
N N
∑ an d
T (v ) +
dv n j ∑ a n T n(v j ) = 0 , j=0, 1, ..., N–1. (22) (6)
n= 0 n= 0
Tn(v) y (Tn(v))'v son conocidas.
Para v1=cos(π⋅1/4) = 2 / 2.
2 2 2
a0 ⋅ 0 + a1 ⋅ 1 + a2 ⋅ 4 ⋅ 2
) − 3) + a4 ⋅ (32( 22 ) 3 − 16( 22 ))
+ a3 ⋅ (12(
2
a0 + a1 ( 22 + 1) + a2 (2 2 ) + a3 ( 6 − 2 2 ) + a4 ( − 1) = 0 ,
a0 + 1.707a1 + 2.828a2 + 2.292a3 – a4 = 0
y así sucesivamente para v2=cos(π⋅2/4) = 0, v3=cos(π⋅3/4) = – 2 / 2 .
54
Para v4 =cos(π⋅4/4) = –1, pero esta se pone sólo en (23) puesto que es la condición inicial:1
a0⋅1 + a1⋅(–1) + a2⋅(2(–1)2–1) + a3⋅(4(–1)3–3(–1)) + a4 (8(–1)4 –8(–1)2+1) = 1
a0 – a1 + a2 – a3 + a4 = 1.
Resultando la matriz
1 2 5 10 17 a0 0
1 1.707 2.828 2.292 − 1 a1 0
1 1 −1 −3 1 a2 = 0 (24)
1 0.292 − 2.828 3.707 − 1 a3 0
1 − 1 1 −1 1 a4 1
1
Debemos notar que la condición inicial hacen dependencia sólo a la supuesta solución y.
55
Capítulo 4
Este capítulo se describe las aplicaciones con un cálculo diferencial no convencional o sea
con los métodos espectrales, el tema es bastante amplio a pesar de ser muy reciente, se
encuentra bibliografía, que no esta dada a conocer en forma didáctica y aquí es lo
trataremos de hacer, quien sabe dejaremos un poco de lado los formalismos del análisis,
pero recordemos que nuestro objetivo es dar a conocer los métodos espectrales y solo del
punto de vista de puntos, polinomios y series de Chebyshev.
Tomando a Trefethen, (2007), empezamos con una cuestión básica 1. Dado un conjunto de
puntos en una rejilla {xj} y sus correspondientes valores en la función {u(xj)}, se pueden
usar esos valores (datos) para la aproximación de las derivadas de u? Probablemente el
método que inmediatamente salta a la vista es algún tipo de fórmula de diferencias finitas 2.
Ello es que, a través de las diferencias finitas se infieren interesantes métodos espectrales
(Trefethen, (2007)).
Para precisar la idea tomemos unos casos específicos. Consideremos un malla o rejilla
uniforme {x1, x2, ..., xN}, con xj+1–xj =h para cada j, y su correspondiente conjunto de
imágenes { u1, u2, ..., uN}:
Figura 4.1.
1
Se les recomienda ver el capítulo 1, donde se trató lo referente a Chebyshev y sus propiedades, y otros polinomios.
2
De la definición de límite f ' ( x)=límh→0(f(x+h)–f(x))/h → f '(x) ≈ (f(x+h)–f(x))/h. Tomando el numerador
f(x+h)–f(x) = ∆f(x)
3
Se refiere a la fórmula: ∆fi = fi+1 – fi; ∆2fi-1 = fi+1 – 2fi + fi-1.
56
La cual se puede hallar por el desarrollo de Taylor de u(xj+1) y u(xj-1), por simplicidad
didáctica asumimos que el problema es periódico y hacemos u0=uN y u1=uN+1. Entonces el
proceso de la diferenciación discreta se puede representar como la multiplicación de una
matriz por un vector (w=Au):
w1 0 1 0 − 12 u
2 1
− 1 0 0
= h − 1
2
. (2)
0 0 1
2
w
N 1
0 − 1
0 u N
2 2
(Aquí se han omitido las entradas que son ceros en esta matriz que es esparcida y será así
en lo que sigue del trabajo.)
Obsérvese que la matriz es Toeplitz 1, teniendo entrada constantes a lo largo de las
diagonales; con aij que dependen sólo de i–j, ella es también circulante,2 mediante que aij
dependen sólo de3 (i–j) (mod N). La diagonal de la matriz está envuelta de las otras.
Un ejemplo para visualizar este problema sería por ejemplo si u(x) = sen(x), cuya
u'(x) = cos(x), entonces si N = 8, x∈[–π, π], h = π/4 la matriz será:4
0 1
0 0 0 0 0 − 12 sen(− 3π / 4)
w1 2
w2
− 1 0 1
0 0 0 0 0 sen(− π / 2)
2 2
w 0 − 1
0 1
0 0 0 0 sen(− π / 4)
3
2
1
2
1
w4 − 1 0 0 − 0 0 0 0 sen ( 0 )
= h
2 2
w 0 0 0 − 1
0 1
0 0 sen(π / 4) ,
(2')
5 2 2
w6 0 0 0 0 − 1
0 1
0 sen (π / 2 )
2 2
w7 0 0 0 0 0 − 1
0 1
sen(3π / 4)
2 2
w
8 1
0 0 0 0 0 − 1
0 sen(π )
2 2
w1 = (4/π)(½⋅sen(–π/2) –½⋅sen(π)) = –(2/π) ≈ 0.6366,
w2 = (4/π)(–½⋅sen(–3π/4) +½⋅sen(–π/4)) = 0, ...
w8 = (4/π)(½⋅sen(–3π/4) –½⋅sen(3π/4)) = − 2 2 / π ≈ –0.9003,
1
Toeplitz Matriz especial para calcular derivadas. La matriz semi-infinita, esto es, las entradas de cada subdiagonal son
constantes (Hernández (2006) p.75).
2
Matriz circulante es aquella que los elementos de la fila i es igual a la de la fila i-1 pero recorrida en un lugar
Fila i − 1 → r1 r2 ... rn − 1 rn
Fila i → rn r1 ... rn − 2 rn − 1
3
Se refiere a la división módulo, o sea se toma el resto. [5 mod 2 = 1.]
4
Los ceros que se han escrito en la matriz se ponen en este caso para dar una idea didáctica, en realidad se deben de
sobrentender siempre, o sea omitir.
57
Figura 4.2.
Una forma alternativa para las derivadas (1) y (2) está en el siguiente proceso de
interpolación y diferenciación local:
Para j = 1, 2, ..., N:
Sea pj el único polinomio de grado ≤ 2 con pj(xj-1)=uj-1, pj(xj)=uj, y pj(xj+1)=uj+1.
wj = p'j(xj).
Es fácil ver que, para una j fija, la interpolación pj está dada por1
pj(x) = uj-1a-1(x) + uja0(x)+uj+1a1(x),
Donde a-1(x)=(x–xj)(x–xj+1)/(2h2), a0(x)=(x–xj-1)(x–xj+1)/(h2), y a1(x)=(x–xj-1)(x–xj)/(2h2).
Diferenciado y evaluando para x=xj entonces nos da2 (1).
Esta derivación hecha por interpolación local, claramente muestra que puede ser
generalizada para otros ordenes. Aquí tenemos análogamente también la de cuarto orden3:
1
Se usará el polinomio de interpolación de Lagrange, los L1, L2 y L3. (vea capítulo 1.) (Sangiacomo y Antoine, 2004)
2
Donde a'-1(x)= [(x–xj+1)+(x–xj)]/(2h2), a'0(x)=[(x–xj-1)+(x–xj+1)]/(h2), y a'1(x)=[(x–xj-1)+(x–xj)]/(2h2). Evaluando en x=xj
entonces nos da (1.1).
a'-1(x)= [(xj –xj+1)+( xj –xj)]/(2h2), a'0(x)=[( xj –xj-1)+( xj –xj+1)]/(h2), y a'1(x)=[( xj –xj-1)+( xj –xj)]/(2h2),
a'-1(x)= (xj –xj+1)/(2h2), a'0(x)=[( xj –xj-1)+( xj –xj+1)]/(h2), y a'1(x)=( xj –xj-1)/(2h2),
como la rejilla es igualmente espaciada, entonces, h= –(xj –xj+1) = ( xj –xj-1), de donde se llega
p'j(x) = (–1/(2h))uj-1 + (0)uj+ (1/(2h))uj+1.
4
1
3
f ′ ( x0 ) = [ f ( x0 − 2h) − 8 f ( x0 − h)+ 8 f ( x0 + h) − f ( x0 + 2h)] + h f (5) (q) (Nakamura 1992, Sangiacomo y Antoine, 2004)
12h 30
58
0 1
− 2
w1
12 3 u1
− 2 − 1 1
13 12 12
2
12 3
− 1
= h 0
. (3)
2 1
− 3
− 12
1 1 2
− 12 12
3
wN 2 − 1
0 u N
3 12
Por ejemplo si tenemos el caso de la matriz N×N = 8×8, y la función u=sen(x), u' =cos(x)
con x∈[–π, π], h = π/4, x = [–3π/4, –2π/4, –π/4, 0, π/4, 2π/4, 3π/4, π] dada por
0 2
− 1
0 0 0 1
− 2 sen( − 3π )
w1 3 12 12 3 4
− 2 0 2
− 1
0 0 0 1 sen( − 2π )
w2 13 3 12 12 4
2 2 1 −π
w 12 − 0 − 0 0 0 sen( 4 )
3 3 12
3 1 2 2 1
w4 4
0 − 0 − 0 0 sen(0)
=
12 3 3 12
π . (3')
w π 0 0 1
− 2
0 2
− 1
0 sen( 4 )
5 12 3 3 12 2π
w6 0 0 0 1
12
− 2
3
0 2
3
1
− 12 sen( 4 )
w 1 1 2 2 sen( 3π )
7
w − 12 0 0 0 12
− 3
0 3 4
8 2 − 1
0 0 0 1
− 2
0 4 π
3 12 12 3 sen( 4 )
w1 = {0 sen( − 34π ) + 2
3
sen( − 24π ) − 1
12
sen( − 4π ) + 0 + 0 + 0 + 1
12
sen( 34π ) − 2
3
sen( 44π )} ⋅ 4
π
= –0.69877364379726,
w2 = {− 23 sen( − 34π ) + 0 sen( − 24π ) + 2
3
sen( − 4π ) − 1
12
sen(0) + 0 + 0 + 0 + 1
12
sen( 44π )} ⋅ 4
π
= 8.367289902980940(10–17) ≈ 0.00000000000000, . . .
1
Matriz circulante es aquella que los elementos de la fila i es igual a la de la fila i-1 pero recorrida en un lugar
Fila i − 1 → r1 r2 ... rn − 1 rn
Fila i → rn r1 ... rn − 2 rn − 1
59
Figura 4.3. A la derecha se tiene los errores amplificados.
Las matrices de (2) y (3) son ejemplos de matrices de diferenciación. Ellas tienen orden de
precisión 2 y 4, respectivamente. Que para los datos uj obtenidos de u suficientemente
suaves, se muestra los valores de sus correspondientes aproximaciones para u'(xj) el cual
converge proporcionalmente con O(h2) y O(h4) cuando h→0, respectivamente. Ello puede
ser verificado considerando la serie de Taylor.
El primer programa en MatLab (Programa 1) (Trefethen, 2000), ilustra el comportamiento de
(3). Hagamos u(x)=esin(x) para un periodo de datos sobre el dominio [–π, π]:
Figura 4.4.
Para algunos N = 8, 16, ..., 4096, se tiene un conjunto de errores máximos que los
representaremos en la siguiente salida del programa 1 en MatLab.
60
Salida 1: La convergencia de cuarto orden del proceso de diferenciación de diferencias finitas (3).
El uso de matriz dispersa permite valores altos de N. (Ver figura 4.5.)
Nosotros tenemos que observar las matrices de segundo y cuarto orden de las diferencia
finitas, y de ellas nos llevan ha considerar las de sexto, octavo y otros esquemas de orden
superior el cual son el comienzo en las matrices banda circulantes y de banda que se
incrementa.
61
La idea tras los métodos espectrales, es
tomar este proceso al límite, por lo 1
menos en principio, y trabajar con una
3
fórmula de diferenciación de orden − 12
infinito y el ancho de banda infinito, es 1
decir, una matriz densa. En el próximo −1
DN = h 0 . (4)
ítem mostraremos ese límite, para una
−1
rejilla equi-espaciada infinita.
Obtenemos la matriz infinita siguiente: 1
2
− 13
1 T
Esta es una matriz oblicua y simétrica (D = –D), una matriz Toeplitz doblemente infinita,
también conocida como un operador de Laurent (Gil y cols., 2007). Todas sus entradas son
diferentes de ceros excepto aquéllos de la diagonal principal.
Claro, en la práctica no se puede trabajar con una matriz infinita. Entonces, para una rejilla
finita, aquí diseñamos el principio de los métodos espectrales de colocación:
> sea p una función simple (independiente de j) tal que p(xj) = uj para todo j.
> wj = p'(xj)
El polinomio p se escoge libremente, pero, este debe ajustar el problema que tenemos a
mano. Para un dominio periódico, la opción natural es un polinomio trigonométrico en una
rejilla equi-espaciada, y como resultado un polinomio de "Fourier". Los métodos que serán
de nuestra preocupación los veremos a través del ítem 4.2 y ocasionalmente en los ítems
posteriores. Para los dominios no periódicos, los polinomios algebraicos en rejillas
irregulares creemos son la opción correcta y objeto de este trabajo, y en ese caso
describiremos los de "Chebyshev", los métodos de este tipo empiezan en el Capítulo
posterior.
1
Aunque técnicamente no es simetría, pues, no cumple AT = A, pero en los textos especializados se usa ese modismo
matemático si cumple por ejemplo AT= –A o alguna otra relación repetitiva de sus elementos de la matriz.
62
Si N=6; h = 2π/6; entonces la matriz es N×N = 6×6, si u(x)=sen(x), y su u'(x) = cos(x), con
x=[-2π/3, -π/3, 0, π/3, 2π/3, π]T, u = [sen(-2π/3), sen(-π/3), 0, sen(π/3), sen(2π/3), sen(π)]T,
u' = [-1/2, 1/2, 1, 1/2, -1/2, -1]T
Figura 4.6. Aquí se tiene que la diferencia es ínfima, pero en la esquina inferior derecha
se puede notar esa diferencia.
63
Salida 2: "La exactitud espectral" el método espectral (5), hace un redondeo de errores hasta 10–14. Ahora la
matriz es densa, pero los valores de N son mucho menores que en el Programa 1.
Una pequeña manipulación de la función cotangente revela que esta matriz es de hecho
circulante así como Toeplitz.
El programa 2 es igual al programa 1 excepto que (3) fue reemplazada por (5). Es la causa
de una diferencia que se representa en los resultados! Los errores en el Salida 2 logran un
decrecimiento muy rápido hasta la alta precisión del error de redondeo que la computadora
tiene internamente y la mejora.1 Este comportamiento notable se llama la exactitud
espectral. Nosotros daremos un poco de exactitud a esta frase en ítem 4.3, por el momento,
debemos notar un punto de diferencia, las proporciones de convergencia con respecto a los
métodos de diferencias finitas y los elementos finitos. Como al aumentar N, el error en el
esquema diferencias finitas o del elemento finito decrecen típicamente como O(N–m) para
alguna constante m que depende del orden de aproximación y la suavidad de la solución.
Para un método espectral, la convergencia es proporcional a O(N–m) para cada m, en caso de
que la solución sea infinitamente diferenciable, converge aun más rápido a una proporción
de O(cN), (0 <c <1) también se lograda si la solución es suficientemente analítica.
1
Todos los cálculos son al final de forma estándar en aritmética de doble precisión con la máquina 2 –53 ≈ 1.11(10–16). Por
este medio la suma, multiplicación, división y sustracción están dentro de la exactitud del tipo de un factor 1+ δ con |δ| ≤
εmachine. (εmachine es el error de máquina) vea Nakamura, Burden y Faires, 2007.
64
Las matrices que nosotros hemos descrito han sido circulantes. 1 La acción de una matriz
circulante es una convolución, y eso se ve en los estudios de las convoluciones usando una
transformada discreta de Fourier. Históricamente para tales problemas, fue descubierta la
Transformada Rápida de Fourier (Fast Fourier Transform (FFT)) en 1965, eso produjo gran
interés en los métodos espectrales en los años setenta, que no veremos en este trabajo.
También, que la FFT no sólo es aplicable a los polinomios trigonométricos en las rejillas
del equi-espaciado, sino, también a los polinomios algebraicos en las rejillas de Chebyshev.
Hay también poderosos métodos espectrales que se resuelven sin la FFT, y en muchas
aplicaciones trabajan satisfactoriamente con matrices explícitas. La mayoría de los
problemas en este trabajo se resuelve vía matrices.
Para terminas este acápite debemos tener en cuenta el principal fundamento de los métodos
espectrales de colocación es, dada en una rejilla de datos discretos, se interpolan los datos
globales, entonces se evalúa la derivada de la interpolada en la rejilla. Para los problemas
periódicos, se usan normalmente la interpolación trigonométrica en una rejilla equi-
espaciada, y para los problemas no-periódicos, nosotros usaremos normalmente la
interpolación polinómica en puntos irregularmente espaciados.
Estamos listos para discutir la exactitud de métodos espectrales. Como lo expresado en los
ítems 4.1 y capítulo 1, la proporción de la convergencia típica es O(N–m) para cada m para
funciones que son lisas (rápidamente) y O(cN), (0 < c < 1) para funciones que son analíticas
(más rápidamente). Este tal comportamiento es conocido como la exactitud espectral.
Consideraremos como construir los métodos espectrales para problemas con valores en la
frontera, y dominios no periódicos.
1
Matriz circulante: matrices que se puede hallar una relación circular en sus elementos en contra del sentido de las
manecillas de reloj.
2
Aliasing (traslapar) proceso por el cual las funciones se traslapan en puntos de estudio.
3
Se considera ruido al error implicado en el proceso.
65
Supongamos que nosotros deseamos trabajar sobre [–1, 1] con las funciones no periódicas.
Una aproximación sería pretender que las funciones eran periódicas y usar polinomios con
interpolación trigonométricos en puntos equi espaciados (es decir, Fourier). Es un método
que trabaja de manera refinada para los problemas como ése cuyas soluciones están
exponencialmente cerca del cero (o una constante) o cerca de las fronteras.
En general, sin embargo, este acercamiento sacrifica la ventaja de exactitud de los métodos
espectrales1.
Una función lisa
Figura 4.8.
Fuente: Trefethen, (2007).
Con un método espectral de Fourier, la alteración causada por estas discontinuidades será
global, por el fenómeno de Gibbs2, este destruye la exactitud espectral (Hsu, (1973) p.253).
El error de interpolación será O(1), el error de la primera derivada será O(N), y así
sucesivamente. Estos errores seguirán siendo significativos aún cuando tomemos más
pasos3 para mejorar las funciones bajo el estudio periódico. Para lograr una buena exactitud
por un método de ese tipo sería necesarios forzar la continuidad sólo para valores de la
función, pero, también de ordenes superiores de las derivadas, resultando un proceso ni
elegante y ni eficiente.
1
Recuerde el problema de Gibbs vea Hsu, H., (1973), p.253.
2
Ojo, ver el problema causado de no convergencia en la vecindad de la discontinuidad, ver pie de página 3.
3
O de otra forma la longitud del paso se haga más pequeño. Ello hace que se tomen un número mayor de pasos.
66
Entonces, la idea correcta, es la interpolación polinómica en puntos xj espaciados
irregularmente, pero, con la idea de que debemos construir un sistema que sea beneficioso,
eficaz y estable]. Tomamos diferentes conjuntos de esos puntos que son eficaces, ellos
tienen la propiedad asintótica común, que cuando N→∞, los puntos son asintóticamente
distribuidos con la densidad (por unidad de longitud)
N
densidad ≈ (6)
π 1 − x2
En particular esto implica que el promedio de espaciado entre los puntos es O(N–2) para x
≈±1 y O(N–1) en el interior, con el promedio de espaciado entre los puntos adyacentes cerca
de x = 0 asintótica para π/N. los métodos espectrales a veces usan puntos que no están
distribuidos así, pero en tales casos, la interpolación generalmente no se hacen con
polinomios, pero si, con otras funciones, como polinomios expandidos (desarrollados) por
un arcoseno (sin–l) con cambio de variables1 (Burden y Faires 2007).
En la mayor parte de este trabajo haremos uso de ejemplos simples, con conjuntos de
puntos que satisfacen (6), los llamados puntos de Chebyshev,
xj = cos(jπ/N), j=0, 1, ..., N. (7)
1
Se refiere a que por ejemplo en un primer conjunto son equi espaciados, pero se transforma a través del coseno en
uno no equi espaciados, vea: x1 = [0, π/6, 2π/6, 3π/6, 4π/6, 5π/6, π];→x2 = [cos(x1)] = [1, 3½/2, 1/2, 0, -1/2, -3½/2, -1].
2
Se refiere a que por ejemplo en un primer conjunto son equi espaciados, pero se transforma a través del coseno en
no espaciados vea: x1=[0, π/6, 2π/6, 3π/6, 4π/6, 5π/6, π];→ x2 = cos(x1) =[1, 3½/2, 1/2, 0, -1/2, -3½/2, -1].
67
Figura 4.9: Los puntos de Chebyshev son las proyecciones hacia el eje x de puntos igualmente espaciados en
el círculo unidad. Note que ellos se numeran de derecha a la izquierda . Además, las áreas son iguales
en cada color, o también los ángulos son iguales.
Podríamos detenernos y podríamos tomar como verdadero que los métodos espectrales
basados en los polinomios algebraicos, debemos usar rejillas irregulares como (7) por ellos
tiene un espaciamiento asintótico en (6). Sin embargo, este hecho es tan sólo el principio
del problema de los métodos espectrales y tan sugestivos que queremos desarrollarlo
(estudiarlos). En lo que resta de este ítem intentaremos hacer ello, en este bonito y atractivo
problema de la teoría de potenciales.
Esta función es armónica en el plano complejo (es decir, satisface la ecuación de Laplace)
excepto en {zk}. Podemos interpretarlo como un potencial electrostático:
68
Salida 3: El grado la interpolación N de u(x)=1/(1+16x2) en N+1 equiespacido y con N=16 puntos de
Chebyshev. Con N creciente, los errores aumentan exponencialmente en el caso del equiespaciados –en el
fenómeno de Runge– considerando que en el caso de Chebyshev los errores disminuyen exponencialmente.
Por construcción, hay una correspondencia entre la medida de p(z) y el valor de φN(z),
| p( z ) | = e Nφ N ( z ) . (9)
De esto podemos empezar viendo el fenómeno de Runge como se relaciona con la teoría
potencial. Si φN(z) es aproximadamente constante para z∈[–1, 1], entonces p(z) es también
allí aproximadamente constante. Si por otro lado, φN(z) varía a lo largo de [–1, 1], el efecto
en | p (z)| será de una variación que crece exponencialmente con N.
En este marco es natural tomar el límite N→∞ y pensar lo referente a los puntos {xj}
1
distribuidos en [–1, 1] según una función ρ(x) de densidad con ∫− 1 ρ ( x)dx = 1 . Semejante
función da el número de puntos de la rejilla en un intervalo [a, b] por la integral
b
N∫ ρ ( x)dx
a
Para N finito, ρ debe ser la suma de la función delta Dirac de amplitud N–1, pero en el
límite, se hace lisa. Para puntos equiespaciados el límite es
De esto, con un pequeño cálculo, podemos deducir que el potencial para puntos equi
espaciado en el límite que N → ∞ es
z+ 1 z− 1
φ ( z ) = − 1 + Re ( log( z + 1) + log( z − 1)) , (12)
2 2
69
donde Re( . ) define la parte real. Notamos que en los valores particulares φ(0)= –1 y
φ(±1) = –1+log(2). Con estos valores y (9) concluimos que si un polinomio p tiene raíces
igualmente espaciadas en [–1, 1], entonces tomará valores 2 N cuando nos acercamos a x=±1
que cerca de x=0.
(2 / e) N para x = ± 1
p ( x) ≈ e Nφ ( x ) = .
(1 / e) N para x = 0
1
ρ ( x) = , x∈[–1, 1]. [DENSIDAD DE CHEBYSHEV] (13)
π 1− x 2
Con un pequeño trabajo nos resulta el potencial
z− z2 − 1
φ (z) = . (14)
2
Esta fórmula tiene una interpretación simple: las curvas de nivel de φ(z) son las elipses con
focos ±1, y los valores de φ(z) a lo largo de cualquier elipse es el logaritmo de la mitad de
la suma del semi eje mayor y semi eje menor. En particular, la elipse degenerada en [–1, 1]
es una curva de nivelada dónde φ(z) toma valor constante –log(2). Concluimos que si un
polinomio mónico p tiene las N raíces, espaciadas según la distribución de Chebyshev en [–
1, 1], entonces oscilará entre los valores de tamaño comparable al orden de 2 –N a lo largo de
[–1, 1].
p( x) ≈ e Nφ ( x ) = 2 − N , x∈[–1, 1].
70
Salida 4: En la izquierda, el polinomio mónico de grado 17 con equi-espaciado y debajo las raíces de
Chebyshev. En el lado derecho, algunas curvas de nivel de los potenciales correspondientes al plano
complejo. Los puntos de Chebyshev son mejores porque ellos generan un potencial para el cual en [–1, 1]
es aproximadamente una curva de nivel.
71
(cancha de fútbol americano que es!) del ploteo superior derecho de Salida 10 sólo en los
puntos ±1. La función f del Programa 9 tiene los polos para ±i/4, dentro de la cancha de
fútbol que explica la divergencia de la interpolación de la función en puntos equi espaciada
(Ejercicio 5.1).
El teorema 5 expone con cierta generalidad, y es que vale la pena recordar la forma especial
que alberga la situación de más cuidado sobre la diferenciación espectral en los puntos de
Chebyshev. Aquí, las curvas de nivel de φ son elipses, y nosotros conseguimos ese
resultado, las variantes más especializadas pueden encontrarse en la literatura especializada
por ejemplo Boyd, (2000).
( N1 )
lím sup | w j − u (v ) ( x j ) | ≤ K− N .
N→ ∞
72
4.4 Matrices de diferenciación de Chebyshev
En el último ítem nosotros discutimos por qué los puntos de la rejilla deben agruparse en
los límites (extremos) para métodos espectrales basados en polinomios. En particular,
introduciremos los puntos de Chebyshev,
xj = cos(jπ/N), j=0, 1, ..., N, (15)
Es la agrupación requerida. En este capítulo nosotros deberemos usar estos puntos para
construir el la matriz de diferenciación de Chebyshev y aplicar estas matrices para
diferenciar funciones. El mismo conjunto de puntos continuará siendo la base de muchos de
nuestros cálculos a lo largo del resto de este trabajo.
Nuestro esquema es como sigue. Dado una función v definida en la rejilla de puntos de
Chebyshev, obtenemos una derivada discreta w en esos (dos) pasos:
Esta operación es lineal, para que pueda representarse por la multiplicación por una matriz
(N + 1)×(N + 1), el cual está denotada por DN:
w = DNv
Aquí N es un entero positivo arbitrario, par o impar. La restricción a N par en este trabajo
(arriba) se aplica a los métodos espectrales de Fourier, no ha los métodos espectrales de
Chebyshev.
Para conseguir una percepción para el proceso de interpolación, nosotros damos una mirada
a N = 1 y N = 2 antes de proceder al caso general.
Esta fórmula implica que D1 es la matriz 2×2 cuya primera columna contiene las entradas
constantes de ½ y de la segunda columna contiene las entradas constantes igual a –½:
1 − 1
D1 = 12 2
1 .
2 − 2
Ahora consideramos N=2. Los puntos de interpolación son x0=1, x1=0, y x2= –1, y la
interpolación cuadrática es:
p(x) = (½)x(1 + x)v0 + (½)(1 + x)(1 – x)v1 + (½)x(x – 1)v2.
Derivando se llega a un polinomio lineal
p'(x) = (x + ½)v0 – 2xv1 + (x – ½)v2.
1
Se refiere al polinomio lineal de Lagrange.
73
La matriz diferenciación D2 es una matriz de 3×3 donde la j-ésima columna se obtiene por
pruebas de j-ésima expresión para x = 1, x = 0, x = –1:
3 − 2 1
2 2
D2 = 12 0 − 12 (16)
1
− 2 − 32
2
No es ninguna coincidencia que la fila central de esta matriz contiene los coeficientes a una
derivada para una aproximación de diferencias finitas centrales de tres puntos 1, y las otras
filas contienen los coeficientes para las aproximaciones unilaterales tal como la fórmula de
derivada de segundo orden de Adams Bashforth para la solución numérica de EDOs
(Burden y Faires, Nakamura, Sangiacomo). Las filas de orden superior de una matriz de
diferenciación espectrales pueden también verse como los vectores de coeficientes de
fórmulas de diferencias finitas, pero éstos están basados en mallas de paso desiguales y así
no puede llevarse estas aplicaciones estándares a familias más grande.
Damos las fórmulas para las entradas de DN para N arbitrarios. Posiblemente los primeros
en publicar ello fueron G. H. Golub y J. H. Welsch (Trefethen, (2007)). Fórmulas análogas
para conjuntos generales {xj} en vez de sólo puntos de Chebyshev se pueden también
utilizar que no trataremos aquí.
1
Ver Burden y Faires, 2007. Nakamura, 1992, Sangiacomo, A. y Antoine, 2004.
74
La j-ésima columna de DN contiene la derivada de grado N del polinomio de interpolación
de pj(x) de la función delta soportada en xj, sobre la rejilla {xi}. Tres cosas visibles son los
valores sugeridos por las líneas cruzadas en figura 4.10.
Figura 4.10: El polinomios interpolación p(x) de Grado 12 para la función delta soportadas en x8 en los 13
punto de la rejilla de Chebyshev con N = 12. Las tangentes indicadas por las líneas cruzadas, de derecha a
izquierda, son las entradas (D12)7;8, (D12)8;8, y (D12)9;8 de la matriz de diferenciación espectral D12 de 13×13.
Fuente: Trefethen, (2007).
cheb.m
% CHEB cálculo de D = matriz diferenciación, x = malla de Chebyshev
function [D,x] = cheb(N)
if N==0, D=0; x=1; return, end
x = cos(pi*(0:N)/N)';
c = [2; ones(N-1,1); 2].*(-1).^(0:N)';
75
X = repmat(x,1,N+1);
dX = X-X';
D = (c*(1./c)')./(dX+(eye(N+1))); % apaga las entradas de la diagonal
D = D - diag(sum(D')); % entradas de la diagonal
Note que este programa no calcula DN exactamente por las fórmulas (17) – (19) del teorema.
Utiliza (19) para las entradas fuera de la diagonal y para obtener las entradas de las
diagonales usa (17 a 18) de la identidad
N
( DN ) ii = − ∑ (DN ) ij
. (20)
j= 0
j≠ i
Esto es marginalmente más simple de programar, y este hecho produce una matriz con
buenas propiedades de estabilidad en presencia de errores de redondeo Trefethen 2007. La
ecuación (20) puede derivarse notando que la interpolación para (1, 1, ..., 1) T son la función
constante p(x) = 1, y aquí el p'(x) = 0 para todo x, DN debe trazar (1, 1, ...; 1)T en el vector
cero.
Aquí presentamos las cinco primeras matrices diferenciación de Chebyshev, calculadas por
el programa cheb. Notamos que ellas son matrices densas, con aparente estructura pequeña
aparte de la condición del antisimetría (DN)ij = –(DN)N –i,N–j.
>> cheb(1)
0.5000 -0.5000
0.5000 -0.5000
>> cheb(2)
1.5000 -2.0000 0.5000
0.5000 0 -0.5000
-0.5000 2.0000 -1.5000
>> cheb(3)
3.1667 -4.0000 1.3333 -0.5000
1.0000 -0.3333 -1.0000 0.3333
-0.3333 1.0000 0.3333 -1.0000
0.5000 -1.3333 4.0000 -3.1667
>> cheb(4)
5.5000 -6.8284 2.0000 -1.1716 0.5000
1.7071 -0.7071 -1.4142 0.7071 -0.2929
-0.5000 1.4142 0.0000 -1.4142 0.5000
0.2929 -0.7071 1.4142 0.7071 -1.7071
-0.5000 1.1716 -2.0000 6.8284 -5.5000
>> cheb(5)
8.5000 -10.4721 2.8944 -1.5279 1.1056 -0.5000
2.6180 -1.1708 -2.0000 0.8944 -0.6180 0.2764
-0.7236 2.0000 -0.1708 -1.6180 0.8944 -0.3820
0.3820 -0.8944 1.6180 0.1708 -2.0000 0.7236
-0.2764 0.6180 -0.8944 2.0000 1.1708 -2.6180
0.5000 -1.1056 1.5279 -2.8944 10.4721 -8.5000
76
El programa 5 ilustra la matriz DN que puede ser usada para diferenciar una función suave
no periódica u(x) = exsen(5x) sobre la rejilla de N=10 y N=20. La salida muestra una figura
de u(x) y al lado un cuadro con la muestra del error de N=20, con 9 dígitos de precisión.
77
Salida 6: Precisión de la derivada espectral de Chebyshev para cuatro funciones de aumento suave.
Compárelos con Programa 7.
Esta es una ecuación de Poisson, cuya solución es u(x) = [e4x – senh(4) – cosh(4)]/16.
Usamos la notación de las EDP (PDE)2 uxx en lugar de u'' porque después aumentaremos la
dimensión.
1
EDO Ecuación Diferencial Ordinaria, en ingles ODE (Ordinary Differential Equations).
2
(PDE) (Partial Differential Equations). Corresponde a EDP Ecuación Diferencial Parcial.
En lo que trata de este trabajo para Ecuaciones diferenciales ordinarias se considerara indistintamente ODE o EDO y
para parciales EDP o PDE.
78
coste es O(N2) de error. Hay ventajas reales en las últimas aproximaciones, pero en este
trabajo, por simplicidad, nosotros simplemente haremos DN al cuadrado.
> Sea p(x) el único polinomio de grado ≤ N con el p(±1) = 0 y p(xj) = vj, 1 ≤ j ≤ N–1.
> wj = p''(xj), 1 ≤ j ≤ N–1.
Estas no son las únicas condiciones de frontera que se resuelven con los métodos
espectrales. Consideraremos las alternativas en ítems 4.6, dónde entre otros ejemplos, y se
resuelve (21) de nuevo para un Dirichlet no homogéneo y después con las condiciones de
frontera de Neumann (condición homogénea y no homogénea), respectivamente.
Ahora (DN)2 es una matriz (N+1)×(N+1) que transforma un vector v = (v0, ..., vN)T en un
vector w = (w0, ..., wN)T. El procedimiento describe los resultados para lo que nosotros
deseemos:
Esto implica que la primera y la última columna de (DN)2 no tienen efecto (pues se
multiplicó por cero) y esto hace que la primera y última fila no tienen efecto (pues son
ignoradas):
En otras palabras, resolver nuestro problema de dimensión uno de Poission por un método
espectral de Chebyshev, es hacer una matriz 1 D ~ 2 de (N–1)×(N–1), obtenida de (D )2
N N
1
El problema de reducir el orden de la matriz de (DN)2 a
~2
D de (N–1)×(N–1) se debe a que cuando las fronteras son
N
constantes o Dirichlet, puesto que las constantes pasaron a la columna de constantes b del sistema Ax=b.
79
~ 2 = D 2 (1 : N − 1, 1 : N − 1).
D N N
2( 4 2 ) + 1 11 ( − 1)1 −2 ( − 1) 2 −2
6
= 2
2 1− x1
= 2 1− x 2
= 1−20 1
2
(− 1) 4
1− 22 1+ 22
1 ( − 1)1 2 + 2 − 22 −1
− 2 1− 2 = 2 − 21 1
2
2(1− 12 ) −0 2 2(1+ 2 )
2 2
1 −1 −1 1
D4 = − 2 0 2
− 22 0 + 22
2 2
1 1 2 2 −1
2(1+ 22 ) − 22 − 22 2 (1− 12 ) 2(1− 12 ) 2(1− 22 )
2( 4 2 ) + 1
− 12 2
2
− 2 2
− 6
1+ 2 1− 22
5.5000 - 6.8284 2.0000 - 1.1716 0.5000
1.7071 - 0.7071 - 1.4142 0.7071 - 0.2929
= - 0.5000 1.4142 0 - 1.4142 0.5000
0.2929 - 0.7071 1.4142 0.7071 - 1.7071
- 0.5000 1.1716 - 2.0000 6.8284 - 5.5000
~
Ahora construimos DN2 , para abreviar solo será D2 entonces
- 14.0000 6.0000 - 2.0000
~2
DN = D 2 = 4.0000 - 6.0000 4.0000 ,
- 2.0000 6.0000 - 14.0000
f = [ e 2 2 , e0, e − 2 2 ]T = [16.919, 1.000, 0.059]T
Resolvemos el sistema D2v=f
- 14.0000 6.0000 - 2.0000 v1 16.9188
4.0000 - 6.0000 4.0000 v = 1.0000
2 ,
- 2.0000 6.0000 - 14.0000 v3 0.0591
80
v = [-1.8886, -1.7482, -0.4836]T
recuperamos los ceros o sea la condición inicial del problema (21)
v = [0, -1.8886, -1.7482, -0.4836, 0]T
Hasta aquí ya se tiene la solución dada por utilización de la matriz diferenciación de
Chebyshev, pero sólo para los puntos xi del dominio.
Construimos el polinomio usando mínimos cuadrados con los vectores x como dominio y v
como rango o sea:
p4(x) = 1.2482x4 + 1.9869x3 + 0.5000x2 -1.9869x -1.7482.
Con esto se tiene la solución algebraica aproximada del problema, faltando sólo evaluar,
para así tener la solución numérica en x:
ui = p4(xi)
u = [p4(1)=0, p4(2½/2), p4(0), p4(-2½/2), p4(-1)] =
= [-0.0000, -1.8886, -1.7482, -0.4836, 0.0000]
81
Salida 13 del Programa 13 (vea el Programa 13 en el apéndice):
¿Qué sucede, si la ecuación es no lineal? Por ejemplo, suponga que cambiamos (21) a
uxx = eu, –1 < x < 1, u(–1) = 0 = u(1). (22)
donde exp(v) es un vector columna definido por las componentes conocidas por (
vj
exp(v)) j = e .
Pasamos a dar solución al problema (22) de arriba, pues ya tenemos la matriz D2 para N=4,
y hacemos el primer v inicial = 0. De donde tenemos f ≈ la primera solución y proponemos una
tolerancia o error de 0.01.
f = [0, e0, e0, e0, 0]T = [0, 1, 1, 1, 0]T,
reducida sería f = [e0, e0, e0]T = [1, 1, 1]T, aplicamos el proceso iterativo hasta conseguir
cumplir la tolerancia o error pedido. La primera iteración:
0
- 14.0000 6.0000 - 2.0000 v1 e
4.0000 - 6.0000 4.0000 v = e 0
2
- 2.0000 6.0000 - 14.0000 v3 e 0
T
v = [-0.2500, -0.5000, -0.2500] .
82
Segunda iteración renovamos f = [e-0.25, e-0.5, e-0.25]T,
− 0.25
- 14.0000 6.0000 - 2.0000 v1 e
4.0000 - 6.0000 4.0000 v = e − 0.5
2 ,
- 2.0000 6.0000 - 14.0000 v3 e − 0.25
v = [-0.1732, -0.3320, -0.1732]T
− 0.1884
- 14.0000 6.0000 - 2.0000 v1 e
4.0000 - 6.0000 4.0000 v = e − 0.3653
2 ,
- 2.0000 6.0000 - 14.0000 v3 e − 0.1884
T
v = [-0.1903, -0.3694, -0.1903]
El programa 14 implementa esta iteración con un criterio directo de finalización, para 10 -15
y la convergencia ocurre en 29 pasos.
Para convencernos que se ha llegado a la solución correcta, se puede modificar el programa
14 para que imprima los N resultados. Veamos la tabla 1:
1
Aquí cabe hacer notar que el sistema converge en forma alternante o sea, arriba y abajo.
83
N no. iter. u(0)
2 34 -0.35173371124920
4 29 -0.36844814823915
6 29 -0.36805450387666
8 29 -0.36805614384219
10 29 -0.36805602345302
12 29 -0.36805602451189
14 29 -0.36805602444069
16 29 -0.36805602444149
18 30 -0.36805602444143
20 29 -0.36805602444143
Tabla 1.
Fuente: Trefethen, (2007)
84
Hasta ahora hemos usado sólo método (I), pero el método (II) es más flexible y es a
menudo mejor para los problemas más complicados. (Se relaciona a los métodos del Tau
que aparecen en el campo de los métodos de Galerkin de los métodos espectrales.)
a) Empezamos con otro ejemplo que involucra el método (I). En el 4.5.1 programa 13 se
resolvió uxx=e4x en [–1, 1], con condiciones u(–1) = u(1) = 0. Avanzando un poco,
consideremos ahora el problema de las condiciones de frontera no homogéneas
uxx=e4x, –1 < x < 1, u(–1) = 0, u(1) = 1. (23)
El método (I) también puede aplicarse en este caso, con facilidad pero es trabajoso. Desde
que la ecuación es lineal y la segunda derivada de x es cero, podemos resolver el problema
simplemente con u(±1) = 0 y, le agregamos1 (x+1)/2 al resultado, entonces la nueva EDO es
uxx=e4x + (x+1)/2, –1 < x < 1, u(–1) = 0, u(1) = 0.
1
Es un procedimiento parecido al los métodos de Lanczos, donde se cambia la ecuación diferencial original en otra
equivalente, que si se puede resolver por un método a mano, este ya es un también un método aproximado.
85
Para ver los casos con más puntos en el dominio x por ejemplo N=16, vea el programa 32
cuya salida es:
El uso de métodos similares para una ecuación más interesante se ilustra en el problema
siguiente. La ecuación Allen-Cahn o bi-estable es un ejemplo de una ecuación de reacción-
difusión no lineal
ut = εuxx + u – u3 (24)
Con condición inicial u(x, 0) = 0.53x + 0.47sen(–1.5πx), u(–1) = –1, u(1) = 1 de valores de
frontera y ε es un parámetro que tomaremos para el caso particular ε=0.01. Esta ecuación
tiene tres estados constantes, u = –1, u=0 y u=1. El estado medio u=0 es inestable, pero los
estados u = ±1 son atractores1 y las soluciones tienden a exhibir áreas cerradas cerca de
estos valores separados por conectores que pueden unirse o perderse en una escala de
tiempo largo, es un fenómeno conocido como el de meta estabilidad (Boyd, (2000),
Trefethen, (2007)).
En la salida 34 vemos la meta estabilidad para t≈45 hasta la siguiente por transición rápida
a una solución con sólo una interfaz.
1
Se refiere a la situación de la teoría de estabilidad cuando las curves son espirales atrayente y en cero forma un polo pero
repelente (ver la figura de la salida 34).
86
0 0 0 0 0
9.2426 - 14.0000 6.0000 - 2.0000 0.7574
D 2 = - 1.0000 4.0000 - 6.0000 4.0000 - 1.0000 ,
0.7574 - 2.0000 6.0000 - 14.0000 9.2426
0 0 0 0 0
v = [1.0000, 0.4638, 0.0000, -0.4638, -1.0000]T
(1.0000)3
1.0000 1.0000 0 1.0000
0.4677 0.4638 0.0292 0.4638 (0.4638)3
- 0.0000 = 0.0000 + 0.01( 0.0000 + 0.0000 − (0.0000)3 )
3
- 0.4677 - 0.4638 - 0.0292 - 0.4638 (-0.4638)
- 1.0000 - 1.0000 0 - 1.0000 3
(-1.0000)
Iteración 2,
0 0 0 0 0 1.0000 0
9.2426 - 14.0000 6.0000 - 2.0000 0.7574 0.4677 - 0.0300
0.01D 2v = 0.01 - 1.0000 4.0000 - 6.0000 4.0000 - 1.0000 ⋅ - 0.0000 = 0.0000
0.7574 - 2.0000 6.0000 - 14.0000 9.2426 - 0.4677 0.0300
0 0 0 0 0 - 1.0000 0
1
El método de Euler simple es: dada una y' = f(t, y), con y(a)=y0, con t∈[a, b], se consigue una sucesión de puntos
solución {yi}i=0 con la fórmula recursiva yn+1=yn + hf(tn, yn), donde h = (b-a)/N (ver Burden y Faires, (2007)).
87
(1.0000)3
1.0000 1.0000 0 1.0000
0.9574 0.4677 - 0.0300 0.4677 (0.4677)3
- 0.0000 = - 0.0000 + 0.01( 0.0000 + - 0.0000 − (-0.0000)3 )
3
- 0.9574 - 0.4677 0.0300 - 0.4677 (-0.4677)
- 1.0000 - 1.0000 0 - 1.0000 3
(-1.0000)
. . . . . . . . . . . . . . . . . . .
Y así sucesivamente hasta llegar a haber superado la tolerancia o error...
Iteración 20,
0 0 0 0 0 1.000 0
9.2426 - 14.0000 6.0000 - 2.0000 0.7574 0.983 - 0.0331
0.01D 2v = 0.01 - 1.0000 4.0000 - 6.0000 4.0000 - 1.0000 ⋅ - 0.000 = 0.0000
0.7574 - 2.0000 6.0000 - 14.0000 9.2426 - 0.983 0.0331
0 0 0 0 0 - 1.000 0
(1.0000)3
1.0000 1.0000 0 1.0000
0.9830 0.9830 - 0.0331 0.9830 (0.9830)3
- 0.0000 = - 0.0000 + 0.01( 0.0000 + - 0.0000 − (-0.0000)3 ) .
3
- 0.9830 - 0.9830 0.0331 - 0.9830 (-0.9830)
- 1.0000 - 1.0000 0 - 1.0000 3
(-1.0000)
Figura 11.
88
Salida 26: Solución del Allen-Cahn la ecuación (24) con ε=10-2. Las dos jorobas
interiores son meta-estables y desaparecen repentinamente cerca del t=45.
89
Conclusiones
Se aplicó técnicas con que se obtienen las aproximaciones de polinomios que resultan ser
eficiente desde el punto de vista de los cálculos a realizar; una vez que se conoce Pn(x) es
fácil determinar Pn+1(x), por ejemplo los polinomios de Chebyshev sólo requiere la fórmula
de recurrencia para generar el Tn+1(x) y el problema de aproximación de mínimos cuadrado
se simplifica grandemente, cuando se selecciona las funciones φ0(x), φ1(x), ..., φn(x) que
satisfagan la condición de ortogonalidad. Entonces, esa es la importancia del porque el
estudio aquí de estos conjuntos.
Los métodos que se han desarrollado en la parte del capítulo 2 con respecto a Chebyshev en
el tipo de problemas que son los de polinomios de aproximación consiguen:
1. Una colocación óptima de los puntos de interpolación para reducir al mínimo el error
en la interpolación de Lagrange.
2. Un medio de reducir el grado de un polinomio de aproximación con una pérdida de
exactitud mínima.
Al tener la necesidad, cualquiera sea el caso, de tener que interpolar una función, no solo es
cuestión de calcular un número grande de coeficientes de Lagrange, sino que también la
elección de los puntos de la malla es de suma importancia. Aquellos valores de abscisas que
se tomen siguiendo el método de Chebyshev, siempre que se pueda, nos va a asegurar que
el error tiende a cero a medida que tomamos más puntos. Sin embargo, esto último tiene
una desventaja: realizar el cálculo a mano, puede llegar a ser mas tedioso, ya que ahora no
es sólo dividir el intervalo de forma equiespaciada, sino que hay que utilizar la expresión
xk=cos((2k+1)π/2N) y por ello, utilizar un sistema de cómputo simplifica de forma
significativa el trabajo.
90
Las entrada de la matriz de diferenciación de Chebyshev DN se puede calcular por fórmulas
explicitas, el cual pueden ser convencionalmente programadas en 8 líneas en una función
en MatLab. Fórmulas explicitas más generales pueden ser usadas para la construcción de la
matriz diferenciación para conjuntos arbitrarios de distintos puntos {xj}. Además esta
matriz de diferenciación de Chebyshev DN permite el cálculo diferencial de funciones con
muy buena precisión.
91
Bibliografía
Boyd, J (1991). A Fast Algorithm for Chebyshev, Fourier & Sinc Interpolation Onto an Irregular
Grid. Department of Atmospheric, Oceanic & Space Sciences & Laboratory for Scientific
Computation. University of Michigan. Recuperado de World Wide Web 2010 03 12.
Boyd, J. (2000). Chebyshev and Fourier Spectral Methods. EE. UU. Michigan: DOVER
Publications, Inc. Second Edition. Recuperado de World Wide Web 2010 03 12 http://www-
personal.engin.umich.edu/~jpboyd/
Burden y Faires. (1985). Análisis Numérico con aplicaciones. México. Editorial
Burden y Faires. (2007). Análisis Numérico con aplicaciones. México. Recuperado de la World
Web Wide 2009 07 10 http://www.as.ysu.edu/~faires/Numerical-Analysis/
Cardoso, P. (2007). Metodo Pseudo Espectral de Chebyshev para Problemas de Propagacao de
Ondas com Condicoes de Fronteira Absorventes. Tesis Doctoral. Universidade Federal de Santa
Catarina. Brasil: Florianópolis. Recuperado de World Wide Web 2011 01 12.
Costa, B. (2004). Spectral Methods for Partial Differential Equations. CNPq grant # 300315/98–8.
Recuperado de World Wide Web 2009 10 12.
Demidowitsch, B., Maron, I. y Schuwlowa, E. (1980). Métodos Numéricos de Análisis. España,
Madrid: Editorial Paraninfo. ISBN 84-283-1056-4.
Gerald, C. y Wheatley, P. (2000). Análisis Numérico con aplicaciones. México. Pearson
Educación. Sexta edición ISBN 968-444-393-5
Gil, A., Segura, J. y Temme, N. (2007). Numerical Methods for Special Functions. Cap. 3.
Chebyshev Expansions. By the Society for Industrial and Applied Mathematics.
Gómez de la Garza, C. (2004). Sobre la Derivada Semiespectral Usando Matemática. Ensenada,
México. Tesis de MAESTRO. Recuperado de la World Web Wide 2009 07 10
Guillermo López, G. y Pijeira, H. (2001). Polinomios Ortogonales. XIV Escuela Venezolana de
Matemáticas 2001 Facultad de Ciencias, Universidad de los Andes Mérida, Venezuela.
Recuperado de la World Web Wide 2010 noviembre 10.
Hernández, J. (2006). Polinomios Ortogonales, Funciones de Transferencia y Transformaciones
Espectrales. Tesis doctoral. Leganés: Escuela Politécnica Superior departamento de matemáticas,
Universidad Carlos III de Madrid. Recuperado de World Wide Web 2009 10 11.
Hsu, H., (1973). Análisis de Fourier. Colombia. Fondo Educativo Interamericano, S. A.
López, G. y Pijeira, H. (2001). Polinomios Ortogonales. XIV Escuela Venezolana de Matemáticas
2001. Facultad de Ciencias, Universidad de los Andes. Mérida, Venezuela
Merlini, C. y Pereira, B. (2006). Um estudo dos fundamentos dos métodos espectrais com
aplicacoes computacionais II. Tesis doctoral. Brasil, Florianópolis-SC: Universidade Federal de
Santa Catarina CFM - Departamento de Matemática. Recuperado de World Wide Web 2011 01 12.
Métodos Numéricos. (2007). Métodos Numéricos II. Universidad de Valladolid. 15 de febrero de
2007. Recuperado de World Wide Web 2008 03 14.
Nakamura, S. (1992). Métodos Numéricos Aplicados con Software. Méjico: Prentice-Hall
Hispanoamericana, S.A. ISBN 968-880-263-8
Peñuñuri, F. R. y Cab Cauich, C. A. (2008). Métodos variacionales en la solución de ecuaciones
92
diferenciales: una mejora al método de colocación. Ingeniería, Revista Académica de la FI-
UADY, 12-2, pp. 37-44, ISSN: 1665-529X
Sangiacomo, A. y Antoine, S. (2004). Manual de Métodos Numérica para la Solución de
Ecuaciones Diferenciales con Software. Tercera edición. Edición Rústica UNSA Arequipa 2004.
Trefethen, L. (2007). Finite Difference and Spectral Methods for Ordinary and Partial Differential
Equations. Recuperado de World Wide Web 2010 06 12. http://www.comlab.ox.ac.uk/oucl/
work/nick.trefethen y http://web.comlab.ox.ac.uk/oucl/work/nick.trefethen/pdetext.html
Trefethen, L. (2007a). Spectral Methods in MATLAB. Recuperado de World Wide Web 2010 08
12. http://www.comlab.ox.ac.uk/oucl/work/nick.trefethen
Vinasco, G., Arango, S. Marín, C. y Palacio, C. (2007). Métodos espectrales en la solución de
ecuaciones diferenciales. Matemáticas avanzadas. Universidad Antioquia Colombia Abril 2007.
Recuperado de World Wide Web 2010 01 12
Williams, W., (1985). Series de Fourier y Problemas con valores de Frontera. Méjico, Editorial
Limusa, S. A. ISBN 968-18-0715-4
93
Apéndice
94
column = [0 .5*(-1).^(1:N-1).*... % Ploteado de curvas equipotenciales:
cot((1:N-1)*h/2)]; subplot(2,2,2*i)
D = toeplitz(column,column([1 N:-1:2])); plot(real(x),imag(x),'.','markersize',13),
% Plotea el max(abs(D*u-uprima)): hold on
error = norm(D*u-uprima,inf); axis([-1.4 1.4 -1.12 1.12])
loglog(N,error,'.','markersize',15), hold on xgrid = -1.4:.02:1.4; ygrid = -1.12:.02:1.12;
end [xx,yy] = meshgrid(xgrid,ygrid);
grid on, xlabel N, ylabel error zz = xx+1i*yy;
title( pp = polyval(p,zz); levels = 10.^(-4:0);
'Convergencia de la diferenciación espectral ') contour(xx,yy,abs(pp),levels),
title(s), colormap(1e-6*[1 1 1]);
============== end
Programa 3. =======================
% 03. - interpolación polinomial en puntos
Programa 5:
% de Chebyshev equi espaciado
N = 16; % 05. - Diferenciación de Chebyshev
xx = -1.01:.005:1.01; clf % de una función suave
for i = 1:2 xx = -1:.01:1; uu = exp(xx).*sin(5*xx); clf
if i==1, s = ' puntos equiespaciados '; for N = [10 20]
x = -1 + 2*(0:N)/N; end [D,x] = cheb(N); u = exp(x).*sin(5*x);
if i==2, s = ' puntos de Chebyshev'; subplot('position',[.15 .66-.4...
x = cos(pi*(0:N)/N); end *(N==20) .31 .28])
subplot(2,2,i) plot(x,u,'.','markersize',14), grid on
u = 1./(1+16*x.^2); line(xx,uu)
uu = 1./(1+16*xx.^2); title([' u(x), N=' int2str(N)])
p = polyfit(x,u,N); % interpolación error = D*u - exp(x).*(sin(5*x)+5*cos(5*x));
pp = polyval(p,xx); % evaluación de la subplot('position',[.55 .66-.4...
% interpolación *(N==20) .31 .28])
plot(x,u,'.','markersize',13) plot(x,error,'.','markersize',14), grid on
line(xx,pp) line(x,error)
axis([-1.1 1.1 -1 1.5]), title(s) title([' error en u''(x), N=' int2str(N)])
error = norm(uu-pp,inf); end
text(-.5,-.5,['max error = ' num2str(error)])
end ===================
================== Programa 6:
Programa 4: % 06. – precisión de la diferenciación
% espectral de Chebyshev
% 04. - polinomios y sus correspondientes
% curvas equipotenciales % Cálculo de la derivada para varios valores de N:
Nmax = 50; E = zeros(3,Nmax);
N = 16; clf for N = 1:Nmax;
for i = 1:2 [D,x] = cheb(N);
if i==1, s = ' Puntos equiespaciado'; v = abs(x).^3; vprima = 3*x.*abs(x);
x = -1 + 2*(0:N)/N; end % 3rd deriv en Va.Fro.
if i==2, s = ' Puntos de Chebyshev'; E(1,N) = norm(D*v-vprima,inf);
x = cos(pi*(0:N)/N); end v = exp(-x.^(-2)); vprima = 2.*v./x.^3;
p = poly(x); % C-infinito
% Plotea p(x) sobre [-1,1]: E(2,N) = norm(D*v-vprima,inf);
xx = -1:.005:1; pp = polyval(p,xx); v = 1./(1+x.^2); vprima = -2*x.*v.^2;
subplot(2,2,2*i-1) % analítico en [-1,1]
plot(x,0*x,'.','markersize',13), hold on E(3,N) = norm(D*v-vprima,inf);
plot(xx,pp), grid on v = x.^10; vprima = 10*x.^9;
set(gca,'xtick',-1:.5:1), title(s) % polinomial
95
E(4,N) = norm(D*v-vprima,inf); plot(x,u,'.','markersize',16)
end xx = -1:.01:1;
% Ploteo de resultados: uu = polyval(polyfit(x,u,N),xx);
titles = {'|x^3|','exp(-x^{-2})','1/(1+x^2)','x^{10}'}; line(xx,uu,'linewidth',.8), grid on
clf title(sprintf('no. pasos = %d u(0)...
for iplot = 1:4 =%18.14f',it,u(N/2+1)))
subplot(2,2,iplot) ======================
semilogy(1:Nmax,E(iplot,:),'.','markersize',12)
line(1:Nmax,E(iplot,:)) Programa 7
axis([0 Nmax 1e-16 1e3]), grid on % 07 – Resuelve Ec. Diferencial lineal
set(gca,'xtick',0:10:Nmax,'ytick',(10).^(-15:5:0)) % PVF u_xx = exp(4x), u(-1)=u(1)=0
xlabel N, ylabel error, title(titles(iplot))
end N = 16;
[D,x] = cheb(N);
======================== D2 = D^2;
D2 = D2(2:N,2:N); % condiciones de frontera
Programa 7 f = exp(4*x(2:N));
u = D2\f; % Aquí resuelve la
% 07. – Resuelve Pro. Va. Front. % Ecuación Poisson
% Lineal u_xx = exp(4x), u(-1)=u(1)=0 u = [0;u;0];
N = 16; clf, subplot('position',[.1 .4 .8 .5])
[D,x] = cheb(N); plot(x,u,'.','markersize',16)
D2 = D^2; xx = -1:.01:1;
D2 = D2(2:N,2:N); % condición de Frontera uu = polyval(polyfit(x,u,N),xx); % Malla de
f = exp(4*x(2:N)); % interpolación para los datos
u = D2\f; line(xx,uu)
% Aquí resuelve la ecuación de Poisson grid on
u = [0;u;0]; exact = ( exp(4*xx) - sinh(4)*xx - cosh(4) )/16;
clf, subplot('position',[.1 .4 .8 .5]) title(['max err = ' num2str(norm(uu-...
plot(x,u,'.','markersize',16) exact,inf))],'fontsize',12)
xx = -1:.01:1;
uu = polyval(polyfit(x,u,N),xx); =================
% datos de la malla de interpolación
line(xx,uu,'linewidth',.8) Programa 8
grid on % 08. - Resuelve un PVF no linear
exact = ( exp(4*xx) - sinh(4)*xx - cosh(4) )/16; % u_xx = exp(u), u(-1)=u(1)=0
title(['máx err = ' ...
num2str(norm(uu-exact,inf))], 'fontsize',12) N = 16;
[D,x] = cheb(N); D2 = D^2; D2 = D2(2:N,2:N);
================== u = zeros(N-1,1);
change = 1; it = 0;
Programa 8 while change > 1e-15 % iteración de punto fijo
unew = D2\exp(u);
% 08. - Resuelve un PVF no linear
change = norm(unew-u,inf);
% u_xx = exp(u), u(-1)=u(1)=0
u = unew; it = it+1;
N = 16; end
[D,x] = cheb(N); D2 = D^2; D2 = D2(2:N,2:N); u = [0;u;0];
u = zeros(N-1,1); clf, subplot('position',[.1 .4 .8 .5])
change = 1; it = 0; plot(x,u,'.','markersize',16)
while change > 1e-15 % iteración de punto fijo xx = -1:.01:1;
unew = D2\exp(u); uu = polyval(polyfit(x,u,N),xx);
change = norm(unew-u,inf); line(xx,uu,'linewidth',.8), grid on
u = unew; it = it+1; title(sprintf('no. pasos = %d u(0)...
end =%18.14f',it,u(N/2+1)))
u = [0;u;0];
clf, subplot('position',[.1 .4 .8 .5]) ===============
96
Programa 9 f = exp(4*x(2:N));
u = D2\[f;0];
% 09. – Ec. Poisson sobre [-1,1]x[-1,1]
u = [0;u];
% con u=0 en la frontera
clf, subplot('position',[.1 .4 .8 .5])
% Preparando la malla y producto tensorial plot(x,u,'.','markersize',16)
% Laplaciano y resolver para u: axis([-1 1 -4 0])
N = 24; [D,x] = cheb(N); y = x; xx = -1:.01:1;
[xx,yy] = meshgrid(x(2:N),y(2:N)); uu = polyval(polyfit(x,u,N),xx);
xx = xx(:); yy = yy(:); % la malla 2D alarga para 1D line(xx,uu)
vector grid on
f = 10*sin(8*xx.*(yy-1)); exact = (exp(4*xx) - 4*exp(-4)*(xx-1) - exp(4))/16;
D2 = D^2; D2 = D2(2:N,2:N); I = eye(N-1); title(['max err = ' num2str(norm(uu-exact,inf))],'fontsize',12)
L = kron(I,D2) + kron(D2,I); % Laplaciano
==================
figure(1), clf, spy(L), drawnow
tic, u = L\f; toc % Resuelve el problema y marca el tiempo
Programa 12
% Reformula los resultados de 1D a una malla 2D: % 012.m – Ec. de Allen-Cahn u_t = eps*u_xx+u-u^3,
uu = zeros(N+1,N+1); uu(2:N,2:N) = reshape(u,N-1,N-1); % u(-1)=-1, u(1)=1
[xx,yy] = meshgrid(x,y);
value = uu(N/4+1,N/4+1); % Matriz Diferenciación y condición inicial:
N = 20; [D,x] = cheb(N); D2 = D^2; % usa toda matriz
% Interpola para una malla más fina y lo plotea: D2([1 N+1],:) = zeros(2,N+1); % por conveniencia
[xxx,yyy] = meshgrid(-1:.04:1,-1:.04:1); eps = 0.01; dt = min([.01,50*N^(-4)/eps]);
uuu = interp2(xx,yy,uu,xxx,yyy,'cubic'); t = 0; v = .53*x + .47*sin(-1.5*pi*x); % condición inicial
figure(2), clf, mesh(xxx,yyy,uuu), colormap(1e-6*[1 1 1]);
xlabel x, ylabel y, zlabel u % Resuelve EDP por fórmula Euler y plotea resultados:
text(.4,-.3,-.3,sprintf('u(2^{-1/2},2^{-1/2}) = %14.11f',value)) tmax = 100; tplot = 2; nplots = round(tmax/tplot);
================== plotgap = round(tplot/dt); dt = tplot/plotgap;
xx = -1:.025:1; vv = polyval(polyfit(x,v,N),xx);
Programa 10 plotdata = [vv; zeros(nplots,length(xx))]; tdata = t;
for i = 1:nplots
% 010. – Resuelve u_xx = exp(4x), u(-1)=0, u(1)=1 for n = 1:plotgap
N = 16; t = t+dt; v = v + dt*(eps*D2*(v-x) + v - v.^3); % Euler
[D,x] = cheb(N); end
D2 = D^2; vv = polyval(polyfit(x,v,N),xx);
D2 = D2(2:N,2:N); plotdata(i+1,:) = vv; tdata = [tdata; t];
f = exp(4*x(2:N)); end
u = D2\f; clf, subplot('position',[.1 .4 .8 .5])
u = [0;u;0] + (x+1)/2; mesh(xx,tdata,plotdata), grid on, axis([-1 1 0 tmax -1 1]),
clf view(-60,55), colormap(1e-6*[1 1 1]);
subplot('position',[.1 .4 .8 .5]) xlabel x, ylabel t, zlabel u
plot(x,u,'.','markersize',16)
xx = -1:.01:1;
==================
uu = polyval(polyfit(x,u,N),xx);
line(xx,uu), grid on
exact = (exp(4*xx) - sinh(4)*xx - cosh(4))/16 + (xx+1)/2;
title(['max err = ' num2str(norm(uu-exact,inf))],'fontsize',12)
==================
Programa 11
% 011.-Resuelve lineal PVF u_xx = exp(4x), u'(-1)=u(1)=0
N = 16;
[D,x] = cheb(N); D2 = D^2;
D2(N+1,:) = D(N+1,:); % condición Neumann en x = -1
D2 = D2(2:N+1,2:N+1);
97