Está en la página 1de 106

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN

DE AREQUIPA
ESCUELA DE POSGRADO

UNIDAD DE POSGRADO DE LA FACULTAD DE CIENCIAS NATURALES Y FORMALES

PROPUESTA DIDÁCTICA Y CONOCIMIENTO DE UN


MÉTODO ESPECTRAL (método de Chebyshev), EN LA
ESPECIALIDAD DE MATEMÁTICA

Tesis presentada por el Bachiller:

Roger Álvaro Fernández Villarroel

Para optar el grado de Maestro en Matemática


Mención: Matemática Universitaria Superior
Asesor: Dr. Ángel Sangiacomo Carazas

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.

A NUESTRA ALMA MATER


La Universidad Nacional de San
Agustín de Arequipa. También
va mi profundo agradecimiento
a los docentes de la Maestría en
Matemática quienes nos dieron
la oportunidad de profundizar
conocimientos y habernos
especializado en la Maestría en
Matemática.

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:

1950s: métodos de diferencias finitas


1960s: métodos de elementos finitos
1970s: métodos espectrales

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)).

Los métodos espectrales más sencillos, para condiciones de contorno no periódicas, se


basan en calcular las derivadas de la ecuación utilizando los métodos de colocación, las
matrices y polinomios de Chebyshev e integrar con un método numérico estándar la
coordenada temporal (Vinasco y cols., (2007)).
(2007)

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.

En capítulo 2 tratamos directamente el problema de los polinomios de Chebyshev primero


con las aproximaciones discretas y los polinomios ortogonales por mínimos cuadrados.
Seguiremos con los polinomios de Chebyshev y economización de series de potencias y
series de Chebyshev terminando con la aproximación por la función racional.

Para llevar acabo todo lo antedicho nos planteamos los siguientes objetivos:

IV
Objetivo general:

Evaluar las métodos espectrales con aplicación de método de series y polinomios de


Chebyshev en la especialidad de matemática aplicada respecto a los métodos espectrales
(semiespectrales numéricos) y, a partir de tales, proponer nuevas alternativas de cambio
de didáctico para su mejor aprendizaje y correspondientemente su aplicación, para la
mejor preparación y que este enfoque tenga la capacidad y habilidad de enfrentar retos
futuros desconocidos.

Específicos:

Buscar los métodos espectrales existentes y componentes si aparecen,


relacionarlos entres si y conocerlos en el medio actual del desarrollo de la teoría
de series.

Conseguir disminuir la dificultad percibida o mejorar la capacidad de manejo


didáctico (cognitiva) de las cuestiones que encierran los métodos espectrales
respecto a los métodos numéricos para conseguir mejorar la aplicabilidad de su
entendimiento del tema.

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.

Elaborar un ensayo texto mínimo acompañado por su correspondiente software


[propio o el piloto] que sea de presentación didáctica amigable y de competencias
pertinentes.

Y los objetivos de arriba nos llevan a formular la siguiente hipótesis:

Los métodos espectrales prestados en forman didáctica permiten a los estudiantes de


matemática y de la maestría en matemática enfocar y aplicar los métodos numéricos de
forma más exacta y de manera óptima para mejorar el nivel en que estudiaran cursos de
métodos numéricos y computación.

Los elementos de los métodos espectrales y semiespetrales aprendidos en forma didáctica


nos permiten mejor aproximación de los métodos numéricos aplicados a problemas EDO y
EDP con el estudio directo por los polinomios 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

INTERPOLACIÓN POLINOMIAL Y AJUSTE POLINOMIAL

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)).

Boyd, (2000), Trefethen, (2007), ponen ejemplos ilustrativos pero de la forma


uxx+b(ux)2+bu uxx = 0 y la condiciones u(0) = 0, u(1)=1 los cuales son complicados y no
didácticos en su solución, nosotros lo haremos con un ejemplo sencillo, la ecuación
diferencial ordinaria y'=y–4t+3 que satisface la condición inicial y(0)=3.
Construimos una serie de la forma
y '' y ( n)
y = y0 + ty0′ + t 2 0 + ... + t n 0 + ...
2! n!
Entonces debemos identificar los valores y0, y'0, y''0, ... que actúan como parámetros de
identificación. De:
y'=y–4t+3 → y''=y'–4, y''=y'–4 → y''' = y''
de donde se puede hallar una regla de formación
y(n+1)=y(n), para n≥2.
Identificando se tiene
t=0 → y0 = 3; y'0 = 6; y''0 = 2; y0(n) = 2, n≥2.
Reemplazando estos resultados en la serie de Taylor se tiene
t3 t 4 2
y = 3 + 6t + t 2 + + + ... + t n + ...
3 12 n!
Que haciendo algunos artificios algebraicos nos queda
t2 t3 t4 tn
y = 1 + 4t + 2(1 + t + + + + ... + + ... ≈ e t )
2! 3! 4! n!
t
y llegamos a y = 1 + 4t+2e , que es la solución exacta.

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).

1.2 El Caso de Taylor

Si entendemos que es una serie de Taylor o un desarrollo de Taylor. Lo que se está


haciendo es construir un polinomio de colocación1 en un punto x0, tal que en ese punto sea
la representación de la función f (x0). Entonces nosotros para sacarle utilidad a lo anterior,
extrapolamos en una vecindad apropiada (podríamos decir en un intervalo conveniente,
cuyo centro es el punto x0 o |x – x0| < ε, ε > 0).
El problema se tiene planteado cuando se tiene un desarrollo fácil como el de Maclaurin
que se desarrolla en x0=0 y el intervalo es [0, 2]. Entonces, la oscilación en el punto x=2 es
grande. Nosotros podemos reducir esa perturbación, simplemente haciendo todo un
desarrollo de Taylor en el punto x0=1 esto nos reducirá el radio pues ya no es de 2 sino de 1
y ello también redunda en que se reduce el error2
1
Polinomio de Colocación se definirá y tratará más tarde.
2
Si el intervalo es [0, 2] el factor de proporcionalidad es 2r, donde r = 7 en este caso, o sea, 128, en cambio si el radio es
la mitad el factor es 1 r = 1 para este caso. Como notará es considerablemente más pequeño. Vea más abajo el ejemplo
ilustrativo.

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].

x Taylor ex error v ev+1 error


0.00 1.00000 1.00000 0.00000 -1.00000 0.99861 -0.00139
0.50 1.64870 1.64872 -0.00002 -0.50000 1.64870 -0.00002
1.00 2.71667 2.71828 -0.00161 0.00000 2.71806 -0.00022
2.00 7.26667 7.38906 -0.122390 1.00000 7.35417 -0.03489
Σ 0.12402 Σ 0.03374

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].

x Taylor ex error v ev+1 error


0.00 1.00000 1.00000 0.00000 -1.00 1.01528 0.01528
0.50 1.64844 1.64872 0.00028 -0.50 1.64922 0.00050
1.00 2.70833 2.71828 0.00995 0.00 2.71806 -0.00022
2.00 7.00000 7.38906 0.38906 1.00 7.33750 -0.05156
Σ 0.39929 Σ 0.06756
Tabla 1.3
El error en este caso nuevamente favorece a la transformación v en un 17%, pues, lo que se
ha conseguido es que se ha alcanzado distribuir mejor el error en todo el intervalo.

Ahora la pregunta inmediata es ¿existe mejoras a ese caso de arriba? la respuesta es


afirmativa. Y a saber por lo menos dos casos que veremos aquí: uno es el que los puntos de
colocación pueden ser los óptimos y otro es que existen polinomios que son de cierta
regularidad en determinados intervalos y esto se pueden usar para conseguir efectos
favorables.

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.

El otro problema a tratar es:


Segundo Problema: Dados n + 1 puntos de R2
( x0, y0), ( x1, y1 ) , ..., (xn, yn)
en los cuales x0, x1, ..., xn son números distintos, y dado un entero no negativo m, con m<n,
se trata de encontrar un polinomio
pm(x) = a0 + a1x + . . . + amxm
tal que la suma de cuadrados
n
∑ ( p m ( xk ) − y k ) 2
k= 0
sea mínima.
El criterio mediante el cual se elige el polinomio pm(x) es conocido como criterio de los
mínimos cuadrados. Probaremos que tal polinomio pm(x) existe y es único; se le denomina
polinomio de ajuste según mínimos cuadrados para los datos dados. Nótese que esta vez,
a diferencia de lo que ocurre con el polinomio de colocación, pm(xk) no necesariamente es
igual a yk para todo k = 0, 1,..., n. El polinomio pm(x) lo que da es un ajuste razonable a los
datos dados1.

Este tipo de aproximación mediante el polinomio de ajuste pm(x) se conoce como ajuste
polinomial.

1.3 Interpolación 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

entonces det A ≠ 0 (porque si i ≠ j, entonces xi ≠ xj), y por tanto el sistema en consideración


tiene solución única. Esto prueba la existencia de un único polinomio interpolante de grado
menor o igual que n para los n+ 1 datos dados. ♦

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.

1.3.2 Forma de Lagrange del polinomio interpolante


Para dar una visualización del método de Lagrange, digamos que tenemos los tres puntos
(x0, y0), (x1, y1), (x2, y2) con x0, x1, x2, números distintos y queremos hallar el polinomio
interpolante de grado menor o igual que dos
p2(x) = a0 + a1x + a2x2
para dichos puntos.
Como p2(xk) = yk, k = 0, 1, 2, entonces de (1) se tiene
 p2 ( x0 ) = a0 + a1 x0 + a2 x 20 = y0
 2
 p2 ( x1 ) = a0 + a1 x1 + a2 x 1 = y1
 p (x ) = a + a x + a x2 = y
 2 2 0 1 2 2 2 2

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.

Los polinomios L0(x), L1(x) y L2(x), se denominan polinomios fundamentales de


