Está en la página 1de 146

Apuntes de Cálculo Numérico.

Antonio Souto Iglesias


Juán Miguel Sánchez.
Every phenomenon affects and is
affected by every other phenomenon.
Any phenomenon which we choose to examine
is to us conditioned by what we see and know.
We exclude deliberately all other conditions,
but nature does not exclude them.
T.A.Cook
The curves of life. 1914

El progreso técnico deja un problema sin


resolver: la debilidad de la naturaleza humana.
J. Gray
Índice General

1 Introducción. 8
1.1 Clasificación de los problemas en matemática numérica. . . . . . . . . . . 9
1.2 Tutorı́as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Requisitos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Sistema de evaluación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Normas del examen de Cálculo Numérico. . . . . . . . . . . . . . 12

2 Ecuaciones y sistemas de ecuaciones no lineales. 13


2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Teorema de la aplicación contractiva. . . . . . . . . . . . . . . . . . . . . 14
2.3 Aplicación a la resolución de ecuaciones. . . . . . . . . . . . . . . . . . . 16
2.3.1 Estudios de convergencia local. . . . . . . . . . . . . . . . . . . . 16
2.4 Estimaciones del error en función del número de iteraciones. . . . . . . . 17
2.5 Interpretación gráfica de los métodos iterativos. . . . . . . . . . . . . . . 18
2.6 Relajación de un esquema de aproximaciones sucesivas. . . . . . . . . . . 18
2.7 Método de Newton-Raphson. . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7.1 Obtención del método de Newton a partir del factor óptimo de
relajación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.2 Obtención del método de Newton a partir de un desarrollo en serie
de Taylor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.3 Interpretación geométrica del método de Newton. . . . . . . . . . 21
2.7.4 Obtención del método de Newton a partir de las ideas de conver-
gencia local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8 Resolución de sistemas de ecuaciones no lineales. . . . . . . . . . . . . . . 24
2.8.1 Convergencia local. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.9 Método de Newton-Raphson para sistemas de ecuaciones no lineales. . . 26
2.10 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.11 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 26

3 Resolución de sistemas lineales. 27


3.1 Matrices y normas matriciales. . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2 Autovalores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.3 Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Condicionamiento de un sistema lineal. . . . . . . . . . . . . . . . . . . . 31

4
3.3 Métodos directos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Eliminación gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2 Descomposición LU. . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.3 Descomposición de Cholesky, A = LLt . . . . . . . . . . . . . . . . 37
3.3.4 Método de Gauss-Jordan. . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Métodos iterativos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.1 Convergencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.2 Esquema general. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.3 Método iterativo de Jacobi. . . . . . . . . . . . . . . . . . . . . . 39
3.4.4 Método iterativo de Gauss-Seidel. . . . . . . . . . . . . . . . . . . 41
3.4.5 Test de parada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 43

4 Interpolación. 44
4.1 El problema general de interpolación . . . . . . . . . . . . . . . . . . . . 44
4.1.1 Casos particulares del problema general de interpolación . . . . . 44
4.2 Interpolación polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Estimaciones del error en la interpolación de Lagrange . . . . . . 49
4.2.3 Diferencias divididas . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.4 Interpolación simple de Hermite u osculatriz. . . . . . . . . . . . . 53
4.3 Interpolación polinomial a trozos. . . . . . . . . . . . . . . . . . . . . . . 54
4.3.1 Interpolacion parabólica a trozos . . . . . . . . . . . . . . . . . . 54
4.3.2 Error en la interpolacion parabólica a trozos . . . . . . . . . . . . 56
4.3.3 Interpolación a trozos de grado 3 usando interpolación Hermite. . 56
4.4 Interpolación polinomial a trozos: Splines . . . . . . . . . . . . . . . . . . 57
4.4.1 Bases de splines asociadas a un problema de interpolación. . . . . 60
4.5 Interpolación spline con bases de soporte mı́nimo: B-splines . . . . . . . 61
4.5.1 B-splines de grado 0. k = 0, r = 1 . . . . . . . . . . . . . . . . . . 64
4.5.2 B-splines de grado 1. k = 1, r = 2 . . . . . . . . . . . . . . . . . . 64
4.5.3 B-splines de grado k. r = k + 1 . . . . . . . . . . . . . . . . . . . 64
4.5.4 B-splines de grado 2 en una partición equiespaciada. k = 2, r = 3 65
4.5.5 B-splines de grado 3 en una partición equiespaciada. k = 3, r = 4 65
4.5.6 Partición de la unidad . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5.7 Interpolación con B-splines . . . . . . . . . . . . . . . . . . . . . . 66
4.6 Interpolación en varias variables. . . . . . . . . . . . . . . . . . . . . . . 66
4.6.1 Interpolación en recintos rectangulares . . . . . . . . . . . . . . . 67
4.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 67

5 Aproximación de funciones. 68
5.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2 El problema general de aproximación. . . . . . . . . . . . . . . . . . . . . 68
5.3 Mejor aproximación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4 Existencia y unicidad de una mejor aproximación . . . . . . . . . . . . . 71
5.4.1 Sucesión minimizante en T . . . . . . . . . . . . . . . . . . . . . . 71

5
5.5 Aproximación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6 Aproximación en espacios prehilbertianos. . . . . . . . . . . . . . . . . . 72
5.6.1 General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6.2 Caracterizacion de la mejor aproximación. . . . . . . . . . . . . . 73
5.6.3 Error cuadrático medio . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.4 Polinomios ortogonales . . . . . . . . . . . . . . . . . . . . . . . . 76
5.6.5 Desarrollo en serie de Fourier de una función periódica. . . . . . . 79
5.6.6 Aproximación discreta: mı́nimos cuadrados. . . . . . . . . . . . . 82
5.6.7 Desarrollo en serie de Fourier de señales periódicas definidas de
modo discreto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 87

6 Integración numérica 88
6.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2 Exposición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3 Fórmulas de cuadratura de tipo interpolación . . . . . . . . . . . . . . . 89
6.4 Fórmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.4.1 Evaluación del error en las fórmulas de Newton-Cotes . . . . . . . 92
6.4.2 Fórmulas abiertas de Newton-Cotes . . . . . . . . . . . . . . . . . 93
6.5 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6 Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.7 Métodos compuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.7.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.7.2 Método compuesto de los trapecios . . . . . . . . . . . . . . . . . 95
6.7.3 Método compuesto de Simpson . . . . . . . . . . . . . . . . . . . 95
6.7.4 Mayoración del error en los métodos compuestos . . . . . . . . . . 96
6.7.5 Selección del paso de integración . . . . . . . . . . . . . . . . . . 96
6.7.6 Estabilidad de los métodos compuestos . . . . . . . . . . . . . . . 97
6.8 Fórmulas de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.8.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.8.2 Método de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.9 Integración multidimensional . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.10 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.11 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 100

7 Derivación numérica 101


7.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.2 Exposición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.3 Derivación numérica por interpolación polinómica. . . . . . . . . . . . . . 102
7.3.1 Fórmula de dos puntos. . . . . . . . . . . . . . . . . . . . . . . . . 102
7.3.2 Error en la fórmula de dos puntos . . . . . . . . . . . . . . . . . . 102
7.3.3 Fórmula de tres puntos . . . . . . . . . . . . . . . . . . . . . . . . 104
7.3.4 Error en la fórmula de tres puntos. . . . . . . . . . . . . . . . . . 105
7.3.5 Fórmula de cuatro puntos. . . . . . . . . . . . . . . . . . . . . . . 105
7.3.6 Fórmula de tres puntos para estimar la derivada segunda. . . . . . 106

6
7.4 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.5 Derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.6 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 109

8 Ecuaciones diferenciales ordinarias. 111


8.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.2 Ideas básicas para la resolución numérica de problemas de valor inicial . . 113
8.3 Métodos discretos de un paso para edos. . . . . . . . . . . . . . . . . . . 114
8.3.1 Principios de los métodos de un paso. . . . . . . . . . . . . . . . . 114
8.3.2 Ejemplo: Método de Euler. . . . . . . . . . . . . . . . . . . . . . 115
8.3.3 Esquema general. . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.3.4 Error de discretización. Orden de un método. . . . . . . . . . . . 118
8.3.5 Selección del paso de integración. . . . . . . . . . . . . . . . . . . 118
8.4 Diferentes métodos de un paso. . . . . . . . . . . . . . . . . . . . . . . . 119
8.4.1 Método de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.4.2 Orden del método de Euler. . . . . . . . . . . . . . . . . . . . . . 119
8.4.3 Método de Euler: error de discretización. . . . . . . . . . . . . . . 120
8.4.4 Método de Taylor. . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.4.5 Métodos de Runge-Kutta. . . . . . . . . . . . . . . . . . . . . . . 121
8.5 Métodos de paso multiple. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.5.1 Introducción a los métodos de paso múltiple. . . . . . . . . . . . . 126
8.5.2 Métodos de Adams-Bashforth. . . . . . . . . . . . . . . . . . . . . 127
8.5.3 Métodos de Adams-Moulton. . . . . . . . . . . . . . . . . . . . . 128
8.5.4 Métodos predictor-corrector. . . . . . . . . . . . . . . . . . . . . . 132
8.5.5 Métodos de Milne-Simpson. . . . . . . . . . . . . . . . . . . . . . 134
8.6 Edos de orden mayor que uno y sistemas de edos. . . . . . . . . . . . . . 135
8.7 Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.8 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 137

9 Ecuaciones diferenciales en derivadas parciales: Método de las diferen-


cias finitas 138
9.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.2 Ecuaciones parabólicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.3 Ecuaciones elı́pticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.3.1 Discretización del operador de Laplace con contornos irregulares. . 141
9.4 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.5 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 142

Bibliografı́a 143

7
Capı́tulo 1

Introducción.

1
La matemática numérica o computacional estudia métodos para la resolución numérica
y en general aproximada, de problemas propuestos matemáticamente. De un modo ge-
neral se pueden distinguir dos aspectos distintos en la matemática numérica:

1. Metodologı́a, se refiere a al construcción de algoritmos especı́ficos para cada pro-


blema, discutir su efectividad y suministrar las herramientas adecuadas para su
tratamiento con el ordenador.

2. Análisis o estudio de los principios matemáticos que subyacen a los métodos, los
teoremas de convergencia, las mayoraciones de los errores, etc.

En la mayorı́a de los cursos de iniciación al cálculo numérico, se insiste fundamentalmente


en la metodologı́a exponiendo al alumno a una avalancha de métodos que aparentemente
no tienen nada en común. La realidad es otra. La matemática numérica está fundamen-
tada en unos pocos principios básicos, de modo que en la base de muchos algoritmos,
aparentemente distintos, subyace el mismo principio. Entender ese principio ayuda a
aclarar las ideas, lo que influye beneficiosamente en la búsqueda y construcción de nuevos
métodos de resolución de problemas. Trataremos de mantener el equilibrio entre ambos
aspectos:

1. Enunciaremos los teoremas más importantes omitiendo su demostración cuando


ésta sea excesivamente larga o técnica.

2. Analizaremos de modo especial algunos de los algoritmos más importantes y sumi-


nistraremos información sobre sus variantes y otros algoritmos menos importantes.

3. Propondremos problemas y ejercicios de aplicación, principalmente aquellos que


hayan sido propuestos en exámenes de la asignatura.

El programa de cálculo numérico se desarrolla teniendo como motivo ordenador la si-


guiente clasificación, muy amplia, de los problemas que se suelen encontrar en matemática
numérica.
1
Se agradece de modo muy especial la colaboración de Donato Martı́nez, sin la cual no hubiese sido
posible la reorganización de todos estos apuntes.
1.1 Clasificación de los problemas en matemática nu-
mérica.
Muchos de los problemas que surgen en matemática aplicada se pueden enunciar formal-
mente ası́ :
Resolver la ecuacion
f (x) = y (1.1)
donde x ∈ E e y ∈ F , con E y F espacios vectoriales normados reales o complejos, y
f : E → F es un operador, lineal o no, cualquiera.
En el lenguaje de la ingenierı́a de sistemas x, y, f representan la entrada, la salida y el
sistema en sı́, respectivamente.
La observación de la ecuación [1.1] permite reconocer tres tipos de problemas distintos:

1. El problema directo. Dados f y x, hallar y. Se intenta determinar la salida de un


sistema dado, producida por una entrada conocida. Un ejemplo serı́a el cálculo de
una integral definida.

2. El problema inverso. Dados f e y, hallar x. Se busca la entrada que genera


una salida conocida en un sistema dado. Ejemplos de problemas inversos son la
resolución de sistemas de ecuaciones lineales o no lineales, ası́ como la resolución
de ecuaciones diferenciales tanto ordinarias como en derivadas parciales y la de
ecuaciones integrales.

3. El problema de identificacion. Dados x e y, hallar f . Se buscan las leyes que


gobiernan el sistema a partir del conocimiento de ciertas relaciones entre la en-
trada y la salida. En general, sólo se conoce un número finito de parejas (xn , yn )
entrada-salida. En su forma más simple el problema de identificación es la teorı́a
de aproximación de funciones - f es una función de una variable y se pide hallar la
o una función cuya gráfica pasa por o pasa cerca de un conjunto de puntos (xn , yn ).

Cada tipo de problemas plantea sus propias cuestiones especı́ficas, genera sus propios
algoritmos e incluso el éxito en desarrollar una teorı́a general varı́a dependiendo de cuál
de ellos consideremos.
Los problemas directos se tratan con relativa facilidad; su ejemplo más importante, la
integración numérica, es hoy un problema bien comprendido. Existen todavı́a problemas
abiertos y dificultades, pero el problema es conceptualmente simple con una teorı́a general
no muy complicada.
El problema inverso ocupa por su importancia un puesto central en análisis numérico.
El caso lineal se ha estudiado extensamente y posee una teorı́a general bien desarrollada.
El problema no lineal es más difı́cil, y con un cuerpo de teorı́a menos satisfactorio.
El problema de identificación en su marco más general es bastante difı́cil. Pretender
descifrar las leyes que gobiernan un proceso desconocido del conocimiento de un número

9
finito de observaciones es generalmente imposible si no se tiene además algún tipo de
información de la estructura del proceso. El problema ya citado de la aproximación
de un operador de una variable conociendo un número finito de parejas (xn , yn ) carece
en general de solución única salvo que restrinjamos la clase de las funciones admisibles
eligiendo una forma conveniente de f dependiente de ciertos parámetros que se calculen
de modo que expliquen mejor las observaciones entrada-salida efectuadas.
El linde entre los problemas directo e inverso es difuso, en ciertos casos, el problema
inverso se puede transformar en un problema directo. Si f posee inversa conocida f −1 ,
pasarı́amos de [1.1] a x = f −1 (y), por ejemplo el problema de Cauchy:
dx
= ζ(t)x, x(0) = 1
dt
se puede expresar mediante separación de variables en la forma:
³R ´
t
ζ(s)ds
x(t) = e 0

Para un matemático, el problema estarı́a resuelto aunque desde un punto de vista estric-
tamente numérico, sea más conveniente resolver el problema en su forma original.
Esta observación es bastante general, la determinación explı́cita de la inversa no ayuda
numéricamente aunque su conocimiento sea valioso por la información cualitativa que
puede suministrar sobre el comportamiento de la solución que no se podrı́a obtener de
ningún otro modo.
Puede parecer que la formulación [1.1] es muy restrictiva porque a veces no sólo se tiene
una ecuación que resolver sino que también hay condiciones adicionales, iniciales o de
contorno, que satisfacer, pero ello no es cierto. Usando el concepto de espacio producto
podemos incluir esas condiciones como veremos en el siguiente ejemplo:
dx
= ζ(t, x), 0 ≤ t ≤ 1
dt
con la condición inicial x(0) = α.
Sea F = C[0, 1] × IR . Definamos f : C 1 [0, 1] → F poniendo
à !
dx
f (x) = − ζ(t, x), x(0)
dt
y el problema planteado se puede escribir en la forma correspondiente al problema inverso

f (x) = (0, α)

En este libro hemos huido de los ejemplos y ejercicios resueltos. Esto se debe a que es
un libro orientado a su utilización durante el examen, y además se complementa con un
texto donde aparecen resueltos algunos de los ejercicios propuestos en exámenes.
El análisis numérico de un problema es, en la mayorı́a de los casos, la única la aproxi-
mación factible al mismo. Casi todos los modelos analı́ticos de la realidad son irresolubles,

10
y hay que hacer aproximaciones con mayor o menor éxito. Por eso, esta asignatura es
muy importante, y hacerla bien os deja en una posición ventajosa para muchos retos
futuros. Ejemplos abundantes encontraréis en la realización de vuestro proyecto fin de
carrera interpolando datos para hacer estimaciones razonables de valores desconocidos,
o integrando numéricamente curvas para sacar pares adrizantes, o usando un paquete de
cálculo de estructuras por elementos finitos integrando las ecuaciones de la dinámica de
medios continuos para chequear una parte delicada de la estructura, y muchas otras cosas
que usáis sin daros cuenta pero que están escondidas en los programas de arquitectura
naval o de CAD que uséis. En la vida profesional, algunos de vosotros abordaréis pro-
blemas similares. Otros jamás tendréis que escribir un número, y algunos otros, tendréis
que completar este curso por insuficiente.
Nos parece importante comentar a los alumnos que están cursando de nuevo la asignatu-
ra, que ésta cambia un poco cada año, y que deben conseguir el material nuevo de este
año. Caso de no hacerlo ası́, es posible que en el examen se encuentren con un problema
que no tengan ni idea de cómo abordar, como ya ha pasado muchas veces.

1.2 Tutorı́as
Para las tutorı́as existe un horario oficial que cambia cada año en función del horario
de clases. Independientemente de las tutorı́as oficiales, se me localiza en el canal (tlf.
3367156) y estaré encantado de atenderos fuera de las horas oficiales a no ser que pun-
tualmente esté muy ocupado. Os ruego que me mandeis un mail a la dirección de correo
electrónico asouto@etsin.upm.es para crear una lista de distribución de correo y poderos
mandar mensajes cuando salgan las notas, con ejercicios o avisos, y con mis datos y el
horario de tutorı́as de este curso. También se dispone de una página web de la asignatu-
ra donde podéis recoger las hojas de ejercicios, expresar vuestras opiniones en un foro,
navegar por enlaces interesantes, etc. La dirección es:

http://canal.etsin.upm.es/web_cnum

1.3 Requisitos previos


Para que al estudiante le cueste menos seguir la asignatura, es importante que haya
cursado ya las otras asignaturas del área de matemáticas, especialmente Álgebra Lineal
con énfasis en formas lineales, espacios duales, sistemas lineales, y normas matriciales.
También se usarán conceptos de cálculo en una variable, topologı́a básica y ecuaciones
diferenciales de primer orden.

1.4 Sistema de evaluación.


Al terminar la asignatura se procede a la realización de un examen por curso que consta
normalmente de dos a cuatro problemas. Esta estructura de examen se repite en todas
las convocatorias oficiales.

11
1.4.1 Normas del examen de Cálculo Numérico.
Con estas normas lo único que se pretende es que los medios de los que dispongáis a la
hora de realizar los ejercicios sean iguales para todos, y que al mismo tiempo no tengáis
que hacer un esfuerzo de memorización de contenidos que a estas alturas consideramos
estéril. Es por eso que no permitimos apuntes personales, porque después hay lı́os con que
si esto es un ejemplo, no un problema, con que si estas fórmulas me las dio mi abuelito
que sabı́a mucho de esto,....
El que pone el examen, decide los problemas teniendo en cuenta el material del que el
estudiante dispone, y consideramos que un planteamiento razonable pasa por disponer
del material trabajado en clase, y nada más. Se han ensayado ya varias posibilidades, y
se ha llegado a la conclusión de que para esta asignatura, esta posibilidad es la menos
mala. Además, a la gente que lo considere necesario se le dará la posibilidad de usar
Matlab en el examen. Matlab es un programa de cálculo que usaremos durante el curso.
Si hay más gente que puesto reduciremos el tiempo de cada problema para que vuelva
a la sala general los estudiantes que crean que van a obtener pocas ventajas del uso de
Matlab.

1. El material que se permite usar durante el examen es:

• Este texto.
• Calculadora que puede ser programable o nó.

2. No se permitirá :

• Tener ningún tipo de problema resuelto.


• Tener apuntes personales.
• Ordenadores personales.

3. El alumno traerá como identificación su carnet de identidad.

12
Capı́tulo 2

Ecuaciones y sistemas de ecuaciones


no lineales.

2.1 Introducción
Uno de los problemas matemáticos que suelen aparecer más a menudo en la práctica es
la resolución de ecuaciones del tipo f (x) = 0 donde f se supone al menos continua, es
decir, el cálculo del valor o valores de x para los cuales se verifca:

f (x) = 0 (2.1)

Aunque en algún caso muy sencillo haya procedimientos de resolución directa de esta
ecuación (que f sea por ejemplo un polinomio de primer o segundo grado), en general
nos veremos obligados a recurrir a métodos iterativos que permitan ir obteniendo valores
que se espera que sean cada vez más próximos a x, a partir de los cuales y por nueva
aplicación del método, obtenemos otro más próximo, y ası́ sucesivamente. Lo primero
que hay que hacer encontrar un intervalo donde vaya a haber una raiz, para lo cual, lo
más sencillo es directamente buscar un cambio de signo en la gráfica de f .
La gran mayorı́a de estos métodos se basan en la transformación de 2.1 en una ecuación
equivalente del tipo:
x = g(x) (2.2)
para después construir una sucesión en la forma:

xn+1 = g (xn ) (2.3)

La forma para obtener g depende de cada método, incluso caso en particular.


Comenzaremos estudiando las condiciones que se tienen que dar para que la sucesión
2.3 converja a la solución buscada. Estudiaremos después una variante muy interesante
de construcción de la función g que es el método de Newton-Raphson, para finalmente
aplicar estos conceptos a la resolución de sistemas completos de ecuaciones no lineales.
2.2 Teorema de la aplicación contractiva.
Como base del estudio de los métodos iterativos de resolución de 2.1 o 2.2 está el teorema
de la aplicación contractiva o del punto fijo, que vamos a presentar en una de sus más
sencillas versiones.
Sea X un espacio métrico completo. Sea d(x, y) la distancia entre dos puntos. Recorde-
mos que una sucesión de Cauchy xn es aquella en la que se verifica que

∀² > 0 ∃m(²) ∈ N / ∀p ≥ m, q ≥ 0, d (xp , xp+q ) < ²

Un espacio métrico es completo si toda sucesión de Cauchy converge dentro del espacio.
Todos los espacios vectoriales normados reales o complejos de dimensión finita son espa-
cios completos. Por tanto, IRn es un espacio métrico completo.
Por otro lado, sea ahora T una aplicación de X en si mismo. Se dice que x es un punto
fijo de T si verifica
T (x) = x (2.4)
Se dice que T es una contracción de X si existe un número k ∈ [0, 1) tal que:

d (T (x), T (y)) ≤ kd (x, y) ∀x, y ∈ X (2.5)

Teorema 2.2.1 Si T es una contracción de un espacio métrico completo X, existe un


único punto fijo x en X para la función T , que además es el lı́mite de la sucesión x n+1 =
T (xn ) para cualquier x0 ∈ X.

Demostración:
Si k = 0 es evidente que hay un único punto fijo, ya que en este caso, todo elemento de
X se transforma en un único punto x de X; luego éste es el único punto fijo.
Si k > 0, sea x0 un elemento cualquiera de X y formemos una sucesión xn , como:

xn+1 = T (xn ) para n ≥ 0 (2.6)

Para cualesquiera p y q se tiene, por la desigualdad triangular,


p+q−1
X
d (xp , xp+q ) ≤ d (xj , xj+1 ) (2.7)
j=p

y por 2.5 y 2.6, se tiene

d (xj , xj+1 ) = d (T (xj−1 ) , T (xj )) ≤ kd ((xj−1 ) , (xj )) ≤ · · · ≤ k j d ((x0 ) , (x1 )) (2.8)

luego, sustituyendo en 2.7


p+q−1
X
j kp
d (xp , xp+q ) ≤ k d (x0 , x1 ) < d (x0 , x1 ) (2.9)
j=p 1−k

14
1
por ser 0 < k < 1, ya que:
p+q−1 ∞
kp
kj < kj =
X X
(2.10)
j=p j=p 1−k

Por tanto xn es una sucesión de Cauchy, ya que tomando m suficientemente grande como
para que:
km
d (x0 , x1 ) < ² (2.11)
1−k
para todo p mayor que m se tendrá
kp km
d (xp , xp+q ) < d (x0 , x1 ) < d (x0 , x1 ) < ² (2.12)
1−k 1−k
Por la completitud de X la sucesión tendrá un lı́mite x en X y como

d (T (xn ) , T (x)) ≤ kd (xn , x) (2.13)

al tender n a ∞ a ambos lados de la desigualdad

lim d (T (xn ) , T (x)) ≤ n→∞


n→∞
lim kd (xn , x) = 0 (2.14)

Por tanto
lim d (T (xn ) , T (x)) = 0
n→∞
(2.15)
o, lo que es lo mismo
lim T (xn ) = T (x)
n→∞
(2.16)
Pero por ser T (xn ) = xn+1 , y al haber demostrado la convergencia de la sucesión {xn },
también se tiene:
lim T (xn ) = n→∞
n→∞
lim xn+1 = n→∞
lim xn = x (2.17)
y por tanto
x = T (x) (2.18)
La demostración nos proporciona una forma de encontrar x como lı́mite de la sucesión
2.6
xn+1 = T (xn ) para n ≥ 0
Una vez demostrada la existencia, la unicidad es inmediata. Supongamos que hubiese
otro punto fijo x, se tendrı́a

d(x, x) = d (T (x) , T (x)) ≤ kd(x, x) < d(x, x) (2.19)

lo cual es absurdo. Por tanto, el punto fijo es único y es el lı́mite de la sucesión 2.6, como
querı́amos ver.
1
Recordamos la suma de una serie geométrica de razón r:
N −1
X 1 − rN
rj =
j=0
1−r

15
2.3 Aplicación a la resolución de ecuaciones.
Retomemos la ecuación 2.2.
Teorema 2.3.1 Sea g una función real definida en [a, b] tal que:
1. g(x) ∈ [a, b] ∀x ∈ [a, b]
2
2. Existe L < 1 tal que |g(x) − g(y)| ≤ L|x − y| ∀x, y ∈ [a, b]
Entonces existe una única raiz de 2.2 que se obtiene como lı́mite de la sucesión x n+1 =
g (xn ) donde x0 es un punto cualquiera de [a, b].
Para demostrar este teorema, hay que pensar que los cerrados de un completo, y IR lo
es, son completos, y la segunda propiedad equivale a decir que g es una contracción. Por
tanto se verifican las hipótesis del teorema de la aplicación contractiva.
A menudo es muy difı́cil demostrar que la función g es lipschitziana de constante menor
que la unidad. Sin embargo, si g es de clase C 1 [a, b] y |g 0 (x)| ≤ L < 1 ∀x ∈ [a, b],
podemos decir que g es lipschitziana de constante menor que la unidad. Ello es una
consecuencia del teorema del valor medio, pues éste garantiza que

∀x, y ∈ [a, b] ∃ζ ∈ (x, y) g(x) − g(y) = g 0 (ζ)(x − y)

y por tanto,
|g(x) − g(y)| = |g 0 (ζ)(x − y)| ≤ L|x − y| ∀x, y ∈ [a, b]

2.3.1 Estudios de convergencia local.


Los teoremas que acabamos de ver hablan de una convergencia global, en el sentido de
que la convergencia tiene lugar para cualquier valor inicial x0 . El teorema es muy fuerte
y constructivo en el sentido de que proporciona un método para encontrar la solución al
problema, pero las hipótesis difı́cilmente pueden ser verificables. Sin embargo, cuando se
conoce la existencia de una raiz s de 2.2 en un cierto intervalo, las hipótesis se pueden
debilitar, para dar en algún caso convergencia de tipo local, es decir, sólo cuando se parte
de un x0 suficientemente próximo a s. Enunciemos esta idea.
Teorema 2.3.2 Si existe una raiz s de la ecuación 2.2 en un intervalo [a, b] en el cual g
es de clase C 1 [a, b] y |g 0 (s)| < 1, entonces existe ² > 0 tal que si |x0 − s| < ², la sucesión
xn con xn+1 = g (xn ) converge a s, o sea:

lim xn = s
n→∞

Demostración:
Por ser g 0 continua en [a, b] existirá un entorno de s, de radio ² > 0, en el cual

|g 0 (x)| ≤ L < 1
2
Cuando una función verifica esta propiedad, independientemente de que L sea menor que la unidad,
se dice que la función es lipschitziana en [a, b] de constante L.

16
entonces, si |x0 − s| < ², por el teorema del valor medio, se tiene

|10 − s| = |g (x0 ) − g(s)| ≤ L |x0 − s| < |x0 − s| < ²

y repitiendo el razonamiento, en general se tendrá

|xn − s| ≤ L |xn−1 − s| ≤ · · · ≤ Ln |x0 − s| < |x0 − s| < ²

como L < 1, de |xn − s| ≤ Ln |x0 − s| se deduce la convergencia de xn hacia s.


Este es un concepto local, pero muy importante. La idea es que si en la zona de la raiz
la función g se comporta como contractiva, si somos astutos buscando el huésped inicial
suficientemente próximo a ella conseguiremos que nuestro esquema converja.

2.4 Estimaciones del error en función del número de


iteraciones.
Teorema 2.4.1 Bajo las condiciones de cualquiera de los teoremas anteriores se tiene:
Ln
|xn − s| ≤ |x1 − x0 |
1−L
Demostración:
Llamando uk = xk − xk−1 si k ≥ 1, con u0 = x0 es fácil ver que:

X
uk = s (2.20)
k=0

pues
m
X
uk = x m (2.21)
k=0

Por tanto: ¯ ¯
¯ ∞
¯ X ¯
¯
|xn − s| = ¯
¯ uk ¯¯ (2.22)
¯k=n+1 ¯
y como
|uk | ≤ L |uk−1 | ≤ Lk−1 |u1 |
tendremos:
¯ ¯
¯ ∞ ∞ ∞ ∞ ∞
¯ X ¯
k−1 k−1
Lk+n−1
¯ X X X X
|xn − s| = ¯
¯ u k¯
¯ ≤ |u k | ≤ L |u 1 | = |u 1 | L = |u 1 |
¯k=n+1 ¯ k=n+1 k=n+1 k=n+1 k=1
Ln Ln
= |u1 | =≤ |x1 − x0 | (2.23)
1−L 1−L

17
2.5 Interpretación gráfica de los métodos iterativos.
Es muy interesante ver la construcción gráfica de la sucesión xn de los métodos de apro-
ximaciones sucesivas que hemos visto anteriormente. Supongamos que la gráfica de la
función g es la que aparece en la figura 2.1. Buscar el -los- punto fijo de g equivale a
hallar la intersección de la gráfica de y = g(x), con la de la recta y = x. Comencemos
con un x0 arbitrario en [a, b]. De x0 se pasa a g (x0 ) y a x1 = g (x0 ) como se ve fácilmente
en la figura 2.1. Construido x1 se pasa a g (x1 ) y a x2 = g (x1 ) y ası́ sucesivamente.
El caso dibujado corresponde a aquel en que la derivada g 0 (x) está comprendida entre 0
y -1, con lo que se da la convergencia hacia el punto fijo. Análogamente puede verse la
convergencia en el caso en que está comprendida entre 0 y 1, y que en cambio, si g 0 (s) > 1
o g 0 (s) < −1 no se puede esperar que haya convergencia en general.

b y=x

y=g(x)
a

x
0 x1 s x2 x0 b

Figura 2.1: Interpretación gráfica del esquema de aproximaciones sucesivas.

2.6 Relajación de un esquema de aproximaciones su-


cesivas.
Consideremos un problema del tipo 2.2,

x = g(x)

que conduce a un esquema divergente debido a que en el entorno de la raiz s, la apli-


cación g no es contractiva. Supongamos que g es de clase C 1 , y veamos como podemos
transformar el esquema para converger a la solución. Buscamos un número real w 6= 0.

18
Por tanto, al ser w 6= 0, la ecuación 2.2 es equivalente a:

wx = wg(x) (2.24)

sumando x a ambos lados


x + wx = x + wg(x) (2.25)
y tenemos un nuevo problema de punto fijo:

x = (1 − w)x + wg(x) (2.26)

con su correspondiente esquema iterativo:

xn+1 = (1 − w)xn + wg (xn ) (2.27)

que podemos escribir de este modo:

xn+1 = (1 − w)xn + wx̂n+1 (2.28)

con
x̂n+1 = g (xn ) (2.29)
Es como si nos quedásemos con una parte de la iteración anterior, (1 − w) y tomásemos
sólo w de la siguiente g (xn ).
Si sucediese que en la raiz |g 0 (s)| ≥ 1, entonces, la nueva función de aproximaciones
sucesivas relajada
h(x) = (1 − w)x + wg(x) (2.30)
tiene como derivada
h0 (x) = (1 − w) + wg 0 (x) (2.31)
0
Podemos elegir w que haga que |h (x)| < 1 en un entorno de la raiz, e incluso buscar
que sea cero, que serı́a el óptimo de convergencia. A veces no es fácil estimar la derivada
de la función g. Un estimación grosera en ese entorno, podrı́a ser obtenida a partir del
propio esquema:
g (x1 ) − g (x0 )
g 0 (x) ≈ (2.32)
x1 − x 0
Con esta estimación es fácil ajustar un valor razonable para w.

0 = (1 − w) + wg 0 (x) (2.33)
1
w= (2.34)
1 − g 0 (x)

2.7 Método de Newton-Raphson.


Expondremos diferentes formas de deducir el método de Newton-Raphson 3 , el cual es
fundamental en la resolución de ecuaciones y sistemas de ecuaciones no lineales.
3
Joseph Raphson (1648 Middlesex, Inglaterra- 1715). No hay mucha información sobre su vida. Se
licenció en la Universidad de Cambridge en 1692, aunque entró en la Royal Society en 1691, un año

19
2.7.1 Obtención del método de Newton a partir del factor óp-
timo de relajación.
Consideremos de nuevo la ecuación 2.1

f (x) = 0

