You are on page 1of 209

Apuntes de la asignatura

FUNDAMENTOS MATEMATICOS
DE LA INGENIERIA II
ETSIT

Angel
Duran.
Departamento de Matematica Aplicada.
Universidad de Valladolid
14 de enero de 2011

Contenidos
1. Preliminares
1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . .
1.2. El concepto de algoritmo . . . . . . . . . . . . . . .
1.3. Aritmetica del ordenador . . . . . . . . . . . . . .
1.3.1. Representacion binaria . . . . . . . . . . . .
1.3.2. Representacion en el ordenador . . . . . . .
1.4. Analisis del error . . . . . . . . . . . . . . . . . . .
1.4.1. Redondeo por aproximacion y redondeo por
1.4.2. Tipos de errores y propagacion del error . .
1.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

4
4
5
6
6
9
11
11
13
18

2. Sistemas lineales de ecuaciones. Eliminaci


on gaussiana y problemas de mnimos
cuadrados
2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Normas matriciales. Acondicionamiento de un sistema . . . . . . . . . . . . . . . .
2.2.1. Normas matriciales y vectoriales . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Acondicionamiento de un sistema . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3. Refinamiento iterativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Metodo de eliminacion gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Algoritmo de eliminacion gaussiana . . . . . . . . . . . . . . . . . . . . . . .
2.3.2. Interpretacion matricial del algoritmo. Factorizacion LU . . . . . . . . . . .
2.4. Problemas de mnimos cuadrados. Factorizacion QR . . . . . . . . . . . . . . . . .
2.4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2. El problema lineal de mnimos cuadrados . . . . . . . . . . . . . . . . . . .
2.4.3. Ortogonalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4. Resolucion numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6. Apendice 1: Operaciones elementales . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7. Apendice 2. Algunas herramientas estadsticas . . . . . . . . . . . . . . . . . . . . .
2.7.1. Fundamentos estadsticos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.2. Regresion lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.3. Regresion polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21
21
23
23
26
28
29
31
36
40
40
44
46
49
57
60
62
62
68
72

. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
eliminacion (o truncamiento)
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .

3. Interpolaci
on polin
omica
74
3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.2. Interpolacion de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.3.

3.4.

3.5.
3.6.

3.2.1. Representacion del polinomio . . . . . . . . . . . .


3.2.2. Estimaciones del error . . . . . . . . . . . . . . . .
Interpolacion de Hermite . . . . . . . . . . . . . . . . . . .
3.3.1. Diferencias divididas con argumentos repetidos . .
3.3.2. Estimacion del error . . . . . . . . . . . . . . . . .
Interpolacion trigonometrica . . . . . . . . . . . . . . . . .
3.4.1. Problema de interpolacion trigonometrica . . . . .
3.4.2. Tranformada de Fourier discreta . . . . . . . . . .
3.4.3. Cotas de error . . . . . . . . . . . . . . . . . . . .
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . .
Apendice. Series de Fourier . . . . . . . . . . . . . . . . .
3.6.1. Definicion y calculo de una serie de Fourier . . . .
3.6.2. Convergencia de la serie de Fourier . . . . . . . . .
3.6.3. Diferenciacion e integracion de una serie de Fourier

4. M
etodos iterativos
4.1. Introduccion . . . . . . . . . . . . . . . . . . .
4.2. Metodos iterativos para sistemas lineales . . .
4.2.1. Tecnicas iterativas clasicas . . . . . .
4.2.2. Metodo de Jacobi . . . . . . . . . . .
4.2.3. Metodo de Gauss-Seidel . . . . . . . .
4.2.4. Metodo SOR . . . . . . . . . . . . . .
4.2.5. Analisis de convergencia . . . . . . . .
4.3. Metodos iterativos para ecuaciones no lineales
4.3.1. Metodo de biseccion . . . . . . . . . .
4.3.2. Metodo de la secante . . . . . . . . . .
4.3.3. Metodo de punto fijo . . . . . . . . . .
4.3.4. El metodo de Newton . . . . . . . . .
4.3.5. Aspectos de convergencia . . . . . . .
4.4. Metodos iterativos para sistemas no lineales .
4.4.1. Iteracion de punto fijo para sistemas .
4.4.2. El metodo de Newton para sistemas .
4.5. Ejercicios . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

76
81
82
84
85
85
86
89
93
97
100
101
106
109

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

111
111
113
113
113
115
117
118
124
124
126
128
133
134
136
136
136
137

.
.
.
.
.
.
.
.
.
.
.
.

143
. 143
. 144
. 145
. 147
. 148
. 149
. 151
. 152
. 153
. 155
. 158
. 158

5. Cuadratura y derivaci
on num
erica
5.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Metodos elementales de construccion de reglas de cuadratura
5.2.1. Metodo interpolatorio . . . . . . . . . . . . . . . . . .
5.2.2. Metodo directo . . . . . . . . . . . . . . . . . . . . . .
5.2.3. Metodo del desarrollo de Taylor . . . . . . . . . . . . .
5.3. Analisis del error . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Reglas compuestas . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1. Analisis del error en las reglas compuestas . . . . . . .
5.4.2. Estudio comparativo . . . . . . . . . . . . . . . . . . .
5.5. Formulas de aproximacion a la derivada . . . . . . . . . . . .
5.5.1. Aproximacion a derivadas de orden superior . . . . . .
5.5.2. Error en la derivacion numerica . . . . . . . . . . . . .
2

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

5.5.3. El caracter de mal puesto de la derivacion numerica . . . . . . . . . . . . . 159


5.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6. Resoluci
on num
erica de ecuaciones diferenciales
6.1. Introduccion . . . . . . . . . . . . . . . . . . . . . .
6.2. Metodos Runge Kutta para PVI en EDOs . . . . .
6.2.1. Conceptos generales . . . . . . . . . . . . .
6.2.2. Metodos de un paso . . . . . . . . . . . . .
6.2.3. La clase de los metodos Runge-Kutta . . .
6.3. Metodos numericos para problemas de contorno . .
6.3.1. Introduccion . . . . . . . . . . . . . . . . .
6.3.2. El metodo de tiro . . . . . . . . . . . . . . .
6.3.3. Metodo de diferencias finitas . . . . . . . .
6.4. Resolucion numerica de EDPs de evolucion . . . .
6.4.1. Problemas parabolicos . . . . . . . . . . . .
6.4.2. Analisis de convergencia . . . . . . . . . . .
6.4.3. Problemas hiperbolicos . . . . . . . . . . .
6.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

164
164
166
167
172
178
188
188
189
191
194
195
200
203
204

Tema 1

Preliminares

1. Introduccion.
2. Concepto de algoritmo.
3. Aritmetica del ordenador.
4. Analisis del error.
5. Ejercicios.

1.1.

Introducci
on

La resolucion o el simple acercamiento a la resolucion de muchos problemas hacen necesaria


la introduccion de la idea de aproximacion desde los orgenes de la Ciencia [1]. Es en los u
ltimos
tiempos cuando, con la aparicion y mejora diaria de la Computacion, esta idea de aproximaci
on
es mas aprovechada en la practica y por todas las disciplinas, especialmente la Ingeniera.
En 1962, el matematico Peter Henrici [2] daba la definicion siguiente:
Numerical Analysis is the theory of constructive methods in mathematical analysis.
En el mismo sentido tenemos la propuesta del matematico Lloyd N. Trefethen [6]
Numerical Analysis is the study of algorithms for the problems of continuous mathematics.
Ambas definiciones coinciden en resaltar tres aspectos fundamentales del Analisis Numerico:
El concepto de algoritmo: seg
un Trefethen, la idea de algoritmo se encuentra en el centro del
analisis numerico: esta disciplina trata esencialmente de dise
nar y analizar algoritmos para
resolver ciertos tipos de problemas. El dise
no es necesario para la resolucion del problema;
el analisis es necesario para la mejora en la resolucion. No sirve resolver los problemas de
cualquier manera, ha de hacerse de la forma mas eficiente posible.

El segundo aspecto es el de la computacion. Esta


conforma el cuerpo del estudio de los
algoritmos, al dar sentido al concepto de eficiencia, para seleccionar los mejores metodos de
resolucion. Un metodo eficiente ha de tener un coste computacional bajo (en comparaci
on
4

con sus competidores), ha de resolver el problema o aproximarse a su resolucion de la forma


mas rapida posible.
El tercer aspecto es el concepto de error. Por un lado, el uso del ordenador incorpora errores
en la adaptacion a su aritmetica finita. Por otro, hay que tener en cuenta que la mayora
de los problemas de los que se ocupa el Analisis Numerico no puede resolverse mediante
algoritmos finitos, o puede resolverse pero a traves de largos y complicados calculos. Ello
introduce la idea del error cometido por un algoritmo al aproximarse a un problema. Por
u
ltimo, puede que los datos del propio problema contengan ya desde el principio errores,
debidos a las mediciones de las que proceden. De este modo, el error debe incluirse dentro
de los parametros de eficiencia de un algoritmo.
Este tema es una introduccion a estos tres puntos del Analisis Numerico, a cada uno de los cuales
se dedica una seccion. Servira tambien para presentar algunas ideas que apareceran a lo largo de
la asignatura.
Es tambien importante indicar, como afirma Trefethen, que sin el Analisis Numerico, la Ciencia y la Ingeniera seran totalmente distintas a como se conocen hoy en da y, probablemente, no
avanzaran a la velocidad a la que lo hacen ahora.

1.2.

El concepto de algoritmo

Entendido como un conjunto de instrucciones a ejecutar mecanicamente para obtener alg


un
resultado, la idea de algoritmo es antigua y bastante amplia. La aparicion de la Computaci
on ha
restringido la definicion de algoritmo a la de un procedimiento matematico sistematico que da,
en un n
umero finito de pasos, la respuesta a una cuestion o la solucion de un problema. Vease
[1] para una revision de la historia de los algoritmos.
Ejemplo 1.1.Algoritmo 1. Tpicos ejemplos de algoritmos son los de Euclides para la divisi
on
o el de Horner para la evaluacion de un polinomio. Presentemos este u
ltimo. Para evaluar un
polinomio
P (x) = a0 + a1 x + + aN xN ,
en un punto c, puede escribirse
P (c) = a0 + c(a1 + c( + c(aN 2 + c(aN 1 + caN )) )),
en una serie de multiplicaciones encajadas. El algoritmo, desarrollado aparentemente de forma
independiente por Ruffini (1804), Budan (1807 y 1813) y Horner (1819), se basa en la evaluaci
on
sucesiva de los parentesis, a partir del mas interno. Si ponemos bN = aN y calculamos
bk = ak + cbk+1 ,

k = N 1, . . . , 0,

entonces b0 = P (c)
El algoritmo tiene ademas relacion con el proceso de division de polinomios (veanse los ejercicios).
Es u
til familiarizarse con una escritura de los algoritmos independiente del lenguaje de programacion utilizado, que llamaremos pseudocodigo. Mostrara claramente los pasos de que consta
el algoritmo, de manera que su traslacion a cualquier lenguaje (FORTRAN, C, MATLAB, etc)
5

aN
c
bN

aN 1
cbN
bN 1

ak
cbk+1
bk

a2
cb3
b2

a1
cb2
b1

a0
cb1
b0 = P (c)

Tabla 1.1: Algoritmo de Horner.

sea directa. El pseudocodigo debe incluir ademas aspectos propiamente computacionales del algoritmo. Por ejemplo, un pseudocodigo para el algoritmo de Horner se escribira:
Pseudoc
odigo del algoritmo de Horner
Dados a0 , . . . , aN y c,
Desde k = N 1 hasta 0
ak ak + cak+1
Puede observarse el ahorro computacional al almacenar cada parentesis en el propio coeficiente
ak , de manera que el valor del polinomio en c esta finalmente contenido en a0 .
Puede haber diferentes algoritmos que resuelvan un mismo problema. Y varios pueden ser
los criterios para sus discriminacion [7]. El mas habitual es el que selecciona aquel metodo que,
permitiendo que se generen unos errores limitados a priori, realice menos operaciones y, por tanto,
el ordenador tarde menos tiempo en su ejecucion. Tanto la generacion de errores como el coste
computacional u operativo constituyen lo que se llama el an
alisis de eficiencia del algoritmo.
Una medida del coste computacional suele ser el n
umero de operaciones. De estas, suelen
tener mas importancia las multiplicaciones y divisiones, pues estas operaciones son mas costosas
en tiempo para el ordenador que las sumas y restas.
Ejemplo 1.2. Por ejemplo, el algoritmo de Horner puede compararse con el procedimiento
elemental de evaluar P (x) en x = c a traves de las potencias de c, c2 = c c, c3 = c2 c, . . . Este
u
ltimo requiere N 1 multiplicaciones para las potencias de c, otras N multiplicaciones para
los productos aj cj , j = 1, . . . , N y N sumas para la combinacion lineal. Esto da un total de
2N 1 multiplicaciones y N sumas. Por otro lado, el algoritmo de Horner (se puede contar en el
pseudocodigo) requiere N multiplicaciones y N sumas. De este modo, el algoritmo de Horner es
mas eficiente, algo que se notara mas si el grado del polinomio es muy alto o el polinomio ha de
evaluarse en muchos puntos.

1.3.

Aritm
etica del ordenador

Hay que tener en cuenta que, con independencia del algoritmo, su implementacion en el
ordenador ha de considerar el hecho de que este utiliza aritmetica finita, con la consiguiente
introduccion de errores. Debemos entonces comentar algo sobre la representacion de los n
umeros
en el ordenador.

1.3.1.

Representaci
on binaria

Las bases de numeracion mas habituales para representar los n


umeros son la decimal y la
binaria (la decimal para nosotros y la binaria para el ordenador). En general, dado un n
umero

natural N , la representacion de un n
umero racional T en base N es como sigue: si ai es el dgito
situado en la i-esima posicion
T = (ap ap1 a2 a1 a0 a1 a2 aq )N = ap N p + ap1 N p1 + + aq N q .
Los dgitos ap , . . . , aq varan entre los N n
umeros diferentes {0, 1, . . . , N 1}. Por ejemplo
73,35 = (73,35)10 = 7 101 + 3 100 + 3 101 + 5 102 ,
(10,11)2 = 1 21 + 0 20 + 1 21 + 1 22 .
Decimal
Base 10
0
1
1
3
4
5
6
7
8
9
10
11
12
13
14
15

Binaria
Base 2
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111

Octal
Base 8
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17

Hexadecimal
Base 16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Tabla 1.2: Bases de numeracion.


En el sistema hexadecimal se adopto la convencion de usar las seis primeras letras del alfabeto
latino para suplir los dgitos posteriores al 9. Esto permite, por ejemplo, distinguir entre los
n
umeros
(712)16 = 7 162 + 1 161 + 2 160 ,
(712)16 = (7C)16 = 7 161 + 12 160 .
As, la representacion del n
umero T en la base de numeracion N consta de dos partes: la parte
entera es la de la suma correspondiente a potencias no negativas de N . La parte fraccionaria es
el resto, asociado a las potencias negativas de N .
Debemos notar que hay n
umeros reales que no son racionales. Para ellos, el ordenador busca
una representacion decimal aproximada, de la que hablaremos despues.
Algoritmo 2 [4]. Para representar, en base N > 1, N 6= 10 un n
umero racional T , dado en
base 10. Conocida la representacion
T = ap 10p + ap1 10p1 + + aq 10q ,
7

tratamos de buscar la representacion


T = br N r + br1 N r1 + + bs N s .
El algoritmo necesita identificar T = E + F , con E parte entera y F parte fraccionaria, del
n
umero T .
Para la parte entera
E = br N r + br1 N r1 + + b0 N 0
= b0 + N (b1 + r + N (br1 + N br ) . . .),
observemos que b0 es el resto de la division de E entre N (primer parentesis),
E = N Q0 + b0 .
Conocido Q0 , ahora b1 es el resto de la division de Q0 entre N (segundo parentesis),
Q0 = N Q1 + b1 .
Continuando as el proceso, se generan dos sucesiones {Qk }, {bk } de cocientes y restos, con
la simple aplicacion sucesiva del algoritmo de Euclides. El proceso termina al llegar a un
n
umero natural r con Qr = 0, de manera que
Qr1 = N Qr + br = br .
Para la parte fraccionaria
F0 = F

= b1 N 1 + + bs+1 N s+1 + bs N s
= N 1 (b1 + N 1 (b2 + r + N 1 (bs+1 + N 1 bs ) . . .),

observemos que b1 = ent(N F0 ) es la parte entera de N F0 (primer parentesis), de


manera que
N F0 = b1 + b2 N 1 + + bs N s+1 = b1 + F1 ,
con F1 = f rac(N F0 ) la parte fraccionaria. De la misma forma (segundo parentesis),
b2 = ent(N F1 ) es la parte entera de N F1 ,
N F1 = b2 + b3 N 1 + + bs N s+2 = b2 + F2 ,
con F2 = f rac(N F1 ) la parte fraccionaria. El proceso contin
ua, quiza sin fin (vease el
ejemplo 1.4) y genera de forma recurrente dos sucesiones {bk }k1 , {Fk }k0 ,
bk = ent(N Fk1 ),

Fk = f rac(N Fk1 ),

k 1.

Si el proceso es infinito, la representacion vendra dada por una serie convergente


F =

bj N j ,

bj {0, 1, . . . , N 1}.

j=1

Pseudoc
odigo del algoritmo 2
Dado T = E + F y N
Poner Q0 = E, j = 0
while Q0 6= 0
Q1 = ent(Q0 /N )
bj = Q0 N Q1
j =j+1
Q0 Q1
end while
Ejemplo 1.3. Para representar el n
umero T = 33 en el sistema binario, se tiene el algoritmo
33 = 2 16 + 1,

b0 = 1,

16 = 2 8 + 0,

b1 = 0,

8 = 2 4 + 0,

b2 = 0,

4 = 2 2 + 0,

b3 = 0,

2 = 2 1 + 0,

b4 = 0,

1 = 2 0 + 1,

b5 = 1.

De modo que 33 = (100001)2 .


Ejemplo 1.4 [4]. Para representar el n
umero T = 0,7 = 7 101 en el sistema binario, se
aplica el algoritmo
2 0,7 = 1,4,

b1 = 1,

F1 = 0,4,

2 F1 = 0,8,

b2 = 0,

F2 = 0,8,

2 F2 = 1,6,

b3 = 1,

F3 = 0,6,

2 F3 = 1,2,

b4 = 1,

F4 = 0,2,

2 F4 = 0,4,

b5 = 0,

F5 = 0,4,

2 F5 = 0,8,

b6 = 0,

F6 = 0,8,

2 F6 = 1,6,

b7 = 1,

F7 = 0,6,

Observemos que se obtiene una periodicidad: Fk = Fk+4 , bk = bk+4 para k = 2, 3, 4 . . .. As, la


2.
representacion binaria de T es periodica: T = 0,7 = (0,10110)

1.3.2.

Representaci
on en el ordenador

La forma concreta de almacenar los n


umeros depende un poco del tipo de ordenador y del
lenguaje de programacion, aunque siempre se hace en el sistema binario. El almacenamiento es,
sin embargo, distinto, seg
un que el n
umero sea entero (parte fraccionaria nula) o no lo sea.
Almacenamiento de n
umeros enteros
Los n
umeros enteros, representados en binario, se almacenan en un n
umero S de posiciones
(o bits), una de las cuales se reserva para el signo del n
umero [3]
9

dS1

dS2
dS1

d2 d1

0 +
=
1

d0

Tabla 1.3: Representacion de (dS2 d2 d1 d0 )2 = (dS2 2S2 + +d2 22 +d1 21 +d0 20 ).


As, el n
umero entero maximo en valor absoluto que se puede almacenar es aquel para el que
dS2 = = d0 = 1, esto es
|Nmax | = 2S2 + + 21 + 20 =

1 2S1
= 2S1 1.
12

De este modo, con S posiciones, se pueden almacenar los enteros entre (2S1 1) y (2S1 1).
Los valores habituales utilizados son S = 16 (con |Nmax | = 32767) y S = 32 (con |Nmax | =
2147483647).
Almacenamiento de n
umeros reales
Los ordenadores almacenan los n
umeros reales en una representacion binaria llamada de
coma flotante normalizada [3]. Esto significa que lo que se almacena no es el n
umero x sino una
aproximacion binaria a x,
x M 2E ,
donde M se llama mantisa y E exponente. Esta representacion servira para cualquier base de numeracion, no solo la binaria. Por ejemplo, el n
umero (891,246)10 se representa como (0,891246)10
3
10 (mantisa 0,891246, exponente 3). El n
umero binario (101,001)2 es (0,101001)2 2(11)2 (mantisa (0,101001)2 , exponente (11)2 ). As, el punto (o coma) decimal se desplaza (flota) hasta que
la parte entera es nula y el primer dgito decimal es no nulo.
Hemos comentado que entonces todos los ordenadores almacenan los n
umeros reales en base
dos y coma flotante. La diferencia entre los ordenadores se encuentra en el n
umero de dgitos
(bits en el sistema binario) para la mantisa M y el exponente E, as como en el orden en que
estos se almacenan.
d1

d2

d(M 1)


dM =

dM

0 +
1

dE1


dE1 =

dE2
0
1

d1

d0

Tabla 1.4: Representacion de n


umeros reales.
El valor del n
umero real representado en la tabla es por tanto
(d1 d(M 1) )2 2(dE2 d0 )2 = (d1 21 + + d(M 1) 2(M 1) )2(dE2 2
Luego el mayor n
umero real almacenable es
|Nmax | = (21 + 2(M 1) )2(2

E2 +20 )

10

= (1 2(1M ) )22

E1 1

E2 +d 20 )
0

y el mas proximo a cero (siempre en valor absoluto),


|Nmin | = (21 )2(2

E2 +20 )

= 22

E1

hay que observar tambien que la mantisa mnima (en base diez y valor absoluto) es 1/2 = 21
(notese que el primer dgito decimal de la mantisa ha de ser no nulo, luego, en base dos, sera (0,1)2 ,
es decir, 1 21 ) y que la mantisa siempre es menor que uno, pues la maxima verifica
21 + 2(M 1) <

X
1
= 1.
2n

n=1

Los valores de M y E mas comunes suelen ser:


M = 24, E = 8: unas siete cifras decimales significativas. Se almacenan n
umeros reales entre
1
128
127
2,938736E 39 y 1,701412E + 38 (es decir, 2
y 2 (1 223 )). Se tienen entonces seis
cifras decimales de precision numerica (precision simple), pues 223 = 1,2 107 . De modo
que se utilizan 32 cifras binarias para representar n
umeros reales con precision simple.
M = 53, E = 11: o 64 cifras binarias para representar n
umeros reales con precision doble.
El rango va desde 5,562684646268003E 309 hasta 8,988465674311580E + 307 (es decir,
21024 y 21023 (1 2152 )), con una precision de unas 15 cifras decimales (252 = 2,2 1016 ).

1.4.

An
alisis del error

El tercer elemento determinante en el Analisis Numerico es el error. El estudio de los diversos


errores que pueden cometerse en la aproximacion es el que nos gua en la discriminacion de los
diferentes metodos numericos para intentar resolver un problema.
A la hora de medir los errores en una aproximacion, hay que tener en cuenta las dimensiones
del problema que estamos tratando. Por eso, hay que diferenciar entre error absoluto y error
relativo. Si p es el valor exacto de una cantidad y p una aproximacion a p, se define el error
absoluto de la aproximacion como
Ep = p p,
mientras que si p 6= 0 se define el error relativo como
Rp =

Ep
.
p

Puesto que en general no se conoce el valor exacto de p (pensemos en un n


umero irracional, como
) tampoco se conocen los errores absoluto y relativo correspondientes a una aproximaci
on, de
modo que hay que conformarse con cotas de esos errores. Estas cotas, que ahora presentaremos,
tienen que ver con, entre otras cosas, la aritmetica finita del ordenador y su limitacion para
representar los n
umeros.

1.4.1.

Redondeo por aproximaci


on y redondeo por eliminaci
on (o truncamiento)

Sea p un n
umero real, expresado en forma decimal
p = 0.d1 dk+1 10n ,
11

con d1 {1, . . . , 9}, dj {0, . . . , 9}, j > 1. Sea k el n


umero maximo de cifras decimales que se
admiten en la aritmetica del ordenador. Entonces, p puede representarse de dos formas:
1. Redondeo por eliminacion: el n
umero que representa a p es
f le (p) = 0.d1 dk 10n .
2. Redondeo por aproximacion: el n
umero que representa a p es
f la (p) = 0.1 k 10n ,
con 1 {1, . . . , 9}, j {0, . . . , 9}, 1 < j k. Estos n
umeros se calculan redondeando el
n
umero d1 dk+2 al entero mas proximo, con f la (0,999 9dk+1 10n ) = 0,1 10n+1
si dk+1 5.
Por ejemplo, para el n
umero
p=

22
= 3,142857142857142857 . . . ,
7

tenemos, con seis cifras significativas,


f le (p) = 0,314285 101 ,

f la (p) = 0,314286 101 .

Se puede demostrar que si se representa un n


umero en base N , coma flotante, con t dgitos
para la mantisa (sin contar el signo) y redondeo por eliminacion, la cota del error relativo vale
|Rp | N 1t ,
mientras que si el redondeo es por aproximacion, se tiene
1
|Rp | N 1t ,
2
que es la mitad. Por eso, los ordenadores almacenan los n
umeros reales redondeando por aproximacion.
Ejemplo 1.5. En el ordenador, al representar un n
umero real con 24 bits para la mantisa
(t = 23, precision simple) la cota del error relativo para redondeo por aproximacion es
1
|Rp | 2123 = 223 = 1,19 107 ,
2
y si la representacion tiene 53 bits (t = 52, precision doble), entonces
1
|Rp | 2152 = 252 = 2,22 1016 .
2
El error relativo esta tambien relacionado con el concepto de cifras significativas correctas.
Las cifras significativas de un n
umero son la primera no nula y todas las siguientes. En cuanto
a las cifras significativas correctas, se dice que la aproximacion p a p tiene q cifras significativas
correctas si el error relativo verifica
1
|Rp | 10q .
2
12

Por ejemplo, p = 0,9951 tiene tres cifras significativas correctas de p = 0,9949, pues
|p p|
= 0,20103 103 .
p
Un fenomeno relacionado con este asunto es el de la cancelacion o perdida de cifras significativas [3]. Por ejemplo, los n
umeros p1 = 1,234567891, p2 = 1,234567892 tienen 10 cifras significativas, mientras que p2 p1 = 0,000000001 solo tiene una. Esto puede producir una reducci
on en
la precision de los calculos que estemos realizando. Un ejemplo clasico [4] es el siguiente:
Ejemplo 1.6. Vamos a comparar los resultados de calcularf (500) y g(500), usando seis
cifras

significativas con redondeo por aproximacion, para f (x) = x( x + 1 x) y g(x) = x/( x + 1+

x), que son algebraicamente equivalentes.

f (500) = 500( 501 500) = 500(22,3830 22,3607) = 500(0,0223) = 11,1500.


500
500
500

=
=
= 11,1748.
g(500) =
22,3830 + 22,3607
44,7437
501 + 500
La respuesta g(500) = 11,1748 tiene un error absoluto menor y es la que se obtendra redondeando
por aproximacion la respuesta exacta 11,174755300747198 . . . a seis cifras significativas. La mala
respuesta de f (500) es debida a la perdida de cifras significativas al realizar la resta de las dos
cantidades.

1.4.2.

Tipos de errores y propagaci


on del error

En [3], los autores dan la siguiente clasificacion de errores que puede contener un n
umero:
1. Errores inherentes: cometidos en los datos al obtenerse de forma experimental.
2. Errores de redondeo: cometidos al almacenar un n
umero real en el ordenador.
3. Errores de truncamiento: cometidos al adaptar un proceso finito (un algoritmo) a uno
infinito, como, por ejemplo, al aproximar series infinitas.
Pasemos ahora a medir la propagacion del error al realizar operaciones. Sean p, q valores exactos
de dos n
umeros y p, q sus correspondientes aproximaciones. Recordemos que Ep , Rp representan,
respectivamente, los errores absoluto y relativo para el n
umero p (lo mismo para q). Vamos a
buscar cotas de error en los resultados obtenidos al sumar, restar, multiplicar y dividir estas
cantidades, as como al evaluar una funcion.
Propagaci
on en la suma. Si s = p+q es el valor exacto de la suma y s = p+ q su aproximaci
on,
entonces
Es = s s = p + q p q = Ep + Eq ,
mientras que
Rs =

Ep + Eq
Es
p
q
=
=
Rp +
Rq .
s
p+q
p+q
p+q

De manera que el error relativo en la suma, con referencia a los errores relativos para los sumandos,
queda amplificado por las cantidades p/(p + q) y q/(p + q), amplificacion que puede ser notable
si se suman dos cantidades opuestas de valor absoluto muy cercano .
13

Propagaci
on en la resta. Si r = p q es el valor exacto de la diferencia y r = p q su
aproximacion, entonces
Er = r r = Ep Eq ,
Er
p
q
Rr =
=
Rp
Rq .
r
pq
pq
El error relativo en la resta, con referencia a los errores relativos para p y q, queda amplificado
por las cantidades p/(p q) y q/(p q). Tambien puede observarse el efecto de amplificaci
on en
el error si se restan dos n
umeros muy parecidos.
Propagaci
on en el producto. Si x = pq es el valor exacto del producto y x
= pq su aproximacion, entonces
Ex = pq pq = pq (p Ep )(q Eq )

Rx

= pEq + qEp Ep Eq pEq + qEp ,


pEq + qEp Ep Eq
Ex
=
= Rq + Rp R p R q Rq + Rp ,
=
x
pq

donde en las expresiones anteriores hemos utilizado que la cantidad Ep Eq es despreciable frente
a las otras. De este modo, el error relativo en el producto es muy cercano a la suma de los errores
relativos de los factores.
Propagaci
on en la divisi
on. Si x = p/q es el cociente exacto y x
= p/
q el aproximado, entonces
Ex =
=

p p p p Ep
=
q q q
q Eq
qEp pEq
qEp pEq

.
q(q Eq )
q2

De aqu se deduce que es poco conveniente dividir por n


umeros q muy peque
nos, para evitar
amplificar el error absoluto en la division. Por su parte
Rx =

qEp pEq
Rp Rq
Ex
=
=
Rp R q .
x
p(q Eq )
1 Rq

Propagaci
on en la evaluaci
on de una funci
on. sea z = f (p) la evaluacion exacta de una
funcion f (suficientemente derivable) en el n
umero p y z = f (
p) el valor de f en su aproximaci
on.
Entonces
Ez = f (p) f (p Ep ) = f 0 (p)Ep f 00 (p)

Ep2
+ f 0 (p)Ep ,
2

Ep2
Ez
1
=
(f 0 (p)Ep f 00 (p)
+ )
z
f (p)
2
f 0 (p)
p
Rp .
f (p)

Rz =

Los errores sufren una mayor amplificacion si la derivada de f en p es muy alta o si p esta cerca
de un cero de f .
14

Ejemplo 1.7. Vamos a ilustrar lo expresado anteriormente con uno de los ejemplos proporcionados por [3]. Se desea realizar el calculo
z = a(b + c),

(1.1)

que alternativamente puede hacerse con


z = ab + ac.

(1.2)

Queremos determinar con cual de las dos expresiones anteriores se obtiene una cota del error
menor. Denotaremos por R los errores relativos de las operaciones para la primera expresi
on y
los errores relativos para la segunda.
por R
Los errores en cada una de las operaciones parciales, siguiendo lo que hemos deducido sobre
la propagacion en las operaciones, son, para el primer caso
b
c
rb +
rc + r1 ,
b+c
b+c
c
b
rb +
r c + r 1 + ra + r 2 ,
= R 1 + ra + r2 =
b+c
b+c

R1 =
R2

donde r1 , r2 representan los errores de redondeo al almacenar los resultados intermedios de las
dos operaciones, mientras que ra , rb , rc son los errores en los datos a, b, c (que contienen tanto
errores inherentes como errores de redondeo). Para la segunda alternativa, se tiene
1 = ra + rb + r1 ,
R
2 = ra + rc + r2 ,
R
ab
ac
3 =
R
R1 +
R2 + r3
ab + ac
ab + ac
b
c
=
(ra + rb + r1 ) +
(ra + rc + r2 ) + r3 .
b+c
b+c
Para obtener las cotas del error, debe conocerse nuestra manera de calcular. Vamos a suponer
que las operaciones se realizan manualmente (base diez), coma flotante con cuatro dgitos para la
parte fraccionaria y redondeando por aproximacion. De este modo, conocemos (por lo comentado
previamente) que la cota del error relativo es r = 21 1014 = 0,0005. Supongamos adem
as que
los datos no contienen error inherente, de manera que ra , rb , rc solo contienen errores de redondeo.
Por tanto, cada una de las cantidades ra , rb , rc , r1 , r2 , r1 , r2 , r3 esta acotada por r. Teniendo esto
en cuenta, podemos acotar




c
b
|rb | +

|R2 |
b + c |rc | + |r1 | + |r2 | + |ra |
b + c




b c



b + c + b + c + 3 r,




b
c
3|



|R
r2 |) + |
r3 |
b + c (|ra | + |rb | + |rc |) + b + c (|ra | + |rc | + |


 

b c



3
+
+ 1 r.
b + c b + c
15

Figura 1.1: Errores en la primera sucesion: n frente a xn rn .

Siempre que b + c 6= 0, se tiene que





b c
|b|
|c|
+


b + c b + c |b| + |c| + |b| + |c| = 1,
3 |. Entonces, desde el punto de vista numerico, la formula (1.1) es preferible
y, por tanto, |R2 | |R
a (1.2), al tener una cota menor del error del resultado (y tambien por realizar menos operaciones:
una sola multiplicacion frente a dos del segundo procedimiento).
Es deseable, en cualquier proceso numerico, que un error peque
no en los datos iniciales se
propague de forma que el error siga siendo peque
no en el resultado final. En ese caso, se dice que
el algoritmo es estable.
Ejemplo 1.8. Para estudiar la propagacion de errores, puede ser tambien u
til, en algunos
casos, la representacion grafica. Podemos poner un ejemplo de esta situacion. Consideremos los
tres esquemas siguientes para generar la sucesion { 31n }
n=0 :
r0 = 1,

rn = 13 rn1 ,

n = 1, 2, . . ..

p0 = 1, p1 = 1/3, pn = 43 pn1 13 pn2 ,


q0 = 1, q1 = 1/3, qn =

10
3 qn1

qn2 ,

n = 2, 3, . . ..
n = 2, 3, . . ..

Podemos analizar, graficamente y en cada caso, la propagacion de errores en las condiciones


iniciales y y seleccionar el mejor procedimiento, desde el punto de vista numerico, para generar
la sucesion.
Denotando por xn = 1/3n , las figuras 1.1, 1.2 y 1.3 muestran, respectivamente, los errores
xn rn , xn pn , xn qn , dibujando, para cada n y con una estrella, al correspondiente termino
nesimo del error.
16

Figura 1.2: Errores en la segunda sucesion: n frente a xn pn .

Figura 1.3: Errores en la tercera sucesion: n frente a xn qn .

17

En la grafica 1.1 se observa una convergencia hacia cero de los errores de la primera sucesi
on.
La figura 1.2 muestra una convergencia de la sucesion de errores correspondientes a la segunda
formula hacia un valor no nulo. Por su parte, la grafica 1.3, asociada a la tercera sucesion, indica
que, a partir de n = 6, los errores empiezan a crecer, siendo inaceptables para valores mayores
de n. Todo ello indica que, para generar la sucesion { 31n }
ormula proporciona el
n=0 , la primera f
mejor procedimiento.

1.5.

Ejercicios

Ejercicio 1. En cada uno de los casos, calcula el error absoluto y el relativo, as como el n
umero
de cifras significativas correctas de la aproximacion.
x = 2,71828182,
x = 98350,

x
= 2,7182.

x
= 98000.

x = 0,000068,

x
= 0,00006.

Ejercicio 2. Completa el calculo


Z

1/4

x2

e dx

1/4

(1 + x2 +

x4 x6
+ )dx = p.
2!
3!

Determina que tipo de error se presenta aqu y compara el resultado con el valor exacto dado
por el ordenador p = 0,2553074606.
Ejercicio 3. Supongamos que tenemos un ordenador que almacena los n
umeros en base 10 con
tan solo dos dgitos de mantisa. Queremos calcular con esta maquina la menor raz de la ecuaci
on
x2 20x + 1 = 0.

(a) Que valor se obtendra al calcularla como 10 99?

(b) Idem calculandola como 1/(10 + 99).


Ejercicio 4. Encuentra, en cada caso, una formula equivalente que evite la perdida de cifras
significativas
ln(x + 1) ln(x), x grande.

x2 + 1 x, x grande.
cos2 x sin2 x,

x /4.

Ejercicio 5. Comprueba que, en el metodo de Horner, si definimos


Q0 (x) = bN xN 1 + b3 x2 + b2 x + b1 ,
y R0 = b0 , entonces
P (x) = (x c)Q0 (x) + R0 ,

18

es decir, Q0 (x) es el polinomio cociente de grado N 1 y R0 = b0 = P (c) es el resto de la divisi


on
de P (x) entre x c.
Ejercicio 6. Determina un algoritmo, y su correspondiente pseudocodigo, para escribir en potencias de x a un polinomio cuyos coeficientes en potencias de x son conocidos. Usando el
procedimiento obtenido, escribe 1 + x + (1/2)x2 + (1/6)x3 en potencias de x 1.
Ejercicio 7. Durante la construccion de un puente atirantado los ingenieros se plantean el siguiente problema: con que precision hay que medir la posicion de los anclajes de los tirantes, tanto
en la pila como en el tablero, para tener un error en la longitud de los cables inferior a 25cm? Se
sabe que aproximadamente los cables miden 100m, se puede suponer que se trabaja con infinitas
cifras significativas correctas (sin errores de redondeo) y que el error inherente de las medidas
necesarias es siempre el mismo.
En realidad, la posicion de los anclajes se conoca exactamente, siendo sus coordenadas n
umeros
enteros, y uno de los ingenieros de obra encargo ya los tirantes. Dicho ingeniero tiene por costumbre realizar los calculos en obra con dos dgitos de precision. Serviran los cables por el
pedidos?
Nota: se supone que el peso propio de los tirantes es despreciable y que la estructura no se
deforma. As pues, el conjunto formado por el tablero, la pila y el cable forma un triangulo
rectangulo.
Ejercicio 8. Sin pensar mucho, el producto de dos n
umeros complejos z1 = a + bi, z2 = c + di
requiere cuatro multiplicaciones de n
umeros reales. Elabore un procedimiento para calcular z1 z2
usando solo tres multiplicaciones reales.
Ejercicio 9. Representa el n
umero T = 12,31 en base N = 2, N = 8 y N = 16.

19

Referencias

[1] J.-L.Chabert (Ed.), A History of Algorithms. From the Pebble to the Microchip, Springer,
1999.
[2] P. Henrici, Elements of Numerical Analysis,Wiley, 1964.
[3] A. Huerta, J. Sarrate, A. Rodrguez-Ferran, Metodos numericos. Introduccion, aplicaciones
y programacion, Ediciones UPC, 1999.
[4] J. H. Mathews, K. D. Fink, Metodos numericos con MATLAB, Prentice Hall, 2000.
[5] L. N. Trefethen, Finite Difference and Spectral Methods for Ordinary
and Partial Differential Equations, unpublished text, 1996, available at
http://www.comlab.ox.ac.uk/nick.trefethen/pdetext.html.
[6] L. N. Trefethen, The definition of numerical analysis, SIAM News 25, 6 Nov. 1992; reprinted in Bull. Inst. Maths. and Applics., 1993 and again as an appendix to L. N. Trefethen
and D. A. Bau, III, Numerical Linear Algebra, SIAM, 2000.
[7] J. M. Sanz Serna, Diez Lecciones de Calculo Numerico, Universidad de Valladolid, 1998.

20

Tema 2

Sistemas lineales de ecuaciones.


Eliminaci
on gaussiana y problemas
de mnimos cuadrados

1. Introduccion. Normas matriciales y acondicionamiento de un sistema.


2. Metodo de eliminacion gaussiana: algoritmo y factorizacion LU .
3. Problemas de mnimos cuadrados. Factorizacion QR.
4. Ejercicios.
5. Apendice 1: operaciones elementales.
6. Apendice 2: algunas herramientas estadsticas.

2.1.

Introducci
on

Uno de los problemas mas antiguos en Matematicas es la resolucion de sistemas de ecuaciones


lineales [2]. Ya aparece en escritos de matematicos babilonicos y egipcios, y de matem
aticos
indios, islamicos y europeos en la Edad Media. Igualmente, los metodos chinos merecen una
especial atencion, pues la descripcion de alguno de ellos tiene muchos parecidos con nuestros
modernos metodos matriciales. En particular, el llamado metodo fangcheng es el precursor del
metodo de eliminacion de Gauss.
No fue hasta el final del siglo XVII que aparecieron los sistemas de ecuaciones lineales tal y
como hoy los conocemos. Leibniz (1646-1716) usa incluso notacion con dobles ndices. Por el 1730
Maclaurin (1698-1746) calcula las soluciones de sistemas de dos y tres ecuaciones explcitamente y
da por induccion las formulas para un sistema de cuatro ecuaciones. Finalmente, en 1750, Cramer
(1704-1752) proporciona las formulas generales, aunque sin dar una prueba.
Las reglas de Cramer deberan haber cerrado el problema. Pero los avances en Astronoma y
Geodesia requeran la resolucion de sistemas de un gran n
umero de ecuaciones y las operaciones
necesarias para obtener la solucion creca enormemente (del orden de 300 millones de multiplica21


ciones para un sistema de 10 ecuaciones). Esta
fue la razon por la que surgieron otros metodos
que reducan el n
umero de operaciones, como el de Gauss (1777-1855), y tambien metodos que
proporcionaban soluciones por aproximacion.
Otra cuestion planteada fue que los coeficientes de estas ecuaciones procedan de medidas,
de mayor o menor precision, y por tanto para obtener la mayor fiabilidad posible, las medidas
(ecuaciones) deberan ser mas numerosas que las incognitas. Era necesario pues encontrar una
forma de sustituir las ecuaciones originales por otro sistema con el mismo n
umero de ecuaciones
que de incognitas y que dieran las aproximaciones a los valores requeridos lo mejor posible. De
entre todos los metodos propuestos, el mas utilizado fue el de mnimos cuadrados de Legendre
(1752-1833) y Gauss. De hecho, Gauss lo utilizo para determinar la orbita de un planeta y
para hacer mas sencillo la obtencion de la solucion de las ecuaciones normales desarroll
o el
metodo de eliminacion que lleva su nombre. Finalmente, otra tarea fue encontrar metodos de
resolucion mas practicos que las reglas de Cramer y la eliminacion gaussiana cuando se necesitaba
manipular sistemas grandes de ecuaciones, en especial los obtenidos usando el metodo de mnimos
cuadrados. Esto dio lugar a la aparicion de los metodos iterativos, desarrollados en el siglo XIX,
que permitan obtener las soluciones con un grado de precision dado. De nuevo Gauss dedujo un
metodo indirecto para resolver un problema de Astronoma (su principal preocupacion). Jacobi
(1804-1851) desarrollo su metodo al considerar sistemas de ecuaciones lineales obtenidas de su
estudio de sistema fsicos sujetos a peque
nas oscilaciones. Por u
ltimo, Seidel (1821-1896), un
alumno de Jacobi, propuso su tecnica iterativa a partir del estudio de un problema de Geodesia,
por lo que parece que no conoca el metodo descrito por Gauss, que era mas popular entre los
astronomos.
Los conocimientos adquiridos sobre la resolucion de sistemas lineales en cursos previos permiten enfocar esta leccion desde un punto de vista numerico y compararla con la siguiente, sobre
procedimientos iterativos. Para algunos conceptos y resultados utilizados (y no explicados) aqu se
recomienda revisar los contenidos del primer curso de algebra lineal.
La estructura de la leccion es como sigue: se presenta primero el concepto de norma matricial
y la idea de acondicionamiento de un sistema. Despues, a una revision general sobre sistemas
lineales y eliminacion gaussiana le seguira la descripcion del algoritmo general, incluyendo la
implementacion del pivotaje. La interpretacion matricial del algoritmo en terminos de operaciones
elementales (analizadas en un apendice final) es la base para la explicacion de la factorizaci
on
LU de una matriz y su aplicacion a la resolucion de un sistema. Finalmente, la aparici
on de
sistemas sobredeterminados permite introducir los problemas de mnimos cuadrados y tratar
su resolucion numerica, a traves, fundamentalmente, de la factorizacion QR. Discutiremos su
aplicacion a problemas de ajuste.
A lo largo de la leccion consideraremos sistemas lineales de ecuaciones de la forma
Ax = b,

A Mmn (C), x Cn , b Cm ,

(2.1)

En la primera parte nos centraremos en sistemas cuadrados con solucion u


nica, es decir, cuando
en (2.1) m = n y la matriz A es invertible. La segunda parte incluira el estudio de sistemas
sobredeterminados (m > n).

22

2.2.

Normas matriciales. Acondicionamiento de un sistema

2.2.1.

Normas matriciales y vectoriales

Recordemos que una norma en un espacio vectorial E es una funcion |||| : E R+ verificando
las propiedades
(1) ||v|| 0,

v E con ||v|| = 0 v = 0.

(2) ||v|| = ||||v||,

C, v E.

(3) ||v + w|| ||v|| + ||w||,

v, w, E.

Viene bien, asmismo, recordar la interpretacion de ||v|| como la magnitud o longitud de v.


Centrandonos en E = CN , las normas mas utilizadas en analisis numerico son las siguientes. Si
v = (v1 , . . . , vN )T ,
1/2
P
N
2
|v
|
.
Norma eucldea o norma l2 : ||v||2 =
k=1 k
Norma del maximo a norma l : ||v|| = max1kN |vk |.
P
Norma uno o norma l1 : ||v||1 = N
k=1 |vk |.

Figura 2.1: Conjunto de vectores v con ||v||2 = 1 (crculo), ||v|| = 1 (cuadrado), ||v||1 = 1
(rombo).

Las normas para matrices mas utilizadas van ligadas a una norma vectorial de la siguiente
manera. Fijada una norma para vectores || ||, su norma matricial asociada queda definida como
||A|| = sup{||Av||, ||v|| = 1} = sup
v6=0

23

||Av||
.
||v||

(2.2)

Se puede comprobar [4] que (2.2) define una norma en el espacio vectorial de las matrices complejas N N , MN (C), es decir, verifica las propiedades (1)-(3) con matrices en lugar de vectores.
El cociente de (2.2) mide la dilatacion de v debida a la aplicacion de la matriz A. La expresi
on
(2.2) verifica ademas las propiedades
||IN || = 1,

IN es la matriz identidad de MN (C).

||Av|| ||A||||v||,
||AB|| ||A||||B||,

A MN (C), v CN .
A, B MN (C).

Para las normas matriciales asociadas a las normas vectoriales destacadas anteriormente se pueden
obtener formulas mas explicitas que la definicion general. Sea A = (ajk )N
j,k=1 .
Norma del m
aximo
||A|| = max

1jN

N
X

|ajk |.

k=1

(Se suman los valores absolutos de los elementos de cada fila y se retiene la suma mayor).
En efecto, sea v 6= 0. Por un lado


N
N
X

X


||Av|| = max
ajk vk max
|ajk ||vk |
1jN
1jN
k=1

k=1

max

1jN

N
X

!
|ajk | ||v|| .

k=1

Luego
N

X
||Av||
max
|ajk |,
1jN
||v||
k=1

para todo v 6= 0 y por tanto


||A|| max

1jN

N
X

|ajk |.

k=1

Por otro lado, sea J el ndice de la fila en la que se alcanza la mayor suma de los valores absolutos
de los elementos. Se considera el vector y = (y1 , . . . , yN )T con

aJk /|aJk |
si aJk 6= 0
yk =
0
si aJk = 0
donde denota conjugacion. Se tiene entonces que ||y|| = 1, a menos que aJk = 0 para todo
k {1, . . . , N }, en cuyo caso debe ser A = 0, dado que J es la fila con la suma mayor. En estas
condiciones, el resultado es trivial. Para el resto de los casos (aJk 6= 0 para alg
un k {1, . . . , N }),
se tiene
N
N

X
X




||Ay|| = max
ajk yk
aJk yk


1jN
k=1
k=1
!
N
N
N
X
X
X
=
|aJk | = max
|ajk | = max
|ajk | ||y|| .
k=1

1jN

k=1

24

1jN

k=1

Entonces
N

||A||

X
||Ay||
max
|ajk |,
1jN
||y||
k=1

lo que completa la igualdad.


Norma uno. De una forma similar puede comprobarse que
N
X

||A||1 = max

1kN

|ajk |.

k=1

(Se suman los valores absolutos de los elementos de cada columna y se retiene la suma mayor).
Norma dos. Para la norma eucldea, es necesario definir lo que se llama radio espectral de una
matriz A MN (C), que es
(A) = max |j |,
j

donde los j , 1 j N , son los autovalores de A. Entonces


p
||A||2 = (A A),
donde A = AT . La comprobacion es como sigue. Sea v 6= 0. Como B = A A es hermtica

(B = B), entonces, por el teorema espectral (explicado en la asignatura de Algebra


Lineal
de primer curso), B es diagonalizable, sus autovalores son reales y puede construirse una base
ortonormal de autovectores {vj }1jN ,
A Avj = j vj ,

j R,

||vj ||2 = 1,

1 j N.

Expresando v en la base ortonormal


v=

N
X

j vj ,

j = hv, vj i, 1 j N,

||v||22

j=1

N
X

|j |2 ,

j=1

se tiene

||Av||22 = (Av) (Av) = v A Av =

N
X

j vj A A

j=1

j k vj A Avk =

j,k

N
X

j vj

j=1

j k vj k vk

j,k
2

|j | j (max |j |)
j

|j |2 = (A A)||v||22 .

p
De manera que ||A||2 (A A). Para la otra desigualdad, consideremos un autovalor de
modulo maximo || = (A A) y sea v 6= 0 un autovector asociado. Como
||Av||22 = v A Av = ||v||22 ,
25

entonces 0. De aqu se deduce que


||A||2

||Av||22
= = || = (A A).
||v||22


El radio espectral define la norma dos, pero tambien tiene relacion con el resto de las normas
definidas en la forma (2.2). Si |||| es una norma matricial deducida de una vectorial, A MN (C)
y es un autovalor de A, tomemos un autovector v asociado (v 6= 0 con Av = v). Entonces
||A||

||Av||
||||v||
=
= ||,
||v||
||v||

y por tanto ||A|| (A).


Ejemplo 2.1. Comprueba que para la matriz


1
3
1
A=
,
8
3 0
se tiene que
||A||

2.2.2.

4
= ,
3

1+ 8
||A||1 = ,
3

||A||2 = 2.

Acondicionamiento de un sistema

Se dice que una matriz cuadrada invertible A esta mal acondicionada si existe una matriz
B de manera que cambios peque
nos en los elementos de A o B generan cambios grandes en
1
X = A B. Se dice que el sistema Ax = B esta mal acondicionado si A esta mal acondicionada.
En la siguiente leccion comentaremos algo mas sobre el acondicionamiento. Cuando un sistema
esta mal acondicionado, los metodos numericos para su resolucion suelen perder eficacia. Se suele
producir mal acondicionamiento cuando la matriz del sistema es casi singular. Un ejemplo cl
asico
de matrices mal acondicionadas viene dado por las llamadas matrices de Hilbert. La matriz de
Hilbert de orden n es la matriz cuadrada H Mnn (R) de elementos hij = 1/(i + j 1), i, j =
1, . . . , n. Por ejemplo

1 1/2 1/3 1/4 1/5


1/2 1/3 1/4 1/5 1/6

H(5) =
1/3 1/4 1/5 1/6 1/7 .
1/4 1/5 1/6 1/7 1/8
1/5 1/6 1/7 1/8 1/9
Ejemplo 2.2 [5]. Para el termino independiente b = (1, 0, 0, 0, 0)T y utilizando aritmetica
exacta, la solucion del sistema H(4)x = b es x = (25, 300, 1050, 1400, 630)T . Operando con
siete cifras significativas, la matriz resultante puede considerarse una perturbacion de H(5),

1,0000
0,5000
0,3333
0,2500
0,2000
0,5000000 0,3333333 0,2500000 0,2000000 0,1666667

H(5)
0,3333333 0,2500000 0,2000000 0,1666667 0,1428571 ,
0,2500000 0,2000000 0,1666667 0,1428571 0,1250000
0,2000000 0,1666667 0,1428571 0,1250000 0,1111111
26

y la solucion del sistema es x = (28,02304, 348,5887, 1239,781, 1666,785, 753,5564)T .


Dentro de esta circunstancia, merece atencion el caso en el que el caracter no invertible se da
porque las ecuaciones son casi paralelas. Pensemos, por ejemplo, en el sistema
x+y = 2
2x + 2,001y = 4,001.
En este caso, el sistema corresponde a dos rectas casi paralelas, puesto que el determinante de la
matriz es 103 , peque
no en comparacion al resto de los elementos del sistema. Una consecuencia de
este mal acondicionamiento es que algunos valores inexactos pueden parecer aceptables. Fijemos
 > 0 y consideremos el conjunto de puntos
R = {(x, y)/|x + y 2| , |2x + 2,001y 4,001| }.
R consta de aquellos puntos (x, y) que, salvo un factor , verifican las ecuaciones y, sin embargo,
pueden estar lejos de la solucion (1, 1). Por ejemplo, para  = 3 103 , el punto (3, 1) est
a en
R y, al mismo tiempo, muy lejos de la verdadera solucion.
Pueden definirse parametros para estimar el acondicionamiento de un sistema lineal.
N
umero de condici
on
Imaginemos que en (2.1) perturbamos A1 para obtener una matriz B, de manera que la
solucion perturbada del sistema es x
= Bb. Si tomamos cualquier norma vectorial y su norma
matricial asociada, se tiene
||x x
|| = ||x Bb|| = ||x BAx|| ||I BA||||x||,
de manera que
||x x
||
||I BA||,
||x||
desigualdad que proporciona una medida del error relativo entre x y su perturbacion x
.
Supongamos ahora que perturbamos el vector b para obtener b. Si A
x = b, entonces
||x x
|| = ||A1 b A1b|| ||A1 ||||b b||
||b b||
||b b||
||b b||
= ||A1 ||||b||
= ||A1 ||||Ax||
||A1 ||||A||||x||
.
||b||
||b||
||b||
Luego
||x x
||
||b b||
||A1 ||||A||
.
||x||
||b||

(2.3)

Esto significa que el error relativo en x no es mayor que (A) por el error relativo en b, donde
(A) es el llamado n
umero de condicion de A:
(A) = ||A1 ||||A||.
Observemos que el n
umero de condicion depende de la norma matricial elegida. Ademas, si (A)
es peque
no, entonces peque
nos errores relativos en b llevan a peque
nas perturbaciones en x. De
27

este modo, un n
umero de condicion alto significa un mal acondicionamiento del sistema. Hay que
notar que (A) 1 en cualquier norma y para cualquier matriz.
Por ejemplo, la matriz de Hilbert de orden tres

1 1/2 1/3
A = 1/2 1/3 1/4 ,
1/3 1/4 1/5
tiene un n
umero de condicion (A) 524.

1
1/2
A=
1/3
1/4

Para la matriz de Hilbert de orden cuatro

1/2 1/3 1/4


1/3 1/4 1/5
,
1/4 1/5 1/6
1/5 1/6 1/7

se tiene que (A) es del orden de 1,6 104 . Las matrices de Hilbert son ejemplos clasicos de
matrices mal acondicionadas.
Al resolver numericamente un sistema de ecuaciones como (2.1), no obtenemos en general
la solucion exacta x sino una aproximacion x
. Nos podemos hacer una idea de la bondad de
tal aproximacion estimando el residuo r = b A
x. Denotemos por e = x x
al error absoluto
cometido. Entonces
Teorema 2.2.1
1 ||r||
||e||
||r||

(A)
.
(A) ||b||
||x||
||b||
Demostraci
on. Notemos primero que Ae = r y que A
x = b, con b = b r. Entonces, la
segunda desigualdad del teorema se deduce de (2.3). Por otro lado,
||r||||x|| = ||Ae||||A1 b|| ||A1 ||||A||||e||||b||,
de donde se deduce la segunda desigualdad.

2.2.3.

Refinamiento iterativo

Cuando se sospecha que la matriz del sistema esta mal acondicionada, existe un procedimiento
que mejora la aproximacion a la solucion del sistema lineal, que se llama refinamiento iterativo.
Consiste en realizar iteraciones en el sistema cuyo lado derecho es el vector residuo para las
aproximaciones sucesivas hasta que se obtiene una precision satisfactoria. Mas concretamente,
sea x(0) una solucion aproximada de (2.1) y r(0) = b Ax(0) . El vector de error e(0) = x x(0)
satisface
Ae(0) = Ax Ax(0) = b Ax(0) = r(0) .

(2.4)

De manera que conocido x(0) , puede calcularse r(0) y posteriormente e(0) resolviendo el sistema
(2.4). Es de esperar que el vector x(1) = x(0) + e(0) sea una aproximacion mas precisa a la soluci
on
de (2.1) que x(0) , pues
x(1) = x(0) + e(0) x e(0) + e(0) .
28

El proceso desarrollado con x(0) puede repetirse para x(1) , generando as aproximaciones mejores
x(2) , x(3) , . . ., a la solucion. El exito de este refinamiento iterativo depende del calculo de los
residuos r(i) con una buena precision, para evitar la cancelacion en la resta.
Ejemplo 2.3. En [4] se considera

420 210
210 140

140 105
105 84

el sistema mal acondicionado


140 105
x1
875

105 84
x2 = 539 ,
84 70 x3 399
70 60
x4
319

de solucion x = (1, 1, 1, 1)T . El n


umero de condicion de la matriz, en norma dos, es del orden de
1,5514 104 . En las otras dos normas, el n
umero aumenta a 2,8375 104 . Utilizando eliminaci
on
gaussiana con pivotaje parcial, se tiene la aproximacion a la solucion
x(0) = (0,999988, 1,000137, 0,999670, 1,000215)T .
Varios pasos del refinamiento iterativo proporcionan los resultados
x(1) = (0,999994, 1,000069, 0,999831, 1,000110)T
x(2) = (0,999996, 1,000046, 0,999891, 1,000070)T
x(3) = (0,999993, 1,000080, 0,999812, 1,000121)T
x(4) = (1,000000, 1,000006, 0,999984, 1,000011)T .
El u
ltimo dato calculado tiene cuatro cifras significativas correctas de la solucion (en norma
eucldea) y puede tomarse como mejor aproximacion a la solucion exacta.

2.3.

M
etodo de eliminaci
on gaussiana

Recordamos primero varios aspectos del metodo de eliminacion gaussiana, que necesitaremos
para la descripcion y explicacion del algoritmo asociado. Si bien la eliminacion gaussiana es un
procedimiento programable de discusion y resolucion de un sistema lineal general como (2.1),
esta seccion considerara el caso m = n con A invertible, de modo que (2.1) tiene solucion u
nica.
Escribimos (2.1) como un sistema de ecuaciones
a11 x1 + a12 x2 + + a1n xn

b1

a21 x1 + a22 x2 + + a2n xn

b2


an1 x1 + an2 x2 + + ann xn

(2.5)

bn ,

Recordemos que el metodo de eliminacion gaussiana para este caso consta de dos etapas:
(i) Eliminacion de incognitas y sustitucion progresiva: se pasa del sistema (2.5) a traves de
sistemas equivalentes hasta llegar a un sistema triangular superior.
(ii) Sustitucion regresiva: resolucion escalonada del sistema equivalente de tipo triangular superior, despejando las incognitas desde la u
ltima ecuacion hasta la primera.

29

La primera etapa puede describirse de dos formas, una algebraica y otra matricial. La primera
nos interesara para la descripcion del algoritmo y la segunda al tratar la llamada factorizacion LU
de la matriz A. Desde el punto de vista algebraico, la etapa incluye un proceso de eliminaci
on de
incognitas, con posible intercambio de filas (pivotaje) y una transformacion del termino independiente. Este proceso tiene una estructura algortmica que presentaremos a continuacion. Desde el
punto de vista matricial, el procedimiento consta de la aplicacion sucesiva de operaciones elementales (vease el apendice al final de la leccion) sobre las filas de la matriz ampliada, hasta llevar
el sistema a uno equivalente de tipo triangular superior. Las operaciones elementales constituyen
la version matricial de las operaciones realizadas en el algoritmo, incluyendo el pivotaje.
Ejemplo 2.4. Recordamos lo descrito anteriormente con un ejemplo. Primero aparecen los
sucesivos sistemas equivalentes y despues las correspondientes matrices ampliadas. Los sistemas
equivalentes son:
x1 + 2x2 x3 + x4 = 1
2x1 2x2 + x3 x4 = 1
4x1 10x2 + 5x3 x4 = 1
2x1 14x2 + 4x3 x4 = 0

x1 + 2x2 x3 + x4 = 1
6x2 + 3x3 3x4 = 1
18x2 + 9x3 5x4 = 5
18x2 + 6x3 3x4 = 2

x1 + 2x2 x3 + x4 = 1
6x2 + 3x3 3x4 = 1
4x4 = 2
3x3 + 6x4 = 1

x1 + 2x2 x3 + x4 = 1
6x2 + 3x3 3x4 = 1
3x3 + 6x4 = 1
4x4 = 2
Y la transformacion al sistema triangular superior, desde el
forma siguiente:

1
2
1
2
1 1 | 1
2 2

0 6
1
1
|
1

[A|b] =
4 10 5 1 | 1 0 18
2 14 4 1 | 0
0 18
30

punto de vista matricial, es de la


1
3
9
6

1
3
5
3

| 1
| 1

| 5
| 2

1
0

0
0

2 1
6 3
0
0
0 3

1
3
4
6

|
|
|
|

1
1
0
1

0
2
1
0

2 1
6 3
0 3
0
0

1
3
6
4

|
|
|
|

1
1
.
1
2

La sustitucion regresiva, a partir del u


ltimo sistema, da la solucion:
x4 = 1/2
6x4 1
= 4/3
x3 =
3
3x3 3x4 + 1
x2 =
= 1/4
6
x1 = 1 2x2 + x3 x4 = 2/3.

2.3.1.

Algoritmo de eliminaci
on gaussiana

Describiremos aqu el algoritmo de eliminacion gaussiana con pivotaje [6].


Eliminaci
on de inc
ognitas y sustituci
on progresiva
Denotamos por
A(k) x = b(k) , k = 1, . . . , n,
a los sucesivos sistemas equivalentes para llevar el sistema original (k = 1) al de tipo triangular
superior (k = n). Como se ha observado anteriormente, el paso de un sistema, digamos k, al
siguiente k + 1, consta de tres operaciones:
(i) Elegir, de todas las ecuaciones en las que quede la incognita xk a eliminar, aquella en la
que el coeficiente de dicha incognita sea de mayor valor absoluto y permutar dicha ecuaci
on
con la k-esima (pivotaje).
(ii) Eliminar de las restantes ecuaciones, a partir de la k-esima, la incognita xk , comparando
cada ecuacion con esta.
(iii) Transformar cada ecuacion, incluyendo el termino independiente, seg
un la operacion realizada para eliminar la incognita xk .
Describimos ahora en operaciones estas tres etapas [6]. Observemos primero que la inclusi
on
del pivotaje es siempre virtual; en la practica no se intercambian fsicamente las filas. Lo que se
hace es definir un vector p = (p(1), . . . , p(n)) de ndices con, inicialmente, p(j) = j, j = 1, . . . , n.
Los ndices del vector p establecen la posicion de las ecuaciones, de tal manera que, en cada
momento, p(i) es el ndice en la memoria del ordenador, de la ecuacion que estara la i-esima de
llevarse a cabo los intercambios.

31

Para k = 1, . . . , n 1, denotemos el sistema k-esimo en la forma


(k)

(k)

(k)

(k)

(k)

(k)

(k)

(k)

(k)

(k)

(k)

ap(1)1 x1 + ap(1)2 x2 + + ap(1)k xk + + ap(1)j xj + + ap(1)n xn = bp(1)


ap(2)2 x2 + + ap(2)k xk + + ap(2)j xj + + ap(2)n xn = bp(2)
..
.
(k)

(k)

..
.

(k)

(k)

ap(k)k xk + + ap(k)j xj + + ap(k)n xn = bp(k)


..
.
(k)

(k)

..
.

(k)

(k)

ap(i)k xk + + ap(i)j xj + + ap(i)n xn = bp(i)


..
.
(k)

(k)

(k)

..
.
(k)

ap(n)k xk + + ap(n)j xj + + ap(n)n xn = bp(n) .


Buscamos ahora obtener los coeficientes del sistema equivalente k + 1 a partir del k-esimo.
Primero elegimos, de entre las ecuaciones p(k) hasta p(n), aquella, que denotaremos por p(l),
(k)
cuyo coeficiente ap(l)k tenga mayor valor absoluto, es decir
(k)

(k)

|ap(l)k | = max |ap(i)k |,


kin

e intercambiamos virtualmente la posicion de las ecuaciones p(l) y p(k), simplemente intercambiando los correspondientes valores en el vector p, quedando este actualizado para el siguiente
pivotaje.
La segunda etapa elimina la incognita xk de las restantes ecuaciones a partir de la p(k)-esima
(la cual, de realizarse el intercambio, estara en la posicion k-esima). Para la eliminacion de xk
en la ecuacion con ndice p(i), i = k + 1, . . . , n, se resta a la ecuacion p(i)-esima lp(i)k veces la
p(k)-esima, donde
(k)

lp(i)k =

ap(i)k
(k)

(2.6)

ap(k)k

Si ponemos nombres a los elementos, la ecuacion p(k)-esima es la ecuacion pivotal, el coeficiente


(k)
ap(k)k es el pivote, mientras que los n
umeros (2.6) se llaman multiplicadores. La transformaci
on
de las ecuaciones queda entonces as: para i = k + 1, . . . n,
(k)

lp(i)k =

ap(i)k
(k)

ap(k)k

Fijo i, para j = k + 1, . . . , n
(k+1)

= ap(i)j lp(i)k ap(k)j

(k+1)

= bp(i) lp(i)k bp(k) .

ap(i)j
bp(i)

(k)

(k)

(k)

(k)

Los restantes elementos de las filas p(1), . . . , p(k1) no cambian, mientras que para i = k+1, . . . , n
(k+1)
es ap(i)k = 0 (eliminacion de xk ). Esto completa las otras dos etapas del paso k 7 k + 1.
32

Sustituci
on regresiva
El sistema escalonado final A(n) x = b(n) suele denotarse por U x = c y tendra la forma
up(1)1 x1 + up(1)2 x2 + + up(1)n xn = cp(1)
up(2)2 x2 + + up(2)n xn = cp(1)
..
..
.
.
up(n)n xn = cp(n) .
De manera que la solucion del problema puede obtenerse despejando las incognitas, a partir de
la u
ltima ecuacion hasta la primera.

xn =

xi =

cp(n)
up(n)n

n
X
1
cp(i)
up(i)j xj ,
up(i)i

i = n 1, . . . , 1.

j=i+1

Aspectos de implementaci
on y coste operativo
Ya hemos tratado el intercambio virtual de filas que realiza el ordenador para el pivotaje, a

traves del vector de punteros p. Este


se inicializa como el vector natural de ndices p = (1, 2, . . . , n)
y luego se actualiza en cada paso k = 1, . . . , n 1, por ejemplo del siguiente modo:

Algoritmo 2.1. Eliminaci


on gaussiana con pivotaje.
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.
bi : Componentes del termino independiente.
Inicializacion del vector de punteros
Desde i = 1 hasta n
pi i
fin
Desde k = 1 hasta n 1
Eleccion de la fila pivotal
maxi = 0, ind = 0
desde i = k hasta n
elem |ap(i)k |
si maxi < elem
maxi = elem, ind = i
fin if
fin
Actualizacion del vector de punteros
p(ind) p(k)

33

Si el objetivo de la programacion del metodo es solo el calculo de la solucion del sistema


(los datos de entrada pueden proceder de un fichero o proporcionarse directamente al programa)
entonces se pueden almacenar los elementos del sistema k-esimo en los originales, actualizandose
estos en cada paso, as como los multiplicadores. De este modo, no es necesario definir nuevas
variables en la implementacion.
Algoritmo 2.1. Eliminaci
on gaussiana con pivotaje (Continuaci
on).
Factorizacion y sustitucion progresiva. Ceros en la columna k desde la fila p(k + 1) hasta la
fila p(n).
desde i = k + 1 hasta n
ap(i)k ap(i)k /ap(k)k
desde j = k + 1 hasta n
ap(i)j ap(i)j ap(i)k ap(k)j
fin
bp(i) bp(i) ap(i)k bp(k)
fin
fin
Igualmente, la estructura de la sustitucion regresiva permite almacenar la solucion x en el
propio termino independiente b, economizando nuevamente en la definicion de variables.
Algoritmo 2.1. Eliminaci
on gaussiana con pivotaje (Continuaci
on).
Sustitucion regresiva
bp(n) bp(n) /ap(n)n
Desde i = n 1 hasta 1
desde j = i + 1 to n
bp(i) bp(i) bp(j) ap(i)j
fin
bp(i) bp(i) /ap(i)i
fin
Las f
ormulas del pseudocodigo permiten calcular bastante bien el n
umero de operaciones
que realiza el algoritmo. Para cada k = 1, . . . , n 1, la eliminacion de incognitas requiere, para
i = k + 1, . . . , n, una division para calcular el pivote y dos multiplicaciones para actualizar ap(i)j
(j = k + 1, . . . , n) y bp(i) . Esto nos lleva a un total de
n1
X

n
X

n
X

k=1 i=k+1 j=k+1


n1
X

n
X

1+

n1
X

n
X

multiplicaciones

k=1 i=k+1

divisiones,

k=1 i=k+1

es decir
n1
X

(n k)2 + (n k) =

k=1

34

n3 n
3

operaciones para transformar A y


n1
X

(n k) =

k=1

n2 n
2

operaciones para transformar b (donde se ha utilizado la formula


N
X

j2 =

j=1

N (N + 1)(2N + 1)
.
6

Por su parte, la sustitucion regresiva requiere, para cada i = 1, . . . , n, n i productos y una


division; esto es
n
X

1=n

i=1
n1
X

n
X

divisiones

1=

n1
X

i=1 j=i+1

(n i) =

i=1

n2 n
2

multiplicaciones

es decir, n 2+n operaciones. Observemos entonces que el mayor coste operativo procede de la
transformacion de la matriz A. Cuando esta tiene cierta estructura (veanse los ejercicios al final
de la leccion) puede modificarse el algoritmo para reducir el n
umero de operaciones. A pesar de
3
ello, el coste de la eliminacion (del orden de n /3, siendo n el tama
no del sistema) es muy inferior
al de su metodo predecesor de las reglas de Cramer (recuerdese lo escrito en la introducci
on),
si bien para matrices muy grandes este metodo directo suele sustituirse por metodos iterativos
(tema 4), sobre todo si la matriz tiene una estructura que beneficia el proceso iterativo.
Nota: Al calcular el coste operativo en los algoritmos, suelen aparecer sumas enlazadas con
dos o tres ndices. Si estamos interesados en el termino dominante, es decir, el de mayor potencia
cuando las dimensiones son grandes, este termino puede obtenerse sustituyendo las sumas por
integrales y ajustando los lmites de integracion [7]. Por ejemplo
n X
i
X

n
X

1=

i=1 j=1

i=

i=1

n(n + 1)
n2

2
2

(n

grande),

puede sustituirse por


Z

nZ i

Z
1djdi =

idi =
0

n2
.
2

Hay que observar tambien que el algoritmo puede implementarse sin pivotaje, eliminando
la primera etapa de intercambio de ecuaciones y sustituyendo p(j) por j en todas las formulas
anteriores. Sin embargo, el pivotaje es necesario en bastantes situaciones. Por una parte, no
siempre puede completarse el metodo de eliminacion gaussiana sin pivotaje, dado que es posible
la aparicion de un pivote nulo en el proceso [6]. Pero tambien, desde el punto de vista numerico, un
pivote no nulo pero muy peque
no en relacion con las otras cantidades proporciona multiplicadores
muy grandes que pueden amplificar los errores de la aritmetica finita.
35

Ejemplo 2.5. El siguiente ejemplo se encuentra en [5]. Los valores x1 = x2 = 1 dan la soluci
on
del sistema
1,133x1 + 5,281x2 = 6,414
24,14x1 1,210x2 = 22,93.
Haciendo las operaciones con cuatro cifras significativas, resolvemos el sistema con eliminaci
on
gaussiana sin pivotaje. El u
nico multiplicador a calcular es l21 = 24,14/1,133 = 21,31. Con cuatro
dgitos de precision, el sistema triangular resultante es
1,133x1 + 5,281x2 = 6,414
113,7x2 = 113,8,
el cual, por sustitucion regresiva, da la solucion
x2 =

113,8
= 1,001,
113,7

x1 =

6,414 5,281(1,001)
6,414 5,286
=
= 0,9956.
1,133
1,133

El error se debe al tama


no del multiplicador, en comparacion con los restantes elementos. Si
utilizamos pivotaje, pasamos al sistema
24,14x1 1,210x2 = 22,93
1,133x1 + 5,281x2 = 6,414.
Ahora, el multiplicador es l21 = 1,133/24,14 = 0,04693 y el sistema triangular resultante tiene la
forma
24,14x1 1,210x2 = 22,93
5,338x2 = 5,338.
Por sustitucion regresiva, la solucion es
x2 =

5,338
= 1,000,
5,338

x1 =

22,93 + 1,210(1,000)
= 1,000.
24,14

Por u
ltimo, el pivotaje implementado se denomina parcial, al afectar solo al intercambio de
ecuaciones (o filas de la matriz ampliada del sistema). Puede realizarse tambien lo que se llama
pivotaje total, intercambiando ademas posiciones de las incognitas (o columnas de la matriz
ampliada) [4].

2.3.2.

Interpretaci
on matricial del algoritmo. Factorizaci
on LU

Al principio de la leccion hemos comentado la interpretacion matricial del metodo de eliminacion gaussiana, a traves de las operaciones elementales. Tal interpretacion lleva asociada una
factorizacion de la matriz del sistema, que es la que comentamos en esta seccion. Es conveniente
seguir la explicacion utilizando el apendice 1 del final del tema.
Recordemos que las operaciones elementales sobre las filas de una matriz son:
Intercambiar dos filas.
36

Multiplicar una fila por un n


umero.
Sumar dos filas.
A ellas se suele a
nadir la combinacion de las dos u
ltimas:
Sumar a una fila un m
ultiplo de otra.
Todas ellas aparecen en el proceso de eliminacion gaussiana y su efecto sobre una matriz A
equivale a multiplicar por la izquierda de A por una matriz asociada.
Consideremos en principio el algoritmo de eliminacion gaussiana sin pivotaje (lo que implica
obviar de momento la primera de las operaciones elementales mencionadas). Dada la forma de
las matrices asociadas a las operaciones elementales, observemos que el paso k 7 k + 1 viene
dado matricialmente a traves de la multiplicacion por la matriz

1 0
0
0
0 1
0
0
. .
..
.
.. ..
.
..

1
0
M (k) = 0 0
,
0 0 l

k+1,k
. .
..
..
.. ..
.
.
0 0 ln,k
1
que difiere de la matriz identidad solo en la columna k, la cual tiene la forma
(0, 0, , 0, 1, lk+1,k , , ln,k )T .
Entonces
A(k+1) = M (k) A(k) ,

b(k+1) = M (k) b(k) .

La acumulacion matricial de todas las etapas lleva al resultado siguiente [6].


Teorema 2.3.1 (Factorizaci
on LU ). Supongamos que el sistema (2.1) admite eliminaci
on gaussiana sin pivotaje hasta el sistema triangular superior U x = c. Sea L la matriz

1
0

0
0
.
..
l21
1

0
0

..
..
..
..
..
..
.
.
.
.
.
.
L= .
.
..
..
..
..
..
..
.
.
.
.
.

l
l
l
1
0
n1,1

n1,2

ln,1

ln,2

n1,n2

ln,n1

Entonces A = LU y b = Lc.
Demostraci
on. Seg
un hemos comentado previamente
U = A(n) = M (n1) A(n1) = = M (n1) M (1) A
c = b(n) = M (n1) b(n1) = = M (n1) M (1) b.
37

Entonces, basta ver que



1
= (M (1) )1 (M (n1) )1 .
L = M (n1) M (1)
En el apendice 1 sobre operaciones elementales tenemos probado que para k = 1, . . . , n 1,

1 0
0
0
0 1
0
0
. .
..
..
.. ..
.

1
0
(M (k) )1 = 0 0
,
0 0 l

k+1,k 0
. .
..
.
.. ..
.
..
0 0 ln,k
1
y de nuevo la proposicion 2.6.1 en el apendice 1 nos da el resultado. 
La factorizacion LU permite reinterpretar matricialmente las etapas de la eliminaci
on en
gaussiana, en el sentido siguiente:
La eliminacion de incognitas corresponde a llevar a cabo la factorizacion A = LU , con L la
matriz de multiplicadores y U la matriz del sistema triangular superior final. Los elementos
de L y de U pueden almacenarse, como ya mencionamos en la seccion anterior, en la propia
matriz A, de manera que esta, al final, tendra la forma

u11
u12

u1,n1
u1n
l21
u22

u2,n1
u2n

l31
l32
u33

u3,n1
u3n

.
A .
..
..
..
..

..
.
.
.

ln1,1 ln1,2 ln1,n2 un1,n1 un1,n


ln,1
ln,2

ln,n1
un,n
El pseudocodigo es entonces (comparese con la seccion anterior)

Algoritmo 2.2. Factorizaci


on LU .
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.
bi : Componentes del termino independiente.
Desde k = 1 hasta n 1
desde i = k + 1 hasta n
aik aik /akk
desde j = k + 1 hasta n
aij aij aik akj
fin
fin
fin
38

La sustitucion progresiva corresponde a obtener el vector c, resolviendo el sistema Lc = b.


Observemos que, como L es triangular inferior, la resolucion se lleva a cabo al contrario
que la sustitucion regresiva, es decir, se resuelve el sistema desde la primera ecuacion a la
u
ltima. Si los elementos de L se almacenan en las correspondientes posiciones de A, se tiene
el algoritmo

Algoritmo 2.2 (continuaci


on). Sustituci
on progresiva.
Desde k = 1 hasta n 1
desde i = k + 1 hasta n
bi bi aik bk
fin
fin
El vector c se almacena en el propio vector b.
La sustitucion regresiva corresponde, como sabemos, a la resolucion del sistema U x = c,
y tiene las formulas de la seccion anterior, donde U se almacena en los correspondientes
elementos de A y el vector c en el propio b.

Algoritmo 2.2.(Continuaci
on). Sustituci
on regresiva
bn bn /ann
Desde i = n 1 hasta 1
desde j = i + 1 hasta n
bi bi bj aij
fin
bi bi /aii
fin
La existencia de la factorizacion LU depende de la posibilidad del desarrollo completo de
la eliminacion gaussiana sin pivotaje. Se puede comprobar que para una matriz cuadrada e
invertible A, existe la factorizacion LU si y solo si todas las submatrices menores principales de
A son invertibles [6].
A la vista de la relacion matricial observada entre los sistemas k y k + 1 de la eliminaci
on
sin pivotaje, puede deducirse la influencia de la incorporacion de este. Hay que tener presente
que eliminar con pivotaje parcial en un sistema es igual que eliminar sin pivotaje en un sistema
obtenido permutando las ecuaciones del original. En este caso aparecen las matrices de permutacion, que son productos de las matrices elementales asociadas a la operacion de permutar
filas.
Ejemplo 2.6. Para el sistema
2x1 3x2 + 14x3 = 4
2x1 + 2x2 3x3 = 5
4x1 + 2x2 2x3 = 10,
39

la eliminacion gaussiana con pivotaje parcial requiere, en su primer paso, intercambiar las
filas 1 y 3, de manera que la primera transformacion del vector de punteros es p = (3, 2, 1). La
inmediata eliminacion de x1 lleva al sistema
4x1 + 2x2 2x3 = 10
x2 x3 = 0
2x2 + 13x3 = 9.
El nuevo sistema requiere un nuevo intercambio entre las filas p(2) y p(3), de modo que ahora
p = (3, 1, 2). Al eliminar x2 , tenemos
4x1 + 2x2 2x3 = 10
2x2 + 13x3 = 9

(2.7)

4,5x3 = 4,5.
Observemos que si denotamos por P la matriz de permutacion que se obtiene intercambiando las
filas de la matriz identidad seg
un p, es decir,

0 0 1
P = 1 0 0,
0 1 0
y si multiplicamos por P a los elementos del sistema original, nos queda
4x1 + 2x2 2x3 = 10
2x1 3x2 + 14x3 = 4
2x1 + 2x2 3x3 = 5,
el cual, resuelto sin pivotaje, nos lleva al sistema equivalente (2.7).
El ejemplo ilustra un resultado general. Si P denota la matriz de permutacion obtenida a
partir de la identidad intercambiando las filas seg
un el u
ltimo valor del puntero de la eliminaci
on
con pivotaje, entonces eliminar con pivotaje parcial el sistema Ax = b equivale a eliminar sin
pivotaje el sistema P Ax = P b. De este modo, los pasos de la eliminacion para este caso son:
Factorizacion P A = LU .
Sustitucion progresiva Lc = P b.
Sustitucion regresiva U x = c.
Pueden identificarse las tres etapas en el programa expuesto en la seccion anterior.

2.4.
2.4.1.

Problemas de mnimos cuadrados. Factorizaci


on QR
Introducci
on

Dos puntos de vista ofrece el planteamiento de esta seccion. Vamos primero a ilustrar la idea
de aproximacion y a centrarnos en la resolucion teorica de los problemas de mnimos cuadrados.
40

Por otro lado, discutiremos tecnicas numericas de resolucion del problema lineal de mnimos
cuadrados para un sistema lineal sobredeterminado, con su aplicacion a los problemas de ajuste.
Los problemas de aproximacion son muy habituales en la Fsica y la Ingeniera. Es destacable
tambien su diversidad, tanto en su planteamiento como en las tecnicas numericas aplicadas para
su resolucion. Sin embargo, buena parte de los problemas de aproximacion pueden establecerse
en un lenguaje matematico com
un. El planteamiento formal sera el siguiente: dado un espacio
real X dotado de una norma, un subconjunto S de X y un elemento x de X, se dice que s S
es una mejor aproximacion a x por elementos de S si
||x s || = nf ||x s||.
sS

La interpretacion del termino mejor aproximacion depende entonces de la norma con la que estemos trabajando, as como de las propiedades del espacio X y del subconjunto S donde buscamos
la mejor aproximacion. Ejemplos tpicos de este planteamiento general son los siguientes.
Aproximaci
on de funciones Un problema importante en Analisis Numerico es la computaci
on
de funciones especiales como las trigonometricas o las hiperbolicas. Ello puede realizarse aproximando la funcion por otra mas sencilla de evaluar. Como ilustracion de esto, podemos buscar
aproximar la funcion sin x en el intervalo [0, /2] por una lnea recta p(x) = ax + b.

Figura 2.2: Aproximaciones a f (x) = sin x.

Una primera idea consiste en utilizar el desarrollo en serie de Taylor. Podemos escribir
sin x = x

x3 x5
+
.
3!
5!
41

Truncando este desarrollo en el termino lineal, obtenemos nuestra primera aproximacion a sin x:
sin x p1 (x) = x.
La aproximacion esta representada por la lnea de trazo continuo de la figura. Puesto que el
desarrollo de Taylor se toma en torno al cero, la aproximacion es muy buena para valores peque
nos
de x. Sin embargo, para x = /2, el error es aproximadamente 0,57, que la mayora de la gente
considerara inaceptablemente grande.
Otra posibilidad es elegir la recta que pasa por los puntos extremos del grafico de sin x (lnea
discontinua en el dibujo). Esta aproximacion esta dada por
2x
.

El error maximo en esta aproximacion es aproximadamente 0,211 y se alcanza en el punto x =


0,881 -una mejora considerable con respecto a la aproximacion de la serie de Taylor.
Sin embargo, esto puede mejorarse. Imaginemos que movemos esta lnea discontinua hacia
arriba manteniendo su pendiente. El error maximo en x = 0,881 decrecera. El error en los puntos
extremos aumentara, pero hasta que la lnea no se mueva a la mitad del error maximo original
(0,211), el error en los puntos extremos sera estrictamente menor que el error en x = 0,881. As,
si escribimos
2x
p3 (x) = 0,105 +
,

(notese que 0,105 0,211/2) obtenemos una aproximacion cuyo error maximo ocurre en tres
puntos: 0, 0,881, /2. Esta aproximacion se muestra en la u
ltima lnea de la figura y es la mejor
posible. Hemos encontrado la solucion al siguiente problema: elegir a y b tal que
p2 (x) =

F (a, b) = k sin x ax bk = max | sin x ax b|


0x/2

es mnimo. Notese que este problema de mnimos no se puede resolver por las tecnicas usuales
para el calculo de extremos del calculo infinitesimal, pues F no es una funcion derivable de a, b.
Sistemas sobredeterminados o incompatibles Sea A una matriz real con m filas y n columnas. Tratemos de resolver el sistema A~x = ~b donde ~b es un vector conocido de m componentes
y ~x, desconocido, tiene n componentes. Sea S un subespacio de Rm generado por los n vectores
columna de A. Supongamos que
O bien que n < m, es decir, hay menos incognitas que ecuaciones.
O bien n m, pero entre las n columnas de A no hay m independientes, es decir, hay un
n
umero de incognitas mayor o igual que el de ecuaciones, pero la matriz A no tiene rango
maximo.
Si ~b no esta en S, el sistema es incompatible. Puesto que, cuando ~x recorre Rn , A~x nunca coincide
con ~b, podemos preguntarnos para que ~x es kA~x ~bk lo menor posible, siendo k k una norma
en Rm previamente elegida. Tales ~x juegan el papel de soluciones en un sentido generalizado.
Observemos que su determinacion comprende dos etapas:
(i) Hallar la (o las) mejores aproximaciones ~b a ~b por elementos de la imagen S.
(ii) Resolver el (o los) sistemas A~x = ~b en sentido convencional.
De manera que estos sistemas incorporan, en la etapa (i), un problema de aproximacion.
42

Problemas de ajuste Una aplicacion tpica del apartado anterior viene dada por muchos
problemas de ajuste. Podemos ilustrarlos con el siguiente ejemplo. Supongamos que, cuando se
utiliza una pila de V voltios para cargar un condensador, la diferencia de potencial v entre los
bornes del condensador despues de t segundos satisface una relacion de la forma
v = v(t) = V (V v0 )et/ ,

(2.8)

donde v0 es la diferencia de potencial inicial (en t = 0) y es una constante del circuito. Para
una pila de V = 10 voltios se han obtenido las siguientes mediciones:
t (seg)

0.5

v (volt)

6.36

6.84

7.26

8.22

8.66

8.99

9.43

9.63

A partir de estos datos, nuestro problema es tratar de ajustar los valores de v0 , , as como
utilizar la formula anterior para estimar v cuando t = 6.
No hay ning
un motivo para elegir un dato experimental de la tabla frente a otro, de manera
que ha de contarse con todos ellos y tratar de obtener valores de v0 , y de modo que si
w = (6,36, 6,84, 7,26, 8,22, 8,66, 8,99, 9,43, 9,63)T ,
v = (v(t0 ), v(t1 ), v(t2 ), v(t3 ), v(t4 ), v(t5 ), v(t6 ), v(t7 ))T ,
entonces ||w v|| sea lo menor posible. Si sustituimos directamente los datos en la formula (2.8),
obtenemos un sistema de ocho ecuaciones para dos incognitas, pero no lineal. Una manera de
superar este obstaculo (vease el apendice 2 al final de la leccion) es linealizar el problema. Si
tomamos logaritmos en (2.8), tenemos
t
ln(V v(t)) = ln(V v0 ) ,

(2.9)

y podemos considerar como nuevas incognitas x1 = ln(V v0 ) y x2 = 1/ . As, el problema de


aproximacion para (2.9) lleva al sistema incompatible Ax = b, con x = (x1 , x2 )T y

ln(10 6,36)
1 0,5
ln(10 6,84)
1 1

ln(10 7,26)
1 2

ln(10 8,22)
1 3

A=
, b = ln(10 8,66) .

1 4
ln(10 8,99)
1 5

ln(10 9,43)
1 7
1

ln(10 9,63)

Una vez resuelto este, se despejan las incognitas = 1/x2 , v0 = V ex1 = 10 ex1 . La resoluci
on
proporciona los parametros = 3,5925 y v0 = 5,7679, as como una estimacion del valor de v en
t = 6 de 9,2034. La figura 2.3 muestra el ajuste proporcionado por la formula (2.8) a los datos
de la tabla.
El ajuste consiste entonces en acercarse a todos los datos a la vez lo mejor posible (en el
sentido dado por la norma) en lugar de pasar por algunos de ellos o por todos. En la practica, el
n
umero de datos a ajustar suele ser mucho mayor y en la mayora de las ocasiones la expresi
on
para v(t) es tambien una hipotesis impuesta a partir de la disposicion de los datos experimentales.
43

Figura 2.3: Datos de la tabla (con estrellas ) y funcion (2.8) dada por el ajuste.

2.4.2.

El problema lineal de mnimos cuadrados

Los problemas de aproximacion de los que nos ocuparemos se pueden formular en general de la
siguiente forma: dado un espacio vectorial E con un producto interno, ~y E y S = h~v1 , ~v2 , . . . , ~vk i
un subespacio de E, se dice que p~ S es una mejor aproximacion a ~y por elementos de S si
para cada p~ S, es ||~y p~ || ||~y p~||, donde || || es la norma procedente del producto interno
definido en E.
Esto equivale a lo siguiente: p~ = 1~v1 + 2~v2 + + k~vk es una mejor aproximacion a ~y por
elementos de S si 1 , . . . , k son tales que
||~y 1~v1 2~v2 k~vk ||
es mnimo. Tales problemas suelen llamarse de mnimos cuadrados. As, partiendo del planteamiento general, hemos dotado a los elementos con mas propiedades. Ahora el espacio E es vectorial y
eucldeo, la norma procede de un producto interno y el subconjunto de proyeccion S es un subespacio. Veremos despues que estas propiedades son fundamentales para la resolucion de estos
problemas. En el caso particular de ser E = RN y de utilizar la norma eucldea, el problema de mnimos cuadrados tiene la siguiente forma: dados vectores linealmente independientes
~v1 , ~v2 , . . . , ~vk en Rn y un vector ~y en Rn , hay que determinar constantes 1 , . . . , k tales que
||~y 1~v1 2~v2 k~vk ||2
es mnimo. Aqu,
||~u||22 = ~uT ~u =

n
X
i=1

44

u2i ,

es la norma eucldea de Rn , procedente del producto interno usual


n
X

h~u, ~v i = ~uT ~v =

ui vi .

i=1

Hay analogos continuos del problema de mnimos cuadrados discreto. Por ejemplo, imaginemos
que queremos aproximar una funcion y(t) por un polinomio de grado k 1 en [1, 1]. Si definimos
~vj (t) = tj1 , j = 1, 2, . . . , k y consideramos la norma
||u(t)||22

u(t)2 dt,

=
1

procedente del producto interno


1

Z
hu, vi =

u(t)v(t)dt,
1

entonces nuestro problema se reduce otra vez a minimizar ||~y 1~v1 2~v2 k~vk ||2 . En
este caso, se suele tomar como E el conjunto de funciones y : [1, 1] R tales que
Z

y(t)2 dt < ,

denotado por L2 [1, 1].


En algunas aplicaciones, hay partes de la aproximacion que pueden ser mas importantes que
otras. Por ejemplo, si los puntos yi en un problema de mnimos cuadrados discreto varan en
precision, es preferible aproximar de forma que los datos menos precisos contribuyan en menor
medida al ajuste. Podemos tratar este problema redefiniendo el producto interno, de manera que
asignamos, a cada dato yi un peso i que mida la precision de la observacion. Esto nos lleva al
producto interno
h~u, ~v i =

n
X

i2 ui vi ,

i=1

que define la norma


n
X

||~u||2 =

i2 u2i .

i=1

Entonces, los datos menos precisos perderan influencia en la minimizacion de ||~y 1~v1 2~v2
k~vk ||.
Los problemas continuos tambien pueden ponderarse. Por ejemplo, si deseamos dar m
as importancia a los puntos extremos del intervalo [1, 1], podemos utilizar la norma
2

||u(t)|| =
1

u(t)2

dt.
1 t2

Puesto que la funcion peso 1/ 1 t2 tiende hacia infinito en t = 1, forzara un mejor ajuste
cerca de 1 y 1 que cerca de cero.
45

2.4.3.

Ortogonalidad

Puesto que a partir de un producto interno se puede definir una norma, todo espacio con producto interno es de manera natural un espacio normado, y tiene sentido hablar en el de distancias.
Por otra parte, en los espacios con producto interno hay una serie de conceptos que carecen de
sentido en espacios normados generales. El mas destacado es el de ortogonalidad. Dos vectores
de E se dicen ortogonales si su producto interno es nulo. El concepto de ortogonalidad generaliza
la nocion elemental de perpendicularidad de R2 y R3 y es fundamental para la aproximaci
on en
espacios con producto interno.

]J
J
6
~r
~y  JJ

J

J

 
J

J




J
*

 

J
(


(( (
(

(


(

(((

~v
(
(























Para ver por que, consideremos el problema de aproximar un vector ~y R3 por una combinacion lineal 1~v1 + 2~v2 de dos vectores linealmente independientes ~v1 , ~v2 . Nuestro criterio para
la mejor aproximacion requiere minimizar la norma del residuo ~r = ~y 1~v1 2~v2 .
La situacion geometrica se ilustra en la figura. Cuando 1 y 2 varan, el vector ~v = 1~v1 +2~v2
se mueve en un subespacio bidimensional representado en la figura por el plano. Las lneas con
trazo mas fino muestran una tpica aproximacion ~v y el correspondiente residuo ~r. La intuici
on
geometrica nos dice que el tama
no de ~r debera hacerse mnimo cuando ~r esta en angulo recto al
plano, como ilustran las lneas de trazo grueso.
En el caso de que la norma derive de un producto interno, puede darse un criterio que nos
permita reconocer si un elemento dado es la mejor aproximacion o no. Siguiendo la intuici
on
geometrica de la figura, tenemos
Sea E un espacio con producto interno, S un subespacio de E, ~y un elemento de E. Si
existe p~ , aproximacion optima a ~y por elementos de S, entonces tal mejor aproximaci
on es
u
nica y satisface
(*)

~y p~ es ortogonal a cada p~ S.

Recprocamente, si un elemento p~ satisface la condicion anterior, entonces es la mejor


46

aproximacion.
Es conocido que p~ se llama proyeccion ortogonal de ~y sobre el subespacio S.
Si S es de dimension finita, la relacion (*) da un medio practico para calcular p~ . Tomemos
una base ~v1 , ~v2 , . . . , ~vk de S. Podemos buscar entonces p~ en la forma

p~ =

k
X

i~vi .

i=1

para coeficientes 1 , . . . , k . Para que se verifique (*) se necesita y basta que ~y p~ sea ortogonal
a cada ~vi (al formar estos una base). Por tanto, los i satisfacen
h~y

k
X

i~vi , ~vj i = 0,

j = 1, 2, . . . , k,

i h~vi , ~vj i = h~y , ~vj i,

j = 1, 2, . . . , k.

i=1

o bien
k
X

(2.10)

i=1

Las ecuaciones (2.10) se llaman ecuaciones normales del problema. La matriz del sistema (h~vi , ~vj i)i,j ,
que es la misma para todas las ~y E, se llama matriz de Gram de los vectores ~vi . El sistema
(2.10) es compatible y determinado, dado que la aproximacion optima existe y es u
nica.
Un caso particular se tiene cuando la base ~vi es ortogonal. Entonces (2.10) toma la forma
||~vj ||2 j = h~y , ~vj i,

j = 1, 2, . . . , k,

con lo que
p~ =

k
X
h~y , ~vj i
j=1

||~vj ||2

~vj .

El nombre de mnimos cuadrados procede del hecho de que el


Psistema (2.10) se obtiene tambien
al minimizar la funcion de k variables F (1 , . . . , k ) = ||~y ki=1 i~vi ||2 .
Aplicaci
on al problema continuo de mnimos cuadrados
Ilustramos aqu la aplicacion de las formulas anteriores al caso de un problema continuo
de aproximacion. Supongamos que queremos encontrar el polinomio p de grado uno que mejor
aproxime a la funcion f (t) = t2 en el sentido de mnimos cuadrados en [0, 1].
Identifiquemos elementos. Cuando no se especifica en el problema, el producto interno utilizado en el problema es el analogo continuo a la norma eucldea entre vectores, es decir
Z 1
hu, vi =
u(t)v(t)dt,
0

y por tanto la norma


||u(t)||22

u(t)2 dt.

=
0

47

El subespacio S en el que se encuentra la mejor aproximacion es el de los polinomios de grado


menor o igual que uno, por tanto podemos escribir p(t) = a + bt, con a, b constantes desconocidas.
La obtencion de a y b identifica la mejor aproximacion. Esto se realiza a traves de las ecuaciones
normales.
Una base de S vendra dada por las funciones 1, t. Por tanto, si p es la mejor aproximaci
on,
la funcion f p debe ser ortogonal a S, es decir,
hf p, 1i = hf p, ti = 0.
Esto nos lleva al sistema lineal de ecuaciones normales para a y b:
Z 1
Z 1
2
(t2 a bt)tdt = 0,
(t a bt)dt =
0

es decir
Z
a
Z
a

dt + b
0
Z
1
tdt + b

t2 dt

tdt =
0
1

a + b/2 = 1/3,

0
2

t dt =

t3 dt a/2 + b/3 = 1/4.

De aqu, es a = 1/6, b = 1 y la mejor aproximacion es p(t) = 1/6 + t.


Aplicaci
on a sistemas lineales sobredeterminados
Muchos problemas de aproximacion o de ajuste desembocan en la resolucion de un sistema
lineal (recuerdese el ejemplo de la introduccion)
A~x = ~b,

A Mm,n (R), ~b Rm , ~x Rn ,

sobredeterminado (m > n, muchas mas ecuaciones que incognitas), con las columnas de A independientes (rango (A) = n) e incompatible, es decir, ~b
/ W = col(A). Por ejemplo,


1 1
5
1 2   15


1 3 x1 = 24 ,
(2.11)

x2

1 4
32
1 5
40
es de este tipo.
Si el sistema A~x = ~b no tiene solucion, entonces ~b no puede ser combinacion de las columnas
de A, es decir, ~b
/ W = col(A). Han de buscarse entonces valores de ~x de modo que, puesto
que A~x no puede ser ~b, este lo mas cerca posible de ~b, en el sentido de que la norma eucldea
||A~x ~b|| sea la menor posible. Tales ~x juegan el papel de soluciones en un sentido generalizado.
Su determinacion comprende dos etapas:
(i) Hallar la mejor aproximacion ~b a ~b por elementos de W (proyeccion ortogonal).
(ii) Resolver el sistema A~x = ~b en sentido convencional. La solucion ~xLS de este sistema se
llama solucion en el sentido mnimos cuadrados, pues por la caracterizacion de la proyecci
on
ortogonal, hace mnima las distancias ||A~x ~b|| cuando ~x recorre Rn .
48

En la practica, estas dos etapas se suelen reunir de la siguiente forma. Denotemos por Ai la
iesima columna de A. Puesto que ~b es la proyeccion ortogonal de ~b sobre W = col(A) y
~b = A~xLS , entonces la condicion de proyeccion ortogonal nos lleva a que ~b ~b = ~b A~xLS debe
ser ortogonal a cada columna de A:
h~b A~xLS , Aj i = 0,

j = 1, 2, . . . , n,

o, equivalentemente
hA~xLS , Aj i = hAj , ~bi,
de modo que las ecuaciones normales en este caso nos llevan a
AT A~xLS = AT ~b.

(2.12)

Si las columnas de A son linealmente independientes, el sistema de ecuaciones normales (2.12)


tiene solucion u
nica, y como hemos visto, es la solucion de A~x = ~b en el sentido mnimos cuadrados. De manera que para calcular la solucion mnimos cuadrados de un sistema A~x = ~b, en la
practica no se siguen las etapas (i) y (ii), sino que se plantea y resuelve directamente el sistema
(2.12). Por ejemplo, para el sistema (2.11) tenemos




5 15
116
T
T~
A A=
,A b =
,
15 55
435
y la solucion del sistema (2.12) en este caso es ~xLS = (2,9, 8,7)T .

2.4.4.

Resoluci
on num
erica

Intentamos ahora describir algoritmos para la b


usqueda de soluciones mnimos cuadrados de
un sistema lineal sobredeterminado. Para simplificar la literatura sobre esta cuestion (veanse
referencias como [3, 8] para una mayor profundizacion) nos restringiremos al caso en el que la
matriz del sistema tiene todas sus columnas independientes, de manera que la solucion en el
sentido mnimos cuadrados es u
nica. Discutiremos dos procedimientos: por un lado, la resolucion numerica de las ecuaciones normales y, por otro, el metodo proporcionado por la llamada
factorizacion QR de la matriz.
Resoluci
on num
erica de las ecuaciones normales
El metodo esta basado en algoritmos estandar de resolucion de (2.12), pero aprovechando
propiedades de la matriz B = AT A, concretamente, que es simetrica (B T = B) y definida
positiva (xT Bx > 0 para todo x 6= 0). Para este tipo de matrices, la factorizacion LU puede
sustituirse por otra mas eficiente, llamada factorizacion de Cholesky.
Dada una matriz real C, simetrica y definida positiva, entonces existe una matriz G, triangular inferior, con elementos diagonales positivos y tal que C = GGT
En efecto, al ser C definida positiva, puede comprobarse que admite una factorizacion LU . De la
simetra de C, se tiene
LU = C = C T = U T LT ,
49

lo que implica que


U (LT )1 = L1 U T .
El lado izquierdo de esta igualdad es una matriz triangular superior, mientras que el lado derecho
es una matriz triangular inferior. Entonces, necesariamente, amnas son diagonales. Luego existe
una matriz D diagonal con U (LT )1 = D. De este modo, U = DLT y por tanto C = LDLT .
Ademas, como C es definida positiva, se tiene que para x 6= 0,
xT Dx = xT L1 C(LT )1 x = ((LT )1 x)T C((LT )1 x) = y T Cy > 0,
donde y = (LT )1 x. Luego, D es definida positiva. Como es diagonal, esto implica que sus
1/2 la matriz diagonal, de elementos
elementos diagonales d
ii son positivos. Si denotamos por D
diagonales dados por dii , entonces podemos definir G = LD1/2 . Entonces, G es triangular
inferior (por serlo L y D1/2 , con elementos positivos en la diagonal (los de D1/2 ) y es tal que
C = LD1/2 D1/2 LT = (LD1/2 )(LD1/2 )T = GGT

El algoritmo de factorizacion es el siguiente (vease ejercicio 8).
Algoritmo 2.3. Factorizaci
on de Cholesky.
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.

a11 a11
Desde j = 2 hasta n
aj1 aj1 /ga11
fin
Desde i = 2 hasta n
desde k = 1 hasta i 1
aii aii a2ik
fin

aii aii
desde j = k + 1 hasta n
desde k = 1 hasta i 1
aji aji ajk
fin
aji aji /aii
fin
fin
Ejemplo 2.9. Para la matriz

1
A = 3
2

3
10
10
50

2
10 ,
21

el algoritmo proporciona la factorizacion A = GGT con

1 0 0
G = 3 1 0.
2 4 1
La resolucion de las ecuaciones normales (2.12) seguira entonces los siguientes pasos:
1. Calcular la parte triangular inferior de B = AT A (la parte triangular superior se obtiene
por simetra).
2. Calcular d~ = AT ~b.
3. Realizar la factorizacion de Cholesky B = GGT .
~
4. Resolver por sustitucion progresiva G~y = d.
5. Resolver por sustitucion regresiva GT ~xLS = ~y .
El procedimiento requiere del orden de (m + n6 )n2 operaciones.
Factorizaci
on QR de una matriz
El segundo procedimiento se basa en el siguiente resultado.
Cualquier matriz A con columnas independientes puede factorizarse en un producto A =
QR. La matriz Q tiene el mismo tama
no de A y sus columnas son ortonormales (ortogonales
entre s y con norma uno). La matriz R es cuadrada, triangular superior e invertible.
Antes de establecer un ejemplo de la factorizacion QR y su interpretacion algortmica, veamos lo
que significa. Puesto que R es no singular, podemos escribir AS = Q, donde S = R1 . En otras
palabras

s11 s12 s1n


0 s22 s2n
(~q1 , . . . , ~qn ) = (~v1 , . . . , ~vn )
,
..
..
...
.
.
0

snn

o, equivalentemente,
~q1 = s11~v1
~q2 = s12~v1 + s22~v2

~qn = s1n~v1 + s2n~v2 + + snn~vn .


As, ~q1 es justamente ~v1 normalizado. El vector ~q2 es una combinacion lineal de ~v1 y ~v2 que es
ortogonal a ~q1 o equivalentemente a ~v1 . En general, ~qj es una combinacion lineal de ~v1 , . . . , ~vj que
es ortogonal a ~q1 , . . . , ~qj1 , o equivalentemente a ~v1 , . . . , ~vj1 . La factorizacion QR genera entonces
una ortogonalizacion secuencial de las columnas de la matriz ~v1 , . . . , ~vn . Esta idea, sobre la que
descansa la factorizacion QR, se conoce como metodo de ortogonalizacion de Gram-Schmidt.
51

Teorema 2.4.1 (Metodo de ortogonalizaci


on de Gram-Schmidt). Sea {~v1 , ~v2 , . . . , ~vn } un sistema
libre de vectores en un espacio vectorial eucldeo (E, h, i). Entonces,
(a) Existe un nuevo sistema ortogonal y libre {~e1 , ~e2 , . . . , ~en } tal que ~e1 = ~v1 y para k = 2, . . . , n
el vector ~ek est
a determinado de forma u
nica por la relaci
on
~ek = ~vk 1k~e1 k1,k~ek1 ,
y las relaciones de ortogonalidad,
h~ek , ~el i = 0,

l = 1, . . . , k 1.

(b) El nuevo sistema genera el mismo espacio que el de partida. En particular, toda base de E
se puede ortogonalizar.
Demostraci
on. Dados {~v1 , ~v2 , . . . , ~vn } linealmente independientes, el primer vector no cambia:
~e1 = ~v1 .
para obtener ~e2 , escribimos ~e2 = ~v2 12~e1 e imponemos la ortogonalidad entre ~e1 y ~e2 ,
h~e2 , ~e1 i = 0 h~v2 , ~e1 i 12 h~e1 , ~e1 i = 0 12 =

h~v2 , ~e1 i
.
||~e1 ||2

Queda as determinado
~e2 = ~v2

h~v2 , ~e1 i
~e1 ,
||~e1 ||2

que, por construccion, es ortogonal a ~e1 . Ahora, para obtener ~e3 , se escribe ~e3 = ~v3 13~e1 23~e2
y se impone la ortogonalidad con ~e1 y ~e2 ,
h~v3 , ~e1 i
,
||~e1 ||2
h~v3 , ~e2 i
=
.
||~e2 ||2

h~e3 , ~e1 i = 0 h~v3 , ~e1 i 13 h~e1 , ~e1 i = 0 13 =


h~e3 , ~e2 i = 0 h~v3 , ~e2 i 23 h~e2 , ~e2 i = 0 23
De este modo,
~e3 = ~v3

h~v3 , ~e1 i
h~v3 , ~e2 i
~e1
~e1 .
2
||~e1 ||
||~e2 ||2

El procedimiento permite un paso general. Supongamos que hemos obtenido vectores ~e1 , . . . , ~ek1
ortogonales y queremos obtener ~ek . Entonces escribimos ~ek = ~vk 1k~e1 2k~e2 k1,k~ek1
e imponemos las condiciones de ortogonalidad
h~ek , ~e1 i = 0 1k =
..
.

..
.

h~vk , ~e1 i
,
||~e1 ||2

..
.

h~ek , ~ek1 i = 0 k1,k =


52

h~vk , ~ek1 i
,
||~ek1 ||2

con lo que ~ek queda determinado. Continuamos el proceso hasta obtener tantos vectores como al
principio. .
Fijemonos en que la demostracion proporciona las igualdades
~vk = 1k~e1 + + k1,k~ek1 + ~ek
= 1k ||~e1 ||~q1 + + k1,k ||~ek1 ||~qk1 + ||~ek ||~qk ,

(2.13)

donde k = 1, . . . , n y con ik = h~vk , ~ei i, i = 1, . . . , k 1 y ~qi = ~ei /||~ei ||, i = 1, . . . , n. La formula


(2.13) determina la relacion entre el metodo de Gram-Schmidt y la factorizacion QR de una
matriz A. Si denotamos por ~vk a la k-esima columna de la matriz, entonces las formulas de (2.13)
pueden agruparse matricialmente como A = QR, donde Q es la matriz formada por los vectores
ortonormales ~qi y R es la matriz triangular superior de elementos
rij = ij ||~ei ||, i < j,

rii = ||~ei ||.

Es decir, la factorizacion QR de una matriz A de m filas y n columnas se obtiene aplicando el


metodo de Gram-Schmidt a sus columnas.
Ejemplo 7.1. Supongamos que los vectores dados son



1
1
0

~v1 = 1 , ~v2 = 0 , ~v3 = 1 .


0
1
1
Entonces ~e1 = ~v1 . El vector ~e2 se obtiene de las condiciones
~e2 = ~v2 1,2~e1
h~e2 , ~e1 i = 0,
de donde
~e2 = ~v2

h~v2 , ~e1 i
1
~e1 = ~v2 ~e1 ,
h~e1 , ~e1 i
2

y, operando, es ~e2 = (1/2, 1/2, 1)T . El tercer vector viene de las condiciones
~e3 = ~v3 1,3~e1 2,3~e2
h~e3 , ~e1 i = h~e3 , ~e2 i = 0,
por lo que
~e3 = ~v3

h~v3 , ~e1 i
h~v3 , ~e2 i
1
1
~e1
~e2 = ~v3 ~e1 ~e2 ,
h~e1 , ~e1 i
h~e2 , ~e2 i
2
3

y por tanto ~e3 = (2/3, 2/3, 2/3)T . Los vectores ortonormales finales son entonces
r 1
r 1/2
r 2/3
~e1
1
~e2
2
~e3
3
~q1 =
=
1 , ~q2 =
=
1/2 , ~q3 =
=
2/3 .
||~e1 ||
2
||~e2 ||
3
||~e3 ||
4
0
1
2/3
La factorizacion QR de la matriz A cuyas columnas son ~v1 , ~v2 , ~v3
p

2 p1/2
~v1 ~v2 ~v3 = ~q1 ~q2 ~q3 0
3/2
0
0
53

es
p

1/2

.
p 16
4/3

Algoritmo de Gram-Schmidt
La prueba de la existencia de la factorizacion QR es por tanto constructiva y el algoritmo resultante se llama algoritmo de Gram-Schmidt. Hay que tener en cuenta que, en la implementaci
on,
se calculan directamente los vectores ~qi y los elementos de la matriz R. Por tanto, el paso intermedio de calcular los vectores ortogonales ~ei no se lleva a cabo. De la expresion matricial de la
factorizacion se tiene la igualdad vectorial
~v1 = r1,1 ~q1
~vk =

k1
X

rj,k ~qj + rk,k ~qk ,

2 k n.

j=1

P
qj ||.
La ortonormalidad de los vectores ~qj nos lleva a que rj,k = h~vk , ~qj i y rk,k = ||~vk k1
j=1 rj,k ~
Una eficiente implementacion exige almacenar los vectores ~qi en los propios ~vi . El pseudoc
odigo
tendra la siguiente forma:

Algoritmo 2.4. Gram-Schmidt.


r1,1 = ||~v1 ||
1
~v1 (valor de ~q1 )
r1,1
Desde k = 2 hasta n
Desde i = 1 hasta k 1
ri,k = h~vk , ~vi i (~vi es realmente ~qi )
~vk ~vk ri,k~vi
P
qj )
(al final del ciclo ~vk contiene ~vk k1
j=1 rj,k ~
rk,k = ||~vk ||

~v1

~vk

1
~vk (~vk contiene el valor de ~qk )
rk,k

Algoritmo modificado
Puesto que el algoritmo de Gram-Schmidt da lugar a la factorizacion QR puede, en principio,
utilizarse para resolver problemas de mnimos cuadrados, como luego veremos. Sin embargo,
este proceso es numericamente inestable: peque
nos errores de redondeo pueden ocasionar que
los vectores calculados no sean ortogonales. Una ligera modificacion del algoritmo evita este
problema. En el algoritmo clasico de Gram-Schmidt, ~q1 se toma m
ultiplo de ~v1 . Entonces, se resta
el m
ultiplo apropiado de ~q1 a ~v2 para obtener un vector que es ortogonal a ~q1 . El procedimiento
modificado de Gram-Schmidt calcula ~q1 como antes. A continuacion, resta m
ultiplos de ~q1 no
(1)
(1)
solo a ~v2 , sino tambien a ~v3 , . . . , ~vn , por lo que los vectores resultantes ~v2 , . . . , ~vn son todos
ortogonales a ~q1 . As, el primer paso del algoritmo modificado de Gram-Schmidt es como sigue
0 = ||~
r1,1
v1 ||

54

~q1 =

v1
0 ~
r1,1

Desde j = 2 hasta n
0 = h~
r1,j
vj , ~q1 i
(1)

~vj

0 ~
= ~vj r1,j
q1

(1)

(1)

(1)

Se puede comprobar facilmente que ~v2 , . . . , ~vn son ortogonales a ~q1 . Puesto que ~v2 es
ortogonal a ~q1 , podemos normalizarlo para obtener ~q2 . A continuacion se resta un m
ultiplo
(1)
(1)
(2)
(2)

apropiado de ~q2 a ~v3 , . . . , ~vn para obtener vectores ~v3 , . . . , ~vn que son ortogonales a ~q2 . Puesto
(2)
(2)
que cada ~v3 , . . . , ~vn es una combinacion lineal de vectores ortogonales a ~q1 , ellos tambien son
ortogonales a ~q1 . Tras k 1 pasos del proceso de Gram-Schmidt modificado tenemos vectores
(k1)
(k1)
. El paso

y vectores ~vk
, . . . , ~vn
que son ortogonales a ~q1 , . . . , ~qk1
ortonormales ~q1 , . . . , ~qk1
(k1)

k-esimo escala ~vk

(k1)

(k1)

ultiplo apropiado de ~qk a cada ~vk+1 , . . . , ~vn


para obtener ~qk y resta un m
(k)

(k)

para generar vectores ~vk+1 , . . . , ~vn que son ortogonales a ~q1 , . . . , ~qk . Explcitamente
(k1)

0
= ||~vk
rk,k

||

1 (k1)
vk
0 ~
rk,k
Desde j = k + 1 hasta n
(k1)
0 = h~
vj
, ~qk i
rk,j

~qk =

(k)

~vj

(k1)

= ~vj

0 ~
qk
rk,j

(k)

(k)

, pues cada
Se puede observar que ~vk+1 , . . . , ~vn son ortogonales a ~qk y tambien a ~q1 , . . . , ~qk1
(k)

. Desarrollando estas f
~vj es una combinacion lineal de vectores ortogonales a ~q1 , . . . , ~qk1
ormulas
para k = 1 hasta n, generamos una sucesion de vectores ortonormales ~q1 , . . . , ~qn identicos a los
0
= rj,k . El pseudocodigo es
producidos por el algoritmo de Gram-Schmidt clasico. Tambien rj,k
como sigue:

Algoritmo 2.5. Gram-Schmidt modificado.


Desde k = 1 hasta n 1
rk,k = ||~vk ||
~vk

~vk (~vk contiene el valor de ~qk )


rk,k
Desde j = k + 1 hasta n
rk,j = h~vj , ~vk i (~vi es realmente ~qi )
~vj ~vj rk,j ~vk

rn,n = ||~vn ||
~vn

1
rn,n

~vn

55

Se puede comprobar que el coste operativo de ambos algoritmos es del orden de 2n2 m 32 n3
multiplicaciones.
Para la resolucion de,l sistema (2.12), hay que tener presente que si calculamos la factorizaci
on
T
QR de A, entonces, utilizando que las columnas de Q son ortonormales (y, por tanto, Q Q = I)
se tiene
AT A = RT QT QR = RT R, AT ~b = RT QT ~b,
y (2.12) quedara en la forma RT R~x = RT QT ~b. Puesto que R es invertible, el sistema queda
reducido a R~x = QT ~b. La resolucion de (2.12) utilizando factorizacion QR dara entonces los
pasos siguientes:
1. Calcular la factorizacion A = QR.
2. Calcular d~ = QT ~b.
~
3. Resolver por sustitucion regresiva el sistema R~xLS = d.
El mayor coste del procedimiento procede de la factorizacion del primer paso. De este modo,
necesitaramos
Aplicar el algoritmo de Gram-Schmidt para la factorizacion
A = QR 2n2 m

2n3
3

productos.

Resolver por sustitucion regresiva:


Rx = QT b O(n2 )

operaciones.

El coste es el doble que el del metodo de ecuaciones normales si m es mucho mayor que n y aproximadamente el mismo si n = m. Aunque el uso de las ecuaciones normales sea conceptualmente
sencillo y computacionalmente competitivo, puede no ser recomendable por otros aspectos. Uno
de ellos se refiere al hecho de que el n
umero de condicion de AT A puede ser mucho mayor que el
de A. En [4] se considera el ejemplo

1 1 1
1 + 2
1
1
 0 0
T

1
A=
1 + 2
1 .
0  0, A A =
1
1
1 + 2
0 0 
En A, el parametro  6= 0 evita que su rango sea uno. En AT A, ese parametro es 2 . Cuando
 es peque
no, la no singularidad de AT A es computacionalmente mas difcil de identificar que
la de A. Si b = (1, 0, 0, 0)T , se tiene AT b = (1, 1, 1)T y la resolucion de (2.12) para este caso es
1
1
2
2
x1 = x2 = x3 = 3+
no, AT A es computacionalmente singular y
2 = 3 + O( ). Si  es muy peque
la resolucion numerica de las ecuaciones normales no funciona. Por contra, para la factorizaci
on
QR, si 2 es despreciable frente a , se tiene que, salvo factores O(2 ), computacionalmente

1 / 2
/ 6
1
1
1
 1/ 2 1/ 6


Q=
0 1/ 2 1/ 6 , R = 0  2 /
2 .

0
0
 6/2
0
0
2/ 6

Luego QT ~b = (1, / 2, / 6)T y la solucion del sistema R~xLS = QT ~b es x1 = x2 = x3 = 13 , que


es una aproximacion O(2 ) a la solucion exacta.
56

2.5.

Ejercicios

Ejercicio 1. Comprueba que si A es una matriz cuadrada definida positiva, entonces la eliminacion gaussiana sin pivotaje aplicada a la matriz A no genera ning
un pivot nulo.
Ejercicio 2. Sistemas tridiagonales. El objetivo es resolver, del modo mas eficiente posible y
sin pivotaje, sistemas lineales con matrices de la forma

d1 s1 0
0

0
0
l1 d2 s2
0

0
0

0 l2 d3
s3

0
0

.. . .
..
..
..
..
..

.
.
.
.

.
.
A= .

0 0 lN 4 dN 3 sN 3

0
0

0 0
0
lN 3 dN 2 sN 2
0

0 0
0
0
lN 2 dN 1 sN 1
0 0
0
0
0
lN 1
dN
Para un sistema A~x = ~b = (b1 , b2 , . . . , bN )T , con A la matriz de arriba, elabora un pseudoc
odigo que para cada una de las tres etapas de la eliminacion en este caso: factorizacion, sustituci
on
progresiva y sustitucion regresiva. Analiza el coste operativo y las necesidades de almacenamiento
del algoritmo. Compara con el algoritmo general.
Ejercicio 3. Resuelve por eliminacion gaussiana (sin pivotaje) el siguiente sistema
2x1 + 2x2 + 2x3 + 2x4 = 12
4x1 + 6x2 + 6x3 + 6x4 = 34
6x1 + 14x2 + 16x3 + 16x4 = 82
2x1 + 2x2 + 12x3 + 14x4 = 42
indicando los valores de los multiplicadores y de los pivotes. Determina la factorizacion LU de la
matriz del sistema.
Ejercicio 4. (i) Sea A una matriz n n conocida e invertible y sea B una matriz n m. Explica
como hallar A1 B sin calcular previamente A1 .
(ii) Se va a calcular y = A1 (Bz + u) + x, donde A y B son matrices n n conocidas y u, x, z
son vectores n-dimensionales tambien conocidos. Explica como disponer los calculos para evitar
invertir A. Compara el costo operativo del proceso sugerido con el obvio de hallar Bz, Bz +
u, A1 (Bz + u) e y.
(iii) Sea A una matriz n n. Especifica un algoritmo que calcule A1 por eliminacion gaussiana
utilizando solo n3 operaciones.
Ejercicio 5. Resuelve por eliminacion gaussiana los siguientes sistemas
4x1 + 5x2 + 6x3 = 28
2x1 7x3 = 29
5x1 8x2 = 64
3x2 13x3 = 50
2x1 6x2 + x3 = 44
4x1 + 8x3 = 4.
57

Determina la factorizacion P A = LU de la matriz de cada sistema.


Ejercicio 6. Sistemas tridiagonales (II). El algoritmo de Thomas. Considera el sistema
de ecuaciones
ai xi1 + bi xi + ci xi+1 = di , i = 1, 2, J 1,

(2.14)

donde ai , bi , ci , di R conocidos, as como x0 , xJ . Buscamos soluciones de (2.14) que verifiquen


cierta recurrencia regresiva de la forma
xi = pi+1 xi+1 + qi+1 , i = 0, 1, J 1,

(2.15)

donde las cantidades pi+1 , qi+1 estan por determinar.


A) Sustituyendo (2.15) en (2.14), demuestra que, para i = 0, 1, J 1, se tiene
p1 = 0,

pi+1 =

ci
,
ai pi + bi

q1 = x0 ,

qi+1 =

di ai qi
.
ai pi + bi

(2.16)

Las formulas (2.15) y (2.16) constituyen el llamado algoritmo de Thomas para sistemas tridiagonales.
Ejercicio 7. Sea A una matriz cuadrada de orden n simetrica y definida positiva. Elabora un
algoritmo que factorice A en la forma A = LDLT donde L es triangular inferior con unos en la
diagonal y D es diagonal con elementos diagonales positivos.
Ejercicio 8. Factorizaci
on de Choleski. Construye un algoritmo para calcular la factorizaci
on
de Cholesky de una matriz cuadrada de orden n simetrica y definida positiva y estudia su coste
operativo.
Ejercicio 9. (i) Demuestra que si aplicamos eliminacion gaussiana sin pivotaje a una matriz
simetrica A, entonces li1 = a1i /a11 .
(ii) A partir del apartado (i), comprueba que si se suprimen la primera fila y la primera
columna de A(2) , se obtiene una matriz simetrica.
(iii) Determina un algoritmo de resolucion de un sistema lineal Ax = b, con A simetrica, con
el menor coste computacional posible.
Ejercicio 10. Resuelve el sistema
2x + 6y = 8,

2x + 6,00001y = 8,00001.

(2.17)

Supongamos que los coeficientes y el segundo miembro se conocen solo aproximadamente (por
ejemplo, a traves de observaciones experimentales) de modo que en un momento dado en lugar
de (2.17) obtenemos el sistema
2x + 6y = 8,

2x + 5,99999y = 8,00002.

(2.18)

Cual es la solucion de (2.18)? Calcula el n


umero de condicion (en norma infinito) de la matriz
de (2.17) e interpreta geometricamente el mal acondicionamiento de este sistema.
Ejercicio 11. Se considera el sistema lineal Ax = b con


1
2
A=
, b = (3, 3 + )T ,
1+ 2
58

para > 0, peque


no.
(a) Usando la solucion aproximada x
= (3, 0)T , compara la norma infinito del vector residual y
la norma infinito del vector del error. Que se concluye de esto?
(b) Determina el n
umero de condicion de A en la norma infinito. Que ocurre cuando 0?
(c) Lleva a cabo un paso de mejoramiento iterativo basandose en la solucion aproximada x
.
Ejercicio 12. Dada la matriz

1
A = 2
0

2
1
0

0
0,
4

calcula ||A||1 , ||A|| , ||A||2 y los correspondientes n


umeros de condicion.
Ejercicio 13. (a) Calcula la mejor aproximacion, en el intervalo [0, 1] y en el sentido de mnimos
cuadrados, a la funcion ex por un polinomio de grado dos.
(b) Calcula la mejor aproximacion, en el intervalo [0, 1] y en el sentido de mnimos cuadrados, a
la funcion ex por un polinomio de primer grado que en x = 0 valga 1.
Ejercicio 14. (a) Para el producto interno usual en [0, ], utiliza el metodo de Gram-Schmidt
para calcular una base ortogonal del espacio de los polinomios de grado menor o igual que dos
con coeficientes reales. Calculea la mejor aproximacion a la funcion seno en ese intervalo por
polinomios ortogonales de segundo grado.
(b) Para el producto interno
Z
hf, gi =

ex f (x)g(x)dx,

utiliza el metodo de Gram-Schmidt para calcular una base ortogonal del espacio de los polinomios
de grado menor o igual que dos con coeficientes reales. Calcula la mejor aproximacion a la funci
on
f (x) = x3 por polinomios ortogonales de segundo grado.
Ejercicio 15. Calcula la factorizacion QR de las matrices

1 1 1
1
1 0 0
,
0
A=
A
=
1 0 2
1
1 1 1

2
1.
4

Ejercicio 16. (a) Calcula la factorizacion QR de la matriz

1 0
A = 0 1,
1 1
y resuelve, en el sentido de mnimos cuadrados, el sistema A~x = ~b = (1, 1, 0)T .
(b) Calcula la factorizacion QR de la matriz

1
0
A=
1
1

1 1
0 1
,
0 0
1 0
59

y resuelve, en el sentido de mnimos cuadrados, el sistema A~x = ~b = (1, 2, 3, 1)T .


Ejercicio 17. El nivel de agua en el mar del Norte esta principalmente determinado por el
llamado ndice de marea H, cuyo periodo es de alrededor de 12 horas y tiene la forma




2t
2t
H(t) = h0 + a1 sin
+ a2 cos
,
12
12
con t medido en horas. Se tienen las medidas
t
H(t)

0
1.0

2
1.6

4
1.4

6
0.6

8
0.2

10
0.8

Ajusta H(t) a las medidas realizadas, empleando el metodo de mnimos cuadrados. Por que no
puede utilizarse directamente la expresion equivalente


2(t t0 )
H(t) = h0 + A sin
?
12

2.6.

Ap
endice 1: Operaciones elementales

Se llama operacion elemental sobre las filas de una matriz a aquella transformacion de la
misma que consiste en llevar a cabo una de las tres manipulaciones siguientes:
(1) Permutar dos filas entre s.
(2) Multiplicar todos los elementos de una fila por un mismo n
umero no nulo.
(3) Sumar a una fila otra fila.
Se sobreentiende que las filas no afectadas por los ndices que definen la operacion elemental
permanecen inalteradas. Fijemonos en que todos los pasos de la eliminacion gaussiana que hemos
dado en los ejemplos anteriores involucran alguno o varios de los tres tipos de operaciones elementales, con ecuaciones en lugar de filas.
En terminos matriciales, la accion de una operacion elemental sobre las filas de una matriz
A equivale a multiplicar por la izquierda la matriz A por una matriz E apropiada asociada a la
operacion. Si A Mm,n (C), la matriz E Mm,m (C) y tiene un aspecto distinto dependiendo
de la operacion elemental. Denotemos por Im a la matriz identidad de m filas y m columnas y,
dados 1 r, s n, por Irs la matriz de Mm,m (C) con todos sus elementos nulos, salvo el que
esta en la posicion (r, s), que vale uno. Entonces:
(1) Si la operacion consiste en permutar las filas r y s (r 6= s), entonces E se obtiene de Im permutando las filas r y s de esta. De este modo, EA es una matriz que se obtiene de A permutando
sus filas r y s. Por ejemplo

3 2
0 0 1
6 7
A = 4 5 , E = 0 1 0 EA = 4 5 .
6 7
1 0 0
3 2
Matricialmente, E = Im + Irs Irr Iss + Isr .

60

(2) Si la operacion consiste en multiplicar la fila r por un n


umero 6= 0, entonces E se obtiene
de la identidad Im sustituyendo el 1 de la posicion (r, r) por , es decir E = Im + ( 1)Irr . As,
EA es una matriz que se obtiene de A multiplicando por su fila r. Por ejemplo

A=

2
1

5 8
0 1


,E =

1
0

0
4


EA =

2
4

5 8
0 4


.

(3) Si la operacion consiste en sumar a la fila r la fila s (r 6= s) entonces E se obtiene de Im


incorporando a esta un 1 en la posicion (r, s), es decir E = Im + Irs . As, EA es una matriz que
se obtiene de A sumando a su fila r la fila s. Por ejemplo

2
1

A=
4
5
2 1

1
1

,E = 0
0
1
1

0
1
0

0
2

0 EA = 4
1
0

1
0.
0

1
5
0

Por su interes para la eliminacion gaussiana, destacamos la matriz asociada a la combinaci


on
de operaciones elementales que consiste en sumar a la fila r la fila s (r 6= s) multiplicada por un
n
umero 6= 0. La matriz E se obtiene de la identidad Im incorporando a esta el valor en la
posicion (r, s), es decir E = Im + Irs . Por ejemplo,

A= 4
2

1
5
1

1
1

0 ,E = 0
1
0

0
1
0

1
0

0
EA = 4
1
2

0
5
1

0
0.
1

Toda matriz E Mn,n (K) asociada a una operacion elemental posee inversa. En efecto,
Si se trata de permutar dos filas, E es su propia inversa.
Si se trata de multiplicar una fila dada por 6= 0, entonces la inversa de E es la matriz
asociada con la multiplicacion de la misma fila por 1/.
Si se trata de sumar a la fila r la fila s (r 6= s), la inversa es F EF , donde F es la matriz
asociada con la operacion elemental: multiplicacion de la fila s por (1).
Por ejemplo:

0 0 1
E = 0 1 0 E 1 = E,
1 0 0

1 0 0
1 0 0
E = 0 2 0 E 1 = 0 1/2 0 ,
0 0 1
0 0 1

1 0 1
1 0 0
1
1

E= 0 1 0
E = 0 1 0
0
0 0 1
0 0 1
0

0
1
0

1
1

0
0
1
0

0
1
0

0
0 .
1

Por otra parte, para el tipo de matrices asociadas a la eliminacion gaussiana, es decir, de la
1 = I I .
forma Ers = I +Irs , 6= 0 (sumar a la fila r la fila s multiplicada por ), entonces Ers
rs
61

En efecto, si w = Ers v, entonces todas las componentes de w coinciden con las de v salvo la resima, que vale wr = vr + vs . Esto implica que vj = wj , j 6= r y vr = wr ws , es decir
1 w = (I I )w. 
v = Ers
rs
Otra propiedad relevante de estas matrices es la siguiente:
Proposici
on 2.6.1 Si r > s, r0 > s0 , r < r0 y Ers = I + Irs , Er0 s0 = I + Ir0 s0 , entonces
Ers Er0 s0 = I + Irs + Ir0 s0 .

(2.19)

Demostraci
on. Sean w = Er0 s0 v, z = Ers w. Entonces
wj = vj ,

j 6= r0 ,

wr0 = vr0 + vs0

j 6= r,

zr = wr + ws .

zj = wj ,

Entonces, para j 6= r, r0 , es zj = wj = vj . Como ademas es r < r0 y s < r, entonces


zr 0

= wr0 = vr0 + vs0

zr = wr + ws = vr + vs ,
lo que demuestra (2.19). 
Estas dos propiedades son utilizadas en la demostracion del teorema 2.3.1 de factorizaci
on
LU .

2.7.

Ap
endice 2. Algunas herramientas estadsticas

En este segundo apendice nos proponemos dar una forma de cuantificar los errores producidos
en la aproximacion por mnimos cuadrados en los problemas de ajuste mas utilizados: la regresi
on
lineal y la polinomial. Vease por ejemplo [1] y referencias incluidas en el.

2.7.1.

Fundamentos estadsticos

En la regresion por mnimos cuadrados se requieren algunas nociones de estadstica a fin de


poder interpretar los resultados. Vamos a considerar una situacion experimental mas o menos
real. Imaginemos que cuatro personas realizan el experimento de medir una cierta cantidad de
interes fsico, qumico, biologico, economico, etc. Cada uno repite el experimento cinco veces y
obtiene los resultados que se muestran en la tabla:
Persona
A

10.08

10.11

10.09

10.10

10.12

9.88

10.14

10.02

9.80

10.21

10.19

9.79

9.69

10.05

9.78

10.04

9.98

10.02

9.97

10.04

Imaginemos que en este experimento (algo inusual) conocemos de antemano la respuesta


correcta: 10,00. Los valores obtenidos por cada persona proporcionan una cantidad limitada de
62

informacion; el rango de valores va desde un mnimo a un maximo. Se puede profundizar en el


conocimiento de los mismos agrupando los datos en una o mas medidas estadsticas conocidas
que proporcionen tanta informacion como sea posible acerca de caractersticas especficas del
conjunto de datos. Estas medidas estadsticas descriptivas se suelen selccionar para representar:
1) la posicion central de la distribucion de los datos y 2) el grado de dispersion de los mismos.
La medida estadstica mas com
un es la media aritmetica o media. La media x
de una muestra
se define como la suma de las mediciones xi dividida por el n
umero de mediciones,
n

x
=

1X
xi .
n
i=1

La medida mas utilizada de la dispersion de una muestra es la desviacion estandar sx respecto


de la media
r
S
sx =
,
n1
donde S es la suma de los cuadrados de los residuos entre los puntos y la media
S=

n
X

(xi x
)2 .

(2.20)

i=1

Por lo tanto, si las medidas individuales se dispersan muy lejos de la media, S, y por tanto sx
crecera. Si se agrupan muy cerca de la media, entonces la desviacion estandar sera peque
na. La
dispersion tambien se puede representar por el cuadrado de la desviacion estandar, a la que se
llama varianza
S
s2x =
.
n1
Una medida estadstica final que tiene utilidad en la cuantificacion de la dispersion de los datos
es el coeficiente de variacion c.v.: es el cociente de la desviacion estandar de la media. Como tal,
proporciona una media normalizada de la dispersion. A menudo se multiplica esta cantidad por
100, de tal manera que se puede expresar en forma porcentual
c.v. =

sx
100 %.
x

Estas medidas estan relacionadas con los errores producidos en los experimentos. Volviendo al
ejemplo del principio de la seccion, en la tabla siguiente se calculan la media y la desviaci
on
estandar de la muestra experimental proporcionada por cada persona.
Persona
A

10.12

Media
10.10

Desviacion
0.016

10.08

10.11

10.09

10.10

9.88

10.14

10.02

9.80

10.21

10.01

0.17

10.19

9.79

9.69

10.05

9.78

9.90

0.21

10.04

9.98

10.02

9.97

10.04

10.01

0.033

Los resultados obtenidos por A tienen dos caractersticas importantes. Primero, todos est
an
muy proximos; todos caen entre 10.08 y 10.12. La segunda caracterstica es que todos son demasiado altos (recordemos que la respuesta correcta es 10.00). Han surgido entonces dos tipos
63

de errores distintos en el experimento de A. En primer lugar hay errores aleatorios o accidentales, los cuales provocan que los resultados individuales caigan a ambos lados del valor medio
(10.10). Se dice que estos errores afectan a la precision o reproducibilidad de un experimento. En
el caso de A, queda claro que los errores aleatorios son peque
nos y, por lo tanto, decimos que los
resultados son precisos. La desviacion de los experimentos con respecto a la media es peque
na.
Esto se traduce en un valor peque
no para la desviacion estandar de la muestra. Sin embargo,
tambien existen errores sistematicos, los cuales provocan que todos los resultados sean err
oneos
en el mismo sentido (en este caso todos son demasiado altos). Los errores sistematicos afectan a
la exactitud, es decir, a la proximidad al valor verdadero. Esto se traduce en una media alta.
Analizamos brevemente los resultados obtenidos por las otras personas. B ha obtenido resultados en contraposicion directa a los de A. El promedio de los cinco datos (10.01) esta muy pr
oximo
al valor verdadero, de manera que podemos caracterizar los datos como exactos, sin errores sistematicos sustanciales. Sin embargo, la variedad de los resultados es grande (alta desviaci
on)
lo que indica una precision insatisfactoria y la presencia de errores aleatorios destacables. La
comparacion de estos resultados con los obtenidos por A muestra con claridad que los dos tipos
de errores pueden ocurrir independientemente uno del otro. Esta conclusion se refuerza con los
datos de C y D. El trabajo de C no es ni preciso ni exacto, mientras que D ha logrado a la vez
resultados precisos y exactos.
Distribuci
on de los errores
Aunque la distribucion estandar proporciona una medida de la dispersion de un conjunto de
resultados alrededor del valor medio, no indica la forma en que estan distribuidos los mismos.
Para aclarar esto, se requiere un gran n
umero de mediciones como las expuestas en la siguiente
tabla, en la que se proporcionan los resultados de 50 determinaciones repetidas de concentraci
on
de una cierta sustancia en una muestra concreta de agua, en miligramos por mililitro.
0.51

0.51

0.51

0.50

0.51

0.49

0.52

0.53

0.50

0.47

0.51

0.52

0.53

0.48

0.49

0.50

0.52

0.49

0.49

0.50

0.49

0.48

0.46

0.49

0.49

0.48

0.49

0.49

0.51

0.47

0.51

0.51

0.51

0.48

0.50

0.47

0.50

0.51

0.49

0.48

0.51

0.50

0.50

0.53

0.52

0.52

0.50

0.50

0.51

0.51

Estos resultados se pueden resumir en una tabla de frecuencias


Esta tabla indica que, en la tabla anterior, el valor de 0.46 mg/ml aparece una vez, el valor
de 0.47 mg/ml, tres veces, y as sucesivamente. La media de estos resultados es 0.500 mg/ml
y la desviacion estandar 0.0165 mg/ml. La distribucion de los resultados puede apreciarse con
facilidad dibujando un histograma (figura 2.4). Un histograma se construye ordenando los datos
en intervalos. Los intervalos se grafican sobre el eje de abscisas y la frecuencia de ocurrencia de
estos en el eje de ordenadas.
Este conjunto de 50 mediciones constituye una muestra de un gran n
umero de ellas (en
teora infinitas) que se pueden tomar de la concentracion de sustancia. Este conjunto de posibles
mediciones se llama poblacion. Si no hay errores sistematicos, entonces la media de la poblaci
on,
indicada por , es el verdadero valor de la concentracion de sustancia que se intenta determinar.
La media x
de la muestra nos proporciona una estimacion de . De manera similar, la poblaci
on
64

Concentracion
0.46

Frecuencia
1

0.47

0.48

0.49

10

0.50

10

0.51

13

0.52

0.53

tiene una desviacion estandar simbolizada por y el valor de la desviacion estandar de la muestra,
sx , nos proporciona una estimacion de .

Figura 2.4: Histograma de la tabla.


Las mediciones de concentracion de la sustancia que aparecen en la tabla presentan s
olo
valores discretos debido a las limitaciones del metodo de medicion. En teora, una concentraci
on
puede tomar cualquier valor, de manera que para describir la forma de la poblacion, de la que
se ha extrado una muestra, se necesita una curva continua. El modelo que mas com
unmente se
emplea es la distribucion normal, descrita por la ecuacion
y=

exp((x )2 /2 2 )

,
2

cuya forma se muestra en la figura 2.5. La curva es simetrica respecto a y cuanto mayor sea el
65

valor de mayor sera la variabilidad de la curva.

Figura 2.5: Distribucion normal.

Un analisis un poco mas detallado muestra que, cualesquiera que sean los valores de y ,
aproximadamente el 68 % de los valores de la poblacion caen en el intervalo (, +); cerca del
95 % de los valores se ubican dentro de (2, +2) y casi el 99.7 % de los valores se encuentra en
(3, +3). Esto significa que si las concentraciones de las sustancias que aparecen en la tabla
se distribuyen normalmente, cerca del 68 % caeran en el intervalo (0,483, 0,517); alrededor del
95 % en el intervalo (0,467, 0,533) y el 99.7 % en (0,450, 0,550). De hecho, 33 de los 50 resultados
(66 %) caen entre 0,483 y 0,517; 49 (98 %) entre 0,467 y 0,533, y todos los resultados se ubican
entre 0,450 y 0,550, de manera que la concordancia con la teora es bastante satisfactoria.
Aunque no se pueda demostrar que las mediciones repetidas de cualquier cantidad analtica
siempre van a estar distribuidas normalmente, las pruebas indican que por lo general esta hip
otesis
esta cerca de la verdad.
Intervalos de confianza
Ya hemos visto que la media de una muestra de mediciones nos proporciona una estimaci
on
del valor verdadero , de la magnitud que se quiere medir. Sin embargo, ya que las mediciones
individuales estan distribuidas en torno al valor verdadero con una dispersion que depende de
la precision, es poco probable que la media de la muestra sea exactamente igual al valor verdadero. Por esta razon, es mas u
til proporcionar un intervalo de valores que contenga casi con
seguridad el valor verdadero. La amplitud de este intervalo depende de dos factores. El primero
es la precision de las mediciones individuales, las cuales dependen a su vez de la varianza de
66

la poblacion. El segundo es el n
umero de mediciones de la muestra. El solo hecho de repetir
mediciones implica que se tiene mas confianza en la media de varios valores que en uno solo.
Si consideramos los resultados de la concentracion de sustancia como 10 muestras en las que
cada una de ellas contiene cinco resultados, podemos ver que las mediciones de las muestras de
este tama
no estan distribuidas alrededor de . Si tomamos cada columna como una muestra,
las medias son 0,506, 0,504, 0,502, 0,496, 0,502, 0,492, 0,506, 0,504, 0,500, 0,486. Estas mediciones
se encuentran mas agrupadas entre s que las mediciones originales. De la misma forma que estas
eran muestras de una poblacion infinita de posibles mediciones, estas medias son una muestra
de las posibles medias de muestras de cinco mediciones de la poblacion global. La distribuci
on
de estas mediciones muestrales se denomina distribucion muestral de la media; su media es la
misma que la de la poblacion original y su desviacion estandar se denomina error estandar de
la media (e.e.m.). Existe una relacion matematica entre el e.e.m. y la desviacion estandar, ,
de la distribucion de mediciones individuales, la cual es independiente de la forma en que esten
distribuidas. Si n es el tama
no de la muestra, la relacion es

e.e.m. = / n.

A mayor n, menor sera la dispersion de las mediciones muestrales en torno a . El valor / n


proporciona una medida de la incertidumbre que hay al estimar a partir de x
(la media de los
resultados). En efecto, se puede utilizar la muestra para definir un intervalo dentro del cual podemos suponer de manera razonable que se encuentra el valor verdadero de , suponiendo que no
existen errores sistematicos. Este intervalo se conoce como intervalo de confianza y sus extremos
son los lmites de confianza. Podemos afirmar con una cierta probabilidad que el intervalo de
confianza incluye el valor verdadero. El tama
no del intervalo de confianza depende de la certeza
que queramos tener de que se incluya el valor verdadero. Cuanto mas grande sea la certeza, mayor
sera el intervalo.
Supongamos que la distribucion muestral de la media para muestras de tama
no n es normal
(aunque la poblacion no este distribuida normalmente, la distribucion tiende a la normal cuando
aumenta n). Entonces, el 95 % de las mediciones muestrales se encontraran en el intervalo dado
por

1,96(/ n) < x
< + 1,96(/ n)
Sin embargo, en la practica disponemos de una muestra, de media conocida y buscamos un
intervalo para . Puede reordenarse la ecuacion y expresarse

+ 1,96(/ n).
x
1,96(/ n) < < x
Esta ecuacion proporciona el intervalo de confianza al 95 % de la media. De manera similar, el
intervalo al 97 % esta dado por

x
2,58(/ n) < < x
+ 2,58(/ n).
En el caso de nuestra muestra, tenemos x
= 0,500, n = 50. Lo u
nico que se desconoce es .
Para muestras grandes, sx proporciona una estimacion de y puede sustituirse por esta. As, el
intervalo de confianza al 95 % para la concentracion de sustancia es

0,5 1,96(0,0165// 50) < < 0,5 + 1,96(0,0165/ 50).

67

y los lmites de confianza 0,5 0,0046. A medida que el tama


no de la muestra se hace menor, la
incertidumbre al utilizar sx para estimar aumenta. A fin de permitir esto, la ecuacion utilizada
para calcular los lmites de confianza se modifica por

x
t(/ n) < < x
+ t(/ n).
La variable t representa una nueva distribucion, conocida como distribucion de Student. Depende
tanto de n 1, que se conoce como n
umero de grados de libertad, como del grado de confianza
requerido. Para valores grandes de n, esta distribucion puede aproximarse por la normal. Los
valores de t, al igual que los de la normal, estan tabulados en funcion de los grados de libertad
y el grado de confianza. El termino grados de libertad se refiere al n
umero de desviaciones
independientes (xi x
) que se utilizan al calcular sx . En este caso, dicho n
umero es n 1,
porque
cuando se conocen n 1 desviaciones, la u
ltima se puede deducir si se utiliza el resultado
P
(xi x
) = 0. En la siguiente tabla se recogen algunos valores de t. En ella puede apreciarse que
para muestras de tama
no superior a 50, los valores de t son muy proximos a los de 1.96 y 2.58
utilizados en las ecuaciones anteriores. Esto confirma la validez de la hipotesis utilizada antes al
calcular los lmites de confianza para la concentracion de sustancia.

2.7.2.

Grados de libertad

Valores de t para intervalos de confianza de

1
2
3
4
5
10
20
30
50
100

95 %
12.71
4.30
3.18
2.78
2.57
2.23
2.09
2.04
2.01
1.98

99 %
63.66
9.92
5.84
4.60
4.03
3.17
2.85
2.75
2.68
2.63

Regresi
on lineal

Ajuste de una recta por mnimos cuadrados


El ejemplo mas simple de una aproximacion por mnimos cuadrados es el ajuste de una lnea
recta a un conjunto de parejas de datos observados,
x

x1
y1

x2
y2

xn
yn

Ya sabemos que los valores de la recta optima y = a + bx se obtienen de la estrategia de


minimizar la suma de los cuadrados de los residuos, es decir, la norma eucldea del vector residuo
Sr =

n
X

(yi a bxi )2 .

i=1

68

(2.21)

Los parametros a y b se obtienen calculando la solucion mnimos cuadrados del sistema sobredeterminado

y1
1 x1
 
y2
1 x2 a

.
=
..
... .
..
. b
1 xn

yn

Cuantificaci
on del error en la regresi
on lineal
Resuelto el problema anterior, se puede derivar una serie de propiedades adicionales del ajuste.
Notese la similitud entre (2.20) y (2.21). En el primer caso, los residuos representaban la diferencia
entre los datos y una aproximacion simple de la medida de la tendencia central: la media. En
la ecuacion (2.21), los residuos representan el cuadrado de la distancia vertical entre los datos y
otra medida de la tendencia central: la lnea recta. La analoga se puede extender mas para casos
en donde: 1) la dispersion de los puntos alrededor de la recta son de magnitud similar a lo largo
del rango entero de los datos y 2) la distribucion de estos puntos alrededor de la lnea es normal.
Una desviacion estandar de la lnea de regresion se puede determinar como
r
Sr
sy/x =
.
n2
Esta ecuacion difiere de la de la desviacion estandar sx de una serie de mediciones repetidas en que
las desviaciones son sustituidas por los residuos y en que ahora, en un calculo de regresion lineal,
el n
umero de grados de libertad es n 2, lo que refleja el hecho obvio de que para representar una
recta solo se necesitan dos puntos. La variable sy/x se llama error estandar de la aproximaci
on. Al
igual que la desviacion estandar, el error estandar de la aproximacion cuantifica la dispersi
on de
los datos. Sin embargo, sy/x cuantifica la dispersion alrededor de la lnea de regresion, mientras
que la desviacion estandar sx cuantifica la dispersion alrededor de la media.
Los conceptos anteriores se pueden emplear para medir la eficiencia del ajuste. Esto es particularmente u
til en la comparacion de varias regresiones. Los errores aleatorios en los valores

de la pendiente y la ordenada en el origen de la recta de ajuste son importantes. Estos


pueden
estimarse a partir de las desviaciones para ambas cantidades, que estan dadas por
P 2
sy/x
x
sb = P
, sa = sy/x ( P i i 2 )1/2 .
n( i (xi x
) )
( i (xi x
)2 )1/2
Estos valores se pueden utilizar para estimar los lmites de confianza para la pendiente y la
ordenada en el origen. As, los lmites de confianza para la pendiente estan dados por b tsb ,
donde el valor de t se obtiene de las tablas para un nivel de confianza deseado y n 2 grados de
libertad. De manera similar, los lmites de confianza para la ordenada en el origen estan dados
por a tsa . De esta forma, los errores aleatorios para estos parametros se obtienen como tsb y
tsa respectivamente.
Para estimar si los puntos experimentales se ajustan bien o no a una lnea recta, se puede
calcular el coeficiente de correlacion r. El valor de r esta dado por
P
)(yi y)
i (xi x
.
r= P
P
(( i (xi x
)2 )( i (yi y)2 ))1/2
Se puede comprobar que r toma valores entre 1 y 1. Para un ajuste perfecto, r2 = 1, indicando
que la lnea recta explica el 100 % de la variabilidad. Si r2 = 0, entonces el ajuste no representa
69

mejoras. Sin embargo, aunque el coeficiente de correlacion proporciona un medio sencillo de


medir la efectividad del ajuste, se debe tener cuidado de atribuirle un significado garantizado.
El que r este cerca de 1 no significa que el ajuste sea necesariamente bueno. Por ejemplo, es
posible un valor relativamente alto de r cuando la relacion mencionada entre y y x ni siquiera
es lineal. Por eso, siempre hay que representar graficamente los datos cuando se ajusten por
regresion. Tambien, un coeficiente de correlacion cero no significa exactamente que y y x no esten
relacionados, sino que no estan linealmente relacionados.
Linealizaci
on de relaciones no lineales
Ya hemos dicho que el primer paso en cualquier analisis de regresion es el de trazar y visualizar
los datos para decidir si es aceptable aplicar un modelo lineal. En algunos casos se pueden hacer
transformaciones que expresen los datos de manera que sean compatibles con la regresion lineal.
Un ejemplo es el modelo exponencial
y = aebx ,
donde a y b son constantes. Este modelo se usa en muchos campos de la Ingeniera caracterizando
cantidades que crecen (b positiva) o decrecen (b negativa).
Otro ejemplo de un modelo no lineal es la ecuacion elevada a una potencia
y = axb ,

(2.22)

en donde a y b son coeficientes. Un tercer ejemplo de modelo no lineal es la ecuacion de promedio


de crecimiento de saturacion
y=a

x
,
b+x

(2.23)

donde a y b son coeficientes constantes. Este modelo, particularmente u


til en la caracterizaci
on
de crecimientos poblacionales bajo condiciones limitantes, tambien representa una relaci
on no
lineal entre y y x que nivela, o satura, conforme x crece.
Una estrategia para tratar estos problemas consiste en usar manipulaciones matematicas y
transformar las ecuaciones a la forma lineal (vease la tabla 2.1, obtenida de [5]). Por ejemplo, la
ecuacion exponencial o la potencial (2.22) se pueden linealizar tomando logaritmos, en el primer
caso naturales y en el segundo de base 10. Por ejemplo, para (2.22) tenemos
log y = b log x + log a.
De esta forma, una grafica logartmica de log y frente log x genera una lnea recta con una pendiente de b y una interseccion con la abscisa de log a. Por su parte, (2.23) se linealiza invirtiendola,
obteniendo
1
b1 1
=
+ .
y
ax a
Por lo tanto, una grafica de 1/y frente a 1/x sera lineal, con pendiente b/a y ordenada en el
origen 1/a.
Estos modelos, en sus estados transformados, se ajustan usando regresion lineal para evaluar
los coeficientes constantes. Despues se pueden transformar a su estado original y usarse para
propositos predictivos.

70

Funcion y = f (x)

Linealizacion Y = Ax + B

Cambios

y = A/x + B

y = A/x + B

X = 1/x, Y = y

y = C1 (xy) +

y = D/(x + C)

D
C

X = xy, Y = y
C = A1 , D = B
A

y=

1
Ax+B

1
y

= Ax + B

X = x, Y = 1/y

y=

x
Ax+B

1
y

= A x1 + B

X = 1/x, Y = 1/y

y = A ln(x) + B

y = A ln(x) + B

X = ln(x), Y = y

y = CeAx

ln(y) = Ax + ln(C)

X = x, Y = ln(y)
C = eB

y = CxA

ln(y) = A ln(x) + ln(C)

X = ln(x), Y = ln(y)
C = eB

y = (Ax + B)2
y = CxeDx

y=

L
1+CeAx

y 1/2 = Ax + B

ln xy = Dx + ln(C)

ln

L
y


1 = Ax + ln(C)

X = x, Y = y 1/2

X = x, Y = ln xy
C = eB , D = A


X = x, Y = ln Ly 1
C = eB

Tabla 2.1: Cambios de variable para linealizar los datos.

71

2.7.3.

Regresi
on polinomial

Ajuste de un polinomio por mnimos cuadrados


Algunos datos se representan de forma muy pobre mediante una lnea recta y puede que se
ajusten mejor utilizando una curva. Una alternativa a este problema es usar regresion polinomial.
El procedimiento de mnimos cuadrados se puede extender y ajustar datos a un polinomio de
grado k
y = a0 + a1 x + + ak xk .
En este caso, la suma de los cuadrados de los residuos es
Sr =

n
X

(yi a0 a1 xi a2 x2i ak xki )2 .

i=1

Para obtener los coeficientes del polinomio optimo, ya sabemos que se tiene que calcular la
solucion mnimos cuadrados del sistema sobredeterminado

a0
1 x

x21 xk1
y1
1
a
1 x2 x22 xk2 1 y2
.
a2 = . .
..
..
..
..

..
.
.
.
. .. ..
.
yn
1 xn x2n xkn
ak
As como en la regresion lineal, el error en la regresion polinomial se puede cuantificar mediante
el error estandar de la aproximacion
s
Sr
sy/x =
,
n (k + 1)
donde k es el orden del polinomio. Dado que se usaron k +1 coeficientes a0 , . . . , ak , se han perdido
k + 1 grados de libertad. Ademas del error estandar, se puede calcular tambien el coeficiente de
correlacion en la regresion polinomial
r2 =
donde
Sv =

Sv Sr
,
Sv

n
X

(yi y)2 .

i=1

72

Referencias

[1] R. L. Burden y J. D. Faires, Metodos Numericos, (tercera edicion), International Thomson


editores, 2004.
[2] J.-L.Chabert (Ed.), A History of Algorithms. From the Pebble to the Microchip, Springer,
1999.
[3] G. H. Golub, C. F. Van Loan, Matrix Computations, J. Hopkins University Press, 1996.
[4] W. Cheney and D. Kincaid, Numerical Mathematics and Computing, Brooks and Cole,
1996.
[5] J. H. Mathews, K. D. Fink, Metodos numericos con MATLAB, Prentice Hall, 2000.
[6] J. M. Sanz Serna, Diez Lecciones de Calculo Numerico, Universidad de Valladolid, 1998.
[7] G. W. Stewart, Afternotes on Numerical Analysis, SIAM, 1998.
[8] D. S. Watkins, Fundamentals of Matrix Computations, J. Wiley and Sons, 2002.

73

Tema 3

Interpolaci
on polin
omica

1. Introduccion.
2. Interpolacion de Lagrange.
3. Interpolacion de Hermite.
4. Interpolacion trigonometrica.
5. Ejercicios.
6. Apendice. Series de Fourier.

3.1.

Introducci
on

Este tema aborda el problema de la interpolacion polinomica. En muchas situaciones, uno debe
plantearse el estudio de un modelo del que solo conoce datos tabulados, procedentes de mediciones
experimentales. Una manera de estudiar el fenomeno, con vistas a trabajar sobre el (mas all
a de
los datos) es adaptarlo, de alguna forma, a una representacion continua del problema, buscando
funciones de variable continua que tengan alguna relacion. Aqu trataremos de la interpolaci
on
polinomica, que es una forma de representar los datos experimentales. La interpolacion busca un
polinomio que pase por todos ellos. La eleccion de los polinomios como representacion se debe
sobre todo a que estan dentro de las funciones mas sencillas de manejar.
La interpolacion es una idea que ya se utilizaba en la Antig
uedad, sobre todo para obtener tablas matematicas con las que facilitar los calculos. Por ejemplo, en Astronoma, tablas
trigonometricas como las de Ptolomeo en el siglo II d. C., han jugado un importante papel
historico, al igual que la introduccion de tablas logartmicas para facilitar los calculos. Todas ellas utilizaban alg
un tipo de interpolacion entre los datos, para conocer los valores de las funciones
requeridas (las tablas de Ptolomeo, por ejemplo, utilizaban interpolacion lineal, mientras que hay
tratados
arabes de Astronoma, del siglo V d. C, que interpolan senos de angulos con formulas
de orden dos). A medida que las tablas requeran mayor precision, los metodos de interpolaci
on
precisaban de un mayor desarrollo. Las formulas clasicas se establecieron entre el final del siglo
XVII y principios del XIX (Newton, Lagrange, Cauchy).

74

Hora

10

12

14

16

18

Grados

12

18

21

19

15

Tabla 3.1: Tabla de temperaturas.

Una situacion ilustrativa del papel de la interpolacion viene dada en el siguiente ejemplo. La
tabla 3.1 representa la medicion, a ciertas horas del da, de la temperatura ambiente en cierta zona
de cierta ciudad. Buscamos estimar la temperatura a las 13 horas. Una manera de hacerlo consiste
en representar esta como una funci
on del tiempo t, considerado como una variable continua, a
traves de un polinomio que interpole los datos de la tabla. El valor de ese polinomio en el tiempo
t = 13 nos proporcionara una estimacion de la temperatura a la hora solicitada.
Se pueden plantear diferentes problemas de interpolacion, en funcion del tipo de polinomios
que se utilizan. En este tema trataremos tres: el problema de interpolacion de Lagrange, el
problema de interpolacion de Hermite y la interpolacion trigonometrica (quedan fuera problemas
como la interpolacion segmentaria). Esta u
ltima es de especial interes en la teora de se
nales. En
ella se cambia la interpolacion con polinomios en potencias de x (utilizada en los dos primeros
problemas) por los polinomios trigonometricos, en los que las funciones de representacion son
sinusoides de frecuencias m
ultiplos de una conocida.
El tratamiento de los tres problemas sera similar: analizaremos primero la resolucion as como
la representacion del polinomio obtenido; luego trataremos aspectos de implementacion numerica, para terminar discutiendo el nivel de aproximacion del polinomio a la funcion interpolada,
mediante el analisis del error.

3.2.

Interpolaci
on de Lagrange

Problema 1. Sea N 1. Conocidos N + 1 puntos distintos x0 , . . . , xN (nodos de interpolaci


on)
y valores y0 , . . . , yN , se busca determinar un polinomio PN (x), de grado menor o igual que N ,
tal que
PN (xj ) = yj ,

j = 0, . . . , N.

(3.1)

PN se llama entonces polinomio interpolador de Lagrange de los datos de la tabla 3.2.


x

x0

x1

xN

y0

y1

yN

Tabla 3.2: Tabla de interpolacion.


Si los valores yj corresponden a evaluaciones de una cierta funcion f : [a, b] R en los nodos,
yj = f (xj ) (lo que siempre puede suponerse), entonces PN se llama polinomio interpolador de
Lagrange de f en los nodos xj , j = 0, . . . , N .

75

Observemos que si buscamos PN en la forma


PN (x) = a0 + a1 x + + aN xN ,
para ciertos coeficientes a0 , . . . , aN , entonces la imposicion de los datos de interpolacion (3.1) nos
lleva a un sistema lineal
a0 + a1 x0 + + aN xN
0

= y0 ,

aN xN
1

= y1 ,
..
.

a0 + a1 x1 + +

..
.
a0 + a1 xN + +

aN xN
N

(3.2)

= yN ,

cuya matriz asociada es regular, pues su determinante vale


Y
(xj xi ),
i<j

donde, recordemos, los xj son todos distintos. Esto implica que el sistema (3.2) tiene soluci
on
u
nica y, por tanto, hay un u
nico polinomio PN de grado menor o igual que N y que resuelve el
problema 1.

3.2.1.

Representaci
on del polinomio

Sin embargo, la representacion del polinomio PN no suele realizarse en la forma sugerida en


el razonamiento anterior, es decir, en potencias de x (luego veremos las razones). Una primera
forma alternativa viene dada por una base de polinomios diferente. Para j = 0, . . . , N , se define
el j-esimo polinomio de Lagrange Lj (x) como el u
nico polinomio de grado menor o igual que N
verificando
Lj (xj ) = 1,

Lj (xi ) = 0, i 6= j.

(Es decir, Lj es la solucion de un problema de interpolacion de Lagrange). No es difcil comprobar


la independencia lineal de los polinomios Lj (veanse los ejercicios) de manera que puede escribirse
PN (x) = b0 L0 (x) + b1 L1 (x) + bN LN (x),
para ciertos coeficientes bj que, dadas las propiedades de definicion de los Lj , se obtienen simplemente como
bj = PN (xj ) = yj ,

j = 0, . . . , N,

quedando entonces la llamada representacion de Lagrange


PN (x) = y0 L0 (x) + y1 L1 (x) + yN LN (x).

(3.3)

Para completar (3.3), necesitamos expresiones explcitas de los Lj . Observemos que, por definicion, Lj (x) tiene N ceros x0 , x1 , . . . , xj1 , xj+1 , . . . , xN , de modo que ha de ser de la forma
Lj (x) = j (x x0 ) (x xj1 )(x xj+1 ) (x xN ).
76

Y la imposicion de la u
ltima propiedad Lj (xj ) = 1 determina la constante j ,
j =

1
,
(xj x0 ) (xj xj1 )(xj xj+1 ) (xj xN )

quedando entonces
Lj (x) =

(x x0 ) (x xj1 )(x xj+1 ) (x xN )


.
(xj x0 ) (xj xj1 )(xj xj+1 ) (xj xN )

Ejemplo 2.1. Polinomio de grado menor o igual que seis que interpola la tabla 3.1, escrito en
forma de Lagrange. El polinomio tiene la forma
P (x) = 7L0 (x) + 9L1 (x) + 12L2 (x) + 18L3 (x)
= +21L4 (x) + 19L5 (x) + 15L6 (x).
Los polinomios de Lagrange para este caso son
L0 (x) =
=
L1 (x) =
=
L2 (x) =
=
L3 (x) =
=
L4 (x) =
=
L5 (x) =
=
L6 (x) =
=

(x 8)(x 10)(x 12)(x 14)(x 16)(x 18)


(6 8)(6 10)(6 12)(6 14)(6 16)(6 18)
(x 8)(x 10)(x 12)(x 14)(x 16)(x 18)
.
46080
(x 6)(x 10)(x 12)(x 14)(x 16)(x 18)
(8 6)(8 10)(8 12)(8 14)(8 16)(8 18)
(x 6)(x 10)(x 12)(x 14)(x 16)(x 18)
.

7680
(x 6)(x 8)(x 12)(x 14)(x 16)(x 18)
(10 6)(10 8)(10 12)(10 14)(10 16)(10 18)
(x 6)(x 8)(x 12)(x 14)(x 16)(x 18)
.
3072
(x 6)(x 8)(x 10)(x 14)(x 16)(x 18)
(12 6)(12 8)(12 10)(12 14)(12 16)(12 18)
(x 6)(x 8)(x 10)(x 14)(x 16)(x 18)

.
2304
(x 6)(x 8)(x 10)(x 12)(x 16)(x 18)
(14 6)(14 8)(14 10)(14 12)(14 16)(14 18)
(x 6)(x 8)(x 10)(x 12)(x 16)(x 18)
.
3072
(x 6)(x 8)(x 10)(x 12)(x 14)(x 18)
(16 6)(16 8)(16 10)(16 12)(16 14)(16 18)
(x 6)(x 8)(x 10)(x 12)(x 14)(x 18)

.
7680
(x 6)(x 8)(x 10)(x 12)(x 14)(x 16)
(18 6)(18 8)(18 10)(18 12)(18 14)(18 16)
(x 6)(x 8)(x 10)(x 12)(x 14)(x 16)
.
46080
77

Una ventaja de la representacion (3.3) frente a la dada por el sistema (3.2) es que no necesita
la resolucion de un sistema lineal de tipo Vandermonde para obtener los coeficientes. Tiene, sin
embargo y al menos, un inconveniente. La representacion (3.3) no es apropiada para la evaluaci
on
del polinomio, un problema que s resolva la representacion en potencia de x, a traves del
algoritmo de Horner, presentado en el tema anterior.
Ejemplo 2.2. Se puede contar el n
umero de operaciones necesarias para evaluar PN en la
forma (3.3). El coste mayor procede de la computacion de los polinomios de Lagrange. Para cada
j = 0, . . . , N , la evaluacion de Lj (x) requiere 2(N 1) multiplicaciones y una division, de manera
que en total tenemos
N
X

2(N 1) = 2(N 2 1)

multiplicaciones,

j=0
N
X

1 = N +1

divisiones,

j=0

a las que hay que a


nadir los N productos de la combinacion lineal (3.3).
Para tratar de incorporar los aspectos ventajosos de ambas representaciones, a saber, c
alculo
sencillo de los coeficientes y evaluacion eficiente del polinomio, vamos a discutir una tercera forma
del mismo. La idea principal de esta nueva representacion consiste en utilizar los calculos previos
de los polinomios de grado inferior para obtener interpoladores de nuevos datos a
nadidos. Esto
nos llevara a un algoritmo para el calculo de los coeficientes y a una eficiente evaluacion del
polinomio, obtenida como una sencilla variante del algoritmo de Horner.
Empezamos estableciendo una relacion entre PN (x) y el polinomio PN 1 (x) que interpola
los N primeros datos de la tabla (3.1). Consideremos la diferencia QN (x) = PN (x) PN 1 (x).
Se tiene que QN es un polinomio de grado menor o igual que N , que se anula en los N nodos
xi , i = 0, . . . , N 1, luego ha de ser de la forma
QN (x) = cN (x x0 ) (x xN 1 ),
donde la constante cN se obtiene de la evaluacion
QN (xN ) = cN (xN x0 ) (xN xN 1 )
= PN (xN ) PN 1 (xN ) = yN PN 1 (xN ),
luego
cN =

yN PN 1 (xN )
.
(xN x0 ) (xN xN 1 )

(3.4)

De esta forma, PN puede obtenerse a partir de PN 1 como


PN (x) = PN 1 (x) + cN (x x0 ) (x xN 1 ),
con cN dado por (3.4). Aplicamos ahora la misma idea para construir PN 1 a partir de PN 2 ,
PN 2 a partir de PN 3 , etc, llegando a una expresion
PN (x) = c0 + c1 (x x0 ) + c2 (x x0 )(x x1 ) + + cN (x x0 ) (x xN 1 ),
78

(3.5)

donde los coeficientes cj pueden calcularse como


c0 = y0 ,
cj

yj Pj1 (xj )
(xj x0 ) (xj xj1 )
yj (c0 + c1 (xj x0 ) + c2 (xj x0 )(xj x1 ) + + cj1 (xj x0 ) (xj xj1 ))
=
,
(xj x0 ) (xj xj1 )
j = 1, . . . N.
(3.6)

La expresion (3.5) se denomina forma de Newton del polinomio interpolador. Los coeficientes
(3.6) se llaman diferencias divididas. Una de las ventajas de la forma (3.5) es que estas diferencias
divididas pueden calcularse a traves de un algoritmo, que pasamos a describir.
Escribamos cj = f [x0 , . . . , xj ], dado que, por (3.6), cj depende solo de los j + 1 primeros
nodos de interpolacion. El siguiente resultado proporciona el algoritmo para el calculo de los
coeficientes.
Teorema 3.2.1 (i) El valor de f [x0 , . . . , xj ] no depende del orden de los nodos, es decir, la
funci
on f [x0 , . . . , xj ] es simetrica con respecto a los nodos x0 , . . . , xj .
(ii) Se tiene adem
as que f [x0 ] = y0 y
f [x0 , . . . , xj ] =

f [x1 , . . . , xj ] f [x0 , . . . , xj1 ]


,
xj x0

j = 1, . . . , N.

(3.7)

La formula (3.7) puede visualizarse en la tabla


x0
x1
x2
..
.

y0
y1
y2
..
.

xN

yN

f [x0 , x1 ]
f [x1 , x2 ]
..
.

f [x0 , x1 , x2 ]
..
.

..

.
f [xN 1 , xN ] f [xN 2 , xN 1 , xN ] f [x0 , . . . , xN ]

Los elementos de la diagonal de la tabla son los coeficientes del polinomio interpolador PN en la

forma de Newton (3.5). Esta


es la forma de calcular los coeficientes en la practica
Demostraci
on.
(i) Dada la formula (3.5), se tiene que cj es el coeficiente de xj en el polinomio interpolador Pj en
los nodos x0 , . . . , xj . Y este coeficiente es el mismo (como el polinomio Pj ) independientemente del
orden en que se dispongan los nodos x0 , . . . , xj , pues el problema de interpolacion tiene soluci
on
u
nica. Esto prueba (i).
(ii) La formula para f [x0 ] es evidente. Para j 1, escribimos el polinomio Pj de dos formas:
siguiendo el orden de los nodos x0 , . . . , xj y luego en el inverso, expresiones equivalentes por (i).
Se tiene entonces
Pj (x) = f [x0 ] + f [x0 , x1 ](x x0 ) + + f [x0 , . . . , xj1 ](x x0 ) (x xj2 )
+f [x0 , . . . , xj ](x x0 ) (x xj1 ),
Pj (x) = f [xj ] + f [xj , xj1 ](x xj ) + + f [x1 , . . . , xj ](x xj ) (x x2 )
+f [x0 , . . . , xj ](x xj ) (x x1 ).
79

Igualando ahora los coeficientes de xj1 de ambas expresiones,


f [x0 , . . . , xj1 ] (x0 + xj1 )f [x0 , . . . , xj ] = f [x1 , . . . , xj ] (x1 + xj )f [x0 , . . . , xj ],
de donde, despejando, se obtiene la formula (3.7). 
Algoritmo 2.1. Calculo de coeficientes y evaluacion en un punto del polinomio interpolador
de la tabla 3.2 en forma de Newton.
Pseudoc
odigo del algoritmo 2.1
Datos de entrada: N, x0 , . . . , xN , y0 , . . . , yN
x : punto de evaluacion
Diferencias divididas (diagonal)
Desde j = 1 hasta N
Desde k = N hasta j
yk (yk yk1 )/(xk xkj )
Coeficientes en forma de Newton: y0 , . . . , yN .
Evaluacion en x . Adaptacion del algoritmo de Horner
Desde j = N 1 hasta 0
yj yj + (x xj ) yj+1
Evaluacion guardada en y0 .
Puede comprobarse que el n
umero de divisiones para obtener los coeficientes del polinomio
en el algoritmo 2.1 es N (N + 1)/2. Ademas, la evaluacion en un punto del polinomio tiene
N multiplicaciones. Esto debe compararse con el coste operativo para la forma de Lagrange,
comentado anteriormente.
Ejemplo 2.3. Calculamos la tabla de diferencias divididas y el polinomio interpolador en forma
de Newton de la tabla
x

3,60

1,80

1,20

0,90

0,72

La tabla de diferencias divididas tiene la forma


1
2
3
4
5

3,60
1,80 1,80
1,20 0,60
0,90 0,30
0,72 0,18

0,60+1,80
31
0,30+0,60
42
0,18+0,30
53

= 0,60
= 0,15
= 0,06

0,150,60
41
0,06+0,15
52

= 0,15
= 0,03

0,03+0,15
51

= 0,03

El polinomio interpolador es
P4 (x) = 3,60 1,80(x 1) + 0,60(x 1)(x 2) 0,15(x 1)(x 2)(x 3)
+0,03(x 1)(x 2)(x 3)(x 4).

80

3.2.2.

Estimaciones del error

Si los datos de interpolacion corresponden a valores de una funcion en los nodos del problema
yj = f (xj ),

j = 0, . . . , N,

es decir, si estamos interpolando una funcion en los nodos x0 , . . . , xN , podemos estimar el


error de interpolacion cometido al sustituir la funcion por su polinomio interpolador.
Teorema 3.2.2 [5] Supongamos que f : [a, b] R es de clase C N en [a, b] y su derivada f N +1)
existe en (a, b). Sean x0 , . . . , xN nodos distintos de [a, b] y PN el correspondiente polinomio interpolador de Lagrange. Entonces, para cada x [a, b] existe con mn{x0 , . . . , xN , x} < <
max{x0 , . . . , xN , x} tal que
f (x) PN (x) =

(x x0 ) (x xN ) N +1)
f
().
(N + 1)!

(3.8)

Demostraci
on. Sea x [a, b]. Si x coincide con alg
un xj , entonces ambos lados de la igualdad
(3.8) se anulan para cualquier . Si x 6= xj , j = 0, . . . , N , se define
M=

f (x) PN (x)
,
(x x0 ) (x xN )

y la funcion
F (t) = f (t) PN (t) M (t x0 ) (t xN ).
Hay que observar que
1. F N +1) (t) = f N +1) (t) (N + 1)!M .
2. F (xj ) = 0,

j = 0, . . . , N,

F (x) = 0.

Por la segunda propiedad, aplicando reiteradamente el teorema de Rolle ([3], por ejemplo), se
obtiene un punto con las condiciones del enunciado tal que F N +1) () = 0. Por la primera
propiedad, se tiene entonces f N +1) () = (N + 1)!M , lo cual, teniendo en cuenta la expresi
on de
M , prueba la igualdad (3.8). 
Comentarios
1. Dado que el punto de la formula (3.8) es en general desconocido, esta se utiliza como cota
de error: suponiendo que f N +1) esta acotada en [a, b], para cada x [a, b], se tiene
|f (x) PN (x)|

|x x0 | |x xN |
max f N +1) ()
(N + 1)!
[a,b]

2. Las diferencias divididas proporcionan otra expresion para el error de interpolacion. Dado
x [a, b], sea Q el polinomio de grado menor o igual que N + 1 que interpola a f en
x0 , . . . , xN , x. Entonces
Q(t) = PN (t) + f [x0 , . . . , xN , x](t x0 ) (t xN ).
De modo que, evaluando en x
f (x) PN (x) = f [x0 , . . . , xN , x](x x0 ) (x xN ).

(3.9)

Comparando las expresiones (3.8) y (3.9) se puede observar que, salvo la constante factorial,
las diferencias divididas proporcionan aproximaciones a las derivadas.
81

3.3.

Interpolaci
on de Hermite

El siguiente problema de interpolacion es una extension del primero.


Problema 2. Sea f : [a, b] R, r + 1 puntos distintos x0 , . . . , xr (nodos de interpolaci
on) y
enteros no negativos m0 , . . . , mr , N tales que
N =r+

r
X

mj ,

j=0

y tal que las siguientes derivadas de f existen, se busca determinar un polinomio PN (x), de grado
menor o igual que N , tal que para j = 0, . . . r
PN (xj ) = f (xj ),

m )

PN0 (xj ) = f 0 (xj ), . . . , PN j (xj ) = f mj ) (xj ).

PN se llama entonces polinomio interpolador de Hermite de f en los nodos x0 , . . . , xr .


Casos particulares
1. N = r, m0 = mr = 0. Entonces el problema 2 es el problema 1 de interpolaci
on de
Lagrange.
2. r = 0, m0 = N . Entonces, el problema 2 se lee: determinar un polinomio PN (x), de grado
menor o igual que N , tal que
PN (x0 ) = f (x0 ),

N)

PN0 (x0 ) = f 0 (x0 ), . . . , PN (x0 ) = f N ) (x0 ),

lo que define el problema de interpolacion de Taylor. El polinomio PN resultante es el


polinomio de Taylor de grado menor o igual que N de f en x0 , probablemente ya conocido
por el lector. Este caso tiene interes en s mismo, de manera que en cada resultado sobre el
problema 2 que se presente se hara una mencion particular a la correspondiente propiedad
del polinomio de Taylor.
El primer asunto a resolver, como antes, es la unicidad.
Teorema 3.3.1 El problema 2 tiene soluci
on u
nica.
Demostraci
on. La prueba es constructiva y utiliza argumentos similares a los de la forma
de Newton del polinomio interpolador de Lagrange.
Buscaremos primero la constante P0 que cumple la primera condicion, a partir de ella el
polinomio P1 que satisface las dos primeras condiciones, luego P2 a partir de P1 y as hasta
PN . Denotaremos por Qj+1 al polinomio que hay que sumar a Pj para obtener Pj+1 , es decir
Qj+1 = Pj+1 Pj . Ordenaremos ademas las condiciones de interpolacion por nodos, de manera
que no se atacan las condiciones sobre el nodo xj+1 hasta que no hemos impuesto todas las
asociadas al nodo xj .
Es claro que P0 es la constante f (x0 ), de manera que es u
nico. Ahora Q1 = P1 P0 tiene
grado uno a lo sumo y se anula en x0 , luego es de la forma c1 (xx0 ). La imposicion de la segunda
condicion de interpolacion determina de forma u
nica c1 , y por tanto P1 . Ahora, Q2 = P2 P1 tiene
grado dos y tanto el como su derivada se anulan en x0 , luego es de la forma Q2 (x) = c2 (x x0 )2 .
82

El tercer dato de interpolacion determina de forma u


nica c2 y, por tanto, P2 . Con razonamientos
similares llegamos a Pm0 , que es el polinomio de Taylor de grado m0 de f en x0 , lo que en
particular prueba la unicidad para este problema destacado de interpolacion de Hermite.
Quiza es necesario explicar el razonamiento al pasar a condiciones de interpolacion en un
nuevo nodo. El polinomio Qm0 +1 = Pm0 +1 Pm0 tiene grado m0 + 1 y al nodo x0 como cero
de orden m0 + 1 (es decir, el y sus primeras m0 derivadas se anulan en x0 ) luego es de la forma
cm0 +1 (x x0 )m0 +1 , con la constante cm0 +1 determinada de forma u
nica a partir de la primera
condicion de interpolacion en x1 .
Ahora, el procedimiento se repite con x1 . El siguiente termino sera de la forma cm0 +2 (x
x0 )m0 +1 (x x1 ), con la segunda condicion sobre x1 determinando la constante cm0 +2 , etc. Recorriendo de esta manera todos los nodos llegamos a un u
nico polinomio que satisface las condiciones
dadas y que se expresa en la base
1, (x x0 ), . . . (x x0 )m0
(x x0 )m0 +1 , (x x0 )m0 +1 (x x1 ), . . . , (x x0 )m0 +1 (x x1 )m1
,,
(x x0 )m0 +1 (x xr1 )mr1 +1 , (x x0 )m0 +1 (x xr1 )mr1 +1 (x xr ), . . . ,
(x x0 )m0 +1 (x xr1 )mr1 +1 (x xr )mr .

Ejemplo 2.4. Buscamos el polinomio de grados tres que interpola los datos
p(1) = 2, p0 (1) = 1, p(3) = 1, p0 (3) = 2.
Utilizando la construccion realizada en la demostracion del teorema, se tiene

P0 (x) = 2,
P1 (x) = P0 (x) + c1 (x 1), P10 (1) = c1 = 1,
P2 (x) = P1 (x) + c2 (x 1)2 = 2 + (x 1) + c2 (x 1)2 ,
P2 (3) = 2 + 2 + 4c2 = 1 c2 = 3/4.
3
P3 = P2 (x) + c3 (x 1)2 (x 3) = 2 + (x 1) (x 1)2 + c3 (x 1)2 (x 3),
4
P30 (3) = 1 3 + 4c3 = 2 c3 = 1.
Luego
3
P3 (x) = 2 + (x 1) (x 1)2 + (x 1)2 (x 3).
4
Notese que para leer las condiciones de interpolacion, puede tomarse cualquier orden. En lo
u
nico que afecta esto es en la base en la que se expresa el polinomio interpolador. Una ordenaci
on
que utilizaremos mas adelante viene dada al leer las condiciones por columnas, en lugar de por
filas, como se ha hecho en la demostracion (es decir, imponiendo primero las condiciones sobre f ,
luego las de la derivada, luego las de la derivada segunda, etc). Esto significa expresar el polinomio

83

en la base
1, (x x0 ), (x x0 )(x x1 ), . . . , (x x0 ) (x xr ),
(x x0 )2 (x x1 ) (x xr ), . . . , (x x0 )2 (x x1 )2 (x xr )2 ,

(x x0 )m0 +1 (x x1 )m1 (x xr )mr 1 , . . . ,


(x x0 )m0 +1 (x x1 )m1 +1 (x xr1 )mr1 +1 (x xr )mr .
As, en el ejemplo 2.4, el polinomio puede tambien construirse en la forma siguiente.
P0 (x) = 2,
P1 (x) = P0 (x) + c1 (x 1),
P1 (3) = 2 + 2c1 = 1 c1 = 1/2,
1
P2 (x) = P1 (x) + c2 (x 1)(x 3) = 2 (x 1) + c2 (x 1)(x 3),
2
1
0
P2 (1) = 2c2 = 1 c2 = 3/4.
2
3
1
P3 = P2 (x) + c3 (x 1)2 (x 3) = 2 (x 1) (x 1)2 + c3 (x 1)2 (x 3),
2
4
1 3
0
P3 (3) = + 4c3 = 2 c3 = 1.
2 2
Luego
1
3
P3 (x) = 2 (x 1) (x 1)2 + (x 1)2 (x 3).
2
4

3.3.1.

Diferencias divididas con argumentos repetidos

La demostracion anterior de unicidad es constructiva, pero no es la mejor manera de calcular


el polinomio interpolador de Hermite. Un algoritmo mas eficiente puede deducirse a partir del
algoritmo de las diferencias divididas presentado en la seccion anterior, permitiendo, en este caso,
la repeticion de argumentos.
Dados x0 , . . . , xj , ahora no necesariamente distintos, la definicion de diferencia dividida cj =
f [x0 , . . . , xj ] no cambia, pues se tomara como el coeficiente de xj en el polinomio interpolador de
grado menor o igual que j en x0 , . . . , xj . Para su calculo, hay que tener presente lo siguiente:
(i) Las diferencias divididas no dependen del orden de sus argumentos.
(ii) Cuando todos los argumentos son iguales, entonces
cj = f [x0 , . . . , xj ] =

f j) (x0 )
.
j!

(iii) Si entre los argumentos de f [x0 , . . . , xj ] hay dos distintos (que podemos suponer, por (i), el
primero y el u
ltimo) entonces se tiene la formula
f [x0 , . . . , xj ] =

f [x1 , . . . , xj ] f [x0 , . . . , xj1 ]


,
xj x0
84

j = 1, . . . , N.

Ejemplo 2.5. Tabla de diferencias divididas y coeficientes del polinomio del ejemplo 2.4. La
tabla se escribe
1 2
1 2
3 1
3 1

1
1/2
2

3/4
5/4

Y la diagonal de la tabla da los coeficientes del polinomio en la base elegida. Si reordenamos


los nodos y calculamos la correspondiente tabla
1 2
3 1
1 2
3 1

1/2
1/2
2 1/2

3/4
5/4

tenemos los coeficientes del polinomio en la base 1, (x1), (x1)(x3), (x1)2 (x3). (Justifica
la formacion de la cuarta columna de la tabla).

3.3.2.

Estimaci
on del error

El error de interpolacion tiene, en este caso, la siguiente expresion.


Teorema 3.3.2 En las condiciones del problema 2, supongamos que f es de clase C N en [a, b] y
su derivada f N +1) existe en (a, b). Entonces, para cada x [a, b] existe con mn{x0 , . . . , xr , x} <
< max{x0 , . . . , xr , x} tal que si PN es el correspondiente polinomio interpolador de Hermite, se
tiene
f (x) PN (x) =

(x x0 )m0 +1 (x xr )mr +1 N +1)


f
().
(N + 1)!

En particular, para el polinomio de Taylor (r = 0),


f (x) PN (x) =

3.4.

(x x0 )N +1 N +1)
f
().
(N + 1)!

Interpolaci
on trigonom
etrica

Los problemas de interpolacion hasta ahora planteados proporcionan polinomios escritos en


potencias de x. Puede haber, sin embargo, problemas en los que la interpolacion requiera otro tipo
de expresion para el polinomio. Mas concretamente, problemas relacionados con el tratamiento
de se
nales involucran elementos como frecuencias, periodos, amplitudes, etc. Por eso, en estos
casos, parece mas apropiado buscar una representacion que, en lugar de utilizar potencias de x,
utilice sinusoides, para identificar elementos propios del analisis de la se
nal.
A lo largo de esta seccion haremos uso de algunos resultados referentes a la teora de series
de Fourier. Se han incluido estos en un apendice, al final del tema.

85

3.4.1.

Problema de interpolaci
on trigonom
etrica

Los elementos del nuevo problema de interpolacion son los llamados polinomios trigonometricos. Un polinomio trigonometrico DM de grado M sobre un intervalo [a, b] es una funcion de la
forma


M
X
2im
DM (x) =
cm exp
(x a) ,
(3.10)
ba
m=M

con cm C. Alternativamente, puede escribirse






M
X
2m
2m
DM (x) = a0 +
am cos
(x a) + bm sin
(x a) ,
ba
ba

(3.11)

m=1

con am , bm R. La relacion entre los coeficientes es la siguiente:


ak = ck + ck ,

k = 0, 1, 2 . . . , M,

bk = i(ck ck ),

k = 1, 2 . . . , M.

Hay que observar que DM es una funcion periodica de perodo L = b a. Las expresiones
(3.10)-(3.11) tienen su justificacion en el contexto de la representacion de se
nales. Es razonable
pensar, siguiendo la teora de series de Fourier (vease el apendice de esta leccion) que si (3.10) o
(3.11) va a representar una se
nal, contenga frecuencias tanto positivas como negativas.
Problema 3. Sean L = b a > 0 y N 1 entero. Sobre el intervalo [a, b] se toman los nodos
L
, j = 0, . . . , N 1. Conocidos yj C, j = 0, . . . , N 1, se busca
equiespaciados xj = a + j N
determinar un polinomio trigonometrico de grado N que interpole la tabla 3.3.
x

x0

x1

xN 1

y0

y1

yN 1

Tabla 3.3: Tabla de interpolacion trigonometrica

La hipotesis de que los nodos xj esten equiespaciados no es restrictiva en la practica. Tpicamente, los datos yj son valores muestreados de una se
nal, cuya expresion en terminos de una
funcion de variable continua es normalmente desconocida, de forma que la b
usqueda de una representacion continua de la se
nal con muestra yj admite la libertad de eleccion de la posici
on de
los nodos que, por sencillez desde el punto de vista matematico y tambien por alg
un que otro
argumento practico, pueden suponerse equiespaciados.
Como en los casos anteriores, el primer punto a discutir es la existencia de solucion u
nica del
problema. Para ello, debemos comprobar el siguiente resultado.



2
N N ,
Lema 3.4.1 Sea = N = exp 2i
= cos 2
N
N i sin N , N 1 y la matriz FN C


N

N
2i(k 1)(l 1)
(k1)(l1)
FN =
= exp
.
(3.12)
N
k,l=1
k,l=1
Entonces:
86

(i) FN es simetrica.
N
(ii) las
columnas de FN forman un sistema ortogonal de C . La norma de cada columna es
N.

(iii) FN es invertible y FN1 =

1
N FN ,

donde FN = F N = F N .

Demostraci
on. Es claro, de la propia definicion, que FNT = FN , de manera que se tiene (i).
Para (ii), tomemos dos columnas ek , el , 0 k, l N 1 de FN . Teniendo en cuenta que
= 1 ,
entonces
hek , el i =

N
1
X

k j

l j

( ) (
) =

N
1
X

j=0

(kl)j ,

j=0

que es la suma de una progresion geometrica de razon (kl) , luego,



N
si k = l
hek , el i = (kl)N 1
si
k 6= l
kl 1
Hay que notar que si k 6= l, entonces k l 6= 0, y ademas vale a lo sumo N 1 y como mnimo
(N 1) , por lo que (kl) 6= 1. Como N = 1, entonces (kl)N = 1, luego

N
si k = l
hek , el i =
0
si k 6= l

Lo que prueba (ii). Por u


ltimo, puesto que las columnas de FN son ortognales y de norma N ,
entonces se tiene la igualdad
T

FNT F N = N IN = F N FN ,
con IN la matriz identidad de tama
no N . Como FN es simetrica, entonces




1
1
FN
F N = IN =
F N FN ,
N
N
lo que implica que FN es invertible y que FN1 =

1
N FN.

Teorema 3.4.2 El problema 3 admite una u


nica soluci
on de la forma
PN 1 (x) =

N
1
X


ck exp

k=0


2ik
(x a) .
L

(3.13)

Demostraci
on. La comprobacion es constructiva y proporciona la expresion para los coeficientes, que mas tarde utilizaremos. Imponiendo los datos de interpolacion de la tabla 3.3 a una
expresion de la forma (3.13), tenemos
yj = PN 1 (xj ) =

N
1
X


ck exp

k=0

87


2ik
(xj a) .
L

Sea = exp

2i
N

= cos

2
N

i sin

2
N

. Entonces




2ik
2ikj
exp
=
jk ,
(xj a) = exp
L
N

de manera que
yj = PN 1 (xj ) =

N
1
X

ck
jk ,

0 j N 1.

(3.14)

k=0

Si definimos los vectores y = (y0 , . . . , yN 1 )T , c = (c0 , . . . , cN 1 )T , entonces (3.14) se escribe, en


forma matricial, como
FN c = y,

(3.15)

con la matriz FN dada por (3.12). Para comprobar el teorema, bastara entonces con ver que el
sistema (3.15) tiene solucion u
nica. Por el lema 3.4.1, FN es regular y simetrica, luego FN = FN
es tambien invertible y ademas, tambien por el lema 3.4.1, (FN )1 = N1 FN . Por tanto, el sistema
(3.15) tiene solucion u
nica y esta dada por
c = (FN )1 y =

1
FN y.
N


Ya hemos comentado que es razonable pensar que la se
nal a representar contenga frecuencias
tanto positivas como negativas, de manera que la representacion del polinomio trigonometrico
dada por el teorema 3.4.2 parece incompleta, pues el polinomio carece de frecuencias negativas, y
por tanto da la impresion de que solo aproximara apropiadamente a aquellas funciones cuyos coeficientes de Fourier de ndice negativo sean nulos, es decir, funciones que no contengan frecuencias
negativas. Ello fuerza a buscar representaciones del polinomio interpolador mas convenientes.
Supongamos, por razones que mas adelante justificaremos, que N = 2M es par. Entonces,
una representacion mas adecuada del polinomio es


M
1
X
2ik
TM (x) =
ck exp
(x a) .
(3.16)
L
k=M

para obtener los coeficientes ck , k = M, . . . , M 1, necesitamos definir la transformaci


on de
vectores siguiente: dado x CN , se define f f tshif t(x) CN como el vector obtenido de x al
intercambiar los bloques formado por las M primeras y las M u
ltimas componentes de x. Por
T
T
ejemplo, si x = (4, 3, 2, 1) , entonces f f tshif t(x) = (2, 1, 4, 3) . La notacion f f tshif t(x) fue
tomada del correspondiente comando de MATLAB. Se tiene entonces el siguiente resultado.
Teorema 3.4.3 Sea N = 2M par. El problema 3 tiene una soluci
on u
nica de la forma (3.16),
donde si y = (y0 , . . . , yN 1 )T , el vector de coeficientes c = (cM , . . . , cM 1 )T verifica
c=

1
f f tshif t(FN y),
N

o equivalentemente
f f tshif t(c) =

1
(FN y).
N

88

Demostraci
on. Si f f tshif t(c) = (
c0 , . . . , cN 1 )T entonces

ck
si 0 k M 1
ck =
ckN
si M k N 1
Notemos ademas que para cada par de ndice k, j, se tiene
(
)kj = (
)(N k)j .
Imponemos ahora las condiciones de interpolacion. Para 0 j N 1,
yj

M
1
X

= TM (xj ) =

kj

ck (
)

k=M

M
1
X
k=0
M
1
X

kj

ck (
)

ck (
)kj +

k=0

M
X

M
1
X

kj

ck (
)

1
X

k=0
kj

ck (
)

k=1
N
1
X

clN (
)lj =

l=M

ck (
)kj

k=M
M
1
X
k=0
N
1
X

kj

ck (
)

M
X

ck (
)(N k)j

k=1

ck (
)kj .

k=0

En forma matricial, esto se escribe


FN f f tshif t(c) = y,
lo que lleva al resultado enunciado.
Una tercera representacion del polinomio viene dada por la forma simetrica

TM
(x)





M
1
X
1
2ik
2iM
ck exp
cM exp
(x a) +
(x a)
2
L
L
k=M +1


1
2iM
cM exp
(x a) ,
2
L

(3.17)

que divide el primer termino de (3.16) en dos aportaciones con frecuencias opuestas. La representacion (3.17) tiene presente que el coeficiente de Fourier de una se
nal real asociado a una
frecuencia es conjugado del asociado a la frecuencia opuesta (vease el apendice). Si los datos
(x) = Re(T (x)) es real, a diferencia de T (x), lo que
de interpolacion son reales, entonces TM
M
M
parece dar una representacion mas fiel de las se
nales reales.
Ejemplo 2.6. Para la funcion f (x) = 1/(5 4 cos x), la figura 3.1 muestra las tres formas del
polinomio trigonometrico interpolador de f en los puntos xj = 2j/8, j = 0, . . . , N 1 = 7. Dado
que la funcion es real y tiene frecuencias positivas y negativas, la tercera forma (3.17) parece la
mas apropiada.

3.4.2.

Tranformada de Fourier discreta

La matriz FN dada por (3.12), que aparece en el calculo de los coeficientes del polinomio
trigonometrico interpolador, obtenido en la seccion anterior y en cualquiera de sus formas, es de
especial importancia en el analisis numerico y en la teora de la representacion de se
nales. La
matriz define una transformacion lineal FN : CN CN , conocida como transformada de Fourier
89

Figura 3.1: Se
nal muestreada y las tres formas del polinomio trigonometrico interpolador.

discreta (DFT), de manera que la transformada de Fourier discreta de un vector x CN es el


vector FN x CN .
Ya hemos mencionado (lema 3.4.1) algunas propiedades de FN . Otra caracterstica relevante se
refiere a la computacion de la transformada discreta, cuestion de importancia, dado que aparece,
como hemos visto, en el calculo de los coeficientes del polinomio trigonometrico interpolador.
Dado x CN , la computacion elemental de FN x (matriz por vector) requiere del orden de
N 2 productos complejos, un precio computacional demasiado alto si N es grande. Por eso, se
hace necesaria la b
usqueda de algoritmos mas eficientes para la computacion de la DFT de un
vector. El mas celebre es el propuesto por Cooley y Tuckey en 1965 [1], conocido como algoritmo
de transformada rapida o algoritmo FFT, que reduce el computo de la DFT a (1/2)N log2 N
multiplicaciones.
El algoritmo FFT esta basado en la propiedad siguiente. Si u = (u0 , . . . , uN 1 )T , entonces
FN u = (f0 , . . . , fN 1 )T con
fk =

N
1
X

ul e

2ik
l
N

l=0

N
1
X

kl
ul N
,

k = 0, . . . , N 1.

l=0

2 . utilizamos este resultado para dividir la suma


Notemos que si N = 2M , entonces M = N
k , por un lado, y las
anterior en dos partes, agrupando por separado las potencias pares de N
potencias impares, por otro.

fk =

M
1
X

2jk
u2j N
+

j=0

= (FM u

M
1
X

(2j+1)k

u2j+1 N

j=0
(p)

)k +

k
N
(FM u(i) )k

M
1
X

jk
k
u2j M
+ N

j=0

(p)
fk

90

k (i)
N
fk ,

M
1
X

jk
u2j+1 M

j=0

k = 0, . . . , N 1,

con
u(p) = (u0 , u2 , . . . , uN 2 )T , u(i) = (u1 , u3 , . . . , uN 1 )T .
k+M
k , las f
Por u
ltimo, como N
= N
ormulas anteriores pueden dividirse en dos,
(p)

(i)

(p)

(i)

k
fk = fk + N
fk ,

fk+M

k
= fk N
fk ,

(3.18)
k = 0, . . . , M 1.

(3.19)

De este modo, el calculo de una DFT de N componentes se reduce al calculo de dos DFT de N/2
componentes. Este proceso puede repetirse si, a su vez, M es par. De este modo, si N es una
potencia de dos, digamos N = 2r , entonces el procedimiento puede aplicarse r veces.
El algoritmo consiste entonces en descomponer la se
nal original de N componentes, tras r
pasos, en N se
nales de una componente, calcular la DFT de estas se
nales (algo inmediato, pues
como F1 = 1, la DFT de una se
nal de una componente es ella misma). Finalmente, se agrupan
estas DFT unidimensionales en la DFT de la se
nal original, en r pasos, utilizando las formulas
(3.18) con M = 20 , 21 , . . . , 2r1 . Vamos a analizar cada una de estas tres etapas.
Descomposici
on de la se
nal o bit reverso
La figura 3.2 ilustra, con N = 8 = 23 , el proceso de reordenacion de las componentes de la
se
nal original para su descomposicion en N se
nales de una componente. La se
nal de dieciseis
componentes se descompone en r = 4 etapas. La primera rompe la se
nal en dos se
nales de ocho
componentes, la segunda en cuatro se
nales de cuatro componentes, la tercera en ocho de dos y,
finalmente, la cuarta, en dieciseis se
nales de una componente. La filosofa es la siguiente: cada
vez que una se
nal debe dividirse en dos, se separa en sus componentes pares y sus componentes
impares.
u0
u1
u2
u3
u4
u5
u6
u7

@
R
@

u0

u2

u4

u4

@
R
@

u0

u1

@
R
@

u0

u6

u2

u6

u1

u2

u5

@
R
@

u6

u1

u5

u7

@
R
@

@
R
@

u4

u3

u3

u7

@
R
@

u5

u3

u7

Figura 3.2: Procedimiento de descomposicion de una se


nal.
La reordenacion de los ndices se realiza a traves del proceso llamado bit reverso. En la tabla
(3.4), a la izquierda, aparecen los ndices de las componentes de la se
nal, en sus representaciones
91

Decimal
0
1
2
3
4
5
6
7

Binaria
000
001
010
011
100
101
110
111

Binario(reverso)
000
100
010
110
001
101
011
111

Decimal
0
4
2
6
1
5
3
7

Tabla 3.4: Bit reverso para N = 8.

decimal y binaria. A la derecha, se ha invertido la representacion binaria y obtenido, a partir de


esta inversion, la correspondiente representacion decimal. La ordenacion resultante proporciona el
conjunto de ndices de las se
nales de una componente que aparecen al final de la descomposici
on.
Observemos que el bit reverso incluye tres procesos:
1. Calcular la representacion binaria de cada ndice.
2. Invertir esa representacion.
3. Recuperar la correspondiente representacion decimal.
DFT de se
nales de una componente
Como ya hemos comentado, este paso es inmediato, pues la DFT de una se
nal de una componente es ella misma, al ser F1 = 1.
Recuperaci
on de la DFT original
Esta etapa requiere implementar las formulas (3.18) sucesivamente para M = 20 , . . . , 2r1
[4]. Cada ecuacion de (3.18) utiliza la combinacion basica de componentes proporcionada por la
figura 3.3
a
b
u
@

@
@
@
@
@
@
@
@
@u

a bW

a + bW

Figura 3.3: Estructura elemental de mariposa para la FFT.


Siguiendo correctamente esta combinacion, la construccion final proporciona la llamada estructura de mariposa del algoritmo (figuras 3.4 y 3.5).

92

Figura 3.4: Algoritmo FFT para N = 4.

Figura 3.5: Algoritmo FFT para N = 8.

Otro comentario a realizar es que el polinomio trigonometrico puede evaluarse en un punto

utilizando un algoritmo de tipo Horner, pues si z0 = exp 2i


L (x a) , entonces

TM (x ) =

M
1
X



ck z0k = zM cM + cM +1 z0 + cM 1 z02M 1 .

k=M

El algoritmo FFT ha ido admitiendo diversas variantes, vease, por ejemplo, [2].

3.4.3.

Cotas de error

Estudiamos ahora estimaciones del error en la interpolacion trigonometrica, suponiendo que


los datos de interpolacion corresponden a muestras de una funcion f : [a, b] R, es decir,
yj = f (xj ), j = 0, . . . , N 1. En primer lugar, veremos en que medida los coeficientes del polinomio aproximan a los coeficientes de Fourier de f . Despues, obtendremos estimaciones del error
cometido al representar la funcion mediante el polinomio trigonometrico interpolador.
Aproximaci
on de los coeficientes. Aliasing
Consideremos la serie de Fourier de f (vease el apendice)
f (x)

X
k=


ck exp


2ik
(x a) ,
L
93

x [a, b]

(3.20)

ck =

1
L

Z
a


2ik
f (x) exp
(x a) dx,
L

L = b a,

y supongamos que la serie converge absolutamente a f (x) para todo x [a, b]. Supongamos
tambien que N = 2M y consideremos el polinomio trigonometrico (3.13) de coeficientes dados
por c = (1/N )FN y.
Lema 3.4.4 (Aliasing). En las condiciones antes citadas, para cada n = 0, . . . , N 1,
cn =

cn+pN .

(3.21)

p=

Demostraci
on. Observemos primero que la serie de (3.21) tiene sentido al suponer que la
serie de Fourier de f converge absolutamente. Vamos a ver que el polinomio trigonometrico QN 1
de coeficientes
dn =

cn+pN ,

n = 0, . . . , N 1,

p=

interpola f en los nodos xj , j = 0, . . . , N 1; de este modo, la unicidad demostrada en el teorema


3.4.2 nos llevara al resultado.
Si 0 k N 1,
!


N
1

X
X
2in
(xk a)
QN 1 (xk ) =
cn+pN exp
L
n=0 p=
!


N
1

X
X
2ink
=
cn+pN exp
N
p=
n=0
!


N
1

X
X
2ik(n + pN )
=
cn+pN exp
N
n=0 p=



X
2ikj
=
cj exp
= f (xk ).
N
j=

Las dos u
ltimas igualdades se deben a que cualquier ndice j Z puede escribirse en la forma
j = n + pN para cierto n = 0, . . . , N 1 y cierto p Z (la pen
ultima) y a la convergencia de la
serie de Fourier hacia f en [a, b] (la u
ltima). 
La formula (3.21) se conoce como formula del aliasing (superposicion). Demuestra que todas
las frecuencias n + pN, p Z, estan representadas en la frecuencia n del polinomio trigonometrico
de coeficientes dados por la transformada de Fourier discreta. Si los coeficientes de Fourier cj
mayores corresponden a frecuencias bajas en modulo (algo tpico en muchas se
nales en la practica)
on
entonces cj es una buena aproximacion a cj para j = 0, . . . , N2 1, pero cj es buena aproximaci
a cjN para j = N/2, . . . , N 1. Ello explica la conveniencia de TM (con frecuencias positivas y
negativas) para aproximar mejor a la funcion que PN 1 (con solo frecuencias positivas).

94

Error en la interpolaci
on trigonom
etrica
Dada una funcion g : [a, b] C vamos a considerar las normas
||g|| =

sup |g(x)|
axb

1/2

Z

||g||2 =

|g(x)| dx

Las mismas normas se utilizan para funciones g : R C con perodo L = b a. (Recordemos


que los resultados de la teora de series de Fourier pueden darse para funciones g : [a, b] C
considerando su extension periodica en R, de perodo L = b a, vease el apendice). Hay que
observar primero que

||g||2 L||g|| .
(3.22)
Buscamos ahora, como en los anteriores casos de interpolacion, estimar la diferencia |f (x)TM (x)|
para puntos x [a, b] (o bien en R, por la periodicidad). Se dice que la interpolacion es de orden
> 0 si existe C > 0 tal que
|f (x) TM (x)| C/N ,

x R, N = 2M = 2, 4, . . .

La interpolacion es de orden exponencial si existen C, > 0 tal que


|f (x) TM (x)| CeN ,

x R, N = 2M = 2, 4, . . .

En general, a medida que f admite mas derivadas, mayor es el orden de convergencia de la


interpolacion trigonometrica. Cuando la funcion es analtica, el orden llega a ser exponencial.
).
estos resultados se basan en el siguiente resultado (valido tambien para TM
Lema 3.4.5 Sea f : R C peri
odica de perodo L y serie de Fourier (3.20), que se supone
absolutamente convergente. dado N = 2M , se tiene
X
||f TM || 2
|
ck |,
|k|M

||f TM ||2 2 L

|
ck |

|k|M

Demostraci
on. Escribimos la diferencia f TM = f SM + SM TM , donde SM es el
polinomio trigonometrico truncado obtenido a partir de la serie de Fourier de f ,


M
1
X
2ik
SM (x) =
ck exp
(x a) .
L
k=M
P
Dada la convergencia, el termino f SM puede acotarse por |k|M |
ck |. Para el segundo termino,
se utiliza la formula del aliasing,
|SM (x) TM (x)|

M
1
X

k=M pN,p6=0

|
ck+pN |

|
ck |,

|k|M

obteniendose el resultado en norma infinito. Para la norma dos, se aplica (3.22).


Los siguientes resultados determinan el orden de convergencia en la interpolacion en funci
on
de la regularidad de f .
95

Teorema 3.4.6 Sea f : R C peri


odica de perodo L. Supongamos que f admite m derivadas
(m+1)
1
continuas con f
de clase C a trozos en [a, b]. Sea N = 2M 4. Entonces, si k es cualquier
ndice
||f TM || = O(N m1 )
||f TM ||2 = O(N m1 )
|ck ck | = O(N m1 ).
Demostraci
on. Para k 6= 0, suponiendo solo que f 0 es continua en [a, b],


Z
1 b
2ik
ck =
f (x) exp
(x a) dx
L a
L


Z b
1
L exp(2ik(x a))/L) b
2ik
1
0
f (x)
|a +
f (x) exp
(x a) dx.
=
L
2ik
2ik a
L
De aqu, por la periodicidad del primer termino del u
ltimo miembro se tiene ck = O(1/|k|). Si se
supone mayor regularidad, se puede seguir integrando por partes sucesivamente para llegar a

m+1 Z b


1
L
2ik
m+1)
ck =
f
(x) exp
(x a) dx.
L 2ik
L
a
Ahora, si suponemos que f m+1) es de clase C 1 en cada uno de los intervalos [j1 , j ], j =
0, 1, . . . , J, se tiene que
"


m+1 X
J
exp 2ik
L
1
m+1)
L (x a) j
ck =
|j1
f
(x)
L 2ik
2ik/L
j=1

 #
Z j
L
2ik
m+2)
(x a) dx ,
+
f
(x) exp
2ik j1
L
de donde se tiene claramente que |
ck | C/|k|m+2 para una constante C que depende de los j
m+1)
m+2)
y de ||f
|| , ||f
|| pero no de k. As, utilizando la funcion 1/xm+2 , tenemos
Z

X
X
C
dx
|
ck | 2
2C
(3.23)
m+2
m+2
k
M 1 x
k=M
|k|M


xm1
1
|
.
= 2C
=O
m + 1 M 1
N m+1
Esto, junto con el lema 3.4.5, prueba las dos primeras igualdades. Notemos, por otro lado, que los
coeficientes de Fourier de TM son ck para k = M, . . . , M 1 y nulos para los restantes valores
de k. Entonces, utilizando la formula del aliasing y (3.23),


X
X
1
|
ck ck | =
|
ck+pN |
|
cj | = O
.
N m+1
pN,p6=0

|j|M


Cuando la funcion f es analtica, se obtiene una aproximacion de orden exponencial, algo que
no se consigue con ninguna de las interpolaciones anteriores.
96

Teorema 3.4.7 Sea f : R C peri


odica de perodo L. Supongamos que existen B, C > 0
tales que: (i) f (x) se extiende como funci
on holomorfa f (z) en la banda {|Im(z)| B}. (ii) Si
|Im(z)| B entonces |f (z)| C. Entonces, dado N = 2M 2, si x R,
|f (x) TM (x)|

4C
2 B
L

NB
L

1e

Adem
as, para todo ndice k,
|
ck ck |

3.5.

2C
exp(N B/L).
1 exp(2B/L)

Ejercicios

Ejercicio 1. Comprueba que el valor del determinante de la matriz del sistema (3.1) es
xj ).

i<j (xi

Ejercicio 2. Comprueba que los polinomios de Lagrange L0 , . . . , LN forman una base del espacio
de polinomios de grado menor o igual que N y coeficientes complejos. Comprueba ademas que
se verifican las igualdades
N
X

Li (x) = 1,

i=0
N
X

xki Li (x) = xk , k = 0, . . . , N.

i=0

Ejercicio 3. (i) Determina el polinomio de interpolacion de Newton para la siguiente tabla:


x 0 1 2
7
y 5 3 1 12
(ii) El polinomio p(x) = 2 (x + 1) + x(x + 1) 2x(x + 1)(x 1) interpola los primeros cuatro
datos de la tabla
x
y

-1
2

0
1

1
2

2
-7

3
10

A
nade un termino a p de modo que el polinomio que resulte interpole a la tabla entera.
Ejercicio 4. Comprueba que si f es un polinomio de grado menor o igual que N , entonces,
cualquier diferencia dividida de f de orden mayor o igual que N + 1 es nula.
Ejercicio 5. Se desea construir una tabla para la funcion f (x) = ex con abscisas uniformemente
espaciadas en el intervalo [0, 1] de longitud h. Determine cuanto debe valer h si se desea que el
error cometido al hacer interpolacion lineal en dicha tabla sea menor que 5E 05.
Ejercicio 6. Prueba que si se toma cualquier conjunto de 23 nodos en el intervalo [1, 1] y se
interpola all la funcion f (x) = cosh x con un polinomio P (x) de grado a lo sumo 22, el error
relativo que se comete no es superior a 5 1016 .
Ejercicio 7. Un polinomio P (x), cuyo grado se desconoce, admite valores dados por la siguiente
tabla:
97

x
0 1 2
3
P(x) 4 9 15 18
Si todas las diferencias divididas de orden cuatro son iguales a uno, calcula el coeficiente de
x3 en P (x).
Ejercicio 8. Se pretende evaluar la funcion
Z
1
J0 (x) =
cos(x sin t)dt,
0
en el punto 2,15. Se dispone de la siguiente tabla de valores:
2,0
2,1
2,2
x
J0 (x) 0,2239 0,1666 0,1104
Calcula el polinomio interpolador de grado dos de la tabla, emplealo para aproximar el valor
J0 (2,15) y acota el error obtenido.
Ejercicio 9. (i) Escribe el polinomio de Taylor de grado dos de f (x) = ex en x0 = 0.
(ii) Escribe en potencias de x 1 el polinomio obtenido en el apartado (i).
(iii) calcula el polinomio de Taylor de grado dos de f (x) en x0 = 1. Coincide con el anterior?
Ejercicio 10. Sea P (x) un polinomio. Recordemos que se dice que P tiene una raz (un cero) de
multiplicidad m en x = a si P (x) = (x a)m Q(x) con Q(a) 6= 0. Comprueba que P (x) tiene una
raz de multiplicidad m si y solo si P (a) = P 0 (a) = = P m1) (a) = 0.
Ejercicio 11. Calcula el polinomio de Hermite que interpola los datos
x
P (x)
P 0 (x)

0
2
9

1
4
4

2
44

Ejercicio 12. Construye un polinomio de grado menor o igual que tres tal que P (1) = 1, P 0 (1) =
2, P 00 (1) = 4, P (2) = 5 en las bases
{1, (x 1), (x 1)2 , (x 1)3 }.
{1, (x 1), (x 1)(x 2), (x 1)2 (x 2)}.
{1, (x 2), (x 1)(x 2), (x 2)(x 1)2 }.
Ejercicio 13. Construye un algoritmo para calcular los coeficientes del polinomio interpolador de
Hermite y evaluarlo en un punto para el caso mj = 1, j = 0, . . . , r. Estima el coste computacional
en terminos del grado N del polinomio.
Ejercicio 14. Consideremos el polinomio trigonometrico, en el intervalo [a, b],
P (x) =

N
1
X
k=0


ck exp

2ik(x a)
L


,

del que sabemos que se anula en los puntos xj = a +


P (x) = 0.

98

L = b a,
jL
N ,j

= 0, . . . , N 1. Comprueba que

Ejercicio 15. Se consideran 2N + 1 nodos x0 = 0 < x1 < < x2N < 2 y valores complejos
y0 , y1 , . . . , y2N . Comprueba que existe un u
nico polinomio de la forma
N

a0 X
P (x) =
+
(aj cos(jx) + bj sin(jx)) ,
2
j=1

tal que P (xj ) = yj , j = 0, 1, . . . , 2N .


Ejercicio 16. Estudia como hacer la transformada discreta de Fourier de dos sucesiones finitas
reales con la misma longitud f = [f0 , f1 , . . . , fN 1 ], g = [g0 , g1 , . . . , gN 1 ] utilizando la DFT s
olo
una vez.
Ejercicio 17. Elabora en pseudocodigo un algoritmo que calcule los coeficientes del polinomio
trigonometrico de una funcion f basado en N puntos y eval
ue tal polinomio en un punto x
usando una adaptacion conveniente del algoritmo de Horner.
Ejercicio 18. Eval
ua, utilizando la transformada discreta de Fourier, los polinomios siguientes
en los puntos 1, i, 1, i:
P (x) = 1 2x + x2 + x3 .
P (x) = 3 + 4x + x3 .
Ejercicio 19. Convoluci
on. Dados dos vectores x = (x0 , . . . , xN 1 )T , y = (y0 , . . . , yN 1 )T se
define la convolucion como el vector x y siguiente: Si X es la matriz

x0
x1
x2 xN 2 xN 1
xN 1
x0
x1 xN 3 xN 2

X = xN 2 xN 1 x0 xN 4 xN 3


x1
x2
x3 xN 1
x0
entonces
~x ~y = X T ~y .
Comprueba las siguientes propiedades de la convolucion:
1. x y=y x.
2. Si f = FN x, g = FN y, h = FN (x y), entonces hj = fj gj , j = 0, . . . N 1.
Ejercicio 20. Sea f : R R una funcion L-periodica, cj el j-esimo coeficiente de Fourier
continuo de f . Supongamos que
|
cj |

1
,
(1 + j 2 )5

j = 0, 1, 2, . . . .

Sea N = 2M , xj = jT /N, j = 0, . . . , N 1, fj = f (xj ) y c = [cM , cM +1 , . . . , cM 1 ] la


transformada discreta centrada de Fourier de los datos fj , j = 0, . . . , N 1. Sea TM (f )(x) el
polinomio trigonometrico que interpola a la funcion f en los datos ya citados,
TM (f )(x) =

M
1
X

ck exp(2ikx/T ).

k=M

99

Figura 3.6: Esquema del experimento de Newton.

Calcula una cota de |f (x) TM (f )(x)| en terminos de N , as como de kf TM k2 .


Ejercicio 21. Comprueba que las siguientes funciones son analticas en una banda y deduce
entonces estimaciones de |f (x) TM (x)| y kf TM k:

(1) f : [0, 2] R,
(2) f : [0, 2] R,

1
.
(1 + cos2 (x))
3
f (x) =
.
5 + 4 cos x

f (x) =

(3.24)

3.6.

Ap
endice. Series de Fourier

Se incluye aqu un apendice sobre la teora de series de Fourier. Esta teora tiene su importancia cuando las funciones a las que se aplica representan se
nales analogicas. Desde el punto de
vista matematico, su aplicacion se extiende a la resolucion de ecuaciones diferenciales. La primera
referencia a la teora se debe a Newton. En el a
no 1672 publico un artculo describiendo el experimento de descomposicion de la luz blanca en los colores del arco iris, utilizando un prisma de
cristal (vease la figura 3.6). Newton empleo el termino espectro para describir las bandas de luz
de colores producidas por el prisma. Luego coloco otro prisma invertido con respecto al primero
y mostro que los colores volvan a mezclarse para producir luz blanca. Insertando una ranura
100

opaca entre ambos prismas y bloqueando la incidencia de uno o mas colores sobre el segundo
de ellos mostro que la luz producida a la salida de este ya no era blanca. Newton dedujo que lo
que estaba produciendo el primer prisma era la descomposicion de la luz en ciertas componentes
elementales, y, el segundo, la recomposicion de estas.
Todos estos experimentos, desde un punto de vista matematico, conllevan la separacion de una
se
nal (en este caso la luz) en componentes elementales de tipo sinusoidal, de distintas frecuencias,
mediante el prisma. As, en el experimento de Newton, el primer prisma realiza el analisis en
frecuencia de la se
nal, obteniendo su espectro. El segundo prisma realiza la sntesis de la se
nal a
partir de su espectro.
El Analisis de Fourier trata entonces de representar funciones mediante una serie de senos y
cosenos, o funciones sinusoidales, llamada serie de Fourier. La finalidad de esta representaci
on se
encuentra al interpretar la funcion representada como una se
nal. El Analisis de Fourier identifica
una serie de elementos en la se
nal que en otros tipos de representaciones no estan tan claros. Estos
elementos son muy u
tiles no solo para identificar la se
nal, sino tambien para almacenarla (algo
muy importante) transmitirla, manipularla, recuperarla, etc. En primer lugar, determinaremos
la forma de calcular la serie de Fourier de una funcion dada. Luego, como para todo tipo de
aproximacion, desde el punto de vista matematico, hay que aclarar en que sentido la serie de
Fourier representa a la funcion. Terminaremos con algunos comentarios sobre las series de Fourier
de senos y de cosenos.

3.6.1.

Definici
on y c
alculo de una serie de Fourier

Aunque las definiciones que vienen a continuacion pueden extenderse a un tipo mas amplio,
nos limitaremos a considerar aqu funciones reales f (x) definidas en un intervalo [a, b] y que
son continuas a trozos. Esto significa que en el intervalo [a, b] existe un n
umero finito de puntos
x1 < . . . < xN 1 tal que si x0 = a, xN = b, f es continua en cada subintervalo (xi1 , xi ), i =

1, . . . , N y tiene lmites laterales finitos cuando x x+


i1 y cuando x xi . Representaremos esta
clase de funciones por Cp ([a, b]) (que, naturalmente incluye el conjunto de funciones continuas
en [a, b]). En la figura 3.7 se muestran algunas funciones de este tipo, muy comunes en Teora de
la Se
nal. Cuando sea necesaria mas regularidad, por ejemplo para hablar de derivadas primeras
de f , supondremos que f 0 (x) es tambien una funcion continua a trozos en el sentido anterior. Al
espacio resultante se le denota por Cp0 ([a, b]), etc.
Vamos a presentar otras definiciones que tambien nos seran u
tiles. Se dice que una funci
on
f es periodica de perodo L si f (x + L) = f (x) para todo x donde este definida f . El menor
valor positivo de L se llama perodo fundamental. Por ejemplo, las funciones cos(x) y sin(x) son
periodicas de perodo fundamental L = 2, mientras que la funcion tan(x) es periodica de perodo
L = .
Una funcion f verificando f (x) = f (x) para todo x en el dominio de f se dice que es
una funcion par. Su grafica es simetrica con respecto al eje vertical. Por ejemplo, las funciones
1, x2 , x4 , . . . o la funcion cos(x) son funciones pares.
Una funcion f verificando f (x) = f (x) para todo x en el dominio de f se dice que es una
funcion impar. Su grafica es simetrica con respecto al origen de coordenadas. Por ejemplo, las
funciones x, x3 , . . . o la funcion sin(x) son funciones impares.
Estas propiedades influyen, entre otras cosas, a la hora de calcular integrales definidas:

101

Figura 3.7: Varias funciones continuas y continuas a trozos.

Si f es par en [L, L] entonces


Z

Z
f (x)dx = 2

f (x)dx.
0

Si f es impar en [L, L] entonces


Z

f (x)dx = 0.
L

Definici
on. dada una funcion f Cp ([a, b]), la serie trigonometrica





a0 X
2
2
+
ak cos
k(x a) + bk sin
k(x a)
,
2
L
L

(3.25)

k=1

donde L = b a y
ak =
bk =


2
f (x) cos
k(x a) dx,
L
a


Z
2 b
2
f (x) sin
k(x a) dx,
L a
L
2
L

k = 0, 1, . . . ,

(3.26)

k = 1, 2, . . . ,

(3.27)

se llama serie de Fourier de f . Los n


umeros ak , k = 0, 1, . . . y bk , k = 1, 2, . . . se llaman coeficientes
de Fourier de f . El factor 1/2 es incluido junto a a0 por conveniencia.
Ejemplos.

102

(1) f : [, ] R, f (x) = x.
Z
1
a0 =
xdx = 0,

Z
1
x cos(k(x + ))dx = 0,
ak =



Z
1
1 x cos(k(x + )) sin(k(x + ))
2
bk =
x sin(k(x + ))dx =
| = .
+
2

k
k
k
Entonces
sin(2(x + )) sin(3(x + ))
1
+
+ + sin(k(x + )) + ).
2
3
k

1 + x si 1 x 0
(2) f : [1, 1] R, f (x) =
.
1x
si 0 x 1
Z 1
Z 1
a0 =
f (x)dx = 2
(1 x)dx = 1,
f (x) = x 2(sin(x + )

1
1

f (x) cos(k(x + 1))dx =

ak =
1
1

2
(1 (1)k ),
(k)2

f (x) sin(k(x + 1))dx = 0.

bk =
1

De modo que
1
4
f (x) 2
2


1
1
cos((x + 1)) + cos(3(x + 1)) + +
cos((2k + 1)(x + 1)) + .
9
(2k + 1)2

(3) f : [1, 1] R,

f (x) = |x|.
Z 1
Z
a0 =
f (x)dx = 2
1
Z 1

xdx = 1,

f (x) cos(k(x + 1))dx =

ak =
1
1

2
2 k2

((1)k 1),

Z
bk =

f (x) sin(k(x + 1))dx = 0.


1

Por tanto

1
1
cos((x + 1)) + cos(3(x + 1)) + +
cos((2k + 1)(x + 1)) + .
9
(2k + 1)2

0 si < x < 0
(4) f : [, ] R, f (x) =
.
x
si 0 < x <
Z
Z
1
1

a0 =
f (x)dx =
xdx = ,

0
2
Z
1
1
ak =
f (x) cos(k(x + ))dx = 2 ((1)k 1),

k
Z
1
1
bk =
f (x) sin(k(x + ))dx = .

k

4
1
f (x) + 2
2

103

Figura 3.8: Graficas de las funciones y sumas parciales de la serie de Fourier para los ejemplos
(1) y (2).

De modo que

1
1
f (x)
cos(x + ) + cos(3(x + )) + +
cos((2k + 1)(x + )) +
9
(2k + 1)2
sin(2(x + )) sin(3(x + ))
1
+(sin(x + ) +
+
+ + sin(k(x + )) + ).
2
3
k

2
+
4

Hay un lenguaje alternativo a la representacion de (3.25), u


til en muchas ocasiones, que viene
dado en terminos de exponenciales complejas. As, la serie

ck ei L k(xa) ,

(3.28)

k=

con
1
ck =
L

f (x)ei L k(xa) dx,

(3.29)

se llama serie de Fourier compleja de f . Las relaciones entre los coeficientes de la anterior forma
trigonometrica (3.25) y la forma compleja (3.29) se obtienen a partir de las formulas de Euler
cos(t) =

eit + eit
,
2

sin(t) =

eit eit
,
2i

t R.

De manera que
c0 =

a0
,
2

ck =

ak ibk
,
2

ck =
104

ak + ibk
, k = 1, 2, . . . ,
2

(3.30)

Figura 3.9: Graficas de las funciones y sumas parciales de la serie de Fourier para los ejemplos
(3) y (4).

o bien
ak = ck + ck ,
bk = i(ck ck ),

k = 0, 1, 2, . . .

(3.31)

k = 1, 2, . . .

(3.32)

Hay que observar que la representacion (3.25) tiene un sumatorio que recorre los n
umeros naturales (k = 1, 2, . . .) mientras que (3.28) contiene un sumatorio que recorre todos los n
umeros
enteros (k = . . . , 2, 1, 0, 1, 2, . . .). Esto es esencial para que ambas representaciones sean equivalentes.
Ejemplos.
(1) f : [, ] R,
mente, se tiene

f (x) = x. Utilizando las formulas (3.30) y los calculos hechos anterior-

c0 = 0,
i
i
ck =
bk =
,
2
k
i
i
ck =
bk = , k = 1, 2, . . .
2
k
Entonces
f (x) = x

X
i
(1)k+1 eik(x+) .
k

k=

105

Figura 3.10: Extension 2 periodica de la funcion f (x) = x.

(2) f : [, ] R,

ck =

si x 0
.
si 0 < x

Z
1/2
1
ik(x+)
0
f (x)e
dx =
(1)k
2

f (x) =

0
1

ik

si
si
si

k=0
k 6= 0 es par
k es impar

Entonces
f (x)

i X e(2k+1)i(x+)
1
+
.
2
2k + 1
k=

Notas:
La existencia de los coeficientes de Fourier de una funcion f (x) no justifica la convergencia
de la serie. Por ello es usual la notacion .
La cuestion acerca de en que sentido la serie de Fourier representa a la funcion se tratar
a en
las siguientes secciones.
Las componentes de una serie de Fourier son funciones periodicas de perodo L. De manera
que, si la serie tiene sentido, la funcion resultante debe ser periodica de perodo L. Por tanto,
no podemos esperar que la serie converja a f (x) para todo x, sino mas bien a la extensi
on
periodica de f . Si estamos interesados en representar por medio de una serie de Fourier
una funcion f definida en [a, b], podemos extender dicha funcion a todo R de manera que
la extension sea una funcion periodica de perodo L. Para ello, basta repetir la grafica de
f en intervalos de longitud L. En la figura 3.8 se visualiza la extension 2 periodica de
f : [, ] R, f (x) = x.

3.6.2.

Convergencia de la serie de Fourier

Estudiamos ahora en que medida la serie de Fourier puede representar a la funcion.

106

Aproximaci
on mnimos cuadrados
Utilizando la formula de Euler
ei = cos + i sin ,
podemos expresar un polinomio trigonometrico de grado N en la forma
TN (x) =





N 
E0 X
2
2
+
Ek cos
k(x a) + Fk sin
k(x a)
2
L
L
k=1

Teorema 1. Sea f una funcion continua a trozos en [a, b]. Entonces la suma parcial de la serie
de Fourier de f




N 
2
2
a0 X
+
ak cos
k(x a) + bk sin
k(x a)
SN (x) =
2
L
L
k=1

da la aproximacion optima en el sentido de mnimos cuadrados de f (x) de entre todos los polinomios trigonometricos de grado a lo sumo N .
Esto significa que la diferencia
Z b
(f (x) TN (x))2 dx,
E=
a

con TN recorriendo los polinomios trigonometricos de grado menor o igual que N en [a, b] es
mnima cuando TN se elige la suma parcial SN (x) de la serie de Fourier de f .
La aproximacion se obtiene en el sentido de mnimos cuadrados; esto es, el polinomio PN era
la proyeccion ortogonal de f sobre el subespacio generado por las funciones








2
2
2
2
{1, cos
(x a) , sin
(x a) , . . . , cos
N (x a) , sin
N (x a) }, (3.33)
L
L
L
L
con el producto interno
Z
hf, gi =

f (x)g(x)dx.
a

Se puede comprobar que las funciones del conjunto (3.33) son ortogonales para este producto
interno, lo que lleva a las formulas (3.26) y (3.27) para los coeficientes. Esta idea de aproximaci
on
mnimos cuadrados motiva la aparicion de la serie infinita.
Teorema de convergencia
El teorema de convergencia fundamental para series de Fourier es el siguiente:
Teorema 2. Si f y f 0 son continuas a trozos en [a, b], entonces, para x (a, b), se tiene:
(1) Si f es continua en x,





a0 X
2
2
+
ak cos
k(x a) + bk sin
k(x a))
= f (x).
2
L
L
k=1

107

(2) Si f no es continua en x,





a0 X
2
2
f (x+) + f (x)
+
ak cos
k(x a) + bk sin
k(x a)
=
,
2
L
L
2
k=1

donde f(x+) y f(x) son, respectivamente, los lmites por la derecha y por la izquierda de
f en x.
Para x = a o x = b, la serie converge a 21 (f (a+) + f (b)).
Es decir, cuando f y f 0 son continuas trozos en [a, b], la serie de Fourier converge a f (x)
cuando f es continua en x y converge a la media entre los lmites a izquierda y derecha del punto
cuando f no es continua en x.
Hay que observar que la serie define una funcion periodica de perodo L.. Esto significa que
si extendemos f (x) del intervalo (a, b) a toda R por periodicidad, entonces la conclusion del
teorema se tiene para todo x sustituyendo f por su extension L-periodica.
Ejemplos.
(1) f : [, ] R,

f (x) = x. Conocemos ya la serie de Fourier de f :

X
1
f (x) = x 2
sin(k(x + )).
k
k=1

Puesto que f es continua en (, ), entonces, para x en dicho intervalo


x=2

X
(1)k+1
k=1

sin(k(x + )).

Cuando x = , cada terminode la serie es nulo.


0 si x 0
(2) f : [, ] R, f (x) =
.
1
si 0 < x
La serie de Fourier es
f (x)

1 2X 1

sin((2k 1)(x + )).


2
2k 1
k=1

Seg
un el Teorema 2, si x (, 0)

1 2X 1
0=
sin((2k 1)(x + )).
2
2k 1
k=1

Y si x (0, ),

1 2X 1
1=
sin((2k 1)(x + )).
2
2k 1
k=1

Para x = 0, la serie converge a (f (0+) + f (0))/2 = 1/2 y si x = , la serie converge a


(f (+) + f ())/2 = 1/2 (en los tres casos, todos los terminos en el sumatorio se anulan).
108

3.6.3.

Diferenciaci
on e integraci
on de una serie de Fourier

Bajo ciertas condiciones, la serie de Fourier de una funcion puede derivarse termino a termino.
Teorema 3. Sea f continua en R y L-periodica. Supongamos que f 0 (x) y f 00 (x) existen y son
continuas a trozos en [a, b]. Entonces, la serie de Fourier de f (x) puede derivarse termino a termino
para producir la serie de Fourier de la derivada




 
2 X
2
2
h(x) = f (x)
k ak sin
k(x a) + bk cos
k(x a)
L
L
L
0

k=1

Respecto a la operacion inversa, la integracion, la serie de Fourier puede integrarse termino a


termino bajo las condiciones que indica el siguiente resultado.
Teorema 4. Si f es continua a trozos en [a, b], entonces, para x [a, b], la serie de Fourier de f
puede integrarse termino a termino, de modo que si





a0 X
2
2
f (x)
+
ak cos
k(x a) + bk sin
k(x a)
,
2
L
L
k=1

y si
x

Z
g(x) =

f (y)dy,
a

entonces

g(x) (x a)

a0 X
+
2
k=1

x


ak cos




2
2
k(y a) + bk sin
k(y a)
dy.
L
L

La serie anterior es convergente.


Ejemplo. f : [, ] R,

f (x) = x.
f (x) = x 2

g(x) =

x2

h(x) = 1 2

X
1
sin(k(x + )),
k

k=1

k=1

X
k=1

109

1
(1 cos(k(x + ))),
k2
cos(k(x + ))

Referencias

[1] J. W. Cooley, J W. Tukey, An algorithm for the machine calculation of complex Fourier
series, Math. Comput. 19, 297301 (1965).
[2] http://www.fftw.org.
[3] J. H. Mathews, K. D. Fink, Metodos numericos con MATLAB, Prentice Hall, 2000.
[4] P. J. Olver, Applied Mathematics Lecture Notes, http://www.math.umn.edu/olver/appl.html.
[5] J. M. Sanz Serna, Diez Lecciones de Calculo Numerico, Universidad de Valladolid, 1998.

110

Tema 4

M
etodos iterativos

1. Introduccion.
2. Metodos iterativos para sistemas lineales.
3. Metodos iterativos para ecuaciones no lineales.
4. Metodos iterativos para sistemas no lineales.
5. Ejercicios.

4.1.

Introducci
on

Esta leccion analiza la resolucion numerica de ecuaciones desde otro punto de vista. La primera
parte retoma el planteamiento del tema 2. Como ya se comento all, la b
usqueda de metodos de
resolucion de sistemas lineales grandes y con estructura (procedentes de aproximaciones por mnimos cuadrados) llevo a la construccion de metodos iterativos como alternativa a los directos. Tales
metodos son aproximados: generan una sucesion de vectores que, en el mejor de los casos, converge a la solucion del sistema. Las ventajas que presentan son, sin embargo, varias: en terminos
computacionales, se adaptan mucho mejor a la estructura del problema que los directos. Adem
as,
a pesar de ser aproximados, en muchas situaciones basta con un n
umero relativamente bajo de
aproximaciones para obtener una solucion bastante precisa. El aprovechamiento de las ventajas
de dispersion y estructura de las matrices que proporcionan estos metodos hace que su utilizaci
on
sea muy frecuente en la resolucion de sistemas lineales en circuitos electricos o en otros sistemas
de se
nales. Siguiendo un orden cronologico, presentaremos la formulacion de las tecnicas iterativas clasicas, analizando su implementacion. Por u
ltimo, al tratarse de metodos aproximados, es
obligado realizar un estudio sobre las condiciones a exigir para su convergencia a la soluci
on del
sistema.
La segunda parte de la leccion analiza el caso de tener ecuaciones no lineales, esto es, el
problema de aproximar ceros de funciones. La necesidad de obtener metodos de aproximaci
on
queda evidente con el simple comentario de que para un polinomio de grado cinco no hay formula
que calcule analticamente sus races. De manera que en general no pueden obtenerse exactamente
races de ecuaciones.
111

Desde el punto de vista de las aplicaciones, muchos problemas pueden modelarse matem
aticamente como una ecuacion, generalmente no lineal
f (x) = 0,

(4.1)

con f cierta funcion o sistema de funciones de una variable o conjunto de variables x, y cuya
resolucion analtica no es posible, o es posible pero demasiado elaborada.
Puede leerse una introduccion historica sobre la resolucion de ecuaciones por aproximaciones
sucesivas en [1]. Un ejemplo servira como ilustracion. El astronomo y matematico aleman Johannes Kepler (1571-1630), en uno de sus libros de Astronoma, necesitaba resolver la siguiente
ecuacion,
x = t e sin x,
con t y e valores dados. La ecuacion apareca al describir el movimiento de un cuerpo C que se
mueve en torno a otro A. De la primera ley de Kepler, C describe una elipse con A en uno de sus
focos. La variable e representa la excentricidad de la elipse, mientras que t juega el papel de un
angulo ficticio, que corresponde al movimiento de un cuerpo bajo movimiento circular uniforme.
Para obtener nuevas tablas astronomicas, Kepler necesitaba resolver la ecuacion para diferentes
valores de t. Llamo a su metodo la regla de posicion , en alusion probablemente a la larga
tradicion de las reglas de falsa posicion. El lo explica por medio de un ejemplo, con t = 50o 90 1000
y e = 1191000 . Razona como sigue: puesto que x < t, entonces Sin (x) < Sin (t) = 76775 (el
usa Sin para referirse al seno multiplicado por el radio 100000). Kepler elige un valor de x1
tal que Sin (x1 ) = 70000 con lo que obtiene x1 = 44o 250 (o mas precisamente 44o 250 3700 ). A
continuacion calcula
x1 + e sin x1 46o 440 ,
de donde
t (x1 + e sin x1 ) 3o 250 .
Ahora usa este error para obtener una mejor aproximacion a x:
x2 = x1 + 3o 250 = 47o 500 .
Puesto que Sin (x2 ) es cercano a 74000, hace los calculos mas sencillos tomando
x2 = ArcSin (74000) 47o 440 600 ,
(el valor correcto es 47o 430 5300 ). Usando este nuevo valor de x2 , Kepler repite los calculos,
x2 + e sin x2 50o 100 5900 ,
t (x1 + e sin x1 ) 1o 490 ,
obteniendo una nueva aproximacion
x3 = x2 1o 490 = 47o 420 1700 .
y parando aqu el algoritmo, puesto que x3 + e sin x3 = 50o 90 700 . El metodo es conocido hoy
como la iteracion de punto fijo.
En los Principia (1687), Newton mostro interes en la ecuacion de Kepler. En su libro, demostro como encontrar la posicion de un cuerpo moviendose en una elipse dada en un tiempo
112

asignado a traves de una prueba geometrica, pero reconocio que la construccion era difcil, proponiendo el uso de una solucion aproximada. Esta descripcion fue la primera publicaci
on de
Newton de lo que hoy llamamos metodo de Newton.
La idea de las tecnicas numericas para resolver este problema consiste en, dada una aproximacion inicial a un cero de la funcion, generar una sucesion de aproximaciones de forma algortmica. El proceso se detiene cuando se considera que el u
ltimo termino calculado de la sucesi
on es
una aproximacion suficientemente buena, en un sentido determinado por el algoritmo.
A manera de introduccion, discutiremos primero los metodos mas sencillos y menos eficientes,
para luego estudiar los metodos iterativos de punto fijo y de Newton, que son los mas utilizados
en la practica.

4.2.

M
etodos iterativos para sistemas lineales

Se retoma la resolucion del sistema lineal


Ax = b,

4.2.1.

A Mnn (C), x Cn , b Cn ,

(4.2)

T
ecnicas iterativas cl
asicas

Los metodos iterativos generan, a partir de una aproximacion inicial a la solucion, una sucesi
on
de vectores que, en ausencia de errores de redondeo, converge a la solucion del sistema. En la
practica, se calcula un n
umero finito de iterantes (estableciendo un control para la iteraci
on) y
el u
ltimo calculado se toma como aproximacion a la solucion.
Las tecnicas iterativas que aqu mencionaremos parten de considerar una matriz Q, llamada
de descomposicion, escribir A = Q (Q A) y el sistema (4.2) en la forma
Qx = (Q A)x + b.

(4.3)

La ecuacion (4.3) genera una formula matricial recurrente. Partiendo de un dato inicial x(0)
arbitrario, se define la sucesion {x() } mediante la recurrencia
Qx() = (Q A)x(1) + b,

= 1, 2, . . . .

(4.4)

De manera que, conocido x(1) , el nuevo termino de la sucesion x() es la solucion del sistema
(4.4) con matriz Q y termino independiente (Q A)x(1) + b. Naturalmente, para que la tecnica
sea eficaz, es imprescindible que la eleccion de Q proporcione unos sistemas (4.4) mucho m
as
sencillos y baratos de resolver que el sistema original (4.2). Tambien, Q debe elegirse de modo
que la sucesion {x() } converja lo mas rapidamente posible a la solucion del sistema. Diferentes
elecciones de Q proporcionan las tecnicas iterativas clasicas que ahora comentaremos. Veremos
ademas que esta descomposicion permitira dar una recurrencia para estudiar los errores cometidos
y un criterio general de convergencia de los metodos.

4.2.2.

M
etodo de Jacobi

El metodo de Jacobi requiere que la matriz A del sistema (4.2) tenga elementos diagonales
no nulos, puesto que se toma como Q la matriz diagonal determinada por su diagonal principal:
Q = diag(a11 , . . . , ann ). De este modo, la formula (4.4) se escribe, por componentes,
X
()
(1)
aii xi = bi
aij xj
, i = 1, . . . , n,
j6=i

113

()

()

donde x() = (x1 , . . . , xn )T .


Algoritmo 4.1. Resoluci
on de un sistema de ecuaciones por el m
etodo de Jacobi.
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.
bi : Componentes del termino independiente.
xv, xn: iterantes consecutivos.
maxit: n
umero maximo de iteraciones.
tol: parametro de tolerancia de la iteracion.
Valores iniciales de las variables de control del proceso
y de la iteracion inicial.
maxit =, tol =
niter = 0, xv = 0, errorit = 1
Mientras niter < maxit & errorit > tol
Desde i = 1 hasta n
Desde j = 1 hasta i 1
xni xni + aij xvj
Desde j = i + 1 hasta n
xni xni + aij xvj
xni (bi xni )/aii
errorit = ||xn xv||
xv xn
niter = niter + 1
El algoritmo anterior muestra la manera de implementar el metodo de Jacobi. Normalmente,
el control de la iteracion viene dada por dos elementos: un n
umero maximo de iteraciones (maxit)
y una tolerancia maxima (tol) para la diferencia entre dos iterantes consecutivos. Mientras no
se supere el n
umero maximo de iteraciones y la diferencia entre dos iterantes consecutivos sea
mayor que la tolerancia fijada, se ejecuta la iteracion. Se pueden llevar a cabo todas las divisiones
antes de iterar, de manera que tendramos la variante siguiente:

114

Algoritmo 4.2. Resoluci


on de un sistema de ecuaciones por el m
etodo de Jacobi
(variante).
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.
bi : Componentes del termino independiente.
xv, xn: iterantes consecutivos.
maxit: n
umero maximo de iteraciones.
tol: parametro de tolerancia de la iteracion.
Valores iniciales de las variables de control del proceso
y de la iteracion inicial.
maxit =, tol =
niter = 0, xv = 0, errorit = 1
Desde i = 1 hasta n
d 1/aii
bi dbi
Desde j = 1 hasta n
aij daij
Mientras niter < maxit & errorit > tol
Desde i = 1 hasta n
Desde j = 1 hasta i 1
xni xni + aij xvj
Desde j = i + 1 hasta n
xni xni + aij xvj
xni (bi xni )
errorit = ||xn xv||
xv xn
niter = niter + 1

4.2.3.

M
etodo de Gauss-Seidel

Una modificacion del metodo de Jacobi viene dada al tomar como matriz Q de descomposici
on
la parte triangular inferior de A, incluyendo la diagonal
a11
a21
.
.
Q=
.
a
n1,1
an,1

0
a22
..
.

0
0
..
.

an1,2
an,2

an1,3
an,3

0
0
..
.

an1,n1
an,n1

0
0
..
.
,
0
ann

de manera que, a diferencia del metodo de Jacobi, se van incorporando a la iteracion las componentes del iterante nuevo inmediatamente despues de ser calculadas. Por componentes
()

aii xi

= bi

X
j<i

()

aij xj

(1)

aij xj

j>i

115

i = 1, . . . , n,

Algoritmo 4.3. Resoluci


on de un sistema de ecuaciones por el m
etodo de GaussSeidel.
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.
bi : Componentes del termino independiente.
xv, xn: iterantes consecutivos.
maxit: n
umero maximo de iteraciones.
tol: parametro de tolerancia de la iteracion.
Valores iniciales de las variables de control del proceso
y de la iteracion inicial.
maxit =, tol =
niter = 0, xv = 0, errorit = 1
Mientras niter < maxit & errorit > tol
Desde i = 1 hasta n
Desde j = 1 hasta i 1
xni xni + aij xnj
Desde j = i + 1 hasta n
xni xni + aij xvj
xni (bi xni )/aii
errorit = ||xn xv||
xv xn
niter = niter + 1
Observemos que si el control de la iteracion viene dado solo por el establecimiento de un
n
umero maximo de iteraciones, el metodo de Gauss-Seidel requerira solo el almacenamiento del
u
ltimo iterante calculado, a diferencia del metodo de Jacobi, que siempre requiere dos iterantes
consecutivos.

116

Algoritmo 4.4. Resoluci


on de un sistema de ecuaciones por el m
etodo de GaussSeidel (variante).
Datos de entrada:
n: tama
no del sistema.
aij : Elementos de la matriz A.
bi : Componentes del termino independiente.
xv, xn: iterantes consecutivos.
maxit: n
umero maximo de iteraciones.
Valores iniciales de las variables de control del proceso
y de la iteracion inicial.
maxit =
niter = 0, xv = 0
Desde i = 1 hasta n
d 1/aii
bi dbi
Desde j = 1 hasta n
aij daij
Mientras niter < maxit
Desde i = 1 hasta n
Desde j = 1 hasta i 1
xvi xvi + aij xvj
Desde j = i + 1 hasta n
xvi xvi + aij xvj
xni (bi xvi )
niter = niter + 1

4.2.4.

M
etodo SOR

Para la descripcion de este metodo conviene expresar la descomposicion de la matriz A del


sistema (4.2) como A = D E F , donde D = diag(a11 , . . . , ann ) y

0
0
0

0
0
a21
0
0

0
0
.
.
.
.
..

..
..
..
E = ..

.
, F = D E A.
a
0
0
n1,1 an1,2 an1,3
an,1
an,2
an,3
an,n1 0
Entonces, el metodo de Gauss-Seidel se escribe, en forma matricial, como
Dx() = b + Ex() + F x(1) .
Partiendo de este metodo, definimos primero las componentes de un vector auxiliar x
()
()
aii x
i

= bi

i1
X

()
aij xj

j=1

n
X

(1)

aij xj

i = 1, . . . , n.

(4.5)

j=i+1

Las componentes del nuevo iterante se define entonces


()

xi

(1)

= xi

()

+ (
xi

(1)

xi

(1)

) = (1 )xi
117

()

+
xi ,

i = 1, . . . , n.

(4.6)

El metodo resultante se llama metodo de sobrerrelajacion o metodo SOR de parametro . Este


()
parametro se denomina factor de relajacion. En (4.6), la componente xi representa una media
(1)
()
ponderada por de los valores xi
y x
i . Eliminando, de (4.5) y (4.6), el vector auxiliar,
tenemos

i1
n
X
X
()
(1)
()
(1)
(1)
aii xi = aii xi
+ bi
aij xj
aij xj
aii xi
, i = 1, . . . , n.
j=1

j=i+1

O, matricialmente
(D E)x() = ((1 )D + F )x(1) + b,
es decir, que en la representacion (4.3), la matriz de descomposicion es
Q=
Al igual que la
un u
nico vector
La aparicion de
convergencia de

4.2.5.

1
(D E).

iteracion de Gauss-Seidel, el metodo SOR requiere, para su implementaci


on,
de almacenamiento. La eleccion = 1 proporciona el metodo de Gauss-Seidel.
estos metodos se justifica, como luego veremos, como un intento de mejorar la
la iteracion de Gauss-Seidel.

An
alisis de convergencia

Resultado general
Si escribimos (4.4) en la forma
x() = Q1 (Q A)x(1) + Q1 b,
y definimos M = Q1 (Q A), entonces los errores e = x() x satisfacen la recurrencia
e() = M e(1) ,

= 1, 2, . . . .

(4.7)

La matriz M se llama de iteracion del metodo y su comportamiento determina su convergencia, es


decir, que los errores converjan a cero cuando . Para los tres metodos que hemos descrito,
se tiene
M
M
M

= D1 (E + F )
1

= (D E)

= (D E)

(Jacobi)
(Gauss-Seidel)

((1 )D + F ). (SOR)

El siguiente resultado proporciona una condicion necesaria y suficiente para la convergencia de


un metodo iterativo.
Teorema 4.2.1 La iteraci
on
x() = M x(1) + c,
converge hacia (I M )1 c para cualquier vector inicial x0 si y s
olo si (M ) < 1.
118

(4.8)

Demostraci
on del teorema 4.2.1. Bastara ver que la sucesion de errores {e() }, que verifica
(4.7), converge a cero para cualquier vector inicial e(0) si y solo si (M ) < 1.
Supongamos primero que (M ) < 1. Sea un autovalor de M , con multiplicidad algebraica
m() y sea v un autovector generalizado asociado a . Recordemos la formula
m()1 

M v=

X
k=0

k (M I)k v,

valida para m(). Si wk = (M I)k v, entonces

m()1 

||M v||

X
k=0

(M )k ||wk ||.

||M v||

Como (M ) < 1, entonces


0 si .
0
Sea ahora e cualquiera. Podemos representar
e(0) =

n
X

j vj ,

j=1

para ciertos coeficientes j y donde {v1 , . . . , vn } es una base de autovectores generalizados de M .


Aplicando el resultado previo
||e() || = ||M e(0) ||

n
X

|j |||M vj || 0,

j=1

Recprocamente, supongamos que (M ) 1. Tomemos un autovalor de M con m


odulo
(0)
(M ) y un autovector asociado v. Si e = v, entonces
||e() || = ||M e(0) || = || ||e(0) || = (M ) ||e(0) ||,
que no puede converger, al ser (M ) 1. 
Como consecuencia del resultado, se tiene que si ||M || < 1 para alguna norma matricial,
entonces la iteracion converge.
Algunos resultados de convergencia
Como aplicacion del resultado general, pueden darse resultados particulares de convergencia
para los tres metodos mencionados en esta leccion, buscando condiciones para que la matriz de
iteracion tenga radio espectral menor que uno.
Los resultados que mencionaremos conciernen a tipos especiales de matrices que aparecen
con frecuencia en las aplicaciones. Una matriz cuadrada A = (aij ) MN (C) es estrictamente
diagonalmente dominante si
|aii | >

n
X

|aij |,

1 i n.

j=1,j6=i

Esto es, cada elemento de la diagonal principal es, en modulo, mayor que la suma de los modulos
de los restantes elementos de su fila. Por otro lado, una matriz real A es definida positiva si para
todo v 6= 0 v T Av > 0 o bien si todos sus autovalores son positivos.
119

Teorema 4.2.2 Si A es estrictamente diagonalmente dominante, entonces A es invertible y


adem
as:
El metodo de Jacobi converge para cualquier elecci
on del iterante inicial.
Si 0 < 1, el metodo SOR con par
ametro converge para cualquier elecci
on del iterante
inicial. En particular, el metodo de Gauss-Seidel ( = 1).
Teorema 4.2.3 Supongamos que A es simetrica y definida positiva. Entonces:
El metodo de Gauss-Seidel converge para cualquier elecci
on del iterante inicial.
El metodo SOR con par
ametro converge para cualquier elecci
on del iterante inicial si y
s
olo si 0 < < 2.
Velocidad de convergencia
Un aspecto a considerar a la hora de comparar metodos iterativos es la velocidad de convergencia. Dado un vector de error inicial e(0) , una medida de la eficiencia de un metodo viene dada
por el n
umero de iteraciones para reducir este error inicial en una cantidad dada. El comportamiento de los errores esta determinado por las potencias de la matriz de iteracion M , a traves
de (4.7).
Tomemos como e(0) un autovector asociado a un autovalor de M con modulo maximo, de
manera que || = (M ). Entonces
e() = e(0) ||e() || = (M ) ||e(0) ||.
Esto significa que si (M ) < 1, para reducir la norma del vector e(0) en un factor 10m en el paso
, es necesario que (M ) 10m , es decir

m
.
log (M )

Cuando M es convergente ((M ) < 1), la cantidad R (M ) = log (M ) > 0 se llama velocidad
asintotica de convergencia y controla el n
umero de iteraciones necesario para reducir el error
inicial en una cantidad dada si dicho error es un autovector de M asociado a un autovalor de
modulo maximo. Cuando e(0) es general, se tiene la cota procedente de (4.7)
||e() || ||M ||||e(0) ||,
de donde
||e() ||
||e(0) ||

!1/
||M ||1/ .

(4.9)

||
se llama velocidad promedio de convergencia en
Si ||M || < 1, el n
umero R(M ) = ln ||M

iteraciones de M con respecto a la norma matricial || ||. Seg


un (4.9), la cantidad ||M ||1/
proporciona un factor de reduccion promedio del error inicial en iteraciones.
Puesto que la razon de convergencia de un procedimiento depende del radio espectral de la
matriz de convergencia asociada al metodo, un camino para seleccionar una iteracion que acelere
la convergencia es elegir un metodo cuya matriz de convergencia asociada tenga radio espectral
mnimo. Precisamente, los metodos SOR surgen como una forma de acelerar la convergencia del
metodo de Gauss-Seidel.

120

Estudio comparativo
Varias de las ventajas de los metodos iterativos frente a los directos suelen observarse mejor
en la resolucion de sistemas lineales grandes, dispersos y con estructura. Un ejemplo clasico viene
dado por la matriz J J

4 1
0 0
1
1 4 1 0

1
4
1

0
.

..
..
..
.. ..
.

.
.
.
.
A= .
.
.
.

..
..
.. ..
..
..

.
.
.
.
.

0 0
1 4 1
1

Este tipo de matrices suele aparecer en modelos estacionarios y bidimensionales de distribuci


on
de temperaturas o de potenciales. Por ejemplo, se puede modelar la distribucion del potencial en
un condensador. Las placas de un condensador son dos prismas de seccion cuadrada, uno en el
interior del otro, como se muestra en la figura. Las placas estan separadas por un aislante y se
desea conocer el potencial en cada punto del mismo. El potencial en ambas placas es conocido.
1

12

11

10

N
s

7
s

S
Estimamos el potencial en un n
umero finito de puntos del aislante. Superponemos, como
ilustracion elemental, una malla a la seccion de la placa y buscamos el potencial en cada uno de
sus nudos, numerados en la figura desde el 1 hasta el 12. En la practica, la malla constar
a de
bastantes mas puntos.
La hipotesis fundamental del modelo es que en el estado estacionario, el potencial en cada
nudo de la malla es la media de los potenciales de los cuatro nudos mas proximos, esto es
1
VC = (VN + VS + VE + VO ).
4
La aplicacion de esta formula lleva a un sistema la matriz A anterior (para J = 12). El termino
independiente contiene valores del potencial en los puntos de la malla que caen en las placas.
Recordemos lo mencionado en secciones previas, en referencia a la implementacion. Un programa que implementa el metodo de Jacobi consta esencialmente de un lazo en el que se calcula
el iterante n-esimo a partir del anterior. A este lazo precedera la entrada del segundo miembro
y del iterante inicial. Como ya se ha comentado previamente, en cada momento, solo se guardan
en memoria dos iterantes: el que se esta calculando, que se guarda en un vector xn, y el anterior,
121

almacenado en, por ejemplo, xv. Al final del ciclo, el contenido de xn se sobreescribe en xv,
actualizandose para una nueva iteracion.
As, las componentes de xn verifican, salvo la primera y la u
ltima,
4 xn(i) = b(i) (xv(i 1) + xv( i + 1)).
Las ecuaciones primera y u
ltima son
4 xn(1) = b(1) (xv(2) + xv(J))
4 xn(J) = b(J) (xv(1) + xv(J 1)).
Sobreescribiendo 0,25 b en b, tenemos el ciclo
xn(1) = b(1) + 0,25 (xv(2) + xv(J))
i = 2:J 1
xn(i) = b(i) + 0,25 (xv(i 1) + xv(i + 1))
xn(J) = b(J) + 0,25 (xv(1) + xv(J 1)).
El lazo principal se ejecuta, por ejemplo, hasta que dos iterantes consecutivos difieran, en norma del maximo, en menos de una tolerancia, o bien dentro de otro ciclo que determina el n
umero
maximo de iteraciones. Hay que observar en este ejemplo la importancia de la estructura dispersa
de la matriz A. De este modo, el programa resuelve el sistema Ax = b, donde puede comprobarse que la matriz A es simetrica y definida positiva. Ademas, es diagonalmente dominante.
De manera que los metodos de Jacobi y Gauss-Seidel, para este sistema, son convergentes.
En cuanto al metodo de Gauss-Seidel, aqu, a diferencia del anterior, solo es necesario, dada
la construccion del algoritmo, un vector x, que esta guardando a la vez el iterante anterior y el
actual:
x(1) = b(1) + 0,25 (x(2) + x(J))
i = 2:J 1
x(i) = b(i) + 0,25 (x(i 1) + x(i + 1))
x(J) = b(J) + 0,25 (x(1) + x(J 1)).
Como ilustracion, tomemos un termino independiente b con todas sus componentes iguales a
2. En ese caso, la solucion del sistema es el vector con todas sus componentes iguales a uno.
Para J = 100 y distintas tolerancias, la ejecucion de los dos metodos da lugar a los siguientes
resultados:

M
etodo de Jacobi

122

T OL

N IT ER

||U u||

1E-05
1E-07
1E-09
1E-11
EPS

17
24
30
37
52

7.6294E-06
5.9605E-08
4.3132E-10
7.2759E-12
EPS

M
etodo de Gauss-Seidel

T OL

N IT ER

||U u||

1E-05
1E-07
1E-09
1E-11
EPS

12
16
20
24
34

1.8992E-06
2.3291E-08
2.8701E-10
3.5415E-12
EPS

La constante EP S vale, aproximadamente, 2,2204E 016. El metodo de Gauss-Seidel parece


mas recomendable, sobre todo desde el punto de vista de las iteraciones.

Figura 4.1: Coste computacional de los algoritmos frente al tama


no del sistema .
Podemos comparar el coste computacional de estos metodos con algunos metodos directos.
Para ello, se puede adaptar el algoritmo general de eliminacion gaussiana a la estructura tridiagonal de la matriz. La figura 4.1 muestra, en escala logartmica, el n
umero de operaciones de
los algoritmos de eliminacion gaussiana general (se
nalado con estrellas ) y el adaptado a la
estructura tridiagonal del sistema (con crculos 0) frente al tama
no del mismo. La grafica se
completa con el n
umero de operaciones proporcionado por los metodos iterativos de Jacobi (con
cruces ) y de Gauss-Seidel (con sumas +), con una tolerancia de T OL = 109 en el proceso
iterativo. Es observable que, para los tama
nos del sistema considerados, el algoritmo general es
el mas costoso, y el algoritmo adaptado para sistemas tridiagonales, el mas economico. Entre
ellos se encuentran los metodos iterativos de Jacobi y Gauss-Seidel, siendo este u
ltimo mejor en
terminos computacionales que el primero. Si bien en este caso el metodo tridiagonal directo es
mas competitivo, el procedimiento de adaptar la eliminacion gaussiana no siempre puede hacerse
123

en sistemas dispersos, siendo en general preferible el uso de metodos iterativos. Hay que indicar,
ademas, que la grafica muestra que el n
umero de operaciones del algoritmo tridiagonal y de los
metodos iterativos crece linealmente con el tama
no del sistema, mientras que el algoritmo general
aporta un n
umero de operaciones que crece con J 3 . Esto se observa estimando las pendientes de
las rectas asociadas a los metodos, teniendo en cuenta que la escala es logartmica. Los dos metodos iterativos tambien generan un n
umero de operaciones que crece linealmente con el tama
no
del sistema.

4.3.
4.3.1.

M
etodos iterativos para ecuaciones no lineales
M
etodo de bisecci
on

El teorema de Bolzano proporciona la base teorica para la descripcion de este metodo.


Teorema 4.3.1 (Bolzano). Sea f C([a, b]) y L un valor entre f (a) y f (b). Entonces, existe
c (a, b) tal que f (c) = L. En particular, si f (a)f (b) < 0, existe c (a, b) tal que f (c) = 0.
El procedimiento comienza buscando un intervalo I0 = [a, b] donde f es continua y con f (a)
y f (b) de distinto signo. Seg
un el teorema de Bolzano, hay un punto en I0 donde f se anula. El
metodo consiste en acercar los extremos del intervalo hasta llegar a uno suficientemente peque
no
en el que se encuentra el cero. Se toma el punto medio del intervalo x1 = (a + b)/2 como
aproximacion al cero. Pueden darse tres posibilidades: (i) f (a) y f (x1 ) tienen signos opuestos, de
modo que hay un cero en [a, x1 ]. (ii) f (x1 ) y f (b) tienen signos opuestos, de manera que hay un
cero en [x1 , b]. (iii) f (x1 ) = 0 y x1 es un cero. En caso de que no se de (iii) (que es lo habitual) se
genera un intervalo I1 = [a, x1 ] o I1 = [x1 , b], de la mitad de longitud que I0 , en cuyos extremos
f toma valores de signo opuesto y donde se encuentra un cero.
El proceso puede repetirse, evaluando f en el punto medio x2 del intervalo I1 y encontrando
un intervalo I2 de longitud la mitad de la de I1 donde se encuentra un cero. Iterando el proceso
o bien hallamos un cero de f directamente o despues de N iteraciones, se tiene un intervalo IN
de longitud (b a)/2N que contiene una raz.
El control del proceso puede venir dado mediante dos requisitos: establecer un n
umero m
aximo
de iteraciones y/o imponer que el proceso se detenga cuando la diferencia entre dos iterantes
consecutivos sea menor que una tolerancia prefijada (vease la nota al final de la leccion).

124

Algoritmo 4.5. M
etodo de bisecci
on.
Datos de entrada:
a, b: Extremos del intervalo.
Se supone que f (a)f (b) < 0. Puede incorporarse
un mensaje de error por si esto no ocurre.
tol: Tolerancia del proceso.
maxit: N
umero maximo de iteraciones.
niter = 0, error = 1
Mientras niter < maxit&error > tol
p1 (b a)/2
p a + p1
Evaluar fp f (p), fa f (a)
Si fp = 0
finalizar
error = |p1 |
niter niter + 1
Si fa fp > 0
ap
en otro caso
bp

Ejemplo 4.1. Tomando la ecuacion de Kepler mencionada en la introduccion, con los valores
t = 0,6, e = 0,5, la tabla 4.1 muestra los resultados del algoritmo de biseccion para los primeros
quince iterantes. La columna de errores se ha construido comparando el correspondiente iterante
con el u
ltimo calculado. La figura 4.2 es una ilustracion grafica del procedimiento.
iteracion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

iterantes
0.7854
1.1781
0.9817
1.0799
1.0308
1.0063
1.0186
1.0247
1.0277
1.0293
1.0285
1.0282
1.0283
1.0282
1.0282

error
2.4280E-01
1.4990E-01
4.6452E-02
5.1722E-02
2.6351E-03
2.1909E-02
9.6368E-03
3.5010E-03
4.3287E-04
1.1011E-03
3.3412E-04
4.9377E-05
1.4237E-04
4.6497E-05
1.4400E-06

f(iterante)
-0.1682
0.1162
-0.0340
0.0390
0.0020
-0.0161
-0.0071
-0.0026
-0.0003
0.0008
0.0003
0.0000
0.0001
0.0000
0.0000

Tabla 4.1: Metodo de biseccion para f (x) = x 0,5 sin x 0,6 = 0.

125

Figura 4.2: Metodo de biseccion.

Hay dos comentarios a realizar sobre el algoritmo. El primero es que funciona siempre, aunque
la convergencia del procedimiento suele ser muy lenta, en comparacion con otros metodos. Otro
aspecto es que proporciona una estimacion directa del error cometido, que viene dada por el
tama
no del u
ltimo intervalo calculado.
Teorema 4.3.2 (Convergencia del metodo de bisecci
on). Sea f C([a, b]) con f (a)f (b) < 0.

Sea {cn }n=0 la sucesi


on de puntos medios de los intervalos generados por el metodo de bisecci
on.
Entonces existe un n
umero r (a, b) con f (r) = 0 y adem
as
|r cn |

ba
,
2n+1

n = 0, 1, . . .

Demostraci
on. Puede leerse en [2].

4.3.2.

M
etodo de la secante

Precisamente la lenta convergencia del algoritmo de biseccion es un motivo para la aparici


on
de un nuevo metodo, en este caso utilizando la idea de interpolacion. A pesar de que la velocidad
de convergencia es superior, hay que destacar que se pierden ventajas del metodo anterior: ahora
no podemos asegurar siempre la convergencia y no obtenemos cotas del error cometido.
Debemos partir de dos aproximaciones x0 y x1 a la raz. El metodo construye la recta P1 (x)
que interpola a f en x0 , x1 y resuelve la ecuacion P1 (x) = 0 en lugar de (4.1). Se denota por x2 la
raz del polinomio obtenida. A partir de aqu se repite el procedimiento con x1 y x2 . En general,

126

conocidas aproximaciones xn , xn+1 , la recta que interpola a f en esos puntos tiene por ecuaci
on
y = f (xn+1 ) +

f (xn+1 ) f (xn )
(x xn+1 ).
xn+1 xn

Si xn+2 denota el cero de esta recta, se obtiene la formula


xn+2 = xn+1

f (xn+1 )
,
f [xn , xn+1 ]

f [xn , xn+1 ] =

f (xn+1 ) f (xn )
.
xn+1 xn

(4.10)

A pesar de que la convergencia no esta asegurada, cuando esta se da, el metodo es mas r
apido
que el de biseccion.
Ejemplo 4.2. Para el mismo problema del ejemplo 4.1, la tabla 4.2 muestra una mayor velocidad en la convergencia. La figura 4.3 es una ilustracion grafica del procedimiento.
iteracion
1
2
3
4
5
6

iterantes
0.9666
1.0327
1.0281
1.0282
1.0282
1.0282

error
0.0616
0.0045
0.0001
5.2483e-05
2.1301e-05
7.4054e-06

Tabla 4.2: Metodo de la secante para f (x) = x 0,5 sin x 0,6 = 0.

Algoritmo 4.6. M
etodo de la secante.
Datos de entrada:
p0 , p1 : Aproximaciones iniciales.
tol: Tolerancia del proceso.
maxit: N
umero maximo de iteraciones.
niter = 0, error = 1
Mientras niter < maxit y error > tol
Evaluar f0 f (p0 ), f1 f (p1 )
p p1 f1 (p1 p0 )/(f1 f0 )
error = |p p1 |
k k+1
p 0 p1
p1 p

El metodo de la secante dado por (4.10) puede completarse con un proceso de decision para
asegurar la convergencia [2]. Conocidos (xn , f (xn )) y (xn+1 , f (xn+1 )), recordemos que xn+2 es la
componente horizontal del punto de corte de la recta secante que pasa por tales puntos con el
eje horizontal. Supongamos f (xn )f (xn+1 ) < 0. Calculado (xn+2 , f (xn+2 )), se tienen tres posibilidades:
127

Figura 4.3: Metodo de la secante.

1. f (xn )f (xn+2 ) < 0, en cuyo caso hay un cero en [xn , xn+2 ]. Se eligen los puntos xn , xn+2
para continuar el proceso.
2. f (xn+1 )f (xn+2 ) < 0, en cuyo caso hay un cero en [xn+1 , xn+2 ]. Ahora se eligen los puntos
xn+1 , xn+2 para continuar el proceso.
3. f (xn+2 ) = 0. No hay nada mas que hacer, porque ya hemos encontrado la raz.
Esta variante genera un nuevo metodo, conocido como regula falsi o falsa posicion. Adem
as,
permite construir una sucesion de intervalos [an , bn ] que contienen un cero de f . La aproximaci
on
viene dada por
cn = bn

f (bn )
,
f [bn , an ]

y puede probarse que la sucesion {cn }n converge a un cero de la funcion f .

4.3.3.

M
etodo de punto fijo

Descripci
on
Dos metodos de aproximacion mas eficientes son la iteracion de punto fijo y el metodo de
Newton.
Ya hemos comentado algo del primero en la introduccion. La iteracion de punto fijo se basa
en reescribir el problema (4.1) de hallar un cero de f en el problema de calcular un punto fijo de

128

una funcion relacionada


x = g(x).

(4.11)

Elegida una aproximacion inicial x0 a una raz r de (4.1), se genera la sucesion


xn = g(xn1 ),

n = 1, 2, . . . .

(4.12)

Teorema 4.3.3 Supongamos que g es una funci


on continua. Si la sucesi
on {xn }n de (4.12) es
convergente y su lmite es x, entonces x satisface (4.11).
De manera que la eleccion de g exige tener a r como punto fijo. Puede darse una representaci
on
grafica del proceso de generacion de la sucesion (4.12), como la de la figura 4.4.

Figura 4.4: Iteracion de punto fijo.


La grafica muestra la manera de construir los iterantes y su aproximacion al punto fijo. El
dibujo muestra la funcion de iteracion y = g(x) y la bisectriz y = x. El punto de corte de ambas
graficas es entonces punto fijo para g. Dado x0 en el eje horizontal, se traza por el una vertical
hasta cortar la grafica de g. La ordenada de la interseccion es x1 . Por ella se traza una horizontal
hasta la bisectriz. La abscisa del punto de corte es entonces tambien x1 y puede as repetirse el
proceso con x1 .
Convergencia
La iteracion de punto fijo es un ejemplo de procesos de aproximacion local a la raz de la
funcion. Esto significa que si conseguimos un iterante inicial x0 suficientemente proximo a r,
129


podemos asegurar la convergencia de (4.12). Esta
exige, ademas, condiciones sobre la funci
on g
que influyen en su eleccion. Todo ello se recoge en el siguiente resultado.
Teorema 4.3.4 Supongamos que g es de clase C 1 en un intervalo (r , r + ), con  > 0. Si
|g 0 (r)| < 1,
entonces, existe 0 < <  tal que si x0 [r , r + ] se puede construir la sucesi
on (4.12) con
xn [r , r + ] y convergente a r. Adem
as, si los errores en = xn r son no nulos, los cocientes
verifican
en+1
g 0 (r),
en

n .

Nota: Dado que no conocemos r, el teorema es un resultado teorico que establece las condiciones
para la convergencia de (4.12), aunque en la practica no puede utilizarse.
Demostraci
on. Sea M con |g 0 (r)| < M < 1. Como g 0 es continua, existe <  tal que
|g 0 (x)| M,

x [r , r + ].

Sea x0 [r , r + ] y apliquemos induccion para obtener que la sucesion esta en [r , r + ].


Supongamos calculado xn [r , r + ]. Entonces
en+1 = xn+1 r = g(xn ) g(r).
Del teorema de los incrementos finitos, existe yn entre xn y r, y por tanto en [r , r + ], tal que
en+1 = g(xn ) g(r) = g 0 (yn )(xn r) = g 0 (yn )en .

(4.13)

Por tanto
|xn+1 r| = |en+1 | = |g 0 (yn )en | M |xn r| < |xn r| .
Luego xn+1 [r , r + ]. Ademas, de (4.13),
|en+1 | M |en | M 2 |en1 | M n |e0 |,
con M < 1, lo que prueba que en 0 y por tanto la sucesion {xn }n converge a r. Por u
ltimo,
tambien de (4.13), si en 6= 0 y n , como xn r, tambien yn r. Al ser g 0 continua
en+1
= g 0 (yn ) g 0 (r).
en

Ejemplo 4.3. Para el mismo problema del ejemplo 4.1, la tabla 4.3 muestra, en su segunda
columna, la sucesion de iterantes obtenidos mediante punto fijo. Con cuatro cifras decimales, la
iteracion converge hacia 1,0282. El cociente entre dos errores consecutivos (
ultima columna) se
aproxima tambien a una cantidad constante que, siguiendo el teorema 4.3.4 es g 0 (r) 0,2582.

130

n
2
3
4
5
6
7
8
9
10
11
12
13

xn
0.600
0.8823
0.9861
1.0169
1.0253
1.0274
1.0280
1.0281
1.0282
1.0282
1.0282
1.0282

en
4.2818E-01
1.4586E-01
4.2073E-02
1.1238E-02
2.9286E-03
7.5797E-04
1.9582E-04
5.0567E-05
1.3056E-05
3.3711E-06
8.7037E-07
2.2472E-07

en+1 /en
0.3407
0.2884
0.2671
0.2606
0.2588
0.2583
0.2582
0.2582
0.2582
0.2582
0.2582

Tabla 4.3: Iteracion de punto fijo para f (x) = x 0,5 sin x 0,6 = 0, con g(x) = 0,5 sin x + 0,6.

Figura 4.5: Iteracion de punto fijo.

131

Algoritmo 4.7. M
etodo de punto fijo.
Datos de entrada:
p0 : Aproximacion inicial.
tol: Tolerancia del proceso.
maxit: N
umero maximo de iteraciones.
niter = 0, error = 1
Mientras niter < maxit y error > tol
Evaluar p1 g(p0 )
error = |p1 p0 |
k k+1
p 0 p1
El teorema 4.3.4 afirma, entre otras cosas, que cuando la iteracion de punto fijo es convergente,
su velocidad de convergencia es lineal. Vamos a precisar esto un poco. Sea {xn }n una sucesi
on
que converge a un punto x y sea en = xn x. Si existen A, B > 0 tales que
lm

|en+1 |
= A,
|en |B

entonces se dice que la sucesion converge a x con orden de convergencia dado por B. El n
umero A
se llama constante asintotica del error. En particular, el caso B = 1 se llama convergencia lineal
y el caso B = 2, convergencia cuadratica.
De manera que el teorema 4.3.4 dice que, en caso de convergencia de la iteracion de punto
fijo, esta es tpicamente lineal con constante asintotica g 0 (r). Un caso a
un mas favorable puede
darse en la siguiente situacion.
Teorema 4.3.5 Supongamos que, en las condiciones del teorema 4.3.4, g 0 (r) = 0 y que existe
g 00 (r). Entonces, la iteraci
on de punto fijo converge con orden cuadr
atico y constante asint
otica
g 00 (r)/2.
Demostraci
on. Si en la demostracion del teorema 4.3.4 desarrollamos por Taylor
en+1 = xn+1 r = g(xn ) g(r) = g 0 (r)(xn r) +

g 00 (r)
(xn r)2 + o((xn r)2 ),
2

entonces, si en = xn r 6= 0,
en+1
g 00 (r) o(e2n )
g 00 (r)
=
+

.
e2n
2
e2n
2

El estudio local de la convergencia se completa con los casos que dan lugar a divergencia local.
Teorema 4.3.6 Supongamos que g es de clase C 1 en un intervalo (r , r + ),  > 0, en torno
a un punto fijo de g. Si
|g 0 (r)| > 1,
entonces, las u
nicas sucesiones de la forma (4.12) convergentes a r son aquellas tales que xn = r
a partir de un n.
132

Demostraci
on. Sea M con |g 0 (r)| > M > 1. Como g 0 es continua, existe <  tal que
|g 0 (x)| M,

x [r , r + ].

Supongamos que xn 6= r y xn r. Entonces, existe n0 tal que si n n0 , xn [r , r + ]. Luego


|xn+1 r| = |g(xn ) g(r)| = |g 0 (yn )(xn r)| M |xn r|,
para cierto yn entre xn y r. De aqu, se obtiene que
|xn+1 r| M |xn r| M nn0 |xn0 r|,
con M > 1, lo que significa que la sucesion {xn r}n tiende a infinito, en contra de la suposici
on
de convergencia. 
En esta situacion, el punto fijo se llama repulsor. Un u
ltimo comentario afecta tanto a la
convergencia como a la divergencia. Cuando 0 < g 0 (r) < 1, el tipo de convergencia se llama
monotona, mientras que si 1 < g 0 (r) < 0, se dice que es oscilante (la construccion gr
afica
de la iteracion justifica los nombres). Igualmente, la divergencia es monotona cuando g 0 (r) > 1
y oscilante cuando g 0 (r) < 1. Hay que insistir en que los resultados anteriores se refieren al
comportamiento local de la iteracion [3].

4.3.4.

El m
etodo de Newton

Descripci
on
Ideado por Newton a mediados del siglo XVII, es tambien conocido como metodo de la
tangente [1]. Fue formulado en los terminos en los que se conoce actualmente por Raphson en 1690,
incluyendo su construccion geometrica. Supongamos que la aproximacion inicial x0 esta cerca de
la raz r y supongamos que f es derivable. Como segunda aproximacion x1 se toma la intersecci
on
del eje de abscisas con la recta tangente a la curva en (x0 , f (x0 )). La expresion de tal recta es
y f (x0 ) = f 0 (x0 )(x x0 ) de modo que
x1 = x0

f (x0 )
,
f 0 (x0 )

que tiene sentido siempre que f 0 (x0 ) 6= 0 (vease la figura 4.6).


La obtencion de la formula general para la sucesion sigue entonces la idea de aproximaci
on
por tangentes. Conocido xn aproximacion a la raz r, xn+1 sera el punto de corte del eje horizontal
con la recta tangente a la curva y = f (x) en el punto (xn , f (xn )), de modo que, si dicha recta no
es horizontal (es decir, si f 0 (xn ) 6= 0) entonces
xn+1 = xn

f (xn )
,
f 0 (xn )

n = 0, 1, . . . .

(4.14)

La relacion con la iteracion de punto fijo se encuentra en la interpretacion de (4.14) como dicha
iteracion para la funcion
g(x) = x

f (x)
.
f 0 (x)

Esta conexion nos permite entonces deducir aspectos de convergencia del nuevo metodo.

133

Figura 4.6: Metodo de Newton.

Algoritmo 4.8. M
etodo de Newton.
Datos de entrada:
p0 : Aproximacion inicial.
tol: Tolerancia del proceso.
maxit: N
umero maximo de iteraciones.
niter = 0
Valor inicial de error
Mientras niter < maxit y error > tol
Evaluar f0 = f (p0 ), df0 = f 0 (p0 )
p1 p0 f0 /df0
error = |p1 p0 |
k k+1
p 0 p1

4.3.5.

Aspectos de convergencia

Teorema 4.3.7 Supongamos que f es de clase C 2 en un entorno de r con f (r) = 0, f 0 (r) 6= 0.


Supongamos adem
as que existe f 000 (r). Entonces, se puede encontrar un > 0 tal que si x0
[r , r + ], la sucesi
on de iterantes (4.14) est
a en [r , r + ] y converge a r. Adem
as, si
los errores en = xn r son no nulos, los cocientes en+1 /e2n tienen lmite finito (convergencia
cuadr
atica).
Demostraci
on. Observemos que
g 0 (x) =

f (x)f 00 (x)
,
f 0 (x)2
134

de manera que, con las hipotesis del teorema 4.3.7, se tiene que g 0 (r) = 0. Se deduce entonces el
resultado usando el teorema 4.3.5, que indica ademas que la constante asintotica es g 00 (r)/2. 
Al igual que en el caso de la iteracion de punto fijo, el metodo de Newton requiere tambien
una buena aproximacion inicial al cero r para la convergencia. Sin embargo, cuando esta se da,
es tpicamente mas rapida. El metodo tambien exige mayor regularidad de la funcion.
La condicion f (r) = 0, f 0 (r) 6= 0 del teorema 4.3.7 significa que r ha de ser un cero simple de
f . Para ceros m
ultiples, la convergencia del metodo ya no es cuadratica (veanse los ejercicios al
final del tema).
Ejemplo 4.4. Para el mismo problema del ejemplo 4.1, la tabla 4.4 muestra, en su segunda
columna, la sucesion de iterantes obtenidos mediante el metodo de Newton. Ahora los cocientes
en+1 /e2n (
ultima columna) muestran la convergencia cuadratica. El n
umero de iteraciones es
tambien bastante reducido, en comparacion con los otros procedimientos.
n
0
1
2
3

xn
1.2000
1.0364
1.0282
1.0282

en
1.7182E-01
8.1936E-03
1.9347E-05
1.0803E-10

en+1 /e2n
0.2775
0.2882
0.2886

Tabla 4.4: Metodo de Newton para f (x) = x 0,5 sin x 0,6 = 0.

Figura 4.7: Metodo de Newton.

135

4.4.

M
etodos iterativos para sistemas no lineales

Todo lo explicado anteriormente puede extenderse al caso en el que en (4.1) la funcion f =


(f1 , . . . , fm ) esta definida en un disco abierto de Rm y tenga m componentes reales. As, (4.1) se
convierte en un sistema de ecuaciones no lineales f (~x) = 0, ~x = (x1 , . . . , xm ) o bien
f1 (x1 , . . . , xm ) = 0,
f2 (x1 , . . . , xm ) = 0,
..
.

(4.15)

fm (x1 , . . . , xm ) = 0.
Para describir tanto la iteracion de punto fijo para sistemas como, en la seccion siguiente, el
metodo de Newton para sistemas, necesitamos manejar normas matriciales y sus propiedades,
explicadas en el tema 2, dado que ahora el papel de la derivada vendra representado por la
matriz jacobiana.

4.4.1.

Iteraci
on de punto fijo para sistemas

La formulacion del metodo no cambia. Se reescribe el sistema (4.15) en la forma ~x = g(~x),


para cierta g = (g1 , . . . , gm ). dado un iterante inicial ~x0 , se genera la sucesion
~xn = g(~xn1 ),

n = 1, 2, . . .

Denotamos por || || una norma en Rm . Los siguientes resultados establecen las condiciones
para la convergencia en el caso de sistemas. Denotamos por g = (g1 , . . . , gm ) a la funci
on de
iteracion que tenga por punto fijo al cero r Rm de f a aproximar. En estas condiciones, g 0 (r)
es la matriz jacobiana de g en el punto r.
Teorema 4.4.1 Supongamos que g est
a definida y es de clase C 1 en un entorno de r, con
0
||g (r)|| < 1, donde || || tambien representa la norma matricial asociada a la vectorial definida en
Rm . Entonces, existe tal que si ||x0 r|| < , la sucesi
on xn = g(xn1 ) verifica que ||xn r|| <
para todo n y es convergente a r . Adem
as, si {xn } converge a r, existe 0 < K < 1 tal que los
errores en = xn r verifican
||en+1 || K||en ||,
||en+1 g 0 (r)en || = o(1)||en ||,

n .

Teorema 4.4.2 Supongamos que g est


a definida y es de clase C 2 en un entorno de r, con
0
g (r) = 0. Entonces, existe tal que si ||x0 r|| < , la sucesi
on xn = g(xn1 ) verifica que
||xn r|| < para todo n y es convergente a r . Adem
as, la convergencia es cuadr
atica, en el
sentido de que para n grande

||en+1 || = O ||en ||2 .

4.4.2.

El m
etodo de Newton para sistemas

La deduccion del metodo de Newton para obtener un cero r = (r1 , . . . , rm ) del sistema (4.15),
donde suponemos que f = (f1 , . . . , fm ) es de clase C 1 en un disco abierto de Rm , es similar a
136

la del metodo para ecuaciones. Conocida la aproximacion xn , la siguiente xn+1 se obtiene como
interseccion de la variedad y = 0 y el hiperplano tangente a y = f (x) en (xn , f (xn )), de manera
que
0 = f (xn ) + f 0 (xn )(xn+1 xn ),

(4.16)

y, por tanto, xn+1 satisface un sistema lineal con matriz dada por f 0 (xn ). Para la existencia
de xn+1 se requiere entonces que la matriz jacobiana f 0 (xn ) sea invertible. La relacion con la
iteracion de punto fijo viene dada por la funcion
g(x) = x f 0 (x)1 f (x),
que tiene sentido cuando f 0 es invertible. La convergencia cuadratica se mantiene cuando f es de
clase C 3 en un entorno de r, f 0 (r) es invertible y la aproximacion inicial x0 se toma suficientemente
cerca de r [5].
Nota. Criterios de parada. En la programacion de los metodos que hemos mencionado en
esta leccion, pueden darse uno o varios criterios de parada del proceso. Los mas utilizados suelen
ser los siguientes (ya hemos hablado de alguno de ellos):
1. Establecer un n
umero maximo de iteraciones.
2. Fijar una tolerancia previa , suficientemente peque
na y parar el proceso en el paso n si
|f (xn )| < .
3. Detener las iteraciones cuando dos valores consecutivos xn y xn+1 estan suficientemente
cerca. Puede estimarse en terminos absolutos fijando una tolerancia T OL y parando el
proceso cuando
|xn+1 xn | < T OL,
o bien en terminos relativos, cuando
2|xn+1 xn |
< T OL.
|xn+1 | + |xn |
No es conveniente elegir tolerancias demasiado peque
nas. Una eleccion habitual consiste en
M
tomarlas unas cien veces mayores que 10 , con M el n
umero de cifras decimales de la
representacion en coma flotante que se utilice [2].

4.5.

Ejercicios

Ejercicio 1. Estudia la convergencia de los metodos de Jacobi y


Ai x = bi , i = 1, 2 donde

1 2 2
1 2

A1 = 1 1 1
,
A2 = 1 1
2 2 1
1 1
y b1 = b2 = (1, 2, 1)T .
137

Gauss-Seidel para los sistemas

1
0
1

Ejercicio 2. Para la resolucion del sistema lineal




a b
x = f,
b a
con a, b > 0, se considera el metodo iterativo



a
0

xn+1 =
0
a
b


xn + f ,

(4.17)

donde es un parametro. Determina si es posible encontrar valores de con > a > b de forma
que el metodo (4.17) sea convergente.
Ejercicio 3. Estudia la convergencia del metodo

2 1 0
1 2 1

0 1 2 1
.
..
..
..

.
.
.
A = ..
.
.
.
.
.
.
.
.
.

0
0 0
0
0

de Jacobi para sistemas N N con matriz

0
0

0
0

..
..

.
.
.

..
..
..

.
.
.

1 2 1
0

en funcion del tama


no N del sistema.
Ejercicio 4. El metodo iterativo mas sencillo es el llamado de Richardson, el cual toma como
matriz de descomposicion Q la identidad.
Elabora un pseudocodigo de implementacion del metodo.
Comprueba que si A tiene la propiedad
n
X

aii = 1 >

|aij |,

1 i n.

j=1,j6=i

entonces el metodo es convergente.


Ejercicio 5. La superficie de una presa cuya seccion muestra la figura 4.8 esta sometida a distintas temperaturas. La base de la presa se mantiene a una temperatura de 10o C, aproximadamente,
mientras que la superficie externa alcanza una temperatura de 25o C. Supongamos que la temperatura en la zona sumergida vara linealmente entre los 10o C del fondo y los 25o C de la parte
superior. Se trata de estudiar la distribucion de temperatura en la seccion transversal de la presa.
Para ello, sobre la grafica de la presa, formamos una red como la observada en la figura, en
cuyos nudos pretendemos estimar la temperatura. Vamos a suponer que, en el estado estacionario,
la temperatura en un nudo interno es la media de los cuatro mas proximos a el.
Estudia la convergencia de los metodos de Jacobi y Gauss-Seidel para la obtencion de estimaciones de la temperatura en los nudos internos. Calcula la dada por la segunda iteraci
on de
o
los metodos si se parte de una temperatura inicial de 15 C.

138

Figura 4.8: Seccion de la presa.


Ejercicio 6. Se considera el sistema lineal
x1 + x3 = 2,
x1 + x2 = 0
x1 + 2x2 3x3 = 0.
(a) Estudia la convergencia de los metodos iterativos de Jacobi, Gauss-Seidel y SOR con = 3/2
para este sistema.
(b) Se considera el siguiente metodo iterativo para resolver el sistema:


0 2 3
0
()
(1)

x = Mx
+ c, M =
1
0 0 , c = 0.
1 0 0
2
Estudia si la solucion dada por el metodo iterativo es la misma que la del sistema y si el metodo
es convergente. Determina cual de los cuatro metodos es, en principio, mas rapido.
Ejercicio 7. Demuestra que, si en denota el error en la iteracion n-esima del metodo de la secante,
entonces
en+1
f 00 (r)
= 0 .
n en en1
2f (r)
lm

Suponiendo que
|en+1 |
C,
|en |
deduce el orden del metodo.
Ejercicio 8. Comportamiento global de la iteraci
on de punto fijo [3]. Determina el
n
umero de puntos fijos de g(x) = (1/2)x x3 . Halla un punto > 0 con la propiedad g() = .
139

Estudia la iteracion de punto fijo para: (i) x0 (0, ). (ii) x0 = . (iii) x0 > . Que ocurre
cuando x0 es negativo?
Ejercicio 9. En el dibujo siguiente se muestra la grafica de cierta funcion g en el intervalo
[0, 5/2]. Los puntos A, B, C son los cortes de g con la bisectriz en dicho intervalo. Se sabe que
las pendientes de la grafica de g en los puntos A, B, C son, respectivamente, 1/4, 3/2 y 1/2.
Con estos datos, discute el comportamiento de la iteracion de punto fijo con la funcion g seg
un
la eleccion del iterante inicial.

Ejercicio 10. (i) Comprueba que, para [0, 4], la funcion g(x) = x(1 x) aplica el intervalo
[0, 1] en s mismo.
(ii) Sea x [0, 1], [0, 4]. Determina el n
umero de puntos fijos de g.
(iii) Comprueba que el punto fijo r = 0 es atractor si < 1 y repulsor si > 1. Comprueba que
para = 1 cualquier x0 [0, 1] conduce a una sucesion de iterantes que converge a r = 0 y que
cada error en es asintoticamente igual al precedente.
(iv) Estudia para que valores de el punto fijo no nulo es atractivo.
Ejercicio 11. Puntos fijos con |g 0 ()| = 1. Las funciones g(x) = sin x y g(x) = tan x tienen
ambas el punto fijo r = 0 y para ambas g 0 (0) = 1. Prueba que, para |x0 | suficientemente peque
no,
con el seno la iteracion de punto fijo converge mientras que con la tangente diverge. Por tanto el
caso |g 0 ()| = 1 es dudoso, la convergencia o divergencia depende de los valores de las derivadas
superiores de g.
Pruebe que si con |g 0 ()| = 1 hay convergencia al punto fijo entonces cada error es asint
oticamente de la misma magnitud del anterior, por lo que la convergencia es muy lenta y carece de
utilidad para hallar el punto fijo.

140

Ejercicio 12. Para calcular

2 se propone la funcion de punto fijo


g(x) =

x2 + 2a
,
(1 + a)x

con a R un parametro, a 6= 1.. determina para que valores de a la iteracion de punto fijo
converge y para que valores la convergencia es cuadratica.
Ejercicio 13. (i) Si se utiliza el metodo de Newton con f (x) = x3 2, comenzando con x0 = 1.
Quien es x2 ?
(ii) Como podemos, utilizando el metodo de Newton-Raphson, implementar la divisi
on de
n
umeros reales? Y las races N -esimas de un n
umero?
Ejercicio 14. Considera una variacion del metodo de Newton en la que solamente se requiere
una derivada,
f (xn )
xn+1 = xn 0
.
f (x0 )
Analiza la convergencia de la sucesion de iterantes {xn } al cero x de f si se toma la sucesi
on de
iterantes suficientemente proxima al cero de f . Cual es la variacion equivalente del metodo de
Newton para sistemas?
Ejercicio 15. M
etodo de Newton para races m
ultiples. Sea f una funcion definida
un intervalo abierto que contenga un punto r con f (r) = 0. Supongamos que f es derivable
cualquier orden en todo punto y que r es el u
nico cero de f . Comprueba que si r es un cero
orden p > 1, entonces el metodo de Newton para f converge linealmente. Aplica el metodo
Newton para resolver x2 = 0 a partir de x0 dado y comprueba la convergencia lineal.

en
de
de
de

Ejercicio 16. Iteraci


on de Newton acelerada. Supongamos que el metodo de Newton produce
una sucesion que converge linealmente a una raz r de orden p > 1. Comprueba que la llamada
formula de iteracion de Newton acelerada
xn+1 = xn

pf (xn )
,
f 0 (xn )

genera una sucesion que converge cuadraticamente a r.


Ejercicio 17. Estudia la convergencia de la iteracion de punto fijo en R = [0, 3/2] [0, 3/2] para
el sistema
x2 10x + y 2 + 8 = 0
xy 2 + x 10y + 8 = 0,
con g(x, y) = ( x

2 +y 2 +8

10

, xy

2 +x+8

10

). Lo mismo para el metodo de Newton.

Ejercicio 18. Determine una region en el plano tal que la iteracion de punto fijo aplicada al
sistema
x = g1 (x, y) = (x2 y 2 x 3)/3,
y = g2 (x, y) = (x + y + 1)/3,
sea convergente para cualquier punto inicial de dicha region.
Ejercicio 19. Para la resolucion de un sistema lineal Que relacion hay entre el metodo de Jacobi
y la iteracion de punto fijo aplicada al sistema?
141

Referencias

[1] J.-L.Chabert (Ed.), A History of Algorithms. From the Pebble to the Microchip, Springer,
1999.
[2] J. H. Mathews, K. D. Fink, Metodos numericos con MATLAB, Prentice Hall, 2000.
[3] J. M. Sanz Serna, Diez Lecciones de Calculo Numerico, Universidad de Valladolid, 1998.
[4] G. W. Stewart, Afternotes on Numerical Analysis, SIAM, 1998.
[5] G. W. Stewart, Afternotes Goes to Graduate School: Lectures on Advanced Numerical
Analysis, SIAM 1999.

142

Tema 5

Cuadratura y derivaci
on num
erica

1. Introduccion.
2. Metodos elementales de construccion de reglas de cuadratura. Analisis del error.
3. Reglas compuestas.
4. Formulas de aproximacion a la derivada.
5. Ejercicios.

5.1.

Introducci
on

El tema 3 abordaba diferentes maneras de aproximar funciones o de representar datos utilizando interpolacion. En esta leccion trataremos otro problema basico en analisis numerico, que
es la aproximacion a integrales y derivadas. La cuadratura numerica y la derivacion numerica
comparten argumentos para su justificacion, as como metodos de construccion. La cuadratura
numerica es el proceso por el que se genera un valor numerico para la integracion de una funcion sobre un conjunto. Muchas reglas proceden del calculo aproximado de areas y vol
umenes
realizado en tiempos antiguos [2]. La invencion del calculo infinitesimal a finales del siglo XVII
establecio la interpretacion de estos en terminos de integrales, de manera que las antiguas reglas
de aproximacion fueron generalizadas a traves de una b
usqueda de reglas de cuadratura para
integrales definidas. Hay ejemplos de estas que no pueden calcularse con las tecnicas elementales
de calculo (dependientes de la obtencion de primitivas): tpicamente, para encontrar el valor de
Z b
I(f ) =
f (x)dx,
(5.1)
a

uno debe obtener primero una funcion F con F 0 = f y aplicar la regla de Barrow: I(f ) =
F (b) F (a). Hay, sin embargo, funciones mas o menos elementales que carecen de primitivas
2
sencillas. Quiza el ejemplo mas utilizado es el de f (x) = ex . Una primitiva de esta funcion es [3]
F (x) =

X
k=0

x2k+1
,
(2k + 1)k!
143

que no es abordable numericamente. Una idea para la aproximacion numerica a (5.1) consiste en
sustituir f por otra funcion g que aproxime a f de manera adecuada y sea facil de integrar
b

f (x)dx

g(x)dx.
a

En este sentido, los polinomios son funciones que pueden satisfacer los dos requisitos, si bien
el tipo de aproximacion puede ser diferente, en funcion del problema de interpolacion de f que
resuelva el polinomio. Por ejemplo, g puede proceder de la truncacion de la serie de Taylor. Para
el caso anterior
Z

ex dx

N
1X

0 k=0

X
x2k
1
dx =
.
k!
(2k + 1)k!
k=0

Otro comentario en referencia a la necesidad de la cuadratura numerica. A veces, la integral


puede calcularse por tecnicas elementales, si bien el calculo puede ser bastante largo. En estas
ocasiones, se puede aproximar la integral con bastante precision y mas rapidamente. Por u
ltimo,
puede haber situaciones en las que el integrando ni siquiera es conocido. El siguiente ejemplo
puede encontrarse en [4].
Ejemplo 3.1. Un ingeniero esta proyectando una carretera y necesita calcular el volumen
de movimiento de tierras en el tramo comprendido entre los puntos kilometricos 1730 y 1810.
Dispone para ello de perfiles transversales cada cinco metros. En cada perfil se han medido con
un planmetro las areas de desmonte AD y terraplen AT (vease la tabla 5.1).
A partir de estos datos, los vol
umenes de desmonte VD y terraplen VT pueden calcularse como
Z 1810
Z 1810
AD (x)dx, VT =
AT (x)dx.
VD =
1730

1730

Aqu las funciones AD y AT no son conocidas explcitamente, y el calculo de los vol


umenes ha
de ser aproximado, utilizando los valores numericos de AD y AT proporcionados por la tabla.
Por su parte, las formulas de derivacion numerica son herramientas para construir metodos
de aproximacion para ecuaciones diferenciales, lo que trataremos en el tema siguiente.

5.2.

M
etodos elementales de construcci
on de reglas de cuadratura

Trataremos aqu formulas numericas para aproximar (5.1) en la forma


IN +1 =

N
X

j f (xj ).

(5.2)

j=0

Supondremos a y b finitos, con f continua a trozos en [a, b]. En la combinacion (5.2) de evaluaciones del integrando, los puntos de evaluacion xj [a, b], j = 0, . . . , N se llaman nodos o abscisas
de cuadratura. Los coeficientes j de la combinacion son los llamados pesos o coeficientes de la
formula.
144

Punto kilometrico
1730
1735
1740
1745
1750
1755
1760
1765
1770
1775
1780
1785
1790
1795
1800
1805
1810

Area desmonte (m2 )


2.51
1.32
1.12
0.85
0.63
0.05
0.00
0.00
0.00
0.25
0.56
0.85
0.94
1.57
1.83
2.61
2.57

Area terraplen (m2 )


0.05
0.61
0.82
0.95
1.21
1.35
1.56
2.58
2.41
2.21
1.90
1.50
0.85
0.34
0.11
0.00
0.20

Tabla 5.1: Datos del ejemplo 3.1.

Siguiendo la filosofa de la leccion 3, nos centraremos en las tecnicas de construcci


on de
formulas del tipo (5.2) y en el analisis del error de cuadratura I(f ) IN +1 (f ).
En lo que se refiere a la construccion de formulas, supondremos, en toda la leccion, que los
nodos x0 < x1 < < xN son conocidos (recuerdese el u
ltimo ejemplo) y que nuestra tarea se
centra en la obtencion de los coeficientes (el problema de la determinacion a
nadida de los nodos
queda mas alla de los objetivos de la asignatura). El criterio de construccion de las formulas viene
dado por el llamado grado de precision o grado de exactitud. Se dice que (5.2) tiene grado de
exactitud M 0 si es exacta, es decir, coincide con (5.1), para cada polinomio f de grado menor
o igual que M , pero no lo es para alg
un polinomio de grado M + 1.
Presentaremos primero tres formas basicas para construir reglas de la forma (5.2), de las que se
deducen formulas clasicas como las de Newton-Cotes. La estimacion de los errores de cuadratura
viene dada mediante una funcion especial, llamada n
ucleo de Peano. Por u
ltimo, la b
usqueda de
una mayor precision en las formulas lleva a la construccion de las reglas de cuadratura compuestas.

5.2.1.

M
etodo interpolatorio

Sea PN el u
nico polinomio de grado menor o igual que N que interpola a f en los nodos de
cuadratura x0 , . . . , xN . En forma de Lagrange, se escribe (tema 3)
PN (x) =

N
X

f (xj )Lj (x),

j=0

145

donde Lj es el polinomio de Lagrange asociado al nodo xj . Entonces


Z

Z
f (x)dx

PN (x)dx =
a

N Z
X
j=0


Lj (x)dx f (xj ),

(5.3)

quedando una regla de cuadratura de la forma (5.2) con pesos


Z
j =

Lj (x)dx,

j = 0, . . . , N.

No es difcil ver que una formula interpolatoria (5.3) tiene un grado de precision mayor o igual
que N , pues si f es un polinomio de grado menor o igual que N , coincide con su polinomio
interpolador.
Interpolatorias son las cuatro reglas clasicas:
1. Regla del rectangulo: N = 0, x0 = a.
IREC (f ) = (b a)f (a).
Grado de precision cero.
2. Regla del punto medio: N = 0, x0 =

a+b
2 .


IP M (f ) = (b a)f

a+b
2


.

Grado de precision uno.


3. Regla de los trapecios: N = 1, x0 = a, x1 = b.
IT (f ) =

(b a)
(f (a) + f (b)) .
2

Grado de precision uno.


4. Regla de Simpson [2]: N = 2, x0 = a, x1 = a+b
2 , x2 = b.




(b a)
a+b
IS (f ) =
f (a) + 4f
+ f (b) .
6
2
Grado de precision tres.
Cuando se utiliza el polinomio PN (x) para aproximar f (x), la formula de cuadratura interpolatoria resultante se llama de Newton-Cotes. Si el primer nodo es x0 = a y el u
ltimo xN = b, se
dice que la formula es cerrada. En la siguiente tabla aparecen las formulas cerradas de NewtonCotes para N = 1, 2, 3, 4.

146

I(f )
I(f )
I(f )
I(f )

5.2.2.

(b a)
(f (a) + f (b))
2




(b a)
a+b
f (a) + 4f
+ f (b)
6
2






ba
a + 2(b a)
3(b a)
f (a) + 3f a +
+ 3f
+ f (b)
8
3
3





2(b a)
ba
a + 2(b a)
7f (a) + 32f a +
+ 12f
45
4
4



3(b a)
+32f a +
+ 7f (b)
4

M
etodo directo

El metodo consiste en, conocidos los nodos x0 , . . . , xN , determinar los coeficientes imponiendo
directamente las condiciones para obtener un grado de precision, haciendo la regla exacta para
una base de polinomios del grado elegido. Notemos que la regla (5.2) tiene grado de exactitud al
menos k si y solo si es exacta para f (x) = 1, x, . . . , xk . Esto lleva al sistema de k + 1 ecuaciones
para las N + 1 incognitas
0 + 1 + + N

= b a,
b2 a2
0 x0 + 1 x1 + + N xn =
,
2
..
..
.
.
bk+1 ak+1
0 xk0 + 1 xk1 + + N xkn =
.
k+1

(5.4)

La matriz de (5.4) es de tipo Vandermonde, de manera que la eleccion k = N lleva a un sistema


con solucion u
nica. Los pesos as obtenidos proporcionan una regla de cuadratura con grado de
exactitud al menos N . Por la unicidad, esta coincide con la regla interpolatoria (5.3) con grado
de precision al menos N .
Ejemplo 3.2. Se pueden obtener las cuatro reglas clasicas usando el metodo directo. Por
ejemplo, una regla de la forma
I2 (f ) = 0 f (a) + 1 f (b),
tiene grado de precision al menos uno si
0 + 1 = b a,
b2 a2
0 a + 1 b =
,
2
sistema que tiene por solucion 0 = 1 = (b a)/2. Grado de precision al menos dos requiere
que se cumpla ademas
0 a2 + 1 b2 =
147

b3 a3
,
3

que los anteriores valores de 0 , 1 no verifican, por lo que la regla obtenida tiene grado de
exactitud uno. Se trata de la regla de los trapecios antes presentada.

5.2.3.

M
etodo del desarrollo de Taylor

Las etapas de este tercer metodo son las siguientes.


(i) Desarrollar por Taylor los valores f (xj ) que aparecen en (5.2). El punto en torno al cual
desarrollar puede elegirse con un criterio de simplificacion en los calculos.
(ii) Desarrollar por Taylor en el mismo punto el integrando de (5.1) e integrar termino a termino.
(iii) Imponer la coincidencia de ambos desarrollos. Tal imposicion lleva a un sistema lineal para
los coeficientes j de la regla.
Ejemplo 3.3. Para una regla de la forma
I(f ) 0 f (a) + 1 f (b),
y desarrollando por Taylor las dos expresiones en el punto a, tenemos, por una parte

Z b
Z b
(x a)2 00
0
I(f ) =
f (x)dx =
f (a) + (x a)f (a) +
f (a) + dx
2
a
a
h3
h2
= hf (a) + f 0 (a) + f 00 (a) + ,
2
6
con h = b a. Por otro lado


h2
0 f (a) + 1 f (b) = 0 f (a) + 1 f (a) + hf 0 (a) + f 00 (a) + .
2
Igualando los coeficientes de las evaluaciones de f y sus derivadas en a, tenemos
0 + 1 = h,
h
1 =
,
2
h
1
=
,
2
6
..
.
Las ecuaciones segunda y tercera son incompatibles, de modo que solo pueden cumplirse las
dos primeras igualdades, con 0 = 1 = h/2, obteniendose la regla del trapecio. Si f es un
polinomio de grado menor o igual que uno, entonces f 00 = 0 y las dos expresiones coinciden hasta
el coeficiente en h, lo que da un grado de precision mayor o igual que uno. Ademas, el grado
es exactamente uno dado que para un polinomio de grado dos la coincidencia de los desarrollos
obligara a satisfacer la tercera ecuacion, que ya hemos identificado como incompatible con la
segunda.

148

5.3.

An
alisis del error

Al igual que en el caso de la interpolacion, vamos a buscar representaciones para el error de


cuadratura
E(f ) = I(f ) IN +1 (f ),

(5.5)

que nos den una idea de la precision de la formula utilizada, as como un criterio de selecci
on de
las reglas.
La representacion de (5.5) que utilizaremos viene dada por el llamado Teorema de Peano y la
aplicaremos tambien en la seccion siguiente al tratar las reglas compuestas. La demostraci
on del
teorema del n
ucleo de Peano en su forma general puede consultarse en varias referencias [3, 1, 8].
Es asmismo aplicable en el analisis de errores de otros problemas, como por ejemplo la derivaci
on
numerica, que luego estudiaremos.
Teorema 5.3.1 Supongamos que la f
ormula (5.2) tiene grado de precisi
on al menos M . Entonces, para cada f C M +1 ([a, b]),
Z b
E(f ) =
f M +1) (t)K(t)dt,
a

donde K es la funci
on llamada n
ucleo de Peano, cuya expresi
on es
K(t) =

1
E(gt ),
M!

siendo gt la funci
on

gt (x) =

(x t)M
0

xt
x<t

Demostraci
on. Utilizando la formula de Taylor con resto integral
Z x
(x a)M M )
1
f (x) = f (a) + +
f (a) +
f M +1) (t)(x t)M dt,
M!
M! a
notese que, seg
un la definicion de gt , se puede escribir
Z x
Z b
f M +1) (t)(x t)M dt =
f M +1) (t)gt (x)dt.
a

Teniendo ahora en cuenta que la formula (5.2) tiene grado de precision al menos M


Z b
Z b
1
1
M +1)
M +1)
E
f
(t)gt (x)dt =
f
(t)E(gt )(x)dt .
E(f ) =
M!
M!
a
a
La u
ltima igualdad se debe a la forma de E, que le hace conmutar con la integral.
Corolario 5.3.2 Si en la situaci
on del teorema 5.3.1, el n
ucleo K no cambia de signo en [a, b],
entonces para cada f C M +1 ([a, b]) existe [a, b] tal que
E(f ) =

f M +1) ()
E(xM +1 ).
(M + 1)!
149

Demostraci
on. Del teorema del valor medio para el calculo integral [5] y el teorema 5.3.1,
se tiene
Z b
M +1)
K(t)dt,
E(f ) = f
()
a

para cierto [a, b]. En particular, si f (x) = xM +1 ,


M +1

E(x

Z
) = (M + 1)!

K(t)dt,
a

de donde
b

E(xM +1 )
.
(M + 1)!

K(t)dt =
a


Ejemplo 3.4. Error en la regla del rectangulo.
Z b
EREC (f ) =
f (x)dx (b a)f (a).
a

En este caso M = 0 y si f C 1 ,
b

Z
EREC (f ) =

f 0 (t)K(t)dt,

donde K(t) = EREC (gt ) con



gt (x) =

1
0

si
si

xt
x<t

Entonces
Z

Z
gt (x)dx (b a)gt (a) =

K(t) = EREC (gt ) =


a

dx = b t,
t

y por tanto
Z
EREC (f ) =

f 0 (t)(b t)dt.

Ademas, como K(t) no cambia de signo en [a, b], existe [a, b] tal que
Z b

(b a)2 0
0
0
xdx (b a)a =
f ().
EREC (f ) = f ()EREC (x) = f ()
2
a
Ejemplo 3.5. Error en la regla del punto medio.


Z b
a+b
EP M (f ) =
f (x)dx (b a)f
.
2
a
150

Podemos aplicar el teorema 5.3.1 con M = 0 o M = 1. Para este u


ltimo caso, si f C 2 ,
Z
EP M (f ) =

f 00 (t)K(t)dt,

donde K(t) = EP M (gt ) con



gt (x) =

(x t)
0

si x t
si x < t

Entonces
Z

gt (x)dx (b a)gt


Z b
a+b
=
(x t)dx (b a)gt
2
t
(
2

K(t) = EP M (gt ) =

(bt)2
2

(b

(bt)
2
a) a+b
2

t =

(ta)2
2

a+b
2

si

tc=
si

a+b
2

tc

Observemos tambien que K(t) no cambia de signo en [a, b], luego existe [a, b] tal que

 !
f 00 ()
f 00 () b3 a3
a+b 2
2
EREC (f ) =
EP M (x ) =
(b a)
2
2
3
2
=

5.4.

(b a)3 00
f ().
24

Reglas compuestas

La aparicion de las reglas de cuadratura compuestas se debe a que, como hemos visto en los
ejemplos anteriores, el error de cuadratura en las reglas simples depende de la longitud del intervalo de integracion. Para hacer el error peque
no, sera entonces necesario un intervalo peque
no.
Una alternativa para reducir el error consiste en dividir el intervalo [a, b] en una particion
z0 < z1 < < zN ,
aplicar la propiedad de aditividad de la integral
Z

f (x)dx =
a

N Z
X
i=1

zi

f (x)dx,

zi1

y aproximar cada una de las integrales por una regla de cuadratura (no tiene por que ser la misma
regla en cada subintervalo). As se obtienen las llamadas reglas de cuadratura compuestas. En
muchas ocasiones, la particion del intervalo se suele hacer uniforme, es decir que para todo
i = 0, . . . , N zi zi1 = h es constante.
Ejemplo 3.6. La aplicacion de una regla clasica en cada subintervalo de la particion proporciona la correspondiente regla compuesta. Por ejemplo:

151

1. Regla del trapecio compuesta


Z b
N
X
(zi zi1 )
f (x)dx
(f (zi1 ) + f (zi )) .
2
a
i=1

2. Regla de Simpson compuesta






Z b
N
X
(zi zi1 )
zi1 + zi
f (x)dx
f (zi1 ) + 4f
+ f (zi ) .
6
2
a
i=1

El grado de precision se calcula como en el caso de las reglas simples.

5.4.1.

An
alisis del error en las reglas compuestas

En este caso, se puede analizar el error en las reglas compuestas utilizando el teorema 5.3.1
pero en cada subintervalo de la particion. Podemos ilustrar el procedimiento con la regla del
punto medio compuesta


Z b
N
X
zi1 + zi
f (x)dx
.
(zi zi1 )f
2
a
i=1

Denotando por Ei el error de la regla en el intervalo [zi1 , zi ],


N
N Z zi
X
X
Ki (t)f 00 (t)dt,
E(f ) =
Ei (f ) =
i=1

i=1

zi1

con f C 2 y
(
Ki (t) =

(zi t)2
2
(tzi1 )2
2

si

si

zi1 +zi
2
zi1 +zi
2

De este modo, si K(t) es la funcion real definida en [a, b] tal que K(t) = Ki (t) si t [zi1 , zi ],
entonces, si f C 2 [a, b]
Z b
E(f ) =
K(t)f 00 (t)dt.
a

As,
Z

|E(f )|
=

|f 00 (t)|dt
a
Z b
1
max |zi zi1 |2
|f 00 (t)|dt.
8 iiN
a
max |K(t)|

atb

En particular, si la particion es uniforme y h = zi zi1 , se tiene


Z
h2 b 00
|E(f )|
|f (t)|dt.
8 a

(5.6)

Se dice entonces que el error tiene una convergencia de orden dos: la cota (5.6) sugiere que para
integrandos dos veces derivables con derivada segunda continua, la division por dos del diametro
h de la particion provoca que el error se divida aproximadamente por cuatro.
152

5.4.2.

Estudio comparativo

Para la eleccion de una regla de cuadratura en un problema concreto, hay varios criterios a
tener en cuenta. Es claro que uno de ellos ha de ser el de minimizar el error, de modo que es
adecuado utilizar reglas cuyo error de cuadratura tenga un alto grado de convergencia. Hay que
observar, en este sentido, que las cotas teoricas, como (5.6), no dependen solo del diametro h
de la particion; tambien es necesaria cierta regularidad del integrando. Sin este otro requisito, la
cota no es valida y no conocemos el comportamiento del error de cuadratura.
Otro criterio, a combinar con el anterior, tiene en cuenta el coste operativo. Reglas con
alto grado de convergencia pueden requerir muchas evaluaciones del integrando y, por tanto, ser
demasiado costosas computacionalmente. Hay entonces que establecer un cierto equilibrio entre
convergencia y coste operativo para la seleccion de la regla en un problema determinado.
En las siguientes tablas y figuras se ilustra una comparacion entre cuatro reglas compuestas,
rectangulo (RC), punto medio (PMC), trapecios (TC) y Simpson (SC), aplicadas en un intervalo
[0, 1], con una particion uniforme de longitud h. Vamos a ilustrar su comportamiento con dos
integrandos de diferente regularidad.
h
5.0e-001
2.5e-001
1.25e-001
6.25e-002

RC
2.1998e-001
1.0758e-001
5.3191e-002
2.6446e-002

PMC
4.8237e-003
1.1993e-003
2.9942e-004
7.4829e-005

TC
9.6172e-003
2.3968e-003
5.9872e-004
1.4965e-004

SC
1.0051e-005
6.2467e-007
3.8987e-008
2.4358e-009

Tabla 5.2: Tabla de errores para f (x) = sin x.


La tabla 5.2 proporciona, para diferentes valores de h, los errores cometidos al aproximar
Z 1
sin xdx,
0

con las cuatro reglas antes mencionadas. La figura 5.1 muestra el error (en escala doblemente
logartmica) en funcion del diametro h para cada regla. La figura 5.2 ilustra, tambien en escala
doblemente logartmica, el error de cuadratura frente a las evaluaciones del integrando realizadas
por cada regla, para los valores de h de la tabla 5.2.
h
5.0000e-001
2.5000e-001
1.2500e-001
6.2500e-002

RC
3.1311e-001
1.4838e-001
7.1036e-002
3.4335e-002

PMC
1.6346e-002
6.3107e-003
2.3655e-003
8.7001e-004

TC
SC
6.3113e-002 1.0140e-002
2.3384e-002 3.5874e-003
8.5364e-003 1.2685e-003
3.0855e-003 4.4848e-004

Tabla 5.3: Tabla de errores para f (x) = x.

Podemos deducir alguna informacion de estos resultados. Notemos primero que el integrando
f (x) = sin x es una funcion derivable de cualquier orden. De los datos de la tabla 5.2 podemos hacernos una idea sobre la convergencia de los metodos. Por ejemplo, cuando dividimos el
diametro h entre dos (dos filas consecutivas de la tabla), los errores de (RC) se dividen, aproximadamente, por dos, los de (PMC) y (TC) por cuatro y los de (SC) por dieciseis. Esto sugiere
153

Figura 5.1: Comparacion de errores con el diametro h para f (x) = sin x.


ordenes de convergencia uno, dos, dos y cuatro respectivamente. Esta informacion puede tambien
deducirse de la figura 5.1. Notamos que la pendiente de la recta de errores correspondientes a
(RC) es aproximadamente uno, dos para (PMC) y (TC) y cuatro para (SC) (por que raz
on
las pendientes proporcionan el orden de convergencia?). Para un valor del diametro h fijado, el
metodo que proporciona el menor error es (SC).
La figura 5.2 aporta informacion sobre el coste computacional de los metodos y su relaci
on
con el error. Observese que, para un n
umero fijo de evaluaciones, el metodo que proporciona
menor error (para los valores de la tabla 5.2) es (SC), seguido de (PMC), (TC) y (RC). Por otro
lado, para alcanzar un error del orden, digamos, de 106 , el metodo que tiene menos evaluaciones
de funcion es (SC), a pesar de que la formula en s parezca requerir mas que los otros.
Mostremos ahora en que medida estos resultados estan afectados por la regularidad del integrando. La tabla 5.3 y las figuras 5.3 y 5.4 corresponden a la repeticion de los experimentos

anteriores pero con el integrando f (x) = x, x [0, 1], que es solo continuo. Ahora, la tabla 5.3 y
la figura 5.3 muestran una perdida de convergencia de los metodos (PMC), (TC) y (SC), siendo
ahora comparables a (RC), si bien para un valor fijo de h, los errores menores siguen siendo
proporcionados por (SC). Por su parte, la figura 5.4 indica que, para los valores de la tabla 5.3, la
regla (PMC) se presenta ahora mas competitiva, aunque, en comparacion con el ejemplo anterior,
los errores obtenidos son mayores.

154

Figura 5.2: Comparacion de errores con evaluaciones del integrando para f (x) = sin x.

5.5.

F
ormulas de aproximaci
on a la derivada

Buscamos ahora formulas numericas para aproximar la derivada de una funcion f en un punto
y en la forma
DN +1 =

N
X

j f (xj ),

(5.7)

j=0

donde se suponen conocidos N 1 y los nodos xj , j = 0, . . . , N , con xi 6= xj , i 6= j. la construcci


on
de las formulas sigue las mismas tecnicas que la de la cuadratura. En particular, se mantiene la
definicion de grado de precision o exactitud M para (5.7) cuando la formula es exacta para los
polinomios de grado menor o igual que M y no de grado superior. Igualmente, se pueden utilizar
las tres tecnicas elementales de construccion. Por ejemplo, el metodo interpolatorio consiste en
aproximar f 0 (y)por PN0 (y), siendo PN el polinomio interpolador de f en los nodos x0 , . . . , xN .
As, utilizando la forma de Lagrange de PN , se tiene
0

f (y)

PN0 (y)

N
X


L0j (y) f (xj ),

j=0

lo que proporciona los valores de los coeficientes


j = L0j (y),

j = 0, . . . , N.
155

Figura 5.3: Comparacion de errores con el diametro h para f (x) =

x.

De la misma manera, la aplicacion del metodo directo consiste en asegurar la exactitud de la


regla para una base de polinomios del grado elegido, lo que lleva a un sistema lineal para los
coeficientes. Para f (x) = 1, x, . . . , xk , se tiene un sistema parecido a (5.4)
0 + 1 + + N

= 0,

0 x0 + 1 x1 + + N xn = 1,
..
..
.
.
0 xk0 + 1 xk1 + + N xkn = ky k1 .
Para k = N , el sistema proporciona la misma regla de derivacion numerica que el metodo interpolatorio. Por u
ltimo, el metodo del desarrollo de Taylor requiere para este caso las etapas
siguientes:
(i) Desarrollar por Taylor, en un punto conveniente, los valores f (xj ) que aparecen en (5.7).
(ii) Desarrollar por Taylor en el mismo punto la derivada f 0 (y).
(iii) Igualar ambos desarrollos y deducir los coeficientes y el grado de exactitud, resolviendo el
sistema lineal resultante.
Ejemplo 3.7. Con N = 1, el polinomio P1 tiene la forma
P1 (x) = f (x0 )L0 (x) + f (x1 )L1 (x);

L0 (x) =
156

(x x1 )
,
x0 x1

L1 (x) =

(x x0 )
.
x1 x0

Figura 5.4: Comparacion de errores con evaluaciones del integrando para f (x) =
La aplicacion del metodo interpolatorio proporciona los coeficientes
0 =

1
,
x0 x1

1 =

1
.
x1 x0

y la formula
D2 (f ) =

f (x1 ) f (x0 )
.
x1 x0

Casos particulares relevantes son los siguientes:


1. x0 = y, x1 > x0 o formula progresiva
f 0 (y)

f (y + h) f (y)
,
h

h = x1 x0 .

2. x1 = y, x0 < x1 o formula regresiva


f (y) f (y h)
, h = x1 x0 .
h
Puede comprobarse que ambas aproximaciones tiene grado de precision M = 1.
f 0 (y)

3. x0 = y h, x1 = y + h, h > 0 o formula centrada


f 0 (y)

f (y + h) f (y h)
,
2h

cuyo grado de precision es M = 2.


157

x.

5.5.1.

Aproximaci
on a derivadas de orden superior

Los mismos procedimientos pueden servir para aproximar evaluaciones de derivadas de orden
superior. Se muestran los siguientes ejemplos como ilustracion [6, 5, 7]
Ejemplo 3.8. La aplicacion del metodo directo para aproximar la derivada segunda en un
punto y mediante una formula del tipo
f 00 (y) 0 f (x0 ) + 1 f (x1 ) + 2 f (x2 ),
con x0 = y h, x1 = y, x2 = y + h, h > 0, da lugar al sistema
0 + 1 + 2 = 0,
0 (y h) + 1 y + 2 (y + h) = 0,
0 (y h)2 + 1 y 2 + 2 (y + h)2 = 2;
de donde se obtienen los coeficientes 0 = 2 = 1/h2 , 1 = 2/h2 y un grado de exactitud
M 2. Los coeficientes obtenidos satisfacen la condicion de exactitud para f (x) = x3 :
0 (y h)3 + 1 y 3 + 2 (y + h)3 = 6y,
pero no la condicion para f (x) = x4 , por lo que M = 3.
Ejemplo 3.9 [6]. La aproximacion a la derivada tercera con una formula de cinco puntos
f 000 (y) 0 f (x0 ) + 1 f (x1 ) + 2 f (x2 ) + 3 f (x3 ) + 4 f (x4 ),
con x0 = y 2h, x1 = y h, x2 = y, x3 = y + h, x4 = y + 2h, h > 0, proporciona por cualquiera de
los tres metodos, los coeficientes 0 = 1/(2h3 ), 1 = 1/h3 , 2 = 0, 3 = 1/h3 , 4 = 1/(2h3 ) y
un grado de precision M = 4.
Las tablas 4.1 y 4.2 de [9] muestran los coeficientes de otras formulas de aproximacion.

5.5.2.

Error en la derivaci
on num
erica

El estudio del error en la aproximacion


E(f ) = f 0 (y) DN +1 (f ),
(o de aproximaciones a derivadas de cualquier orden) se puede llevar a cabo a traves de la siguiente
version del teorema de Peano.
Teorema 5.5.1 Supongamos que la f
ormula (5.7) tiene grado de precisi
on al menos M . Entonces, para cada f C M +1 ([a, b]),
Z
E(f ) =

f M +1) (t)K(t)dt,

donde K es la funci
on llamada n
ucleo de Peano, cuya expresi
on es
K(t) =

1
E(gt ),
M!
158

siendo gt la funci
on

gt (x) =

(x t)M
0

si
si

xt
x<t

Si, adem
as, el n
ucleo K no cambia de signo en [a, b], entonces para cada f C M +1 ([a, b]) existe
[a, b] tal que
E(f ) =

f M +1) ()
E(xM +1 ).
(M + 1)!

Demostraci
on. Es similar a la del teorema 5.3.1. Usando tambien la formula de Taylor con
resto integral
Z b
1
(x a)M M )
f M +1) (t)gt (x)dt,
f (a) +
f (x) = f (a) + +
M!
M! a
aplicando E a ambos lados, usando la hipotesis de que el grado de precision es al menos M y la
derivacion bajo signo integral, se tiene
Z b

Z b

1
1
M +1)
M +1)
E(f ) =
E
f
(t)gt (x)dt =
f
(t)E(gt )(x)dt .
M!
M!
a
a
La segunda parte del teorema se demuestra igual que el Corolario 5.3.2.
Ejemplo 3.10. Buscamos expresion del error para la formula centrada de aproximacion a la
derivada primera
f 0 (y)

f (y + h) f (y h)
,
2h

h > 0.

El n
ucleo de Peano es
(
K(t) =

(ty+h)
h

2
(tyh)
2

si

yhty

si

y ty+h

Como el n
ucleo no cambia de signo en [y h, y + h], existe [y h, y + h] tal que si f
C 3 ([y h, y + h]),
E(f ) =

(2h)2 000
h2
f () = f 000 ().
24
6

De manera que la convergencia de la formula es de segundo orden.

5.5.3.

El car
acter de mal puesto de la derivaci
on num
erica

Las formulas de derivacion numerica son especialmente sensibles a los errores de redondeo
cometidos por una deficiente evaluacion de la funcion. Este comportamiento es consecuencia de
que la evaluacion de la derivada de una funcion f en un punto es lo que se llama un problema
mal puesto. Esto significa que cambios peque
nos en los valores de f pueden generar grandes
cambios en el valor de la derivada en un punto. El ejemplo mostrado en [6] (vease tambien [7])
159

es suficientemente ilustrativo. Para una funcion f que tome valores cuyo valor absoluto sea del
orden de uno, la funcion g(x) = f (x) + 1012 sin(1018 x) toma valores parecidos a los de f , pero
no as la derivada, pues, por ejemplo, g 0 (0) = f 0 (0) + 106 .
La influencia de esto en la aproximacion numerica puede ilustrarse con la formula centrada
para aproximar f 0 (0) [6]
f 0 (0)

f (h) f (h)
,
2h

h > 0,

para cierto . La formula nos dice que para que el error sea peque
no, ha de serlo tambien h.
Pero, entonces, la formula puede magnificar los errores cometidos en f (h) al multiplicarlos por
un factor h1 grande.
h
100
101
102
103
104
105
106

f (h)
2,718282
1,105171
1,010050
1,001001
1,000100
1,000010
1,000001

(h)
|f 0 (0) f (h)f
|
2h
0,175201
0,001668
0,000017
0,000017
0,000166
0,001358
0,016523

Tabla 5.4: Diferencias centradas para f (x) = ex .

La tabla 5.4, extrada de [6], muestra, en su u


ltima columna, las aproximaciones a la derivada
x
de f (x) = e en x = 0 dadas por la formula de diferencias centradas, para los valores de h que
aparecen en la primera columna. Hay que observar que, hasta h = 102 , los errores se comportan
como indica el ejemplo 3.10 (al dividir h entre 10, los errores se dividen, aproximadamente, entre
102 ). A partir de h = 103 , la formula comienza a empeorar la aproximacion.

5.6.

Ejercicios

Ejercicio 1. Halla el n
ucleo de Peano del error para las reglas de los trapecios y la de Simpson.
Obten, a partir de el, estimaciones del error de cuadratura correspondiente.
Ejercicio 2. Elabora un pseudocodigo para implementar las reglas del rectangulo, del punto
medio, la regla de los trapecios y la de Simpson compuestas. El pseudocodigo debe tener como
datos de entrada el diametro de la particion (que, por tanto, se supone uniforme) y los extremos
del intervalo de integracion.
Ejercicio 3. (i) Se va a calcular la integral de exp(-x2 ) entre 0 y 1 por la regla del punto medio
compuesta usando una particion uniforme. Se desean errores menores que 5 107 . Cu
antos
subintervalos hay que usar?
(ii) Determina el valor de h requerido para aproximar
Z

e2x sin(3x)dx,

160

con un error de 104 usando: (a) la regla del punto medio compuesta, (b) la regla de los trapecios
compuesta, (c) la regla de Simpson compuesta.
el n
Ejercicio 4. Sea K el n
ucleo de Peano de la regla del punto medio (simple) y sea K
ucleo
= K 0 .
que se obtiene para la misma regla tomando N = 0. Integrando por partes prueba que K

Cambia de signo K?
Ejercicio 5. Considerese una formula de cuadratura de grado de precision lo mayor posible de
la forma
Z b
ba
f (x)dx f (a) + f (a +
) + f (b),
4
a
para un intervalo cualquiera [a, b]. Calcula el n
ucleo de Peano correspondiente, y encuentra una
estimacion para el error tanto cuando se aplica la regla de cuadratura en forma simple como
cuando se aplica en forma compuesta.
Ejercicio 6. Considera una regla de cuadratura
Z b
f (x)dx 0 f (x0 ) + 1 f (x1 ) + + N f (xN )
a

que integra exactamente funciones constantes. Demuestra que el grado de precision de la formula
es M si y solo si para cualquier n
umero real la regla no da error al cuadrar las funciones
1, (x ), (x )2 , . . . , (x )M y da error no nulo al cuadrar (x )M +1 . Cual sera una buena
eleccion de para hacer menos cuentas al calcular el grado de precision?
Ejercicio 7. Regla de los trapecios modificada. Tambien pueden usarse reglas de cuadratura
que requieran conocer derivadas de f ; por ejemplo
Z b
f (x)dx 0 f (a) + 0 f 0 (a) + 1 f (b) + 1 f 0 (b).
a

Determina los coeficientes 0 , 1 , 0 , 1 para que el grado de precision de la formula anterior


sea lo mayor posible. El resultado se llama regla de los trapecios modificada. Escribe la regla
compuesta asociada. Acota el error cometido, en una particion uniforme, para integrandos C 4 .
Utiliza el resultado para demostrar que el error E(h) cometido con la regla de los trapecios,
tambien en una particion uniforme, es de la forma
E(h) = h2 + O(h4 ),
donde h es el diametro de la particion, y es una constante a determinar que depende de la
funcion a integrar y el intervalo donde se integra. Compara este resultado con la cota para el
mismo error obtenida en el ejercicio 1.
Ejercicio 8. Vamos a suponer que las formulas de cuadratura
Z b
f (x)dx 0 f (x0 ) + + N f (xN ),
a
Z d
g(y)dy 0 g(y0 ) + + N g(yN ),
c

son interpolatorias y que los nodos, todos distintos, satisfacen las relaciones
xj = a +

ba
(yj c),
dc
161

0 j N.

Demuestra que
j =

ba
j ,
dc

0 j N.

Demuestra que ambas reglas tienen el mismo grado de exactitud.


Ejercicio 9. Determina las cantidades A, B, C y para que la formula de cuadratura
Z 1
f (x)dx Af (0) + Bf 0 (0) + Cf ()
0

tenga grado de precision maximo. Generaliza dicha formula de tal manera que aproxime la integral
en un intervalo dado [a, b] cualquiera.
Ejercicio 10. Cuadratura gaussiana. Aparte de los pesos, en una regla de cuadratura tambien
se pueden elegir los nodos. Determina 0 , 1 , x0 , x1 de manera que la formula
Z 1
f (x)dx 0 f (x0 ) + 1 f (x1 ),
1

tenga el mayor grado de precision posible.


Ejercicio 11. Obten una formula de integracion de la forma
h

f ( x)dx 1 f (0) + 2 f (h/2) + 3 f (h)

que sea exacta para polinomios cuadraticos. Aplica la formula para estimar
Z 0,1

ln(2 + x)dx.
0

Ejercicio 12. Estudie la convergencia para las formulas progresiva y regresiva de aproximaci
on
a la derivada de una funcion en un punto.
Ejercicio 13. Enuncie y demuestre la version del teorema de Peano para una formula de aproximacion a f 00 (y) del tipo (5.7). Estudie con ella la convergencia de la aproximacion
f 00 (0)

f (h) 2f (0) + f (h)


,
h2

h > 0.

Ejercicio 14. Encuentre una formula que aproxime f 00 (0) usando una combinacion de los valores
f (0), f 0 (0), f (h), f 0 (h), utilizando el metodo interpolatorio y el metodo directo. Calcule el n
ucleo
de Peano del error y estudie la convergencia de la aproximacion cuando h 0.

162

Referencias

[1] R. L. Burden y J. D. Faires, Metodos Numericos, (tercera edicion), International Thomson


editores, 2004.
[2] J.-L.Chabert (Ed.), A History of Algorithms. From the Pebble to the Microchip, Springer,
1999.
[3] W. Cheney and D. Kincaid, Numerical Mathematics and Computing, Brooks and Cole,
1996.
[4] A. Huerta, J. Sarrate, A. Rodrguez-Ferran, Metodos numericos. Introduccion, aplicaciones
y programacion, Ediciones UPC, 1999.
[5] J. H. Mathews, K. D. Fink, Metodos numericos con MATLAB, Prentice Hall, 2000.
[6] J. M. Sanz Serna, Diez Lecciones de Calculo Numerico, Universidad de Valladolid, 1998.
[7] G. W. Stewart, Afternotes on Numerical Analysis, SIAM, 1998.
[8] G. W. Stewart, Afternotes Goes to Graduate School: Lectures on Advanced Numerical
Analysis, SIAM 1999.
[9] L. Vazquez, S. Jimenez, C. Aguirre, P.J. Pascual, Metodos numericos para la Fsica y la
Ingeniera, Mc Graw-Hill, 2009.

163

Tema 6

Resoluci
on num
erica de ecuaciones
diferenciales

1. Introduccion.
2. Metodos Runge Kutta para PVI en EDOs.
3. Metodos numericos para problemas de contorno.
4. Resolucion numerica de EDPs de evolucion.
5. Ejercicios.

6.1.

Introducci
on

A partir del nacimiento del Calculo Infinitesimal en el siglo XVII, surgieron ciertos problemas,
en Geometra y Mecanica, que dieron lugar a ecuaciones diferenciales de primer orden. A ello le
siguio un estudio sistematico de las ecuaciones diferenciales en el siglo XVIII y particularmente en
el XIX, como consecuencia de la aplicacion de las leyes de Newton de la Mecanica, para determinar
las trayectorias de cuerpos celestes. El hecho de que solo un n
umero limitado de ecuaciones
pueda resolverse por cuadratura y que metodos como el de desarrollo en serie (que parte de una
idea de Newton) no fueran del todo satisfactorios por dar lugar a representaciones infinitas de
las soluciones, todo ello explica el interes en la construccion de metodos de aproximaci
on. El
primero, usado por Euler en el siglo XVIII, para encontrar una aproximacion poligonal a la curva
solucion, dio lugar a diferentes mejoras en el siglo XIX, cuyo estmulo proceda de los metodos
de cuadratura. As, el metodo de diferencias finitas que lleva a la formula de Gregory tiene su
correspondiente aplicacion a ecuaciones diferenciales en los trabajos de Adams. Las reglas del
trapecio, Simpson y las gaussianas fueron la inspiracion para los trabajos de Runge, Heun y
Kutta. Estos u
ltimos metodos son hoy conocidos como metodos de un paso, mientras que la
tecnica propuesta por Adams es un metodo multipaso.
El uso de estos esquemas es hoy esencial, en parte porque cada vez mas disciplinas requieren
el uso de ecuaciones diferenciales para sus modelos matematicos y en parte porque estas tecnicas
numericas, basadas en la discretizacion de la ecuacion diferencial, son particularmente adaptables
164


al ordenador. Esta
es la razon por la que estos metodos, conocidos desde hace mas de un siglo,
solo hayan tenido un pleno desarrollo a partir de los a
nos cincuenta.
Este tema intenta ser una introduccion a la resolucion numerica de ecuaciones diferenciales.
Queda dividido en tres partes, en funcion del problema que se trata. las dos primeras abordan,
respectivamente, la aproximacion a problemas de valores iniciales y a problemas de contorno,
referidos a ecuaciones diferenciales ordinarias (EDOs, de ahora en adelante). la tercera parte describe metodos elementales de integracion numerica de ecuaciones en derivadas parciales (EDPs,
de ahora en adelante) de evolucion. Dado el caracter introductorio, y por tanto limitado, de la
leccion, en esta parte se consideran las ecuaciones del calor y de ondas como modelos a estudio
e ilustracion de los procedimientos numericos.
Como hemos indicado, la necesidad de metodos numericos para estudiar este tipo de problemas
procede del hecho de que, en general, una ecuacion diferencial no se puede integrar; no es posible
encontrar expresiones analticas de las soluciones. Tambien ocurre a veces que, aunque se tengan
expresiones teoricas, estas no sean manejables en la practica (como series infinitas, por ejemplo).
Como ilustracion de todo esto, se puede mostrar el modelo del circuito no lineal siguiente, en el
que la resistencia depende de la intensidad, y tiene por ecuacion

(1 +

2
1
1 dE
di
i(t) =
i(t)) +
R0
dt R0 C
R0 dt

C Condensador

@
@

i(t) Intensidad
R

E(t) Batera

R(t) = R0 + i(t)


E(t)

i(t)

(con la funcion E(t) conocida). A partir de un dato inicial, el valor de la intensidad en un


instante t0 , i(t0 ), la correspondiente solucion no puede obtenerse explcitamente. Ello lleva a la
necesidad de buscar aproximaciones numericas a la solucion. La estrategia general ser
a la de
construir aproximaciones a valores de la solucion en instantes de tiempo dados. El calculo de
estas aproximaciones proporciona ideas sobre la forma y propiedades de la solucion.

165

(1 +

2
di
1
1 dE
i(t)) +
i(t) =
R0
dt R0 C
R0 dt

M
etodo num
erico
Aproximaciones i1 , i2 , . . . , iN a i(t1 ), i(t2 ), . . . , i(tN ) en instantes de tiempo t1 , t2 , . . . , tN
ik i(tk ),

k = 1, 2, . . . , N

Figura 6.1: Aproximacion a los valores de la solucion.

6.2.

M
etodos Runge Kutta para PVI en EDOs

Esta seccion se dedica a intentar describir algunos de los metodos utilizados para tal fin en
el caso de un problema de valores iniciales para un sistemas de EDOs y, como toda la lecci
on,
tiene un caracter introductorio. Su estructura es la siguiente. Mencionaremos primero algunas
ideas, a tener en cuenta en el resto de la seccion, referentes al problema continuo de valores
iniciales a aproximar, as como a los metodos de aproximacion. Los primeros ejemplos de estos nos
serviran como introduccion para los llamados metodos generales de un paso. Luego, trataremos
166

los importantes conceptos de estabilidad y convergencia. A continuacion, nos centraremos en el


analisis de los metodos de un paso mas utilizados, que son los llamados metodos Runge-Kutta.
Su estudio culmina con la descripcion de algunos aspectos de su implementacion en el ordenador.

6.2.1.

Conceptos generales

El problema de valores iniciales


Trataremos aqu la resolucion numerica de un problema de valores iniciales (PVI, a partir de
ahora) para un sistema de EDOs de primer orden, en la forma
d
y(t) = f (t, y),
dt
y(t0 ) = y0 ,

t0 t T,

(6.1)

donde y = (y 1 , . . . , y d )T , f : [t0 , T ] Rd Rd , f (t, y) = (f 1 (t, y), . . . , f d (t, y))T e y0 Rd es


conocido. Cuando las funciones f i son independientes de t, f i (t, y) = f i (y), se dice que el sistema
(6.1) es autonomo. Hay que notar que siempre puede reducirse (6.1) a un sistema autonomo,
introduciendo una variable independiente y d+1 = t y a
nadiendo a (6.1) la ecuacion
d d+1
y
= t.
dt
Por otro lado, ecuaciones de segundo orden de la forma
x00 (t) = f (t, x(t), x0 (t)),
pueden escribirse como (6.1) con y = (x, x0 )T , f 1 (t, y1 , y2 ) = y2 , f 2 (t, y1 , y2 ) = f (t, y1 , y2 ).
Para que (6.1) admita solucion u
nica, es necesario imponer algunas propiedades al sistema.
El resultado que utilizaremos sera el teorema siguiente.
Teorema 6.2.1 (Picard) Supongamos que f es continua en [t0 , T ]Rd y que existe una constante
L 0 tal que para alguna norma se verifica
||f (t, y) f (t, y )|| L||y y ||,

(6.2)

para todo t [t0 , T ], y, y Rd . Entonces, para cualquier y0 Rd existe una u


nica soluci
on y(t)
de (6.1), que es continua y con derivada continua en [t0 , T ].
En muchos casos, por sencillez y dado el caracter introductorio de la leccion, nos restringiremos
al caso escalar, es decir, d = 1 en (6.1).
La existencia y unicidad de soluciones de (6.1) es el requisito previo mnimo a pedir antes
de intentar la resolucion numerica. Otro aspecto teorico que necesitamos tratar se refiere a la
estabilidad del sistema (6.1): conviene asegurar que problemas cercanos a (6.1) tiene soluciones
cercanas a las de (6.1). Ello asegurara que los metodos numericos proporcionan verdaderas

aproximaciones. Este
es el significado de la siguiente propiedad: sean (t) C([a, b]), 0 RN y
consideremos el problema perturbado asociado a (6.1):
d
z = f (t, z) + (t),
dt
z(t0 ) = y0 + 0 .

t0 t T,

Se dice que el problema (6.1) esta bien puesto si se verifican las condiciones:
167

(6.3)

(i) El problema (6.1) tiene solucion u


nica.
(ii) Existen constantes K,  > 0 tales que para cualquier  > 0 con  , el problema (6.3)
tiene solucion u
nica z(t), verificando
||z(t) y(t)|| K,
siempre que ||(t)|| , ||0 || .
Se puede comprobar el siguiente resultado:
Teorema 6.2.2 Bajo las condiciones del teorema 6.2.1, el problema (6.1) est
a bien puesto.
M
etodos de variable discreta
Presentamos ahora algunos conceptos fundamentales de los metodos de aproximacion que
trataremos. Vamos a considerar el problema (6.1) en el que f satisface al menos las hipotesis del
teorema 6.2.2.
De manera general, las aproximaciones numericas a la solucion de (6.1) parten de una discretizacion del problema: se sustituye el intervalo [t0 , T ] por una red discreta de nodos
t0 < t1 < < tN = T.
Luego, ha de construirse un procedimiento, relacionado con la ecuacion (6.1), que genere aproximaciones numericas yn a los valores de la solucion en los nodos y(tn ), n = 0, . . . , N . La sucesi
on
generada {yn }N
se
llama
soluci
o
n
num
e
rica
y
el
procedimiento
que
la
genera,
m
e
todo
num
e
rin=0
co. Este u
ltimo consiste, tpicamente, en una ecuacion en diferencias que, a partir de un n
umero
consecutivo k de aproximaciones yn , yn1 , . . . , yn(k1) genera la aproximacion siguiente yn+1 . Se
dice entonces que el metodo es de k pasos.
Hay que mencionar tambien los datos iniciales de la ecuacion en diferencias dada por el metodo
numerico. Si el esquema es de un paso (como seran los que aqu tratemos), solo se necesita un valor
inicial, el cual suele corresponder, si se conoce, al del problema, es decir, y0 . Cuando el n
umero
de pasos k es mayor que uno, es necesario tomar valores iniciales y0 , . . . , yk1 . Se suele tomar y0
como antes, pero es necesario implementar alg
un procedimiento para obtener los restantes.
De esta manera, la solucion numerica va avanzando paso a paso. Conocidos y0 , . . . , yn , el
esquema avanza la solucion numerica un paso de longitud hn desde tn a tn+1 = tn + hn para
obtener yn+1 . El procedimiento se ejecuta hasta llegar al extremo tN = T . Las cantidades hn =
tn+1 tn , n = 1, . . . , N 1, se llaman longitudes de paso.
Un caso destacable consiste en tomar longitudes de paso constantes hn = h para todo n
(diametro de la red), de modo que la red de discretizacion es uniforme con
tn = t0 + nh,

n = 0, . . . , N,

h=

tN t0
.
N

Nuestra descripcion, por sencillez, utilizara longitud de paso constante h. El uso de longitudes de
paso variables tiene que ver con la dificultad de aproximacion numerica a la solucion de (6.1),
de manera que se suele adaptar la red en funcion de la variacion de esta, si es conocida. La regla
general dice que suele ser mas apropiado utilizar longitudes hn mas peque
nas cuando la soluci
on
cambia rapidamente (por ejemplo, si oscila mucho) y longitudes mayores cuando esa variaci
on es
mas lenta [8].
168

Ejemplo 8.1. Metodo de Euler. La ecuacion en diferencias


yn+1 = yn + hf (tn , yn ),

n = 0, 1, . . . , N 1,

(6.4)

genera el llamado metodo de Euler explcito. La formula (6.4) procede de aproximar la derivada
en tn por un cociente incremental progresivo entre tn+1 y tn ,
dy
y(tn+1 ) y(tn )
y(tn+1 ) y(tn )
=
|
,
dt tn
tn+1 tn
h
lo que geometricamente significa aproximar la recta tangente a y en tn por la recta secante que
pasa por (tn , yn ), (tn+1 , yn+1 ) (figura 6.2).

Figura 6.2: Metodo de Euler explcito.


La interpretacion geometrica es la siguiente: a partir de los datos iniciales (t0 , y0 ), se calcula
f (t0 , y0 ), que es la pendiente de la recta tangente a y(t) en t0 . Se avanza horizontalmente, siguiendo
esa tangente, una distancia h hasta llegar a t1 , obteniendose y1 = y0 + hf (t0 , y0 ). A partir de
(t1 , y1 ), se eval
ua f (t1 , y1 ), que es una aproximacion a la pendiente f (t1 , y(t1 )) de la recta tangente
a y en t1 . Se avanza siguiendo la recta con pendiente f (t1 , y1 ) hasta llegar a t2 para obtener y2 ,
etc. De este modo, la solucion queda aproximada mediante una lnea poligonal (llamada poligonal
de Euler).
Ejemplo 8.2. Metodo de Euler implcito. La ecuacion en diferencias en este caso es
yn+1 = yn + hf (tn+1 , yn+1 ),

n = 0, 1, . . . , N 1.

(6.5)

A diferencia de (6.4), la ecuacion (6.5) requiere resolver en cada paso un sistema no lineal para
obtener yn+1 con alg
un procedimiento iterativo, es decir, es lo que se llama un metodo implcito.

169

En este caso, la aproximacion a la pendiente f (tn+1 , y(tn+1 )) de la recta tangente a y en tn+1


viene dada por una diferencia regresiva
dy
yn+1 yn
|

.
dt t=tn+1
h
Ejemplo 8.3. Metodo de Heun. En los ejemplos anteriores, el avance de la solucion se produce
seg
un una pendiente calculada en cada paso. Una alternativa viene dada mediante la sustituci
on
de este valor por alguna pendiente media de y en el intervalo [tn , tn+1 ]. Esta idea generar
a la
llamada clase de los metodos Runge-Kutta, que luego trataremos. Un elemento de esta familia
es el llamado metodo de Heun. Aqu la solucion avanza en cada paso seg
un el promedio de tres
pendientes: la dada en el punto (tn , yn ) y las dadas en los puntos (tn + h/3, yn + h3 f (tn , yn )) y
h
(tn + 2h/3, yn + 2h
ormula de
3 f (tn , yn+1/3 )), donde yn+1/3 = yn + 3 f (tn , yn ). De esta manera, la f
avance queda
yn+1 = yn +

h
(k1 + 3k3 ),
4

n = 0, 1, . . . , N 1,

(6.6)

donde
k1 = f (tn , yn ),
h
k1 ),
3
2h
= f (tn + 2h/3, yn +
k2 ).
3

k2 = f (tn + h/3, yn +
k3

A pesar de ser mas larga, la formula (6.6) sigue siendo explcita y de un paso. La diferencia con las
anteriores esta en el n
umero de pendientes aproximativas que se utilizan para definir el metodo,
tambien llamado n
umero de etapas, que en este caso es tres.
Ejemplo 8.4. Este procedimiento puede tambien generar metodos implcitos de varias etapas.
Por ejemplo,
yn+1 = yn +

h
(k1 + k2 ),
2

n = 0, 1, . . . , N 1,

donde
k1 = f (tn , yn ),
k2 = f (tn + h, yn +

h
h
k1 + k2 ).
2
2

El caracter implcito viene dado por la u


ltima ecuacion, para calcular la segunda pendiente
aproximativa.
En general, se dice que un metodo numerico de k pasos es explcito cuando las ecuaciones
que definen el metodo proporcionan yn+1 explcitamente en funcion de las aproximaciones anteriores yn , yn1 , . . . , ynk+1 . El metodo es implcito cuando yn+1 se obtiene como la soluci
on
de un sistema no lineal de ecuaciones que dependen de yn+1 , yn , . . . , ynk+1 . La obtenci
on de
yn+1 requerira entonces de la resolucion de tal sistema. Aunque puede parecer lo contrario, hay
ocasiones en las que el uso de un metodo implcito es mas ventajoso que el de un explcito, al
adaptarse mejor a algunas propiedades del sistema de ecuaciones diferenciales a aproximar.
170

Concepto de error local y error global


Como despues veremos, hay varios puntos que determinan la eleccion de un metodo numerico
para aproximar un sistema de EDOs. Uno de ellos requiere que los errores globales, es decir, la
diferencia entre la solucion exacta y la numerica en cada nodo de la red
en = y(tn ) yn ,

n 0,

sean peque
nos para todos los tn . Sin embargo, los esquemas no intentan controlar estas cantidades. Mas bien incorporan informacion de la ecuacion diferencial en los k pasos anteriores
(tn , yn ), . . . , (tnk+1 , ynk+1 ). En particular, los metodos de un paso tratan de aproximar de forma optima la solucion local un (t) o solucion del problema
u0 (t) = f (t, u),

u(tn ) = yn .

De esta manera, el error global puede verse como la suma de los diferentes errores locales (figura
6.3)
eln+1 = u(tn+1 ) yn+1 ,

n 0,

El orden de un metodo mide la magnitud del error local que el metodo comete en un paso, de

Figura 6.3: Relacion entre errores locales y errores globales.

manera que se dice que un metodo es de orden p si los errores locales cumplen
||u(tn + h) yn+1 || Chp+1 ,
con C una constante. Si p 1, entonces cuanto menor es h (es decir, cuanto mas densa es la red)
menor es el error local en tn+1 . Mas adelante nos ocuparemos de estas cuestiones.

171

6.2.2.

M
etodos de un paso

Nos centramos ahora en los metodos de un paso. La estrategia sera presentar primero los
llamados metodos de Taylor, que son los metodos de un paso conceptualmente mas sencillos
(estan basados en desarrollos de Taylor de la solucion) y que nos serviran para introducir todos
los elementos para la descripcion general que realizaremos despues.
M
etodos de Taylor
Por sencillez, describiremos los metodos para una ecuacion escalar, d = 1 en (6.1). La extensi
on
a un sistema de EDOs es directa, aunque los calculos son mas incomodos.
La idea basica de los metodos de Taylor es la siguiente: si la solucion y(t) es suficientemente
regular, podemos desarrollar en serie de Taylor
y(t + h) = y(t) + hy 0 (t) + +

hq q)
y (t) +
q!

(6.7)

Si y(t0 ) es conocido, as como expresiones para las derivadas en terminos de t e y, es posible


utilizar (6.7) para obtener una aproximacion a y(t0 + h). En la practica, la serie infinita (6.7)
ha de truncarse para obtener tal aproximacion y1 . Ademas, si h es peque
no, la truncaci
on no
requerira demasiados terminos de (6.7) para obtener una aproximacion aceptable. Una vez conocido y1 , se puede repetir el procedimiento anterior para obtener y2 y(t1 + h), partiendo de
t = t1 y de y1 . As, el metodo de Taylor de orden p se obtiene como sigue: para n 0, conocido
yn , se considera la truncacion de (6.7) hasta el termino hp y se eval
uan las derivadas en (tn , yn ),
de manera que
yn+1 = yn + hyn0 + +

hp p)
y .
p! n

(6.8)

j)

donde yn denota la derivada j-esima evaluada en (tn , yn ). La formula (6.8) puede escribirse de
manera mas formal
yn+1 = yn + h(tn , yn , h),

(6.9)

con
(t, y, h) = y 0 +

hp1 p)
h 00
y + +
y .
2
p!

Estos metodos son relativamente efectivos si las derivadas totales del segundo miembro de (6.1)
no son difciles de evaluar (hay software de calculo simbolico disponible para ello: MATLAB,
MAPLE, MATHEMATICA, etc). Aunque poco utilizados, en comparacion con otros metodos
de un paso, la potencia actual de los ordenadores, unida a la efectividad del paquete simb
olico
utilizado, hace que los metodos de Taylor no sean totalmente descartables. En cualquier caso,
suele ser generalmente mas efectivo tratar de buscar metodos de un paso que no precisen de
tales evaluaciones explcitas de las derivadas. De esta idea surgiran los metodos Runge-Kutta,
que trataremos posteriormente.
Ejemplo 8.5. Ejemplo de un metodo de Taylor. Podemos usar el metodo de Taylor de orden
p = 3 para aproximar el problema de valores iniciales
d
ty
y(t) = f (t, y) =
,
dt
2
y(0) = 1.
172

t [0, 3],

Las derivadas a utilizar, en funcion de t e y, son


ty
,
2
1 y0
2t+y
d
f (t, y) =
=
,
dt 
2
4

d 2t+y
2 + t y
=
dt
4
8

y 0 (t) = f (t, y) =
y 00 (t) =
y 000 (t) =
la formula del metodo queda:

h3
h2
yn+1 = yn + hyn0 + yn00 + yn000
2  6 




tn y n
h 2 2 tn + y n
h3 2 + tn yn
= yn + h
+
+
,
2
2
4
6
8
donde tn = nh,

n = 0, 1, 2, . . ..

Forma general de un m
etodo explcito de un paso
La formula (6.9) puede utilizarse para introducir metodos mas generales de un paso, explcitos,
cuya expresion dependera de la eleccion de la funcion incremento . Se imponen dos hip
otesis
sobre esta funcion:
(t, y, 0) = f (t, y),
y ||,
||(t, y, h) (t, y , h)|| L||y

(6.10)
(6.11)

As, dado y0 = y(t0 ), se genera una solucion numerica {yn }N para


para cierta constante L.
n=0
(6.1) avanzando con el metodo (6.9) desde t0 hasta tN con paso h.
Ejemplo 8.6. Para el metodo de Euler explcito
(t, y, h) = f (t, y).
Ejemplo 8.7. Para la regla de Heun
1
(t, y, h) = (k1 (t, y, h) + 3k3 (t, y, h)),
4
con
k1 (t, y, h) = f (t, y),
h
h
k2 (t, y, h) = f (t + , y + k1 (t, y, h)),
3
3
2h
2h
k3 (t, y, h) = f (t +
,y +
k2 (t, y, h)).
3
3
Como ya hemos mencionado en la seccion anterior de un modo general, las diferencias entre los
valores de la solucion exacta y(t) en los nodos de discretizacion y la correspondiente aproximaci
on
numerica
en = y(tn ) yn ,

n = 0, 1, . . . , N,
173

se llaman errores globales. La magnitud de la diferencia entre la solucion exacta en los nodos
{y(tn )}N
erica {yn }N
n=0 y la num
n=0 se define como
max ||y(tn ) yn ||,

0nN

para una norma dada || || en RN .


Se dice que el metodo (6.9) es convergente si para todo problema (6.1), con f verificando las
hipotesis del teorema 6.2.1, se verifica
lm

max ||y(tn ) yn || = 0,

h0+ 0nN

cuando y0 (h) y(t0 ), h 0. Se dice que la convergencia es de orden p si, supuesto que y0 (h)
y(t0 ) cuando h 0, p es el maximo entero tal que
max ||y(tn ) yn || = O(hp )

(h 0+),

0nN

para todo problema (6.1) con f C p .


Dada la aproximacion yn a y(tn ), la solucion u(t) del problema de valores iniciales
u0 = f (t, u),

t > tn ,

u(tn ) = yn ,
se llama solucion local de (6.1) en (tn , yn ), mientras que
eln+1 = u(tn+1 ) yn+1 = u(tn+1 ) yn h(tn , yn , h),

(6.12)

se llama error local del metodo en tn+1 . Hay que observar que el error local compara la soluci
on
numerica en tn+1 con la solucion del problema desde (tn , yn ). Se dice entonces que el metodo es
de orden p si los errores locales verifican
||eln+1 || = O(hp+1 ),

h 0+,

n = 0, 1, . . . , N,

para cualquier problema (6.1) con f C p verificando las hipotesis del teorema 6.2.1. En la
practica, el orden del error local se determina mediante convenientes desarrollos de Taylor de
(6.12). De esta manera, el orden p equivale a errores locales O(hp+1 ) o a errores globales O(hp ).
Error local de truncaci
on y consistencia
Dado que la definicion de la convergencia de un metodo involucra a la solucion teorica, por
regla general desconocida, debe buscarse un procedimiento alternativo e indirecto para el estudio

del error. Este


viene dado por los conceptos de consistencia y estabilidad.
El error local de truncacion eltn+1 en tn+1 es, por definicion, el residuo que se obtiene cuando
se sustituye la solucion teorica de (6.1) en la ecuacion en diferencias (6.9),
eltn+1 = y(tn+1 ) y(tn ) h(tn , y(tn ), h),
elt0 = y(t0 ) y0 .

174

(6.13)

Es decir, el error local cometido en tn+1 , si se parte de la solucion teorica y(tn ) en tn . Observemos
que, si yn es una buena aproximacion a y(tn ), entonces
yn+1 = yn + h(tn , yn , h) y(tn ) + h(tn , y(tn ), h).
Como queremos que yn+1 sea una buena aproximacion a y(tn+1 ), necesariamente
y(tn+1 ) yn+1 y(tn+1 ) y(tn ) h(tn , y(tn ), h),

ha de ser peque
no. Esta
es la razon de la introduccion del error local de truncacion.
Se dice que el metodo (6.9) es consistente si para todo problema de valores iniciales (6.1), con
f verificando las hipotesis del teorema 6.2.1, se tiene


eltn+1
= 0.


lm
max
h0+ 0nN 1
h
Se dice que la consistencia es de orden p si ademas, cuando f C p ,


eltn+1


= O(hp ), h 0 + .
max
0nN 1
h
Ejemplo 8.8. Veamos que el metodo de Euler explcito (6.4) es consistente de orden uno.
Observemos que
eltn+1 = y(tn+1 ) y(tn ) hf (tn , y(tn ))
= y(tn+1 ) y(tn ) hy 0 (tn ).
Desarrollando por Taylor en el punto (tn , y(tn )) y suponiendo que y C 2 (de manera que f C 1 )
eltn+1 = (y(tn ) + hy 0 (tn ) +

h2 00
h2 00
y (n )) y(tn ) hy 0 (tn ) =
y (n ),
2
2

con n entre tn y tn+1 . Luego


eltn+1
h
= y 00 (n ),
h
2

(6.14)

de manera que


eltn+1


= O(h),
max
0nN 1
h

h 0+,

y el metodo es consistente de orden uno.


Observemos de la definicion que consistencia de orden p significa que los errores locales de
truncacion son O(hp+1 ).

175

Estabilidad
Para obtener unos errores globales peque
nos, no basta con buscar errores de truncaci
on
peque
nos, pues al hacer h 0, estos errores pueden disminuir, pero, al mismo tiempo, n aumenta, lo que puede generar una propagacion de errores incontrolada, al aumentar el n
umero de
operaciones. Para analizar esto se introduce el concepto de estabilidad.
N
Observemos que las sucesiones {yn }N
n=0 e {y(tn )}n=0 satisfacen, respectivamente, las ecuaciones en diferencias

yn+1 = yn + h(tn , yn , h),

(6.15)

zn+1 = zn + h(tn , zn , h) + dn+1 ,

(6.16)

con valores de arranque y0 y z0 = y0 + d0 , y donde las perturbaciones {dn }n vienen dadas por
los errores de truncacion local.
Se dice que el metodo (6.9) es estable si para todo problema (6.1) con f verificando las
hipotesis del teorema 6.2.1, las soluciones de (6.15), (6.16) verifican
max ||yn zn || S

0nN

N
X

||dj ||,

j=0

con S > 0 constante (llamada constante de estabilidad), independiente de h y que solo depende
de los datos de (6.1).
Esta propiedad representa el hecho de que peque
nas perturbaciones del esquema en diferencias
que define el metodo, medidas en la norma
||d|| =

N
X

d = {dj }N
j=0 ,

||dj ||,

j=0

no generan soluciones numericas muy alejadas.


Ejemplo 8.8 (Continuaci
on). Veamos que el metodo de Euler explcito es estable. Observemos
que, seg
un (6.4), (6.15) y (6.16)
yn zn = yn1 zn1 + h(f (tn1 , yn1 ) f (tn1 , zn1 )) + dn .
Recordando el teorema 6.2.1, se tiene
||yn zn || ||yn1 zn1 || + hL||yn1 zn1 || + ||dn ||
= (1 + hL)||yn1 zn1 || + ||dn ||.
As,
||yn zn || (1 + hL)2 ||yn2 zn2 || + (1 + hL)||dn1 || + ||dn ||
n
X
(1 + hL)n ||y0 z0 || +
(1 + hL)nj ||dj ||
j=1

(1 + hL)N ||d0 || +

n
X
j=1

176

(1 + hL)N ||dj ||.

Utilizando el hecho de que


(1 + hL)N ehLN = eL(T t0 ) ,
entonces
||yn zn || S

N
X

||dj ||,

(6.17)

j=0

con S = eL(T t0 ) .
Busquemos ahora la relacion entre las condiciones (6.10), (6.11) con las dos propiedades que
acabamos de definir, consistencia y estabilidad. Por un lado, supuesto que verifica (6.10) y es
suficientemente regular, se tiene que
(t, y, h) = (t, y, 0) + hh (t, y, 0) + O(h2 )
= f (t, y) + hh (t, y, 0) + O(h2 ),

h0+.

Entonces
eltn+1 = y(tn+1 ) y(tn ) h(tn , y(tn ), h)
= y(tn+1 ) y(tn ) hf (tn , y(tn )) + O(h2 ),

h 0+,

de manera que el metodo es consistente (con orden al menos uno). Luego la condicion (6.10)
implica consistencia. Por otro lado, la relacion entre (6.11) y la estabilidad viene dada a traves
de un razonamiento similar al realizado en el ejemplo 8.8. Si satisface (6.11),
||yn zn || = ||yn1 zn1 + h((tn1 , yn1 , h) (tn1 , zn1 , h)) + dn ||
n1 zn1 || + ||dn ||
||yn1 zn1 || + hL||y
n1 zn1 || + ||dn ||.
= (1 + hL)||y
Luego, al igual que antes, se tiene
||yn zn || S

N
X

||dj ||,

j=0

con S = eL(T t0 ) . Por tanto, un metodo que satisface (6.11) es estable.


Convergencia
La convergencia de un metodo numerico viene dada por la conjuncion de las dos propiedades
anteriores.
Teorema 6.2.3 Supongamos que en el metodo (6.9), la funci
on satisface las condiciones (6.10)
y (6.11). Entonces, el metodo es convergente. Adem
as, si el metodo es consistente de orden p y
||y0 y(t0 )|| = O(hp )(h 0), entonces el metodo es convergente de orden p.

177

Ejemplo 8.8 (Continuaci


on). Seg
un el teorema anterior, el metodo de Euler explcito es convergente de orden uno, pues es facil ver que la funcion incremento de este metodo satisface las
= L).
condiciones (6.10) y (6.11) (la u
ltima, por el teorema 6.2.1 con L
Tambien puede hacerse la comprobacion directa. Toamndo zn = y(tn ) en (6.17), entonces, de
(6.16), los dn son los errores de truncacion. Luego usando (6.14), se tiene
!
N
N
X
X
L(T t0 )
||y(tn ) yn || e
||eltn || eL(T t0 )
M h2
n=0
L(T t0 )

= e

n=0
2

L(T t0 )

MNh = e

(T t0 )M h,

con M una constante. Luego los errores globales satisfacen


max ||y(tn ) yn || = O(h),

0nN

h 0,

y, por tanto, el metodo es convergente de orden uno.

6.2.3.

La clase de los m
etodos Runge-Kutta

Formulaci
on
Al tratar los metodos de Taylor, comentamos la conveniencia de cambiar la estrategia del
calculo de derivadas de la solucion para obtener metodos numericos de un paso, por la dificultad
de computacion de las mismas. Una alternativa viene dada por los metodos Runge-Kutta (RK).

Estos
proceden de la idea de utilizar la formulacion integral del problema,
Z tn +h
u(tn + h) = u(tn ) +
f (t, u(t))dt,
tn

y una regla de cuadratura para aproximar la integral. Por ejemplo, el metodo de Euler explcito
surge cuando se usa la regla del rectangulo basada en el punto tn . Cuando se desarrolla dicha
formula en tn+1 , se obtiene el metodo de Euler implcito (6.5). La regla de los trapecios proporciona el metodo implcito conocido como formula de los trapecios
yn+1 = yn +

h
(f (tn , yn ) + f (tn+1 , yn+1 )) .
2

As, en general, considerando una formula de cuadratura de orden p + 1


Z tn +h
s
X
(t)dt = h
bi (tn + ci h) + O(hp+1 ), h 0,
tn

i=1

al sustituir en la formula integral, se tiene


u(tn + h) = u(tn ) + h

s
X

bi f (tn + ci h, u(tn + ci h)) + O(hp+1 ).

(6.18)

j=1

Los valores intermedios u(tn + ci h) pueden aproximarse usando de nuevo la formulacion integral
Z tn +ci h
u(tn + ci h) = u(tn ) +
f (t, u(t))dt,
tn

178

y una formula de cuadratura para la integral. Un aspecto muy importante es que estas aproximaciones intermedias Yi no requieren reglas de cuadraturas tan precisas, de modo que es posible
mantener un cierto orden alto en la formulacion (6.18) con aproximaciones Yi de orden menor.
Por ejemplo, utilizando la regla del punto medio en (6.18) y aproximando el valor intermedio
u(tn + h2 ) mediante el metodo de Euler explcito (es decir, aproximando la integral intermedia
por la regla del rectangulo basada en el punto tn ) se obtiene la llamada regla del punto medio


h
h
yn+1 = yn + hf tn + , yn + f (tn , yn ) .
2
2
Presentados estos ejemplos, a modo de introduccion, pasamos a la formulacion general de un

metodo RK explcito de s etapas. Esta


puede escribirse de dos formas equivalentes. La primera
es
yn+1 = yn + h

Yi = yn + h

s
X
i=1
i1
X

bi f (tn + ci h, Yi ),

aij f (tn + cj h, Yj ),

(6.19)

i = 1, . . . , s,

j=1

(con Y1 = yn ). Las cantidades Yi son las etapas internas del metodo y el esquema queda identificado por los coeficientes bi , ci , i = 1, . . . , s, aij , i = 1, . . . , s, j = 1, . . . , i 1. De este modo la
representacion de un metodo RK suele darse a traves del llamado tablero de Butcher
0
c2
..
.

0
a21
..
.

cs

as1
b1

0
bs

o bien, en forma mas simplificada,


c

A
bT
con
0
a21
A=
...

as1

0
0
..
.
as2

0
0
..
.

as,s1

0
0
,
..
.

b = (b1 , . . . , bs )T ,

c = (0, c2 , . . . cs )T ,

donde es habitual considerar la restriccion


i1
X

aij = ci ,

i = 1, . . . , s.

j=1

Ejemplo 8.9. Tableros de Butcher de varios metodos RK explcitos.


179

1. Metodo de Euler.
0

0
1
2. Metodo de Euler modificado.

0
1/2

0
1/2
0

0
0
1

3. Metodo de Euler mejorado.


0
1

0
1
1/2

0
0
1/2

4. Regla de Heun de tercer orden.


0
1/3
2/3

0
1/3
0
1/4

0
0
2/3
0

0
0
0
3/4

5. Metodo de Runge-Kutta de tercer orden.


0
1/2
1

0
1/2
1
1/6

0
0
2
2/3

0
0
0
1/6

6. Metodo de Runge-Kutta de orden cuatro.


0
1/2
1/2
1

0
1/2
0
0
1/6

0
0
1/2
0
1/3

0
0
0
1
1/3

0
0
0
0
1/6

La segunda forma viene dada por las ecuaciones


yn+1 = yn + h

s
X

bi ki ,

i=1

ki = f tn + ci h, yn + h

i1
X

aij kj ,

i = 1, . . . , s,

j=1

En terminos de la formulacion (6.9), el metodo tiene por funcion


(t, y, h) =

s
X

bi f (tn + ci h, Yi ),

i=1

180

donde la dependencia de y se da a traves de las etapas internas Yi (con y en lugar de yn ). As, si


f satisface el teorema 6.2.1 con constante L, entonces satisface (6.11). En efecto, observemos
que para cualquier i = 1, . . . , s
||Yi

Yi ||

= ||y y + h

i1
X


aij f (tn + cj h, Yj ) f (tn + cj h, Yj ) ||

j=1

||y y || + h

i1
X

|aij |L||Yj Yj ||

j=1

i1
X
||y y || + h
|aij | L max ||Yj Yj ||
1ji1

j=1

||y y || + h||A|| L max ||Yj Yj ||,


1js

luego si h||A|| L < 1,


max ||Yj

1js

Yj ||

1
1 h||A|| L

||y y ||.

Entonces

||(t, y, h) (t, y , h)|| = ||

s
X

bi (f (tn + ci h, Yi ) f (tn + ci h, Yi ))

i=1

s
X

|bi |L||Yj Yj ||

i=1

s
X


|bi |L

i=1

1
1 h||A|| L

!

||y y ||.

De manera que si h se elige con h |A|| L < 1, entonces para h [0, h ] el metodo es estable. En
realidad, para el caso de metodos RK explcitos, se tiene que todos ellos son estables. La raz
on
es la siguiente. Fijemonos en que
||Y1 Y1 || = ||y y ||
||Y2 Y2 || ||y y || + h|a21 |L||y y || (1 + h||A|| L)||y y || eh||A|| L ||y y ||
||Y3 Y3 || ||y y || + h (|a31 |L||y y || + |a32 |L||Y2 Y2 ||)
||y y || + h||A|| L (||y y || + ||Y2 Y2 ||)
(1 + h||A|| L)||y y || + h||A|| L(1 + h||A|| L)||y y ||
= (1 + h||A|| L)2 ||y y || e2h||A|| L ||y y ||.
As, suponiendo que
||Yj Yj || e(j1)h||A|| L ||y y ||,
entonces
||Yi Yi || ||y y || + h

i1
X

|aij |L||Yj Yj ||

j=1

181

j = 1, . . . , i 1,

||y y || + h

i1
X

|aij |Le(j1)h||A|| L ||y y ||

j=1

||y y || + h

i1
X

|aij |L e(i2)h||A|| L ||y y || e(i1)h||A|| L ||y y ||.

j=1

Luego

||(t, y, h) (t, y , h)|| = ||

s
X

bi (f (tn + ci h, Yi ) f (tn + ci h, Yi )) ||

i=1
s
X

|bi |L||Yj

Yj ||

i=1

s
X

!
|bi | Le(s1)h||A|| L ||y y ||

i=1

y ||,
= L||y
donde
=
L

s
X

!
|bi | Le(s1)h||A|| L .

i=1

Por otra parte, para la condicion de consistencia (6.10), se tiene


!
s
s
X
X
(t, y, 0) =
bi f (t, y) =
bi f (t, y),
i=1

i=1

de manera que (6.10) se cumple (es decir, el metodo es consistente) si y solo si


s
X

bi = 1.

i=1

Introducci
on al estudio del orden de un m
etodo RK
Entonces, seg
un lo comentado previamente, un metodo RK explcito, de s etapas, es convergente si
s
X

bi = 1.

i=1

Otro aspecto a considerar es el orden de convergencia. Una medida del coste computacional de
un metodo RK viene dada por las evaluaciones de la funcion f de (6.1), que se supone aporta el
mayor gasto operativo. Puesto que un metodo RK explcito de s etapas requiere, para avanzar un
paso, s evaluaciones de f , es importante obtener un orden de convergencia alto con un n
umero
bajo de etapas.
La manera mas natural de construir formulas RK de un orden dado p consiste en imponer
directamente, sobre los coeficientes del tablero de Butcher, las condiciones derivadas de exigir
que
||y(tn + h) yn+1 || = O(hp+1 ),
182

h 0.

Esto equivale a requerir coincidencia, hasta terminos de orden p, de los desarrollos de Taylor
en h de y(tn + h) e yn+1 (h), con f suficientemente derivable, y suponiendo que yn+1 es el valor
obtenido por el metodo partiendo de la solucion exacta en tn , de modo que y(tn + h) yn+1 (h)
es el error de truncacion local en tn+1 . Debemos buscar entonces consistencia de orden p.
Como ilustracion del procedimiento consideremos que (6.1) es una ecuacion escalar (d = 1). Si
deseamos determinar metodos de una etapa, los desarrollos solo se pueden hacer coincidir hasta
terminos de primer orden si b1 = 1 pues
y(tn + h) = y(tn ) + hf (tn , y(tn )) + O(h2 ),
yn+1 (h) = y(tn ) + hb1 f (tn , y(tn )),
de modo que solo hay un metodo explcito de orden uno, el de Euler (6.4). Para metodos de dos
etapas
yn+1 = yn + h (b1 f (tn , Y1 ) + b2 f (tn + c2 h, Y2 )) ,
Y1 = yn
Y2 = yn + ha21 f (tn , Y1 ),
el desarrollo del metodo sera
yn+1 = y + h(b1 + b2 )f + h2 b2 a21 F + O(h3 ),
con y = y(tn ), f = f (tn , y(tn )), F = (ft + f fy )|(tn ,y(tn )) , mientras que el de la solucion es
y(tn + h) = y + hf +

h2
F + O(h3 ).
2

De manera que se alcanza orden dos cuando


b1 + b2 = 1,
1
b2 a21 = b2 c2 = ,
2
y si dispusieramos los terminos O(h3 ) de ambos desarrollos, observaramos que con estos valores
no puede alcanzarse orden tres. Hay dos ecuaciones para tres parametros, por lo que se tiene una
familia uniparametrica de dos etapas y orden dos. Casos particulares son
1. b1 = 0, b2 = 1, c2 = 1/2 (Euler modificado).
2. b1 = b2 = 1/2, c2 = 1 (Euler mejorado).
3. b1 = 1/4, b2 = 3/4, c2 = 2/3 (Metodo de Heun).
Con un razonamiento similar, puede deducirse que para un metodo de tres etapas
0
c2
c3

0
a21
a31
b1

0
a32
b2

0
b3

183

con a31 = c3 a32 , se alcanza orden tres si se verifican las ecuaciones


b1 + b2 + b3 = 1,
1
b2 c2 + b3 c3 =
,
2
1
b2 c22 + b3 c23 =
,
3
1
b3 c2 a32 =
,
6
que originan una familia biparametrica, no pudiendose alcanzar orden cuatro. Ejemplos de esta
familia son:
1. b1 = 1/4, b2 = 0, b3 = 3/4, c2 = 1/3, c3 = 2/3, a32 = 2/3 (Metodo de Heun de tercer orden).
2. b1 = 1/6, b2 = 2/3, b3 = 1/6, c2 = 1/2, c3 = 1, a32 = 2 (Metodo de Kutta de tercer orden).
La deduccion de metodos RK de orden mas alto puede sistematizarse mediante la llamada
teora algebraica de Butcher, que no trataremos aqu [2, 4]. Como consecuencia de esta teora se
tienen las llamadas barreras de Butcher, que determinan el orden maximo que puede alcanzar un
metodo RK explcito, y que hemos deducido directamente en el caso de una, dos y tres etapas.
Las barreras dicen lo siguiente:
Un metodo RK explcito, de s etapas no puede tener orden mayor que s.
No existen metodos RK explcitos de cinco etapas y orden cinco. Mas generalmente, para
s 5, no existen metodos RK explcitos de s etapas y orden s.
En la tabla 6.1 se relacionan algunos resultados conocidos sobre el n
umero de etapas necesario
para alcanzar el orden correspondiente.
p Orden

10

s Etapas

11

12 s 17

13 s 17

Tabla 6.1: N
umero de etapas necesario para algunos ordenes.

M
etodos RK generales
Los metodos RK no tienen por que ser explcitos. la formulacion general de un metodo RK
de s etapas para aproximar (6.1) tiene la forma
yn+1 = yn + h
Yi = yn + h

s
X
i=1
s
X

bi f (xn + ci h, Yi ),
aij f (xn + ci h, Yj ),

j=1

184

(6.20)
i = 1, . . . , s,

con el tablero de Butcher


c1 a11 a12 a1s
c2 a21 a22 a2s
..
..
..
.
..
. ..
.
.
.
cs as1 as2 ass
b1

b2

A
,

=
bT

bs

En general, las formulas (6.20) corresponden a las de un metodo implcito porque el conjunto de
formulas que definen las etapas internas forman un sistema no lineal de s d ecuaciones en las
s d componentes de Yi , i = 1, . . . , s. Hay dos casos particulares destacables. El primero es el
de los metodos semiimplcitos. Aqu, A es triangular inferior con aii 6= 0 para alg
un ndice i. De
esta manera, el sistema de ecuaciones no lineales se desacopla en s sistemas, uno para cada etapa
interna Yi . El segundo caso particular es el de los metodos explcitos, ya comentados, en los que
A es estrictamente triangular inferior (con aii = 0 para todo i) y las etapas internas se obtienen
explcitamente.
Cuando el metodo no es explcito, se genera un problema a
nadido, referente a la existencia
N
de solucion numerica {yn }n=0 o sucesion que satisface la formula del esquema. Por otro lado,
el estudio del orden de los metodos es similar al explicado para los explcitos. En general, los
metodos RK implcitos consiguen, con el mismo n
umero de etapas que un explcito, orden mayor.
Ejemplo 8.10. Tableros de Butcher de varios metodos RK implcitos.
1. Metodo de Euler implcito.
1

1
1
2. Metodo de punto medio.

1/2

1/2
1

3. Metodo de Gauss de orden cuatro.

1
2

1
2

3
6

3
6

1
4
1
4

1
4

+
1
2

3
6

1
4

3
6

1
2

Implementaci
on de m
etodos de un paso
Vamos a ilustrar, a traves de un ejemplo, algunos aspectos de programacion de metodos
RK. Nos centraremos, por sencillez y dado el caracter preliminar de la leccion, en metodos
RK explcitos. Como temas que van mas alla de lo que aqu comentaremos se encuentran la

185

implementacion de metodos implcitos y el uso de paso variable [2, 4]. Son muy importantes, pero
quedan fuera del proposito introductorio de la leccion.
Consideremos, como metodo ilustrativo, la regla de Heun de tercer orden, con tablero
0
0
1/3

1/3

2/3

2/3

1/4

3/4

Una forma de programar el metodo viene dada por la implementacion siguiente:


Pseudoc
odigo de las regla de Heun de tercer orden.
Datos de entrada:
t0 : tiempo inicial.
T : tiempo final.
N : tama
no de la discretizacion.
y. dato inicial.
Longitud de paso y coeficientes del metodo
h (T t0 )/N .
h0 h/4, h1 h/3
h2 2h1 , h3 3h0
Desde j = 0 hasta N 1
t t0 + jh
k1 f (t, y)
k2 f (t + h1 , y + h1 k1 )
k3 f (t + h2 , y + h2 k2 )
y y + (h0 k1 + h3 k3 )
El programa debe incluir valores de entrada t0 , T y N (o bien h), as como la condicion inicial
y. El n
ucleo central de la implementacion consta de las evaluaciones del segundo miembro del
sistema a aproximar, es decir, de las etapas. Para ello, el programa debera llamar a una subrutina
que ha de contener la expresion de f y que la eval
ua en los valores correspondientes.
Como validacion del metodo, se puede ilustrar su comportamiento aproximando un problema
del que se conoce su solucion. En este caso hemos considerado dos. El primero es una ecuaci
on
escalar
x0 (t) =

1
,
2x(t)

x(0) = 1,

de solucion x(t) = t + 1. Se ha integrado numericamente este problema desde t = 0 hasta


t = 20, con diferentes longitudes de paso h = 1/2, 1/4, 1/8, 1/16, 1/32. El error final en t = 20
entre la aproximacion numerica y la solucion teorica se observa a la izquierda de la tabla 6.2. El
segundo problema es el sistema
 0 
 
 

u
v
u(0)
1/2
= v(v1) ,
=
,
v0
v(0)
3
u
186

1 + 3e8t
, v(t) = 3e8t , que se ha aproximado desde t = 0 hasta
8
t = 1 con h = 1/4, 1/8, 1/16, 1/32 y cuyos errores finales en t = 1 se muestran a la derecha de la
tabla 6.2.

de solucion exacta u(t) =

h
0.5
0.25
0.125
0.0625
0.03125
0.015625

error
1.1971E-04
1.4273E-05
1.7268E-06
2.1186E-07
2.6222E-08
3.2612E-09

h
0.1
5E-02
2.5E-02
1.25E-02
6.25E-03

error
2.8635E-04
2.9445E-05
3.1707E-06
3.6621E-07
4.3984E-08

Tabla 6.2: Resultados de la regla de Heun para los dos problemas planteados.

Figura 6.4: Regla de Heun. Ejemplo 1. Grafica de errores. Escala logartmica.

Una forma de deducir el orden de un metodo a partir de una tabla de errores es la siguiente. Si
el metodo tiene orden p y E(h) denota el error obtenido con diametro h, entonces E(h) = O(hp ).
De manera que si h se divide por, digamos, dos, el error consiguiente E(h/2) debera dividirse, con
respecto a E(h), por 2p , aproximadamente. De esta manera, Se puede observar el orden tres del
metodo, si bien para el sistema es un poco mas alto. Las dos figuras 6.4, 6.5 muestran, en escala
logartmica, el error frente a la longitud de paso h para cada tabla. Las estrellas representan los
187

datos de la tabla correspondiente. Si se compara la pendiente de la recta determinada por estos


datos con la de las rectas de la esquina inferior derecha de los dibujos (con pendientes 1, 2 y 3
respectivamente) podemos observar que la recta del error tiene pendiente 3, justo el orden del
metodo utilizado.

Figura 6.5: Regla de Heun. Ejemplo 2. Grafica de errores. Escala logartmica.

6.3.
6.3.1.

M
etodos num
ericos para problemas de contorno
Introducci
on

El segundo tipo de problemas cuya resolucion mumerica trataremos tiene la forma siguiente
y 00 = f (t, y, y 0 ),
y(a) = ,

a t b,

(6.21)

y(b) = .

llamado problema de contorno (o de valores en la frontera) de segundo orden. El problema (6.21),


a diferencia de (6.1), especifica valores de la solucion en los puntos frontera del intervalo (pueden
darse condiciones de contorno mas generales [3]). Estos problemas de contorno son, en general,
mas difciles de tratar que los problemas de valor inicial. Ello afecta tambien al estudio de la
existencia y unicidad de soluciones [3]. El resultado que utilizaremos es el siguiente.
Teorema 6.3.1 Supongamos que f satisface una condici
on de tipo (6.2) uniforme en R = [a, b]
2
R . Supongamos adem
as que f tiene derivadas parciales continuas en R y que satisfacen


f
f

M,
> 0,
t
y2
188

para alguna constante M > 0. Entonces, el problema (6.21) tiene una u


nica soluci
on.
A lo largo de la seccion consideraremos el caso particular de (6.21) dado por una ecuaci
on
lineal
y 00 (t) + p(t)y 0 (t) + q(t)y(t) = r(t),
y(a) = ,

a t b,

(6.22)

y(b) = .

La version del teorema 6.3.1 para este caso es como sigue.


Teorema 6.3.2 Supongamos que p(t), q(t), r(t) son continuas en [a, b] con q(t) > 0, a t b.
Entonces, para cada , , el problema (6.22) tiene una u
nica soluci
on.

6.3.2.

El m
etodo de tiro

El primer metodo numerico para (6.21) que consideraremos es el llamado metodo de tiro
simple. Esta tecnica involucra aproximaciones numericas a problemas de valores iniciales [3]. La
idea es conjeturar el valor inicial y 0 (a) para resolver, o aproximar, el problema de valor inicial
relacionado. Ello permite obtener una aproximacion a y(b). Si esta no coincide con el valor de
contorno , se puede corregir el valor de y 0 (a) conjeturado y comenzar de nuevo.
Caso lineal
Consideraremos primero el problema (6.22), del cual supondremos que admite solucion u
nica.
0
La conjetura y (a) = s1 (angulo de tiro) lleva al PVI
y 00 (t) + p(t)y 0 (t) + q(t)y(t) = r(t),
y(a) = ,

a t b,

y (a) = s1 ,

Denotemos por y (1) (t) a su solucion. En general, sera y (1) (b) 6= , por lo que podemos ensayar
un segundo angulo de tiro y 0 (a) = s2 e integrar el correspondiente PVI. Si denotamos por y (2) (t)
a su solucion, entonces la combinacion lineal
y(t) = y (1) (t) + (1 )y (2) (t),
con un parametro libre, es solucion de la ecuacion diferencial lineal y satisface la primera
condicion de contorno. Ahora, solo queda ajustar el valor de para que y(b) = , es decir
= y (1) (b) + (1 )y (2) (b) =

y (2) (b)
,
y (1) (b) y (2) (b)

siempre que y (1) (b) 6= y (2) (b). En la practica, los PVI son resueltos numericamente para calcu(1) (2)
lar aproximaciones yb , yb a y (1) (b), y (2) (b) respectivamente. Estos valores son utilizados para
calcular una aproximacion a
(2)

y( b)
(1)

(2)

yb yb

189

Finalmente, se integra numericamente la ecuacion lineal con datos iniciales


y(a) = ,

y 0 (a) = s1 + (1 )s2 ,

para obtener aproximaciones a la solucion de (6.22). Para coeficientes suficientemente regulares,


la convergencia de la aproximacion tiene el mismo orden que el metodo utilizado para aproximar
los problemas de valor inicial.
Caso no lineal
La extension del metodo a un problema general de tipo (6.21), que suponemos con soluci
on
u
nica, es como sigue. Considerando un PVI de la forma
y 00 = f (t, y, y 0 ),
y(a) = ,

a t b,

(6.23)

y (a) = s.

denotamos por ys (t) = y(t, s) a su solucion. La idea es seleccionar el angulo de tiro s para que
y(b, s ) = o, lo que es lo mismo, resolver la ecuacion
(s) = y(b, s) = 0,

(6.24)

para encontrar s . El procedimiento requiere entonces, para cada s, resolver numericamente (6.23)
para obtener una aproximacion a y(b, s) y aplicar un metodo iterativo para resolver (6.24) con
dicha aproximacion, en lugar de y(b, s). Estos metodos iterativos (tema 4) exigen, por lo general,
evaluar en una sucesion de valores de s, con sus correspondientes aproximaciones a y(b, s). En
el caso de que f (t, u, v) sea lineal en u y v, entonces es lineal en s y bastan dos evaluaciones de
para resolver (6.24), que es lo que hicimos en el apartado anterior, al resolver el caso lineal. En
otro caso, el metodo requerira la aproximacion numerica de una sucesion de problemas de valor
inicial, cuyo n
umero dependera del n
umero de iteraciones del metodo utilizado para (6.24), por
lo que la eficiencia de este es importante. Por este motivo, un metodo clasico utilizado en este
contexto es el metodo de Newton, que adquiere aqu la forma
sn+1 = sn

(sn )
,
0 (sn )

n = 0, 1, . . . ,

con s0 dado. Para aproximar 0 (s), se deriva parcialmente (6.23) con respecto a s,
ys00
f t
f ys
f y 0
(t) =
+
+ 0 s,
s
t s ys s
ys s
0
ys
ys
(a) = 0,
(a) = 1,
s
s
que, si v = ys /s, se puede escribir
v 00 = fys (t, ys , ys0 )v + fys0 (t, ys , ys0 )v 0 ,
v(a) = 0,

(6.25)

v (a) = 1.

Observese que entonces 0 (s) = v(b). La aproximacion numerica al problema (6.25) proporciona
entonces una aproximacion a v(b), que se toma como valor de 0 (s) para el metodo de Newton.
190

M
etodo de tiro m
ultiple
Los principales inconvenientes del metodo de tiro m
ultiple tienen que ver con la longitud
del intervalo de integracion de los problemas de valor inicial involucrados, pues, como sabemos,
un intervalo de peque
no tama
no es mas conveniente, tanto para la existencia de solucion del
problemna teorico como para la estabilidad de la correspondiente aproximacion numerica.
Un procedimiento alternativo, denominado metodo de tiro m
ultiple, consiste en dividir el
intervalo [a, b] seg
un una particion
a = t0 < t1 < < tN = b
y aplicar el metodo de tiro simple en cada subintervalo [tj , tj+1 ], j = 0, . . . , N 1. Los valores
iniciales de cada PVI se determinan de modo que la solucion asociada tenga una regularidad C 1
en toda la particion, para obtener as una solucion de (6.21).
Una manera de implementar esta idea podra ser la siguiente: denotamos por yj (t, j , sj ), tj
t tj+1 a la solucion de
y 00 = f (t, y, y 0 ),
y(tj ) = j ,

tj t tj+1 ,

y (tj ) = sj ,

(6.26)

j = 0, . . . , N 1.

Si 0 = , la funcion
y(t, s0 , 1 , s1 , . . . , N 1 , sN 1 ) = yj (t, j , sj ),

si

tj t tj+1 ,

es solucion de (6.21) si se cumplen las 2N 1 ecuaciones


yj (tj+1 , j , sj ) = j+1 ,

yj0 (tj+1 , j , sj ) = sj+1 , j = 0, . . . , N 1,

yN 1 (b, N 1 , sN 1 ) = ,
sistema que debe resolverse con un metodo iterativo. Una de las ventajas computacionales de este
procedimiento es que la integracion numerica de los problemas (6.26) puede hacerse en paralelo.

6.3.3.

M
etodo de diferencias finitas

Una alternativa al metodo de tiro viene dado por el llamado metodo de diferencias finitas.
Los pasos generales de este procedimiento son los siguientes. Primero, se discretiza el problema,
dividiendose el intervalo [a, b] en una red discreta de nodos a = t0 < t1 < < tN = b y
buscando aproximaciones yj a los valores de la solucion de (6.21) en el nodo tj , y(tj ). Tales
aproximaciones numericas se obtienen como solucion de una ecuacion en diferencias. A su vez,
esta surge de sustituir, en la ecuacion de (6.21) evaluada en tj , las derivadas por apropiadas
formulas de aproximacion (vease tema 5).
Caso lineal
El ejemplo mas utilizado para ilustrar este procedimiento esta asociado al problema lineal
(6.22) como modelo. La discretizacion considera, por sencillez, una red uniforme de nodos tj =
a + jh, j = 0, . . . , N , con h = (b a)/N , y las formulas en diferencias centradas para aproximar
las derivadas,
y 0 (tj ) =
y 00 (tj ) =

y(tj+1 ) y(tj1 )
+ O(h2 ),
2h
y(tj+1 ) 2y(tj ) + y(tj1 )
+ O(h2 ).
h2
191

As, si pj = p(tj ), qj = q(tj ), rj = r(tj ), j = 0, . . . , N e yj es una aproximacion a y(tj ), se tiene


la ecuacion en diferencias

yj+1 2yj + yj1


yj+1 yj1
+ pj
+ qj yj = rj , j = 1, . . . , N 1,
h2
2h

(6.27)

con y0 = , yN = . La ecuacion (6.27) puede escribirse


aj yj1 + bj yj + cj yj+1 = dj ,

(6.28)

con
h
h
pj , bj = 2 + h2 qj , cj = 1 + pj , j = 1, . . . , N 1,
2
2
2
2
dj = h rj , j = 2, . . . , N 2, d1 = h r1 a1 , dN = h2 rN 1 cN 1 .
aj = 1

De esta manera, el vector y = (y1 , . . . , yN 1 )T satisface el sistema Ah y = d, con

b1 c1 0
0

0
0

a2 b2 c2
d1
0

0
0

d2
0 a3 b3
c3

0
0

..
..
.. . .
.
..
..
..
.

.
.
.

.
.
.
A= .
, d = . .

..
0 0 aN 4 bN 4 cN 4
0
0

0 0
dN 2
0
a
b
c
0
N
3
N
3
N
3

0 0
0
0
aN 2 bN 2 cN 2
dN 1
0 0
0
0
0
aN 1 bN 1
Algoritmo de Thomas
La resolucion numerica mas habitual de sistemas tridiagonales como el anterior viene dada por
una reformulacion compacta de la eliminacion gaussiana sin pivotaje para matrices tridiagonales,
conocida como algoritmo de Thomas (tema 2, ejercicio 6). La idea es reducir el sistema (6.28) a
otro de la forma
yj + j yj+1 = zj ,

j = 1, . . . , N 1,

(6.29)

para ciertos j , zj . Supuesto que se tiene (6.29) para j = 1, . . . k, se elimina yk de las ecuaciones
yk + k yk+1 = zk ,
ak+1 yk + bk+1 yk+1 + ck+1 yk+2 = dk+1 ,
obteniendose
yk+1 +

dk+1 ak+1 zk
ck+1
yk+2 =
.
bk+1 ak+1 k
bk+1 ak+1 k

De esta forma, se tiene


j =

cj
,
bj aj j1

zj =

dj aj zj1
, j = 1, . . . , N 1,
bj aj j1

192

(6.30)

y donde la imposicion de la condicion de contorno y su adaptacion a (6.29) lleva a 0 = 0, z0 = .


Una vez obtenido (6.29), su resolucion se lleva a cabo por sustitucion regresiva, a partir del dato
de frontera,
yN
yj

= ,
= zj j yj+1 ,

j = N 1, . . . , 1.

(6.31)

Las formulas (6.30) estan bien definidas mientras el denominador no se anule. Debemos asegurar
ademas que la matriz A sea regular (para que el sistema tenga solucion) y que el algoritmo sea
estable, es decir, que los errores iniciales en yN no se amplifiquen a partir de la formula (6.31).
Puede comprobarse [5] que todo ello se consigue bajo la hipotesis de que
|b1 | > |c1 |,

|bN 1 | > |aN 1 |,

|bj | > |aj | + |cj |, j = 2, . . . , N 2,

es decir, que la matriz A sea estrictamente diagonalmente dominante. Ello impone restricciones
al valor del diametro h de la particion.
Convergencia
Es razonable pensar que las aproximaciones numericas a (6.22) as construidas se aproximen
cada vez mas a la solucion teorica en los nodos a medida que h se hace mas peque
no, pues la
ecuacion en diferencias procede de truncaciones en las formulas de las derivadas y cuyos errores
tienden a cero como h2 . En la seccion anterior, necesitabamos que estos errores no se propagaran de forma perjudicial para obtener errores globales aceptables. Es decir, requeramos que
las aproximaciones fueran estables, propiedad que, unida a la consistencia (errores de truncaci
on
peque
nos), nos llevaba a la convergencia (errores globales peque
nos).
La situacion en este caso es algo similar. Se define el error de truncacion j en el nodo
tj , j = 1, . . . , N 1, como el residuo obtenido al sustituir, en la ecuacion en diferencias (6.27), la
aproximacion yj por la solucion teorica y(tj ), esto es
j (h) :=

y(tj+1 ) 2y(tj ) + y(tj1 )


y(tj+1 ) y(tj1 )
+ pj
+ qj y(tj ) rj , j = 1, . . . , N 1,
2
h
2h

que tiene claramente que ver con la truncacion de las aproximaciones a las derivadas. Se dice que
el esquema en diferencias es consistente si j 0, j = 1, . . . , N 1 cuando h 0. Utilizando
las formulas de aproximacion a las derivadas, se tiene que para y(t) suficientemente regular,
j = O(h2 ), h 0, j = 1, . . . , N 1, y la consistencia de (6.27) es de orden dos.
Si definimos el error global en tj como ej = y(tj ) yj , j = 0, . . . , N , entonces ej satisface la
ecuacion en diferencias

ej+1 2ej + ej1


ej+1 ej1
+ pj
+ qj ej = j , j = 1, . . . , N 1,
2
h
2h

con e0 = eN = 0. Para relacionar la convergencia (ej peque


no) con la consistencia (j peque
no)
es necesario definir la estabilidad a traves de esta ecuacion en diferencias no homogenea. Considerando el primer miembro de la ecuacion
(Lh V )j =

Vj+1 2Vj + Vj1


Vj+1 Vj1
+ pj
+ qj Vj , j = 1, . . . , N 1,
2
h
2h

193

se dice que el esquema es estable si, para h suficientemente peque


no, existe M > 0, independiente
de h, tal que
|Vj | M max{|V0 |, |VN |,

max

1iN 1

|(Lh V )i |}},

para cualesquiera Vj , j = 0, . . . , N . Puede comprobarse entonces que, para h suficientemente


peque
no,
Existe una u
nica solucion numerica de (6.27) con y0 = , yN = (es decir, el sistema
tridiagonal tiene solucion u
nica).
El metodo (6.27) es convergente de orden dos, con
|ej | M

max

1iN 1

|i |,

j = 1, . . . , N 1,

con M > 0 independiente de h.


Ejemplo 8.11. La tabla de errores 6.3 (en norma infinito) corresponde a la implementaci
on de
(6.27) para el problema
y 00 (t) = sin t,
y(0) = 0,

0 t /2,

y(/2) = 1,

de solucion y(t) = sin t.


N
4
8
16
32
64

error
2.7103E-03
6.6667E-04
1.6916E-04
4.2275E-05
1.0568E-05

Tabla 6.3: Tabla de errores. Ejemplo 8.11.


Recuerdese que h = (b a)/N . La tabla muestra la convergencia del metodo y su orden:
dividiendo la longitud de paso por dos (multiplicando por dos el tama
no N de la particion), los
errores se dividen por cuatro, aproximadamente. Lo que implica un orden dos de convergencia.

6.4.

Resoluci
on num
erica de EDPs de evoluci
on

En esta seccion introducimos el metodo en diferencias finitas para aproximar ecuaciones en


derivadas parciales de evolucion. Queda dividida en funcion del tipo de ecuacion a estudiar:
problemas parabolicos y problemas hiperbolicos. La estructura para ambas partes sera la misma.
Trataremos primeramente algunos aspectos teoricos de la ecuacion modelo utilizada, para despues
discutir la descripcion y el analisis de algunos metodos numericos de aproximacion, as como la
implementacion de los mismos. El objetivo es proporcionar una metodologa mas o menos general
para generar aproximaciones a la solucion de una ecuacion de evolucion.
194

6.4.1.

Problemas parab
olicos

El modelo de ecuacion parabolica que manejaremos es la llamada ecuacion del calor, cuya utilizacion para estudiar (al menos, en una primera aproximacion) fenomenos de difusion es conocida.
Una buena discusion sobre la deduccion de la ecuacion y los distintos tipos de condiciones de
contorno puede consultarse en referencias como [1, 10, 6]. Por sencillez, nuestro problema modelo
incorporara una condicion de contorno de tipo Dirichlet
ut (x, t) = Duxx (x, t) + f (x, t),
u(x, 0) = u0 (x),
u(0, t) = g0 (t),

0 < x < L, 0 t T,

0 < x < L,

(6.32)

u(L, t) = gL (t),

donde
1. u = u(x, t) puede representar la tremperatura, en el instante t, en la posicion x de una
barra de longitud L, suficientemente fina como para considerarla unidimensional, de secci
on
transversal constante y de material termoconductor homogeneo. Tambien se supone que la
generacion de calor en el material de la barra es despreciable.

u(0, t) = g0 (t)
f


u(x, t)
L

u(L, t) = gL (t)

f
-

2. D > 0 es un parametro conocido que representa el coeficiente de transmision de calor del


material de la barra, que se ha supuesto constante en el punto anterior.
3. f (x, t) es un termino complementario conocido, que se supone suficientemente regular y que
representa una fuente de calor, interna o externa, que aporte o reste calor al proceso.
4. u0 (x) es la distribucion inicial de temperaturas (conocida) a lo largo de la barra.
El modelo fija valores de temperatura en los extremos de la barra y en cada instante t, valores

proporcionados por las funciones conocidas g0 (t), gL (t). Este


es un tipo de condiciones de contorno
que pueden imponerse para construir el llamado problema de valores iniciales y de contorno. Las
condiciones frontera mas utilizadas para elaborar modelos con esta ecuacion tienen la forma
general
h0 u(0, t) k0 ux (0, t) = g0 (t),

0 t T,

hL u(L, t) + kL ux (L, t) = gL (t),

0 t T,

(6.33)

con h0 , hL , k0 , kL 0, h0 + k0 > 0, hL + kL > 0. Es decir, en los extremos puede imponerse una


relacion entre el valor de la temperatura y el del flujo de calor en ese instante.
Algunos m
etodos de aproximaci
on
El metodo de diferencias finitas para aproximar el problema (6.32) discretiza el problema,
definiendo primero, en [0, L] [0, T ], una red de puntos (xj , tn ) con enteros positivos J, N tales

195

que
h = L/J, k = T /N,

(6.34)

xj = jh, j = 0, . . . , J,

tn = nk, n = 0, . . . , N.

El segundo paso consiste en aproximar la solucion de (6.32) en los nodos de la red (xj , tn ),
denotada por unj = u(xj , tn ) por valores numericos Ujn , j = 0, . . . , J, n = 0, . . . , N . Los ndices
j = 0, J representan nodos de la frontera, donde se imponen las condiciones de contorno, de
manera que
U0n = g0 (tn ), ULn = gL (tn ), n = 0, . . . , N.
Asmismo, el ndice n = 0 corresponde al instante inicial t0 = 0, donde la solucion esta dada por
u0 , de modo que
Uj0 = u0 (xj ), j = 0, . . . , J.
A partir de estos datos, la obtencion de la aproximacion numerica Ujn en los nodos internos viene
dada como solucion de una ecuacion en diferencias que aproxime a la ecuacion de (6.32) evaluada
en cada punto (xj , tn ) de la red. De esta manera, se calculan aproximaciones a las temperaturas
en los puntos xj seleccionados en la malla y en diferentes niveles de tiempo tn . La ecuaci
on en
diferencias depende de la aproximacion a las derivadas que elijamos.
Como ilustracion, consideraremos aqu diferentes casos de la familia de metodos conocida
como los -metodos [5]
!
n+1
n+1
n 2U n + U n
Ujn+1 Ujn
Uj+1
2Ujn+1 + Uj1
Uj+1
j
j1
= D
+ (1 )
k
h2
h2
+fjn+1 + (1 )fjn , j = 1, . . . , J 1, n = 0, . . . , N 1,

(6.35)

donde fjn = f (xj , tn ). La formula (6.35) se obtiene al aproximar la derivada temporal en (xj , tn )
por un cociente progresivo y la derivada segunda espacial por un promedio de diferencias centrales
en los puntos (xj , tn+1 ) y (xj , tn ), con [0, 1] un parametro. De la familia general, destacaremos
tres metodos.
M
etodo explcito. Corresponde al valor = 0 y la ecuacion en diferencias resultante tiene la
forma
 n
n 
Ujn+1 Ujn
Uj+1 2Ujn + Uj1
=D
+ fjn , j = 1, . . . , J 1, n = 0, . . . , N 1,
k
h2
o, alternativamente
n
n
Ujn+1 = rUj+1
+ (1 2r)Ujn + rUj1
+ kfjn , j = 1, . . . , J 1, n = 0, . . . , N 1,

(6.36)

con r = Dk/h2 . La formula (6.36) permite calcular aproximaciones numericas a la solucion en el


nivel de tiempos n + 1 a partir de aproximaciones en el nivel de tiempos n, de ah el nombre de
metodo explcito. Para representar la dependencia de los nodos, se suele utilizar lo que se llama
molecula computacional del metodo, representada en la figura 6.6.
196

n+1

v n

j1

j+1

Figura 6.6: Metodo explcito


La formula permite tambien una implementacion con dos vectores, que guarden las aproximan ) y U n+1 = (U n+1 , . . . , U n+1 ), actualiz
ciones U n = (U1n , . . . , UJ1
andolos en cada paso temporal.
1
J1
Pseudoc
odigo del m
etodo explcito.
Datos de entrada:
L: longitud del intervalo.
N : tama
no de la discretizacion temporal.
J: tama
no de la discretizacion espacial.
r: tama
no del cociente Dk/h2 .
U u0 . dato inicial.
f, g: terminos fuente y de frontera.
Inicializacion
h 1/J, k rh2 , T N k
Desde n = 1 hasta N
g0n g0 (tn ); gLn gL (tn )
Desde j = 1 hasta J 1
fjn f (xj , tn )
Desde n = 1 hasta N 1
V1 rU2n + (1 2r)U1n + rg0n + kf1n
Desde j = 2 hasta J 2
Vj rUj+1 + (1 2r)Uj + rUj1 + kfjn
n
n
+ (1 2r)UJn + rgLn + kfJ1
VJ1 rUJ1
U V

M
etodo implcito
Corresponde al valor = 1 de la familia (6.35), es decir
!
n+1
n+1
Uj+1
2Ujn+1 + Uj1
Ujn+1 Ujn
=D
+ fjn , j = 1, . . . , J 1, n = 0, . . . , N 1,
k
h2
o, alternativamente
n+1
n+1
rUj1
+ (1 + 2r)Ujn+1 rUj+1
= Ujn + kfjn , j = 1, . . . , J 1, n = 0, . . . , N 1,

(6.37)

con r = Dk/h2 . La molecula computacional viene dada por la figura 6.7.

As, conocidas aproximaciones numericas en un nivel n, el metodo requiere resolver un sistema


lineal para obtener las aproximaciones al nivel siguiente. Si se dispone (6.37) en forma matricial,
197

j1

v n+1

n
j+1

j
Figura 6.7: Metodo implcito

puede comprobarse que la matriz que resulta es estrictamente diagonalmente dominante, por
lo que queda asegurada la resolubilidad del sistema. Puede, ademas, utilizarse le algoritmo de
Thomas para su implementacion.
Pseudoc
odigo del m
etodo implcito.
Datos de entrada:
L: longitud del intervalo.
N : tama
no de la discretizacion temporal.
J: tama
no de la discretizacion espacial.
r: tama
no del cociente Dk/h2 .
U u0 . dato inicial.
f, g: terminos fuente y de frontera.
Inicializacion
h 1/J, k rh2 , T N k
Desde n = 1 hasta N
g0n g0 (tn ); gLn gL (tn )
Desde j = 1 hasta J 1
fjn f (xj , tn )
Vector del algoritmo de Thomas
p1 0
Desde j = 1 hasta J 1
pj+1 r/(rpj + (1 + 2r))
Resolucion del sistema
Desde n = 1 hasta N
U0 g0n ; UJ gLn
q1 U0 ;
Desde j = 1 hasta J 1
n + rq )/(rp + (1 + 2r))
qj+1 (U (j + 1) + kfj+1
j
j
Desde j = J 1 hasta 1
n +q
Uj pj Uj+1
j

M
etodo de Crank-Nicolson
El metodo correspondiente a = 1/2, o metodo de Crank-Nicolson, es de la forma

r n+1
r n+1
r n
r n
k n
Uj1
+ (1 + r)Ujn+1 Uj+1
=
Uj1 + (1 r)Ujn + Uj+1
+
fj + fjn+1 ,
2
2
2
2
2
j = 1, . . . , J 1, n = 0, . . . , N 1,
(6.38)
198

con r = Dk/h2 . La molecula computacional viene dada por la figura 6.8.

v n+1

v n

j1

j+1

Figura 6.8: Metodo Crank-Nicolson

El metodo tiene tambien un caracter implcito y puede implementarse a traves del algoritmo
de Thomas. Estas dos propiedades son, en realidad, retenidas por cualquier esquema de la familia
(6.35) con 6= 0.
Pseudoc
odigo del m
etodo Crank-Nicolson.
Datos de entrada:
L: longitud del intervalo.
N : tama
no de la discretizacion temporal.
J: tama
no de la discretizacion espacial.
r: tama
no del cociente Dk/h2 .
U u0 . dato inicial.
f, g: terminos fuente y de frontera.
Inicializacion
h 1/J, k rh2 , T N k
a r/2; b 1 + r; c 1 r
Desde n = 1 hasta N
g0n g0 (tn ); gLn gL (tn )
Desde j = 1 hasta J 1
fjn f (xj , tn )
Vector del algoritmo de Thomas
p1 0
Desde j = 1 hasta J 1
pj+1 a/(apj + b)
Resolucion del sistema
Desde n = 1 hasta N
U0 g0n ; UJ gLn
q1 U0 ;
Desde j = 1 hasta J 1
dj aUj1 + cUj aUj+1 + k2 (fjn + fjn+1
qj+1 (dj aqj )/(apj + b)
Desde j = J 1 hasta 1
n +q
Uj pj Uj+1
j
199

6.4.2.

An
alisis de convergencia

Pasamos aqu a analizar la convergencia de los metodos presentados y a justificar su aparici


on.
A partir de la definicion de error global y error de truncacion en cada nodo, vamos a obtener la
relacion de los errores globales en dos niveles consecutivos de tiempo con los errores de truncaci
on.
Esto nos vuelve a la idea, ya presentada, de que hacer peque
no el error requiere controlar los
errores de truncacion en cada nivel de tiempo (consistencia) y que estos no se acumulen de forma
incontrolada (estabilidad).
Se dice que el esquema (6.35) es convergente si, para condiciones iniciales u0 (x) cualesquiera
y para k, h suficientemente peque
nos, el esquema tiene solucion u
nica U n y ademas
lm

max ||U n un || = 0,

h,k0 0nkT

donde un = (u(x0 , tn ), . . . , u(xJ , tn )).


Al igual que en secciones anteriores de este tema, se define el error de truncacion local n en
el nivel de tiempos n como el residuo obtenido al sustituir en (6.35) la solucion numerica por la
n ) con
teorica en los nodos de la red y escalado por k, de manera que n = (1n , . . . , J1
n+1
n+1
n
kjn = rUj1
+ (1 + 2r)Ujn+1 rUj+1
r(1 )Uj1


n
(1 2r(1 ))Ujn r(1 )Uj+1
k (1 )fjn + fjn+1 ,

j = 1, . . . , J 1, n = 0, . . . , N 1,
con r = Dk/h2 . Cada componente de n se estima mediante desarrollos de Taylor en puntos
convenientes. Ello exige suficiente regularidad de la solucion teorica de (6.32). Se dice que el
metodo (6.35) es consistente si, para u suficientemente regular,
lm

max || n || = 0.

h,k0 0nkT

La consistencia (y, en su caso, la convergencia) es de orden p en tiempo y q en espacio si, para u


suficientemente regular
max || n || = O(k p ) + O(hq ),

0nkT

k, h 0.

En ocasiones, la consistencia (y, consecuentemente, la convergencia) se debe supeditar a una


restriccion sobre la forma de tender hacia cero de h y k, lo que se suele llamar consistencia
condicional.
Teorema 6.4.1 Para u suficientemente derivable, se tiene que
n+1/2

1
1
= ( )kuxxt h2 uxxxx
2
12
1 2
1 2
+ k uttt k uxxtt
24
8
1 1
2
+ ( )kh2 uxxxxt h4 uxxxxxx + ,
12 2
6!

donde todas las derivadas est


an evaluadas en (xj , tn+1/2 ). Un -metodo es consistente de orden
uno en tiempo y dos en espacio, excepto cuando = 1/2 (metodo de Crank-Nicolson), en cuyo
caso es consistente de orden dos en tiempo y en espacio.
200

Por su parte, la condicion de estabilidad y la consecuencia de la convergencia del metodo


viene dada por el resultado siguiente [5].
Teorema 6.4.2 Supongamos que r(1 ) 1/2. Entonces, el -metodo (6.35) es convergente.
El orden de consistencia es el de convergencia.
Demostraci
on. De la definicion del error de truncacion, se tiene que los errores enj = Ujn
u(xj , tn ) satisfacen las ecuaciones
n+1
n
(1 + 2r)en+1
= kjn + ren+1
j
j1 + rej+1 + r(1 )ej1

+(1 2r(1

))enj

r(1

)enj+1 , j

(6.39)

= 1, . . . , J 1, n = 0, . . . , N 1,

junto con e0j = en0 = enJ = 0, j = 0, . . . , J, n = 0, . . . , N . Si definimos


E n = max |enj |,

T n+1/2 = max |jn |,

0jJ

0jJ

entonces la hipotesis de estabilidad asegura que los coeficientes de (6.39) son no negativos y se
tiene
(1 + 2r)E n+1 2rE n+1 + E n + kT n+1/2 ,
de donde
E n+1 E n + kT n+1/2 .
Entonces, puesto que E 0 = 0,
n

E k

n1
X

T m+1/2 nk max T m+1/2 T max T m+1/2 ,


m

m=0

lo que implica la convergencia, con el mismo orden que el de consistencia. 


En referencia a los metodos que hemos destacados, observemos que la condicion de estabilidad del teorema 6.4.2, r(1 ) 1/2, requiere que r 1/2 para la convergencia del metodo
explcito y r 1 para la del metodo Crank-Nicolson. El metodo implcito es incodicionalmente
convergente. Por otro lado, el resultado para el metodo Crank-Nicolson puede mejorarse [5] y
establecer tambien su convergencia incondicional.
El analisis de convergencia se ha llevado a cabo con la norma infinito. Puede establecerse un
estudio similar para otras normas, utilizando las relaciones que hay entre ellas.
Ejemplo 8.12. Consideramos el problema
1
uxx , 0 x 1, t > 0,
2
u(x, 0) = sinx, 0 x 1,
ut =

u(0, t) = 0,

u(1, t) = 0,

(6.40)

t 0,

cuya solucion teorica es u(x, t) = et sin x. Las siguientes tablas corresponden a los errores en
norma dos de los tres esquemas: explcito (FTCS), implcito (BTCS) y Crank-Nicolson, aplicados
201

al problema de valores iniciales y de contorno (6.40). En todos los casos se han ejecutado los
programas hasta un tiempo final tf = 1 y las longitudes de paso se han dividido sucesivamente
por dos.
Comenzamos por el esquema explcito (FTCS). En la segunda columna de la tabla se han
calculado los errores en tiempo 1 y con = k/h2 2 constante e igual a 4/ 2 . Observemos que
entonces, si dividimos h por dos, el paso en tiempo k se divide por cuatro (o lo que es lo mismo:
si J se multiplica por dos, N ha de multiplicarse por cuatro). La tercera columna corresponde al
mismo esquema, pero con = 8/ 2 . Las diferencias son evidentes. Mientras en la primera columna
el metodo es convergente con orden dos (como es constante, k = O(h2 )), en la segunda, el valor
de rompe el esquema, haciendole perder su estabilidad.
||U u||2

M
etodo FTCS

0.1
0.05
0.025
0.0125

||U u||2

= 4/ 2

= 8/ 2

3.1060E-03
7.6843E-04
1.9161E-04
4.7872E-05

4.5265
8.6552E+52
1.5020E+263

En las tablas siguientes se tienen los errores para el metodo implcito (BTCS) y el metodo
Crank-Nicolson (CN). En ambos, = 4/ 2 . Los dos metodos son convergentes de orden dos y el
metodo Crank-Nicolson parece mas eficiente que el implcito, pues sus errores son menores.

Esquema implcito (BTCS)

M
etodo Crank-Nicolson

202

||U u||2

0.1
0.05
0.0025
0.0125

7.2170E-03
1.8276E-03
4.5838E-04
1.1469E-04

||U u||2

0.1
0.05
0.025
0.0125

2.1071E-03
5.3282E-04
1.3359E-04
3.3421E-05

= 4/ 2

= 4/ 2

6.4.3.

Problemas hiperb
olicos

Como modelo de una EDP hip`erbolica, consideramos un problema de valor inicial y contorno
asociado a la ecuacion de ondas
utt (x, t) = c2 uxx (x, t) + f (x, t),

0 < x < L, 0 t T,

u(x, 0) = u0 (x), ut (x, 0) = v0 (x),

0 < x < L,

u(0, t) = g0 (t),

0 t T.

u(L, t) = gL (t),

(6.41)

la ecuacion del problema (6.41) aparece en modelos relacionados con el Electromagnetismo, en


el estudio de propagaciones del sonido en tubos o en el movimiento de cuerdas elasticas. Por
ejemplo, u(x, t) puede representar el desplazamiento, en el punto x y el instante t, con respecto
a la posicion de equilibrio, de una cuerda de longitud L. Las condiciones de contorno de (6.41)
son de tipo Dirichlet, especificando la posicion de los extremos de la cuerda en cada instante. Se
pueden imponer condiciones mas generales, del tipo (6.33) antes mencionado. Como la ecuaci
on
es de segundo orden en tiempo, requiere dos datos iniciales, para u y ut , porporcionados por las
funciones u0 y v0 , respectivamente. Por u
ltimo, f (x, t) representa el conjunto de fuerzas externas
que act
uan sobre la cuerda [1].
Un m
etodo num
erico
Un ejemplo clasico de aproximacion de (6.41) por diferencias finitas es el siguiente: planteada
la discretizacion de [0, L] [0, T ] como en el caso parabolico, con nodos (xj , tn ), j = 0, . . . , J, n =
0, . . . , N , con xj = jh, tn = nk, Jh = L, N k = T , para aproximar las derivadas en los nodos
internos, se utilizan las formulas
utt (xj , tn ) =
uxx (xj , tn ) =

un+1
2unj + ujn1
j

+ O(k 2 ), k 0,
k2
unj+1 2unj + unj1
+ O(h2 ), h 0,
h2

donde unj = u(xj , tn ). Esto lleva a la ecuacion en diferencias


Ujn+1 2Ujn + Ujn1
k2

n 2U n + U n
Uj+1
j
j1
=c
+ fjn , j = 1, . . . , J 1, n = 1, . . . , N 1, (6.42)
h2
2

con U0n = g0 (tn ), UJn = gL (tn ), n = 1, . . . , N y Uj0 = u0 (xj ), j = 0, . . . , J.


Al tratarse de una ecuacion de segundo orden en tiempo y tener (6.42) tres niveles, es necesaria
una aproximacion a la solucion en el primer nivel n = 1, utilizando el segundo dato inicial de
(6.41). Quiza, la manera mas sencilla consiste en utilizar el desarrollo de Taylor
u(x, k) = u(x, 0) + kut (x, 0) +

k2
utt (x, 0) + O(k 3 )
2


k2 2
c uxx (x, 0) + f (x, 0) + O(k 3 )
2
k 2 2 00
k2
= u0 (x) + kv0 (x) + c u0 (x) + f (x, 0) + O(k 3 ),
2
2
siempre que u0 sea dos veces derivable. Este desarrollo proporciona la aproximacion
= u0 (x) + kv0 (x) +

Uj1 = Uj0 + kVj0 +

 k2 0
c2 k 2
0
0
0
U

2U
+
U
+ fj , j = 1, . . . , J 1,
j+1
j
j1
2h2
2
203

(6.43)

con Vj0 = v0 (xj ), j = 1, . . . , J 1. Las formulas (6.42)-(6.43) pueden escribirse


c2 2 0
c2 2 0
k2
Uj1 + (1 c2 2 )Uj0 +
Uj+1 + fj0 , j = 1, . . . , J 1,
(6.44)
2
2
2
n
n
= Ujn1 + c2 2 Uj1
+ 2(1 c2 2 )Ujn + c2 2 Uj+1
+ k 2 fjn , j = 1, . . . , J 1, n = 1, . . . , N 1,

Uj1 = kVj0 +
Ujn+1

con = k/h.
Convergencia
Teniendo presente las formulas de aproximacion a las derivadas que hemos utilizado, puede
comprobarse que el esquema (6.44) es consistente de orden dos tanto en tiempo como en espacio.
Por otro lado, la ecuacion para los errores tiene la forma
en+1
= en1
+ c2 2 enj1 + 2(1 c2 2 )enj + c2 2 enj+1 + k 2 jn+1 ,
j
j
j = 1, . . . , J 1, n = 1, . . . , N 1,
con jn+1 el error de truncacion del esquema, obtenido de la manera usual, al sustituir en la
formula la solucion numerica por la teorica y dividir por k 2 . Por otra parte, la condici
on de
estabilidad del metodo es 0 < c 1. Si se satisface esta condicion y existen y son continuas las
derivadas utttt , uxxxx de la solucion teorica, el metodo es convergente de orden dos en tiempo y
en espacio [7, 9].

6.5.

Ejercicios

Ejercicio 1. Describe las formulas del metodo de Taylor de orden 2 para la ecuacion diferencial
dy/dt = f (t, y) = 1 + y 2 .
Ejercicio 2. La tabla 6.4 muestra, para diferentes longitudes de paso, el error en t = 3 de la
aproximacion proporcionada por un metodo de Taylor a la solucion del problema y 0 = (t y)/2
en [0, 3] con y(0) = 1.
h
1
0.5
0.25
0.125

error
7.9550E-04
5.0321E-05
3.3214E-06
2.0131E-07

Tabla 6.4: Tabla de errores. Ejercicio 2.


Se puede deducir el orden del metodo utilizado?
Ejercicio 3. Encuentra el tablero del metodo Runge-Kutta obtenido a partir de las aproximaciones:
y(t + h) y(t) +

h
(2k1 + 3k2 + 4k3 ),
9

204

donde
k1 f (t, y(t)), k2 f (t +

h
hk1
3h
3hk2
, y(t) +
), k3 f (t +
, y(t) +
).
2
2
4
4

Ejercicio 4. Comprueba que cuando se aplica el metodo de Euler para integrar la ecuaci
on
0
x (t) = x(t), la formula para avanzar un paso en la solucion es Yn+1 = (1 + h)Yn .
Ejercicio 5. Determina las condiciones que deben cumplir los coeficientes de un metodo RK
explcito de tres etapas para tener orden tres. Entre todos ellos, encuentra el que verifica c2 = c3
y b2 = b3 (conocido como metodo de Nystrom de tercer orden).
Ejercicio 6. Determina las condiciones que deben cumplir los coeficientes de un metodo RK
explcito de cuatro etapas para tener orden cuatro.
Ejercicio 7. Determina las condiciones para que un metodo explcito de dos etapas
k1 = f (tn + c1 h, yn )
k2 = f (tn + c2 h, yn + ha21 k1 )
yn+1 = yn + h(b1 k1 + b2 k2 ),
tenga orden dos, supuesto que no se verifican las condiciones c1 = 0 y c2 = a21 .
Ejercicio 8. Construye todos los metodos de orden dos de la forma
0
c2
c3

c2
0
0

c3
0

Ejercicio 9. Se considera el metodo Runge-Kutta


0
1/2
1/2
1

1/2
0
0
1/6

1/2
0
1/3

1
1/3

1/6

La tabla 6.5 muestra, para diferentes longitudes de paso, el error en t = 3 de la aproximaci


on
proporcionada por el metodo a la solucion del problema y 0 = (t y)/2 en [0, 3] con y(0) = 1.
h
1
0.5
0.25
0.125

error
5.0110E-04
3.1040E-05
1.9401E-06
1.2120E-07

Tabla 6.5: Tabla de errores. Ejercicio 9.

(i) Determina el orden del metodo.


(ii) Comprueba que para integrar la ecuacion x0 (t) = x(t), la formula para avanzar un paso en
1 4 4
la solucion es Yn+1 = (1 + h + 21 h2 2 + 16 h3 3 + 24
h )Yn .
205

(iii) Comprueba que cuando se usa este metodo para resolver el problema y 0 (t) = f (t) en [a, b]
con y(a) = 0, el resultado es
N 1

hX
y(b)
f (tk + 4f (tk+1/2 ) + f (tk+1 ) ,
6
k=0

donde h = (b a)/N, tk = a + kh y tk+1/2 = a + (k + 1/2)h, que es la aproximacion dada por la


regla de Simpson (con incremento h/2) a la integral definida de f (t) en el intervalo [a, b].
Ejercicio 10. Determina el orden del siguiente metodo Runge-Kutta
0
1/2
1

1/2
-1
1/6

2
2/3

.
1/6

Ejercicio 11. Utilizando la solucion verdadera, encuentra explcitamente la funcion de tiro en


el caso
y 00 = y;

y(0) = 1, y(/2) = 3.

Ejercicio 12. Muestra como se puede usar el metodo de tiro para resolver un problema de la
forma
y 00 (t) + p(t)y 0 (t) + q(t)y(t) = r(t),
0

ha y(a) ka y (a) = ,

a t b,
0

hb y(b) + kb y (b) = .

con ha , hb , ka , kb 0, ha + ka > 0, hb + kb > 0.


Ejercicio 13. Comprueba que la funcion es lineal cuando el problema es lineal.
Ejercicio 14. Resuelve el problema
y 00 = 9y;

y(0) = 1, y(/6) = 5,

encontrando primero la solucion yz del problema


y 00 = 9y;

y(0) = 1, y 0 (0) = z,

y ajustando despues z de modo que yz (/6) = 5. Describe como se alterara el resultado si


y(/3) = 5.
Ejercicio 15. La ecuaci
on de convecci
on-difusi
on. Se considera la ecuacion
ut + aux = buxx ,

a, b > 0,

(6.45)

y el esquema de aproximacion
Ujn+1 Ujn
k

+a

n Un
Uj+1
j1
2h

Sean = k/h2 , = k/h, = a/2b = ah/2b.


206

= b

n 2U n + U n
Uj+1
j
j1
.
h2

(6.46)

(i) Comprueba que el esquema (6.46) es consistente de orden uno en tiempo y orden dos en
espacio.
(ii) Comprueba que el esquema (6.46) puede reescribirse
n
n
Ujn+1 = (1 2b)Ujn + b(1 )Uj+1
+ b(1 + )Uj1
.

(iii) Comprueba que si b 1/2 y 1, entonces el esquema es estable. (Indicaci


on: demuestra
que
max|Ujn+1 | max|Ujn |).
j

Ejercicio 16. M
etodos pseudoimplcitos. Considera el problema
ut = Duxx , a x b, 0 t T, c > 0,
a x b,

u(x, 0) = u0 (x),
u(a, t) = ga (t),

(6.47)

u(b, t) = gb (t), 0 t T.,

Para J, N enteros, h = (b a)/J, k = T /N , se establece una red de puntos xj = a + jh, j =


0, 1, . . . , J, tn = nk, n = 0, 1, . . . , N . Si Ujn denota una aproximacion numerica a u(xj , tn ), se
presentan los esquemas siguientes para el problema (6.47): si j = 1, 2, . . . , J 1,
Ujn+1 Ujn
k
Ujn+1 Ujn
k

= D

= D

n U n + U n+1 U n+1
Uj+1
j
j1
j

h2
n+1
n Un
Uj+1
Ujn+1 + Uj1
j

h2

, 1 j J 1, n 0.

, 1 j J 1, n 0.

En el nivel de tiempo n = 0, se toma la condicion inicial exacta, y en los nodos frontera la soluci
on
numerica coincide con la teorica en todos los niveles de tiempo.
(i) Comprueba que, a pesar de ser aparentemente implcito, el esquema puede implementarse de
forma explcita.
(ii) Analiza la consistencia de los dos esquemas.
(iii) Analiza su estabilidad en norma del supremo cuando = ck/h2 es constante.

207

Referencias

[1] R. Haberman, Ecuaciones en derivadas parciales, con series de Fourier y problemas


de contorno, Prentice Hall, 1998.
[2] E. Hairer, S. P. Norsett, G. Wanner, Solving Ordinary Differential Equations I, Nonstiff Problems, Springer, 2000.
[3] D. Kincaid, W. Cheney, Numerical Mathematics and Computing, Brooks and Cole,
1996.
[4] J. D. Lambert, Numerical methods for Ordinary Differential Equations, J. Wiley &
Sons, 1991.
[5] K. W. Morton, D. F. Mayers, Numerical Solution of Partial Differential Equations,
Cambridge University Press, 2005.
[6] I. Peral, Primer curso de Ecuaciones en Derivadas Parciales, Textos de la UAM,
Addison-Wesley, 1995.
[7] J. C. Strikwerda, Finite Differences Schemes and Partial Diferential Equations,
Wadsworth & Brooks/Cole Advanced Books & Software, 1989.
[8] L. N. Trefethen, Finite Difference and Spectral Methods for Ordinary
and Partial Differential Equations, unpublished text, 1996, available at
http://www.comlab.ox.ac.uk/nick.trefethen/pdetext.html.
[9] L. Vazquez, S. Jimenez, C. Aguirre, P.J. Pascual, Metodos numericos para la Fsica
y la Ingeniera, Mc Graw-Hill, 2009.
[10] E. C. Zachmanoglou, D. W. Thoe, Introduction to Partial Diferential Equations with
Applications, Dover, 1986.

208

You might also like