Lagrange y el polinomio p2(x), obtenido de la manera anterior, se denomina polinomio de
interpolación de Lagrange o forma de Lagrange del polinomio interpolante para los
datos dados.
En general se tiene que:
Dados n + 1 puntos (x0, y0), (x1, y1), ..., (xn, yn) con x0, x1, ..., xn números distintos, el
polinomio de interpolación de Lagrange o la forma de Lagrange del polinomio
interpolante para los datos dados es el polinomio
n
pn ( x ) = y0 L0 ( x) + y1 L1 ( x) + ... + y j L j ( x ) + ... + yn Ln ( x) = ∑ y j L j ( x) (3)
j= 0
donde
( x − x 0 )( x − x1 )...( x − x j − 1 )( x − x j + 1 )...( x − x n ) n
( x − xk )
L j ( x) = ( x j − x 0 )( x j − x1 )...( x j − x j − 1 )( x j − x j + 1 )...( x j − x n )
= ∏ ( x j − xk ) . (4)
k= 0
k≠ j
Los polinomios Lj(x), anteriores, se denominan polinomios fundamentales de Lagrange.
Nótese que si se trata de n + 1 puntos, tales polinomios son de grado n.
Observe que
 1 si k = j
L j ( xk ) =  ; j=0, 1, 2, ..., n, k = 0, 1, 2, ..., n.
 0 si k ≠ j
y que para cada k = 0, 1, ..., n,
pn ( x) = y0 L0 ( x) + y1 L1 ( x) + ... + yk Lk ( x) + ... + yn Ln ( x)
    (5)
0 0 1 0
= yk
En el caso en que yk =f (yk), k = 0, 1, ..., n, la expresión para el polinomio de interpolación
de Lagrange se convierte en
pn ( x ) = f ( x0 ) L0 ( x) + f ( x1 ) L1 ( x) + ... + f ( x j ) L j ( x ) + ... + f ( xn ) Ln ( x) (5')
1
Caso particular: Calculemos el polinomio de interpolación lineal, correspondiente a los
puntos x0, y0, x1, y1 con x0 ≠ x1, usando la forma de Lagrange:
En este caso, el polinomio de interpolación de Lagrange es
p1 ( x ) = y0 L0 ( x) + y1L1 ( x)
con
( x − x1 ) ( x − x0 )
L0 ( x ) = ( x 0 − x1 ) y L1 ( x) = ( x1 − x 0 )
( x − x1 ) ( x − x0 )
p1 ( x ) = y0 L0 ( x) + y1L1 ( x) = y0 ( x 0 − x1 )
+ y1 ( x
1 − x0 )
y 0 ( x1 − x ) + y1 ( x − x 0 ) y 0 x1 − y 0 x + y1 x − y1 x 0
= ( x1 − x 0 )
= ( x1 − x 0 )

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.

La figura 1.2 siguiente, muestra las


gráficas de y = cos(x) y del polinomio
interpolante obtenido
Figura 1.2 4 2
y = p2 ( x ) = 1 − 2 x
π

Si usamos el polinomio interpolante de Lagrange, p2(x), para aproximar f(π/4)=cos(π/4) =1/


(2½) ≈ 0.71, tenemos
cos( π4 ) ≈ p2 ( π4 ) = 1 − 42 ( π4 ) 2 = 1 − 14 = 0.75 .
π

Nota: Con el propósito de comparar el polinomio p2(x), obtenido en el ejemplo anterior,


con el polinomio de Taylor de grado dos para f (x) = cos(x), alrededor de cero (polinomio
de Maclaurin), calculamos este último a continuación:
Como
f (x) = cos(x), f(0) = cos(0) = 1
f '(x) = –sen(x), f '(0) = –sen(0) = 0
f ''(x) = –cos(x), f '' (0)= –cos(0) = –1
entonces el polinomio de Maclaurin es p(x) = 1 – x2/2
Si usamos el polinomio de Maclaurin p (x) para aproximar el valor f(π/4)=cos(π/4),

10
( π4 ) 2
cos( π4 ) ≈ p ( π4 ) = 1 − 2
= 0.69

Debemos en este caso darnos cuenta, que la aproximación que da el polinomio de


Maclaurin para cos(π/4) es mejor que la que da el polinomio de interpolación. 

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)

En relación con este error se tiene el siguiente resultado.

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].

El máximo de |x(x2 – π2/4)| es x = ± π 3 / 6 . Da la cota máxima de E ≤ 0.249.


En particular, para x = π/4 se tiene que
1 π π 2 2
π 3π 2 π 3
| E ( π4 ) | ≤ (
6 4 16
− π
4
) = (
24 16
) = 128
≈ 0.243
Observe que el error real es
2
| E ( π4 ) | = cos( π4 ) − p ( π 4 ) = 1
− 3
4
≈ 0.0429
2
que está por debajo de la cota teórica de error, ya calculada. ♦ π 2
| E ( x) | ≤ 1
6
x( x 2 − 4
)

Debemos entender que una serie creada por métodos de espectros,


pn(x)=r0+r1(x – x0)+ r2(x – x0)2+ ...+ rn(x – x0)n
o pn(x)=r0+r1(x – x0)+ r2(x – x0)(x – x1)+ ...+ rn(x – x0)(x – x1)...(x – xn–1) (10)
lo interesante es casi siempre identificar los parámetros de tales series, los métodos son
muy variados y por ejemplo:

1.4 Forma de Newton del polinomio interpolante [forma parabólica]1


Dados n+1 puntos (x0, y0), (x1, y1), ..., (xn, yn) con x0, x1, ..., xn números distintos y yk = f(xk),
k = 0, 1, ..., n para alguna función f definida en algún intervalo [a, b] que contiene a los
nodos distintos x0, x1, ..., xn. El polinomio pn(x) de grado menor o igual que n que interpola
a f en los datos dados, puede expresarse en la forma
pn(x)=b0+b1(x – x0)+ b2(x – x0)(x – x1)+ ...+ bn(x – x0)(x – x1)...(x – xn–1) (11)
para ciertas constantes b0, b1, ..., bn.
¿Cómo determinar los coeficientes b0, b1, ..., bn?
Puesto que pn(xk) = yk = f(xk), k = 0,1,..., n , entonces
pn(x0) = b0 = f(x0), así que
b0 = f( x0)
pn(x1)=b0+b1(x1 – x0) = f(x1), así que
b1= (f(x1) – f(x0))/(x1 – x0)
pn(x2)=b0+b1(x2 – x0)+ b2(x2 – x0)(x2 – x1) = f(x2), así que
1
La idea aquí es que para un grado mayor no se tenga que empezar de cero, sino por el contrario, usar el grado ya
obtenido y sólo de alguna manera crear el que sigue con un mínimo de esfuerzo. Para una ilustración ver el Ejemplo 1.4.3

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])

b) La diferencia dividida uno de f con respecto a xk y xk+1 es


f [ xk + 1 ] − f [ xk ]
f [ xk , x k + 1 ] = ; k = 0, 1, ..., n–1 (14)
xk + 1 − xk
Observe que las diferencias divididas uno dependen de las diferencias divididas cero y que,
mientras hay n+1 diferencias divididas cero, hay n diferencias divididas uno.
f [ x1 ] − f [ x0 ]
(También observe que b1 = f [ x0 , x1] = .)
x1 − x0
c) La diferencia dividida dos de f con respecto a xk, xk+1 y xk+2 es
f [ xk + 1 , xk + 2 ] − f [ xk , xk + 1 ]
f [ xk , x k + 1 , xk + 2 ] = , k = 0, 1, ..., n–2
xk + 2 − xk
Observe que las diferencias divididas dos dependen de las diferencias divididas uno y que,
mientras hay n diferencias divididas uno, hay n +1 diferencias divididas dos.
f [ x1 , x 2 ] − f [ x0 , x1]
(También nos damos cuenta que b2 = f [ x0 , x1, x 2 ] = .)
x2 − x0
d) En general, conocidas las n –(i–1)+1 = n – i + 2 diferencias divididas i – 1 de f con
respecto a xk, xk+1,..., xk+i–1, f[xk, xk+1,..., xk+i–1], k = 0, 1,..., n –(i–1), se definen las n – i+1
diferencias divididas i de f con respecto a xk, xk+1,..., xk+i, así
f [ xk + 1 , xk + 2 ,..., xk + i ] − f [ xk , xk + 1 ,..., xk + i − 1 ]
f [ xk , x k + 1,..., xk + i ] = , k = 0, 1, ..., n–i.
xk + i − xk

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)

Es muy importante tener en cuenta que el polinomio progresivo y el polinomio regresivo de


Newton son el mismo polinomio (siempre y cuando se usen los mismos datos); lo que
ocurre es que en la fórmula progresiva el dato que más "pesa" es f [x0], mientras que en la
regresiva el que más "pesa" es f [xn].
En el caso en que el dato a interpolar esté más cerca del nodo central (o los nodos
centrales), se recomiendan otras diferencias divididas llamadas centradas, que no
estudiaremos aquí.
La forma de Newton del polinomio interpolante es más ventajosa que la forma de
Lagrange, pues el cálculo de los coeficientes en la forma de Newton va usando la
información anterior, lo que no sucede con la forma de Lagrange.
Observe que dados n + 1 datos (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)), la forma progresiva de
Newton del polinomio interpolante tiene la propiedad
pn(x) = pi-1(x) + f[x0, x1,..., xi](x – x0)(x – x1)...(x – xi–1), i = 2, 3, ..., n (17)

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)

Donde q(x) es un número que depende de x y q(x)∈(a, b).


De otro lado, usando la forma de Newton del polinomio interpolante de grado menor o
igual que n+1 para f en los nodos x0, x1,..., xn, tenemos que
f(x) = pn+1(x) = pn(x) + f[x0, x1,..., xn, x](x – x0)(x – x1)...(x – xn) (20)
Igualando las ecuaciones (19) y (20), concluimos que
E(x) = f(x) – pn(x) = f[x0, x1,..., xn, x](x – x0)(x – x1)...(x – xn) (21)
donde para calcular f[x0, x1,..., xn, x] usamos pn(x) ≈ f(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).

k xk f(xk) = f[xk] Diferencias Diferencias Diferencias


divididas 1 divididas 2 divididas 3
0 2.0 0.5103757 = b0 0.052043 = b1 –0.2597275=b2 0.04299367=b3
1 2.2 0.5207843 –0.051848 –0.2339313 0.04966667
2 2.4 0.5104147 –0.1454205 –0.2041313
3 2.6 0.4813306 –0.227073
4 2.8 0.4359160
Tabla 1.5

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).

Si usamos el polinomio más apropiado de grado tres