y supongamos que se intenta encontrar su raiz o raı́ces en un intervalo [a, b]. Como ya
hemos comentado, el procedimiento habitual consiste en la transformación de 2.1 en una
ecuación equivalente, de iguales raı́ces, y que sea del tipo 2.2.

x = g(x)

Una forma muy sencilla de conseguir esto puede ser sumar x a la parte derecha e izquierda
2.1
x + f (x) = x (2.35)
y definir g en la forma
g(x) = x + f (x) (2.36)
Si relajamos este esquema

h(x) = (1 − w)x + wg(x) = (1 − w)x + w(x + f (x)) = x + wf (x) (2.37)

Si foramos derivada nula para h, tendremos

h0 (x) = 0 = 1 + wf 0 (x) (2.38)

y por tanto
−1
w= (2.39)
f 0 (x)
con lo que
f (x)
h(x) = x − (2.40)
f 0 (x)
y el esquema iterativo
f (xn )
xn+1 = xn − (2.41)
f 0 (xn )
que es el método de Newton.
antes de su licenciatura, lo cual era muy raro. Su elección para la Royal Society se basó en su libro
Analysis aequationum universalis, publicado en 1690, que contiene el método de Newton-Raphson para
aproximar las raices de una ecuación.
En Method of Fluxions Newton describe el mismo método, y como ejemplo, encuentra la raiz de x 3 −
2x − 5 = 0 que está entre 2 y 3. Aunque Newton escribió este artı́culo en 1671, no fue publicado hasta
1736. Por tanto, Raphson publicó el mismo resultado casi 50 años antes.
No se sabe mucho de la relación entre Newton y Raphson, aunque parece que era importante. Se cree
que Raphson era una de las pocas personas a las que Newton mostraba sus artı́culos, y participó en
algunas de las disputas entre Newton y Leibniz, pero esta es otra historia.

20
2.7.2 Obtención del método de Newton a partir de un desar-
rollo en serie de Taylor.
Supongamos que f es de clase C 1 [a, b] y f 0 (x) 6= 0 en [a, b]. Supongamos que estamos
en el paso n de nuestro esquema de aproximaciones sucesivas y buscamos ∆x tal que
xn+1 = xn + ∆x sea la raiz del problema. Haciendo un desarrollo en serie de f en torno
a xn hasta el primer término tendremos:

0 = f (xn+1 ) = f (xn + ∆x) = f (xn ) + f 0 (xn )∆x + O(∆x2 ) (2.42)

De aquı́ obtenemos ∆x
f (xn )
∆x = − (2.43)
f 0 (xn )
y por tanto, tendremos ya el esquema buscado:
f (xn )
xn+1 = xn + ∆x = xn − (2.44)
f 0 (xn )

2.7.3 Interpretación geométrica del método de Newton.


La interpretación es clara. Cuando se calcula x1 como
f (x0 )
x1 = x 0 − (2.45)
f 0 (x0 )

lo que se está haciendo es tomar la tangente a la curva y = f (x) en el punto (x0 , f (x0 ))
y hallar la intersección de esa recta con el eje OX.
En efecto, la tangente tiene por ecuación

y − f (x0 ) = f 0 (x0 )(x − x0 ) (2.46)

y al cortar con el eje OX haciendo y = 0 resulta


f (x0 )
x = x0 − (2.47)
f 0 (x0 )
es decir x1 . O sea, la idea es ir acercándose a la raiz a través de las tangentes de la curva,
ver figura 2.2. La idea es muy buena, y el método de Newton, como ya comentábamos,
cuando funciona, lo hace muy bien. Por otro, lado, con esta interpretación geométrica es
fácil ver los problemas que surgen cuando llegamos a un punto de tangente horizontal.

2.7.4 Obtención del método de Newton a partir de las ideas de


convergencia local
Consideremos de nuevo la ecuación 2.1

f (x) = 0

21
a b
X
x1 x0

y=f(x)

Figura 2.2: Interpretación geométrica del método de Newton

y supongamos que se intenta encontrar su raiz o raı́ces en un intervalo [a, b]. Como ya
hemos comentado, el procedimiento habitual consiste en la transformación de 2.1 en una
ecuación equivalente, de iguales raı́ces, y que sea del tipo 2.2.

x = g(x)

Una forma de conseguir esto puede ser definir g en la forma

g(x) = x + F (f (x)) (2.48)

donde F es una función real de variable real que sólo se anule en el origen:

F (t) = 0 ⇔ t = 0 (2.49)

En efecto, si x = s es una raiz de 2.1, se tendrá f (s) = 0, y por tanto F (f (s)) y

s = s + F (f (s)) = g(s) (2.50)

y por tanto s es raiz de 2.2. Recı́procamente, si s verifica 2.50, ha de ser F (f (s)) = 0 y


por 2.49 se tendrá f (s) = 0.
En principio hay plena libertad para la elección de F , pero la forma usual de tomarla,
para la obtención de raı́ces de 2.1 es

F (f (s)) = h(x)f (x) (2.51)

donde h es una función definida en [a, b] que no se anule en [a, b].

22
Supongamos que f es de clase C 1 [a, b] y f 0 (x) 6= 0 en [a, b]. Como hemos visto ya al
estudiar la convergencia local, si s es raiz de f en [a, b], interesa que |g 0 (s)| < 1, y serı́a
mejor si g 0 (s) = 0, pues la convergencia serı́a más rápida. Veamos la forma de h para
poder conseguir esto. Tomando h es de clase C 1 [a, b], tendremos que g tendrá la misma
clase. Además:
g 0 (x) = 1 + h0 (x)f (x) + h(x)f 0 (x) (2.52)
En partircular en la raiz de f , s,

g 0 (s) = 1 + h(s)f 0 (s) (2.53)

Si se desea que g 0 (s) = 0, bastará con que


1
h(s) = − (2.54)
f 0 (s)

La elección más lógica serı́a tomar como h(x) la constante


1
h(x) = − (2.55)
f 0 (s)

con lo cual serı́a


f (x)
g(x) = x − (2.56)
f 0 (s)
pero esto no es práctico porque naturalmente se desconoce en principio s y, por tanto,
tambien f 0 (s). De ahı́ que interese más tomar
1
h(x) = − (2.57)
f 0 (x)

Sin embargo, para que h ∈ C 1 [a, b], al haberla definido ası́ necesitaremos subir la clase
de f a 2. Por tanto, se tendrá
f (x)
g(x) = x − 0 (2.58)
f (x)
y el método de Newton será por tanto

f (xn )
xn+1 = xn − (2.59)
f 0 (xn )

La elección de x0 es muy importante, dadas las caracterı́sticas de convergencia local sobre


las que hemos construido el método. De hecho, el método de Newton, caso de converger
lo hace muy rápidamente, pero caso de diverger también lo hace muy rápidamente. De
hecho, tal como hemos construido el método siempre se tendrá convergencia local si se
elige adecuadamente el huésped inicial. La convergencia global, más difı́cil de demostrar,
se estudia desde las hipótesis del teorema de la aplicación contractiva, y no aporta gran
cosa.

23
2.8 Resolución de sistemas de ecuaciones no lineales.
Consideremos ahora el problema de hallar una solución s ∈ IRn de un sistema de n
ecuaciones con n incógnitas.

f1 (x1 , x2 , · · · , xn ) = 0
f2 (x1 , x2 , · · · , xn ) = 0
(2.60)
···
fn (x1 , x2 , · · · , xn ) = 0

donde f1 , f2 , fn son las funciones componentes de f . El problema se puede plantear en


términos análogos a los de los temas anteriores, usando notación vectorial. Si denotamos
por x al vector de IRn de componentes (x1 , x2 , · · · , xn ), podemos escribir la ecuación
anterior en forma vectorial.
f (x) = 0 (2.61)
que podemos transformar en
x = g(x) (2.62)
x1 = g1 (x1 , x2 , · · · , xn )
x2 = g2 (x1 , x2 , · · · , xn )
(2.63)
···
xn = gn (x1 , x2 , · · · , xn )
y a la que podemos intentar aplicar el teorema de la aplicación contractiva, buscando el
vector solución x como lı́mite de una sucesión
³ ´
x(m+1) = g x(m) (2.64)

con valores en IRn ,


Qn
Teorema 2.8.1 Sea g una función real definida en D = i=1 [ai , bi ]
tal que:

1. g(x) ∈ D ∀x ∈ D

2. Existe L < 1 tal que k g(x) − g(y) k≤ L k x − y k ∀x, y ∈ D


(m+1)
Entonces
³ ´ existe una única raiz de 2.64 que se obtiene como lı́mite de la sucesión x =
(m)
g x donde x0 es un punto cualquiera de D.

Para demostrar este teorema, hay que pensar que los cerrados de un completo, y IR n lo
es, son completos, y la segunda propiedad equivale a decir que g es una contracción. Por
tanto se verifican las hipótesis del teorema de la aplicación contractiva.
En varias variables, casi siempre es muy difı́cil demostrar que la función g es lipschitziana
de constante menor que la unidad. Esta condición puede ser sustituida a veces por otras
condiciones más fáciles de comprobar. Por ejemplo, si todas las funciones gi que aparecen
en 2.63 son C 1 (D), es decir, continuas y con derivadas parciales continuas en D, y si se
verifica ¯ ¯
¯ ∂g (x) ¯ L
¯ i
¯≤ ∀x ∈ D (2.65)
¯
¯ ∂xj ¯ n
¯

24
con L < 1, para todos los i, j = 1, 2, · · · , n, entonces se cumple el teorema de la aplicación
contractiva si normamos IRn con la norma 1 o ∞.
Demostración:
Haciendo un desarrollo en serie de Taylor de la función de varias variables g, tenemos
que existen n2 valores ζij tales que:
n
X ∂gi (ζij )
gi (x) − gi (y) = (xj − yj ) (2.66)
j=1 ∂xj

y por 2.65
n
LX
|gi (x) − gi (y)| ≤ |xj − yj | (2.67)
n j=1
Si tomamos la norma 1, y sumamos, tendremos.
n
X n
X
k g(x) − g(y) k1 = |gi (x) − gi (y)| ≤ L |xj − yj | = L k x − y k1 (2.68)
j=1 j=1

que es lo que querı́amos ver. Se deja como ejercicio la comprobación para la norma ∞.
Existe una versión más general de este teorema que pasamos a enunciar:

Teorema 2.8.2 Sea g una función real diferenciable definida en un conjunto cerrado
acotado convexo D, y tal que cualquiera de las normas inducidas del jacobiano de g en
todos los puntos de D sea menor que la unidad, o el radio espectral del jacobiano de g
sea menor que la unidad para todos los puntos de D, entonces
³ existe
´ una única raiz de
(m+1) (m)
2.64 que se obtiene como lı́mite de la sucesión x =g x donde x0 es un punto
cualquiera de D.

2.8.1 Convergencia local.


Las ideas sobre convergencia local admiten una extensión sencilla a varias variables,
siempre usando la norma 1 o la norma ∞. Ası́, si s es la raiz buscada, y
¯ ¯
¯ ∂g (s) ¯ 1
¯ i
¯< ∀i, j = 1, 2, · · · , n (2.69)
¯
¯ ∂xj ¯ n
¯

tendremos convergencia si el huésped inicial está suficientemente cerca de la raiz. Con la


cota del error sucede lo mismo cambiando el valor absoluto por la norma correspondiente.
De hecho, es suficiente con que kJg (s)k < 1 para cualquier norma inducida, y eso es lo
mismo que decir que el radio espectral de la matriz jacobiana sea menor que la unidad,
ρ(Jg (s)) < 1.

25
2.9 Método de Newton-Raphson para sistemas de
ecuaciones no lineales.
Supongamos que f es de clase C 1 (D) y Jf (x) no es singular en D, siendo D un conjunto
cerrado acotado convexo D. Supongamos que estamos en el paso n de nuestro esquema
de aproximaciones sucesivas y buscamos ∆x, tal que xn+1 = xn + ∆x sea la raiz del
problema. Haciendo un desarrollo en serie de f en torno a xn hasta el primer término
tendremos, dado que el jacobiano es la aproximación lineal:

0 = f (xn+1 ) = f (xn + ∆x) = f (xn ) + Jf (xn )∆x + O(∆x2 ) (2.70)

De aquı́ obtenemos ∆x
∆x = −Jf−1 (xn )f (xn ) (2.71)
4
y por tanto, tendremos ya el esquema buscado

Jf (xn )∆x = −f (xn ) (2.72)


xn+1 = xn + ∆x (2.73)

Otra vez, la convergencia local está garantizada si el jacobiano no es singular en la raiz,


pero la convergencia global es de dificilı́sima demostración.

2.10 Resumen
1. Lo primero que hay que hacer para resolver una ecuación o sistema no lineal es
acotar una zona donde exista al menos una raiz. Si podemos asegurar que será sólo
una, mucho mejor.

2. Lo siguiente es reformular el problema como uno de punto fijo, y lanzar el esquema


para ver si converge a la raiz buscada.

3. Caso de que no haya convergencia, es bueno intentar un esquema de relajación.

4. Si la función es fácilmente derivable, podemos intentar un esquema de Newton-


Raphson, de convergencia rapı́disima caso de darse.

5. Estas consideraciones valen tanto para ecuaciones como para sistemas de ecuaciones
no lineales.

2.11 Referencias recomendadas para este tema.


[14], [5].

4
Lo ponemos en este modo, pues para resolver un sistema lineal, hemos aprendido que no es necesario
invertir la matriz del sistema, que es un problema bastante más complejo.

26
Capı́tulo 3

Resolución de sistemas lineales.

3.1 Matrices y normas matriciales.


Antes de entrar en los aspectos centrales referidos a la resolución de sistemas lineales
conviene recordar conceptos básicos que hemos estudiado en Algebra Lineal y sin los
cuales es imposible entender los problemas que vamos a resolver. Para este repaso y en
general para todos estos métodos recomendamos como referencia los textos de G. Golub,
y en particular el [6].

3.1.1 Matrices.
Teorema 3.1.1 Para una matriz cuadrada A de n × n, las siguientes afirmaciones son
equivalentes:
1. A−1 existe.
2. det A 6= 0.
3. El sistema lineal Ax = 0 tiene solamente la solución x = 0.
4. Para cualquier vector b, el sistema lineal Ax = b tiene solución única.
5. Las filas y columnas de A son linealmente independiente.
6. El rango de la matriz A es n.
Definición 3.1.1 Se dice que una matriz cuadrada A de n × n es diagonalmente domi-
nante por filas (o diagonalmente dominante) si:
j=n
X
|aii | ≥ |aij |, i = 1, · · · n (3.1)
j=1,j6=i

Definición 3.1.2 Se dice que una matriz cuadrada A de n × n es diagonalmente estric-


tamente dominante por filas (o diagonalmente estrictamente dominante) si:
j=n
X
|aii | > |aij |, i = 1, · · · n (3.2)
j=1,j6=i

27
Teorema 3.1.2 Si la matriz cuadrada A de n × n es diagonalmente estrictamente do-
minante, entonces es regular.

3.1.2 Autovalores
Es importante también tener presente los resultados referidos a la descomposición espec-
tral o conjunto de autovalores de una matriz.

Teorema 3.1.3 Si la matriz cuadrada A de n × n tiene como autovalores λ1 , · · ·, λn ,


entonces, para cualquier entero positivo m, λm m m
1 , · · ·, λn son autovalores de A . Además,
m
cualquier autovector de A es también autovector de A .

Teorema 3.1.4 Si la matriz cuadrada A de n×n tiene como autovalores λ1 , · · ·, λn , en-


tonces, para cualquier entero positivo m, λ−1 −1 −1
1 , · · ·, λn son autovalores de A . Además,
−1
cualquier autovector de A es también autovector de A .

Teorema 3.1.5 Los autovalores de una matriz simétrica son reales.

Definición 3.1.3 Se dice que una matriz cuadrada A de n × n es definida positiva si


xt Ax > 0 ∀x 6= 0.

Teorema 3.1.6 Los autovalores de una matriz simétrica son positivos si y solo si la
matriz es definida positiva.

Definición 3.1.4 Se dice que dos matrices cuadradas A y B de n × n son semejantes si


existe una matriz regular P tal que:

B = P AP −1 (3.3)

Teorema 3.1.7 Una matriz A de n × n es semejante a una matriz diagonal si y solo si


tiene n autovectores linealmente independientes.

Teorema 3.1.8 Si una matriz A de n×n tiene n autovalores distintos entre si, entonces
es semejante a una matriz diagonal.

Definición 3.1.5 Sea A una matriz cuadrada de n × n que tiene como autovalores λ 1 ,
· · ·, λn . Se define como radio espectral de la matriz A y se nota ρ(A) al valor:

ρ(A) = max |λi | (3.4)


1≤i≤n

28
3.1.3 Normas matriciales
Dentro de este repaso conviene recordar también resultados y definiciones correspon-
dientes a normas matriciales y vectoriales. Todo este tema está muy bien tratado en la
referencia [4], y de ahı́ lo hemos tomado. Sea A ∈ Mm×n (IK), espacio vectorial de las
matrices de m × n de coeficientes reales o complejos. IK será el cuerpo de los complejos
o los reales, aunque se trabajará casi siempre con reales. Denotaremos por At la matriz
traspuesta, y por A+ la matriz adjunta. Es decir, para A = (ai j ), At = (aj i ) y A+ = (aj i ).
Definición 3.1.6 Dadas normas k kIK n , k kIK m , definimos en Mm×n (IK) una norma
inducida,1

k k : Mm×n (IK) → IR
, kAk = max kAxk
A 7→ kAk kxk=1

Estas normas inducidas por una norma vectorial verifican dos propiedades muy intere-
santes:

kABk ≤ kAk · kBk, A ∈ Mm×n , B ∈ Mn×p ,

kAxk ≤ kAk · kxk, A ∈ Mm×n , x ∈ IK n .

A la primera propiedad la llamaremos compatibilidad con el producto de matrices, a la


segunda, compatibilidad con la norma vectorial k k. Obviamente, según variemos las
normas vectoriales en los espacios IK n y IK m , obtendremos diferentes normas inducidas
en Mm×n (IK), todas ellas equivalentes ya que este es un espacio de dimensión finita. De
hecho, tomando norma p, p = 1 . . . , ∞, en IK n y IK m , tendremos las siguientes normas
inducidas en Mm×n (IK),

kAkp := max kAxkp .


kxkp =1

Los casos más interesantes son p = 1, 2, ∞. Se puede demostrar que la norma k k1 es el


máximo de las sumas de las columnas de la matriz:
m
( )
i
A = (ai j ) ∈ Mm×n (IK).
X
kAk1 = max |a j | ,
1≤j≤n
i=1

y que la norma euclı́dea, k k2 , de una matriz


q
kAk2 = ρ(A+ A) = µmax ,

donde µmax es el mayor valor singular de A, es decir, la raı́z cuadrada del mayor autovalor
de A+ A. Por tanto, enqel caso de una matriz simétrica o hermı́tica, A, y, por tanto,
diagonalizable, ρ(A) = ρ(A+ A) = kAk2 .
1
Es lı́cito sustituir el supremo por el máximo, ya que, al ser IK n un espacio de dimensión finita,
{x ∈ IK n : kxk = 1} es un compacto y, por tanto, la función kAxk, continua, presenta máximo y
mı́nimo.

29
La norma k k∞ , por su parte, es el máximo de las sumas de las filas de la matriz
 
Xn 
kAk∞ = max  |ai j | , A = (ai j ).
1≤i≤m
j=1

No obstante, también existen normas matriciales no inducidas por ninguna norma en


IK n , por ejemplo, la norma de Schur, k kS , no es inducida por ninguna norma vectorial,
v
n
um X
q uX
kAkS = +
Tr (A A) = t |ai j |2 , A = (ai j ) ∈ Mm×n (IK),
i=1 j=1

pero, a pesar de ello, verifica que kABkS ≤ kAkS · kBkS .


Una propiedad interesante de las normas inducidas es que la matriz identidad tiene norma
unidad, ya que,
kIIk = max kIIxk = max kxk = 1,
kxk=1 kxk=1

Teorema 3.1.9 Sea k k una norma compatible con el producto de matrices en Mn (IK).
Entonces, ρ(A) ≤ kAk, para toda A ∈ Mn (IK).
Teorema 3.1.10 Sea A ∈ Mn (IK) una matriz fija. Sea ε > 0. Entonces existe una
norma inducida k kε tal que kAkε ≤ ρ(A) + ε.
Un corolario interesante es el siguiente:
Corolario 3.1.1 ρ(A) = inf k k kAk∀A ∈ Mn (IK), es decir, que al recorrer las diferentes
normas de A compatibles con el producto, ρ(A) proporciona el valor ı́nfimo.
Que es cota inferior es trivial por el teorema 3.1.9. Que es ı́nfimo, también, ya que, por
el teorema anterior, hay valores de kAk tan próximos a ρ(A) como queramos.
En general, ρ(A), pese a ser el ı́nfimo de kAk al recorrer las distintas normas matri-
ciales compatibles con el producto, no es el mı́nimo. Lo vemos con un contraejemplo.
Consideremos la matriz,
à !
0 1
A=
0 0
Esta matriz tiene un único autovalor doble, el cero. Luego su radio espectral es nulo. En
cambio, no puede haber ninguna norma en la que kAk = 0, ya que no es la matriz nula.
En cambio, hemos visto que, para una matriz cuadrada simétrica o hermı́tica, sı́ existe
mı́nimo, ya que, ρ(A) = kAk2 .
Conviene recordar también el siguiente teorema relativo a la exponenciación de matrices.
Teorema 3.1.11 Para una matriz cuadrada A de n × n, las siguientes afirmaciones son
equivalentes:
1. limk→∞ Ak = 0.
2. limk→∞ k Ak k= 0.
3. ρ(A) < 1.

30
3.2 Condicionamiento de un sistema lineal.
Tenemos el sistema lineal
Ax = b (3.5)
con
10 7 8 7
 
 7 5 6 5 
A= 
(3.6)
8 6 10 9
 
 
7 5 9 10
32
 
 23 
b= 
(3.7)
33
 
 
31
cuya solución es un vector de componentes unitarias. Normalmente estos sistemas lineales
se obtienen a partir de cálculos previos que producen errores tanto en los coeficientes del
sistema con en los del término independiente. A su vez, los datos con los que se realizan
esos cálculos previos podrı́an estar afectados de errores por proceder de experimentos, u
otros cálculos a su vez. Por tanto, el sistema lineal resultante en realidad no será ese, sino
que será un sistema lineal perturbado tanto en la matriz del sistema como en el término
independiente. El sistema lineal perturbado podrı́a tener el siguiente aspecto
10 7 8.1 7.2
 
 7.08 5.04 6 5 
A + ∆A =  (3.8)
 
8 5.98 9.89 9

 
6.99 4.99 9 9.98

32.01
 
 22.99 
b + ∆b =  (3.9)
 
33.01

 
30.99
y por tanto ∆A y ∆b, las perturbaciones, tendrı́an los siguientes valores:
0 0 0.1 0.2
 
 0.08 0.04 0 0 
∆A =  (3.10)
 
0 −0.02 −0.11 0

 
−0.01 −0.01 0 −0.02

0.01
 
 −0.01 
∆b =  (3.11)
 
0.01

 
−0.01
Estudiemos cómo varı́a la solución del sistema lineal cuando perturbamos la matriz del
sistema y cuando perturbamos sólo el término independiente. Resolvamos primero el
sistema lineal:
A(x + ∆x) = b + ∆b (3.12)

31
1.82 0.82
   
 −0.36   −1.36 
x + ∆x =   → ∆x = 
  
(3.13)
1.35 0.35
 
   
0.79 −0.21
Hemos perturbado el término independiente:
k ∆b k∞
= 3.03 10−4 (3.14)
k b k∞
y esta perturbación induce una variación en la solución:
k ∆x k∞
= 1.36 (3.15)
k x k∞
El error se ha amplificado por tanto unas 4500 veces. Partı́amos de una perturbación
relativa del orden de 3.03 10−4 y obtenemos un error relativo del orden de 1.36.
Estudiemos este fenómeno desde el punto de vista teórico:

A(x + ∆x) = b + ∆b (3.16)


Ax + A∆x = b + ∆b (3.17)

pero Ax = b, y por tanto


A∆x = ∆b (3.18)
∆x = A−1 ∆b (3.19)
Como las normas que utilizamos son inducidas, se verificará que:

k ∆x k=k A−1 ∆b k≤k A−1 kk ∆b k (3.20)

Aplicando similar desigualdad a Ax = b e invirtiendo ambos factores:


1 1
≤ (3.21)
k A kk ∆x k kbk
multiplicando estas dos desigualdades término a término entre si tendremos:
k ∆x k k ∆b k
≤k A kk A−1 k (3.22)
kxk kbk
Por tanto el error relativo en la solución se mayora respecto al error relativo en la pertur-
bación mediante el factor k A kk A−1 k. Este número se denomina condicionamiento de
la matriz A, K(A) o cond(A) y cuanto más pequeño sea este número, menos afectarán a
la solución perturbaciones en el término independiente. Comprobemos esta desigualdad
en el ejemplo anterior:

cond∞ (A) =k A k∞ k A−1 k∞ = 33 · 136 = 4488 (3.23)

y por tanto, se debe dar que:

1.36 ≤ 4488 · 3.0303 10−4 = 1.36

32
Si ahora perturbamos la matriz del sistema, éste quedará como:

(A + ∆A)(x + ∆x) = b (3.24)

−81 −82
   
 137   136 
x + ∆x =   → ∆x = 
  
(3.25)
−34 −35
 
   
22 21
La perturbación de la matriz del sistema:

k ∆A k∞ 0.3
= ≈ 0.01 (3.26)
k A k∞ 33

y esta perturbación induce una variación en la solución:

k ∆x k∞
= 136 (3.27)
k x k∞

El error se ha amplificado por tanto unas 13600 veces. Partı́amos de una perturbación
relativa del orden de 0.01 y obtenemos un error relativo del orden de 136.
Estudiemos este fenómeno desde el punto de vista teórico:

(A + ∆A)(x + ∆x) = b (3.28)

A∆x + ∆A(x + ∆x) = 0 (3.29)


∆x = A−1 ∆A(x + ∆x) (3.30)
y mayorando y, multiplicando y dividiendo por k A k

k ∆x k k ∆A k
≤k A kk A−1 k (3.31)
k x + ∆x k kAk

Ahora, con otra medida del error relativo, vuelve a ser el condicionamiento de la matriz A
el factor que mayora los errores en las perturbaciones respecto a los errores en la solución.
Por su definición está claro que el condicionamiento de una matriz depende de la norma
elegida. Una propiedad interesante es que el condicionamiento tiene como cota inferior
a la unidad. Esto es consecuencia de que la norma inducida de la matriz identidad es
siempre 1.
1 =k I k=k AA−1 k≤k A kk A−1 k (3.32)
Otra propiedad muy interesante es la que relaciona el condicionamiento con el radio
espectral de la matriz del sistema caso de que esta sea simétrica. Si la matriz es simétrica
su norma 2, es su radio espectral. Por tanto:

|λmax |
cond2 (A) =k A k2 k A−1 k2 = ρ(A)ρ(A−1 ) = (3.33)
|λmin |

33
Este resultado tiene una versión general ahora en términos de los valores singulares, que
nos permite decir que una matriz estará mejor condicionada cuanto más parecidos en
módulo sean entre si su espectro de autovalores o su espectro de valores singulares. De
hecho, la matriz 3.6 del ejemplo anterior es simétrica. Su espectro de autovalores es:
0.0102
 
 0.8431 
Sp(A) =  
(3.34)
3.8581
 
 
30.2887
Como vemos, los autovalores son muy diferentes entre si. Al ser simétrica, su condi-
cionamiento en la norma 2, será:
30.2887
cond2 (A) = = 2984 (3.35)
0.0102
Otra forma de ver el condicinamiento es pensar que resolver un sistema lineal equivale
a encontrar una combinación lineal de vectores que nos permitan escribir otro vector, el
término independiente. Si los vectores columna que forman el sistema lineal aún siendo
linealmente independientes están casi en un mismo hiperplano (recta en 2D, plano en
3D, etc), dicha combinación lineal será geométricamente mucho más delicada.
Ejercicio 3.2.1 Cambiar alguno del coeficientes del sistema lineal 3.6 manteniendo la
simetrı́a, y repitiendo todo este análisis. Se pretende que comprobéis que con un condi-
cionamiento menor o mayor, los errores en las soluciones de los sistemas perturbados
verifican las nuevas cotas respondiendo a este nuevo condicionamiento.

3.3 Métodos directos.


Una vez que tenemos claro que aunque resolvamos nuestro sistema lineal la solución que
obtengamos puede tener errores significativos respecto al resultado esperado, procede
estudiar cómo podemos resolver del modo más rápido y preciso el sistema en cuestión.
En ese sentido hay dos grandes familias de métodos: los directos y los iterativos. Los
directos se caracterizan porque conducen a la solución exacta 2 mediante un número finito
(aunque muy grande) de operaciones. Los iterativos consisten en generar una sucesión
cuyo lı́mite sea la solución del sistema lineal. El único problema que plantean los métodos
iterativos es que esta sucesión convergente es difı́cil de obtener y a menudo dicha sucesión
divergerá. En cualquier caso, siempre que consigamos poder resolver nuestro sistema
mediante un método iterativo esto será más eficiente. Estudiemos primero los métodos
directos.

3.3.1 Eliminación gaussiana.


El más conocido de los métodos directos es la eliminación gaussiana. Se ha estudiado ya
en los cursos de álgebra lineal pero conviene recordarlo. Para ello nos basaremos en un
2
salvo errores de redondeo que pueden ser minimizados mediante técnicas de pivotaje cuyo estudio
detallado escapa al contenido del curso

34
ejemplo, e iremos dando los pasos en dicho ejemplo para entender cómo funciona:
 
1 2 3 6
 2 3 4 9  (3.36)


−1 0 −1 −2

haciendo transformaciones elementales utilizando la primera fila, hacemos cero todos los
elementos de la primera columna excepto el diagonal.
 
1 2 3 6
 0 −1 −2 −3  (3.37)
 

0 2 2 4

Ahora hacemos lo mismo con el elemento diagonal de la segunda fila, y hacemos cero
todos los elementos de la segunda columna por debajo del diagonal.
 
1 2 3 6
 0 −1 −2 −3  (3.38)
 

0 0 −2 −2

Con esto tenemos ya un sistema triangular superior que se resuelve fácilmente por susti-
tución hacia atrás.
x3 = 1 (3.39)
−x2 − 2x3 = −3 → x2 = 1 (3.40)
x1 + 2x2 + 3x3 = 6 → x1 = 1 (3.41)
Existen diferentes estrategias para minimizar los errores de redondeo tratando de que los
elementos diagonales sean en valor absoluto lo más grandes posibles (pivotaje), aunque
su estudio detallado escapa al contenido del curso.

3.3.2 Descomposición LU.


Consiste en factorizar la matriz del sistema lineal como producto de una triangular inferior
y otra superior, por lo que resolver el sistema lineal

Ax = b

se transforma en resolver:
LU x = b (3.42)
Una vez obtenida esta descomposición, resolvemos dos sistemas lineales triangulares:

Ly = b (3.43)

Ux = y (3.44)
y ya tenemos el vector x solución buscada.
Existen muchas formas de realizar esta descomposición. Explicaremos la más sencilla, el

35
algoritmo de Crout, que funciona siempre que todos los menores principales sean distintos
de cero. Los menores principales son los determinantes de las submatrices principales.
La submatriz principal Ai es la que tiene como elementos ajk con 1 ≤ j, k ≤ i. En la
descomposición de Crout se supone que la matriz triangular superior U tiene una diagonal
formada por elementos unidad. Resolvamos el sistema lineal del apartado anterior con
este método.     
1 2 3 l11 0 0 1 u12 u13
 2 3 4  =  l21 l22 0   0 1 u23  (3.45)
    

−1 0 −1 l31 l32 l33 0 0 1


Para calcular estos coeficientes procedemos sucesivamente por identificación:
l11 = 1
l11 u12 = 2 → u12 = 2
l11 u13 = 3 → u13 = 3
l21 = 2
l21 u12 + l22 = 3 → l22 = −1
l21 u13 + l22 u23 = 4 → u23 = 2
l31 = −1
l31 u12 + l32 = 3 → l32 = 2
l31 u13 + l32 u23 + l33 = −1 → l33 = −2
Y ya tenemos todos los coeficientes. Podemos comprobar que A = LU . Pasamos a
resolver los dos sistemas triangulares:
      
6 1 0 0 y1 6
Ly =  9  →  2 −1 0   y2  =  9 
     
 (3.46)
−2 −1 2 −2 y3 −2
Este primero se resuelve por sustitución hacia adelante.
y1 = 6
2y1 − y2 = 9 → y2 = 3
−y1 + 2y2 − 2y3 = −2 → y3 = 1
Y ahora resolvemos el triangular superior U x = y por sustitución hacia atrás.
      
6 1 2 3 x1 6
U x =  3  →  0 1 2   x2  =  3 
     
 (3.47)
1 0 0 1 x3 1
x3 = 1
x2 + 2x3 = 3 → x2 = 1
x1 + 2x2 + 3x3 = 6 → x1 = 1
Cuando una matriz no tiene ninguna estructura especial (simétrica, con muchos ceros,
etc), y no converge para los métodos iterativos disponibles, la descomposición LU es el
método más aconsejable.

36
3.3.3 Descomposición de Cholesky, A = LLt .
A menudo los sistemas lineales tienen como matriz del sistema la matriz de Gramm de
un producto escalar. Estas matrices y otras son simétricas y definidas positivas (x t Ax >
0 ∀x 6= 0). Para este tipo de matrices existe una descomposición LU especial, la
descomposición de Cholesky. En esta descomposición U = Lt , y la matriz L se obtiene
otra vez por identificación, igual que en el algoritmo de Crout. Se deja como ejercicio
resolver de este modo el sistema lineal 3.5.

3.3.4 Método de Gauss-Jordan.


El método de Gauss-Jordan es el método directo óptimo para encontrar la inversa de
una matriz cuando ésta no tiene ninguna estructura particular. Es un error de concepto
invertir una matriz para resolver un sistema lineal, pues en realidad calcular la inversa
es como resolver n sistemas lineales. El método de Gauss-Jordan consiste en realizar
eliminación gaussiana poniendo en la parte derecha la identidad, y realizando transfor-
maciones elementales hasta tener a la izquierda la identidad, y a la derecha tendremos
entonces la inversa. Veámoslo con el mismo ejemplo.
   
1 2 3 1 0 0 1 2 3 1 0 0
 2 3 4 0 1 0  →  0 −1 −2 −2 1 0 
   

−1 0 −1 0 0 1 0 2 2 1 0 1

Normalizamos la segunda fila dividiendo por el elemento diagonal, hacemos cero el resto
de los elementos de la segunda columna.
   
1 2 3 1 0 0 1 0 −1 −3 2 0
 0 1 2 2 −1 0  →  0 1 2 2 −1 0 
  

0 2 2 1 0 1 0 0 −2 −3 2 1

Normalizamos la tercera fila dividiendo por el elemento diagonal, hacemos cero el resto
de los elementos de la tercera columna.
   
1 0 −1 −3 2 0 1 0 0 −1.5 1.0 −0.5
 0 1 2 2 −1 0  →  0 1 0 −1.0 1.0 1.0 
  

0 0 1 1.5 −1 −0.5 0 0 1 1.5 −1.0 −0.5

3.4 Métodos iterativos.


3.4.1 Convergencia.
Los métodos iterativos responden a la misma filosofı́a que utilizamos para resolver de
modo iterativo problemas no lineales. De lo que se trata es de transformar el problema
en uno de punto fijo para después aplicar el teorema de la aplicación contractiva.
Si tenemos que resolver Ax = b, podrı́amos por ejemplo tratar de resolver iterando

37
x = (I − A)x + b. En general, los esquemas iterativos a que haremos referencia serán
todos del tipo:
x(k+1) = Bx(k) + c (3.48)
donde B ∈ Mn (IK) y c ∈ IK n . En el lı́mite
x = Bx + c (3.49)
y por tanto, ha de ser que:
c = (I − B)A−1 b (3.50)
Una vez que c verifica esa condición, la convergencia depende del radio espectral de la
matriz B. Enunciémoslo como un teorema.
Teorema 3.4.1 Un esquema iterativo para resolver sistema lineales del tipo 3.48 con-
verge si y solamente si el radio espectral de la matriz B es estrictamente menor que la
unidad.
”→”
Supongamos que el esquema converge. Se tendrá por tanto que la sucesión x(k) − x debe
tender a cero. por tanto:
x(k+1) − x = Bx(k) + c − (Bx + x) = B(x(k) − x) = B k+1 (x(0) − x)
O sea que para cualquier x(0) esa sucesión tiende a cero. Dicho de otro modo, indepen-
dientemente del vector v,
lim B k v = 0
k→∞
Esto sólo es posible si el radio espectral de la matriz B es menor que uno. Este resultado
es fundamental en álgebra lineal. Su demostración general es algo complicada. Si la
matriz es diagonalizable es más fácil de intuir que si alguno de los autovalores λ fuese
de modulo igual o superior a uno, tomando el autovector correspondiente como vector v
esta claro que esa sucesión nunca tenderı́a a cero, por ser Bv = λv.
La inversa es una consecuencia directa del teorema de la aplicación contractiva. Si
ρ(B) < 1, existe alguna norma matricial inducida en la que k B k< 1. Por tanto, y
dado que k B(x − y) k≤k B kk x − y k tendremos que la aplicación T (x) = Bx + c
verificará la condición de Lipschitz y por tanto, será una contracción de IK n , con lo que
la sucesión convergerá a un punto fijo que será la solución del sistema lineal. Además
esa convergencia es independiente del huésped inicial, al ser una contracción en todo el
espacio, aunque será más rápida si el huésped inicial está correctamente elegido y sobre
todo si ρ(B) es bastante menor que la unidad.

3.4.2 Esquema general.


Dentro de los métodos iterativos estudiaremos aquellos que se basan en una descomposi-
ción de la matriz A del tipo A = M − N con M invertible, que son los más habituales y
que conducen a esquemas iterativos del tipo.
M x(k+1) = N x(k) + b (3.51)

38
Se trata de elegir M de tal forma que ese sistema lineal en cada paso sea sencillo de
resolver.
Se debe tener que c = M −1 b verifique la condición 3.50

c = (I − B)A−1 b = (I − M −1 N )A−1 b = M −1 M (I − M −1 N )A−1 b (3.52)


= M −1 (M − N )A−1 b = M −1 b cqv

3.4.3 Método iterativo de Jacobi.


Se basa en una descomposición de la matriz A del tipo A = M − N , con M = D,
parte diagonal de la matriz A, y N = L + U , siendo L, U las partes inferior y superior
respectivamente de la matriz A cambiadas de signo. Obliga a resolver un sistema diagonal
en cada paso. Para definir estas matrices D, L y U se puede hacer utilizando bloques de
varios elementos, aunque nosotros utilizaremos aquı́ siempre bloques elementales. Veamos
con un ejemplo cómo funciona el esquema 3.51 en la descomposición de Jacobi de la matriz
A.
Se trata de resolver el sistema lineal:
    
4 1 0 x1 −3
 1 4 1   x2  =  10  (3.53)
    

0 1 4 x3 1

cuya solución es el vector:    


x1 −1.5
 x2  =  3  (3.54)
   

x3 −0.5
Procedamos a realizar la descomposición de la matriz del sistema:
     
4 0 0 0 0 0 0 −1 0
M =D= 0 4 0 

 L =  −1 0 0 

 U =  0 0 −1 

 (3.55)
0 0 4 0 −1 0 0 0 0
con
N =L+U (3.56)
La elección del huésped inicial no influye en la convergencia, pero sı́ en el número de
iteraciones que daremos en el esquema para llegar a una solución aceptable. Si se tiene
una estimación de la solución, se usará ésta como huésped inicial. Caso de que no sea
ası́, se puede tomar como huésped inicial el formado por el término independiente, o uno
de componentes todas iguales a 1. Nosotros tomaremos por ejemplo uno que harı́a que
se cumpliese la primera lı́nea del sistema lineal:
(0)
 
x
 
 1(0) 
−1
x(0) =  x2  =  4 
  
 (3.57)
(0) −1
x3

39
Para comprobar si estamos convergiendo a la solución es conveniente disponer de un buen
criterio de convergencia. Demostraremos más adelante un resultado que nos permite
garantizar que si controlamos el valor de la norma del residuo r (k) = b − Ax(k) estaremos
controlando el error e(k) = x − x(k) .
Ası́, en este ejemplo:
k r(0) k∞ = 4 (3.58)
Demos el primero paso del esquema:

Dx(1) = N x(0) + b = (L + U )x(0) + b (3.59)


      
4 0 0 0 −1 0 −1 −3
 (1)
 0 4 0  x =  −1 0 −1   4  +  10  (3.60)
     

0 0 4 0 −1 0 −1 1
Y tendremos por tanto que resolver el sistema diagonal:
   
4 0 0 −7
 (1)
 0 4 0  x =  12  (3.61)
  

0 0 4 −3
 
−1.75
x(1) =
 3   (3.62)
−0.75
con
k r(1) k∞ = 1 (3.63)
Por tanto, el residuo ha disminuido. Si seguimos iterando:
 
−1.5
x(2) =  3.125  k r(2) k∞ = 0.5 (3.64)
 

−0.5
 
−1.5039
x(5) =  3.0000 

 k r(5) k∞ = 0.0156 (3.65)
−0.5039
etc... Vamos a enunciar un teorema de convergencia muy interesante pues se refiere a
un tipo de matrices, las diagonal estrictamente dominante que aparecen a menudo al
resolver numéricamente ecuaciones diferenciales en derivadas parciales.

Teorema 3.4.2 Supongamos que una matriz A sea diagonal estrictamente dominante:
X
|aii | > |aij |, i = 1, · · · n
j6=i

Entonces, el método de Jacobi converge para esta matriz.

40
La demostración es bastante sencilla:
1
 
0 ··· 0 0 a12 · · · a1n

a11
 0 ··· ··· 0   a21 0 · · · a2n
  
B = M −1 N = D−1 (L + U ) = − 
 ···

 0 ··· ··· 0 ··· ··· ···

  
1
0 ··· 0 ann
an1 · · · ann−1 0
a12 a1n
 
0 a11
··· a11
 a21 a2n
0 ···

 
= − a22 a22 
 ··· ··· ··· ··· 
 
an1 ann−1
ann
··· ann
0

Si calculamos la norma de esta matriz:


|aij |
P
j6=i
kBk∞ = max (3.66)
i=1,n |aii |

Este cociente es siempre inferior a la unidad al ser la matriz diagonal estrictamente


dominante, por tanto:
kBk∞ < 1 (3.67)
Pero al ser esta una norma inducida, se tiene también que ρ(B) < 1, y por tanto el
método es convergente.

3.4.4 Método iterativo de Gauss-Seidel.


Se basa en una descomposición de la matriz A del tipo A = M − N , con M = D − L,
y N = U . Obliga a resolver un sistema triangular por sustitución hacia adelante en
cada paso. Por tanto, cada paso es más complicado que en el método de Jacobi, pero la
velocidad de convergencia es superior en cierto tipo de matrices. Veámos cómo funciona
con el mismo ejemplo 3.53.

M x(1) = N x(0) + b = U x(0) + b (3.68)


      
4 0 0 0 −1 0 −1 −3
 (1)

 1 4 0  x = 
 0 0 −1 
 4   10 
+
  
(3.69)
0 1 4 0 0 0 −1 1
Y tendremos por tanto que resolver el sistema triangular superior:
   
4 0 0 −6.1875
 (1)
 −1 4 0  x =  10.5469  (3.70)
  

0 −1 4 1.0000

que se resuelve por sustitucı́ón hacia adelante:


 
−1.7500
x(1) =  3.1875 

 (3.71)
−0.5469

41
con
k r(1) k∞ = 0.8125 (3.72)
Por tanto, el residuo ha disminuido. Si seguimos iterando:
 
−1.5469
x(2) =  3.0234 

 k r(2) k∞ = 0.1641 (3.73)
−0.5059
 
−1.5001
x(5) =  3.0000 

 k r(5) k∞ = 0.0003 (3.74)
−0.5000
Como vemos, el residuo en el paso quinto es muy inferior al correspondiente al método
de Jacobi, 0.0003 frente a 0.01. Respecto a la convergencia enunciamos un resultado
equivalente al ya referido en el método de Jacobi.

Teorema 3.4.3 Supongamos que una matriz A sea diagonal estrictamente dominante:
X
|aii | > |aij |, i = 1, · · · n
j6=i

Entonces, el método de Gauss-Seidel converge para esta matriz.

Aunque el teorema es el mismo que el enunciado para el método de Jacobi, su de-


mostración no es tan sencilla y por tanto no la haremos.

3.4.5 Test de parada.


Lo importante es parar en una iteración k tal que el error:

k e(k) k=k x − x(k) k< ²1 (3.75)

O sea, tal que la diferencia en norma entre la solución x y la estimación de ese valor
en la iteración k sea menor que un valor ²1 dado. Dado que no sabemos por supuesto
x, tendremos que llegar a esa conclusión de un modo indirecto. El más interesante es
analizar el residuo
r(k) = b − Ax(k) (3.76)
Vamos a demostrar que:
kr (k) k ke(k) k
Teorema 3.4.4 Si kbk
< ², entonces kxk
< ² cond(A)

Demostración: ³ ´
e(k) = x − x(k) = x − A−1 b − r(k) = A−1 r(k) (3.77)
Por tanto

k e(k) k≤k A−1 kk r(k) k≤k A−1 kk b k ² ≤k A−1 kk A kk x k ² ≤ ² k x k cond(A) (3.78)

42
De donde la conclusión. Es interesante ver este pequeño teorema como que cuánto peor
(mayor) sea el condicionamiento de una matriz, las mayoraciones en el residuo conducen
a mayoraciones en el error multiplicadas por ese condicionamiento. Sin embargo, si una
matriz tiene un condicionamiento bajo, acotar el residuo es casi equivalente a acotar el
error total.
En el ejemplo que hemos utilizado para mostrar los métodos de Jacobi y Gauss-Seidel,

cond∞ (A) = 2.5714


k r(5) k
= 0.0016
kbk
k e(5) k
k e(5) k = k x − x(5) k= 0.0039 → = 0.0013
kxk

y 0.0013 ≤ 2.5714 · 0.0016, con lo que se verifica la cota dada por el teorema.
Seleccionar el valor de ²1 dependerá en cada caso del problema real que estemos resolvien-
do, y dependerá también de las estimaciones que podamos tener del condicionamiento de
la matriz del sistema. Otro posible test de parada es establecer que la diferencia en nor-
ma entre dos iteraciones consecutivas no debe superar un valor dado. Podemos combinar
ambos tests para tener un test conjunto que nos garantice que estamos suficientemente
cerca de la solución y que no necesitamos continuar trabajando.

3.5 Referencias recomendadas para este tema.


El texto de Golub y Ortega[6] es muy bueno. El libro de apuntes de Cálculo Numérico[14]
cuando la daba J.M. Sánchez hace un estudio exhaustivo de esta parte.

43
Capı́tulo 4

Interpolación.

4.1 El problema general de interpolación


Sea E un R-e.v. de funciones de dimensión finita n y E su dual. El problema general de
interpolación se plantea del modo siguiente:
Dadas n formas lineales Li ∈ E ∗ y n números reales wi (i = 1, . . . , n), determinar un
vector f ∈ E tal que
< f, Li >= wi i = 1, ..., n (4.1)
Lema 4.1.1 Sean E un R-e.v. de dimensión n y (ei )i=1,...,n una de sus bases. La familia
de n formas lineales (Li )i=1,...,n es libre en E ∗ si
det(< ej , Li >) 6= 0
Teorema 4.1.1 El problema de interpolación general (4.1) tiene solución única si las n
formas lineales (Li ) son linealmente independientes en E ∗ .
En efecto, sea B = (ej ) una base de E, el sistema lineal
 
n
X
Li  aj e j  = w i i = 1, . . . , n (4.2)
i=j