p3(x) = f[x0] + f[x0, x1](x – x0)+ f[x0, x1, x2](x – x0)(x – x1)
+ f[x0, x1, x2, x3](x – x0)(x – x1)(x – x2)
nos queda
p3(2.1) = p2(2.1) + f[x0, x1, x2, x3](x – x0)(x – x1)(x – x2)

17
= 0.5181773 + 0.04299367(2.1 – 2.0)(2.1 – 2.2)(2.1 – 2.4)
= 0.5183063 ≈ f(2.1)

Finalmente, si usamos el polinomio de grado cuatro


p4(x) = f[x0]+ f[x0, x1](x – x0)+ f[x0, x1, x2](x – x0)(x – x1)+
+ f[x0, x1, x2, x3](x – x0)(x – x1)(x – x2)
+ f[x0, x1, x2, x3, x4](x – x0)(x – x1)(x – x2)(x – x3) (22)
de donde
p4(x) = p3(x) + f[x0, x1, x2, x3, x4](x – x0)(x – x1)(x – x2)(x – x3)
= 0.5183063 – 1.251169 (10–3) (2.1 – 2.0)(2.1 – 2.2)(2.1 – 2.4) (2.1 – 2.6)
= 0.5182938 ≈ f(2.1)
Si estamos interesados en aproximar f(2.7) mediante el polinomio interpolante más
apropiado de grado menor o igual que tres, a partir de los datos dados en la tabla 1.4 y 1.5
debemos usar la forma regresiva de Newton del polinomio interpolante con los nodos
x4 = 2.8, x3 = 2.6, x2 = 2.4 y x1 = 2.2, lo que nos da en este caso

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.

1.4.4 Primer y segundo polinomios interpoladores de Newton

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).

El primer polinomio interpolador de Newton que se suele designar por N kI :

∆ 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.

El término residual es dado por:


f k + 1 (q) k + 1
Rn = ⋅ h ⋅ t (t − 1) ⋅ ... ⋅ (t − k ) ; con q ∈ ( x0 , xk ) (24)
(k + 1)!
y se estima de la forma:
Mk+1 k+1
∆ 1 = f ( x) − N 1k (t ) ≤ ⋅ h ⋅ t (t − 1) ⋅ ... ⋅ (t − k ) , (24')
(k + 1)!

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

El segundo polinomio interpolador de Newton que se suele designar por N kII :


∇ f0 ∇ 2 f0 ∇ k f0
N kII (t ) = f0 + t+ t (t + 1) + ... + t (t + 1) ⋅ ... ⋅ (t + k − 1) (25)
1! 2! k!
∆ f− 1 ∆ 2 f− 2 ∆ k f− k
o N kII (t ) = f 0 + t+ t (t + 1) + ... + t (t + 1) ⋅ ... ⋅ (t + k − 1) (25')
1! 2! k!
Donde ∇fn = fn – fn–1 = ∆fn–1 = fn – fn–1; ∇2fn = fn – 2fn–1 + fn–2 = ∆2fn–2.

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

Resumen de este capítulo: La importancia de los polinomios, su manejo y su comprensión,


en especial como una herramienta de aproximación o de rectificación, además como una
mecánica de creación de espectros sencillos de solución, es el fundamento para entender y
vislumbrar el siguiente capítulo.

20
Capítulo 2
El Problema de los Polinomios de Chebyshev

Nota: La filosofía de una situación de colocación. La filosofía de cómo es, y como se


construye un polinomio de colocación. La filosofía de las aplicaciones de los polinomios de
colocación o en otras palabras un polinomio de aproximación (Lagrange, Newton,
Legendre, Chebyshev). La filosofía de la construcción de una solución en series de una
EDO. Debemos entender la filosofía del problema de un espectro matemático. La filosofía
de un proceso de ajuste pero que sea óptimo (por qué mínimos cuadrados por ejemplo).
También la filosofía de la creación de un espectro y poderlo usar en alguna aplicación
(solución de EDO o EDP).

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.

2.1. Aproximaciones Discretas por Mínimos Cuadrados

Consideremos el problema de estimar los valores de una función en puntos no tabulados, si


contamos con los datos experimentales de la tabla 2.1:

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)

Pero aquí se tiene un tremendo problema la función valor absoluto no es diferenciable en


cero y no necesariamente se pueden hallar las soluciones de este último par de ecuaciones
(Burden y Faires 2007, p.486).

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 métodos de Mínimos Cuadrados para resolver este problema requiere determinar la


mejor recta que ajuste, cuando el error es la suma de los cuadrados de la diferencia entre los
valores de y en la recta aproximación y los valores de y dados. Entonces como antes hay
que hallar los valores de la constantes a1 y b1 que hagan al error1 de los cuadrados
(yi – (a1xi + b1))2 mínimo o sea (Gerald y Wheatley 2000, pp. 264-280):
10
E2 (a1 , b1 ) = mín ∑ [ yi − (a1 xi + b1 )]2 (3)
i= 1

Desde nuestras necesidades de enfocar el tema espectral (proyecciones), necesitamos ver


como es el procedimiento más adecuado, que nos deje por resultado una ecuación con
buenas propiedades de aproximación (coeficientes óptimos) a los datos reales.
El método de mínimo cuadrado es el procedimiento más propicio para determinar las
mejores aproximaciones lineales, pero hay importantes argumentos teóricos que lo
benefician. El método de minimax habitualmente le da demasiado valor relativo a un
pequeño elemento de datos que contiene un gran error. El método de la desviación absoluta
simplemente promedia el error en varios puntos, sin dar suficiente valor relativo a un punto
que está muy alejado de la aproximación. Por contraparte, el método de mínimos cuadrados
atribuye mayor valor relativo al punto que esta alejado del resto de los datos, pero no
permitirá que ese punto domine enteramente la aproximación2.
Una razón más para explicar el método de mínimos cuadrados es estudiar la distribución
estadística del error (Burden y Faires 2007 p.487).

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

Un ejemplo bastante ilustrativo se puede ver en Burden y Faires, (2007) p.488.

2.3 Polinomios Ortogonales y aproximación por Mínimos Cuadrados

Aquí debemos tener en cuenta la aproximación de funciones y este problema se debe


definir en donde estamos trabajando.

Supongamos que f∈C[a, b] y que se requiere un polinomio Pn(x) de grado máximo n, el


cual reducirá al mínimo el error (Burden y Faires, (2007) p.498)
b
E(x) = ∫a [ f ( x) − Pn ( x)]2 dx .
Si queremos determinar un polinomio de aproximación de mínimos cuadrados, esto es, un
polinomio que reduzca al mínimo esta expresión, usamos
n
Pn(x)=anxn+an–1xn–1 + . . . + a1x + a0 = ∑ ak x k , (6)
k= 0
y, como se observa en la figura 2.2, definimos
b n
E = E(a0, a1, . . ., an) = ∫a [ f ( x) − ∑ ak x k ]2 dx ,
k= 0

El problema consiste en encontrar


coeficiente reales a0, a1, . . ., an que
reduzcan E al mínimo. Una condi-
ción necesaria para que los números
a0, a1, . . ., an hagan eso es que
∂E
= 0 , para cada j = 0, 1, ..., n.
∂ aj

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 consecuencia la aproximación de mínimos cuadrados de segundo grado para f(x) =


sen(πx) en [0, 1] es P2(x)= –4.12251x2 + 4.12251x – 0.050465. (Ver figura 2.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). ♦

El ejemplo 2.3.4 de arriba es un caso particular de la generalización siguiente: Sea ∏n el


conjunto de todos los polinomios de grado máximo n. Esto se tiene en el siguiente
resultado del álgebra lineal.

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).

Para seguir con el entendimiento de este argumento conceptualicemos lo que es una


función peso y función ortogonal.

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.

La asignación de los grados de importancia a las


aproximaciones en ciertos subintervalos de I, son dadas
por la función de peso. Por ejemplo, la función peso1
w( x) = 1
1− x 2
pone menos énfasis cerca del centro del intervalo (–1, 1)
y mayor cuando |x| se halla cerca de 1 (ver la figura 2.4).
Figura 2.4. Esta función de peso se empleará después.

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

Efectivamente, 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 en la ecuación (9). Entonces, esa es la importancia del porque
el estudio aquí de estos conjuntos.

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

Este resultado es un proceso recursivo que construye un conjunto de polinomios


ortogonales. La demostración de este teorema se logra al aplicar la inducción matemática al
grado del polinomio φn(x) (Burden y Faires, (2007) p.504).

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).

De forma similar para


B3(x) = 0 y C3 = 4/15. Así,
P3(x) = xP2(x) – 4P1(x)/15 = x3–(1/3)x – (4/15)x = x3–(3/5)x.
y P4(x) = x4–(6/7)x2+(3/35) y P5(x) = x5–(10/9)x3+(5/21)x.
(Burden y Faires, (2007) p.505)

Como un resumen se tiene:


Pn(x), es un polinomio de Legendre de grado n, el cual se define como:

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).

2.4 Polinomios de Chebyshev y Economización de Series de Potencias

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(θ)

Al sumar estas ecuaciones obtenemos, para n≥1


Tn+1(θ) = 2cos(n θ)cos(θ) – Tn–1(θ).

Al volver a la variable x, obtenemos, para n≥1


Tn+1(θ) = 2x cos(n arccos(x)) – Tn–1(x)
o
Tn+1(x) = 2x Tn(x) – Tn–1(x). (12)

Como T0(x) = 1 y T1(x) = x, la relación de recu-


rrencia implica que Tn(x) es un polinomio de grado
n con coeficiente principal 2n–1, cuando n≥1.
Los tres polinomios siguientes son
T2(x) = 2x T1(x) – T0(x) = 2x2 – 1,
T3(x) = 2x T2(x) – T1(x) = 4x3 – 3x,
y T4(x) = 2x T3(x) – T2(x) = 8x4 – 8x2 + 1. Figura 2.6.

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 ,

Al reintroducir la sustitución θ = arccos(x) se obtiene


1
dθ = − dx
1 − x2
1 T ( x )T ( x ) 0 π
y ∫− 1 n 1 − mx 2 dx = − ∫ π cos(nθ ) cos(mθ )dθ = ∫ 0
cos(nθ ) cos(mθ )dθ

Supongamos que n ≠ m. Dado que


cos(nθ)cos(mθ) = (½)[cos((m+n)θ) + cos((n–m)θ)],
tenemos
1 T ( x )T ( x ) π π
∫− 1 1 − x 2
n m
dx = 1
2 ∫0 cos(( n + m )θ ) dθ + 1
2 ∫ 0 cos((n − m)θ )dθ
π
= 12 [ n+1m sen((n + m)θ ) + n−1m sen((n − m)θ )] 0
= 0.
Usando un método similar también podemos demostrar que, cuando m=n,
1 [Tn ( x)]2 π
∫ − 1 1 − x 2 dx = 2 , para cada n≥1 (13)

los polinomios de Chebyshev sirven para reducir al mínimo el error de aproximación


(Burden y Faires, 2007). Veremos como se usan para resolver los problemas de este tipo:
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.

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

d n sen(n arccos( x))


T 'n ( x) = [cos(n arccos( x ))] = ,
dx 1 − x2

y que, cuando k=1, 2, ..., n–1,

n sen(n arccos(cos( knπ )) n sen(kπ )


T 'n ( x 'k ) = = = 0
1 − (cos( knπ )) 2 sen( knπ )

Como Tn(x) es un polinomio de n-ésimo grado, su derivada T’n(x) es un polinomio de (n–


1)-ésimo grado y todos los ceros de T’m(x) ocurren en estos n–1 puntos. Las otras únicas
posibilidades de los extremos de Tm(x) se presentan en los extremos del intervalo [–1, 1]; es
decir, x '0 = 1 y x'n = –1. Por tanto, para cualquier k=0, 1, ..., n, tomemos

Tn ( x 'k ) = cos[n arccos(cos( knπ ))] = cos( kπ ) = (− 1) k

en cada valor para de k ocurre un máximo, y en cada valor impar un mínimo. ♦

Los polinomios mónicos de Chebyshev (los que tiene coeficiente principal 1) Tn (x ) se


derivan del polinomio de Chebyshev Tn(x) al dividir por el coeficiente principal 2 n–1. Por
tanto,

Tn ( x)
T0 ( x) = 1 y Tn ( x) = , para cada n≥1. (14)
2n − 1

La relación de recurrencia satisfecha por los polinomios de Chebyshev implica que

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

Al conjunto de los polinomios mónicos de n-ésimo grado los llamamos Π n . En (16) se


expreso la propiedad de minimización que distingue Tn (x ) de otros miembros de Π n .

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]

Además, la igualdad puede darse sólo si Pn = Tn .

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]

Sea Q = Tn − Pn . Como Tn (x ) y Pn(x) son polinomios mónicos de n-ésimo grado, Q(x) es


un polinomio de grado a lo más (n–1). Más aun, en los puntos extremos de Tn (x ) ,
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

xk + 1 = cos( 22( kn ++ 11) π ) .

Como x∈máx | Tn + 1 ( x) | = 2 − n , esto también implica que


[ − 1,1]
1
= máx | ( x − x1 )...( x − xn + 1 ) | ≤ máx | ( x − x0 )...( x − xn ) |
2n x∈ [ − 1,1] x∈ [ − 1,1]
Para cualquier selección de x0, x1, ..., xn en el intervalo [–1, 1]. En el siguiente corolario se
extrae el resultado de esta explicación.

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

x f (x)=xex xs f (xs) =xex


x0=0.0 0.000000 x0s=1.44291 6.107832
x1=0.5 0.834361 x1s=1.03701 2.925167
x2=1.0 2.718282 x2s=0.46299 0.735607
x3=1.5 6.722534 x3s=0.05709 0.060444
Tabla 2.2.

Donde xs son los puntos de Chebyshev.

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

de x0 = cos((0+1/8)π)= 0.9238795, x1 = cos(((2+1)/8)π)=0.3826834,


x2 = cos(((4+1)/8)π)= –0.3826834, x3 = cos(((6+1)/8)π)= –0.9238795
esto es para obtener

x0 = 0.75+(0.75)(0.9238795)=1.4429096, x1 = 1.0370125, x2 =0.4629874,


x3 = 0.05709037

Entonces, para este conjunto de nodos. Los coeficientes polinomiales de Lagrange se


calculan así:

( x − 1.03701)( x − 0.46299)( x − 0.057090 )


L0s(x) = (1.44291− 1.03701)(1.44291− 0.46299)(1.44291− 0.057090)
x 3 − 1.55709 x 2 + 0.565760 x − 0.0274104
= 0.551209
= x3/(0.551209)–1.55709x2/(0.551209)
+0.565760x/(0.551209)–0.0274104/(0.551209)
= 1.814193x3 – 2.824862x2 + 1.026398x – 0.0497277
L1s(x) = –4.3799x3 + 8.5977x2 – 3.4026x + 0.16705
L2s(x) = 4.3799x3 – 11.1120x2 + 7.1738x – 0.37415
L3s(x) = –1.8142x3 + 5.3391x2 – 4.7976x + 1.2568.

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)

P3s(x) = 1.381095x3 + 0.0446476x2 + 1.303095x – 0.0143522.

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.

2.5 Disminución del grado de otros polinomios

Una de las aplicaciones de los polinomios de Chebyshev es el ahorro de cálculos, pues


logra disminuir el grado de un polinomio de aproximación, con una perdida mínima de
exactitud. Como estos polinomios tiene un valor absoluto mínimo/máximo que se
distribuye uniformemente en el intervalo, puede también ser usados para reducir el grado de
un polinomio de aproximación, sin que se rebase la tolerancia del error.
Por ejemplo, aproximemos un polinomio arbitrario de n-ésimo grado
Pn(x) = anxn + an–1xn–1 + ... + a1x + a0
en [–1, 1] con un polinomio de grado n–1 como máximo. El objetivo es seleccionar
Pn–1(x) en ∏n–1 de modo que
máx | Pn ( x) − Pn − 1 ( x) |
x∈ [ − 1,1]
sea lo menor posible.
Primero observamos que [Pn(x)–Pn–1(x)]/an es un polinomio mónico1 de n-ésimo grado. Al
aplicar el teorema 2.4.2 obtenemos
1
máx | a1 ( Pn ( x ) − Pn − 1 ( x )) | ≥ n − 1
x∈ [ − 1,1] n 2
La igualad ocurre precisamente cuando
1
a
( Pn ( x) − Pn − 1 ( x)) = Tn ( x) .
n

Esto significa que deberemos seleccionar


Pn − 1 ( x ) = Pn ( x) − anTn ( x ) , (17)

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

x7 = (1/64)(35T1 + 21T3 + 7T5+ T7)


x8 =(1/128)(35T0 + 56T2 + 28T4 + 8T6 + T8)
x9 =(1/256)(126T1 + 84T3 + 86T4 + 9T7 + T9)

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

Con esta selección tenemos


1 1 1
E1 = |P4(x) –P3(x) | = | a4T4 ( x) | ≤ ⋅
24 2 3
= 192
≤ 0.0053 .
Al agregar esta cota de error a la cota del error de truncamiento de Maclaurin, obtenemos
E2 = 0.023 + 0.0053 = 0.0283,
Que se encuentra dentro del error permisible E2 ≤ 0.05.

El polinomio de segundo grado que mejor aproxima uniformemente a P3(x) en [−1.1] es


(usando en este caso T3(x) = 4x3 − 3x)
1
P2 ( x) = P 3 ( x) − T ( x)
6 3
191 13 x 2 x3 1 3 3 191 9x 13 x 2
= 192
+ x+ 24
+ 6
− 6
(x − 4
x) = 192
+ 8
+ 24
.

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)

2.6 Series de Chebyshev

Al reordenar los polinomios de Chebyshev es posible expresar potencias de x en términos


de ellos:
1 = T0 x5 = (1/16)(10T1 + 5T3 + T5)
x = T1 x6 = (1/32)(10T0 + 15T2 +6T4+T6)
x2 = (½)(T0 + T2) x7 = (1/64)(35T1 + 21T3 + 7T5+ T7)
3
x = (¼)(3T1 + T3) x8 =(1/128)(35T0 + 56T2 + 28T4 + 8T6 + T8)
4 1
x = ( /8)(3T0 + 4T2 + T4) x9 =(1/256)(126T1 + 84T3 + 86T4 + 9T7 + T9)
Tabla 2.5. Fuente: Gerald, C. y Wheatley, P. (2000) p.315.

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 + ...

x ex Chebysh. error Maclaur. error


-1.00000 0.36788 0.36306 0.00481 0.33333 0.03455
-0.80000 0.44933 0.45349 -0.00416 0.43467 0.01466
-0.60000 0.54881 0.55336 -0.00454 0.54400 0.00481
-0.40000 0.67032 0.67116 -0.00084 0.66933 0.00099
-0.20000 0.81873 0.81540 0.00333 0.81867 0.00006
-0.00000 1.00000 0.99458 0.00542 1.00000 0.00000
0.20000 1.22140 1.21719 0.00421 1.22133 0.00007
0.40000 1.49182 1.49174 0.00008 1.49067 0.00116
0.60000 1.82212 1.82673 -0.00461 1.81600 0.00612
0.80000 2.22554 2.23066 -0.00512 2.20533 0.02021
1.00000 2.71828 2.71202 0.00626 2.66667 0.05162
Tabla 2.6. Fuente: Gerald y Wheatley, 2000 p.316.

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.

2.7 Aproximación Mediante la Función Racional

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

x ex Maclaurin error Racional error


-1.00 0.36788 0.33330 0.03458 0.37478 -0.00690
-0.60 0.54881 0.54399 0.00482 0.54985 -0.00104
-0.20 0.81873 0.81867 0.00006 0.81869 0.00004
0.20 1.22140 1.22133 0.00007 1.22149 -0.00009
0.60 1.82212 1.81601 0.00611 1.82522 -0.00310
1.00 2.71828 2.66670 0.05158 2.75041 -0.03213
Tabla 2.7.
2.8 Mejora de Aproximaciones de Funciones Racionales por Chebyshev
Al empezar con el método de Chebyshev y operar de manera análoga al método de la
aproximaciones de Padé1 es posible obtener aproximaciones de funciones racionales algo
mejores. Volvemos a presentar el caso de f (x)=ex. La serie de Chebyshev que se obtuvo
arriba.
1
Para mayor conocimiento de las aproximaciones de Padé ver Burden y Faires p.517, Gerald y Wheatley, (2000) p.318.

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)