tiene como matriz asociada (Li (ej ) =< ej , Li > i, j = 1, . . . , n y si la familia (Li ) es libre,
det(< ej , Li >) = det(Li (ej )) 6= 0.
Se llama a det(Li (ej )) el determinante generalizado de Gram.
La demostración anterior de tipo constructiva, contiene un método de resolución del
problema (4.1). La solución x tiene como componentes ai , las n soluciones del sistema
lineal (4.2).

4.1.1 Casos particulares del problema general de interpolación


Interpolación polinomial
El espacio E es un espacio de polinomios o construido con polinomios. Es el caso más
interesante y el único que estudiaremos con detalle.
Interpolación de Lagrange
El problema de la determinación de un polinomio P ∈ Pn (IR) que toma en n + 1 puntos
distintos x0 , . . . , xn de un subconjunto de S de IR , los n + 1 valores w0 , . . . , wn previa-
mente asignados, se denomina problema de interpolación de Lagrange.
Tomando E = Pn (IR), IR-e.v. de los polinomios de una variable de grado n y definiendo
las (n + 1) formas lineales

Li (P ) = P (xi ) = wi (i = 0, 1, . . . , n)

se constata que este problema es un caso particular de (4.1). Si tomamos como base B
de Pn la canónica, ei = {xi }i = 0, 1, . . . , n, el determinante de Gram es:
¯ ¯
¯
¯ 1 x0 x20 . . . xno ¯
¯
.. .. .. . . .
. ..
¯ ¯
det(Li (ej )) = ¯¯ . . . ¯
¯
1 xn x2n . . . xnn
¯ ¯
¯ ¯

determinante del tipo de Vandermonde, que es distinto de cero si todos los xi son distintos.
Por tanto, El problema de interpolación de Lagrange siempre tiene solución única.
Comentarios:
• Este sistema lineal de Vandermonde sólo tiene significado teórico, ya que su resolu-
ción por métodos numéricos es un pequeño compendio de comportamientos nega-
tivos (alto coste computacional, alta exigencia de almacenamiento y baja exacti-
tud).

• Las n + 1 formas lineales Li asociadas a los n + 1 puntos distintos x0 , . . . , xn son


linealmente independientes en Pn∗ dual de Pn , luego describen una base B de este
IR-e.v.. Los números wi = P (xi ) representan las componentes del polinomio in-
terpolador P respecto de la base B = (lj ) de Pn dual de la anterior y que viene
definida como es habitual, por las relaciones Li (lj ) = lj (xi ) = δij . Estos polinomios
lj son los polinomios fundamentales o de Lagrange asociados a los puntos x0 , . . . , xn
y serán determinados después.

• Si se busca un polinomio de grado m mayor que n, la búsqueda es más simple ya


que existe un número arbitrario de polinomios de esas caracterı́sticas que interpolen
un conjunto dado de n + 1 puntos distintos x0 , . . . , xn . En efecto, llamando
n
Y
H(x) = (x − xi )
i=0

el polinomio P ∈ Pm , m > n satisface P (xi ) = wi i = 0, 1, . . . , n si tiene la forma

P (x) = P̂ (x) + H(x)Q(x)

donde P̂ ∈ Pn si es la solución única del problema de Lagrange y Q es un polinomio


arbitrario de Pm−n−1 .

45
• El polinomio P̂ ∈ Pn solución única del problema de Lagrange descrito, es exac-
tamente de grado n, cuandoh ân 6=i 0, lo que no siempre sucede. El problema de
interpolar la función sin en − π2 , π2 , en los puntos− π2 , 0, π2 da como solución única
el polinomio P (x) = 2x π
, con â2 = 0. Otro ejemplo todavı́a más llamativo es el caso
P (xi ) = 1, i = 0, 1, . . . , n cuya única solución es el polinomio constante 1.
• En muchos casos, los valores wi son las imágenes en los puntos xi de una cierta
función f definida en S. Las formas lineales Li estarán entonces definidas en un
espacio funcional más amplio que Pn para que tenga sentido Li (f ) = f (xi ). El pro-
blema de interpolación planteado, matemáticamente idéntico al antes considerado,
consiste en determinar un polinomio P que coincide con f en los puntos xi .
Interpolación general de Hermite
Dados n + 1 puntos distintos x0 , . . . , xn y las N + 1 formas lineales en C N (S) definidas
por:
f −→ Lν,j (f ) = f (j) (xν )
0 ≤ ν ≤ n, 0 ≤ j ≤ mν con N = m0 + m1 + · · · + mn + n, veremos que la interpolación
en PN relativa a estas formas lineales tiene solución única. Por tanto, siempre es posible
hallar un polinomio cuya imagen y las de sus derivadas sucesivas hasta un cierto orden,
esté prefijadas en puntos distintos. Este caso particular de (4.1) , se denomina problema
de interpolación polinomial general de Hermite. Más tarde escribiremos de modo explı́cito
el polinomio de grado 2n + 1 solución de este problema cuando

m0 = m1 = · · · = mn = 1 ⇒ N = 2n + 1

que se llama problema simple u osculatriz de Hermite.

Interpolación trigonométrica
Supongamos ahora que E es el espacio de dimensión 3 engendrado por las tres funciones
{1, cos, sin} y que deseamos determinar f ∈ E tal que
π π
µ ¶ µ ¶
L1 (f ) = f − L2 (f ) = f (0) L3 (f ) = f
2 2
El determinante de Gram del problema de interpolación planteado es
¯ ³ ´ ³ ´ ¯
L1 (cos) ¯ ¯¯ 1 sin − π2 cos − π2
¯ ¯ ¯ ¯
¯ L (1) L1 (sin)
¯ ¯ ¯ 1 −1 0 ¯¯
¯ 1
¯ ¯
¯ ¯
¯ L2 (1) L2 (sin) L2 (cos) ¯¯ = ¯¯ 1 sin(0) cos(0) ¯ = ¯¯ 1 0 1 ¯¯ = 2 6= 0
¯
³ ´ ³ ´ ¯
¯ L3 (1) L3 (sin) L3 (cos) ¯ ¯¯ 1 ¯ 1 1 0 ¯
¯ ¯ ¯ ¯
sin π2 cos π2
¯
¯

por tanto, siempre podemos hallar una función única

f (t) = a0 + a1 sin t + a2 cos t

que toma valores dados en− π2 , 0 y π2 . Si por ejemplo

L1 (f ) = −1, L2 (f ) = 0, L3 (f ) = 1

46
estarı́amos determinando f ∈ E interpolante de la función seno.
En general, E es la envoltura lineal de la familia de las 2m + 1 funciones linealmente
independientes
{1, cos x, sin x, . . . , cos mx, sin mx}.
E es un R-e.v. de dimensión 2m + 1 y para las 2m + 1 formas lineales

< f, Li >= f (xi ) = wi , −π ≤ x0 < x1 < · · · < x2m ≤ π

el problema de interpolación (4.1) tiene solución única.

Ejemplo de un problema de interpolación sin solución.


No todo problema de interpolación es necesariamente resoluble. He aquı́ un ejemplo sin
solución única. Supongamos que deseamos hallar un polinomio de segundo grado cuyos
valores en 1 y -l y cuya derivada en 0 son datos. Con

L1 (f ) = f (−1), L2 (f ) = f (1), L3 (f ) = f 0 (0)

y ei = xi−1 con i = 1, 2, 3. Se tiene que:


¯ ¯
¯ 1 −1 1 ¯¯
¯
det(< ej , Li >) = ¯¯¯ 1 1 1 ¯¯ = 0
¯ 0 1 0 ¯
¯

y el problema no puede tener solución única, aunque podrı́a tener infinitas soluciones.

4.2 Interpolación polinomial


4.2.1 Interpolación de Lagrange
Ya hemos introducido este problema en 4.1.1 pero ahora lo veremos con detalle.
Se dan n + 1 puntos distintos xi de un subconjunto S de IR(nodos) y n + 1 valores reales
wi (i = 0, 1, . . . , n) y se busca un polinomio P de grado ≤ n, P ∈ Pn tal que

P (xk ) = wk k = 0, 1, . . . , n

A menudo los datos wk son las imágenes de una cierta funcion f , función que se pretende
interpolar, en los nodos xk .

Polinomios de Lagrange
Como vimos, ese problema tiene solución única 1 P ya que las n + 1 formas lineales
Li (P ) = P (xi ) = wi (i = 0, 1, . . . , n) describen una base B ∗ de Pn∗ . Su base dual B en Pn
1
En el apartado 4.1.1 llamábamos P̂ a este polinomio para no confundir. Aquı́ no hay confusión
posible y nos referiremos a él como P .

47
está descrita por los polinomios lj de Lagrange asociados a los puntos x0 , . . . , xn y que
como es habitual están definidos por las relaciones Li (lj ) = δij , es decir
(
0 si i 6= j
lj (xi ) =
1 si i = j

luego lj tiene n raı́ces xi (i 6= j) y toma el valor 1 cuando x = xj . Es claro que:

n
(x − xi )
Q

i=0
i6=j
lj (x) = (4.3)
n
(xj − xi )
Q

i=0
i6=j

Descomponiendo el polinomio de interpolación solución P respecto de esta base ten-


dremos n X
P = k j lj
j=0

de donde para i = 0, 1, . . . , n
n
X n
X
wi = P (xi ) = kj lj (xi ) = kj δij = ki
j=0 j=0

por tanto las componentes de la expresión del polinomio


n
X
P = wj l j
j=0

es decir,
n
X
P (x) = wj lj (x)
j=0

Ejercicio 4.2.1 Sea


1 x0 x20 . . . xn0
 
 . .. .. . . . 
 ..
V = . . . .. 
2 n
1 x n xn . . . x n
la matriz de Vandermonde asociada a los nodos x0 , . . . , xn , matriz del sistema que define
los coeficientes del polinomio solución respecto de la base canónica de P n . Los coeficientes
del polinomio de Lagrange lk respecto de dicha base son los elementos de la k-ésima
columna de V −1 matriz inversa de V . ¿ Por qué?.

Ejemplo 4.2.1

48
Si x0 = 1, x1 = 2, x3 = 4
8 1
   
1 1 1 3
−2 3
V = 1 2 4 

 y V −1 = 
 −2
5
2
− 12 

1
1 4 16 3
− 12 1
6

con lo que
l0 (x) = 38 − 2x + 13 x2 = 13 (x2 − 6x + 8)
l1 (x) = −2 + 52 x − 12 x2 = − 21 (x2 − 5x + 4)
l2 (x) = 31 − 12 x + 61 x2 = 16 (x2 − 3x + 2)

4.2.2 Estimaciones del error en la interpolación de Lagrange


En el caso habitual, en que los valores wi son las imágenes en los puntos xi de una cierta
función f , interesa investigar la separación entre el polinomio interpolante P y f , lo que
nos obligará a asumir que f satisface ciertas propiedades.

Teorema 4.2.1

Sea f ∈ C n+1 [a, b] y P el polinomio de Pn (IR) interpolador de Lagrange de f en la nube


x0 , · · · , xn con xi ∈ [a, b], i = 0, n. Entonces a cada punto x en [a, b] le corresponde un
punto ξ(x) con
min(x0 , · · · , xn , x) < ξ(x) < max(x0 , · · · , xn , x)
para el cual
H(x) (n+1)
f (x) − P (x) = f (ξ(x)) (4.4)
(n + 1)!
con n
Y
H(x) = (x − xi ) (4.5)
i=0

Demostración.
Supongamos sin pérdida de generalidad que a ≤ x0 < x1 < · · · < xn ≤ b. Elijamos un
número x en [a, b]. Si x es uno de los nodos xi , la igualdad 4.4 es válida elijamos como
elijamos ξ. Si x no es uno de los nodos definimos λ tal que:

f (x) − P (x)
λ= (4.6)
H(x)

Definimos la función auxiliar:

φ(t) = f (t) − P (t) − λH(t) (4.7)

Es fácil 2 ver que φ conserva la clase de f . Es fácil ver que la función φ tiene al menos
n + 2 ceros en [a, b], los correspondientes a los nodos xi y al valor x.
Sabemos por aplicación del teorema de Rolle que si una función continua y diferenciable
2
Por ser P y H polinomios y por tanto de clase C ∞

49
tiene m raı́ces en [a, b], su derivada f 0 tiene al menos m − 1 raı́ces en [a, b].
Aplicando este razonamiento de modo sucesivo a las derivadas de la función φ, llegamos
a la conclusión de que φ(n+1) tiene al menos una raiz en [a, b]. Sea ξ esa raiz. La derivada
(n + 1) de un polinomio de grado n es 0, y la de H(t) es (n + 1)!. Por tanto:
0 = f (n+1) (ξ) − λ(n + 1)! (4.8)
de donde:
f (n+1) (ξ)
λ= (4.9)
(n + 1)!
y entrando en 4.6 obtenemos 4.4.
Corolario 4.2.1 Estimaciones del error.
Supuesto que f cumple que kf (n+1) k∞ ≤ Mn+1 tendremos
|H(x)|
|f (x) − P (x)| ≤ Mn+1 (4.10)
(n + 1)!
de la que se deduce la fórmula general de estimación del error en interpolación
Mn+1
kf − P k ≤ kHk
(n + 1)!
válida para todas las normas k . kp , 1 ≤ p ≤ n.
Corolario 4.2.2
En el caso en que k k = k k∞ , si x ∈ [x0 , xn ] se puede deducir una estimación muy
útil del error de interpolación de kf − P k. Para ello utilizamos la mayoración
n! n+1
kHk∞ = max |(x − x0 )(x − x1 ) · · · (x − xn )| ≤ h
x∈[x0 ,xn ] 4
donde h es la máxima de las distancias entre puntos xi y xi+1 adyacentes.
Si x ∈ [xi , xi+1 ], se tiene que
h2
|(x − xi )(x − xi+1 )| ≤
4
y haciendo una estimación directa del tamaño de los otros términos que aparecen en H
se obtiene esa mayorante de kHk∞ .
Ejercicio 4.2.2 Obtener esa mayorante.
Combinando lo anterior, se obtiene la cota del error con norma uniforme
kf (n+1) k n+1
kf − P k∞ ≤ h
4(n + 1)
Para interpretar correctamente esta cota de error debemos pensar en P como función de
h para n fijo. Con ello, se deduce de esa estimación que la exactitud es del orden O(hn+1 )
cuando se varı́a el intervalo de interpolación [x0 , xn ].

50
4.2.3 Diferencias divididas
Hay dos problemas importantes cuando usamos la base de Lagrange para interpolar una
tabla de valores. El primero es que hay que realizar un número alto de operaciones
aritméticas. Sin embargo, el problema más importante nace del hecho de que si necesi-
tamos añadir o quitar un punto al conjunto que se ha usado para construir el polinomio,
tenemos que empezar los cálculos desde el principio. Con el método de las diferencias
divididas este problema desaparece.
El planteamiento de las diferencias divididas es el de la interpolación de Lagrange, o sea,
se supone que conocemos una función en un soporte de valores para la x.

x0 f0
x1 f1
x2 f2
x3 f3
.. ..
. .
xn f n

En esta tabla no es necesario suponer que las exis están equiespaciadas; ni siquiera que
están dadas en algún orden.
Consideremos el polinomio de grado n

P (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + · · · + an (x − x0 )(x − x1 ) · · · (x − xn−1 )

Elijamos los coeficientes ai , de tal modo que este polinomio ajuste la tabla de datos
dada 3 . Veremos que estos coeficientes se determinan fácilmente usando las diferencias
divididas de los valores tabulados. Usamos una notación especial para las diferencias
divididas
fj − f i
f [xi , xj ] = (4.11)
xj − x i
A este número se le llama la diferencia dividida de primer orden correspondiente a [x i , xj ].
Es importante darse cuenta de que f [xi , xj ] = f [xj , xi ]. Esta conmutabilidad se mantiene
aunque el orden de las diferencias sea más alto. Las diferencias divididas de segundo
orden y de órdenes superiores se obtienen a partir de las diferencias divididas de órdenes
anteriores:
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x2 − x 0
f [x1 , x2 , . . . , xi ] − f [x0 , x1 , . . . , xi−1 ]
f [x0 , x1 , . . . , xi ] =
xi − x 0
3
En realidad lo que hacemos es escoger otra base para los polinomios de grado n:

{1, (x − x0 ), (x − x0 )(x − x1 ), . . . , (x − x0 )(x − x1 ) · · · (x − xn−1 )}

51
Estamos ya en posición de establecer que los coeficientes ai están dados por esas diferen-
cias. Obtengamos la imagen de cada punto del soporte por dicho polinomio.

P (x0 ) = a0 = f0
P (x1 ) = a0 + a1 (x1 − x0 )
P (x2 ) = a0 + a1 (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 )
...
P (xn ) = a0 + a1 (xn − x0 ) + a2 (xn − x0 )(xn − x1 ) + · · · +
+an (xn − x0 )(xn − x1 ) · · · (xn − xn−1 )

Si hacemos a1 = f [x0 , x1 ], entonces:

f1 − f 0
P (x1 ) = f0 + (x1 − x0 ) = f1
x1 − x 0
Si hacemos a2 = f [x0 , x1 , x2 ], entonces:
f2 −f1
f1 − f 0 x2 −x1
− xf11 −f
−x0
0

P (x2 ) = f0 + (x2 − x0 ) + (x2 − x0 )(x2 − x1 ) = f2


x1 − x 0 x2 − x 0
Podrı́amos ver de modo similar que cada Pn (xi ) = fi si ai = f [x0 , x1 , . . . , xi ].

Ejemplo 4.2.2

Una tı́pica tabla de diferencias divididas podrı́a ser la siguiente

xi fi f [xi , xi+1 ] f [xi , . . . , xi+2 ] f [xi , . . . , xi+3 ] f [x0 , . . . , x5 ]


3, 2 22, 0
2, 7 17, 8 8, 400
1, 0 14, 2 2, 118 2, 856
4, 8 38, 3 6, 342 2, 012 −0, 528
5, 6 51, 7 16, 750 2, 263 0, 0865 0, 256

El pequeño ejercicio que se os propone consiste en que validéis esta tabla de valores.
También podéis construir el polinomio de interpolación de diferencias divididas corres-
pondiente a esta tabla de valores. Después con vuestra calculadora podéis calcular el
polinomio de interpolación expresado en la base canónica de los polinomios de grado
cuatro, y comprobar que los dos tienen la misma imagen en un punto cualquiera (ej
x = 3.8).
Es interesante ver 4.11 como que la diferencia dividida de primer orden es una estimación
de la derivada de la función f en xi , dado que si xj , tiende a xi lo que tenemos es precisa-
mente esa derivada. Si conocemos alguna derivada de la función, podemos duplicar ese
nodo en la lista y sustituir la diferencia dividida correspondiente a esos dos nodos por la
derivada.

Teorema 4.2.2

52
Si f es n veces continuamente diferenciable en [a, b] y x0 , . . . , xn , son puntos distintos de
[a, b], entonces hay un punto ξ en (a, b) que verifica que

f (n) (ξ)
f [x0 , x1 , . . . , xn ] =
n!
Ejercicio 4.2.3
Demostrar que si la función que queremos aproximar es un polinomio de grado k, en-
tonces, para n > k
f [x0 , x1 , . . . , xn ] = 0

4.2.4 Interpolación simple de Hermite u osculatriz.


Dados n + 1 puntos distintos x0 , . . . , xn se busca el polinomio P que cumpla las 2n + 2
condiciones
P (xi ) = f (xi ) i = 0, 1, . . . , n
P 0 (xi ) = f 0 (xi ) i = 0, 1, . . . , n
Las 2n + 2 formas lineales Li y Mi son en este caso

f −→ Li (f ) = f (xi ) y f −→ Mi (f ) = f 0 (xi )

Se trata del caso particular del problema general de Hermite cuando

m0 = m1 = · · · = mn = 1 ⇒ N = 2n + 1

La solución del problema de interpolación simple de Hermite es única si todos los nodos
x0 , . . . , xn son distintos 4 y viene dada en función de los polinomios fundamentales de
Lagrange por:
n n
2lj0 (xj )(x xj )]lj2 (x)f (xj ) (x − xj )lj2 (x)f 0 (xj )
X X
P (x) = [1 − − + (4.12)
j=0 j=0

Se comprueba simplemente sustituyendo y derivando


n n
[1 − 2lj0 (xj )(xi − xj )]lj2 (xi )f (xj ) + (xi − xj )lj2 (xi )f 0 (xj ) =
X X
P (xi ) =
j=0 j=0

n n n
lj2 (xi )f (xj ) 2lj0 (xj )(xi xj )lj2 (xi )f (xj ) (xi − xj )lj2 (xi )f 0 (xj ) = f (xi )
X X X
= − − +
j=0 j=0 j=0

Para i 6= j los tres sumandos son nulos por ser lj (xi ) = δij ,. El segundo y tercer sumando
son nulos para i = j por serlo el factor (xi −xj ). Luego sólo nos queda el primer sumando
distinto de cero si i = j, por tanto, P (xi ) = f (xi ) i = 0, 1, . . . , n. Análogamente derivando
n
P 0 (x) = −2lj0 (xj )lj2 (x)f (xj ) + [1 − 2lj0 (xj )(x − xj )]2lj (x)lj0 (x)f (xj )+
X

j=0

4
No lo demostraremos.

53
n
[lj2 (x)f 0 (xj ) + 2(x − xj )lj (x)lj0 (x)f 0 (xj )].
X
+
j=0

y haciendo x = xi
n
0
−2lj0 (xj )lj2 (xi )f (xj ) + [1 − 2lj0 (xj )(xi − xj )]2lj (xi )lj0 (xi )f (xj )+
X
P (xi ) =
j=0

n
[lj2 (xi )f 0 (xj ) + 2(xi − xj )lj (xi )lj0 (xi )f 0 (xj )] =
X
+
j=0

= −2li0 (xi )f (xi ) + 2li0 (xi )f (xi ) + f 0 (xi ).


Es decir
P 0 (xi ) = f 0 (xi ) i = 0, 1, . . . , n

4.3 Interpolación polinomial a trozos.


La construcción de polinomios de interpolación de grado alto aunque justificable teó-
ricamente plantea muchos problemas. Por un lado, la forma de la función polinómica
de grado alto a menudo no responde al fenómeno debido al gran número de extremos e
inflexiones. Por otro lado, su cálculo es muy complicado, tedioso y a veces con grandes
errores de rendodeo por mal condicionamiento de algunas matrices. Ello limita su utilidad
en análisis numérico. Es a menudo mucho más útil dividir el intervalo en subintervalos
más pequeños y usar en cada subintervalo polinomios de grados relativamente bajos.

Definición 4.3.1 Polinomios a trozos de grado k

Sea [a, b] un intervalo finito y {x0 , x1 , . . . , xn } los nodos de una subdivisión Ω de [a, b]
estrictamente creciente (a ≤ x0 < x1 < · · · < xn ≤ b).
Supongamos por conveniencia que esa subdivisión es uniforme, es decir, que los nodos
están equiespaciados xi+1 − xi = h, y que x0 = a y xn = b. Un polinomio a trozos de
grado k en Ω es una función cuya restricción a cada uno de los subintervalos [xi , xi+1 ] es
un polinomio de grado k.

4.3.1 Interpolacion parabólica a trozos


Consideremos una subdivisión de tres nodos {x0 , x1 , x2 }. Pretendemos encontrar la
parábola P (de eje vertical)

P (x) = a + bx + cx2 x ∈ [x0 , x2 ]

que toma en esos nodos los valores w0 , w1 , w2 . Suponemos x1 = 0 de modo que x0 = −h


y x2 = h. El sistema
w0 = a − bh + ch2
w1 = a
w2 = a + bh + ch2

54
da como única solucion:
w2 − w 0 w2 − 2w1 + w0
a = w1 , b= , c=
2h 2h2
y
w2 − w 0 w2 − 2w1 + w0 2
P (x) = w1 + x+ x
2h 2h2
con c 6= 0 si los puntos (x0 , w0 ), (x1 , w1 ), (x2 , w2 ) no son colineales. La fórmula es también
válida si esos puntos estan alineados en cuyo caso c = 0 y se reduce al caso lineal.
Dada la subdivisión Ω = {x0 , . . . , xn } con n par, y los valores correspondientes w0 , . . . , wn
se llama función de interpolación parabólica a trozos de la función discreta f (x i ) = wi a
un polinomio Pn,2 de grado 2 a trozos cuyas restricciones a los subintervalos [xi−1 , xi+1 ]
son parábolas, como la antes determinada, que pasan por los puntos (xi−1 , wi−1 ), (xi , wi ),
(xi+1 , wi+1 ) i = 1, 3, 5, . . . , n − 1, es decir
wi+1 − wi−1 wi+1 − 2wi + wi−1
Pn,2 (x) = wi + (x − xi ) + (x − xi )2
2h 2h2
xi−1 ≤ x ≤ xi+1 con i = 1, 3, 5, . . . , n − 1.
Si se usa la fórmula de Lagrange para determinar el polinomio de segundo grado que
interpola los puntos (xi−1 , wi−1 ), (xi , wi ), (xi+1 , wi+1 ) tendremos la siguiente expresión
de Pn,2

(x − xi )(x − xi+1 ) (x − xi−1 )(x − xi+1 )


Pn,2 (x) = 2
wi−1 − wi
2h h2
(x − xi−1 )(x − xi )
+ wi+1 (4.13)
2h2
con xi−1 ≤ x ≤ xi+1 con i = 1, 3, 5, . . . , n − 1.
Esta expresión se deduce de la ya estudiada, usando la base de Lagrange:

Pn,2 (x) = li−1 (x)wi−1 + li (x)wi + li+1 (x)wi+1 (4.14)

donde
(x − xi )(x − xi+1 ) (x − xi )(x − xi+1 )
li−1 (x) = =
(xi−1 − xi )(xi−1 − xi+1 ) 2h2
(x − xi−1 )(x − xi+1 ) (x − xi−1 )(x − xi+1 )
li (x) = =− (4.15)
(xi − xi−1 )(xi − xi+1 ) h2
(x − xi−1 )(x − xi ) (x − xi−1 )(x − xi )
li+1 (x) = =−
(xi+1 − xi−1 )(xi+1 − xi ) 2h2

de donde el resultado.

55
4.3.2 Error en la interpolacion parabólica a trozos
Si la función a interpolar f ∈ C 3 ([a, b]), del teorema de estimación del error obtenemos
la desigualdad
|(x − xi−1 )(x − xi )(x − xi+1 )|
|f (x) − Pn,2 (x)| ≤ M3 (4.16)
6
donde ¯ ¯
M3 = sup ¯¯f (3) (x)¯¯ (4.17)
a≤x≤b

Como xi−1 ≤ x ≤ xi+1 podemos escribir


2h3 (b − a)3
M3 =
|f (x) − Pn,2 (x)| ≤ M3
6 3n3
estimación muy pesimista fácilmente mejorable.
De todo ello se sigue que
lim kf − Pn,2 k∞ = 0
n→∞

con un orden 3 de convergencia 5 .


La construcción de un polinomio a trozos interpolante de grado k se hace de un modo
análogo. Si la función interpolada f pertenece a C (k+1) ([a, b]), dicho polinomio converge a
f con orden k + 1. Podemos alcanzar una alta calidad de aproximación mientras manten-
emos el grado del polinomio razonablemente bajo. No obstante, no todo es tan positivo,
las aproximaciones ası́ obtenidas son continuas pero tienen en general derivadas discon-
tinuas en los nodos. En algunas aplicaciones ese inconveniente no tiene consecuencias,
pero a menudo es muy deseable obtener aproximaciones de cierta clase. Un modo de
hacerlo es usar polinomios interpolantes de Hermite que cumplan en los subintervalos las
condiciones exigidas respecto a las derivadas.

4.3.3 Interpolación a trozos de grado 3 usando interpolación


Hermite.
Construyamos por Hermite un polinonio de tercer grado en cada uno de los subintervalos
[xi , xi+1 ], es decir, utilizamos la fórmula de Hermite simple para construir en [xi , xi+1 ] un
polinomio Pn,3 de grado 3 que ajuste los valores de una función y de su derivada en cada
uno de los nodos, o sea, tal que:
Pn,3 (xi ) = f (xi ), Pn,3 (xi+1 ) = f (xi+1 )
0
Pn,3 (xi ) = f 0 (xi ) Pn,3
0
(xi+1 ) = f 0 (xi+1 )
luego
Pn,3 (x) = [1 − 2li0 (xi )(x − xi )]li2 (x)f (xi ) + (x − xi )li2 (x)f 0 (xi )
0 2
+ [1 − 2li+1 (xi+1 )(x − xi+1 )]li+1 (x)f (xi+1 )
2 0
+ (x − xi+1 )li+1 (x)f (xi+1 ) (4.18)
5
Por ser el error una potencia cúbica de h.

56
con
x − xi+1 x − xi+1 1
li (x) = =− ⇒ li0 (x) = − (4.19)
xi − xi+1 h h
x − xi x − xi 1
li+1 (x) = = ⇒ li0 (x) = (4.20)
xi+1 − xi h h
y sustituyendo en 4.18
2 x − xi+1 2
· ¸µ ¶
Pn,3 (x) = 1 + (x − xi ) f (xi )
h h
x − xi+1 2 0
µ ¶
+ (x − xi ) f (xi )
h
2 x − xi 2
· ¸µ ¶
+ 1 − (x − xi+1 ) f (xi+1 )
h h
x − xi 2 0
µ ¶
+ (x − xi+1 ) f (xi+1 ) (4.21)
h
Ahora Pn,3 es de clase C 1 ([a, b]) y para f ∈ C (4) ([a, b]), la convergencia es de orden 4.
La interpolación de Hermite, permite incrementar la suavidad de la función aproximante,
pero la expresión final a la que llegamos incluye los valores que debe tener la función f 0
en los nodos, lo que a menudo no es deseable. Para aproximar f tenemos tabulados los
valores de f pero en general carecemos de información sobre f 0 . Si f es la incógnita a
determinar, la introducción de sus derivadas en el problema incrementa la complejidad
de la búsqueda de solución.

4.4 Interpolación polinomial a trozos: Splines


Surge de modo natural la siguiente pregunta. ¿Es posible construir aproximaciones poli-
nomiales a trozos de cierta clase simplemente exigiendo que la función a aproximar tenga
ciertas propiedades de continuidad en los nodos sin necesidad de asignar explı́citamente
en los nodos los valores de las derivadas?
Esas dudas nos llevan a considerar aproximaciones polinomiales a trozos Pn,k de grado
k y de clase C p en [a, b] con p > 0. En general nos interesan aquellas cuya clase es es-
trictamente inferior al grado (p < k) ya que para p = k el polinomio que se obtiene es el
mismo en todos los subintervalos 6 . De particular interés es el caso en el que obtenemos
la aproximación más suave, p = k − 1.
Definición 4.4.1 Se llama spline de grado k a todos los polinomios a trozos de grado k
y de clase C k−1 , o sea, con derivadas continuas hasta el orden k − 1.
Aquı́ estamos interesados en el uso de splines para interpolación, es decir, splines que
tomen en los nodos valores previamente asignados. Hasta ahora no hemos garantizado
6
Es especialmente importante entender esta afirmación. Por reducción al absurdo se obtiene que
todos los tramos son el mismo polinomio.

57
la existencia de esos splines de interpolación. De hecho, se sabe que hay ciertos tipos de
problemas de splines de interpolación que carecen de solución. Nos limitaremos al caso
k = 3 de los splines cúbicos por ser el más importante en la práctica. Con él exploraremos
sin complicaciones excesivas, las caracterı́sticas fundamentales de la aproximación con
splines.

Definición 4.4.2 Sean [a, b] un intervalo finito, Ω = {x0 , x1 , . . . , xn } una partición equi-
espaciada 7 de [a, b] estrictamente creciente a ≤ x0 < x1 < . . . < xn ≤ b y wi un conjunto
n + 1 numeros reales.
Se llama spline de interpolación cúbica a una función s : [a, b] → IR que posee las sigu-
ientes propiedades:

• s(xi ) = wi i = 0, 1, . . . , n.

• s ∈ C 2 ([a, b]).

• La restricción si de s a cada subintervalo [xi , xi+1 ] es una polinomio de grado 3.

Antes de analizar el problema de la existencia y unicidad de los splines cúbicos, comence-


mos con un ejemplo:

Ejemplo 4.4.1

Hallar dos polinomios de tercer grado

s0 (x) = a0 + b0 x + c0 x2 + d0 x3
s1 (x) = a1 + b1 x + c1 x2 + d1 x3

tales que
s0 (a) = w0 , s0 (x1 ) = w1 = s1 (x1 ), s1 (b) = w2 ,
s0 0 (x1 ) = s0 1 (x1 ), s00 0 (x1 ) = s00 1 (x1 )
Tenemos 6 condiciones y ocho parámetros a determinar. Si existe solución no es única.
Para eliminar la ambigüedad, debemos añadir dos condiciones, por ejemplo las derivadas
en a y b.
La situación que se da en este ejemplo es semejante a la existente en general con los splines
cúbicos; para conseguir que la solución sea única, debemos imponer dos condiciones extra.
Estas condiciones adicionales se pueden fijar de modo más o menos arbitrario aunque lo
habitual es pedir que se cumplan ciertas exigencias en los extremos del intervalo.

Teorema 4.4.1 Existe un spline cúbico único S tal que

S(xi ) = wi i = 0, 1, . . . , n
S 0 (x0 ) = s0 , S 0 (xn ) = sn
7
El que sea equiespaciada obedece a que permite una mayor simplicidad en los desarrollos, pero no
introduce ningún aspecto teórico nuevo

58
Demostración:
Consideremos Si definido en xi ≤ x ≤ xi+1 por:
(x − xi+1 )2 2(x − xi )(x − xi+1 )2
" #
Si (x) = + wi
h2 h3
(x − xi )2 2(x − xi+1 )(x − xi )2
" #
+ − wi+1
h2 h3
(x − xi )(x − xi+1 )2 (x − xi )2 (x − xi+1 )
+ s i + si+1 (4.22)
h2 h2
construido usando la misma filosofı́a que para los polinomios a trozos de grado 3 y clase
1, obtenidos mediante la base de Hermite que utilizamos en 4.3.3. De este modo, es
trivial ver que:

Si (xi+1 ) = Si+1 (xi+1 ) = wi+1


S 0 i (xi+1 ) = S 0 i+1 (xi+1 ) = si+1

luego Si define una cúbica a trozos continua con derivadas continuas que toma los valores
preasignados wi en los nodos. Como s0 y sn son datos, sólo necesitamos hallar los si ,
i = 1, 2, . . . , n − 1 tales que Si tenga también derivadas segundas continuas en los nodos.
Diferenciando dos veces la expresión 4.22, tendremos:
6 6 2 4
S 00 i (xi+1 ) =
2
wi − 2 wi+1 + si + si+1 (4.23)
h h h h
00 6 6 4 2
S i+1 (xi+1 ) = − 2 wi+1 + 2 wi+2 − si+1 − si+2 (4.24)
h h h h
e igualando obtenemos el sistema
3
si + 4si+1 + si+2 = (wi+2 − wi ) i = 0, 1, . . . , n − 2. (4.25)
h
Podemos escribir este sistema desarrollado:
 3
 
s1 (w2 − w0 ) − s 0

4 1 0 ··· ··· 0 0 h
3
 s2 (w3 − w1 )
 
 1 4 1 0 ··· ··· 0

 h
 
 3
 
s3 (w4 − w2 )

 0 1 4 1 0 ··· 0  
h

(4.26)
  

.. ..
 ··· ··· ··· ··· ··· ··· ···   
. .







··· ··· ··· ··· 0 1 4 sn−1 3
(wn − wn−2 ) − sn
h

Este sistema tridiagonal y diagonalmente dominante de n − 1 ecuaciones con n − 1


incógnitas s1 ,. . . ,sn−1 tiene solución única que define Si para todo i, luego el spline
cúbico interpolador S de clase C 2

S(x) = Si (x) xi ≤ x ≤ xi+1

S es único porque si hubiera dos, su diferencia serı́a un spline cúbico idénticamente nulo,
ya que se anula en los nodos xi (wi = 0) lo que implica que los si también son nulos, sin

59
más que entrar en el sistema 4.25.
También se pueden introducir las dos condiciones extras siguientes

S 00 (x0 ) = S 00 (xn ) = 0

con las que se obtiene el llamado spline natural.

Ejercicio 4.4.1 Demostrar que existe un spline natural cúbico único.

Teorema 4.4.2 Si f ∈ C (4) ([a, b]), entonces


( )
¯
¯ (p)
¯ Kp
max sup ¯f (x) − S (p) (x)¯ ≤ M4 0≤p≤3 (4.27)
¯
1≤i≤n x∈[xi ,xi+1 ] n4−p

donde √
5 3 5
K0 = , K1 = , K2 = , K3 = 1 M4 = kf (4) k∞ .
384 216 12
Se deduce de lo enunciado en este teorema que el spline cúbico no sólo converge a f , sino
que también sus derivadas, hasta el orden 3, convergen a las correspondientes derivadas
de f .

Teorema 4.4.3 Sea U el conjunto de todas las funciones ϕ de clase C 2 en [a, b] tales
que
ϕ(xi ) = wi i = 0, 1, . . . , n
y sea S el spline cúbico natural que satisface las mismas condiciones de interpolación,
entonces: Z xn Z xn
00 2
[S (x)] dx ≤ [ϕ00 (x)]2 dx (∀ϕ ∈ U ) (4.28)
x0 x0

Este último teorema asegura que de todas las funciones de interpolación que satisfacen
ciertas condiciones en los extremos del intervalo, los splines cúbicos naturales son los
más suaves en el sentido de que minimizan la norma k k2 de la segunda derivada.
En términos de energı́a potencial (proporcional a (kS 00 k2 ) los splines cúbicos naturales
minimizan dicha energia.
Se pueden obtener los splines resolviendo el sistema tridiagonal (4.25) sustituyendo des-
pués los valores de los si en la expresión de Si (x), pero por motivos teóricos interesa
tener una representación explı́cita del spline similar a la representación del polinomio de
interpolación en función de la base de polinomios de Lagrange.

4.4.1 Bases de splines asociadas a un problema de interpo-


lación.
Vamos a calcular una base de splines cúbicos, utilizando la idea de que esta base sea
la dual a las formas lineales que definen un problema de interpolación en un espacio
vectorial de splines con solución única.

60
Sea S3 (Ω) el espacio vectorial de los splines cúbicos correspondientes a la partición Ω.
Sea S3∗ (Ω) su dual. Definimos las n + 3 formas lineales:
Li (S) = S(xi ), i = 0, n
Ln+1 (S) = S 0 (x0 )
Ln+2 (S) = S 0 (xn )
Como ya hemos visto, estas formas lineales definen un problema de interpolación de
solución única, y son por tanto una base de S3∗ (Ω). Podemos tratar de encontrar su base
dual ci . Los elementos de esta base son facilmente calculables resolviendo el sistema 4.25,
pues sabemos que:
Li (cj ) = δij
Cualquier spline del que sepamos sus valores en los nodos, y las derivadas en los nodos
extremos, puede ser escrito como combinación lineal de esa base de modo sencillo:
n
X
S(x) = wj cj (x) + s0 cn+1 (x) + sn cn+2 (x) (4.29)
j=0

Hemos construido por tanto una base un poco especial de un espacio vectorial de splines.
Ejercicio 4.4.2 Determinar la base de S3∗ (Ω) para el caso n = 2 con x0 = 0, x1 = 0.5
x2 = 1, correspondiente al problema de interpolación anterior.

4.5 Interpolación spline con bases de soporte mı́nimo:


B-splines
Sea Ω una partición del intervalo [a, b], {a = t0 , t1 , . . . , tn−1 , tn = b}. Un polinomio de
interpolación a trozos de grado k está definido por n polinomios de grado k en cada uno
de los intervalos [ti , ti+1 ]. Sea p la clase de este polinomio a trozos. Por tanto, por un
lado el número de parámetros a definir es n · (k + 1), y el número de condiciones se refiere
a la continuidad de orden p en los enlaces (p + 1) · (n + 1). Por tanto la dimensión de
este espacio vectorial de funciones polinómicas a trozos de clase p y grado k es:
n · (k + 1) − (p + 1) · (n − 1)
Si lo que tenemos es un spline de grado k, entonces su clase es p = k − 1. Por tanto, la
dimensión de ese espacio de splines está dada por:
n · (k + 1) − (k − 1 + 1) · (n − 1) = n + k
Bases de este espacio hay muchas. Hemos estudiado en 4.4.1 cómo construirlas asociadas
a problemas de interpolación con solución única. Una vez que tenemos escrito nuestro
polinomio de interpolación como combinación lineal de una base y queremos evaluarlo
en un punto cualquiera, nos planteamos una serie de posibles mejoras:
n+k−1
X
Pn,k (t) = ai · ei (t) (4.30)
i=0

61
Serı́a conveniente que los ei (t) fuesen sencillos de evaluar (en el sentido de que su image
fuese nula en el mayor número posible de valores de t). Serı́a bueno también que si se
conocen ciertos valores de la función a interpolar, los {fi }, la relación entre los coeficientes
ai y estos valores fuese mediante expresiones lo más sencillas posibles. Una respuesta a
esto último son las bases (duales de las formas lineales que definen el problema de inter-
polación) las cuales permiten escribir el polinomio solución habitualmente del siguiente
modo:
n
X n+k−1
X
Pn,k (t) = fi · ei (t) + ai · ei (t) (4.31)
i=0 i=n+1

donde los coeficientes ai i = n + 1, . . . , n + k − 1, dependerán del tipo de condiciones


adicionales elegidas, que se pueden referir a ciertos valores de la derivada, o de la segunda
derivada, etc.
Pero este tipo de planteamiento, que es fenomenal para calcular los coeficientes ai , tiene el
inconveniente de que las funciones de base cardinales ei (t) tienen un soporte8 muy grande.
Ello obliga a que, independientemente del punto t donde queramos evaluar Pn,k (t), haya
que extender los sumatorios desde i = 0 hasta i = n + k − 1, con el consiguiente consumo
de recursos, como podemos observar en la figura 4.1.
Lo ideal serı́a que las funciones ei (t), siendo splines de grado k, tengan soporte mı́nimo,

e3 (t)

t0 t1 t2 t3 t4 t5 t6

Figura 4.1: Dual de L3 tal que L3 (S) = S(t3 ).

o sea, que sean nulas en el mayor número posible de tramos [ti , ti+1 ] (ver figura 4.2).
A estos splines de soporte mı́nimo se les llama B-splines. Elegidos de modo adecuado,

e3 (t)

t0 t1 t2 t3 t4 t5 t6

Figura 4.2: Spline con soporte pequeño.

forman una base del espacio vectorial de los splines de grado k definidos sobre la partición
{a = t0 , t1 , t2 , . . . , tn−1 , tn = b}.
8
El soporte de una función son aquellos elementos de su dominio de imagen no nula.

62
Definición 4.5.1 Orden r de un B-spline es el número de tramos en los que el B-spline
es no nulo.

e3 (t)

t0 t1 t2 t3 t4 t5 t6

Figura 4.3: Spline que no puede ser spline.

Calculemos el orden 9 r de un B-spline en función de su grado k. Si el spline es no nulo


en r tramos, en principio hay r + k parámetros libres (como si la partición en la que
estuviese definido fuese {t0 , t1 , t2 , . . . , tn−1 , tn }). Por continuidad hasta el orden p = k − 1
del spline en los dos extremos donde se hace nulo, tenemos 2 · k condiciones más, con lo
que el número de parámetros se reduce de r + k a r − k. Si r − k = 0, el B-spline serı́a
nulo10 , por tanto el mı́nimo r con sentido11 es r = k + 1.
Definición 4.5.2 Dado el conjunto de nodos
t−r+1 < · · · < t−1 < a = t0 < t1 < t2 < · · · < tn−1 < tn = b
Un B-spline de orden r = k + 1, asociado a los mismos es una función polinómica a
trozos de grado k, de clase k − 1 en [a, b] y de soporte mı́nimo.
Construiremos una base de este espacio vectorial de polinomios, siguiendo las siguientes
convenciones 12 :
t ∈ [ti , ti+r ) ⇒ Bik (t) ≥ 0
t∈/ [ti , ti+r ) ⇒ Bik (t) = 0
9
Cuando hablamos de un B-spline manejamos siempre tres ideas. Dos de ellas proceden del hecho de
que sea un spline:
grado grado k de cada uno de los tramos polinomiales que forman el spline.
clase si es un spline de grado k, su clase p es k- 1.
orden número r de tramos en los cuales el spline es no nulo.
10
Por ejemplo, si lo que tenemos es un spline parabólico, no podemos conseguir con sólo dos tramos
que sea distinto de cero, y luego vuelva a ser cero con continuidad en la función y en su derivada. Me
explico. En el primer tramo, tenemos una parábola, que viene definida por tres coeficientes a, b, y c.
El primer punto de esa parábola vale cero y tiene derivada nula. Si además queremos que la imagen
del último tramo sea distinta de cero y valga no se cuanto, ya tendremos completamente definida la
parábola, y por tanto su derivada en ese punto valdrá lo que valga. Una vez fijado el valor de la función
en ese punto de enganche, a su vez el segundo tramo, tendrá en su punto final derivada nula y valo nulo,
con lo que sólo quedará un parámetro libre: el valor de la función en el enganche. Si además queremos
que haya continuidad en la derivada, que ya viene fija por el otro tramo, creo que es demasiado pedirle a
una parábola; no os parece?. Parece por la figura 4.3 que lo hemos conseguido, pero fijaos bien en cada
uno de los tramos. desde cuando una parábola tiene un punto de inflexión?.
11
Por tanto el orden r de un spline parabólico -k = 2- es r = k + 1 = 3
12
Esta forma de construcción de una base de B-splines del grado que sea no es la única posible. Sin
embargo, las expresiones que damos son de muy común uso, y permiten abordar de modo sencillo los
problemas de interpolación spline con este tipo de funciones de base.

63
4.5.1 B-splines de grado 0. k = 0, r = 1

B i (t) [
0 [
1

a = t0 t 1 ti t i+1 t n-1 tn = b

Figura 4.4: B-spline de grado 0.

(
0, t ∈
/ [ti , ti+1 )
Bi0 (t) = (4.32)
1 t ∈ [ti , ti+1 )

4.5.2 B-splines de grado 1. k = 1, r = 2


El soporte de cada elemento de la familia es de dos tramos. La base estará formada por
n + k = n + 1 splines. Añadimos un punto antes13 , para completar los nodos en los cuales
se van a apoyar los splines que formarán nuestra base14
1 1
B-1(t) 1
B i (t) Bn-1(t)
1 1 1

t-1 t 0 t1 t i t i+1 t i+2 t n-1 tn

Figura 4.5: B-spline de grado 1.

0, t∈
/ [ti , ti+2 )







t−ti

Bi1 (t) =  ti+1 −ti
, t ∈ [ti , ti+1 ) (4.33)



ti+2 −t

, t ∈ [ti+1 , ti+2 )


ti+2 −ti+1

4.5.3 B-splines de grado k. r = k + 1


Disponemos de una formulación recurrente que nos permite obtener la expresión de una
base de B-splines de grado k en función de la correspondiente a k − 1.
à ! à !
t − ti ti+k+1 − t
Bik (t) = Bik−1 (t) + k−1
Bi+1 (t) (4.34)
ti+k − ti ti+k+1 − ti+1
13
El valor t−1 correspondiente a ese nodo adicional es arbitrario.
14
Los B-splines de grado cero coinciden en cierta medida con una base de splines cardinales. Si os
fijáis Bi0 (tj ) = δji y Bi1 (tj ) = δji+1 . Para grados más altos, esto no pasa, como luego veremos.

64
4.5.4 B-splines de grado 2 en una partición equiespaciada. k =
2, r = 3
Usando esa fórmula recurrente, y teniendo en cuenta que la partición consta de nodos
equiespaciados entre si -[h = ti+1 − ti ]-, podemos obtener fácilmente la expresión corres-
pondiente a un elemento de un sistema de B-splines de este tipo.



 0, t∈
/ [ti , ti+3 )




1 2

 2h2 (t − ti ) , t ∈ [ti , ti+1 )



Bi2 (t) = (4.35)
1
[h2 + 2h(t − ti+1 ) − 2(t − ti+1 )2 ], t ∈ [ti+1 , ti+2 )





 2h2




1
(t − t)2 , t ∈ [ti+2 , ti+3 )


2h2 i+3

2
B i (t) 3/4

1/2

t i-1 ti t i+1 t i+2 t i+3 t i+4


Figura 4.6: B-spline de grado 2.

4.5.5 B-splines de grado 3 en una partición equiespaciada. k =


3, r = 4
Se puede usar otra vez la fórmula recurrente para obtener la expresión analı́tica de cada
uno de los cuatro tramos del B-spline cúbico genérico, pero nos limitaremos a dar en la
figura 4.7 sus valores en los nodos. En cada caso cada uno de estos tramos se obtiene
fácilmente.

2/3

Bi3
1/6 1/6

t i-1 ti t i+1 t i+2 t i+3 t i+4 t i+5

Figura 4.7: B-spline de grado 3.

65
4.5.6 Partición de la unidad
Para construir una base de B-splines cúbicos, se harı́a de modo similar. Se puede de-
mostrar que este sistema de splines cumple una propiedad muy importante: son una
partición de la unidad. 0 sea,:
n−1
Bik (t) = 1
X
(4.36)
i=−r+1

4.5.7 Interpolación con B-splines


Un problema tı́pico de interpolación de Lagrange, nos conduce a plantear el siguiente
sistema de ecuaciones.
j−1
ai Bik (tj ) = fi ,
X
j = 0, . . . , n (4.37)
i=j−r+1

Se tienen (n + k) incógnitas, los ai ; y (n + 1) ecuaciones. Si k = 1, el sistema es


determinado, y la solución es única. Si k > 1 hay que imponer condiciones adicionales,
sobre la función o sus derivadas hasta el orden que convenga en cada problema.

Ejercicio 4.5.1

Dada la siguiente tabla de valores15 :


x0 x1 x2 x3 x4 x4
f0 f1 f2 f3 f4 f40
se pide encontrar los coeficientes ai que permiten escribir de modo único el spline pa-
rabólico de interpolación de esa tabla como combinación lineal de la base de B-splines
estudiada en el curso.
Solución:
a−2 = 2(f0 − f1 + f2 − f3 ) + f4 − h2 f40
a−1 = 2(f1 − f2 + f3 ) − f4 + h2 f40
a0 = 2(f2 − f3 ) + f4 − h2 f40
a1 = 2f3 − f4 + h2 f40
a2 = f4 − h2 f40
a3 = f4 + h2 f40

4.6 Interpolación en varias variables.


La generalización a varias variables se puede hacer de modo natural teniendo en cuenta la
teorı́a general. Por ejemplo, el espacio E donde se busca la solución al problema puede ser
un espacio de polinomios en varias variables, y se le imponen determinadas condiciones
a un polinomio que pueden dar lugar o no a una solución única.
15
Propuesto por J. Lázaro Redondo.

66
4.6.1 Interpolación en recintos rectangulares
Podemos hacer un análisis interesante en dos variables planteando el problema de in-
terpolación de Lagrange en una malla rectangular en cuyos nodos se sabe el valor de la
función a interpolar f : Sea
2
G = {(x, y) ∈ IR |a ≤ x ≤ b, c ≤ y ≤ d}

y sean dos familias de nodos

a = x0 < x1 < · · · < xm = b, c = y 0 < y1 < · · · < y n = d

Esto define (m+1)(n+1) nodos (xi , yj ) que están dentro del recinto rectangular. Entonces
el problema de interpolación de Lagrange consiste en buscar un polinomio en dos variables
P ∈ Pmn tal que:
P (xi , yj ) = f (xi , yj ), 0 ≤ i ≤ m, 0 ≤ j ≤ n
Se puede demostrar bastante fácilmente que este problema tiene solución y esa solución
es única, y además se escribe en función de la base de Lagrange para cada una de las
variables y su familia de nodos correspondiente.
X
P (x, y) = f (xi , yj )li (x)lj (y) (4.38)
0≤i≤m,0≤j≤n

Cuando el recinto no es rectangular o las condiciones son más complicadas, el tratamiento


de cada problema es diferente.

4.7 Referencias recomendadas para este tema.


El libro de Hämmerlin et al.[7] cubre bien la parte de splines y el texto de Kincaid[8]
hace una aproximación clásica al problema de interpolación.

67
Capı́tulo 5

Aproximación de funciones.

5.1 Introducción
Nuestro objetivo fundamental será investigar la aproximación de funciones, elementos de
espacios funcionales de dimensión infinita (fundamentalmente C([a, b])) mediante fun-
ciones más simples, que varı́an en general en espacios de dimensión finita.
Para el analista numérico las funciones de aproximación deben poseer ciertas propiedades.

• Dada una función, debe ser posible aumentar arbitrariamente la bondad de las apro-
ximaciones, incrementando adecuadamente la dimensión del espacio de las funciones
de aproximación.

• Las funciones de aproximación deben ser simples en el sentido de que puedan ser
manipuladas (integradas, diferenciadas, etc.) con facilidad.

• Debe existir un cuerpo de teorı́a bien desarrollado que permita el análisis de los
algoritmos numéricos que resulten de su uso.

El teorema clásico de aproximación de Weierstrass establece la utilidad y potencia de


los polinomios como herramienta para la aproximación de funciones continuas, y los
convierte en una elección ideal de funciones de aproximación. Sus diferentes extensiones
(polinomios a trozos, splines...), enriquecen las familias de funciones que se usan en
aproximación. Pero hay otras familias que cumplen satisfactoriamente las tres exigencias
anteriores, por ejemplo, las funciones trigonométricas.

5.2 El problema general de aproximación.


Se formula el problema general de aproximación en espacios vectoriales normados ya que
la métrica asociada a la norma permite medir la calidad de la aproximación. Como ya
hemos comentado, el espacio de base es C([a, b]) al que se le suministrarán diferentes
normas. La norma k k∞ de la convergencia uniforme o de Chebyshev, las normas k kp
p ≥ 1 de las que k k2 es de espacio prehilbertiano (espacio vectorial con un producto
escalar definido positivo) y otras normas asociadas a distintos productos escalares con
”peso”
w : (a, b) → R, w(x) > 0 para x ∈ (a, b)
con Z b
0< w(x)dx < ∞
a
definidos por Z b
< f, g >= w(x)f (x)g(x)dx
a
y cuya norma asociada es Z b
kf k = w(x)f 2 (x)dx
a
Las normas estrictas serán importantes. Recordemos que estas normas poseen la propie-
dad siguiente:
Si f, g ∈ (V, k k) f 6= 0, g 6= 0 cumplen que

kf + gk = kf k + kgk

entonces existe λ ∈ K(= R o C) con g = λf .


Se comprueba que λ es siempre real y positivo y se verifican además las siguientes
propiedades:

• (C([a, b]), k k) no está estrictamente normado f (x) = 1 y g(x) = x (∀x ∈ [a, b])
satisfacen
kf + gk = 1 + b = kf k + kgk
y son linealmente independientes.

I n.
• k k2 es una norma estricta en C

• (R3 , k k∞ ) no está estrictamente normado x = (1, 0, 0), y = (1, 1, 0) linealmente


independientes, cumplen

kxk∞ = 1, kyk∞ = 1 y kx + yk∞ = 2

• (C([a, b]), k k1 ) tampoco está estrictamente normado. Con las mismas f y g de


antes
Z 1 3 Z 1 Z 1
1
k1 + xk1 = (1 + x)dx = = k1k1 + kxk1 = dx + xdx = 1 +
0 2 0 0 2

Teorema 5.2.1 Toda norma asociada a un producto escalar es estricta ya que en la


desigualdad de Schwarz, < f, g >≤ kf kkgk se produce la igualdad cuando f y g son
linealmente dependientes e igual sucede con la desigualdad triangular.

69
5.3 Mejor aproximación
Sea (V, k k) un espacio vectorial normado, T una parte arbitraria de V y v un elemento
de V que se desea aproximar mediante elementos de T . Parece razonable decir que u ∈ T
es una buena aproximación de v si la distancia kv − uk es pequeña.
Definición 5.3.1 Un elemento û ∈ T es una mejor aproximación (m.a.) de v si
kv − ûk ≤ kv − uk (∀u ∈ T )
Ejemplo 5.3.1
Supongamos V = R2 , k k = k k2 y sea T = {x ∈ V : kxk ≤ 1}. Para todo y ∈ R2 − T
existe un solo x̂ ∈ T tal que
ky − x̂k2 ≤ ky − xk2 (∀x ∈ T ).
Ejemplo 5.3.2
Si T es una bola abierta de centro (0, 0) y radio unidad, no existe ningún x̂ ∈ T tal que
para todo x de T , ky − x̂k2 ≤ ky − xk2 .
Ejemplo 5.3.3
Sean (V, k k) = (C([0, 1]), k k∞ ) y T = {u ∈ V ; u(x) = exp(βx), β > 0}. Sea v la
función constante v(x) = 21 . Hallar una m.a. û ∈ T de v equivale a hallar β̂ > 0 tal que:
max ¯1
¯ ¯
¯
kv − ûk∞ = ¯ − exp(β̂x)¯
x ∈ [0, 1] 2
¯ ¯

sea mı́nimo para todo u ∈ T , pero


max ¯1 1
¯ ¯
¯
kv − uk∞ = ¯ − exp(βx)¯ = exp(β) −
x ∈ [0, 1] 2
¯ ¯
2
para un β fijo esa diferencia es mayor cuando x = 1 y el mı́nimo de exp(β) − 12 para
β > 0 no existe (si β ≥ 0 el mı́nimo se alcanzarı́a para β = 0) luego al igual que en
el ejemplo 5.3.2 no existen mejores aproximaciones. La diferencia entre los ejemplos
anteriores radica en si T posee o no la propiedad de compacidad.
Definición 5.3.2 Se define la distancia de v a T o separaración mı́nima de v y T , que
denotaremos como es habitual d(v, T ), como
inf
d(v, T ) = kv − uk
u∈T
Este número que siempre existe ya que el conjunto {kv − uk, u ∈ T } está minorado por
cero.
Definición 5.3.3 Un elemento û ∈ T es la mejor aproximación de v en T si
kv − ûk ≤ d(v, T )
En el ejemplo 5.3.2 , d(y, T ) = kyk − 1 aunque no haya x̂ ∈ T donde se alcance esa
distancia. En el ejemplo 5.3.3, d(v, T ) = 21 .

70
5.4 Existencia y unicidad de una mejor aproximación
La posible existencia de una m. a. ası́ como su eventual unicidad dependen de las
propiedades que posea T . Como veremos, la compacidad y la convexidad estricta, son
propiedades clave para el análisis de esos problemas.

5.4.1 Sucesión minimizante en T


Una sucesión de elementos {un }n∈IN de elementos de T ⊆ V se dice que es minimizante
para v ∈ V si
lim kv − un k = d(v, T )
n→∞

Por la forma de definir la distancia d(v, T ) siempre va a existir una sucesión minimizante,
pero la convergencia de kv − un k a d(v, T ) no exige en conjuntos T arbitrarios que {un }
converja a un elemento de T ni aun siquiera a uno de V , pero en un compacto T , toda
sucesión {un } y en particular toda sucesión convergente a un valor de adherencia u∗ de
{un } que está en T , luego u∗ es una m.a. de v en T .
Teorema 5.4.1 Si T es compacto en v, siempre existe una m.a. de v en T .

Ejemplo 5.4.1

Consideremos ahora T̂ = T − T ∗ con


T ∗ = {x ∈ T : x1 > 0; x2 > 0}
(0, 1) y (1, 0) son mejores aproximaciones en T̂ de (1, 1) ∈ R2 .
En los distintos ejemplos hemos vistos casos con dos soluciones, solución única y sin
solución. El análisis de la unicidad de la m. a. exige considerar las propiedades de
convexidad estricta de T . Recordemos que T es convexo si dados dos puntos u1 y u2
cualesquiera de T , todos los puntos del segmento que los une [u1 , u2 ] = {λu1 + (1 −
λ)u2 ; 0 ≤ λ < 1} están en T . T es además estrictamente convexo, si todos los elementos
de [u1 , u2 ] son puntos interiores a T (no hay segmentos [u1 , u2 ] contenidos en la frontera
de T ).
Teorema 5.4.2 Si T es compacto y estrictamente convexo en V , para todo v ∈ V existe
un único û ∈ T mejor aproximación de v en T .

5.5 Aproximación lineal


El caso más importante y único que vamos a considerar a partir de ahora es cuando
T = U subespacio vectorial de V de dimensión finita envoltura lineal de la familia libre
{u1 , . . . , un }.
El problema de hallar una m.a. de v ∈ V en U , se reduce a hallar
n
X
û = α i ui
i=1

71
tal que
n
° °
° X °
d(α1 , . . . , αn ) = d(v, û) = °°v − αi ui °°
° °
i=1
n
sea mı́nima para todo (α1 , . . . , αn ) ∈ R .
El concepto de acotación (mucho más simple que los conceptos de compacidad y convex-
idad estricta antes usados) es aquı́ suficiente para analizar las sucesiones minimizantes
en U .
Lema 5.5.1 Toda sucesión minimizante en U está acotada

Teorema 5.5.1 Existencia de una m.a. en la aproximacion lineal.


Si U es un subespacio de V de dimensión finita, para cada elemento v ∈ V existe al
menos una mejor aproximación û ∈ U .

Consecuencia del lema anterior y de que U es cerrado, luego {un } tiene al menos un valor
de adherencia que está en U .
Teorema 5.5.2 Unicidad de la m.a. en subespacios de dimension finita.
Si V está estrictamente normado, la mejor aproximación de v ∈ V desde un subespacio
arbitrario de dimensión finita es única.

Corolario 5.5.1 En un e.v.n. cualquiera podemos asegurar en general que la m.a. de


v ∈ V en U o bien es única o bien existen infinitas.

A pesar de su importancia, (C([a, b]), k k∞ ) no está estrictamente normado por lo que no


podremos establecer conclusiones de unicidad basadas exclusivamente en las propiedades
de las normas. Sin embargo, existen subespacios vectoriales de dimensión finita de
(C([a, b]), k k∞ ) para los que la mejor aproximación es única.
Corolario 5.5.2 En un espacio prehilbertiano V , el problema de la determinación de
una mejor aproximación û ∈ U de v ∈ V tiene solución única.
Este corolario se deduce de 5.5.2 y del teorema 5.2.1. Por otro lado, se puede demostrar
I n con la k kp está estrictamente normado, ası́ como Lp ([a, b]) y C([a, b]) para k kp
que C
con 1 < p < ∞ (excluimos los casos p = 1 y p = 2).

5.6 Aproximación en espacios prehilbertianos.


5.6.1 General.
Además de las aproximaciones en la norma del máximo que consideraremos más ade-
lante, en las que el objetivo es conseguir que la máxima desviación entre la función y su
aproximación sea lo más pequeña posible, es importante considerar las aproximaciones
en la norma k k2 en las que el error global es importante y conllevan un proceso de
suavizado (reducción del efecto de errores aleatorios, aspecto más suave de la función
entre nodos, etc.)

72
5.6.2 Caracterizacion de la mejor aproximación.
Sea V un espacio vectorial provisto de un producto escalar < , > y de su norma k . k
asociada y sea U un subespacio vectorial de dimensiónfinita de V .
Según hemos establecido antes, en un espacio prehilbertiano V , el problema de la deter-
minación de una mejor aproximación û ∈ U de v ∈ V tiene solución única.

Teorema 5.6.1 Teorema de Caracterización.


La mejor aproximación fˆ de f ∈ V en U se caracteriza por < f − fˆ, g >= 0 para todo
g ∈ U (f − fˆ ∈ U ⊥ ).

Si < f − fˆ, g >= 0 para todo g ∈ U , descompongamos g en la forma

g = fˆ + g 0 (g 0 = g − fˆ)

como
k(f − fˆ) − g 0 k2 = h(f − fˆ) − g 0 , (f − fˆ) − g 0 i
y
h(f − fˆ), g 0 i = 0
por hipótesis, entonces

kf − gk2 = k(f − fˆ) − g 0 k2 = kf − fˆk2 + kg 0 k2

luego
kf − fˆk2 ≤ kf − gk2 (∀g ∈ U )
La unicidad es consecuencia de la propiedad estricta de la norma.
Supongamos que U = L(g1 , . . . , gn ) y fˆ = nj=1 ĉj gj . Falta comprobar que esas condi-
P

ciones de ortogonalidad permiten calcular f . En efecto, ĉ = (ĉ1 , . . . , ĉn ) debe ser solución
del sistema de ecuaciones ecuaciones normales:
n
< fˆ − f, gk >=<
X
ĉj gj − f, gk >= 0 k = 1, . . . , n
j=1

que se pueden escribir en la forma


n
X
ĉj < gj , gk >=< f, gk >
j=1

La solución de las ecuaciones normales es siempre única ya que la independencia lineal


de los vectores g1 , . . . , gn implica que la matriz de Gram asociada es regular.

73
f

f$ = å c$ j × g j
U åc j × gj

Figura 5.1: Proyección ortogonal

Comentarios
• La solución única del problema de aproximación planteado es la proyección ortog-
onal de f sobre U (completo por ser de dimensión finita).

• En (L2 ([0, 1]), k k2 ). Para gj = xj−1

1
< gi , gj >=
i+j−1

y la matriz asociada a las ecuaciones normales es la archifamosa mal condicionada


matriz de Hilbert. Para n > 5 ó 6, el tratamiento del problema mediante las
ecuaciones normales es desde el punto de vista computacional intratable.

Un caso especialmente favorable se produce cuando esa base ortoqonal. Las ecuaciones
normales se reducen entonces a

ĉk < gk , gk >=< f, gk >

por lo que
< f, gk >
ĉk = k = 1, . . . , n
< gk , gk >
Utilizando el metodo de Gram-Schmidt siempre podemos construir una base {g1 , . . . , gn }
de U ortonormada. En este caso la solución de las ecuaciones normales es simplemente

ĉk =< f, gk > k = 1, . . . , n

Como ĉk no depende de los valores anteriores ĉl (l < k) nos planteamos el problema de
aproximación dejando la dimension de U indeterminada, dimensión que lueqo fijamos en
base a la exactitud deseada.

Corolario 5.6.1 El error kfˆ − f k satisface la relación

kfˆ − f k2 = kf k2 − kfˆk2

74
En efecto, kf k2 = k(f − ĥ) + ĥk2 concluye recordando que

< f − fˆ, fˆ >= 0

Ese error kfˆ − f k se puede calcular fácilmente usando el corolario y la igualdad

kfˆk2 =< fˆ − f + f, fˆ >=< fˆ − f, fˆ > + < f, fˆ >

de modo que (f − fˆ es ortogonal a f ∈ U )

kfˆ − f k2 = kf k2 − kfˆk2 = kf k2 − < f, f` >

luego
à n
!1
2
kfˆ − f k = kf k − 2
X
ĉj < f, gj >
i=1

5.6.3 Error cuadrático medio


(C([a, b]), k k2 ) es un espacio prehilbertiano. Se suele aquı́ promediar el error kfˆ − f k22
sobre todo el intervalo. La cantidad resultante

kfˆ − f k2
µ= √
b−a
se llama el error cuadrático medio. La fórmula de la desviación
à n
!1
2
kfˆ − f k = kf k2 −
X
ĉj < f, gj >
i=1

implica la desigualdad
à n
!1
2
2
X
0 ≤ kf k − ĉj < f, gj >
i=1

Si {g1 , . . . , gn } es una base ortonormada de U , ĉk =< f, gk >, k = 1, . . . , n luego:


n
0 ≤ kf k2 − ĉ2j
X

i=1

y
n
ĉ2j ≤ kf k2
X

i=1

desigualdad válida también para sistemas ortonormados infinito numerables. En este


caso se llama desigualdad de Bessel.

ĉ2j ≤ kf k2
X

i=1

75
5.6.4 Polinomios ortogonales
Polinomios de Legendre
En C([−1, 1]) definimos el producto escalar habitual
Z 1
< f, g >= f (x)g(x)dx
−1

(relativo a la función peso w(x) = 1 en [−1, 1]).


La familia de polinomios que se obtienen cuando aplicamos el método de ortonormal-
ización de Gram-Schmidt a la familia libre
gj (x) = xj−1 (j = 1, 2, . . . , n)
se denominan polinomios de Legendre.
Buscamos un sistema {Lj } de polinomios con Lj ∈ Pj que satisfacen las condiciones
< Li , Lj >= δij para i, j = 1, 2, . . . , n.
No entraremos aquı́ en el proceso de la determinación de los polinomios de Legendre
Ln , pero incluiremos la fórmula de Rodrigues que nos da los polinomios de Legendre
normalizados s
1 2n + 1 dn (t2 − 1)n
Ln (t) = n
2 n! 2 dtn
Por ejemplo, s
1 3
L0 (t) = √ , L1 (t) = t
2 2
s s
1 5 2 1 7 3
L2 (t) = (3t − 1), L3 (t) = (5t − 3t),
2 2 2 2
etc. Si consideramos el problema de hallar el polinomio p̂ en Pn−1 que mejor aproxime
al monomio xn en [−1, 1] respecto a la norma k k2 andamos buscando el polinomio
p̂ = ĉ1 g1 + · · · + ĉn gn
cuyos coeficientes ĉi son solución de las ecuaciones normales
< f − (ĉ1 g1 + · · · + ĉn gn ), gk >= 0, 1≤k≤n
La única solución de este sistema es el polinomio de Legendre con máximo coeficiente 1.
L̂n = f − (ĉ1 g1 + · · · + ĉn gn )
y por tanto, p̂ = f − L̂n . Dos comentarios interesantes sobre estos polinomios:
• El polinomio L̂n tiene norma mı́nima en el sentido que
kL̂n k2 ≤ kpk2
para todos los polinomios p de εn donde
εn = {p ∈ Pn : p(x) = xn + an−1 xn−1 + · · · + a0 }
• Los polinomios de Legendre con coeficiente máximo 1. son la mejor aproximación
de la función nula en [−1, 1] respecto a la norma k k2 .

76
Los polinomios de Chebychev revisados
En C([−1, 1]) definimos el producto escalar
Z 1 f (x)g(x)
< f, g >= √ dx (5.1)
−1 1 − x2
(relativo a la función peso
1
w(x) = √
1 − x2
en [−1, 1]).
Los polinomios de Chebychev se definen en [−1, 1] por

Tn (x) = cos(n arccos x)

son ortogonales respecto a ese producto escalar5.1, más precisamente,



si 0
 i 6= j
π
< Ti , Tj >=  si i = j 6= 0
2

π si i = j = 0

En efecto, pongamos x = cos ϕ


Z 1 Ti (x)Tj (x) Z π
< Ti , Tj >= √ dx = cos iϕ cos jϕdϕ = 0
−1 1 − x2 0

si i 6= j y
(
Z 1 Ti (x)Tj (x) Z π
π si i = 0
< Ti , Tj >= √ dx = cos2 iϕdϕ = π
−1 1−x 2 0 2
si i =
6 0

si i = j, luego kT0 k2 = π y kTi k2 = π2 si i 6= 0. Obtenemos una familia ortonormal


1
completa relativa al producto escalar de peso √1−x 2 poniendo:

( )
T0 Ti
,
kT0 k kTi k

es decir, ( )
1 π
r
√ T0 , Ti
π 2
forma un sistema ortonormado completo en [−1, 1] respecto a la función peso √ 1 . Los
1−x2
polinomios de Chebychev se definen recursivamente como:

T0 (x) = 1
T1 (x) = x
Tn+1 (x) = 2xTn (x) − Tn−1 (x) para n ≥ 1

77
Las formas explı́citas para los primeros Tn son las siguientes:

T2 (x) = 2x2 − 1
T3 (x) = 4x3 − 3x
T4 (x) = 8x4 − 8x2 + 1
T5 (x) = 16x5 − 20x3 + 5x
T6 (x) = 32x6 − 48x4 + 18x2 − 1

y la expresión de los monomios de menor grado en función de la base de Chebychev es


la siguiente.

1 = T0
x = T1
1
x2 = (T0 + T2 )
2
1
x3 = (3T1 + T3 )
4
1
x4 = (3T0 + 4T2 + T4 )
8
1
x5 = (10T1 + 5T3 + T5 )
16
1
x6 = (10T0 + 15T2 + 6T4 + T6 )
32
1
x7 = (35T1 + 21T3 + 7T5 + T7 )
64
1
x8 = (35T0 + 56T2 + 28T4 + 8T6 + T8 )
128
1
x9 = (126T1 + 84T3 + 36T5 + 9T7 + T9 )
256
• Insistamos en que toda función f ∈ C([−1, 1]) admite un desarrollo en serie de
Fourier del tipo
c0 X
f= + cn Tn
2
n∈IN

donde la sucesiónde sumas parciales,


n
ˆ c0 X
fn (x) = + ck Tk (x)
2 k=1
con
2 Z 1 f (x)Tk (x)
ck = √ dx
π −1 1 − x2
2Zπ
= f (cos ϕ) cos kϕdϕ
π 0
1 Z π
= f (cos ϕ) cos kϕdϕ
π −π

78
suministra aproximaciones a f que convergen en la norma asociada al producto
escalar con peso w considerado.

• Con la hipótesis, f ∈ C 2 ([−1, 1]), se prueba que esta sucesión de aproximaciones


converge a f respecto a k k∞ . Este resultado es de especial interés ya que, dada
una función f ∈ C 2 ([−1, 1]), se puede obtener una buena estimación de la m.a. en
la norma del máximo p̂ ∈ Pn tomando la suma parcial
n
c0 X
fˆn (x) = + ck Tk (x)
2 k=1

Este método es particularmente útil cuando los ck son fácilmente calculables. En la


práctica, dichos coeficientes nunca se calculan mediante integración explı́cita, sino
utilizando técnicas de integración numérica.

5.6.5 Desarrollo en serie de Fourier de una función periódica.


General
Vamos a estudiar el desarrollo en serie de Fourier de una función periódica como un caso
particular de aproximación en espacios prehilbertianos. Una función se dice periódica de
periodo T si
f (x + T ) = f (x)
El menor de los periodos se llama periodo fundamental, y su frecuencia asociada, fre-
cuencia fundamental.

w0 =
T
2
El espacio ambiente es E = L ([0, T ],C),I funciones de cuadrado integrable, que toman
valores en los complejos. Se consideran solamente en el periodo [0, T ], aunque es indifer-
ente la selección del periodo considerado [x, x + T ]
El producto escalar del que se deriva la norma:
Z T
hf, gi = f (t)g(t)dt
0

El subespacio vectorial donde se busca la mejor aproximación será:

T = L (φk (t))k=0,±1,±2,···,±n

φk (t) = ejkw0 t = cos (kw0 t) + jsen (kw0 t)

Ortogonalidad de la base.
Vamos a ver que este es un sistema ortogonal cuando usamos el producto escalar anterior:
Z T Z T Z T
hφk , φm i = φk (t)φm (t)dt = ejkw0 t e−jmw0 t dt = ej(k−m)w0 t dt
0 0 0

79
 RT
 {k = m}
 ; 0 dt = T
¯T
= 1
ej(k−m)w0 t ¯¯
¯
 {k 6= m} ; j(k−m)w0
= {w0 T = 2π} = 0
0
Se deja como ejercicio el que comprobéis que si el intervalo de integración para el pro-
ducto escalar se traslada, la familia de funciones sigue siendo ortogonal. O sea, el nuevo
producto escalar serı́a: Z x+T
hf, gi = f (t)g(t)dt
x
A partir de ahora, al trabajar con las integrales, las extenderemos a un periodo, inde-
pendientemente del punto en el que empiece, y lo notaremos ası́.
Z
hf, gi = f (t)g(t)dt
T

Cálculo de la mejor aproximación.


Para aproximar una función f ∈ E en T , como E es prehilbertiano, y T tiene dimensión
finita, 2n + 1, la mejor aproximación existe, es única y es la proyección ortogonal de f
sobre T , f ∗ .
Se trata de encontrar los coeficientes ck que permiten expresar f ∗ en la base de T .
n

X
f = cm φm
m=−n

Como f ∗ es la proyección ortogonal de f sobre T , entonces, para −n ≤ k ≤ n:


n
hf − f ∗ , φk i = 0 ⇔ hf ∗ , φk i = hf, φk i ⇔ h
X
cm φm , φk i = hf, φk i
m=−n

Y usando la bilinealidad del producto escalar y la ortogonalidad del sistema, llegamos a


que:
1Z
ck = f (t)e−jkw0 t dt
T T

Condición para que la mejor aproximación sea real.


f ∗ será real si y solamente si:

f∗ = f∗ ⇔ f∗ − f∗ = 0

n
X n
X n o
ck φk − ck φk = φk = φ−k
k=−n k=−n
n
X n
X
= ck φk − ck φ−k
k=−n k=−n
Xn Xn
= ck φk − c−k φk
k=−n k=−n

80
n
X
= (ck − c−k ) φk
k=−n
= 0
⇔ ck = c−k

Cómo es la mejor aproximación si f es real.


Veamos, si como parece razonable, la mejor aproximación es entonces real:
1Z
ck = f (t)e−jkw0 t dt
T T

1Z
c−k = f (t)ejkw0 t dt
T T
1Z Z
= f (t)cos (kw0 t) dt + j f (t)sen (kw0 t) dt
T T T
1 Z Z
= f (t)cos (kw0 t) dt − j f (t)sen (kw0 t) dt
T T T
1Z
= f (t)e−jkw0 t dt
T T
= ck

Por tanto, c−k = ck , y su serie de Fourier es también real. O sea, que la serie de Fourier
de una señal real es también real. Veamos en qué se convierte dicha serie de Fourier.
1Z
ck = f (t)e−jkw0 t dt
T T
1Z Z
= f (t)cos (kw0 t) dt − j f (t)sen (kw0 t) dt
T T T
= Ak + jBk

Por tanto:
1Z
Ak = f (t)cos (kw0 t) dt
T T
1Z
Bk = − f (t)sen (kw0 t) dt
T T
Como c−k = ck , c−k = Ak − jBk , y por tanto:
n
f ∗ (t) =
X
ck φk (t)
k=−n
1
X n
X
= c0 + ck φk (t) + ck φk (t)
k=−n k=1
Xn Xn
= c0 + c−k φ−k (t) + ck φk (t)
k=1 k=1
Xn n
X
= c0 + ck φ−k (t) + ck φk (t)
k=1 k=1

81
n h i
(Ak − jBk ) e−jkw0 t + (Ak + jBk ) ejkw0 t
X
= c0 +
k=1
n h ³ ´ ³ ´i
Ak ejkw0 t + e−jkw0 t + jBk ejkw0 t − e−jkw0 t
X
= c0 +
k=1
n
X
= c0 + 2 [Ak cos (kw0 t) − Bk sen (kw0 t)]
k=1

En suma:
1Z
f ∗ (t) = f (t)dt
T T
n ·
2 X Z ¸
+ cos (kw0 t) f (u)cos (kw0 u) du
T k=1 T
n ·
2 X Z ¸
+ sen (kw0 t) f (u)sen (kw0 u) du)
T k=1 T

Que es el tı́pico desarrollo en serie de senos y cosenos de la función f .

5.6.6 Aproximación discreta: mı́nimos cuadrados.


Hasta ahora hemos aproximado funciones definidas analı́ticamente mediante otras fun-
ciones analı́ticas más sencillas. Sin embargo, lo más habitual es que la función que se
pretende aproximar no se conozca de modo analı́tico, sino a través de una definición
puntual. Es muy común conocer datos de un determinado experimento. A este tipo de
problema nos dedicaremos en esta sección.
Vamos a abordar el método de aproximación por mı́nimos cuadrados que todos conocéis,
discutiéndolo como un caso particular de aproximación en un espacio prehilbertiano ade-
cuado. Se tienen (xi , yi )i=0,n , n + 1 pares de valores con abscisas distintas. Buscamos una
función f ∈ L (g1 , . . . , gm ), cuyos valores en (x0 , . . . , xn ) aproximen los valores (y0 , . . . , yn )
tan bien como sea posible. A esa familia de funciones (gj )j=0,n , sólo les vamos a exigir
que sean continuas. Para estudiar la bondad de la aproximación definimos la siguiente
medida del error. Buscamos f ∈ U = L (g1 , . . . , gm ), tal que:
n n
|yi − f (xi )|2 ≤ |yi − g (xi )|2
X X
∀g ∈ U
i=0 i=0

Como ya hemos comentado, para utilizar todo lo que sabemos de aproximación, debemos
formular nuestro problema en un espacio prehilbertiano adecuado. Ese espacio va a ser
IRn+1 , con el producto escalar habitual en los espacios vectoriales:
n
∀a, b ∈ IRn+1
X
ha, bi = ai · b i
i=0

Este producto escalar induce la norma euclı́dea también habitual.


v
q u n
∀a ∈ IRn+1
uX
k a k2 = ha, ai = t a2i
i=0

82
Vamos a jugar, por tanto, simultáneamente con funciones continuas, elementos de un
espacio vectorial de dimensión infinita, y con elementos de IRn+1 , de dimensión finita.
Estos elementos van a ser las imágenes de estas funciones en los n + 1 puntos del soporte.
Usaremos la siguiente notación:

gj ∈ C[a, b] j = 1, m
gj ∈ IRn+1 j = 1, m con
gj = (gj (x0 ) , . . . . . . , gj (xn ))

Por tanto, cualquier elemento de la envoltura lineal de estos vectores se escribe como:
m
X
g= α j gj
j=1

Ahora ya no nos interesa encontrar una función continua que pertenezca a U , envoltura
lineal de las funciones (gj )j=0,n , sino un vector fˆ ∈ T = L (g1 , . . . , gm ) , tal que:

k y − fˆ k2 ≤k y − g k2 ∀g ∈ T = L (g1 , . . . , gm ) con y = (y0 , . . . , yn )

Escribimos ese vector como:


 
m m m
fˆ ==
X X X
α̂j gj =  α̂j gj (x0 ) , . . . , α̂j gj (xn ) , 
j=1 j=1 j=1

Si el número de funciones, m, es mayor que la dimensión del espacio, n + 1, entonces los


vectores g1 , . . . , gm son linealmente dependientes, y la expresión de fˆ no es única. Sólo
tiene por tanto sentido estudiar el caso en que m ≤ n + 1.
En un problema de aproximación en un espacio prehilbertiano, la solución viene dada
por la proyección ortornormal del vector que queremos aproximar sobre el subespacio T
donde estamos buscando su mejor aproximación.

hy − fˆ , gi = 0 ∀g ∈ T = L (g1 , . . . , gm )

Escribiendo fˆ como combinación lineal de los vectores g1 , . . . , gm , y sabiendo que esa


comprobación es suficiente hacerla en una base de T , llegamos al sistema de ecuaciones
normales, que tiene solución si su determinante es distinto de cero. Para ello, los vectores
g1 , . . . , gm deben ser linealmente independientes en IRn+1 . Para que esto suceda, no
basta con que las funciones g1 , . . . , gm lo sean en C[a, b]. Hay otras condiciones que
garantizan esa independencia. Estas funciones deben formar lo que se llama un sistema
de Chebychev de funciones, pero el tratar con suficiente precisión este tema se escapa a
nuestros contenidos, ası́ que no nos liamos con esto. O sea, que la conclusión es que el
problema tiene solución única cuando ese determinante es distinto de cero. Un conjunto
de funciones donde estos problemas siempre tienen solución única son la base polinomial
formada por monomios, y es con ellos con los que vamos a montar el ejemplo.
Ejemplo 5.6.1

83
Se tienen (xi , yi )i=0,n , n+1 pares de valores con abscisas distintas. Buscamos una función
fˆ ∈ L (g1 , g2 ), cuyos valores en (x0 , . . . , xn ) aproximen los valores (y0 , . . . , yn ) tan bien
como sea posible. Esas dos funciones van a ser los monomios de grado 0 y 1: g1 (x) = 1
y g2 (x) = x. Por tanto:

g1 = (g1 (x0 ) , . . . . . . , g1 (xn )) = (1, . . . , 1))


g2 = (g2 (x0 ) , . . . . . . , g2 (xn )) = (x0 , . . . , xn ))

que son claramente linealmente independientes. El sistema de ecuaciones normales queda


como:
hy − fˆ , gj i = 0 con j = 1, 2
O lo que es lo mismo:
hfˆ , gj i = hy, gj i con j = 1, 2
Como
fˆ = αˆ1 · g1 + αˆ2 · g2
Desarrollando esta expresión para j = 1 y para j = 2 llegamos al sistema lineal de dos
ecuanciones con dos incógnitas.
n
X n
X
αˆ1 · (n + 1) + αˆ2 · xi = yi
i=0 i=0
n n n
x2i =
X X X
αˆ1 · xi + αˆ2 · yi · x i
i=0 i=0 i=0

que resueltas convenientemente nos dan los valores αˆ1 y αˆ2 buscados. La función fˆ es la
recta de mı́nimos cuadrados.
Ejercicio 5.6.1 Demostrar que el centro de gravedad de esta nube de puntos esta en la
recta fˆ = αˆ1 + αˆ2 x ası́ obtenida.

5.6.7 Desarrollo en serie de Fourier de señales periódicas defi-


nidas de modo discreto.
General
Vamos a estudiar el desarrollo en serie de Fourier de una función periódica definida de
modo discreto como un caso particular de aproximación por mı́nimos cuadrados. Para
entender esta parte, se supone que se ha seguido el razomiento general, no insistiéndose
sobre esos conceptos previos.
1
Imaginemos que tenemos una muestra discreta equiespaciada. Dicha muestra discreta
ym , se dice de periodo N si:
ym+N = ym

1
el subı́ndice m no coincide en general con la abscisa xm correspondiente al valor ym .

84
N=4

Figura 5.2: Muestra discreta periódica equiespaciada.


w0 =
N
Vamos a aproximar por mı́nimos cuadrados esta señal con funciones de la familia:
φk (t) = ejkw0 t = cos (kw0 t) + jsen (kw0 t)
con k ∈ Z. Su representación discreta es un vector con el siguiente aspecto:
φk = (· · · , φk (−N ), · · · , φk (m), · · · , φk (N ), · · ·)
Es fácil ver que esta señal discreta tiene como periodo N
φk (m + N ) = ejkw0 (m+N ) = ejkw0 m ejkw0 N = ejkw0 m ejk2π = ejkw0 m = φk (m)
Por tanto, basta con considerar este vector en un periodo, por ejemplo:
φk = (φk (m), · · · , φk (m + N − 1))
Por la misma razón resulta que sólo hay N vectores distintos:
φk+N = (φk+N (m), · · · , φk+N (m + N − 1))
³ ´
= ej(k+N )w0 (m) , · · · , ej(k+N )w0 (m+N −1)
³ ´
= ejkw0 (m) ejN w0 (m) , · · · , ejkw0 (m+N −1) ejN w0 (m+N −1)
³ ´
= ejkw0 (m) ej2π(m) , · · · , ejkw0 (m+N −1) ej2π(m+N −1)
³ ´
= ejkw0 (m) , · · · , ejkw0 (m+N −1)
= φk
Por tanto, el subespacio donde se buscará la mejor aproximación será la envolvente de
a lo sumo N de estas funciones consecutivas, que podemos indexar, por comodidad, del
mismo modo que lo hicimos con el desarrollo de Fourier continuo:
T = L (φk (t))k=0,±1,±2,···,±n
Caso interesante es el de interpolación, o sea, cuando el número de funciones coincide
con el de puntos que definen cada periodo discreto, o sea se aproxima con N funciones
φk . En ese caso las funciones se suelen indexar ası́:
n o
Si N es par, k varia en − N2 , · · · , 0, · · · , N2 − 1
n h i h io
N N
Si N es impar, k varia en − 2
, · · · , 0, · · · , 2
donde [ ] denota la parte entera de un
número.

85
Ortogonalidad del sistema
La matriz del sistema lineal, usando ∗ para representar el conjugado de un complejo,
tendrá como elementos:

alk = hφl , φk i = φl · φk

alk = (φl (m), · · · , φl (m + N − 1)) (φk (m)∗ , · · · , φk (m + N − 1)∗ )


³ ´³ ´
= ejlw0 (m) , · · · , ejlw0 (m+N −1) e−jkw0 (m) , · · · , e−jkw0 (m+N −1)
= ej(l−k)w0 (m) + · · · + ej(l−k)w0 (m+N −1)
X−1
m+N
= ej(l−k)w0 n
n=m
 Pm+N −1
 {l = k} n=m 1=N


=  ´n
Pm+N −1 ³

 {l 6= k} n=m ej(l−k)w0
Vamos con este último término:
X−1 ³
m+N ´n X−1 ³
m+N ´n
ej(l−k)w0 = ej(l−k)w0
n=m n=m
X−1
m+N
= rn
n=m
1 − rN m
= r
1−r
1 − ej(l−k)w0 N m
= r
1−r
1 − ej(l−k)2π m
= r
1−r
= 0 (5.2)
Por tanto: 
 N
 si {l = k}
alk = 
0 si {l 6= k}

Por tanto, los vectores son ortogonales, la matriz del sistema lineal es diagonal, y la
función solución f , X
f= ak φ k
k
n o
cuya forma vectorial f es la proyección ortogonal de y sobre L φk . Como el sistema es
ortogonal,
hy, φk i X−1
1 m+N
yn e−jk( N )n

ak = =
N N n=m
Ejercicio 5.6.2 Condición para que la mejor aproximación fˆ sea real.
Ejercicio 5.6.3 ¿Cómo es la mejor aproximación si los elementos del vector y son
reales?

86
5.7 Referencias recomendadas para este tema.
Un estudio exhaustivo de la aproximación de funciones periódicas definidas de modo
discreto la tenemos en el texto de Oppenheim et al. [11]. Sin embargo, este texto tiene
un nivel muy alto y puede ser suficiente con el [17]. Respecto al problema general, el
texto de Hammerlin et al.[7] hace un estudio muy bueno partiendo del problema en su
formulación más general.

87
Capı́tulo 6

Integración numérica

6.1 Introducción
El cálculo numérico de integrales definidas es uno de los problemas más antiguos en
matemáticas. Este problema, que en su formulación más antigua se traducı́a en encon-
trar el área de regiones limitadas por lı́neas curvas, ha sido tratado durante miles de años,
mucho antes de que se desarrollase el concepto de integral, dentro del marco del análisis
matemático allá en los siglos XVII y XVIII. Sin lugar a dudas, el ejemplo más conocido
de este problema fue el de calcular el área contenida en un cı́rculo, que rápidamente
se relacionó con el número π y su cálculo. Usando un método numérico basado en la
aproximación de un cı́rculo por polı́gonos inscritos y circunscritos, Arquı́medes (287-212
a.C.) fue capaz de dar las sorprendentes cotas 3 10 71
< π < 3 17 .
Muchas veces se usa cuadratura numérica en vez de integración numérica. Esta nomen-
clatura procede del problema que hemos explicado, de calcular el área del cı́rculo, que
puede ser visto como encontrar un cuadrado de igual superficie.
Vamos a describir ahora cuatro situaciones para las que es necesario aproximar integrales
definidas. La primera es el caso en el que no se puede evaluar analı́ticamente la primitiva
de una función. Ejemplos tı́picos de esta situación son evaluar la integral 0∞ exp(−x2 )dx,
R

o encontrar la longitud de una elipse. La segunda situación es que la función admita pri-
mitiva, pero ésta sea muy difı́cil de calcular. La tercera situación, la más común, consiste
en que se conozcan sólo ciertos puntos de la función. La última posibilidad consiste
en que, a veces, se necesitan métodos de cuadratura para el tratamiento numérico de
ecuaciones diferenciales o integrales. Muchos métodos para discretizar esas ecuaciones se
apoyan en métodos de integración numérica.
Insistiendo en la tercera posibilidad, si se proporcionan los valores de una función f en
ciertos puntos, digamos x0 , x1 , . . . , xn , ¿se puede usar esta
Rb
información para obtener una
0
estimación de cómo es su derivada f (c) o una integral a f (x)dx? La respuesta es un sı́
rotundo.
Si se parte exclusivamente de los valores f (x0 ), f (x1 ), . . . , f (xn ), es imposible decir
mucho acerca de f a menos que también sepamos que f forma parte de una familia re-
lativamente pequeña de funciones. Ası́, si se permite que f sea una más en la familia de
todas las funciones continuas de variable real, conocer los valores f (xi ) resulta casi irre-
levante. La figura 6.1 muestra varias funciones continuas que tienen los mismos valores
en cinco puntos.
Por otra parte, si sabemos que f es un polinomio de grado n, entonces los valores en

f1
f2
x0 x1 x2 x3 x4

Figura 6.1:

n+1 puntos determinan completamente a f según vimos en la teorı́a de interpolación. En


este caso
Rb
recuperamos f exactamente, y podemos entonces calcular con absoluta certeza
0
f (c) ó a f (x)dx. Sin embargo, en la mayor parte de las situaciones, la información que
se tiene disponible no determina completamente a f y cualquier estimación numérica
de su derivada o de su integral deberá tomarse con escepticismo, a menos que venga
acompañada de alguna cota para los errores cometidos.

6.2 Exposición del problema


Sea la integral I(f ) = ab f (x)dx. Deseamos encontrar un valor aproximado de esta inte-
R

gral mediante sumas finitas. Más precisamente, nosotros llamamos fórmula de cuadratura
de (n + 1) puntos a una expresión del tipo siguiente:
n
Ank f (xk )
X
In (f ) = (6.1)
k=0

donde Ank no depende para nada de la función f . O sea, 6.1 es una fórmula que permite
estimar esa integral I(f ) mediante una suma ponderada de imágenes de la función f en
una serie de puntos.

6.3 Fórmulas de cuadratura de tipo interpolación


Hemos visto ya que se puede aproximar una función f mediante un polinomio de in-
terpolación Pf . La idea va a ser reemplazar el cálculo de I(f ) por el cálculo de I(Pf ).
Las fórmulas de cuadratura que usan esta idea se llaman fórmulas de cuadratura de tipo

89
interpolación. Esto lo haremos por dos razones. La primera es que la integración de
polinomios es muy sencilla, y no se necesitan más que las cuatro operaciones elementales.
Además sucede frecuentemente que para las curvas experimentales no se conoce la fun-
ción f sino que se conocen ciertos puntos de la función: f (xk ), k = 0, . . . , n. Supongamos
por tanto, para empezar, que conocemos la función en esos puntos, y sólo en esos. 0 sea,
que las abscisas nos vienen impuestas, y no podemos elegirlas. El proceso consistirı́a en
integrar el polinomio de interpolación construido a partir del conocimiento del valor de
la función en una serie de puntos f (xk ), k = 0, . . . , n
n
ÃZ !
Z b Z b X b
I(f ) = f (x)dx ≈ Pf (x)dx = lk (x)dx f (xk )
a a k=0 a

con Qn
(x − xj )
lk (x) = Qnj=0,j6=k
j=0,j6=k (xk − xj )

Se tendrá por tanto una fórmula de cuadratura de tipo interpolación si dentro de la


fórmula n
Ank f (xk )
X
In (f ) =
k=0
se toma Z b
Ank = lk (x)dx
a

Se define el error1
Z b n
Ank f (xk )
X
R(f ) = I(f ) − In (f ) = f (x)dx −
a k=0

Z b Z b H(x) (n+1)
R(f ) = [f (x) − Pf (x)]dx = f (ξ)dx
a a (n + 1)!
H(x) = (x − x0 )(x − x1 ) · · · (x − xn )
a ≤ min(x, x0 ) < ξ < max(x, xn ) ≤ b

Definición 6.3.1 Una fórmula de cuadratura se dice exacta sobre un conjunto V si

∀f ∈ V, R(f ) = 0

Teorema 6.3.1 Una fórmula de cuadratura de (n + 1) puntos es exacta sobre el espacio


vectorial Pn de los polinomios de grado menor o igual que n, si y solamente si es del tipo
de interpolación de (n + 1) puntos.
1
Una justificación de esta estimación del error de la interpolación polinomial se encuentra en el
capı́tulo 4.

90
Demostración:
00
⇒00 n
Z b
Ank P (xk ) (∀P ∈ Pn )
X
P (x)dx =
a k=0

en particular, esto será valido para lj (x)


Z b n
Ank lj (xk ) = Anj
X
lj (x)dx =
a k=0

y por tanto, Z b
Anj = lj (x)dx
a
con lo cual, la fórmula de integración, es del tipo interpolación en (n + 1) puntos.
00
⇐00
Supongamos ahora que la fórmula es de interpolación en (n + 1) puntos. Lo que sucede
es que un polinomio de grado n es igual a su polinomio de interpolación de grado n, y
por tanto la fórmula es exacta para esos polinomios, que es de lo que se trata.
Definición 6.3.2 Se dice que una fórmula de cuadratura tiene grado de precisión n si
la fórmula es exacta para xk , k = 0, 1, . . . , n, pero no es exacta para xk+1 .

Aplicación del Teorema 6.3.1


Este teorema nos da otro medio para el cálculo de los coeficientes, el método de los
coeficientes indeterminados, que ilustramos en el ejemplo siguiente.
Ejemplo 6.3.1 Calcular los coeficientes que intervienen en la fórmula de cuadratura de
tipo interpolación siguiente:
Z 1
f (x)dx = A10 f (−1) + A11 f (1) + R(f )
−1

La fórmula de cuadratura es de tipo interpolación a dos puntos, siendo por tanto su grado
de precisión uno. Por tanto debe ser exacta para los polinoniios P0 (x) = 1 y P1 (x) = x.
Forcemos a que se cumplan estas condiciones:
Z 1
1 · dx = A10 + A11
−1
Z 1
x · dx = A10 · (−1) + A11 · 1
−1
De donde obtenemos el sistema lineal:
A10 + A11 = 2
−A10 + A11 = 0

cuya solución es A10 = A11 = 1.

91
6.4 Fórmulas de Newton-Cotes
Supongamos una subdivisión uniforme del intervalo [a, b]. Ponemos
(b − a)
h= (6.2)
n
Sea xj = a + j · h, con 0 ≤ j ≤ n, x0 = a y xn = b. Con estas hipótesis, se tiene:
Z b n
Bjn f (a + j · h)
X
f (x)dx ≈ (b − a) (6.3)
a j=0

con
1 Zb
= Bjn
lj (x)dx (6.4)
b−a a
Estas fórmulas se llaman las fórmulas cerradas de Newton Cotes, que son muy usadas
cuando la naturaleza del problema nos permite conocer los valores de la función sobre
un soporte equiespaciado, pues en ese caso, el valor aproximado de la integral se obtiene
muy rápidamente ya que esos coeficientes únicamente dependen del número de puntos que
utilizamos para integrar. Los coeficientes del sumatorio cumplen además la propiedad
Bjn = Bn−j
n
.

Calculemos por ejemplo B01 . Si hacemos el cambio de variable en la integral y = (x−a)


h
,
llegamos a:
n
n (−1)n−j Z n Y
Bj = (y − k)dy (6.5)
j!(n − j)!n 0 k=0,k6=j
por tanto, por ejemplo:
(−1)1 Z 1 1
B01 = B11 = ydy =
0!(1)!1 0 2
La fórmula de Newton-Cotes de grado 1 se llama la fórmula del trapecio
b 1 1
Z · ¸
f (x)dx ≈ (b − a) f (a) + f (b)
a 2 2
La fórmula de Newton-Cotes de grado 2 se llama la fórmula de Simpson
" Ã ! #
Z b 1 4 a+b 1
f (x)dx ≈ (b − a) f (a) + f + f (b)
a 6 6 2 6
En la tabla 6.1 tenemos los valores de Bjn hasta n igual a 6.

6.4.1 Evaluación del error en las fórmulas de Newton-Cotes


Fórmula del trapecio
Se quiere evaluar: Ã !
Z b b−a
R(f ) = f (x)dx − [f (a) + f (b)]
a 2

92
n B0n B1n B2n B3n
1 1/2
2 1/6 4/6
3 1/8 3/8
4 7/90 32/90 12/90
5 19/288 75/288 50/288
6 41/840 216/840 27/840 272/840

Tabla 6.1: Coeficientes de las fórmulas de Newton-Cotes


Z
(x − a)(x − b) 00
b
R(f ) = f (ξ)dx ξ = ξ(x) ∈ (a, b)
a 2
como (x − a)(x − b) no cambia de signo en [a, b], se puede usar una de las formulaciones
del teorema del valor medio del cálculo integral para escribir que:

f 00 (α) Z b
R(f ) = (x − a)(x − b)dx, α ∈ [a, b]
2 a

h3 00
R(f ) = −
f (α) α ∈ [a, b]
12
De aquı́ se deduce la siguiente cota al error de la aproximación:

h3
|R(f )| ≤ max |f 00 (x)|
12 x∈[a,b]

6.4.2 Fórmulas abiertas de Newton-Cotes


Las fórmulas de cuadratura se dicen abiertas cuando no se utilizan los extremos del
intervalo como abscisas de interpolación. Esto es necesario cuando la función es por
ejemplo singular en los extremos, o cuando se quiere extrapolar una integral fuera de los
puntos en los que tenemos definida la función a integrarl. La fórmula de Newton-Cotes
abierta de un punto es: Ã !
Z b
a+b
f (x)dx ≈ (b − a)f
a 2
à !
Z b b−a
f (x)dx ≈ [f (x1 ) + f (x2 )]
a 2
b−a
x1 = a + h; x2 = a + 2h = b − h; h=
3

6.5 Estabilidad
A un método de integración se le pide que sea poco sensible a los errores de cálculo en
los puntos que definen la función de un modo discreto. Por tanto, veamos cómo influye

93
un cálculo efectuado con valores perturbados:
n n n
Ank (fk + εk ) − Ank fk = Ank εk
X X X

k=0 k=0 k=0

Definición 6.5.1 Una fórmula de cuadratura de la forma


n
Ank f (xk )
X
In (f ) =
k=0

se dice estable si ∀(ε0 , ε1 , . . . , εn ) existe M independiente de n tal que:


¯ n ¯
¯X ¯
¯
¯ Ank εk ¯¯ ≤ M · max|εk | (6.6)
¯ ¯
k=0

El estudio de la estabilidad se facilita por el teorema siguiente:


Teorema 6.5.1 Una fórmula de cuadratura de la forma
n
Ank f (xk )
X
In (f ) =
k=0

es estable si y sólo si existe M independiente de n tal que


n
|Ank | ≤ M
X
(6.7)
k=0

Prueba:
00
⇐00 ¯ n ¯ n n
¯X ¯
n ¯ n
|Ank | · max|εk | ≤ M · max|εk |
X X
Ak εk ¯¯ ≤ |Ak εk | ≤
¯
¯
¯
k=0 k=0 k=0
00 00

Supongamos que no existiese esa constante M independiente de n verificando la condición
(6.7). En ese caso tendrı́amos que
n
|Ank | = +∞
X
lim
n→∞
k=0

An
y eligiendo εk = k
|An |
con Ank 6= 0, entonces
k

n n n 2¯ n
¯ ¯ ¯ ¯
¯X
n
¯ ¯X (A k )
|Ank |
X
¯
A k ε k¯ = ¯
¯ ¯
n ¯
¯
=
|A |
¯ ¯
¯ ¯ ¯
k=0 k=0 k k=0

y, por tanto, pasando ¯ n ¯


¯X ¯
n ¯
lim
n→∞ ¯
¯
¯ A ε
k ¯¯ = +∞
k
k=0
con lo que la fórmula no serı́a estable.
Teorema 6.5.2 Las fórmulas de Newton-Cotes son inestables.

94
6.6 Convergencia
Es otro criterio que permite calibrar la bondad de una aproximación a una determinada
integral. Las fórmulas de integración se expresan en función del número de puntos n.
Parece razonable pensar que si se aumenta n se obtendrá un resultado más preciso, y que
en consecuencia, en el lı́mite se obtendrá el valor exacto.
Pn
Definición 6.6.1 Se dice que una aproximación Ln (f ) = k=0 Ank f (xk ) converge sobre
un conjunto V , si cualquiera que sea f ∈ V , se tiene:
n
" # Z b
Ank f (xk )
X
lim
n→∞
= f (x)dx
k=0 a

Teorema 6.6.1 Una condición necesaria y suficiente para que los métodos de cuadratura
de tipo interpolación sean convergentes en C[a, b] es que las fórmulas sean estables.

6.7 Métodos compuestos


6.7.1 General
La idea consiste en aplicar a subintervalos de (a, b) una fórmula de Newton-Cotes de
grado q con q fijo y pequeño. Es equivalente a interpolar la función con un polinomio a
trozos e integrar dicho polinomio.

6.7.2 Método compuesto de los trapecios


En el método compuesto de los trapecios, el número de puntos que se utiliza en cada
subintervalo es de 2, y por tanto el grado del polinomio de aproximación q es 1. Es
equivalente a interpolar con un polinomio a trozos de grado 1 y clase 0 e integrar éste.
Z b n−1
X Z a+(k+1)h
f (x)dx = f (x)dx
a k=0 a+k·h
n−1
X · 1 1
¸
≈ h f (a + k · h) + f (a + (k + 1) · h)
k=0 2 2
1 1
· ¸
= h f (a) + f (a + h) + f (a + 2h) + · · · + f (b)
2 2

6.7.3 Método compuesto de Simpson


En el método compuesto de Simpson, el número de puntos que se utiliza en cada subin-
tervalo es de 3, y por tanto el grado del polinomio de aproximación q es 2. Se elige un
soporte con un número impar de puntos:

(a, a + 2h), (a + 2h, a + 4h), . . . , (a + (n − 2)h, b)

95
En cada intervalo se aplica la forma de Newton-Cotes de Simpson.
a+h 1 4 1
Z · ¸
f (x)dx ≈ 2h f (a) + f (a + h) + f (a + 2h)
a 6 6 6
a+4h 1 4 1
Z · ¸
f (x)dx ≈ 2h
f (a + 2h) + f (a + 3h) + f (a + 4h)
a+2h 6 6 6
·········
Z b
1 4 1
· ¸
f (x)dx ≈ 2h f (a + (n − 2)h) + f (a + (n − 1)h) + f (b)
a+(n−2)h 6 6 6
Sumando todos estos términos, se obtiene que:
Z b h
f (x)dx ≈ {f (a) + f (b)
a 3
+ 2[f (a + 2h) + f (a + 4h) + · · · + f (a + (n − 2)h)]
+ +4[f (a + h) + f (a + 3h) + · · · + f (a + (n − 1)h)]}

6.7.4 Mayoración del error en los métodos compuestos


Método compuesto de los trapecios
Se ha visto ya que en el caso del método de los trapecios:
¯Z ¯
h3
à !
¯ b b−a ¯
|R(f )| = ¯¯ f (x)dx −
¯
[f (a) + f (b)]¯¯¯ ≤ max |f 00 (x)|
a 2 12 x∈[a,b]

Por tanto, en el caso de los métodos compuestos:


¯Z ¸¯¯
¯ b 1 1
·
¯
f (x)dx − h f (a) + f (a + h) + · · · + f (b) ¯¯¯ ≤
2 2
¯
¯ a
h3
" #
max |f 00 (x)| + · · · + max |f 00 (x)| ≤
12 x∈[a,a+h] x∈[a+(n−1)h,b]

h3 00 (b − a)3 b−a
n max |f (x)| = 2
max |f 00 (x)| = max |f 00 (x)|h2
12 x∈[a,b] 12n x∈[a,b] 12 x∈[a,b]

6.7.5 Selección del paso de integración


En las fórmulas de tipo compuesto se desea elegir el paso h para que el error |R(f )| =
|I − In (h)| sea inferior a una cota dada ², sin necesidad de entrar en consideraciones
sobre las derivadas de la función original f pues éstas son desconocidas y normalmente,
difı́ciles de acotar. El proceso para elegirlo será el siguiente:

1. Se integra con un paso h0 , y se obtiene Ih0 .

2. Se integra con un paso 2h0 , y se obtiene I2h0 .

96
3. Suponiendo que el error está en función de hp -p = 2 para el método compuesto de
los trapecios, por ejemplo- se tendrá que:

Ih0 − I ≈ M · hp0

Ih0 − I2h0 = Ih0 − I + I − I2h0 ≈ M · hp0 − M · (2h0 )p


Ih0 − I2h0
M · hp0 ≈ ,
1 − 2p
y tenemos el sistema:

Ih0 − I2h0
M · hp0 ≈
1 − 2p

M · hp ≈ ² (6.8)

y por tanto:

#1
²(1 − 2p )
"
p
h ≈ h0
Ih0 − I2h0

6.7.6 Estabilidad de los métodos compuestos


Para valores de q suficientemente pequeños, y cuando aproximamos integrales de fun-
ciones suficientemente regulares, los métodos compuestos son estables y convergentes.

6.8 Fórmulas de Gauss


6.8.1 Introducción
En cierto tipo de experimentos podemos fijar el valor de las abscisas de la función que
pretendemos conocer. En estos casos, Gauss nos proporciona un criterio para elegir estas
abscisas que aumenta notablemente el grado de precisión de las fórmulas de integración
de tipo interpolación. La idea consiste en aproximar I(f ) por:
n
Ank f (xnk )
X
In (f ) =
k=0

y considerar Ank y xnk como desconocidos. Veamos cómo lo conseguimos.

97
6.8.2 Método de Gauss
Como se puede observar en la fórmula anterior, el número de parámetros libres es 2n + 2.
Trataremos por tanto, de que nuestra fórmula sea exacta en P2n+1 espacio vectorial de
polinomios de coeficientes reales de grado menor o igual que 2n+1. Exigiremos por tanto
que:
Z b n
Ank p(xnk ) (∀p ∈ P2n+1 )
X
p(x)dx =
a k=0
∗ ∗
Sea p ∈ Pn tal que p (xnk ) n
= p(xk ), k = 0, . . . , n, o sea el polinomio de grado n de
interpolación de la nube de puntos (xnk , p(xnk )), k = 0, . . . , n. Como p también interpola
esa misma nube de puntos, lo podremos escribir de la siguiente forma:
p(x) = p∗ (x) + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)
con q ∈ Pn . Si ahora escribimos p∗ en la base de Lagrange tendremos que:
n

p(xnk )lk (x)
X
p (x) =
k=0

y por tanto:
Z b Z b
p(x)dx = [p∗ (x) + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)]dx
a a
n
"Z #
b
lk (x)dx p(xnk )
X
=
k=0 a
Z b
+ (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx
a
n
Ank p(xnk )
X
=
k=0

Si elegimos como polinomio p uno tal que p(xnk ) = 0, k = 0, . . . , n, entonces su polinomio


de interpolación de grado n en esos nodos será nulo.
p∗ = 0
y por tanto,
p(x) = (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)
Entonces, por un lado:
Z b n n
Ank p(xnk ) = Ank · 0 = 0
X X
p(x)dx =
a k=0 k=0

y por otro
Z b Z b
p(x)dx = [p∗ (x) + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)]dx
a a
Z b
= [0 + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)]dx
a
Z b
= (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx
a

98
que debe ser 0. En suma
Z b
(x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx = 0
a

Como para cualquier q, el polinomio p vale 0 en los nodos, esta igualdad tiene que darse
independientemente del polinomio q, o sea:
Z b
(x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx = 0 (∀q ∈ Pn )
a

0 sea, que si hacemos [a, b] = [−1, 1], estamos buscando una serie de nodos (xnk ), k =
0, . . . , n tales que elR polinomio (x−xn0 )(x−xn1 ) · · · (x−xnn ) sea ortogonal, según el producto
1
escalar < p, q >= −1 p(x)q(x)dx, a todos los polinomios q de Pn . 0 sea, estamos buscando
el polinomio de Legendre2 de grado n + 1.
Por tanto, para que (x − xn0 )(x − xn1 ) · · · (x − xnn ) sea igual a L̂n+1 (x), debemos escoger los
valores (xnk ), k = 0, . . . , n, abscisas de los nodos, como los ceros de L̂n+1 (x), polinomio de
Legendre de grado n + 1. Una vez que ya sabemos cuáles deben ser los nodos, debemos
preguntarnos el valor de la familia de coeficientes (Ank ), k = 0, . . . , n. Para ello, elegimos
ahora como polinomio p uno tal que p(xnk ) = δkn , k = 0, . . . , n, y tendremos que:
Z 1
Ank = lk (x)dx, (∀k = 0, . . . , n)
−1

Si el intervalo no es [−1, 1] se hace el tı́pico cambio de variable:

2(x − a)
t= −1
b−a
que transforma [a, b] en [−1, 1].

6.9 Integración multidimensional


Las técnicas de integración numérica más sencillas para integrales dobles o triples se
basan en la sustitución de la función a integrar por su polinomio en varias variables4.6.
Si el recinto es rectangular, la aplicación es directa. Si no es ası́, hay que estudiar de
modo independiente cada caso.

6.10 Resumen
1. Que aproximar la integral de una función se puede hacer a partir de un número de
puntos dados, sustituyendo la función a integrar por una aproximación pofinómica
a la misma.
2
En realidad, el polinomio de Legendre es cualquiera de estos, pero normalizado, por definición. Ello
es debido a que los polinomios de Legendre no son sólo una familia de polinomios ortogonales, sino que
además tienen modulo uno. Hemos estudiado estos polinomios como una familia ortogonal en 5.6.4

99
2. Que una fórmula de aproximación es buena si atenúa los efectos de las perturba-
ciones en los puntos que definen la función (estabilidad).

3. Que una fórmula de aproximación es buena si cuando se aumentan el número de


puntos que se utilizan para definir la función, el valor de la aproximación se acerca
al valor real de la integral, coincidiendo en el lı́mite (convergencia).

4. Que acotar el error tiene mucho que ver con el número de puntos que se utilizan
para definir la integral y con los máximos de determinadas derivadas.

6.11 Referencias recomendadas para este tema.


Para Integración Numérica la referencia recomendada son otra vez el libro de Hämerlin
y Hoffman [7] y el de Theodor [16].

100
Capı́tulo 7

Derivación numérica

7.1 Introducción
El cálculo numérico de integrales definidas es un problema muy antiguo. La estimación
numérica de derivadas es un problema muy nuevo, y muy necesario para la resolución
numérica de ecuaciones diferenciales, que se han convertido en las herramientas princi-
pales para la descripción de todo tipo de sistemas.
El comportamiento del error en los métodos de integración era bastante bueno. Bajar un
poco el paso significaba bajar mucho el error. Además, las fórmulas más comunes (los
métodos compuestos) son bastantes estables, y errores en los datos, o en los redondeos, no
se amplifican en el cálculo de las integrales. Sin embargo, las derivadas son mucho menos
nobles cuando se las trata numéricamente, y puede suceder, como luego estudiaremos,
que pequeñas variaciones en alguno de los elementos motiven grandes variaciones en el
resultado.

7.2 Exposición del problema


Sea f una función real de variable real de clase C 1 . Se quiere calcular una aproximación
al número f 0 (x).

f (x + h) − f (x) f (x) − f (x − h)
f 0 (x) = lim = lim
h→0 h h→0 h
Se obtiene, por ejemplo, una aproximación a este valor, tomando, con h pequeño

f (x + h) − f (x)
f 0 (x) ≈
h
Esta aproximación hace intervenir los valores de la función en los puntos x y x + h. Igual
que hacı́amos al integrar, podrı́amos pensar en sustituir la función f por su polinomio
de interpolación Pf , y aproximar la derivada de f por la derivada de Pf . De hecho, el
problema de estimar la derivada surge porque a menudo f no la conocemos de modo
analı́tico, sino por puntos. Por tanto, si sabemos el valor de la función f en una nube

101
de puntos x0 , x1 , · · · , xn , Pf0 (x), derivada del polinomio de grado n que interpola a f en
esos puntos, nos dará una aproximación a f 0 (x), cuyo error trataremos de acotar. Estas
serán las técnicas de derivación que explicaremos.

7.3 Derivación numérica por interpolación polinómi-


ca.
Hemos visto ya que se puede obtener una aproximación de una función f en un intervalo
calculando su polinomio de interpolación Pf . En el caso de la derivada, vamos a aproximar
f 0 por Pf0 . El concepto es local, o sea, se sustituye f por Pf en el entorno del punto
en el cual queremos conocer la derivada. Las fórmulas de derivación que usan esta
idea se llaman fórmulas de derivación de tipo interpolación polinomial. Veamos las más
importantes.

7.3.1 Fórmula de dos puntos.


Tenemos una función f que es C 1 en un entorno cerrado E(x0 ) de x0 . Sea E(x0 ) = [a, b]
y sea x0 el punto en el que queremos estimar la derivada de f . Sea x1 tal que [x0 , x1 ] ⊂
E(x0 ). Construyamos el polinomio de interpolación de f asociado a los puntos x0 y x1 ,
ver figura 7.1.
x − x1 x − x0
P1 (x) = f (x0 ) + f (x1 )
x0 − x 1 x1 − x 0
Derivando este polinomio y particularizando esa derivada en x0 obtendremos la aproxi-
mación a la derivada buscada.
f (x1 ) − f (x0 )
P10 (x0 ) =
x1 − x 0
Si llamamos h = x1 − x0 , tendremos por tanto:

f (x0 + h) − f (x0 )
f 0 (x0 ) ≈
h
Existe igualmente una versión simétrica de esta fórmula tomando el segundo punto a la
izquierda de x0 -mirando hacia atrás.

f (x0 ) − f (x0 − h)
f 0 (x0 ) ≈
h

7.3.2 Error en la fórmula de dos puntos


Para calcular el error, usamos el error de la interpolación, derivándolo:

H(x) (n+1)
f (x) − P (x) = f (ξ(x))
(n + 1)!

102
derivada
real = tg.

P1(x)
f (x)

h
x0 x1

Figura 7.1: Fórmula de dos puntos.

H(x) = (x − x0 )(x − x1 ) · · · (x − xn )
a ≤ min(x, x0 ) < ξ < max(x, xn ) ≤ b
Particularizando a nuestro caso, con un polinomio definido por dos puntos(n = 1):

(x − x0 )(x − x1 ) 00
f (x) − P1 (x) = f (ξ(x))
2
y derivando esta fórmula:
1 1 1
f 0 (x) − P10 (x) = (x − x0 )(x − x1 )f 000 (ξ(x))ξ 0 (x) + (x − x1 )f 00 (ξ(x)) + (x − x0 )f 00 (ξ(x))
2 2 2
Hay problemas para estimar el error en puntos distintos de x0 o de x1 , pues no conoce-
mos el valor de ξ 0 (x). Sin embargo, podemos estimar fácilmente el error en x0 y en x1
sustituyendo en la expresión anterior.

(x0 − x1 )f 00 (ξ(x)) f 00 (ξ(x))


f 0 (x0 ) − P10 (x0 ) = =− h = O(h)
2 2
Vemos que el error es una potencia de h de orden 1. El error tiende a 0 con h. La
aproximación es por tanto bastante mala. Por ejemplo, si echamos la vista atrás, en la
fórmula del trapecio, que es la equivalente para la integración, el error era una potencia
cúbica de h. El error en la interpolación es de orden h2 . Por tanto, la integral disminuye
el error de la interpolación polinomial, subiendo el orden, y la derivada lo amplifica,
bajando el orden.

103
f (x) P2(x)

h h
x-1 x0 x1

Figura 7.2: Interpolación con parábola.

7.3.3 Fórmula de tres puntos


Para conseguir un valor mejor para la derivada, podemos interpolar f con una parábola,
ver figura 7.2.
P2 (x) = f (x−1 )l−1 (x) + f (x0 )l0 l(x) + f (x1 )l1 l(x)

(x − x0 )(x − x1 ) (x − x−1 )(x − x1 )


P2 (x) = f (x−1 ) + f (x0 )
(x−1 − x0 )(x−1 − x1 ) (x0 − x−1 )(x0 − x1 )
(x − x−1 )(x − x0 )
+f (x1 )
(x1 − x−1 )(x1 − x0 )

Si derivamos:
(x − x0 ) + (x − x1 ) (x − x−1 ) + (x − x1 )
P20 (x) = f (x−1 ) 2
+ f (x0 )
2h −h2
(x − x−1 ) + (x − x0 )
+f (x1 ) (7.1)
2h2
Si particularizamos en x0 :

f (x0 + h) − f (x0 − h)
f 0 (x0 ) ≈ P20 (x0 ) =
2h
Esta fórmula se llama de tres puntos centrada, figura 7.3, pues se construye la parábola
con tres puntos, y se evalúa la derivada en el central. Es curioso pensar, que precisa-
mente, en el cálculo de la derivada no influye el valor en el propio punto en el que se
realiza la estimación.
Por otro lado, del mismo modo que hay fórmulas centradas, también hay fórmulas mi-
rando hacia adelante, y hacia atrás. Si evaluámos la derivada en x−1 = x0 − h, tendremos

104
derivada
real = tg.

aprox. a la
tangente.
f (x)
P2(x)

h h
x-1 x0 x1

Figura 7.3: Fórmula de tres puntos.

una fórmula mirando hacia adelante, y si lo hacemos en x1 = x0 + h, mirando hacia atrás:

−3f (x0 − h) + 4f (x0 ) − f (x0 + h)


f 0 (x0 − h) ≈ P20 (x0 − h) =
2h
f (x0 − h) − 4f (x0 ) + 3f (x0 + h)
f 0 (x0 + h) ≈ P20 (x0 + h) =
2h

7.3.4 Error en la fórmula de tres puntos.


Para calcular el error, usamos otra vez el error de la interpolación.
(x − x−1 )(x − x0 )(x − x1 ) 000
f (x) − P2 (x) = f (ξ(x))
3!
Derivándolo, y particularizándolo para x0 :
f 000 (ξ(x)) 2
f 0 (x0 ) − P20 (x0 ) = − h = O(h2 )
6
Por tanto, el error es una potencia de h de orden 2, lo que quiere decir que hemos
mejorado notablemente la aproximación frente a la fórmula de dos puntos.

7.3.5 Fórmula de cuatro puntos.


Se obtiene cuando se interpola f por un polinomio cúbico que pasa por (x0 − h, f (x0 − h)),
(x0 , f (x0 )), (x0 + h, f (x0 + h)) y (x0 + 2h, f (x0 + 2h))
−f (x0 + 2h) + 6f (x0 + h) − 3f (x0 ) − 2f (x0 − h)
f 0 (x0 ) ≈ P30 (x0 ) =
6h
De igual modo, o combinando estas fórmulas se obtienen otras fórmulas, cada una con
su término de error.

105
7.3.6 Fórmula de tres puntos para estimar la derivada segunda.
Podemos usar la interpolación parabólica de tres puntos para estimar la derivada segunda,
que se usa a menudo en ecuaciones diferenciales, como la de Laplace. Ası́, si volvemos a
derivar, la expresión 7.1, tendremos.
f (x0 + h) − 2f (x0 ) + f (x0 − h)
f 00 (x0 ) ≈ P200 (x0 ) =
h2
En este caso hay problemas para acotar el término del error en x0 . Ello es debido a que
hay términos en los que aparecen las derivadas de la función ξ(x) que ya no se anulan.

7.4 Estabilidad
Contrariamente a la integración, y como ya hemos comentado, la diferenciación numérica
es muy sensible a los errores de redondeo y de los datos originales. Para ilustrar esta
idea, usemos la aproximación de dos puntos a la derivada:
f (x0 + h) − f (x0 ) f1 − f 0
f 0 (x0 ) ≈ =
h h
con f1 = f (x0 + h) y f0 = f (x0 ). Supongamos que f0 y f1 son los valores de trabajo de
f0 y f1 , afectados de unos errores que podemos acotar como:
¯ ¯ ¯ ¯
¯f0 − f0 ¯ ≤ δ, ¯f 1 − f 1 ¯ ≤ δ
¯ ¯ ¯ ¯

entonces, el cálculo que realmente hacemos es usando los valores perturbados:

error
error total

error
truncaje.

error por
los datos

paso
optimo
h

Figura 7.4: Selección del paso óptimo.

f1 − f 0
f 0 (x0 ) ≈
h

106
Con lo cual, el error, y sus acotaciones quedan:
¯ ¯ ¯ ¯ ¯ ¯
¯
¯ 0 f1 − f0 ¯¯ ¯
¯ 0 f1 − f0 ¯¯ ¯¯ f1 − f0 f1 − f0 ¯¯
¯f (x0 ) − ≤ ¯f (x0 ) − ¯+¯ −
h ¯ h ¯ ¯ h h ¯
¯ ¯
¯ ¯
¯ ¯ ¯ ¯
00
k f k∞
¯
¯f 0 − f 0 +
¯ ¯
¯ ¯f 1 − f ¯
1¯ k f 00 k∞ 2δ
≤ h+ ≤ h+
2 h 2 h
Por tanto:
¯ ¯
¯
¯ 0 f1 − f0 ¯¯ k f 00 k∞ 2δ
¯f (x0 ) − ≤ h+
h ¯ 2 h
¯
¯

con
k f 00 k∞ = max |f 00 (x0 )|
x∈[x0 ,x0 +h]

Para valores grandes de h, el término en h domina -error del método-. Si h es pequeño, el


error que puedan arrastrar los datos, que corresponde al término 1/h es el más importante.
Hay que escoger el paso de tal modo que el error total sea mı́nimo, ver figura 7.4.
Veamos esto con un ejemplo. Seqtrata de encontrar el valor de la derivada de la función
f (x) = arctan(x) en el punto (2), ver tabla 7.1. El valor real sabemos que es 1/3.
Usamos el operador de dos puntos. Vamos bajando el paso, y buscamos el punto en el
que el error total es mı́nimo. Usaremos valores de la función para estimar la precisión
derivada con una precisión de cuatro decimales sin redondeo. Por tanto, el error en los
datos δ es del orden de 10−4 . Vamos bajando el paso, y hasta h = 0.04, el error total
disminuye, pero si seguimos bajando, es más importante el error por los datos, y por
tanto, el error empieza a aumentar. Por tanto, el paso óptimo es de ese orden. Se deja
como ejercicio, el minimizar analı́ticamente ese error para calcular el paso óptimo.
En la figura 7.5 dibujamos los diferentes términos y los comparamos con el error real.
Dado que para pasos altos, el error del método y el error total se confunden, centramos
el gráfico en pasos pequeños en la figura 7.6. Para pasos pequeños pasa lo contrario. El
error que manda es el correspondiente a los datos.

7.5 Derivadas parciales


Consideremos, por ejemplo el problema de construir una aproximación discreta al lapla-
ciano bidimensional de una función Φ en un punto cualquiera (x0 , y0 ).

∂2Φ ∂2Φ
∆Φ (x0 , y0 ) = (x ,
0 0y ) + (x0 , y0 )
∂x2 ∂y 2
utilizando una discretización de cinco puntos, es decir, una discretización como la de la
figura 7.7, en la cual el espaciado en la dirección x es el mismo que el espaciado en la
dirección y.
Para hacer la discretización tenemos que pensar en el significado geométrico de la derivada

107
Figura 7.5: Términos de error para estimar arctan0 (2).

parcial. La derivada parcial de una función respecto a la variable x da una idea de lo


que varı́a esa función cuando las otras variables permanecen constantes. Es como si fuese
una función de una sola variable, x, y las derivadas hay que pensarlas como las derivadas
de una función de una sola variable. La estimación queda entonces:

∂2Φ Φ (x0 + h, y0 ) − 2Φ (x0 , y0 ) + Φ (x0 − h, y0 )


2
(x0 , y0 ) = + O(h2 )
∂x h2
∂2Φ Φ (x0 , y0 + h) − 2Φ (x0 , y0 ) + Φ (x0 , y0 − h)
2
(x0 , y0 ) = 2
+ O(h2 )
∂y h
Y por tanto, sumando ambas expresiones tendremos que:
Φ (x0 + h, y0 ) + Φ (x0 − h, y0 ) + Φ (x0 , y0 + h) + Φ (x0 , y0 − h) − 4Φ (x0 , y0 )
∆Φ (x0 , y0 ) ≈
h2

7.6 Resumen
1. Aproximar la derivada de una función en un punto se puede hacer a partir de un
número de puntos dados, susituyendo la función a integrar por una aproximación
polinómica a la misma.

2. Las fórmulas de derivación ası́ obtenidas tienen una estabilidad comprometida.

3. De igual modo que se construyen operadores para estimar las derivadas a partir del
polinomio de interpolación, también a partir de estas fórmulas se pueden construir
operadores que nos sirvan para estimar derivadas parciales de funciones de varias
variables.

108
0.25

error
2delta/h
0.2
max f'' h/2
0.15 cotatotal
error
0.1

0.05 h

0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045

-0.05

Figura 7.6: Términos de error para estimar arctan0 (2).

7.7 Referencias recomendadas para este tema.


[16], [17].

109
h f1 f0 (f1 − f0 )/h 2δ/h max f 00 (ξ)h/2 cotatotal error
0.04 0.9684 0.9553 0.3275 0.005 0.006285394 0.01128 0.0058
0.03 0.9651 0.9553 0.3267 0.00666 0.004714045 0.01138 0.0067
0.02 0.9619 0.9553 0.3300 0.01 0.003142697 0.01314 0.0033
0.01 0.9586 0.9553 0.3300 0.02 0.001571348 0.02157 0.0033
0.009 0.9583 0.9553 0.3333 0.02222 0.001414214 0.02363 0.0000
0.008 0.9579 0.9553 0.3250 0.025 0.001257079 0.02625 0.0083
0.007 0.9576 0.9553 0.3286 0.02857 0.001099944 0.02967 0.0048
0.006 0.9573 0.9553 0.3333 0.03333 0.000942809 0.03427 0.0000
0.005 0.9569 0.9553 0.3200 0.04 0.000785674 0.04078 0.0133
0.004 0.9566 0.9553 0.3250 0.05 0.000628539 0.05062 0.0083
0.003 0.9563 0.9553 0.3333 0.06666 0.000471405 0.06713 0.0000
0.002 0.9559 0.9553 0.3000 0.1 0.00031427 0.10031 0.0333
0.001 0.9556 0.9553 0.3000 0.2 0.000157135 0.20015 0.0333

Tabla 7.1: Error cálculo derivada de arctan(x) en x = 2 con op. de 2 ptos.

(x0 ,y0 +h)

(x0-h, y0) (x0+h, y0)

(x0 ,y0 - h)
Figura 7.7: Discretización de cinco puntos.

110
Capı́tulo 8

Ecuaciones diferenciales ordinarias.

8.1 Introducción
Muchos modelos fı́sicos, ingenieriles, económicos, y de cualquier otra ciencia cuantitativa
caen dentro de la categorı́a de las ecuaciones diferenciales. En ellos, la evolución del
comportamiento de ciertas variables satisface ecuaciones que dependen no sólo de las
variables en si, sino de sus derivadas. Por ejemplo, la ley que gobierna la velocidad de
una masa deslizante sujeta solamente a los efectos friccionales. En este caso la segunda
ley de Newton se escribe como:
d
m v(t) = −µv(t) (8.1)
dt
En esta parte de la asignatura, vamos a aprender métodos numéricos para resolver ecua-
ciones diferenciales ordinarias (edo’s). Estudiaremos dos problemas centrales en la teorı́a
computacional de las ecuaciones diferenciales ordinarias: problemas de valores iniciales
y problemas de contorno.

1. Problemas de valor inicial.


La información sobre la solución se da en el instante(punto) inicial. Esta informa-
ción permite fijar los parámetros que quedan libres en la solución. El problema
de amortiguamiento que antes vimos es de este tipo, pues dar la velocidad ini-
cial v(0) = v0 es suficiente para determinar completamente la solución. Hay que
aclarar que esto es ası́ si sólo queremos conocer la velocidad como función del tiem-
po. Si quisiésemos conocer los desplazamientos habrı́a que dar una condición inicial
también para los desplazamientos.

2. Problemas de contorno.
Se da información de la solución en varios momentos temporales. Por ejemplo en
el caso anterior podrı́a ser: k v(0) k + k v(1) k= 1. Son generalmente problemas
más difı́ciles de resolver. Nosotros nos centraremos en el primer tipo de problemas,
que empezamos ahora a tratar, aunque también veremos el segundo como caso
particular de cierta clase de problemas en derivadas parciales.
Dentro de los problemas de valor inicial, las ecuaciones diferenciales pueden ser clasifi-
cadas como:

1. Ecuaciones de primer orden


Sea

f : [a, b] × IR → IR
x, y → f (x, y)

Se busca una función y definida en [a, b]

y : [a, b] → IR
x → y(x)

que verifique :

• y 0 (x) = f (x, y(x))


• y (x0 ) = y0

La segunda condición se llama condición inicial.

2. Sistemas de primer orden.


Sea

f : [a, b] × IRn → IRn


x, y → f (x, y)

O sea

f : [a, b] × IRn → IRn


y1 f1 (x, y1 , · · · , yn )
   
 y   f (x, y , · · · , y ) 
2   2 1 n
x,   → 

 ···  ···
 
 
yn fn (x, y1 , · · · , yn )

Se busca, una función y definida en [a, b]

y : [a, b] → IRn
x → y(x)

que verifique :

• y 0 (x) = f (x, y(x))


• y (x0 ) = y0 con y0 ∈ IRn .

112
3. Ecuaciones diferenciales de orden superior a uno.
Son ecuaciones diferenciales en las que intervienen derivadas segundas, terceras....
Se reducen a un sistema de ecuaciones de primer orden con tratamientos semejantes
al siguiente. Se tiene la ecuación de la forma:
00 0

 y = h(x, y, y )

y(x0 ) = y0
y 0 (x0 ) = y00

Se realiza el cambio de variables:


(
u1 = y
u2 = y 0

El problema se convierte en un sistema de primer orden, con:


 0

 u1 = u 2
 0

u2 = h(x, u1 , u2 )

 u1 (x0 ) = y0
u2 (x0 ) = y00

En cuanto a los problemas de contorno, estos son, como ya hemos contado, diferentes
a los de valor inicial o Cauchy. Se conocen no los valores iniciales, sino que las condiciones
de contorno se refieren al valor de la función en determinados sitios o instantes. El ejemplo
del apartado anterior podrı́a ser, en este caso:
00 0

 y = h(x, y, y )

y(x0 ) = y0
y(x1 ) = y1

En los problemas de valor inicial, para resolverlos numéricamente, se simula la evolución


del proceso mediante las ecuaciones diferenciales. En los problemas de contorno no tienen
sentido este tipo de planteamientos. De ahora en adelante, nos centraremos únicamente
en problemas de valor inicial y dejaremos los problemas de contorno para el capı́tulo
siguiente estudiándolos como casos particulares de Ecuaciones en Derivadas Parciales.

8.2 Ideas básicas para la resolución numérica de pro-


blemas de valor inicial
Se desea tener una aproximación de la función y. Se eligen una serie de puntos xi ∈ [a, b],
que es en realidad donde vamos a estimar los valores de la función. Una clasificación muy
importante de los métodos utilizados para estimar esos valores se basa en qué información
se usa para hacer las sucesivas estimaciones. Como se parte de un valor o valores iniciales,
el planteamiento consiste en ir avanzando hacia adelante a partir de esos valores, y en
general, a partir de los valores anteriores. Tendremos ası́

113
1. Métodos de un paso.
El cálculo de yi+1 hace intervenir sólamente los valores del paso anterior, xi , yi , y
del incremento h, que como siempre es la diferencia entre dos abscisas consecutivas.
La abscisa, variable independiente es normalmente el tiempo en los problemas de
valor inicial, aunque podrı́a ser también el espacio, en un problema de evolución en
el espacio y estacionario en el tiempo.

yi+1 = F (xi , yi , h) (8.2)

2. Métodos de varios pasos. El cálculo de yi+1 hace intervenir muchos valores previos,

yi+1 = F (xi , xi−1 , · · · , xi−k , yi , yi−1 , · · · , yi−k , h) (8.3)

También hay métodos llamados implı́citos que involucran valores de la función todavı́a
desconocidos. Estos conducen a resolver problemas no lineales en cada paso, como más
adelante veremos.

8.3 Métodos discretos de un paso para edos.


8.3.1 Principios de los métodos de un paso.
Sea

f : [a, b] × IR → IR
x, y → f (x, y)

Se busca, una función y definida en [a, b]

y : [a, b] → IR
x → y(x)

que verifique :
• y 0 (x) = f (x, y(x))

• y (x0 ) = y0
Se eligen una serie de puntos xi ∈ [a, b]

a = x0 < x1 < x2 < · · · < x n = b

y se calculan los valores aproximados yi de y(xi ). De hecho, por comodidad supondremos


que los puntos son equidistantes, aunque en la práctica computacional no sucederá esto.
Se define, por tanto, el paso de la aproximación como:
b−a
h= , xi = a + ih, 0≤i≤n
n

114
El problema de evolución tiene su reflejo en la esencia de los métodos de integración. El
valor de la función en el punto i + 1 del conjunto discreto se obtiene, en los métodos de
un paso, a partir del valor estimado de la función en la iteración anterior.
Además de su obvia sencillez, este tipo de cálculo tiene la ventaja de que se puede cambiar
el paso sin mayor problema, para en un determinado momento disminuir el error si se
estima que este puede ser muy importante.

8.3.2 Ejemplo: Método de Euler.


Es el más sencillo de todos los métodos de integración numérica de ecuaciones diferen-
ciales. El planteamiento del problema es el tı́pico de un problema de valores iniciales. Se
busca una función y definida en [a, b]

y : [a, b] → IR
x → y(x)

que verifique :

• y 0 (x) = f (x, y(x))

• y (x0 ) = y0

Se usa la fórmula de incrementos finitos en el intervalo (xi , xi+1 ) .

y(xi+1 ) − y(xi ) = hy 0 (xi ), xi < xi < xi+1


y 0 (xi ) = f (xi , y(xi ))
(8.4)

El hecho es que no se conoce xi . El método de Euler consiste en aproximar ese valor por
xi , y el valor de y 0 (xi ) por y 0 (xi ). El esquema será por tanto el siguiente:

yi+1 = yi + hf (xi , yi )
y0 = y(x0 )

La visualización de lo que estamos haciendo se presenta en la figura 8.3.2. En ella se


conoce el punto A0 = (x0 , y0 ), y se conoce la tangente a la curva solución en ese punto,
cuya pendiente viene dada por la expresión y 0 (x0 ) = f (x0 , y(x0 )). La aproximación
consiste en confundir la curva y su tangente. Se reemplaza el punto desconocido por A1 ,
que tiene su misma abscisa pero que está situado sobre la tangente. Para obtener A2 ,
procederı́amos de modo análogo tomando como referente A1 .
Ejemplo 8.3.1
(
y0 = y
x ∈ [0, 5]
y(0) = 1

115
T0

A1

A0

h
a a+h

Figura 8.1: Esquema de Euler.

La solución analı́tica es y(x) = ex . Tomamos un paso de h = 0.2. El esquema serı́a el


siguiente:
yi+1 = yi + hf (xi , yi ) = yi + hyi = yi (1 + h)
Como y0 = 1 tendremos que:
yi+1 = (1 + h)i+1
En la tabla 8.3.2 y en la figura 8.3.2 tenemos una representación de la función error. El

k x y real y aprox error


0 0 1 1 0
1 0,2 1,22140276 1,44 -0,21859724
2 0,4 1,4918247 1,728 -0,2361753
3 0,6 1,8221188 2,0736 -0,2514812
4 0,8 2,22554093 2,48832 -0,26277907
5 1 2,71828183 2,985984 -0,26770217
10 2 7,3890561 7,43008371 -0,04102761
15 3 20,0855369 18,4884259 1,59711103
20 4 54,59815 46,0051199 8,59303012
25 5 148,413159 114,47546 33,9376991

Tabla 8.1: Error ejemplo esquema de Euler.

error se debe a dos causas:

1. Discretización. Aproximar la curva por su tangente.

116
160

y real
140
y euler
120

100

80
y

60

40

20

0
0 1 2 3 4 5
x

Figura 8.2: Error ejemplo esquema de Euler.

2. Los errores de redondeo: Debidos a las operaciones realizadas por el ordenador.

A un método le exigiremos varias cosas. Sin duda las más importantes son la convergencia
- que la aproximación sea tan buena como queramos bajando el paso - y la estabilidad -
que el método no sea muy sensible a los errores para cálculos posteriores.

8.3.3 Esquema general.


Una vez puestos en situación al haber estudiado el método más sencillo, haremos un
planteamiento general de los métodos de un paso y definiremos con cierta precisión los
conceptos que garantizan la bondad de una aproximación. Como sabemos, el cálculo de
yi+1 hace intervenir los valores de xi y de yi .

yi+1 = F (xi , yi , h)

El esquema general será:

yi+1 = yi + hφ (xi , yi , h) (8.5)


y0 = y(x0 )

si φ(x, y, h) = f (x, y), tendremos el método de Euler.

117
8.3.4 Error de discretización. Orden de un método.
Se define el error de la discretización en la iteración i como ei = yi − y (xi ). Un método
es de orden ≥ p si para toda solución de y 0 = f (x, y)
¯ ¯
¯ y (x ) − y (x ) ¯
i+1 i
max ¯¯¯
− φ (xi , y (xi ) , h)¯¯¯ = O(hp ) (8.6)
i=0,n h

El orden de un método nos permite acotar de un modo muy preciso el error de dis-
cretización, como nos lo demuestra el siguiente teorema, del cual no presentamos de-
mostración.
Teorema 8.3.1 Si φ verifica la condición de Lipschitz respecto a la segunda variable, y
si el método es de orden mayor o igual que p, entonces:

max |ei | = max |yi − y (xi )| = O(hp )


i=0,n i=0,n

Una vez que se ha acotado el error de discretización, el programador debe tener cuidado
con el error de redondeo, que depende del problema, de la máquina, y del programa.
El orden de un método da, como hemos dicho, una medida del error de discretización,
que es inherente al método. En realidad, lo que estamos diciendo al definir el orden es,
más o menos que:

y (xi+1 ) = y (xi ) + hφ (xi , y (xi ) , h) + O(hp+1 ) (8.7)

O sea, que si partiésemos de un valor correcto en xi , y (xi ), el valor que obtendrı́amos


en xi+1 , vendrı́a afectado de un error de orden p + 1. Los errores de redondeo hacen
que al integrar perdamos un orden, y que el error de discretización sea de orden p. Por
tanto, cuánto más grande sea p, y más pequeño sea h, el error de discretización será más
pequeño.

8.3.5 Selección del paso de integración.


Que se sepa a priori el orden de un método no es suficiente para elegir el paso si se desea
que el error sea inferior a una cota dada ². Explicamos una técnica que permite hacer
esto con una cierta precisión, más alta cuanto más pequeño es el paso de integración.
Esta técnica es muy similar a la estudiada en 6.7.5. Imaginemos que buscamos h tal que
la estimación de y(x) se obtenga con un error de orden ². Supongamos que el método es
de orden p. Se deben seguir los siguientes pasos.
1. Se integra con un paso h0 , con error e = yk − y(x) ≈ M hp0 .

2. Se integra con un paso 2h0 , entonces el error ẽ = ỹj − y(x) ≈ M (2h0 )p .

3. Sabiendo que el error no debe superar la cota dada, se tendrá:

yk − ỹj = yk − y(x) + y(x) − ỹj ≈ M hp0 − M (2h0 )p

118
yk − ỹj
M hp0 ≈
1 − 2p
y tenemos el sistema:
yk − ỹj
M hp0 ≈
1 − 2p
M hp ≈ ²
y por tanto:
!1
²(1 − 2p )
Ã
p
h ≈ h0
yk − ỹj

8.4 Diferentes métodos de un paso.


8.4.1 Método de Euler.
Vimos ya el método de Euler, que consistı́a en aproximar la función en un punto por
su tangente. El punto siguiente se obtenı́a proyectando la abscisa siguiente sobre su
tangente.

yi+1 = yi + hf (xi , yi ) (8.8)


y0 = y(x0 )

O sea, que según el planteamiento general:

φ(x, y, h) = f (x, y)

8.4.2 Orden del método de Euler.


El orden de un método da una medida del error de discretización o truncamiento.
¯ ¯ ¯ ¯
¯ y (x ) − y (x ) ¯ ¯ y (x ) − y (x ) ¯
i+1 i i+1 i
¯
− φ (x i , y (xi ) , h)¯ = ¯
¯ ¯
− f (x i , y (xi ))¯
¯
h h
¯
¯ ¯ ¯ ¯

Haciendo un desarrollo en serie de la función y en un entorno de xi .

y (xi+1 ) = y (xi + h) = y (xi ) + y 0 (xi ) h + O(h2 ) = y (xi ) + f (xi , y (xi )) h + O(h2 )

por tanto:
y (xi+1 ) − y (xi )
− f (xi , y (xi )) = O(h) (8.9)
h
el orden del método es entonces, uno.

119
8.4.3 Método de Euler: error de discretización.
El error de discretización en el método de Euler se debe a que, en un punto, estamos
aproximando la función por su tangente. O sea, de lo que se trata es de acotar el valor:

²i = ŷi − y (xi )

donde ŷi es el valor obtenido partiendo de un valor exacto en el paso anterior, la cual no
es la situación real de cálculo. Si usamos el desarrollo en serie de Taylor, tendremos que:

y (xi+1 ) = y (xi + h) = y (xi ) + y 0 (xi ) h + ²

h2
²= max |y 00 (ξ)|
2 ξ∈[xi ,xi+1 ]

o, lo que es lo mismo:

y (xi+1 ) = y (xi + h) = y (xi ) + f (xi , y (xi )) h + ²

h2
²= max |f 0 (ξ, y (ξ))|
2 ξ∈[xi ,xi+1 ]

Desgraciadamente, esta cota del error solamente es válida para el primer punto obtenido,
pues el único valor realmente exacto es el valor inicial. Los siguientes puntos de partida
incluyen el resultado de cálculos previos y arrastran por tanto, errores de truncamiento. A
raı́z de esto, procede un estudio de la propagación de los errores locales de discretización
en el método de Euler. Los estudios de propagación de errores son, en general muy
difı́ciles. De hecho el caso más sencillo que es el de Euler ya es muy complicado, y no
haremos estudios especı́ficos de este tema. De todos modos, tenemos garantizado ya que
el error total es de orden p si el método es de orden p, siempre que la función φ verifique
la condición de Lipschitz para la segunda variable.

8.4.4 Método de Taylor.


Se puede construir un método de orden p a partir del desarrolo en serie de Taylor.

h2 00 hp ³ ´
y (x + h) = y (x) + y 0 (x) h + y (x) + · · · + y (p) (x) + O hp+1
2 p!

y(x + h) − y(x) h hp−1 (p)


= y 0 (x) + y 00 (x) + · · · + y (x) + O (hp )
h 2 p!
Pero ahora podemos obtener cada una de las derivadas sucesivas.

y 0 (x) = f (x, y(x))


∂f ∂f
y 00 (x) = (x, y) + (x, y)y 0 (x) = g2 (x, y)
∂x ∂y
y 000 (x) = · · · = g3 (x, y), etc.

120
Con lo cual, si tomamos:

h hp−1
φ(x, y, h) = f (x, y) + g2 (x, y) + · · · + gp (x, y) (8.10)
2 p!
tendremos que: ¯ ¯
¯ y (x ) − y (x ) ¯
i+1 i
¯
− φ (xi , y (xi ) , h)¯¯ = O (hp )
h
¯
¯ ¯

con lo que el orden de método será p.


El método de Taylor ha sido tradicionalmente bastante poco utilizado porque las deriva-
das sucesivas son difı́ciles de calcular, saliendo unas expresiones inmanejables. Además,
tienen como inconveniente el exigir a la función f más clase de la necesaria, porque en
principio, sólo necesitamos que sea continua. También tienen el incoveniente de que son
difı́ciles de aplicar a sistemas de edos y sobre todo a edp’s. Sin embargo, y como vamos
a ver ahora, se puede conseguir el orden que queramos sin necesidad de recurrir a las
derivadas sucesivas. En esta idea se apoyan los métodos de Runge-Kutta.

8.4.5 Métodos de Runge-Kutta.


La solución de una ecuación diferencial por desarrollo directo de Taylor de la función
objeto no es, en general, un método práctico si se necesitan derivadas de orden mayor
que uno. Las siguientes derivadas se complican demasiado excepto en los casos más
sencillos. Por ello no es posible obtener un algoritmo sencillo, análogo al método de
Euler, a partir del desarrollo de Taylor en cuanto sean precisos términos de error de
órdenes elevados.
Afortunadamente, como ya hemos comentado, es posible deducir algoritmos de un paso
que incluyen sólo cálculos de derivadas de primer orden, pero que a su vez producen
resultados equivalentes en exactitud a las fórmulas de Taylor de orden superior. El
precio que se paga es evaluar varias veces la función f en cada paso. Estos métodos
son los que se estudian en este epı́grafe, y se llaman métodos de Runge-Kutta 1 2 . Las
aproximaciones de segundo, tercer y cuarto orden requieren el cálculo de f (x, y) en dos,
tres y cuatro puntos, respectivamente, en el intervalo [xi , xi+1 ]. Las aproximaciones de
orden p, con p > 4, requieren el cálculo de f (x, y) en más de p puntos, lo que los hace
menos rentables. De lo que se trata es de elegir adecuadamente la función φ(x, y, h). Lo
haremos aquı́ de modo detallado para orden dos y presentaremos las de orden 3 y 4.
1
Martin Kutta(1867-1944) nació en una parte de Alemania que ahora pertenece a Polonia, Byczyna.
Fue profesor en Munich, Jena, Aachen (Aquisgrán) y finalmente en Stuttgart. El método de Runge-
Kutta lo presentó en 1901. Es muy famoso también por el teorema de Kutta-Joukowsky, fundamental
para el cálculo de sustentación por perfiles aerodinámicos.
2
Carle Runge (1856 Gottingen-1927). Estudió en la universidad de Munich donde siguió los cursos de
Max Planck y se hicieron buenos amigos. Ambos pasaron a Berlı́n en 1877. Allı́ estudió con Weirstrass
y Kronecker. Runge trabajó en un procedimiento para la resolución numérica de ecuaciones algebraicas
(polinómicas en varias variables) en las que las raices se expresaban como series de funciones racionales
de los coeficientes. Ayudó a Kutta con su método para resolver edos, e hizo contribuciones en el área de
la fı́sica de gases y ondas.

121
Métodos de Runge-Kutta de orden 2.
Determinaremos los coeficientes a1 , a2 , p1 , p2 , para que la aproximación de un paso que
se deduce de esta función, sea de orden dos.

φ(x, y, h) = a1 f (x, y) + a2 f (x + p1 h, y + p2 hf (x, y)) = a1 f (x, y) + a2 f (X, Y ) (8.11)

Si hacemos un desarrollo de esta función en un entorno del cero de h.

φ(x, y, h) = φ(x, y, 0) + φh (x, y, 0)h + O(h2 )

φ(x, y, 0) = (a1 + a2 )f (x, y)


à ! à !
∂f ∂X ∂f ∂Y ∂f ∂f
φh (x, y, 0) = a2 + = a2 p1 + p2 f (x, y)
∂x ∂h ∂y ∂h ∂x ∂y
Por tanto
à !
∂f ∂f
φ(x, y, h) = (a1 + a2 )f (x, y) + a2 p1 + p2 f (x, y) h + O(h2 ) (8.12)
∂x ∂y

Por otro lado:


à !
y(x + h) − y(x) h h ∂f ∂f
= y 0 (x) + y 00 (x) + O(h2 ) = f (x, y) + +f + O(h2 )
h 2 2 ∂x ∂y

El método será de orden dos si:


¯ ¯
¯ y (x ) − y (x ) ¯
i+1 i 2
− φ (x i , y (xi ) , h)¯ = O(h )
¯ ¯
h
¯
¯ ¯

que si analizamos las expresiones, se tendrá que dar que:

a1 + a 2 = 1
1
a2 p 1 =
2
1
a2 p 2 =
2
Dejando todo en función de a2

a1 = 1 − a 2
1
p1 =
2a2
1
p2 =
2a2
à !
h h
φ(x, y, h) = (1 − a2 )f (x, y) + a2 f x + ,y + f (x, y) (8.13)
2a2 2a2

122
O sea, que nos queda un parámetro libre a2 , al que podemos darle el valor que nosotros
queramos. Si cogemos a2 = 1/2, tendremos:
1
φ(x, y, h) = [f (x, y) + f (x + h, y + hf (x, y))] (8.14)
2
y, por tanto:
h
yi+1 = yi + [f (xi , yi ) + f (xi + h, yi + hf (xi , yi ))] (8.15)
2
que puede escribirse también en la forma.
hh ³ ´i
yi+1 = yi + f (xi , yi ) + f xi + h, y i+1 ) (8.16)
2
y i+1 = yi + hf (xi , yi ) (8.17)
A este método se le llama el método de Euler mejorado o método de Heun. Presentamos
su interpretación geométrica en la figura 8.3.
En esencia, lo que estamos haciendo es aplicar dos veces el método de Euler. En primer

yi+1
pendiente= f (x i+h , yi+1 )

yi yi+1
2

h
xi x i+1

Figura 8.3: Método de Euler mejorado o método de Heun.

lugar estimamos del modo clásico con la ecuación y i+1 = yi + hf (xi , yi ) el punto y i+1 ,
que es una estimación previa de yi+1 . Es decir, y i+1 es la ordenada en xi+1 de la recta 1
de la figura 8.3, que pasa por (xi , yi ) con pendiente f (xi , yi ). A continuación se mejora
la estimación por medio de la ecuación 8.16.
hh ³ ´i
yi+1 = yi + f (xi , yi ) + f xi + h, y i+1 )
2

123
La pendiente de la recta 2 utilizada en este caso es la media ponderada de las apro-
ximaciones de f en ambos extremos del intervalo. Obsérvese que como y (xi+1 ) es de-
sconocido,³ el verdadero ´ valor de la derivada en xi+1 , f (xi+1 , y (xi+1 )), se aproxima por
el valor f xi+1 , y i+1 ) . El algoritmo de Euler puede considerarse en este caso como una
ecuación predictora de y i+1 , mientras que la ecuación definitiva puede considerarse co-
mo una ecuación correctora que produce una mejor estimación de yi+1 . Esta ecuación
(1) (2)
puede utilizarse iterativamente para obtener una sucesión de valores corregidos yi+1 , yi+1 ,
(m)
,.....,yi+1 . En este caso el par de ecuaciones 8.16,8.17 resulta ser el más sencillo de los
métodos predictor-corrector que se estudiarán más adelante con detalle.
Si cogemos a2 = 1, tendremos:
" #
h h
φ(x, y, h) = f x + , y + f (x, y) (8.18)
2 2

y, por tanto, podemos escribir el algoritmo de aproximación como:


à !
h
yi+1 = yi + hf xi + , y i+ 1 (8.19)
2 2

h
y i+ 1 = yi + f (xi , yi ) (8.20)
2 2
A este algoritmo se le llama el método mejorado del polı́gono o método de Euler modifi-
cado. Presentamos su interpretación geométrica en la figura 8.4.
En este caso se utiliza de nuevo dos veces sucesivas el método de Euler. Primero se
obtiene una aproximación de y i+ 1 en el punto medio. Calculamos el valor de la derivada
2
en ese punto, y utilizamos el valor de la derivada en este punto para el total del intervalo.

Métodos de Runge-Kutta de orden 3.


Los métodos de Runge-Kutta de orden superior se obtienen de modo análogo. Por
ejemplo la función incremento para el método de tercer orden es:

φ(x, y, h) = ak1 + bk2 + ck3 (8.21)

siendo k1 , k2 , k3 , aproximaciones a la derivada en varios puntos del intervalo [xi , xi+1 ].


En este caso se tiene:

k1 = f (xi , yi )
k2 = f (xi + ph, yi + phk1 ) (8.22)
k3 = f (xi + rh, yi + shk2 + (r − s)hk1 )

Hay que imponer la condición de tercer orden para obtener una relación entre las cons-
tantes a, b, c, p, r, s. El más famoso de los métodos de tercer orden es:
h
yi+1 = yi + f (k1 + 4k2 + k3 ) (8.23)
6

124
pendiente=
f ( x i+h/2 ,yi+1/2)
yi+1/2
yi 1 yi+1
2

h/2 h/2
xi x i+1

Figura 8.4: Método de Euler modificado o método del polı́gono.

k1 = f (xi , yi )
à !
h h
k2 = f xi + , y i + k 1
2 2
k3 = f (xi + h, yi + 2hk2 − hk1 )

Métodos de Runge-Kutta de orden 4.


Los métodos de Runge-Kutta de orden cuatro exigen la evaluación de la derivada en
cuatro puntos para cada paso. Su esquema general es

yi+1 = yi + h (ak1 + bk2 + ck3 + dk4 ) (8.24)

siendo k1 , k2 , k3 , k4 , aproximaciones a la derivada en varios puntos del intervalo [xi , xi+1 ].


El más famoso de los métodos de cuarto orden es:
h
yi+1 = yi + (k1 + 2k2 + 2k3 + k4 ) (8.25)
6
k1 = f (xi , yi )
à !
h h
k2 = f xi + , y i + k 1
2 2
à !
h h
k3 = f xi + , y i + k 2
2 2
k4 = f (xi + h, yi + hk3 )

125
8.5 Métodos de paso multiple.
8.5.1 Introducción a los métodos de paso múltiple.
El método de Runge-Kutta tiene el inconveniente de que hace intervenir cálculos de
las derivadas en valores intermedios, algunas veces de muy poco significado geométrico,
siendo además puntos en los que en realidad a nosotros no nos interesa el valor que pueda
tener la función y que se pierden de una iteración a otra. A nosotros nos interesa el valor
de la función sólamente en los nodos de nuestra discretización. Los métodos de paso
múltiple eliminan este problema.
En los métodos de varios pasos, el cálculo de yi+1 hace intervenir los valores xi , xi−1 , · · ·,
xi−q+1 , yi ,yi−1 , · · ·, yi−q+1 . Cuando esa dependencia se tiene explicitada, los métodos se
llaman explı́citos.

yi+1 = F (xi , xi−1 , · · · , xi−q+1 , yi , yi−1 , · · · , yi−q+1 ) (8.26)

Cuando esa dependencia es implı́cita, los métodos se llaman implı́citos. En cada paso
hay que resolver una ecuación o un sistema de ecuaciones a veces lineal, a veces no lineal,
dependiendo de cómo sea la ecuación diferencial

F (xi+1 , xi , xi−1 , · · · , xi−q+1 , yi+1 , yi , yi−1 , · · · , yi−q+1 ) = 0 (8.27)

Otra forma de ver los métodos de integración es una formulación de tipo integral, que
nos va a servir de base luego para los algoritimos de paso múltiple. En los métodos de
paso simple tenı́amos:
dy
= f (x, y(x))
dx
Lo más sencillo para obtener a partir de , serı́a:
Z xi+1
yi+1 = yi + f (x, y(x)) dx (8.28)
xi

y en realidad, lo que nostros hacemos es aproximar:


Z xi+1
φ (xi , yi , h) h ≈ f (x, y(x)) dx (8.29)
xi

En los métodos de paso múltiple, la idea matriz va a ser:


Z xi+1
yi+1 = yi−k + Pf (x)dx (8.30)
xi−k

donde Pf (x) es un polinomio que se obtiene por interpolación de los valores obtenidos
desde i − q + 1 hasta i para la función f (x, y(x)), con lo cual será un método de q pasos.
En los métodos implı́citos Pf (x) se obtiene por interpolación de los valores obtenidos
desde i − q + 1 hasta i + 1 para la función f (x, y(x)).
Los métodos de paso múltiple tienen dos inconvenientes bastante importantes. Por un
lado, al comienzo de la integración, como nuestro problema es un problema de valor

126
inicial, sólo se dispone de un valor. Ello motiva que para arrancar los métodos de paso
múltiple se recurra casi siempre a otros esquemas de un paso. En esta situación, y debido
a la precisión del esquema multipaso elegido, los esquemas utilizados para el arranque
deberán cumplir un cierto requisito en la precisión de sus resultados. Generalmente, lo
que se suele hacer es dar q − 1 pasos iniciales con un esquema de un paso de orden p,
siendo p el orden del esquema multipaso 3 , y q el número de pasos involucrados en el
esquema. 4 .
Además, en los métodos de un paso, si se detecta un error de discretización muy grande,
el algoritmo permite el ajuste del paso para que esto no suceda. Sin embargo, en los
métodos de paso múltiple esto no se puede hacer tan fácilmente.

8.5.2 Métodos de Adams-Bashforth.


General.
Son un cierto tipo de métodos multipaso explı́citos. Usamos la filosofı́a polinómica que
acabo de comentar.
Z yi+1 Z xi+1
dy = f (x, y(x)) dx = yi+1 − yi (8.31)
yi xi

aproximamos f (x, y(x)) mediante un polinomio cuyo grado depende del número de pun-
tos que usemos en el esquema multipaso.
Z xi+1
yi+1 = yi + Pq (x)dx (8.32)
xi

AB1
Consiste en aproximar f (x, y(x)) por su valor en el punto f (xi , yi ) = fi , o sea, por un
polinomio de grado cero, ver figura 8.5. Por tanto el esquema que tenemos es
yi+1 = yi + hf (xi , yi ) = yi + hfi (8.33)
que es precisamente el esquema euleriano, que ya sabemos que es de orden 1.

AB2
Consiste en aproximar f (x, y(x)) por una recta que se apoya en los puntos (xi , fi ) y
(xi−1 , fi−1 ), ver figura 8.6.
fi − fi−1
P1 (x) = fi + (x − xi ) (8.34)
xi − xi−1
Por tanto el esquema de Adams-Bashforth de segundo orden es:
xi+1 3 1
Z µ ¶
yi+1 = yi + P1 (x)dx = yi + h fi − fi−1 (8.35)
xi 2 2

3
Se puede matizar la elección del orden del esquema de arranque pero escapa al contenido del curso
4
valor inicial +q − 1 pasos = q valores iniciales para el esquema multipaso

127
f ( x i , yi )

P0(x)
f (x,y)

h h h
x i-2 x i-1 xi x i+1

Figura 8.5: Método de Adams Bashforth de orden 1, AB1.

AB3.
Consiste en aproximar f (x, y(x)) por una parábola que se apoya en los puntos (xi , fi ),
(xi−1 , fi−1 ) y (xi−2 , fi−2 ), ver figura 8.7. Si integramos esta aproximación tendremos que:

h
yi+1 = yi + (23fi − 16fi−1 + 5fi−2 ) (8.36)
12

AB4.
Para un polinomio de tercer grado, tendremos el método de Adams-Bashforth de cuarto
orden, y ası́ sucesivamente.
h
yi+1 = yi + (55fi − 59fi−1 + 37fi−2 − 9fi−3 ) (8.37)
24

8.5.3 Métodos de Adams-Moulton.


General.
Son un cierto tipo de métodos multipaso implı́citos. Se caracterizan porque el polinomio
de interpolación de f (x, y(x)) tiene también en cuenta el punto (xi+1 , fi+1 ). Pero este
punto es desconocido, y por tanto, el esquema se traduce en una ecuación en la que
queremos encontrar yi+1 como función de una serie de parámetros entre los que también
está yi+1 . Veamos los más sencillos e importantes.

128
fi-1
fi

P1(x)
f (x,y)

h h h
x i-2 x i-1 xi x i+1

Figura 8.6: Método de Adams Bashforth de orden 2, AB2.

AM1
Consiste en aproximar f (x, y(x)) por su valor en el punto (xi+1 , fi+1 ), ver figura 8.8. Por
tanto el esquema que tenemos es

yi+1 = yi + hf (xi+1 , yi+1 ) = yi + hfi+1 (8.38)

Este esquema se llama Euler implı́cito o inverso, es de orden 1 y es muy importante porque
tiene unas caracterı́sticas de estabilidad privilegiadas, cuyo estudio escapa al curso, y que
hacen que sea muy utilizado en la integración de ecuaciones diferenciales.

Ejemplo 8.5.1 Se tiene el problema siguiente:

(
y0 = y
x ∈ [0, 1]
y(0) = 1

El esquema de Euler inverso para su resolución será:

yi+1 = yi + hf (xi+1 , yi+1 ) = yi + hyi+1 (8.39)

y por tanto,
yi
yi+1 = (8.40)
1−h
Mostramos los resultados en la siguiente tabla.

129
f (x i-1 ,yi-1 )

P2(x)
f (x,y)

h h h
x i-2 x i-1 xi x i+1

Figura 8.7: Método de Adams Bashforth de orden 3, AB3.

k x Euler Expl. Euler Impl. Exacta


0 0 1 1 1
1 0,1 1,1 1,11111111 1,10517092
2 0,2 1,21 1,2345679 1,22140276
3 0,3 1,331 1,37174211 1,34985881
4 0,4 1,4641 1,5241579 1,4918247
5 0,5 1,61051 1,69350878 1,64872127
6 0,6 1,771561 1,88167642 1,8221188
7 0,7 1,9487171 2,09075158 2,01375271
8 0,8 2,14358881 2,32305731 2,22554093
9 0,9 2,35794769 2,58117479 2,45960311
10 1 2,59374246 2,86797199 2,71828183

Ejemplo 8.5.2 Se tiene el problema siguiente:

(
y 0 = ey
x ∈ [0, 1]
y(0) = 1

El esquema de Euler inverso para su resolución será:

yi+1 = yi + hf (xi+1 , yi+1 ) = yi + heyi+1 (8.41)

yi+1 = yi + heyi+1 (8.42)


que no se puede resolver de modo explı́cito para yi+1 .

130
f (x,y) fi+1 P0(x)

h h h
x i-2 x i-1 xi x i+1

Figura 8.8: Método de Adams Moulton de orden 1, AM1.

AM2
Consiste en aproximar f (x, y(x)) por una recta que se apoya en los puntos (xi , fi ) y
(xi+1 , fi+1 ), ver figura 8.10.
fi+1 − fi
P1 (x) = fi + (x − xi ) (8.43)
xi+1 − xi
Por tanto el esquema de Adams-Moulton de segundo orden es:
Z xi+1 fi + fi+1
yi+1 = yi + P1 (x)dx = yi + h (8.44)
xi 2
A este esquema en particular se le suele llamar método de Crank-Nicholson.

AM3.
Consiste en aproximar f (x, y(x)) por una parábola que se apoya en los puntos (xi+1 , fi+1 ),
(xi , fi ) y (xi−1 , fi−1 ), ver figura 8.11. Si integramos esta aproximación tendremos que, el
esquema numérico, siempre para paso de integración constante queda:
h
yi + (5fi+1 + 8fi − fi−1 ) (8.45)
12

AM4.
Para un polinomio de tercer grado, tendremos el método de Adams-Moulton de cuarto
orden, y ası́ sucesivamente.
h
yi+1 = yi + (9fi+1 + 19fi − 5fi−1 + fi−2 ) (8.46)
24

131
300

y real
250 y euler explícito
y euler implícito
200

150
y

100

50

0
0 1 2 3 4 5
x

Figura 8.9: Comparación entre Euler explı́cito e implı́cito para el ejemplo 1.

Conclusión sobre los métodos implı́citos de Adams-Moulton.


En general, los métodos implı́citos dan mejores resultados que los explı́citos del mis-
mo orden además de tener propiedades numéricas (estabilidad y convergencia) mejores
que los explı́citos. Sin embargo, tienen la debilidad inherente de tener que convertir,
algebraicamente, el método a una representación explı́cita para yi+1 . Esto, a menudo
es muy difı́cil, y a veces, imposible. Para solucionar estos problemas estudiaremos los
métodos predictor corrector que consisten en una técnica de resolución aproximada de
los problemas planteados por los métodos implı́citos en cada paso.

8.5.4 Métodos predictor-corrector.


General.
En la práctica, los métodos multipaso implı́citos no se usan como se describió ante-
riormente. Se utilizan para mejorar las aproximaciones obtenidas mediante métodos
explı́citos. La combinación de una técnica explı́cita con una implı́cita se llama método
predictor-corrector. 5 En realidad, la filosofı́a predictor-corrector es más general - como
vimos en el método de Euler mejorado -, pero a efectos prácticos, los esquemas predictor
corrector más usados, son la combinación de un multipaso explı́cito con otro implı́cito.
Explicaremos el más usado, y el más complejo, que es el de cuarto orden. Los de orden
inferior se deducen fácilmente habiendo entendido éste.
5
En realidad, lo que se hace es sustituir la parte implı́cita del corrector con el valor obtenido por
el predictor. El predictor se puede ver como resolver un problema de punto fijo en cada paso: y i+1 =
T (yi+1 ), y el predictor serı́a el huésped inicial de ese esquema

132
fi

f (x,y) fi+1

h h P1(x)
h
x i-2 x i-1 xi x i+1

Figura 8.10: Método de Adams Moulton de orden 2, AM2.

Métodos de Adams-Bashforth-Moulton.
Un planteamiento muy habitual es que si se necesita un método de cuarto orden para
resolver un problema de valor inicial, se obtengan los cuatro puntos para el arranque
del multipaso mediante un Runge-Kutta de orden 4. Estos cuatro puntos se usan como
arranque el un Adams-Bashforth de orden cuatro. La estimación en cada paso se mejora
con un multipaso implı́cito de tres pasos de orden cuatro AM4. O sea:
1. Tenemos y0
2. Obtenemos con RK4 y1 , y2 , y3 .
(0)
3. Obtenemos con AB4 y4 .
(0) h
y4 = y 3 + (55f (x3 , y3 ) − 59f (x2 , y2 ) + 37f (x1 , y1 ) − 9f (x0 , y0 ))
24
(0)
4. Mejoramos y4 con AM4.
(1) h ³ ³ (0)
´ ´
y4 = y 3 + 9f x4 , y4 19f (x3 , y3 ) − 5f (x2 , y2 ) + f (x1 , y1 )
24
De nuevo podrı́amos mejorar esta estimación, metiéndolo de nuevo en el multipaso
implı́cito, como si estuviésemos resolviendo un problema no lineal por aproxima-
ciones sucesivas.
(2) h ³ ³ (1)
´ ´
y4 = y 3 + 9f x4 , y4 19f (x3 , y3 ) − 5f (x2 , y2 ) + f (x1 , y1 )
24
Podrı́amos hacer sucesivas mejoras(sea k es número de mejoras), pero sabiendo que
no tendemos a la solución real y (x1 ) sino a la solución del problema implı́cito. Si
queremos más precisión, en vez de iterar muchas veces sobre el corrector, es mejor
reducir el paso.

133
fi-1
fi

f (x,y)
fi+1

P2(x)
h h h
x i-2 x i-1 xi x i+1

Figura 8.11: Método de Adams Moulton de orden 3, AM3.

5. Una vez obtenido este punto, los siguientes se obtienen de modo análogo. En
general:
(0) h
yi+1 = yi + (55f (xi , yi ) − 59f (xi−1 , yi−1 ) + 37f (xi−2 , yi−2 ) − 9f (xi−3 , yi−3 ))
24
(1) h ³ ³ (0)
´ ´
yi+1 = yi + 9f xi+1 , yi+1 + 19f (xi , yi ) − 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )
24
············
(k+1) h ³ ³
(k)
´ ´
yi+1 = yi + 9f xi+1 , yi+1 + 19f (xi , yi ) − 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )
24

8.5.5 Métodos de Milne-Simpson.


En los métodos de paso múltiple la idea era:
Z xi+1
yi+1 = yi−k + P (x)dx
xi−k

donde P (x) es un polinomio que se obtiene por interpolación de los valores obtenidos
desde i − q + 1 hasta i para la función f (x, y(x)), con lo cual será un método de q pasos.
En los métodos de Adams el planteamiento era hacer k = 0, y tenı́amos que:
Z xi+1
yi+1 = yi + Pq (x)dx
xi

Pero k puede ser distinto de cero. Jugando con esta idea se obtiene uno de los esquemas
predictor-corrector más usados, que es el de Milne-Simpson. El predictor es el esquema
explı́cito de Milne de orden 3
4h
yi+1 = yi−3 + (2f (xi , yi ) − f (xi−1 , yi−1 ) + 2f (xi−2 , yi−2 )) (8.47)
3

134
y el corrector el esquema implı́cito de Simpson de tercer orden
h
yi+1 = yi−1 + (f (xi+1 , yi+1 ) + 4f (xi , yi ) + f (xi−1 , yi−1 )) (8.48)
3

8.6 Edos de orden mayor que uno y sistemas de edos.


Aprendimos que era sencillo reducir un problema de valor inicial de una ecuación dife-
rencial ordinaria de orden mayor que uno, al de un sistema de ecuaciones diferenciales
de orden 1. Por ejemplo:
00 0

 y = h(x, y, y )

y(x0 ) = y0
 0
y (x0 ) = y00

Se realiza el cambio de variables: (


u1 = y
u2 = y 0
El problema se convierte en un sistema de 1er orden, con:
 0

 u1 = u 2
 u0 = h(x, u , u )

2 1 2
u
 1 0
 (x ) = y 0
0

u2 (x0 ) = y0

Además vimos que la condición de existencia y unicidad de la solución de un sistema


de ecuaciones diferenciales ordinarias de primer orden era muy similar al de una única
ecuación. Aprendamos ahora a resolverlos. El planteamiento será:
Sea

f : [a, b] × IRn → IRn


x, y → f (x, y)

O sea,

f : [a, b] × IRn → IRn


y1 f1 (x, y1 , · · · , yn )
   
 y   f (x, y , · · · , y ) 
2   2 1 n
x,   → 

 ···  ···
 
 
yn fn (x, y1 , · · · , yn )

Se busca una función y definida en [a, b]

y : [a, b] → IRn
x → y(x)

que verifique :

135
• y 0 (x) = f (x, y(x))
• y (x0 ) = y0 con y0 ∈ IRn .
o, lo que es lo mismo, usando la notación yi,j para denotar la estimación de yi (xj ):
dy1
= f1 (x, y1 , · · · , yn )
dx
dy2
= f2 (x, y1 , · · · , yn )
dx
···
dyn
= fn (x, y1 , · · · , yn )
dx
y las condiciones de valores iniciales:

y1 (x0 ) = y1,0
y2 (x0 ) = y2,0
···
yn (x0 ) = yn,0

La idea es que los métodos usados para resolver sistemas de ecuaciones diferenciales
ordinarias de primer orden son simplemente generalizaciones de los métodos para una
sola ecuación, que ya hemos estudiado. Presentamos la generalización correspondiente
al clásico RK4, que es el más lioso, y en haremos como ejercicio algún Euler o algún RK
de orden más bajo.
h
yi,j+1 = yi,j + (k1,i + 2k2,i + 2k3,i + k4,i ) (8.49)
6
k1,i = fi (xj , y1,j , y2,j , · · · , yn,j )
à !
h hk1,1 hk1,2 hk1,n
k2,i = fi xj + , y1,j + , y2,j + , · · · , yn,j +
2 2 2 2
à !
h hk2,1 hk2,2 hk2,n
k3,i = fi xj + , y1,j + , y2,j + , · · · , yn,j +
2 2 2 2
k4,i = fi (xj + h, y1,j + hk3,1 , y2,j + hk3,2 , · · · , yn,j + hk3,n , )

8.7 Resumen.
1. Un problema de evolución, modelizado mediante una edo y con información sobre
la situación de partida, admite un tratamiento numérico potente y sencillo.
2. No hemos hecho estudios serios de error, pero hemos definido el orden de un método
y lo hemos calculado en algunos casos. El orden de un método nos da una informa-
ción importantı́sima sobre la calidad del mismo a efectos del error de discretización.
3. Hay métodos que para estimar el punto siguiente utilizan sólo el valor anterior, y
valores intermedios que no se almacenan en memoria.

136
4. Hay otros métodos que usan muchos puntos ya calculados, y que con mayor sencillez
algorı́tmica consiguen igual orden de aproximación que métodos de un paso más
complicados.

5. Dentro de estos métodos multipaso existen algoritmos predictor corrector de muy


buen comportamiento numérico.

6. Los sistemas de edos de primer orden admiten tratamientos similares, y las ecua-
ciones de mayor orden que uno pueden ser reducidas a sistemas de primer orden, y
luego resueltas.

8.8 Referencias recomendadas para este tema.


[16],[3],[2].

137
Capı́tulo 9

Ecuaciones diferenciales en
derivadas parciales: Método de las
diferencias finitas

9.1 Introducción
Se utilizan las ecuaciones en derivadas parciales (edp’s) para modelizar fenómenos que
son simultáneamente dependientes de varias variables. Las variables independientes son
casi siempre el tiempo y las variables espaciales. Las edp’s que vamos a manejar van
a poder clasificarse como parabólicas, elı́pticas e hiperbólicas. Presentamos un ejemplo
de cada una de ellas en orden correlativo, aunque en este capı́tulo sólo estudiaremos las
parabólicas y las elı́pticas.
∂2f ∂2f ∂f
+ = (9.1)
∂x2 ∂y 2 ∂t
∂2f ∂2f
+ =0 (9.2)
∂x2 ∂y 2
∂2f ∂2f ∂2f
+ = (9.3)
∂x2 ∂y 2 ∂t2

9.2 Ecuaciones parabólicas


Las ecuaciones parabólicas se refieren a problemas de evolución temporal. Un fenómeno
muy importante gobernado por una ecuación parabólica es la transmisión de calor en
régimen transitorio. Si tenemos una barra sometida a temperaturas variables en los
extremos, o que parte de una condición inicial diferente a la de los extremos, esa barra
sufrirá unas variaciones en la temperatura de sus puntos. Estas variaciones siguen la
siguiente ecuación diferencial en derivadas parciales parabólica.
à !
∂ ∂T ∂T
k = ρcp
∂x ∂x ∂t
en cuya ecuación T define a la temperatura, y los valores k, ρ y cp definen respectivamente
a la conductividad térmica, densidad y calor especı́fico de la varilla. Si k se considera
constante, se puede volver a escribir la ecuación en la forma:
∂2T ∂T
α 2
=
∂x ∂t
k
α=
ρcp
α recibe el nombre de difusividad térmica. A continuación se introducen las nuevas
variables, X = x/L, τ = αt/L2 , en las que L representa una longitud caracterı́stica
del problema, X la variable independiente espacial adimensionalizada, y τ el tiempo
adimensionalizado. Con estos cambios de variables, la ecuación diferencial se convierte
en:
∂2T ∂T
2
=
∂X ∂τ
abusando de la notación podemos volver a escribir
∂T ∂2T
= 0 < x < 1, 0<t≤A (9.4)
∂t ∂x2
que es un ejemplo claro de edp parabólica. Este problema será casi siempre propuesto
sabiendo los valores iniciales de la temperatura en toda la barra, y sabiendo el valor de
la temperatura en los extremos en todos los instantes temporales. O sea:

T (x, 0) = f (x) 0<x<1


T (0, t) = g0 (t) 0<t≤A
T (1, t) = g1 (t) 0<t≤A

Vamos a integrar numéricamente esta ecuación parabólica. Lo primero que hay que
hacer es discretizar tiempo y espacio. Por tanto, hay que tener un ∆t y un ∆x. Ası́,
denominaremos Ti,k al valor de la temperatura en el punto i en el instante k. Una vez
discretizadas las variables independientes hay que escribir de modo discreto la ecuación
diferencial. Lo más sencillo es discretizar las derivadas temporales con un operador de
dos puntos, y discretizar la segunda derivada espacial con un operador de tres puntos
centrado, el más sencillo. Este tipo de técnicas se llaman diferencias finitas, y serán las
únicas que estudiemos para resolver edp’s. Otra familia de técnicas muy importantes
son los elementos finitos. Se utilizan para resolver las ecuaciones de la resistencia de
materiales en muchos códigos comerciales. Estos métodos escapan al contenido del curso.
Ti,k+1 − Ti,k Ti+1,k − 2Ti,k + Ti−1,k
= (9.5)
∆t h2
Lo único desconocido en esta ecuación es Ti,k+1 y la ecuación es lineal en ese valor, por
lo que puede ser despejado fácilmente para tener.
∆t
Ti,k+1 = Ti,k + (Ti+1,k − 2Ti,k + Ti−1,k ) (9.6)
h2

139
Como conocemos las condiciones iniciales, y conocemos los valores en los extremos siem-
pre, el esquema de avance no tiene ningún problema.
Una variante muy interesante pasa por tomar la derivada espacial en el instante k + 1.
Tendremos entonces:
Ti,k+1 − Ti,k Ti+1,k+1 − 2Ti,k+1 + Ti−1,k+1
= (9.7)
∆t h2
Tenemos 1 ecuación y 4 incógnitas, todos los valores en el instante k + 1. Sin embargo,
si escribimos esta ecuación en todos los nodos, tendremos un número igual de ecuaciones
e incógnitas, y podremos plantear y resolver ese sistema lineal en cada paso de tiempo.
Este esquema, que llamaremos implı́cito, por analogı́a con las edos, tiene muy buenas
propiedades numéricas. Además, el hecho de tener que resolver un sistema lineal en
cada paso no es gran problema, dado que podemos hacerlo con un método iterativo, y
tendremos siempre una estimación muy buena del huésped inicial, el valor en el instante
anterior. En los ejercicios profundizaremos estos conceptos.

9.3 Ecuaciones elı́pticas


Las ecuaciones elı́pticas se refieren normalmente a problemas de contorno en los que no
interviene la variable tiempo. La más importante ecuación elı́ptica es la ecuación de
Laplace, que es la que se presentó como ejemplo9.2. Gobierna por ejemplo la transmisión
de calor en régimen permanente. Si tenemos una placa sometida a un nivel térmico
constante en sus bordes, la temperatura en el interior está gobernada por la ecuación de
Laplace. Vamos a aprender a resolver este problema en el que las condiciones de contorno
se refieren al valor de la función incógnita en la frontera. Este tipo de problemas se llaman
problemas de Dirichlet. Podrı́a ser que en el contorno supiésemos derivadas de la función
incógnita. Si ası́ fuese tendrı́amos un problema de Neumann. Nosotros nos centraremos
en el primero.
Se considera una placa plana Ω. Se conoce el valor de la temperatura en la frontera de
Ω, ∂Ω, que viene dada por una función g(x, y). El problema se formula entonces como
encontrar un función T (x, y) que verifique:
(
Txx + Tyy = 0 en Ω
(9.8)
T (x, y) = g(x, y) en ∂Ω
Si se imponen ciertas condiciones sencillas sobre las propiedades de Ω y si g es continua,
se puede demostrar que este problema tiene solución única como indica la intuición fı́sica.
Para resolverlo se discretiza el dominio Ω, y se plantea en cada nodo de la discretización
la ecuación diferencial escrita de modo discreto, donde ahora el primer ı́ndice se refiere a
nodos en la dirección x, y el segundo a nodos en la dirección y.
Ti+1,j − 2Ti,j + Ti−1,j Ti,j+1 − 2Ti,j + Ti,j−1
+ =0 (9.9)
hx2 hy 2
Si los espaciados son iguales en la dirección x e y tendremos:
4Ti,j − Ti+1,j − Ti−1,j − Ti,j+1 − Ti,j−1 = 0 (9.10)

140
Si escribimos esta ecuación en cada uno de los nodos obtendremos el sistema lineal que
nos da la solución discreta del problema. Es un sistema diagonalmente dominante cuya
resolución no debe plantear ningún problema con cualquier método iterativo.
Si el espaciado no es el mismo hay que mantener la ecuación 9.9, y si además, el recinto
no es rectangular, sino que tiene froteras irregulares, hay que pensar una alternativa a la
ecuación, pues los puntos de la frontera no están a la misma distancia que el resto de los
nodos.

9.3.1 Discretización del operador de Laplace con contornos irre-


gulares.
Sea el contorno irregular de la figura 9.1. Imaginemos que queremos discretizar la
ecuación de Laplace en el punto (i, j) de la retı́cula. El procedimiento consiste en escribir
los necesarios desarrollos en serie de Taylor y eliminar las derivadas que no nos interesen:

aDx
(i-1,j) (i,j) B
Dx bDx
y C
Dx

x (i,j-1)

Figura 9.1: Contorno irregular.

(b∆x)2 ³ ´
TB = Ti,j + b∆xTx + Txx + O ∆x3
2!

141
(∆x)2 ³ ´
Ti−1,j = Ti,j − ∆xTx + Txx + O ∆x3
2!
(b∆x)2 ³ ´
TA = Ti,j + a∆xTy + Tyy + O ∆x3
2!
(∆x)2 ³ ´
Ti,j−1 = Ti,j − ∆xTy + Tyy + O ∆x3 (9.11)
2!
Eliminando Tx y Ty obtenemos:
" #
2 Ti−1,j Ti,j−1 TA TB (a + b)Ti,j
Txx + Tyy = 2
+ + + − (9.12)
(∆x) b + 1 a + 1 a(a + 1) b(b + 1) ab

Los términos conocidos, los de la frontera, pasan al término independiente del sistema
lineal. El procedimiento podrı́a repetirse para otra pareja de puntos tales como D y E
de la misma figura.

9.4 Resumen
Las ecuaciones en derivadas parciales son sin duda una de las disciplinas más impor-
tantes dentro de las matemáticas, y quizá la que más acerque a éstas a la realidad fı́sica.
Plantean problemas muy importantes desde el punto de vista numérico y sirven bien
como cierre del curso, ya que dan lugar a problemas muy interesantes que combinan
conocimientos previos, sobre todo de derivación numérica y resolución de sistemas linea-
les. Las hemos estudiado con técnicas de diferencias finitas. Son las más sencillas y sufi-
cientemente generales como para resolver problemas muy complicados. El tratamiento es
aparentemente demasiado simplificado pero creemos que ajustado al tiempo disponible.

9.5 Referencias recomendadas para este tema.


[3], [8].

142
Bibliografı́a

[1] Aubanell, A., Benseny, A., Delshams, A. Útiles básicos de cálculo numérico. Labor,
1993.
Libro con problemas muy interesantes.

[2] Burden, R.L., Faires, J.D. Análisis numérico. Grupo Editorial Iberoamerica. México.
Libro muy bueno, con muchos ejemplos. Trata muy bien la parte de ecuaciones diferen-
ciales. Clásico en la materia.

[3] Carnahan, B., Luther, A.,Wilkes, J.O., Cálculo numérico: métodos, aplicaciones.
Editorial Rueda.
Texto enciclopédico (640 páginas) que está bastante bien, pero que se convierte más en un
libro de métodos que de análisis. Barato para su tamaño.

[4] Fernández Jambrina, L., Temas de análisis funcional, vectorial, tensorial en Ge-
ometrı́a Diferencial, Tensores y Campos. Sección de Publicaciones, Escuela Técnica
Superior de Ingenieros Navales. Universidad Politécnica de Madrid. 2001.
Texto muy adecuado para el estudio de las propiedades métricas de los espacios de matri-
ces.

[5] Gasca González, Mariano. Cálculo numérico. Universidad Nacional de Educación a


Distancia, 1990. ISBN 84-362-2118-4
Libro de teorı́a de la UNED. Bastante bueno, y muy didáctico. Ha servido de base para
la parte de ecuaciones y sistemas no lineales.

[6] Golub, G., Ortega, J.M., Scientific Computing. An introduction with parallel com-
puting. Academic Press, Inc., 1993.
Texto muy bueno sobre sistemas lineales.

[7] Hammerlin, G., Hoffmann, K-H. Numerical Mathematics, Springer-Verlag 1991.


Libro que ha servido de base para toda la parte de interpolación y aproximación. Es
un libro francamente bueno, con un nivel medio-alto, pero todo muy bien explicado sin
meterse en complicaciones. Algunos de los ejercicios propuestos en las hojas de apuntes
son ejercicios propuestos también en la parte final de los capı́tulos de este libro. Caro. Si

143
una vez que hayáis terminado la asignatura, tenéis la sensación de que habéis aprendido
y os ha gustado, es una excelente libro para volver sobre él más adelante

[8] Kincaid, D., Cheney,W. Análisis numérico. Las matemáticas del cálculo ciéntifico.
Addison-Wesley Iberoamericana, 1994.
Texto de tipo medio. La teorı́a es bastante completa y no muy complicada. Cubre casi
todas las partes de la asignatura, y tiene multitud de problemas propuestos. Cae un poco
hacia la parte de métodos, pero puestos a comprar un libro, éste es ahora mismo el que
recomiendo.

[9] Lascaux, P., Theodor, R. Analyse Numerique Matricielle Appliquee a l’Art de


l’Ingenieur. Tomes I, II, Masson 1987.
Texto adecuado para ampliar la parte de resolución numérica de sistemas lineales.

[10] Linz, P., Theoretical numerical analysis: an introduction to advanced techniques.


John Wiley & Sons, 1979 Libro con un contenido de análisis muy grande. Explica muy
bien la teorı́a general de Interpolación Lineal.

[11] Oppenheim, A.V., Willsky, A.S, Hamid Nawab, S., Signals and systems, Prentice-
Hall International, 1997. Texto de referenica para la aproximación por mı́nimos cuadra-
dos mediante funciones periódicas.

[12] Puy Huarte, J. Problemas de cálculo numérico. Servicio de Publicaciones. Revista


obras públicas. Madrid 1994. ISBN/ISSN 84-7493-173-8.
No hay libros de problemas buenos. De los que conozco este es el mejor, aunque no cubre
toda la asignatura. Creo que lo venden en Caminos, y debe ser barato.

[13] Rappaz, J., Picasso, M. Introduction a l’analyse numrique. Presses Polytechniques


et Universitaires Romandes, 1998.
Texto muy bueno. Cubre muy bien la parte de ecuaciones en derivadas parciales.

[14] Sánchez, J.M. Algebra lineal numérica. Sección de publicaciones ETSIN.


Texto que cubre muy bien la parte de sistemas lineales, no lineales, y cálculo de autovalores.

[15] Souto, A. Problemas de exámenes de Cálculo Numérico. Sección de publicaciones


ETSIN.
Herramienta básica de trabajo pues contiene resueltos todos los problemas de exámenes
de los últimos años.

[16] Theodor, R. Initiation a l’Analyse Numerique, 3 edition. Masson 1989.


Libro bastante pequeño que ha servido de base para la parte de integración, derivación y
ecuaciones diferenciales. Últimamente no me gusta mucho, pero sigue siendo un libro muy
didáctico, aunque a veces se deja demasiadas cosas sin explicar. Demasiado caro para lo
que es.

144
[17] Yakowitz, S., Szidarowsky, F. An introduction to numerical computations. Macmil-
lan Publishing Company.
Buen libro de consulta. Sencillo y con buenos ejemplos.

145

También podría gustarte