x ex Chebysh. error Racional error Che-Rac. error


-1.000 0.36788 0.36306 0.00481 0.37478 -0.00690 0.36862 -0.00074
-0.800 0.44933 0.45349 -0.00416 0.45245 -0.00312 0.44877 0.00056
-0.600 0.54881 0.55336 -0.00454 0.54985 -0.00104 0.54835 0.00046
-0.400 0.67032 0.67116 -0.00084 0.67048 -0.00016 0.67074 -0.00042
-0.200 0.81873 0.81540 0.00333 0.81869 0.00004 0.82013 -0.00140
-0.000 1.00000 0.99458 0.00542 1.00000 0.00000 1.00180 -0.00180
0.200 1.22140 1.21719 0.00421 1.22149 -0.00009 1.22251 -0.00111
0.400 1.49182 1.49174 0.00008 1.49244 -0.00062 1.49106 0.00076
0.600 1.82212 1.82673 -0.00461 1.82522 -0.00310 1.81909 0.00303
0.800 2.22554 2.23066 -0.00512 2.23668 -0.01113 2.22236 0.00319
1.000 2.71828 2.71202 0.00626 2.75041 -0.03213 2.72273 -0.00444
Σ 0.043380 Σ 0.13873 Σ 0.01791
Tabla 2.8. Fuente: Gerald y Wheatley 2000 p.325.

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

Ahora se puede ver:


En el Capítulo 1, las aproximaciones fueron consideradas expansiones que consisten en
desarrollos alrededor de un punto específico de la variable (finita); describimos series
convergentes de los tipos de equiespaciados y los no igualmente espaciados. Éstas son las
aproximaciones que son necesarias preferentemente cuando se valora alrededor de esos
puntos (o en R o C, pero en nuestro caso solo R).

En este capítulo, consideramos las aproximaciones en los intervalos reales. La idea es


aproximar una función f(x) por un polinomio p(x), eso nos da una uniforme y exacta
descripción1 de f en un intervalo [a, b].

Ahora empezaremos con la exposición de espectros de colocación, que serán la médula en


este trabajo.

3.1. Procedimiento de Colocación

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.

Figura 3.1. Se muestra la función f(x)=sen(x) y


los puntos de colocación y la recta u0(x)= 2x/π.

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)

Resolviendo el sistema se tiene:


C1 = 0.244340, C2 = 0.113872,
de donde tenemos el polinomio solución:
y = 2x/π + (0.244340) x(π/2 –x) + (0.113872) x2(π/2 –x).

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.

El ejemplo es un problema de valor en la frontera lineal de


una dimensión:
uxx – (x6 – 3x2)u = 0 (2) 1.5
u(–1) = u(1) = 1 (3) 1.6

Cuya solución exacta es (Boyd, 2000):


u(x) = exp((x4 – 1)/4) (4) 1.7

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)

donde debemos calcular sólo tres grados de libertad arbitrarios.


El residuo para esta aproximación es (Boyd, (2000)):

R(x; a0, a1, a2) = u2,xx – (x6 – 3x2)u2 (5)


R = (2a2 + 2a0) – 6a1x – (3+ 3a0 + 12a2)x2 – 3a1x3 +3(a0 – a2)x4
+3a1x5 + (–1 – a0 + 3a2)x6 – a1x7 + (a0 – a2)x8 + a1x9 + 10a2x10. (6)

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:

659 1683 1171 49


0= − a
256 0
+ a
512 1
− a
1024 2
− 64
0 = − 2(a0 − a2 ) (7)
659 1683 1171 49
0= − a
256 0
− a
512 1
− a
1024 2
− 64

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 ).

La figura 3.4 muestras que esta aproxima-


ción de bajo orden es bastante exacta.
Sin embargo, el ejemplo incluye un
conjunto organizado de preguntas:
1. ¿Cuál es la opción óptima de escoger
las funciones de base?
2. ¿Por qué escoger "colocación" como
la condición de minimizar el residuo?
3. ¿Cuáles son los puntos óptimos de
colocación?
4. ¿Por qué a1 es cero? ¿Podríamos anti-
ciparnos a esto, si usamos una solu- Figura 3.4: Panel de la izquierda: Solución exacta
ción de ensayo con sólo dos grados de u = exp([x4-1]/4) (continua) se compara con la de
libertad para la misma respuesta? tres coeficientes con la aproximación numérica
(círculos). Panel derecho: u–u2.
5. ¿Cómo resolvemos el problema Fuente: Boyd, (2000) p. 3.
algebraico para los coeficientes
cuándo el paquete Maple con su
función "solve" no está disponible?
Si algún lector desea una respuesta a estas preguntas, vea Boyd, (2000) pp.3-4.

Nosotros la respuesta la daremos con la exposición de otros ejemplos.

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.

x y (espectral) y (exacta) % Error


0 1 1 0.00%
0.2 1.221974 1.221403 0.05%
0.4 1.491269 1.491825 -0.04%
0.6 1.821407 1.822119 -0.04%
0.8 2.225910 2.225541 0.02%
1 2.718300 2.718282 0.00%
Tabla 3.3 Comparación de la solución exacta con la espectral
Fuente: Vinasco y cols., (2007) p. 13.

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 |.

Siguiendo con la ilustración. En el procedimiento de diferencias finitas para resolver


problemas de contorno (frontera), es un método numérico y nos proporciona una tabla de
valores de la función buscada. Aquí consideraremos un procedimiento con cuya ayuda
obtendremos la solución de aproximaciones del problema de las condiciones de contorno en
forma de una expresión algebraica analítica (Demidowitsch y cols., (1980), Sangiacomo y
Antoine, (2004)).
Busquemos una función y=y(x) que satisfaga la ecuación diferencial lineal

L[y] = y'' + p(x)y' + q(x) y = f(x), (11)

y las condiciones de contorno o valor de frontera

50
Va[y] = a1y(a) + a2y'(a) = A
Vb[y] = b1y(b) + b2y'(b) = B (12)

en donde
| a1| + |a2| ≠ 0, | b1| + |b2| ≠ 0.

Para resolver este problema elijamos, en primer lugar, un conjunto de funciones


linealmente independientes (funciones básicas)

u0(x), u1(x), ..., un(x) (13)

de las cuales la función u0(x) satisface las condiciones de contorno no homogéneas

Va[u0] = A, Vb[u0] = B, (14)

mientras que las otras funciones ui(x), i=1, 2, …, n, satisfacen las condiciones de contorno
homogéneas:

Va[ui] = 0, Vb[ui] = 0; i=1, 2, …, n. (15)

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.

Busquemos ahora una combinación lineal de estas funciones básicas


n
y = u0 ( x ) + ∑ Ci ui ( x) , (16)
i= 1

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.

Si sustituimos la expresión (16) en la ecuación diferencial (11), obtenemos

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

R(x, C1, C2, ..., Cn) = 0, para a≤x≤b,

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:

R(x1, C1, C2, ..., Cn) = 0


R(x2, C1, C2, ..., Cn) = 0
. . . . . . . . . . (18)
R(xn, C1, C2, ..., Cn) = 0.

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

Aproximar por medio del procedimiento de colocación el problema de valor de frontera

y'' + (1+x2)y+1 = 0, –1≤x≤1, y(–1) = y(1) =0. (19)

Solución:

Como funciones básicas elegimos en este caso los polinomios

un(x)=x2n–2(1–x2), n=1, 2, …, (20)

que satisfacen evidentemente las condiciones de contorno un(±1)=0. Como puntos de


colocación elegimos

x− 1 = − 1 1
2 , x0 = 0 , x1 = 2 .

Limitándonos a dos funciones básicas; sustituimos


y=C1(1–x2) + C2(x2–x4),
en la ecuación diferencial (19), obtenemos

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

R(x–1) = 0, R(x0) = 0, R(x1) = 0.


De ahí obtenemos, si empleamos la fórmula (11), el sistema de ecuaciones lineales para la
determinación de los coeficientes C1 y C2 tomado1 x0 = 0 , x1 = 12 :

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.

Ejemplo 3.1.4: Sea la ecuación diferencial


y' + 2 y = 0; 0 ≤ x ≤ 1; y(0) = 1.
La solución exacta es y(x) = e–2x.
Construyamos una solución de la forma
N
y N ( x) = ∑ a nT n( x)
n= 0

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

Figura 3.7. Puntos de colocación xj = cos(πj/N) con 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.

Usando (22) junto con la condición inicial yN(–1) = 1, esto es


4
y N (− 1) = ∑ a nT n(− 1) = 1 (23)
n= 0

constituyen un sistema de N + 1 ecuaciones para los N + 1 coeficientes an. Con N = 4 el


sistema específicamente es

Aplicando (22) tenemos y la condición inicial:


a0⋅0 + a1⋅1 + a2⋅4v + a3⋅(12v2–3) + a4⋅(32v3 –16v)
+ a0⋅1 + a1⋅v + a2⋅(2v2–1) + a3⋅(4v3–3v) + a4⋅(8v4 –8v2+1) = 0.
Para v0=cos(π⋅0/4) = 1.
a0⋅0 + a1⋅1 + a2⋅4(1) + a3⋅(12(1)2–3) + a4⋅(32(1)3 –16(1))
+ a0⋅1 + a1⋅(1) + a2⋅(2(1)2–1) + a3⋅(4(1)3–3(1)) + a4⋅(8(1)4 –8(1)2+1) = 0,
a0 + 2a1 + 5a2 + 10a3 + 17a4 = 0

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 ⋅ 1 + a1 ⋅ 22 + a2 ⋅ (2( 22 ) 2 − 1) + a3 ⋅ (4( 22 ) 3 − 3( 22 )) + a4 ⋅ (8( 22 ) 4 − 8( 22 ) 2 + 1) = 0 ,

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 

Cuya solución es: a0 =0.466129, a1 = –0.41612, a2 =0.1, a3 = –0.016129, a4 =0.001613.


La solución esta dada en todo el dominio v∈[–1, 1] y no solo en los puntos de colocación y
esta es
4
y 4 (v ) = ∑ a nT n(v)
n= 0
y4(v) = 0.466129 –0.41612 v +0.1(2v2 –1)
–0.016129(4v3 – 3v) + 0.001613 (8v3 – 8v2 – l), v∈[–1, 1].
para el domino x∈[0, 1]
y4(x) = 0.466129 –0.41612 (2x–1) +0.1(2(2x–1)2 –1)
–0.016129(4(2x–1)3 – 3(2x–1)) + 0.001613 (8(2x–1)3 – 8(2x–1)2 – l).

x Calculada exacta error


0.00 0.970957 1.000000 0.029043
0.20 0.663659 0.670320 0.006661
0.40 0.445959 0.449329 0.003370
0.60 0.298040 0.301194 0.003154
0.80 0.200083 0.201897 0.001814
1.00 0.132267 0.135335 0.003068
Tabla 3.4.
Figura 3.8.

Resumen: se nota en pocas líneas como se puede encontrar polinomios de aproximación a


una función conocida suficientemente suave con los métodos de colocación, después se
presentó construcciones de aproximaciones a la función solución de ecuaciones
diferenciales ordinarias, de primer y segundo grado, usando los métodos de colocación y su
potente efectividad.

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.

4.1. Matrices de Diferenciación

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.

Sea wj la aproximación de u'(xj), la derivada de u en xj. La aproximación estándar en


diferencia finita de segundo orden (central de tres puntos)3 es
u j+ 1 − u j− 1
wj = , (1)
2h

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,

w = [–0.6366, 0.0000, 0.6366, 0.9003, 0.6366, 0.0000, –0.6366, –0.9003]T.


Ver la figura 4.2 de abajo.

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:

Para j =1, 2, ..., N:


Sea pj el único polinomio de grado ≤ 4 con pj(xj±2)=uj±2, pj(xj±1)=uj±1, y pj(xj)=uj.
wj = p'j(xj).

De nuevo tendremos presente la periodicidad de los datos, se muestra que la presentación


para el producto matriz por vector (w = Au)

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 

Hasta aquí se tiene la matriz penta diagonal circulante1 en lugar de la tridiagonal.

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 ) 

Los resultados son

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, . . .

w=[-0.698774, 0.000000, 0.698774, 0.988215, 0.698774, 0.000000, -0.698774, -0.988215]T

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.

El programa 1 compara las diferentes aproximaciones wj con la derivada exacta,


u'(x)=esin(xj)cos(xj), para diferentes valores de N. Para no hacer todos los cálculos de (3')
usamos MatLab y el comando para matrices dispersas sparse(...), este código ejecuta en
una fracción de segundo un trabajo estacionario, aunque esté manejando matrices de
dimensiones tan grande como N=4096. Los resultados se presentan en la salida 1, los cuales
son dibujados con el máximo error cometido en la rejilla N. Las de cuarto orden y su
exactitud también.

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.

Salida 1 del Programa 1 (ver en el apéndice Programa 1):

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.)

Figura 4.5. Comparación entre u = exp(sin(x)); u' = cos(x).*u.

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.

Para N finito, y por   


simplicidad tomemos N par,  
  1
cot( 32h ) 
aquí la matriz es densa de 
2

N×N que nosotros   − 12 cot( 22h ) 
deduciremos después para   1
cot( 12h ) 
una rejilla periódica,  2 
DN =  0 . (5)
regular:
 − 1
cot(12h )  
 2 
 1
2
cot( 22h )  
 
 − 12 cot( 32h )  
  
 

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

0 0.8660 -0.2887 -0.0000 0.2887 -0.8660


-0.8660 0 0.8660 -0.2887 -0.0000 0.2887
DN = 0.2887 -0.8660 0 0.8660 -0.2887 -0.0000
-0.0000 0.2887 -0.8660 0 0.8660 -0.2887
-0.2887 -0.0000 0.2887 -0.8660 0 0.8660
0.8660 -0.2887 -0.0000 0.2887 -0.8660 0

Figura 4.6. Aquí se tiene que la diferencia es ínfima, pero en la esquina inferior derecha
se puede notar esa diferencia.

0 0.8660 -0.2887 -0.0000 0.2887 -0.8660 -0.8660


-0.8660 0 0.8660 -0.2887 -0.0000 0.2887 -0.8660
0.2887 -0.8660 0 0.8660 -0.2887 -0.0000 0
DNu= *
-0.0000 0.2887 -0.8660 0 0.8660 -0.2887 0.8660
-0.2887 -0.0000 0.2887 -0.8660 0 0.8660 0.8660
0.8660 -0.2887 -0.0000 0.2887 -0.8660 0 0.0000

Cuya multiplicación nos da exactamente (vea figura 3)


w=u' = [-0.49994, 0.49994, 0.99988, 0.49994, -0.49994, -0.99988]T.
Cuya máxima diferencia entre u' = [-1/2, 1/2, 1, 1/2, -1/2, -1] T y w=u' = [-0.49994, 0.49994,
0.99988, 0.49994, -0.49994, -0.99988]T es | w(6) – u'(6)| = |0.99988-1| = 1.2⋅(10–4)

Para algunos N = 2, 4, ...,100, se tiene un conjunto de errores máximos que los


representaremos en la siguiente salida del programa en MatLab.

Salida 2 del Programa 2 (vea Programa 2 en el apéndice):

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.

Figura 4.7: Para N=6, u = exp(sin(x)); u' = cos(x).*u.

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.

4.2. Suavidad y la exactitud espectral

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.

Para deducir estas relaciones, haremos uso de la transformada de Fourier en un argumento


que consiste en dos pasos. Primero, una función lisa tiene una transformada de rápido
decaimiento. La razón es que una función lisa cambia suavemente, y que los números de
onda altos corresponden a ondas de rápida oscilaciones, tales funciones lisas contiene
pequeña energía en los números de onda altos. Segundo, si la transformada de Fourier de
una función decae rápidamente, entonces los errores introducidos por discretización son
pequeños. La razón es que estos errores son producidos por aliasing 2 de los números de
onda altos esos números de onda producen ruido3.

4.3 Polinomios de Interpolación y Agrupaciones de Rejillas

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

no es lisa en general cuando hay periodicidad en su dominio extendido (Trefethen 2000):

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.

En cambio, es costumbre reemplazar los polinomios trigonométricos por polinomios


algebraicos, p(x)=a0+a1x+...+aNxN. La primera idea que podríamos tener, es usar la
interpolación polinómica en los puntos equi-espaciados. Ahora esto, como resultado, es
desastroso en general. Un conocido problema como el fenómeno de Runge, el cual es más
desastroso que el propio fenómeno de Gibbs. Cuando una función lisa es interpolada por
los polinomios en N+1 puntos igualmente espaciados, las aproximaciones no sólo no
convergen en general cuando N →∞, sino que ellas empeoran a una proporción que puede
ser tan grande como 2N. Si fuéramos a diferenciar tal interpolación para calcular las
derivadas espectrales, los resultados obtenidos, tendrían el error por un factor similar
(Trefethen, 2007). Nosotros daremos una ilustraremos de este fenómeno en seguida.

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)

Geométricamente, podemos visualizar estos puntos como las proyecciones en [–1, 1] de


puntos equi-espaciados en la mitad superior del círculo unidad, se muestra en figura 4.9 los
puntos más negritos para {xj} son los puntos de Chebyshev-Lobatto y puntos de Gauss-
Chebyshev-Lobatto (refiriendo su reglas, a ciertas fórmulas de cuadraturas) y los puntos
extremos de Chebyshev (desde que ellos son los puntos extremos en [–1, 1] del polinomio
TN(x) de Chebyshev), pero por simplicidad en este trabajo los llamamos directamente los
puntos de Chebyshev (López y Pijeira, 2001).

El efecto en la exactitud del polinomio de interpolación al usar estos grupos de puntos es


decisivamente bueno. El programa 3 interpola a u(x)=1/(1+16x2) por polinomios en los dos
conjuntos de puntos uno equi-espaciados de Chebyshev y otro no2. Más abajo en Salida 9
nosotros vemos que los cálculos anteriores a base del dominio equi espaciado en el primer
cuadro no son buenos o sea no exactos, y el último cuadro con uso de Chebyshev es mucho
mejor.

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].

Como se ve en el conjunto de abajo la rejilla no es uniforme, pero la de arriba


que son los ángulos si es uniforme, o sea existe una composición y se consigue una distribución mejor del
comportamiento, según Chebyshev.

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.

Supongamos que nosotros tenemos un polinomio mónico p de grado N. Podemos escribirlo


como
N
p( z ) = ∏ ( z − zk )
k= 1
donde {zk} son las raíces,

De esta fórmula tenemos


N
| p( z ) | = ∏ | ( z − zk ) |
k=1
y por consiguiente
N
log(| p ( z ) |) = ∑ log(| ( z − z k ) |)
k=1
Ahora consideramos
N
φ N ( z) = N − 1 ∑ log(| ( z − z k ) |) (8)
k=1

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:

φN(z) es el potencial para z debido a la cargas de {zk}


con cada potencial N –1log(| z – zk |).

Salida 3 del Programa 3 (vea Programa 3 en el apéndice):

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

ρ(x) = ½, x∈[–1, 1] (DENSIDAD UNIFORME) (10)

El potencial correspondiente φ esta dado por la integral


1
φ ( z) = ∫− 1 ρ ( x) log( z − x )dx . (11)

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

Por contraste, considere la distribución continua que corresponde a (6),

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].

Salida 4 del Programa 4 (vea el apéndice Programa 4):

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.

El Programa 4 ilustra estas relaciones. El primer recuadro de Salida 4 muestra el polinomio


mónico de grado 17 definido por las raíces equiespaciadas sobre [–1, 1], revelando la gran
suavidad cerca de la frontera. El recuadro muestra el potencial correspondiente, no cerrado
en [–1, 1] y no está cerca de una curva equipotencial. El par de abajo presenta los
resultados análogos para el caso del p de Chebyshev. Aquí p oscila en la misma escala a lo
largo de [–1, 1], y en [–1, 1] es cerrada y está cerca de una curva equipotencial. (Equi-
oscilaría exactamente, si nosotros hubiéramos definido los puntos de Chebyshev como los
ceros en lugar del extremo de polinomios de Chebyshev.)
Aunque nosotros no probaremos esto, puede tenerse muchas más conclusiones de este tipo
de análisis:

Teorema 5 Exactitud de interpolación polinómica.


Dado una función u y una sucesión de conjuntos de puntos de interpolación {x}N, N =1,
2, ... que convergen a una función de densidad ρ cuando n→∞ con el correspondiente
potencial dado por (11), se define
φ [ − 1,1] = sup φ ( x)
x∈ [ − 1, 1]
Para cada N construye el polinomio pN de grado ≤ N que interpola a u en los puntos {xj}N.
Si existe una constante φu > φ[–1,1] tal que u es analítica a lo largo de la región cerrada
{ z∈C: φ(z) ≤ φu },
Entonces existe una constante C > 0 tal que para todo x∈[–1, 1] y para toda N,
− N (φ u − φ [ − 1,1] )
u ( x ) − p N ( x ) ≤ Ce .
Con la misma estimación, aunque con nuevas constantes C (todavía independiente de x y
N), para la diferencia de la v-ésima derivada, u(v) – pN(v), para cualquier v≥1.
En Trefethen, (2007a) se puede ver un bosquejo de la demostracion.

En una palabra, los polinomios de interpolación y los métodos espectrales convergen


geométricamente (en la ausencia de errores de redondeo), con tal de que u sea analítico en
una vecindad de la región acotada por la más pequeña curva equi-potencial que contiene
[–1, 1]. Recíprocamente, para los puntos igualmente espaciados nosotros debemos esperar
la divergencia para funciones que no son analíticas a lo largo de la "cancha de fútbol"

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).

Teorema 6 Precisión de la diferenciación espectral de Chebyshev.


Suponga que u es analítico sobre y dentro de la elipse con focos ±1 en el cual el potencial
de Chebyshev tomas el valor φf, es decir, la elipse cuyas longitudes del semi eje mayor y
semi eje menor suman K = eφ f + log(2) . Sea w la v-ésima derivada espectral de Chebyshev
de u (v≥1). Entonces
− N (φ + log( 2))
| w j − u ( v ) ( x j ) | = O (e f
) = O( K − N )
cuando N→∞. ♦

Diremos que el factor de convergencia asintótica para el proceso de la diferenciación


espectral es por lo menos tan pequeño como K–1:

( N1 )
lím sup | w j − u (v ) ( x j ) | ≤ K− N .
N→ ∞

Éste no es el final de la historia. ¿De dónde viene "realmente" la distribución Chebyshev?


Una respuesta viene notando que si un potencial es constante sobre [–1, 1], entonces el φ'(z)
= 0 en [–1, 1]. Si pesamos que φ'(x), es el gradiente del potencial, una fuerza que se ejercerá
en una carga por unidad, concluimos que

La función de densidad de Chebyshev ρ de (13) es una distribución de equilibrio de mínima


energía para una carga unidad distribuida continuamente en [–1, 1].

Para N finito, un polinomio mónico p de medida minimax en [–1, 1] generalmente no


tendrá exactamente las raíces en los puntos de equilibrio en [–1, 1], pero como N→∞,
puede demostrarse que las raíces deben convergir a una función de densidad ρ(x) con esa
distribución (13). Este límite continuo normalmente se discute definiendo φ para la función
de Green en [–1, 1], la única función real que toma valores constantes en [–1, 1], es
armónica fuera de él, y es asintótica para log(|z|) cuando |z|→∞.
Para más información en este bonito tema matemático, vea Trefethen (2007), Boyd, (2000),
Merlini y Pereyra, (2006).

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:

> Sea p el único polinomio de grado ≤ N con p(xj) = vj, 0≤j≤N.


> wj = p'(xj).

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.

Consideramos primero N = 1. Los puntos de interpolación son los x0 = 1 y x1 = –1, y el


polinomio interpolado a través de los datos v0 y v1, escritos en la forma de Lagrange1, es
p(x) = (½)(1 + x)v0 + (½)(1 – x)v1.
Calculando la derivada nos da
p'(x) = (½)v0 – (½)v1.

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í.

Teorema 4.4.1 Matriz diferenciación de Chebyshev.

Para cada N ≥ 1 , sean las filas y columnas de la matriz de diferenciación espectral de


Chebyshev DN de (N+1)×(N+1) es indexada de 0 hasta N. Las entradas de esta matriz son
2N 2 + 1 2N 2 + 1
( DN ) 00 = , ( DN ) NN = − , (17)
6 6
− xj
( DN ) jj = , j = 1, ..., N – 1, (18)
2(1 − x 2j )
ci (− 1) i + j
( DN ) ij = ⋅ , i≠j, i, j = 1, ..., N – 1, (19)
c j ( xi − x j )
donde
 2 i= 0 o N
ci =  ♦
 1 en otro caso
Prueba: Ver la demostración en Merlini y Pereira, (2006) pp. 24-25.

Un cuadro (figura) hace una aclaración del teorema:

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).

A lo largo de este trabajo, aprovechamos de los comandos (funciones) de alto nivel de


Matlab para ejecutar las operaciones como: interpolación polinómica, inversión de la
matriz, y FFT. Para la claridad de exposición, como se ha explicado en el comienzo y la
idea de este trabajo desde el principio, nuestro estilo es hacer nuestros hacer programas que
nos pongan en contacto autónomo con el tema y la exposición didáctica directa y visual.
Sin embargo habrá una excepción mayor a esta regla, una función de Matlab que nosotros
definiremos y que la llamaremos frecuentemente siempre que la necesitemos para cálculos
con rejillas y matrices de diferenciación de Chebyshev (Trefethen 2007). La función se
llama cheb (cheb.m), y devuelve a un x vector y una D matriz DN.

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.

Salida 5 del Programa 5 (vea el apéndice Programa 5):

Salida 5: La diferenciación de Chebyshev de u(x) = exsin(5x). Note las escalas verticales.

El programa 6, es un Chebyshev que, ilustra la precisión espectral más asintótica. Aquí


cuatro funciones son diferenciadas espectralmente: |x3|, exp(–x–2), 1/(1+x2), y x10. La
primera tiene tercera derivada de variación acotada, la segunda es suave pero no es analítica
en cero, la tercera es analítica en una vecindad de [–1, 1], y la cuarta es un polinomio, la
análoga a un método espectral de Chebyshev de una función banda limitada viene dada por
método espectral de Fourier.

Salida 6 del Programa 6 (vea el apéndice el programa 6):

77
Salida 6: Precisión de la derivada espectral de Chebyshev para cuatro funciones de aumento suave.
Compárelos con Programa 7.

Resumen: 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}.

4.5. Problemas con valor en la frontera

Nosotros hemos definido la matriz de diferenciación Chebyshev DN y hemos programado


un código en Matlab, el "cheb", para calcularla (Trefethen, (2007)). En este capítulo
haremos ver cómo pueden usarse tales matrices para resolver algunos problemas de valor
de frontera (límite) que se dan en las ecuaciones diferenciales ordinarias y en ecuaciones
diferenciales parciales.

4.5.1 El Caso Lineal


Como nuestro primer ejemplo, consideremos la EDO1 (ODE) problema lineal con valor de
frontera
uxx = e4x, –1 < x < 1, u(–1) = 0 = u(1). (21)

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.

Para resolver el problema numéricamente, nosotros debemos calcular la segunda derivada


usando (DN)2, o sea, el cuadrado de DN. La primera cosa en montar esa (DN)2 o puede
evaluarse elevando al cuadrado DN que tiene un coste de O(N3) operaciones de punto
flotantes, o por las fórmulas explícitas o repeticiones (Boyd, (2000), Trefethen), que el

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.

La otra la mitad del problema es la aplicación de la condición de frontera u(±1) = 0. Para


los problemas simples como (21) con condición de frontera homogénea de Dirichlet,
nosotros procedemos como sigue. Tomamos los puntos de Chebyshev x1, ..., xN–1, interiores,
como nuestra rejilla de cálculo, con v = (v1, ..., vN–1)T como el correspondiente vector
incógnita (desconocido). Entonces realizamos la diferenciación espectral así:

> 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:

> v0 y vN fijos hacerlos cero.


> Ignorar w0 y wN.

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):

Figura 1. Fuente Trefethen, (2007).

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

quitándole sus primeras y últimas filas y columnas. En la notación de Matlab:

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

En la programación en Matlab actual, los índices empiezan en 1 en lugar de en 0, éste se


volverá en D2 = D2(2: N, 2: N).
Con la matriz D ~ 2 de un lado, la solución numérica de (21) se vuelve una materia de
N
resolver un sistema de ecuaciones lineales (Ax=b):
~2 v = f .
D N

Resolvamos en pocos pasos N = 4, la ecuación (21) de arriba:


uxx = e4x, –1 < x < 1, u(–1) = 0 = u(1). (21)
Calculamos la matriz D4 por teorema 4.4.1 del seminario 2, entonces empezamos creando
el vector x de xi= cos(jπ/4); j=0, 1, 2, 3, 4, de donde x = [1, 2½/2, 0, –2½/2, –1]T, la función
f(x) = e4x, es f = [e4, e 2 2 , e0, e − 2 2 , e–4]T = [54.5982, 16.9188, 1.0000, 0.0591, 0.0183]T

 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.

Figura 2. Muestra los puntos solución dados por Chebyshev.

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]

Figura 3. Muestra los puntos solución dados por u = p4(x)


algebraicamente en p4(x) = 1.2482x4 + 1.9869x3 + 0.5000x2 -1.9869x -1.7482.

El programa 13 da una corrida de este proceso. Nosotros debemos poner atención a un


rasgo de este programa que aparece aquí por primera vez para este trabajo y reaparecerá en
en programas posteriores. Aunque el algoritmo calcula en la malla de puntos el vector v =
(v1, ..., vN–1)T que es una aproximación a u, como siempre con los métodos espectrales,
realmente tenemos más información sobre la solución numérica que sólo valores del punto.
Implícitamente estamos tratando con un polinomio interpolante p(x), y en Matlab esto
puede calcularse convenientemente (aunque no muy rápidamente o establemente) por el
comando polyval(polyfit (...)).
El programe 13 usa este artificio para evaluar el p(x) en una malla fina, mide el error de
ambas trazados de la calculada y la exacta y está en el orden de 10–10.

81
Salida 13 del Programa 13 (vea el Programa 13 en el apéndice):

Salida 13: Solución del problema lineal de valor de frontera (21).

4.5.2 El caso no lineal

¿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)

La no linealidad causa, la abundancia de cálculos y la inversión de mucho más tiempo para


~
invertir la matriz diferenciación de segundo orden DN2 . En cambio, se puede resolver el
problema iterativamente. Tomamos como vector inicial el vector de ceros, y entonces la
solución iterativa del sistema de ecuaciones va convergiendo a la solución (Demidowitsch y
cols., (1980))
~ ~
DN2 vnuevo = exp(vvieja ) → DN2 vn + 1 = exp(vn )

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

Tercera iteración renovamos f = [e-0.1732, e-0.3320, e-0.1732]T,


 − 0.1732 
 - 14.0000 6.0000 - 2.0000   v1   e 
 4.0000 - 6.0000 4.0000   v  =  e − 0.3320 
   2  ,

 - 2.0000 6.0000 - 14.0000  v3   e − 0.1732 
 
v = [-0.1948, -0.3793, -0.1948]T

Cuarta iteración renovamos f = [e-0.1948, e-0.3793, e-0.1948]T,


 − 0.1948 
 - 14.0000 6.0000 - 2.0000   v1   e 
 4.0000 - 6.0000 4.0000   v  =  e − 0.3793 
   2  ,

 - 2.0000 6.0000 - 14.0000  v3   e − 0 .1948


v = [-0.1884, -0.3653, -0.1884]T

Quinta iteración renovamos f = [e-0.1884, e-0.3653, e-0.1884]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]

La norma entre el v de cuarta y la quinta ya es menor que 10-2=0.01.1


Si seguimos iterando por ejemplo para una tolerancia de 10-15 converge en la iteración 29
dando el vector

v = [-0.1899, -0.3684, -0.1899]T.

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)

Evidentemente el u(0) es exacto a 12 o 13 dígitos, incluso con N = 16.

Salida 14 del Programa 14 (vea el Programa 14 en el apéndice):

Salida 14: Solución del problema no lineal de valor de frontera (22).

4.6 Más sobre las condiciones de frontera

Hasta ahora hemos tratado fronteras homogéneas simples de Dirichlet de condición


u(±1)=0, así como las condiciones de frontera periódicas. Claro, muchos problemas
requieren más que eso y en este capítulo completamos algunas de las técnicas disponibles.
Hay dos aproximaciones básicas para las condiciones de frontera con los métodos de
colocación espectrales:

(I) Restringida a interpolaciones que satisfacen las condiciones de frontera; o


(II) De interpolaciones no restringida, pero adiciona las ecuaciones para dar fuerza a las
condiciones de frontera (más complicado).

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.)

4.6.1 Caso lineal de condiciones de frontera no homogéneo

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.

Solución, para N = 4, ya que tenemos ya la matriz D2 y x = [2½/2, 0, –2½/2]T,


 - 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 D2⋅v=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
v = [-1.8886, -1.7482, -0.4836]T + [(x1+1)/2, (x2+1)/2, (x3+1)/2]
v = [-1.0351, -1.2482, -0.3372]T
tomando en cuenta las condiciones de frontera tenemos la solución:
v = [1.0000, -1.0351, -1.2482, -0.3372, 0.0000]T
Aquí ya tenemos la solución de la EDO, claro está, para los puntos discretos x.

Podemos construir la ecuación algebraica por


el polinomio de mínimos cuadrados teniendo
como dominio x y rango v, resultando:
p4(x) = 1.2482x4 + 1.9869x3
+ 0.5000x2 -1.4869x -1.2482,
esto nos da cualquier punto de interpolación
en el intervalo x∈[–1, 1] (ver figura 4).
Figura 4.

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:

Salida 23 (vea el programa 10 en el apéndice).

Salida 23: La solución del problema (23) de valor de frontera


con datos de frontera no homogéneos.

4.6.2 Un Caso No Lineal de dos dimensiones

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.

Solución del ejemplo para N=4:

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

a este punto nos queda la aplicación de un método de


solución por líneas perpendiculares al eje x por ejemplo
usaremos uno muy fácil de implementar es el Euler1
vi+1 = vi + h⋅(0.01⋅D2⋅(vi) + vi – vi3), (25)
2
donde D2⋅(vi)≈(vi-1 –2vi+ vi+1)/h , pero con la diferencia que
está dado por la fórmula de Chebyshev.
Figura 10.
Entonces vectorialmente es ([v] es el vector v para no tener problemas con los indicies)
[v]i+1 = [v]i + h⋅(0.01⋅D2⋅([v]i) + [v]i – [v]i3), (26)
Iteración 1,
 0 0 0 0 0   1.0000   0 
 9.2426 - 14.0000 6.0000 - 2.0000 0.7574   0.4638   0.0292
     
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.4638  - 0.0292
 0 0 0 0 0   - 1.0000   0 

 (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) 

En la figura 11 se muestra un resultado muy


desajustado por el poco número de elementos
usados. Ejecutando el programa 12 se puede
ver correctamente la figura y notar la
convergencia y la divergencia,

Figura 11.

Salida 26 (vea el Programa 12 en el apéndice):

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.

Una de las aplicaciones de los polinomios de Chebyshev es el ahorro de cálculos, pues


logra disminuir el grado de un polinomio de aproximación, con una perdida mínima de
exactitud. Como estos polinomios tiene un valor absoluto mínimo/máximo que se
distribuye uniformemente en el intervalo, puede también ser usados para reducir el grado de
un polinomio de aproximación, sin que se rebase la tolerancia del error. Y por último
tenemos que el máximo error absoluto cometido al interpolar de la forma convencional
puede ser reducido aun más si utilizamos los nodos de Chebyshev. Este hecho se muestra
experimentalmente y están mostrados en las tablas 2.3 a 2.8 y en la Figuras
correspondientes.

En pocas líneas se ve como se puede encontrar polinomios de aproximación a una función


conocida suficientemente suave con los métodos de colocación, después se presentó
construcciones de aproximaciones a la función solución de ecuaciones diferenciales
ordinarias, de primer y segundo grado, usando los métodos de colocación y su potente
efectividad

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

x, t, t2, a2, t1, a1);


Error del polinomio p.13 para la figura, el código en MatLab x=x+0.4;
es end
>> x=-pi/2:0.01:pi/2;
y1=abs(cos(x)-(1 - (4/pi^2)*x.^2)); Tabla 2.8. p.44
>> plot(x,y1) Igual que el código anterior sólo se cambia el código de t1 y
t2
Figura 2.3 p.25 el código en MatLab es t1=(1+0.667*x+0.1667*x^2)/(1-0.3333*x);
>> x=0:0.01:1; y=sin(pi*x); t2=(1.0018+0.6727*x+0.1598*x^2)/(1-0.3263*x);
>> p=-4.12251*x.^2 + 4.12251*x - 0.050465;
>> plot(x,y); hold; plot(x,p)
======================
Figura 2.6 p.31 el código en MatLab es
>> x=-1:0.01:1; y1=x; y2=2*x.^2-1; Programa 1
y3=4*x.^3 - 3*x; y4=8*x.^4 - 8*x.^2+1;
>> plot(x,y1,x,y2,x,y3,x,y4) % 01. - convergencia de cuarto-orden
% para diferencias finitas
Figura 2.8 p.36 el código en MatLab es % Para varios N, la rejilla en [-pi, pi]
>> x=0:0.01:1.5; y1=x.*exp(x); % y función u(x):
y2=1.3876*x.^3+0.05757*x.^2+1.2730*x; Nvec = 2.^(3:12);
>> plot(x,y1,x,y2) clf, subplot('position',[.1 .4 .8 .5])
for N = Nvec
Tabla 2.4. p.39 el código en MatLab es h = 2*pi/N; x = -pi + (1:N)'*h;
u = exp(sin(x)); uprima = cos(x).*u;
function y=serie1(x) % ejecuta la comparación % Construcción matriz sparse de
%entre la serie Maclaurin y la de Chebyshev %diferenciación 4to-orden:
%reducidas en grado. e = ones(N,1);
x=-1; D = sparse(1:N,[2:N 1],2*e/3,N,N)...
for i=1 : 12 - sparse(1:N,[3:N 1 2],e/12,N,N);
t=exp(x); D = (D-D')/h;
t1=191/192+13/24*x+1/6*x^2; % Ploteado del max(abs(D*u-uprima)):
t2=1+x+x^2/2+x^3/6; error = norm(D*u-uprima,inf);
a1=(t-t1); a2=(t-t2); loglog(N,error,'.','markersize',15), hold on
fprintf('x=%2.5f f=%2.5f che=%2.5f ... end
er=%2.5f Mc=%2.5f er=%2.5f\n',... grid on, xlabel N, ylabel error
x, t, t1, a1, t2, a2); title('Convergencia de 4to-orden de…
x=x+2/10; diferencias finitas ')
end semilogy(Nvec,Nvec.^(-4),'--')
text(105,5e-8,'N^{-4}','fontsize',18)
Figura 2.9 p.40 el código en MatLab es ==================
Igual que el código anterior sólo se cambia el código de t1
t1=550/553+383/384*x ... Programa 2
+278/512*x^2+17/96*x^3;
% 02. - convergencia de método espectral
Tabla 2.7. p.42 el código en MatLab es % periódico
function y=racional0(x) % Para varios N (par), el conjunto de
x=-1; % rejilla como:
for i=1 : 6 clf, subplot('postillón',[.1 .4 .8 .5])
t=exp(x); for N = 2:2:100;
t1=(1+0.667*x+0.1667*x^2)/(1-0.3333*x); h = 2*pi/N;
t2=(1+x+0.5*x^2+0.1667*x^3); x = -pi + (1:N)'*h;
a1=(t-t1); a2=(t-t2); u = exp(sin(x)); uprima = cos(x).*u;
fprintf('x=%2.5f f=%2.5f Mc=%2.5f ... % Construcción de matriz
er=%2.5f Ra=%2.5f er=%2.5f\n',... % diferenciación espectral:

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

También podría gustarte