Professional Documents
Culture Documents
1 Introducción. 8
1.1 Clasificación de los problemas en matemática numérica. . . . . . . . . . . 9
1.2 Tutorı́as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Requisitos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Sistema de evaluación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Normas del examen de Cálculo Numérico. . . . . . . . . . . . . . 12
4
3.3 Métodos directos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Eliminación gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2 Descomposición LU. . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.3 Descomposición de Cholesky, A = LLt . . . . . . . . . . . . . . . . 37
3.3.4 Método de Gauss-Jordan. . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Métodos iterativos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.1 Convergencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.2 Esquema general. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.3 Método iterativo de Jacobi. . . . . . . . . . . . . . . . . . . . . . 39
3.4.4 Método iterativo de Gauss-Seidel. . . . . . . . . . . . . . . . . . . 41
3.4.5 Test de parada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 43
4 Interpolación. 44
4.1 El problema general de interpolación . . . . . . . . . . . . . . . . . . . . 44
4.1.1 Casos particulares del problema general de interpolación . . . . . 44
4.2 Interpolación polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Estimaciones del error en la interpolación de Lagrange . . . . . . 49
4.2.3 Diferencias divididas . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.4 Interpolación simple de Hermite u osculatriz. . . . . . . . . . . . . 53
4.3 Interpolación polinomial a trozos. . . . . . . . . . . . . . . . . . . . . . . 54
4.3.1 Interpolacion parabólica a trozos . . . . . . . . . . . . . . . . . . 54
4.3.2 Error en la interpolacion parabólica a trozos . . . . . . . . . . . . 56
4.3.3 Interpolación a trozos de grado 3 usando interpolación Hermite. . 56
4.4 Interpolación polinomial a trozos: Splines . . . . . . . . . . . . . . . . . . 57
4.4.1 Bases de splines asociadas a un problema de interpolación. . . . . 60
4.5 Interpolación spline con bases de soporte mı́nimo: B-splines . . . . . . . 61
4.5.1 B-splines de grado 0. k = 0, r = 1 . . . . . . . . . . . . . . . . . . 64
4.5.2 B-splines de grado 1. k = 1, r = 2 . . . . . . . . . . . . . . . . . . 64
4.5.3 B-splines de grado k. r = k + 1 . . . . . . . . . . . . . . . . . . . 64
4.5.4 B-splines de grado 2 en una partición equiespaciada. k = 2, r = 3 65
4.5.5 B-splines de grado 3 en una partición equiespaciada. k = 3, r = 4 65
4.5.6 Partición de la unidad . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5.7 Interpolación con B-splines . . . . . . . . . . . . . . . . . . . . . . 66
4.6 Interpolación en varias variables. . . . . . . . . . . . . . . . . . . . . . . 66
4.6.1 Interpolación en recintos rectangulares . . . . . . . . . . . . . . . 67
4.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 67
5 Aproximación de funciones. 68
5.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2 El problema general de aproximación. . . . . . . . . . . . . . . . . . . . . 68
5.3 Mejor aproximación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4 Existencia y unicidad de una mejor aproximación . . . . . . . . . . . . . 71
5.4.1 Sucesión minimizante en T . . . . . . . . . . . . . . . . . . . . . . 71
5
5.5 Aproximación lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6 Aproximación en espacios prehilbertianos. . . . . . . . . . . . . . . . . . 72
5.6.1 General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6.2 Caracterizacion de la mejor aproximación. . . . . . . . . . . . . . 73
5.6.3 Error cuadrático medio . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.4 Polinomios ortogonales . . . . . . . . . . . . . . . . . . . . . . . . 76
5.6.5 Desarrollo en serie de Fourier de una función periódica. . . . . . . 79
5.6.6 Aproximación discreta: mı́nimos cuadrados. . . . . . . . . . . . . 82
5.6.7 Desarrollo en serie de Fourier de señales periódicas definidas de
modo discreto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 87
6 Integración numérica 88
6.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2 Exposición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3 Fórmulas de cuadratura de tipo interpolación . . . . . . . . . . . . . . . 89
6.4 Fórmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.4.1 Evaluación del error en las fórmulas de Newton-Cotes . . . . . . . 92
6.4.2 Fórmulas abiertas de Newton-Cotes . . . . . . . . . . . . . . . . . 93
6.5 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.6 Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.7 Métodos compuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.7.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.7.2 Método compuesto de los trapecios . . . . . . . . . . . . . . . . . 95
6.7.3 Método compuesto de Simpson . . . . . . . . . . . . . . . . . . . 95
6.7.4 Mayoración del error en los métodos compuestos . . . . . . . . . . 96
6.7.5 Selección del paso de integración . . . . . . . . . . . . . . . . . . 96
6.7.6 Estabilidad de los métodos compuestos . . . . . . . . . . . . . . . 97
6.8 Fórmulas de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.8.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.8.2 Método de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.9 Integración multidimensional . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.10 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.11 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 100
6
7.4 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.5 Derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.6 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 109
Bibliografı́a 143
7
Capı́tulo 1
Introducción.
1
La matemática numérica o computacional estudia métodos para la resolución numérica
y en general aproximada, de problemas propuestos matemáticamente. De un modo ge-
neral se pueden distinguir dos aspectos distintos en la matemática numérica:
2. Análisis o estudio de los principios matemáticos que subyacen a los métodos, los
teoremas de convergencia, las mayoraciones de los errores, etc.
Cada tipo de problemas plantea sus propias cuestiones especı́ficas, genera sus propios
algoritmos e incluso el éxito en desarrollar una teorı́a general varı́a dependiendo de cuál
de ellos consideremos.
Los problemas directos se tratan con relativa facilidad; su ejemplo más importante, la
integración numérica, es hoy un problema bien comprendido. Existen todavı́a problemas
abiertos y dificultades, pero el problema es conceptualmente simple con una teorı́a general
no muy complicada.
El problema inverso ocupa por su importancia un puesto central en análisis numérico.
El caso lineal se ha estudiado extensamente y posee una teorı́a general bien desarrollada.
El problema no lineal es más difı́cil, y con un cuerpo de teorı́a menos satisfactorio.
El problema de identificación en su marco más general es bastante difı́cil. Pretender
descifrar las leyes que gobiernan un proceso desconocido del conocimiento de un número
9
finito de observaciones es generalmente imposible si no se tiene además algún tipo de
información de la estructura del proceso. El problema ya citado de la aproximación
de un operador de una variable conociendo un número finito de parejas (xn , yn ) carece
en general de solución única salvo que restrinjamos la clase de las funciones admisibles
eligiendo una forma conveniente de f dependiente de ciertos parámetros que se calculen
de modo que expliquen mejor las observaciones entrada-salida efectuadas.
El linde entre los problemas directo e inverso es difuso, en ciertos casos, el problema
inverso se puede transformar en un problema directo. Si f posee inversa conocida f −1 ,
pasarı́amos de [1.1] a x = f −1 (y), por ejemplo el problema de Cauchy:
dx
= ζ(t)x, x(0) = 1
dt
se puede expresar mediante separación de variables en la forma:
³R ´
t
ζ(s)ds
x(t) = e 0
Para un matemático, el problema estarı́a resuelto aunque desde un punto de vista estric-
tamente numérico, sea más conveniente resolver el problema en su forma original.
Esta observación es bastante general, la determinación explı́cita de la inversa no ayuda
numéricamente aunque su conocimiento sea valioso por la información cualitativa que
puede suministrar sobre el comportamiento de la solución que no se podrı́a obtener de
ningún otro modo.
Puede parecer que la formulación [1.1] es muy restrictiva porque a veces no sólo se tiene
una ecuación que resolver sino que también hay condiciones adicionales, iniciales o de
contorno, que satisfacer, pero ello no es cierto. Usando el concepto de espacio producto
podemos incluir esas condiciones como veremos en el siguiente ejemplo:
dx
= ζ(t, x), 0 ≤ t ≤ 1
dt
con la condición inicial x(0) = α.
Sea F = C[0, 1] × IR . Definamos f : C 1 [0, 1] → F poniendo
à !
dx
f (x) = − ζ(t, x), x(0)
dt
y el problema planteado se puede escribir en la forma correspondiente al problema inverso
f (x) = (0, α)
En este libro hemos huido de los ejemplos y ejercicios resueltos. Esto se debe a que es
un libro orientado a su utilización durante el examen, y además se complementa con un
texto donde aparecen resueltos algunos de los ejercicios propuestos en exámenes.
El análisis numérico de un problema es, en la mayorı́a de los casos, la única la aproxi-
mación factible al mismo. Casi todos los modelos analı́ticos de la realidad son irresolubles,
10
y hay que hacer aproximaciones con mayor o menor éxito. Por eso, esta asignatura es
muy importante, y hacerla bien os deja en una posición ventajosa para muchos retos
futuros. Ejemplos abundantes encontraréis en la realización de vuestro proyecto fin de
carrera interpolando datos para hacer estimaciones razonables de valores desconocidos,
o integrando numéricamente curvas para sacar pares adrizantes, o usando un paquete de
cálculo de estructuras por elementos finitos integrando las ecuaciones de la dinámica de
medios continuos para chequear una parte delicada de la estructura, y muchas otras cosas
que usáis sin daros cuenta pero que están escondidas en los programas de arquitectura
naval o de CAD que uséis. En la vida profesional, algunos de vosotros abordaréis pro-
blemas similares. Otros jamás tendréis que escribir un número, y algunos otros, tendréis
que completar este curso por insuficiente.
Nos parece importante comentar a los alumnos que están cursando de nuevo la asignatu-
ra, que ésta cambia un poco cada año, y que deben conseguir el material nuevo de este
año. Caso de no hacerlo ası́, es posible que en el examen se encuentren con un problema
que no tengan ni idea de cómo abordar, como ya ha pasado muchas veces.
1.2 Tutorı́as
Para las tutorı́as existe un horario oficial que cambia cada año en función del horario
de clases. Independientemente de las tutorı́as oficiales, se me localiza en el canal (tlf.
3367156) y estaré encantado de atenderos fuera de las horas oficiales a no ser que pun-
tualmente esté muy ocupado. Os ruego que me mandeis un mail a la dirección de correo
electrónico asouto@etsin.upm.es para crear una lista de distribución de correo y poderos
mandar mensajes cuando salgan las notas, con ejercicios o avisos, y con mis datos y el
horario de tutorı́as de este curso. También se dispone de una página web de la asignatu-
ra donde podéis recoger las hojas de ejercicios, expresar vuestras opiniones en un foro,
navegar por enlaces interesantes, etc. La dirección es:
http://canal.etsin.upm.es/web_cnum
11
1.4.1 Normas del examen de Cálculo Numérico.
Con estas normas lo único que se pretende es que los medios de los que dispongáis a la
hora de realizar los ejercicios sean iguales para todos, y que al mismo tiempo no tengáis
que hacer un esfuerzo de memorización de contenidos que a estas alturas consideramos
estéril. Es por eso que no permitimos apuntes personales, porque después hay lı́os con que
si esto es un ejemplo, no un problema, con que si estas fórmulas me las dio mi abuelito
que sabı́a mucho de esto,....
El que pone el examen, decide los problemas teniendo en cuenta el material del que el
estudiante dispone, y consideramos que un planteamiento razonable pasa por disponer
del material trabajado en clase, y nada más. Se han ensayado ya varias posibilidades, y
se ha llegado a la conclusión de que para esta asignatura, esta posibilidad es la menos
mala. Además, a la gente que lo considere necesario se le dará la posibilidad de usar
Matlab en el examen. Matlab es un programa de cálculo que usaremos durante el curso.
Si hay más gente que puesto reduciremos el tiempo de cada problema para que vuelva
a la sala general los estudiantes que crean que van a obtener pocas ventajas del uso de
Matlab.
• Este texto.
• Calculadora que puede ser programable o nó.
2. No se permitirá :
12
Capı́tulo 2
2.1 Introducción
Uno de los problemas matemáticos que suelen aparecer más a menudo en la práctica es
la resolución de ecuaciones del tipo f (x) = 0 donde f se supone al menos continua, es
decir, el cálculo del valor o valores de x para los cuales se verifca:
f (x) = 0 (2.1)
Aunque en algún caso muy sencillo haya procedimientos de resolución directa de esta
ecuación (que f sea por ejemplo un polinomio de primer o segundo grado), en general
nos veremos obligados a recurrir a métodos iterativos que permitan ir obteniendo valores
que se espera que sean cada vez más próximos a x, a partir de los cuales y por nueva
aplicación del método, obtenemos otro más próximo, y ası́ sucesivamente. Lo primero
que hay que hacer encontrar un intervalo donde vaya a haber una raiz, para lo cual, lo
más sencillo es directamente buscar un cambio de signo en la gráfica de f .
La gran mayorı́a de estos métodos se basan en la transformación de 2.1 en una ecuación
equivalente del tipo:
x = g(x) (2.2)
para después construir una sucesión en la forma:
Un espacio métrico es completo si toda sucesión de Cauchy converge dentro del espacio.
Todos los espacios vectoriales normados reales o complejos de dimensión finita son espa-
cios completos. Por tanto, IRn es un espacio métrico completo.
Por otro lado, sea ahora T una aplicación de X en si mismo. Se dice que x es un punto
fijo de T si verifica
T (x) = x (2.4)
Se dice que T es una contracción de X si existe un número k ∈ [0, 1) tal que:
Demostración:
Si k = 0 es evidente que hay un único punto fijo, ya que en este caso, todo elemento de
X se transforma en un único punto x de X; luego éste es el único punto fijo.
Si k > 0, sea x0 un elemento cualquiera de X y formemos una sucesión xn , como:
14
1
por ser 0 < k < 1, ya que:
p+q−1 ∞
kp
kj < kj =
X X
(2.10)
j=p j=p 1−k
Por tanto xn es una sucesión de Cauchy, ya que tomando m suficientemente grande como
para que:
km
d (x0 , x1 ) < ² (2.11)
1−k
para todo p mayor que m se tendrá
kp km
d (xp , xp+q ) < d (x0 , x1 ) < d (x0 , x1 ) < ² (2.12)
1−k 1−k
Por la completitud de X la sucesión tendrá un lı́mite x en X y como
Por tanto
lim d (T (xn ) , T (x)) = 0
n→∞
(2.15)
o, lo que es lo mismo
lim T (xn ) = T (x)
n→∞
(2.16)
Pero por ser T (xn ) = xn+1 , y al haber demostrado la convergencia de la sucesión {xn },
también se tiene:
lim T (xn ) = n→∞
n→∞
lim xn+1 = n→∞
lim xn = x (2.17)
y por tanto
x = T (x) (2.18)
La demostración nos proporciona una forma de encontrar x como lı́mite de la sucesión
2.6
xn+1 = T (xn ) para n ≥ 0
Una vez demostrada la existencia, la unicidad es inmediata. Supongamos que hubiese
otro punto fijo x, se tendrı́a
lo cual es absurdo. Por tanto, el punto fijo es único y es el lı́mite de la sucesión 2.6, como
querı́amos ver.
1
Recordamos la suma de una serie geométrica de razón r:
N −1
X 1 − rN
rj =
j=0
1−r
15
2.3 Aplicación a la resolución de ecuaciones.
Retomemos la ecuación 2.2.
Teorema 2.3.1 Sea g una función real definida en [a, b] tal que:
1. g(x) ∈ [a, b] ∀x ∈ [a, b]
2
2. Existe L < 1 tal que |g(x) − g(y)| ≤ L|x − y| ∀x, y ∈ [a, b]
Entonces existe una única raiz de 2.2 que se obtiene como lı́mite de la sucesión x n+1 =
g (xn ) donde x0 es un punto cualquiera de [a, b].
Para demostrar este teorema, hay que pensar que los cerrados de un completo, y IR lo
es, son completos, y la segunda propiedad equivale a decir que g es una contracción. Por
tanto se verifican las hipótesis del teorema de la aplicación contractiva.
A menudo es muy difı́cil demostrar que la función g es lipschitziana de constante menor
que la unidad. Sin embargo, si g es de clase C 1 [a, b] y |g 0 (x)| ≤ L < 1 ∀x ∈ [a, b],
podemos decir que g es lipschitziana de constante menor que la unidad. Ello es una
consecuencia del teorema del valor medio, pues éste garantiza que
y por tanto,
|g(x) − g(y)| = |g 0 (ζ)(x − y)| ≤ L|x − y| ∀x, y ∈ [a, b]
lim xn = s
n→∞
Demostración:
Por ser g 0 continua en [a, b] existirá un entorno de s, de radio ² > 0, en el cual
|g 0 (x)| ≤ L < 1
2
Cuando una función verifica esta propiedad, independientemente de que L sea menor que la unidad,
se dice que la función es lipschitziana en [a, b] de constante L.
16
entonces, si |x0 − s| < ², por el teorema del valor medio, se tiene
pues
m
X
uk = x m (2.21)
k=0
Por tanto: ¯ ¯
¯ ∞
¯ X ¯
¯
|xn − s| = ¯
¯ uk ¯¯ (2.22)
¯k=n+1 ¯
y como
|uk | ≤ L |uk−1 | ≤ Lk−1 |u1 |
tendremos:
¯ ¯
¯ ∞ ∞ ∞ ∞ ∞
¯ X ¯
k−1 k−1
Lk+n−1
¯ X X X X
|xn − s| = ¯
¯ u k¯
¯ ≤ |u k | ≤ L |u 1 | = |u 1 | L = |u 1 |
¯k=n+1 ¯ k=n+1 k=n+1 k=n+1 k=1
Ln Ln
= |u1 | =≤ |x1 − x0 | (2.23)
1−L 1−L
17
2.5 Interpretación gráfica de los métodos iterativos.
Es muy interesante ver la construcción gráfica de la sucesión xn de los métodos de apro-
ximaciones sucesivas que hemos visto anteriormente. Supongamos que la gráfica de la
función g es la que aparece en la figura 2.1. Buscar el -los- punto fijo de g equivale a
hallar la intersección de la gráfica de y = g(x), con la de la recta y = x. Comencemos
con un x0 arbitrario en [a, b]. De x0 se pasa a g (x0 ) y a x1 = g (x0 ) como se ve fácilmente
en la figura 2.1. Construido x1 se pasa a g (x1 ) y a x2 = g (x1 ) y ası́ sucesivamente.
El caso dibujado corresponde a aquel en que la derivada g 0 (x) está comprendida entre 0
y -1, con lo que se da la convergencia hacia el punto fijo. Análogamente puede verse la
convergencia en el caso en que está comprendida entre 0 y 1, y que en cambio, si g 0 (s) > 1
o g 0 (s) < −1 no se puede esperar que haya convergencia en general.
b y=x
y=g(x)
a
x
0 x1 s x2 x0 b
x = g(x)
18
Por tanto, al ser w 6= 0, la ecuación 2.2 es equivalente a:
wx = wg(x) (2.24)
con
x̂n+1 = g (xn ) (2.29)
Es como si nos quedásemos con una parte de la iteración anterior, (1 − w) y tomásemos
sólo w de la siguiente g (xn ).
Si sucediese que en la raiz |g 0 (s)| ≥ 1, entonces, la nueva función de aproximaciones
sucesivas relajada
h(x) = (1 − w)x + wg(x) (2.30)
tiene como derivada
h0 (x) = (1 − w) + wg 0 (x) (2.31)
0
Podemos elegir w que haga que |h (x)| < 1 en un entorno de la raiz, e incluso buscar
que sea cero, que serı́a el óptimo de convergencia. A veces no es fácil estimar la derivada
de la función g. Un estimación grosera en ese entorno, podrı́a ser obtenida a partir del
propio esquema:
g (x1 ) − g (x0 )
g 0 (x) ≈ (2.32)
x1 − x 0
Con esta estimación es fácil ajustar un valor razonable para w.
0 = (1 − w) + wg 0 (x) (2.33)
1
w= (2.34)
1 − g 0 (x)
19
2.7.1 Obtención del método de Newton a partir del factor óp-
timo de relajación.
Consideremos de nuevo la ecuación 2.1
f (x) = 0
y supongamos que se intenta encontrar su raiz o raı́ces en un intervalo [a, b]. Como ya
hemos comentado, el procedimiento habitual consiste en la transformación de 2.1 en una
ecuación equivalente, de iguales raı́ces, y que sea del tipo 2.2.
x = g(x)
Una forma muy sencilla de conseguir esto puede ser sumar x a la parte derecha e izquierda
2.1
x + f (x) = x (2.35)
y definir g en la forma
g(x) = x + f (x) (2.36)
Si relajamos este esquema
y por tanto
−1
w= (2.39)
f 0 (x)
con lo que
f (x)
h(x) = x − (2.40)
f 0 (x)
y el esquema iterativo
f (xn )
xn+1 = xn − (2.41)
f 0 (xn )
que es el método de Newton.
antes de su licenciatura, lo cual era muy raro. Su elección para la Royal Society se basó en su libro
Analysis aequationum universalis, publicado en 1690, que contiene el método de Newton-Raphson para
aproximar las raices de una ecuación.
En Method of Fluxions Newton describe el mismo método, y como ejemplo, encuentra la raiz de x 3 −
2x − 5 = 0 que está entre 2 y 3. Aunque Newton escribió este artı́culo en 1671, no fue publicado hasta
1736. Por tanto, Raphson publicó el mismo resultado casi 50 años antes.
No se sabe mucho de la relación entre Newton y Raphson, aunque parece que era importante. Se cree
que Raphson era una de las pocas personas a las que Newton mostraba sus artı́culos, y participó en
algunas de las disputas entre Newton y Leibniz, pero esta es otra historia.
20
2.7.2 Obtención del método de Newton a partir de un desar-
rollo en serie de Taylor.
Supongamos que f es de clase C 1 [a, b] y f 0 (x) 6= 0 en [a, b]. Supongamos que estamos
en el paso n de nuestro esquema de aproximaciones sucesivas y buscamos ∆x tal que
xn+1 = xn + ∆x sea la raiz del problema. Haciendo un desarrollo en serie de f en torno
a xn hasta el primer término tendremos:
De aquı́ obtenemos ∆x
f (xn )
∆x = − (2.43)
f 0 (xn )
y por tanto, tendremos ya el esquema buscado:
f (xn )
xn+1 = xn + ∆x = xn − (2.44)
f 0 (xn )
lo que se está haciendo es tomar la tangente a la curva y = f (x) en el punto (x0 , f (x0 ))
y hallar la intersección de esa recta con el eje OX.
En efecto, la tangente tiene por ecuación
f (x) = 0
21
a b
X
x1 x0
y=f(x)
y supongamos que se intenta encontrar su raiz o raı́ces en un intervalo [a, b]. Como ya
hemos comentado, el procedimiento habitual consiste en la transformación de 2.1 en una
ecuación equivalente, de iguales raı́ces, y que sea del tipo 2.2.
x = g(x)
donde F es una función real de variable real que sólo se anule en el origen:
F (t) = 0 ⇔ t = 0 (2.49)
22
Supongamos que f es de clase C 1 [a, b] y f 0 (x) 6= 0 en [a, b]. Como hemos visto ya al
estudiar la convergencia local, si s es raiz de f en [a, b], interesa que |g 0 (s)| < 1, y serı́a
mejor si g 0 (s) = 0, pues la convergencia serı́a más rápida. Veamos la forma de h para
poder conseguir esto. Tomando h es de clase C 1 [a, b], tendremos que g tendrá la misma
clase. Además:
g 0 (x) = 1 + h0 (x)f (x) + h(x)f 0 (x) (2.52)
En partircular en la raiz de f , s,
Sin embargo, para que h ∈ C 1 [a, b], al haberla definido ası́ necesitaremos subir la clase
de f a 2. Por tanto, se tendrá
f (x)
g(x) = x − 0 (2.58)
f (x)
y el método de Newton será por tanto
f (xn )
xn+1 = xn − (2.59)
f 0 (xn )
23
2.8 Resolución de sistemas de ecuaciones no lineales.
Consideremos ahora el problema de hallar una solución s ∈ IRn de un sistema de n
ecuaciones con n incógnitas.
f1 (x1 , x2 , · · · , xn ) = 0
f2 (x1 , x2 , · · · , xn ) = 0
(2.60)
···
fn (x1 , x2 , · · · , xn ) = 0
1. g(x) ∈ D ∀x ∈ D
Para demostrar este teorema, hay que pensar que los cerrados de un completo, y IR n lo
es, son completos, y la segunda propiedad equivale a decir que g es una contracción. Por
tanto se verifican las hipótesis del teorema de la aplicación contractiva.
En varias variables, casi siempre es muy difı́cil demostrar que la función g es lipschitziana
de constante menor que la unidad. Esta condición puede ser sustituida a veces por otras
condiciones más fáciles de comprobar. Por ejemplo, si todas las funciones gi que aparecen
en 2.63 son C 1 (D), es decir, continuas y con derivadas parciales continuas en D, y si se
verifica ¯ ¯
¯ ∂g (x) ¯ L
¯ i
¯≤ ∀x ∈ D (2.65)
¯
¯ ∂xj ¯ n
¯
24
con L < 1, para todos los i, j = 1, 2, · · · , n, entonces se cumple el teorema de la aplicación
contractiva si normamos IRn con la norma 1 o ∞.
Demostración:
Haciendo un desarrollo en serie de Taylor de la función de varias variables g, tenemos
que existen n2 valores ζij tales que:
n
X ∂gi (ζij )
gi (x) − gi (y) = (xj − yj ) (2.66)
j=1 ∂xj
y por 2.65
n
LX
|gi (x) − gi (y)| ≤ |xj − yj | (2.67)
n j=1
Si tomamos la norma 1, y sumamos, tendremos.
n
X n
X
k g(x) − g(y) k1 = |gi (x) − gi (y)| ≤ L |xj − yj | = L k x − y k1 (2.68)
j=1 j=1
que es lo que querı́amos ver. Se deja como ejercicio la comprobación para la norma ∞.
Existe una versión más general de este teorema que pasamos a enunciar:
Teorema 2.8.2 Sea g una función real diferenciable definida en un conjunto cerrado
acotado convexo D, y tal que cualquiera de las normas inducidas del jacobiano de g en
todos los puntos de D sea menor que la unidad, o el radio espectral del jacobiano de g
sea menor que la unidad para todos los puntos de D, entonces
³ existe
´ una única raiz de
(m+1) (m)
2.64 que se obtiene como lı́mite de la sucesión x =g x donde x0 es un punto
cualquiera de D.
25
2.9 Método de Newton-Raphson para sistemas de
ecuaciones no lineales.
Supongamos que f es de clase C 1 (D) y Jf (x) no es singular en D, siendo D un conjunto
cerrado acotado convexo D. Supongamos que estamos en el paso n de nuestro esquema
de aproximaciones sucesivas y buscamos ∆x, tal que xn+1 = xn + ∆x sea la raiz del
problema. Haciendo un desarrollo en serie de f en torno a xn hasta el primer término
tendremos, dado que el jacobiano es la aproximación lineal:
De aquı́ obtenemos ∆x
∆x = −Jf−1 (xn )f (xn ) (2.71)
4
y por tanto, tendremos ya el esquema buscado
2.10 Resumen
1. Lo primero que hay que hacer para resolver una ecuación o sistema no lineal es
acotar una zona donde exista al menos una raiz. Si podemos asegurar que será sólo
una, mucho mejor.
5. Estas consideraciones valen tanto para ecuaciones como para sistemas de ecuaciones
no lineales.
4
Lo ponemos en este modo, pues para resolver un sistema lineal, hemos aprendido que no es necesario
invertir la matriz del sistema, que es un problema bastante más complejo.
26
Capı́tulo 3
3.1.1 Matrices.
Teorema 3.1.1 Para una matriz cuadrada A de n × n, las siguientes afirmaciones son
equivalentes:
1. A−1 existe.
2. det A 6= 0.
3. El sistema lineal Ax = 0 tiene solamente la solución x = 0.
4. Para cualquier vector b, el sistema lineal Ax = b tiene solución única.
5. Las filas y columnas de A son linealmente independiente.
6. El rango de la matriz A es n.
Definición 3.1.1 Se dice que una matriz cuadrada A de n × n es diagonalmente domi-
nante por filas (o diagonalmente dominante) si:
j=n
X
|aii | ≥ |aij |, i = 1, · · · n (3.1)
j=1,j6=i
27
Teorema 3.1.2 Si la matriz cuadrada A de n × n es diagonalmente estrictamente do-
minante, entonces es regular.
3.1.2 Autovalores
Es importante también tener presente los resultados referidos a la descomposición espec-
tral o conjunto de autovalores de una matriz.
Teorema 3.1.6 Los autovalores de una matriz simétrica son positivos si y solo si la
matriz es definida positiva.
B = P AP −1 (3.3)
Teorema 3.1.8 Si una matriz A de n×n tiene n autovalores distintos entre si, entonces
es semejante a una matriz diagonal.
Definición 3.1.5 Sea A una matriz cuadrada de n × n que tiene como autovalores λ 1 ,
· · ·, λn . Se define como radio espectral de la matriz A y se nota ρ(A) al valor:
28
3.1.3 Normas matriciales
Dentro de este repaso conviene recordar también resultados y definiciones correspon-
dientes a normas matriciales y vectoriales. Todo este tema está muy bien tratado en la
referencia [4], y de ahı́ lo hemos tomado. Sea A ∈ Mm×n (IK), espacio vectorial de las
matrices de m × n de coeficientes reales o complejos. IK será el cuerpo de los complejos
o los reales, aunque se trabajará casi siempre con reales. Denotaremos por At la matriz
traspuesta, y por A+ la matriz adjunta. Es decir, para A = (ai j ), At = (aj i ) y A+ = (aj i ).
Definición 3.1.6 Dadas normas k kIK n , k kIK m , definimos en Mm×n (IK) una norma
inducida,1
k k : Mm×n (IK) → IR
, kAk = max kAxk
A 7→ kAk kxk=1
Estas normas inducidas por una norma vectorial verifican dos propiedades muy intere-
santes:
donde µmax es el mayor valor singular de A, es decir, la raı́z cuadrada del mayor autovalor
de A+ A. Por tanto, enqel caso de una matriz simétrica o hermı́tica, A, y, por tanto,
diagonalizable, ρ(A) = ρ(A+ A) = kAk2 .
1
Es lı́cito sustituir el supremo por el máximo, ya que, al ser IK n un espacio de dimensión finita,
{x ∈ IK n : kxk = 1} es un compacto y, por tanto, la función kAxk, continua, presenta máximo y
mı́nimo.
29
La norma k k∞ , por su parte, es el máximo de las sumas de las filas de la matriz
Xn
kAk∞ = max |ai j | , A = (ai j ).
1≤i≤m
j=1
Teorema 3.1.9 Sea k k una norma compatible con el producto de matrices en Mn (IK).
Entonces, ρ(A) ≤ kAk, para toda A ∈ Mn (IK).
Teorema 3.1.10 Sea A ∈ Mn (IK) una matriz fija. Sea ε > 0. Entonces existe una
norma inducida k kε tal que kAkε ≤ ρ(A) + ε.
Un corolario interesante es el siguiente:
Corolario 3.1.1 ρ(A) = inf k k kAk∀A ∈ Mn (IK), es decir, que al recorrer las diferentes
normas de A compatibles con el producto, ρ(A) proporciona el valor ı́nfimo.
Que es cota inferior es trivial por el teorema 3.1.9. Que es ı́nfimo, también, ya que, por
el teorema anterior, hay valores de kAk tan próximos a ρ(A) como queramos.
En general, ρ(A), pese a ser el ı́nfimo de kAk al recorrer las distintas normas matri-
ciales compatibles con el producto, no es el mı́nimo. Lo vemos con un contraejemplo.
Consideremos la matriz,
à !
0 1
A=
0 0
Esta matriz tiene un único autovalor doble, el cero. Luego su radio espectral es nulo. En
cambio, no puede haber ninguna norma en la que kAk = 0, ya que no es la matriz nula.
En cambio, hemos visto que, para una matriz cuadrada simétrica o hermı́tica, sı́ existe
mı́nimo, ya que, ρ(A) = kAk2 .
Conviene recordar también el siguiente teorema relativo a la exponenciación de matrices.
Teorema 3.1.11 Para una matriz cuadrada A de n × n, las siguientes afirmaciones son
equivalentes:
1. limk→∞ Ak = 0.
2. limk→∞ k Ak k= 0.
3. ρ(A) < 1.
30
3.2 Condicionamiento de un sistema lineal.
Tenemos el sistema lineal
Ax = b (3.5)
con
10 7 8 7
7 5 6 5
A=
(3.6)
8 6 10 9
7 5 9 10
32
23
b=
(3.7)
33
31
cuya solución es un vector de componentes unitarias. Normalmente estos sistemas lineales
se obtienen a partir de cálculos previos que producen errores tanto en los coeficientes del
sistema con en los del término independiente. A su vez, los datos con los que se realizan
esos cálculos previos podrı́an estar afectados de errores por proceder de experimentos, u
otros cálculos a su vez. Por tanto, el sistema lineal resultante en realidad no será ese, sino
que será un sistema lineal perturbado tanto en la matriz del sistema como en el término
independiente. El sistema lineal perturbado podrı́a tener el siguiente aspecto
10 7 8.1 7.2
7.08 5.04 6 5
A + ∆A = (3.8)
8 5.98 9.89 9
6.99 4.99 9 9.98
32.01
22.99
b + ∆b = (3.9)
33.01
30.99
y por tanto ∆A y ∆b, las perturbaciones, tendrı́an los siguientes valores:
0 0 0.1 0.2
0.08 0.04 0 0
∆A = (3.10)
0 −0.02 −0.11 0
−0.01 −0.01 0 −0.02
0.01
−0.01
∆b = (3.11)
0.01
−0.01
Estudiemos cómo varı́a la solución del sistema lineal cuando perturbamos la matriz del
sistema y cuando perturbamos sólo el término independiente. Resolvamos primero el
sistema lineal:
A(x + ∆x) = b + ∆b (3.12)
31
1.82 0.82
−0.36 −1.36
x + ∆x = → ∆x =
(3.13)
1.35 0.35
0.79 −0.21
Hemos perturbado el término independiente:
k ∆b k∞
= 3.03 10−4 (3.14)
k b k∞
y esta perturbación induce una variación en la solución:
k ∆x k∞
= 1.36 (3.15)
k x k∞
El error se ha amplificado por tanto unas 4500 veces. Partı́amos de una perturbación
relativa del orden de 3.03 10−4 y obtenemos un error relativo del orden de 1.36.
Estudiemos este fenómeno desde el punto de vista teórico:
32
Si ahora perturbamos la matriz del sistema, éste quedará como:
−81 −82
137 136
x + ∆x = → ∆x =
(3.25)
−34 −35
22 21
La perturbación de la matriz del sistema:
k ∆A k∞ 0.3
= ≈ 0.01 (3.26)
k A k∞ 33
k ∆x k∞
= 136 (3.27)
k x k∞
El error se ha amplificado por tanto unas 13600 veces. Partı́amos de una perturbación
relativa del orden de 0.01 y obtenemos un error relativo del orden de 136.
Estudiemos este fenómeno desde el punto de vista teórico:
k ∆x k k ∆A k
≤k A kk A−1 k (3.31)
k x + ∆x k kAk
Ahora, con otra medida del error relativo, vuelve a ser el condicionamiento de la matriz A
el factor que mayora los errores en las perturbaciones respecto a los errores en la solución.
Por su definición está claro que el condicionamiento de una matriz depende de la norma
elegida. Una propiedad interesante es que el condicionamiento tiene como cota inferior
a la unidad. Esto es consecuencia de que la norma inducida de la matriz identidad es
siempre 1.
1 =k I k=k AA−1 k≤k A kk A−1 k (3.32)
Otra propiedad muy interesante es la que relaciona el condicionamiento con el radio
espectral de la matriz del sistema caso de que esta sea simétrica. Si la matriz es simétrica
su norma 2, es su radio espectral. Por tanto:
|λmax |
cond2 (A) =k A k2 k A−1 k2 = ρ(A)ρ(A−1 ) = (3.33)
|λmin |
33
Este resultado tiene una versión general ahora en términos de los valores singulares, que
nos permite decir que una matriz estará mejor condicionada cuanto más parecidos en
módulo sean entre si su espectro de autovalores o su espectro de valores singulares. De
hecho, la matriz 3.6 del ejemplo anterior es simétrica. Su espectro de autovalores es:
0.0102
0.8431
Sp(A) =
(3.34)
3.8581
30.2887
Como vemos, los autovalores son muy diferentes entre si. Al ser simétrica, su condi-
cionamiento en la norma 2, será:
30.2887
cond2 (A) = = 2984 (3.35)
0.0102
Otra forma de ver el condicinamiento es pensar que resolver un sistema lineal equivale
a encontrar una combinación lineal de vectores que nos permitan escribir otro vector, el
término independiente. Si los vectores columna que forman el sistema lineal aún siendo
linealmente independientes están casi en un mismo hiperplano (recta en 2D, plano en
3D, etc), dicha combinación lineal será geométricamente mucho más delicada.
Ejercicio 3.2.1 Cambiar alguno del coeficientes del sistema lineal 3.6 manteniendo la
simetrı́a, y repitiendo todo este análisis. Se pretende que comprobéis que con un condi-
cionamiento menor o mayor, los errores en las soluciones de los sistemas perturbados
verifican las nuevas cotas respondiendo a este nuevo condicionamiento.
34
ejemplo, e iremos dando los pasos en dicho ejemplo para entender cómo funciona:
1 2 3 6
2 3 4 9 (3.36)
−1 0 −1 −2
haciendo transformaciones elementales utilizando la primera fila, hacemos cero todos los
elementos de la primera columna excepto el diagonal.
1 2 3 6
0 −1 −2 −3 (3.37)
0 2 2 4
Ahora hacemos lo mismo con el elemento diagonal de la segunda fila, y hacemos cero
todos los elementos de la segunda columna por debajo del diagonal.
1 2 3 6
0 −1 −2 −3 (3.38)
0 0 −2 −2
Con esto tenemos ya un sistema triangular superior que se resuelve fácilmente por susti-
tución hacia atrás.
x3 = 1 (3.39)
−x2 − 2x3 = −3 → x2 = 1 (3.40)
x1 + 2x2 + 3x3 = 6 → x1 = 1 (3.41)
Existen diferentes estrategias para minimizar los errores de redondeo tratando de que los
elementos diagonales sean en valor absoluto lo más grandes posibles (pivotaje), aunque
su estudio detallado escapa al contenido del curso.
Ax = b
se transforma en resolver:
LU x = b (3.42)
Una vez obtenida esta descomposición, resolvemos dos sistemas lineales triangulares:
Ly = b (3.43)
Ux = y (3.44)
y ya tenemos el vector x solución buscada.
Existen muchas formas de realizar esta descomposición. Explicaremos la más sencilla, el
35
algoritmo de Crout, que funciona siempre que todos los menores principales sean distintos
de cero. Los menores principales son los determinantes de las submatrices principales.
La submatriz principal Ai es la que tiene como elementos ajk con 1 ≤ j, k ≤ i. En la
descomposición de Crout se supone que la matriz triangular superior U tiene una diagonal
formada por elementos unidad. Resolvamos el sistema lineal del apartado anterior con
este método.
1 2 3 l11 0 0 1 u12 u13
2 3 4 = l21 l22 0 0 1 u23 (3.45)
36
3.3.3 Descomposición de Cholesky, A = LLt .
A menudo los sistemas lineales tienen como matriz del sistema la matriz de Gramm de
un producto escalar. Estas matrices y otras son simétricas y definidas positivas (x t Ax >
0 ∀x 6= 0). Para este tipo de matrices existe una descomposición LU especial, la
descomposición de Cholesky. En esta descomposición U = Lt , y la matriz L se obtiene
otra vez por identificación, igual que en el algoritmo de Crout. Se deja como ejercicio
resolver de este modo el sistema lineal 3.5.
−1 0 −1 0 0 1 0 2 2 1 0 1
Normalizamos la segunda fila dividiendo por el elemento diagonal, hacemos cero el resto
de los elementos de la segunda columna.
1 2 3 1 0 0 1 0 −1 −3 2 0
0 1 2 2 −1 0 → 0 1 2 2 −1 0
0 2 2 1 0 1 0 0 −2 −3 2 1
Normalizamos la tercera fila dividiendo por el elemento diagonal, hacemos cero el resto
de los elementos de la tercera columna.
1 0 −1 −3 2 0 1 0 0 −1.5 1.0 −0.5
0 1 2 2 −1 0 → 0 1 0 −1.0 1.0 1.0
0 0 1 1.5 −1 −0.5 0 0 1 1.5 −1.0 −0.5
37
x = (I − A)x + b. En general, los esquemas iterativos a que haremos referencia serán
todos del tipo:
x(k+1) = Bx(k) + c (3.48)
donde B ∈ Mn (IK) y c ∈ IK n . En el lı́mite
x = Bx + c (3.49)
y por tanto, ha de ser que:
c = (I − B)A−1 b (3.50)
Una vez que c verifica esa condición, la convergencia depende del radio espectral de la
matriz B. Enunciémoslo como un teorema.
Teorema 3.4.1 Un esquema iterativo para resolver sistema lineales del tipo 3.48 con-
verge si y solamente si el radio espectral de la matriz B es estrictamente menor que la
unidad.
”→”
Supongamos que el esquema converge. Se tendrá por tanto que la sucesión x(k) − x debe
tender a cero. por tanto:
x(k+1) − x = Bx(k) + c − (Bx + x) = B(x(k) − x) = B k+1 (x(0) − x)
O sea que para cualquier x(0) esa sucesión tiende a cero. Dicho de otro modo, indepen-
dientemente del vector v,
lim B k v = 0
k→∞
Esto sólo es posible si el radio espectral de la matriz B es menor que uno. Este resultado
es fundamental en álgebra lineal. Su demostración general es algo complicada. Si la
matriz es diagonalizable es más fácil de intuir que si alguno de los autovalores λ fuese
de modulo igual o superior a uno, tomando el autovector correspondiente como vector v
esta claro que esa sucesión nunca tenderı́a a cero, por ser Bv = λv.
La inversa es una consecuencia directa del teorema de la aplicación contractiva. Si
ρ(B) < 1, existe alguna norma matricial inducida en la que k B k< 1. Por tanto, y
dado que k B(x − y) k≤k B kk x − y k tendremos que la aplicación T (x) = Bx + c
verificará la condición de Lipschitz y por tanto, será una contracción de IK n , con lo que
la sucesión convergerá a un punto fijo que será la solución del sistema lineal. Además
esa convergencia es independiente del huésped inicial, al ser una contracción en todo el
espacio, aunque será más rápida si el huésped inicial está correctamente elegido y sobre
todo si ρ(B) es bastante menor que la unidad.
38
Se trata de elegir M de tal forma que ese sistema lineal en cada paso sea sencillo de
resolver.
Se debe tener que c = M −1 b verifique la condición 3.50
0 1 4 x3 1
x3 −0.5
Procedamos a realizar la descomposición de la matriz del sistema:
4 0 0 0 0 0 0 −1 0
M =D= 0 4 0
L = −1 0 0
U = 0 0 −1
(3.55)
0 0 4 0 −1 0 0 0 0
con
N =L+U (3.56)
La elección del huésped inicial no influye en la convergencia, pero sı́ en el número de
iteraciones que daremos en el esquema para llegar a una solución aceptable. Si se tiene
una estimación de la solución, se usará ésta como huésped inicial. Caso de que no sea
ası́, se puede tomar como huésped inicial el formado por el término independiente, o uno
de componentes todas iguales a 1. Nosotros tomaremos por ejemplo uno que harı́a que
se cumpliese la primera lı́nea del sistema lineal:
(0)
x
1(0)
−1
x(0) = x2 = 4
(3.57)
(0) −1
x3
39
Para comprobar si estamos convergiendo a la solución es conveniente disponer de un buen
criterio de convergencia. Demostraremos más adelante un resultado que nos permite
garantizar que si controlamos el valor de la norma del residuo r (k) = b − Ax(k) estaremos
controlando el error e(k) = x − x(k) .
Ası́, en este ejemplo:
k r(0) k∞ = 4 (3.58)
Demos el primero paso del esquema:
0 0 4 0 −1 0 −1 1
Y tendremos por tanto que resolver el sistema diagonal:
4 0 0 −7
(1)
0 4 0 x = 12 (3.61)
0 0 4 −3
−1.75
x(1) =
3 (3.62)
−0.75
con
k r(1) k∞ = 1 (3.63)
Por tanto, el residuo ha disminuido. Si seguimos iterando:
−1.5
x(2) = 3.125 k r(2) k∞ = 0.5 (3.64)
−0.5
−1.5039
x(5) = 3.0000
k r(5) k∞ = 0.0156 (3.65)
−0.5039
etc... Vamos a enunciar un teorema de convergencia muy interesante pues se refiere a
un tipo de matrices, las diagonal estrictamente dominante que aparecen a menudo al
resolver numéricamente ecuaciones diferenciales en derivadas parciales.
Teorema 3.4.2 Supongamos que una matriz A sea diagonal estrictamente dominante:
X
|aii | > |aij |, i = 1, · · · n
j6=i
40
La demostración es bastante sencilla:
1
0 ··· 0 0 a12 · · · a1n
a11
0 ··· ··· 0 a21 0 · · · a2n
B = M −1 N = D−1 (L + U ) = −
···
0 ··· ··· 0 ··· ··· ···
1
0 ··· 0 ann
an1 · · · ann−1 0
a12 a1n
0 a11
··· a11
a21 a2n
0 ···
= − a22 a22
··· ··· ··· ···
an1 ann−1
ann
··· ann
0
0 −1 4 1.0000
41
con
k r(1) k∞ = 0.8125 (3.72)
Por tanto, el residuo ha disminuido. Si seguimos iterando:
−1.5469
x(2) = 3.0234
k r(2) k∞ = 0.1641 (3.73)
−0.5059
−1.5001
x(5) = 3.0000
k r(5) k∞ = 0.0003 (3.74)
−0.5000
Como vemos, el residuo en el paso quinto es muy inferior al correspondiente al método
de Jacobi, 0.0003 frente a 0.01. Respecto a la convergencia enunciamos un resultado
equivalente al ya referido en el método de Jacobi.
Teorema 3.4.3 Supongamos que una matriz A sea diagonal estrictamente dominante:
X
|aii | > |aij |, i = 1, · · · n
j6=i
O sea, tal que la diferencia en norma entre la solución x y la estimación de ese valor
en la iteración k sea menor que un valor ²1 dado. Dado que no sabemos por supuesto
x, tendremos que llegar a esa conclusión de un modo indirecto. El más interesante es
analizar el residuo
r(k) = b − Ax(k) (3.76)
Vamos a demostrar que:
kr (k) k ke(k) k
Teorema 3.4.4 Si kbk
< ², entonces kxk
< ² cond(A)
Demostración: ³ ´
e(k) = x − x(k) = x − A−1 b − r(k) = A−1 r(k) (3.77)
Por tanto
42
De donde la conclusión. Es interesante ver este pequeño teorema como que cuánto peor
(mayor) sea el condicionamiento de una matriz, las mayoraciones en el residuo conducen
a mayoraciones en el error multiplicadas por ese condicionamiento. Sin embargo, si una
matriz tiene un condicionamiento bajo, acotar el residuo es casi equivalente a acotar el
error total.
En el ejemplo que hemos utilizado para mostrar los métodos de Jacobi y Gauss-Seidel,
y 0.0013 ≤ 2.5714 · 0.0016, con lo que se verifica la cota dada por el teorema.
Seleccionar el valor de ²1 dependerá en cada caso del problema real que estemos resolvien-
do, y dependerá también de las estimaciones que podamos tener del condicionamiento de
la matriz del sistema. Otro posible test de parada es establecer que la diferencia en nor-
ma entre dos iteraciones consecutivas no debe superar un valor dado. Podemos combinar
ambos tests para tener un test conjunto que nos garantice que estamos suficientemente
cerca de la solución y que no necesitamos continuar trabajando.
43
Capı́tulo 4
Interpolación.
tiene como matriz asociada (Li (ej ) =< ej , Li > i, j = 1, . . . , n y si la familia (Li ) es libre,
det(< ej , Li >) = det(Li (ej )) 6= 0.
Se llama a det(Li (ej )) el determinante generalizado de Gram.
La demostración anterior de tipo constructiva, contiene un método de resolución del
problema (4.1). La solución x tiene como componentes ai , las n soluciones del sistema
lineal (4.2).
Li (P ) = P (xi ) = wi (i = 0, 1, . . . , n)
se constata que este problema es un caso particular de (4.1). Si tomamos como base B
de Pn la canónica, ei = {xi }i = 0, 1, . . . , n, el determinante de Gram es:
¯ ¯
¯
¯ 1 x0 x20 . . . xno ¯
¯
.. .. .. . . .
. ..
¯ ¯
det(Li (ej )) = ¯¯ . . . ¯
¯
1 xn x2n . . . xnn
¯ ¯
¯ ¯
determinante del tipo de Vandermonde, que es distinto de cero si todos los xi son distintos.
Por tanto, El problema de interpolación de Lagrange siempre tiene solución única.
Comentarios:
• Este sistema lineal de Vandermonde sólo tiene significado teórico, ya que su resolu-
ción por métodos numéricos es un pequeño compendio de comportamientos nega-
tivos (alto coste computacional, alta exigencia de almacenamiento y baja exacti-
tud).
45
• El polinomio P̂ ∈ Pn solución única del problema de Lagrange descrito, es exac-
tamente de grado n, cuandoh ân 6=i 0, lo que no siempre sucede. El problema de
interpolar la función sin en − π2 , π2 , en los puntos− π2 , 0, π2 da como solución única
el polinomio P (x) = 2x π
, con â2 = 0. Otro ejemplo todavı́a más llamativo es el caso
P (xi ) = 1, i = 0, 1, . . . , n cuya única solución es el polinomio constante 1.
• En muchos casos, los valores wi son las imágenes en los puntos xi de una cierta
función f definida en S. Las formas lineales Li estarán entonces definidas en un
espacio funcional más amplio que Pn para que tenga sentido Li (f ) = f (xi ). El pro-
blema de interpolación planteado, matemáticamente idéntico al antes considerado,
consiste en determinar un polinomio P que coincide con f en los puntos xi .
Interpolación general de Hermite
Dados n + 1 puntos distintos x0 , . . . , xn y las N + 1 formas lineales en C N (S) definidas
por:
f −→ Lν,j (f ) = f (j) (xν )
0 ≤ ν ≤ n, 0 ≤ j ≤ mν con N = m0 + m1 + · · · + mn + n, veremos que la interpolación
en PN relativa a estas formas lineales tiene solución única. Por tanto, siempre es posible
hallar un polinomio cuya imagen y las de sus derivadas sucesivas hasta un cierto orden,
esté prefijadas en puntos distintos. Este caso particular de (4.1) , se denomina problema
de interpolación polinomial general de Hermite. Más tarde escribiremos de modo explı́cito
el polinomio de grado 2n + 1 solución de este problema cuando
m0 = m1 = · · · = mn = 1 ⇒ N = 2n + 1
Interpolación trigonométrica
Supongamos ahora que E es el espacio de dimensión 3 engendrado por las tres funciones
{1, cos, sin} y que deseamos determinar f ∈ E tal que
π π
µ ¶ µ ¶
L1 (f ) = f − L2 (f ) = f (0) L3 (f ) = f
2 2
El determinante de Gram del problema de interpolación planteado es
¯ ³ ´ ³ ´ ¯
L1 (cos) ¯ ¯¯ 1 sin − π2 cos − π2
¯ ¯ ¯ ¯
¯ L (1) L1 (sin)
¯ ¯ ¯ 1 −1 0 ¯¯
¯ 1
¯ ¯
¯ ¯
¯ L2 (1) L2 (sin) L2 (cos) ¯¯ = ¯¯ 1 sin(0) cos(0) ¯ = ¯¯ 1 0 1 ¯¯ = 2 6= 0
¯
³ ´ ³ ´ ¯
¯ L3 (1) L3 (sin) L3 (cos) ¯ ¯¯ 1 ¯ 1 1 0 ¯
¯ ¯ ¯ ¯
sin π2 cos π2
¯
¯
L1 (f ) = −1, L2 (f ) = 0, L3 (f ) = 1
46
estarı́amos determinando f ∈ E interpolante de la función seno.
En general, E es la envoltura lineal de la familia de las 2m + 1 funciones linealmente
independientes
{1, cos x, sin x, . . . , cos mx, sin mx}.
E es un R-e.v. de dimensión 2m + 1 y para las 2m + 1 formas lineales
y el problema no puede tener solución única, aunque podrı́a tener infinitas soluciones.
P (xk ) = wk k = 0, 1, . . . , n
A menudo los datos wk son las imágenes de una cierta funcion f , función que se pretende
interpolar, en los nodos xk .
Polinomios de Lagrange
Como vimos, ese problema tiene solución única 1 P ya que las n + 1 formas lineales
Li (P ) = P (xi ) = wi (i = 0, 1, . . . , n) describen una base B ∗ de Pn∗ . Su base dual B en Pn
1
En el apartado 4.1.1 llamábamos P̂ a este polinomio para no confundir. Aquı́ no hay confusión
posible y nos referiremos a él como P .
47
está descrita por los polinomios lj de Lagrange asociados a los puntos x0 , . . . , xn y que
como es habitual están definidos por las relaciones Li (lj ) = δij , es decir
(
0 si i 6= j
lj (xi ) =
1 si i = j
n
(x − xi )
Q
i=0
i6=j
lj (x) = (4.3)
n
(xj − xi )
Q
i=0
i6=j
de donde para i = 0, 1, . . . , n
n
X n
X
wi = P (xi ) = kj lj (xi ) = kj δij = ki
j=0 j=0
es decir,
n
X
P (x) = wj lj (x)
j=0
Ejemplo 4.2.1
48
Si x0 = 1, x1 = 2, x3 = 4
8 1
1 1 1 3
−2 3
V = 1 2 4
y V −1 =
−2
5
2
− 12
1
1 4 16 3
− 12 1
6
con lo que
l0 (x) = 38 − 2x + 13 x2 = 13 (x2 − 6x + 8)
l1 (x) = −2 + 52 x − 12 x2 = − 21 (x2 − 5x + 4)
l2 (x) = 31 − 12 x + 61 x2 = 16 (x2 − 3x + 2)
Teorema 4.2.1
Demostración.
Supongamos sin pérdida de generalidad que a ≤ x0 < x1 < · · · < xn ≤ b. Elijamos un
número x en [a, b]. Si x es uno de los nodos xi , la igualdad 4.4 es válida elijamos como
elijamos ξ. Si x no es uno de los nodos definimos λ tal que:
f (x) − P (x)
λ= (4.6)
H(x)
Es fácil 2 ver que φ conserva la clase de f . Es fácil ver que la función φ tiene al menos
n + 2 ceros en [a, b], los correspondientes a los nodos xi y al valor x.
Sabemos por aplicación del teorema de Rolle que si una función continua y diferenciable
2
Por ser P y H polinomios y por tanto de clase C ∞
49
tiene m raı́ces en [a, b], su derivada f 0 tiene al menos m − 1 raı́ces en [a, b].
Aplicando este razonamiento de modo sucesivo a las derivadas de la función φ, llegamos
a la conclusión de que φ(n+1) tiene al menos una raiz en [a, b]. Sea ξ esa raiz. La derivada
(n + 1) de un polinomio de grado n es 0, y la de H(t) es (n + 1)!. Por tanto:
0 = f (n+1) (ξ) − λ(n + 1)! (4.8)
de donde:
f (n+1) (ξ)
λ= (4.9)
(n + 1)!
y entrando en 4.6 obtenemos 4.4.
Corolario 4.2.1 Estimaciones del error.
Supuesto que f cumple que kf (n+1) k∞ ≤ Mn+1 tendremos
|H(x)|
|f (x) − P (x)| ≤ Mn+1 (4.10)
(n + 1)!
de la que se deduce la fórmula general de estimación del error en interpolación
Mn+1
kf − P k ≤ kHk
(n + 1)!
válida para todas las normas k . kp , 1 ≤ p ≤ n.
Corolario 4.2.2
En el caso en que k k = k k∞ , si x ∈ [x0 , xn ] se puede deducir una estimación muy
útil del error de interpolación de kf − P k. Para ello utilizamos la mayoración
n! n+1
kHk∞ = max |(x − x0 )(x − x1 ) · · · (x − xn )| ≤ h
x∈[x0 ,xn ] 4
donde h es la máxima de las distancias entre puntos xi y xi+1 adyacentes.
Si x ∈ [xi , xi+1 ], se tiene que
h2
|(x − xi )(x − xi+1 )| ≤
4
y haciendo una estimación directa del tamaño de los otros términos que aparecen en H
se obtiene esa mayorante de kHk∞ .
Ejercicio 4.2.2 Obtener esa mayorante.
Combinando lo anterior, se obtiene la cota del error con norma uniforme
kf (n+1) k n+1
kf − P k∞ ≤ h
4(n + 1)
Para interpretar correctamente esta cota de error debemos pensar en P como función de
h para n fijo. Con ello, se deduce de esa estimación que la exactitud es del orden O(hn+1 )
cuando se varı́a el intervalo de interpolación [x0 , xn ].
50
4.2.3 Diferencias divididas
Hay dos problemas importantes cuando usamos la base de Lagrange para interpolar una
tabla de valores. El primero es que hay que realizar un número alto de operaciones
aritméticas. Sin embargo, el problema más importante nace del hecho de que si necesi-
tamos añadir o quitar un punto al conjunto que se ha usado para construir el polinomio,
tenemos que empezar los cálculos desde el principio. Con el método de las diferencias
divididas este problema desaparece.
El planteamiento de las diferencias divididas es el de la interpolación de Lagrange, o sea,
se supone que conocemos una función en un soporte de valores para la x.
x0 f0
x1 f1
x2 f2
x3 f3
.. ..
. .
xn f n
En esta tabla no es necesario suponer que las exis están equiespaciadas; ni siquiera que
están dadas en algún orden.
Consideremos el polinomio de grado n
Elijamos los coeficientes ai , de tal modo que este polinomio ajuste la tabla de datos
dada 3 . Veremos que estos coeficientes se determinan fácilmente usando las diferencias
divididas de los valores tabulados. Usamos una notación especial para las diferencias
divididas
fj − f i
f [xi , xj ] = (4.11)
xj − x i
A este número se le llama la diferencia dividida de primer orden correspondiente a [x i , xj ].
Es importante darse cuenta de que f [xi , xj ] = f [xj , xi ]. Esta conmutabilidad se mantiene
aunque el orden de las diferencias sea más alto. Las diferencias divididas de segundo
orden y de órdenes superiores se obtienen a partir de las diferencias divididas de órdenes
anteriores:
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x2 − x 0
f [x1 , x2 , . . . , xi ] − f [x0 , x1 , . . . , xi−1 ]
f [x0 , x1 , . . . , xi ] =
xi − x 0
3
En realidad lo que hacemos es escoger otra base para los polinomios de grado n:
51
Estamos ya en posición de establecer que los coeficientes ai están dados por esas diferen-
cias. Obtengamos la imagen de cada punto del soporte por dicho polinomio.
P (x0 ) = a0 = f0
P (x1 ) = a0 + a1 (x1 − x0 )
P (x2 ) = a0 + a1 (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 )
...
P (xn ) = a0 + a1 (xn − x0 ) + a2 (xn − x0 )(xn − x1 ) + · · · +
+an (xn − x0 )(xn − x1 ) · · · (xn − xn−1 )
f1 − f 0
P (x1 ) = f0 + (x1 − x0 ) = f1
x1 − x 0
Si hacemos a2 = f [x0 , x1 , x2 ], entonces:
f2 −f1
f1 − f 0 x2 −x1
− xf11 −f
−x0
0
Ejemplo 4.2.2
El pequeño ejercicio que se os propone consiste en que validéis esta tabla de valores.
También podéis construir el polinomio de interpolación de diferencias divididas corres-
pondiente a esta tabla de valores. Después con vuestra calculadora podéis calcular el
polinomio de interpolación expresado en la base canónica de los polinomios de grado
cuatro, y comprobar que los dos tienen la misma imagen en un punto cualquiera (ej
x = 3.8).
Es interesante ver 4.11 como que la diferencia dividida de primer orden es una estimación
de la derivada de la función f en xi , dado que si xj , tiende a xi lo que tenemos es precisa-
mente esa derivada. Si conocemos alguna derivada de la función, podemos duplicar ese
nodo en la lista y sustituir la diferencia dividida correspondiente a esos dos nodos por la
derivada.
Teorema 4.2.2
52
Si f es n veces continuamente diferenciable en [a, b] y x0 , . . . , xn , son puntos distintos de
[a, b], entonces hay un punto ξ en (a, b) que verifica que
f (n) (ξ)
f [x0 , x1 , . . . , xn ] =
n!
Ejercicio 4.2.3
Demostrar que si la función que queremos aproximar es un polinomio de grado k, en-
tonces, para n > k
f [x0 , x1 , . . . , xn ] = 0
f −→ Li (f ) = f (xi ) y f −→ Mi (f ) = f 0 (xi )
m0 = m1 = · · · = mn = 1 ⇒ N = 2n + 1
La solución del problema de interpolación simple de Hermite es única si todos los nodos
x0 , . . . , xn son distintos 4 y viene dada en función de los polinomios fundamentales de
Lagrange por:
n n
2lj0 (xj )(x xj )]lj2 (x)f (xj ) (x − xj )lj2 (x)f 0 (xj )
X X
P (x) = [1 − − + (4.12)
j=0 j=0
n n n
lj2 (xi )f (xj ) 2lj0 (xj )(xi xj )lj2 (xi )f (xj ) (xi − xj )lj2 (xi )f 0 (xj ) = f (xi )
X X X
= − − +
j=0 j=0 j=0
Para i 6= j los tres sumandos son nulos por ser lj (xi ) = δij ,. El segundo y tercer sumando
son nulos para i = j por serlo el factor (xi −xj ). Luego sólo nos queda el primer sumando
distinto de cero si i = j, por tanto, P (xi ) = f (xi ) i = 0, 1, . . . , n. Análogamente derivando
n
P 0 (x) = −2lj0 (xj )lj2 (x)f (xj ) + [1 − 2lj0 (xj )(x − xj )]2lj (x)lj0 (x)f (xj )+
X
j=0
4
No lo demostraremos.
53
n
[lj2 (x)f 0 (xj ) + 2(x − xj )lj (x)lj0 (x)f 0 (xj )].
X
+
j=0
y haciendo x = xi
n
0
−2lj0 (xj )lj2 (xi )f (xj ) + [1 − 2lj0 (xj )(xi − xj )]2lj (xi )lj0 (xi )f (xj )+
X
P (xi ) =
j=0
n
[lj2 (xi )f 0 (xj ) + 2(xi − xj )lj (xi )lj0 (xi )f 0 (xj )] =
X
+
j=0
Sea [a, b] un intervalo finito y {x0 , x1 , . . . , xn } los nodos de una subdivisión Ω de [a, b]
estrictamente creciente (a ≤ x0 < x1 < · · · < xn ≤ b).
Supongamos por conveniencia que esa subdivisión es uniforme, es decir, que los nodos
están equiespaciados xi+1 − xi = h, y que x0 = a y xn = b. Un polinomio a trozos de
grado k en Ω es una función cuya restricción a cada uno de los subintervalos [xi , xi+1 ] es
un polinomio de grado k.
54
da como única solucion:
w2 − w 0 w2 − 2w1 + w0
a = w1 , b= , c=
2h 2h2
y
w2 − w 0 w2 − 2w1 + w0 2
P (x) = w1 + x+ x
2h 2h2
con c 6= 0 si los puntos (x0 , w0 ), (x1 , w1 ), (x2 , w2 ) no son colineales. La fórmula es también
válida si esos puntos estan alineados en cuyo caso c = 0 y se reduce al caso lineal.
Dada la subdivisión Ω = {x0 , . . . , xn } con n par, y los valores correspondientes w0 , . . . , wn
se llama función de interpolación parabólica a trozos de la función discreta f (x i ) = wi a
un polinomio Pn,2 de grado 2 a trozos cuyas restricciones a los subintervalos [xi−1 , xi+1 ]
son parábolas, como la antes determinada, que pasan por los puntos (xi−1 , wi−1 ), (xi , wi ),
(xi+1 , wi+1 ) i = 1, 3, 5, . . . , n − 1, es decir
wi+1 − wi−1 wi+1 − 2wi + wi−1
Pn,2 (x) = wi + (x − xi ) + (x − xi )2
2h 2h2
xi−1 ≤ x ≤ xi+1 con i = 1, 3, 5, . . . , n − 1.
Si se usa la fórmula de Lagrange para determinar el polinomio de segundo grado que
interpola los puntos (xi−1 , wi−1 ), (xi , wi ), (xi+1 , wi+1 ) tendremos la siguiente expresión
de Pn,2
donde
(x − xi )(x − xi+1 ) (x − xi )(x − xi+1 )
li−1 (x) = =
(xi−1 − xi )(xi−1 − xi+1 ) 2h2
(x − xi−1 )(x − xi+1 ) (x − xi−1 )(x − xi+1 )
li (x) = =− (4.15)
(xi − xi−1 )(xi − xi+1 ) h2
(x − xi−1 )(x − xi ) (x − xi−1 )(x − xi )
li+1 (x) = =−
(xi+1 − xi−1 )(xi+1 − xi ) 2h2
de donde el resultado.
55
4.3.2 Error en la interpolacion parabólica a trozos
Si la función a interpolar f ∈ C 3 ([a, b]), del teorema de estimación del error obtenemos
la desigualdad
|(x − xi−1 )(x − xi )(x − xi+1 )|
|f (x) − Pn,2 (x)| ≤ M3 (4.16)
6
donde ¯ ¯
M3 = sup ¯¯f (3) (x)¯¯ (4.17)
a≤x≤b
56
con
x − xi+1 x − xi+1 1
li (x) = =− ⇒ li0 (x) = − (4.19)
xi − xi+1 h h
x − xi x − xi 1
li+1 (x) = = ⇒ li0 (x) = (4.20)
xi+1 − xi h h
y sustituyendo en 4.18
2 x − xi+1 2
· ¸µ ¶
Pn,3 (x) = 1 + (x − xi ) f (xi )
h h
x − xi+1 2 0
µ ¶
+ (x − xi ) f (xi )
h
2 x − xi 2
· ¸µ ¶
+ 1 − (x − xi+1 ) f (xi+1 )
h h
x − xi 2 0
µ ¶
+ (x − xi+1 ) f (xi+1 ) (4.21)
h
Ahora Pn,3 es de clase C 1 ([a, b]) y para f ∈ C (4) ([a, b]), la convergencia es de orden 4.
La interpolación de Hermite, permite incrementar la suavidad de la función aproximante,
pero la expresión final a la que llegamos incluye los valores que debe tener la función f 0
en los nodos, lo que a menudo no es deseable. Para aproximar f tenemos tabulados los
valores de f pero en general carecemos de información sobre f 0 . Si f es la incógnita a
determinar, la introducción de sus derivadas en el problema incrementa la complejidad
de la búsqueda de solución.
57
la existencia de esos splines de interpolación. De hecho, se sabe que hay ciertos tipos de
problemas de splines de interpolación que carecen de solución. Nos limitaremos al caso
k = 3 de los splines cúbicos por ser el más importante en la práctica. Con él exploraremos
sin complicaciones excesivas, las caracterı́sticas fundamentales de la aproximación con
splines.
Definición 4.4.2 Sean [a, b] un intervalo finito, Ω = {x0 , x1 , . . . , xn } una partición equi-
espaciada 7 de [a, b] estrictamente creciente a ≤ x0 < x1 < . . . < xn ≤ b y wi un conjunto
n + 1 numeros reales.
Se llama spline de interpolación cúbica a una función s : [a, b] → IR que posee las sigu-
ientes propiedades:
• s(xi ) = wi i = 0, 1, . . . , n.
• s ∈ C 2 ([a, b]).
Ejemplo 4.4.1
s0 (x) = a0 + b0 x + c0 x2 + d0 x3
s1 (x) = a1 + b1 x + c1 x2 + d1 x3
tales que
s0 (a) = w0 , s0 (x1 ) = w1 = s1 (x1 ), s1 (b) = w2 ,
s0 0 (x1 ) = s0 1 (x1 ), s00 0 (x1 ) = s00 1 (x1 )
Tenemos 6 condiciones y ocho parámetros a determinar. Si existe solución no es única.
Para eliminar la ambigüedad, debemos añadir dos condiciones, por ejemplo las derivadas
en a y b.
La situación que se da en este ejemplo es semejante a la existente en general con los splines
cúbicos; para conseguir que la solución sea única, debemos imponer dos condiciones extra.
Estas condiciones adicionales se pueden fijar de modo más o menos arbitrario aunque lo
habitual es pedir que se cumplan ciertas exigencias en los extremos del intervalo.
S(xi ) = wi i = 0, 1, . . . , n
S 0 (x0 ) = s0 , S 0 (xn ) = sn
7
El que sea equiespaciada obedece a que permite una mayor simplicidad en los desarrollos, pero no
introduce ningún aspecto teórico nuevo
58
Demostración:
Consideremos Si definido en xi ≤ x ≤ xi+1 por:
(x − xi+1 )2 2(x − xi )(x − xi+1 )2
" #
Si (x) = + wi
h2 h3
(x − xi )2 2(x − xi+1 )(x − xi )2
" #
+ − wi+1
h2 h3
(x − xi )(x − xi+1 )2 (x − xi )2 (x − xi+1 )
+ s i + si+1 (4.22)
h2 h2
construido usando la misma filosofı́a que para los polinomios a trozos de grado 3 y clase
1, obtenidos mediante la base de Hermite que utilizamos en 4.3.3. De este modo, es
trivial ver que:
luego Si define una cúbica a trozos continua con derivadas continuas que toma los valores
preasignados wi en los nodos. Como s0 y sn son datos, sólo necesitamos hallar los si ,
i = 1, 2, . . . , n − 1 tales que Si tenga también derivadas segundas continuas en los nodos.
Diferenciando dos veces la expresión 4.22, tendremos:
6 6 2 4
S 00 i (xi+1 ) =
2
wi − 2 wi+1 + si + si+1 (4.23)
h h h h
00 6 6 4 2
S i+1 (xi+1 ) = − 2 wi+1 + 2 wi+2 − si+1 − si+2 (4.24)
h h h h
e igualando obtenemos el sistema
3
si + 4si+1 + si+2 = (wi+2 − wi ) i = 0, 1, . . . , n − 2. (4.25)
h
Podemos escribir este sistema desarrollado:
3
s1 (w2 − w0 ) − s 0
4 1 0 ··· ··· 0 0 h
3
s2 (w3 − w1 )
1 4 1 0 ··· ··· 0
h
3
s3 (w4 − w2 )
0 1 4 1 0 ··· 0
h
(4.26)
.. ..
··· ··· ··· ··· ··· ··· ···
. .
··· ··· ··· ··· 0 1 4 sn−1 3
(wn − wn−2 ) − sn
h
S es único porque si hubiera dos, su diferencia serı́a un spline cúbico idénticamente nulo,
ya que se anula en los nodos xi (wi = 0) lo que implica que los si también son nulos, sin
59
más que entrar en el sistema 4.25.
También se pueden introducir las dos condiciones extras siguientes
S 00 (x0 ) = S 00 (xn ) = 0
donde √
5 3 5
K0 = , K1 = , K2 = , K3 = 1 M4 = kf (4) k∞ .
384 216 12
Se deduce de lo enunciado en este teorema que el spline cúbico no sólo converge a f , sino
que también sus derivadas, hasta el orden 3, convergen a las correspondientes derivadas
de f .
Teorema 4.4.3 Sea U el conjunto de todas las funciones ϕ de clase C 2 en [a, b] tales
que
ϕ(xi ) = wi i = 0, 1, . . . , n
y sea S el spline cúbico natural que satisface las mismas condiciones de interpolación,
entonces: Z xn Z xn
00 2
[S (x)] dx ≤ [ϕ00 (x)]2 dx (∀ϕ ∈ U ) (4.28)
x0 x0
Este último teorema asegura que de todas las funciones de interpolación que satisfacen
ciertas condiciones en los extremos del intervalo, los splines cúbicos naturales son los
más suaves en el sentido de que minimizan la norma k k2 de la segunda derivada.
En términos de energı́a potencial (proporcional a (kS 00 k2 ) los splines cúbicos naturales
minimizan dicha energia.
Se pueden obtener los splines resolviendo el sistema tridiagonal (4.25) sustituyendo des-
pués los valores de los si en la expresión de Si (x), pero por motivos teóricos interesa
tener una representación explı́cita del spline similar a la representación del polinomio de
interpolación en función de la base de polinomios de Lagrange.
60
Sea S3 (Ω) el espacio vectorial de los splines cúbicos correspondientes a la partición Ω.
Sea S3∗ (Ω) su dual. Definimos las n + 3 formas lineales:
Li (S) = S(xi ), i = 0, n
Ln+1 (S) = S 0 (x0 )
Ln+2 (S) = S 0 (xn )
Como ya hemos visto, estas formas lineales definen un problema de interpolación de
solución única, y son por tanto una base de S3∗ (Ω). Podemos tratar de encontrar su base
dual ci . Los elementos de esta base son facilmente calculables resolviendo el sistema 4.25,
pues sabemos que:
Li (cj ) = δij
Cualquier spline del que sepamos sus valores en los nodos, y las derivadas en los nodos
extremos, puede ser escrito como combinación lineal de esa base de modo sencillo:
n
X
S(x) = wj cj (x) + s0 cn+1 (x) + sn cn+2 (x) (4.29)
j=0
Hemos construido por tanto una base un poco especial de un espacio vectorial de splines.
Ejercicio 4.4.2 Determinar la base de S3∗ (Ω) para el caso n = 2 con x0 = 0, x1 = 0.5
x2 = 1, correspondiente al problema de interpolación anterior.
61
Serı́a conveniente que los ei (t) fuesen sencillos de evaluar (en el sentido de que su image
fuese nula en el mayor número posible de valores de t). Serı́a bueno también que si se
conocen ciertos valores de la función a interpolar, los {fi }, la relación entre los coeficientes
ai y estos valores fuese mediante expresiones lo más sencillas posibles. Una respuesta a
esto último son las bases (duales de las formas lineales que definen el problema de inter-
polación) las cuales permiten escribir el polinomio solución habitualmente del siguiente
modo:
n
X n+k−1
X
Pn,k (t) = fi · ei (t) + ai · ei (t) (4.31)
i=0 i=n+1
e3 (t)
t0 t1 t2 t3 t4 t5 t6
o sea, que sean nulas en el mayor número posible de tramos [ti , ti+1 ] (ver figura 4.2).
A estos splines de soporte mı́nimo se les llama B-splines. Elegidos de modo adecuado,
e3 (t)
t0 t1 t2 t3 t4 t5 t6
forman una base del espacio vectorial de los splines de grado k definidos sobre la partición
{a = t0 , t1 , t2 , . . . , tn−1 , tn = b}.
8
El soporte de una función son aquellos elementos de su dominio de imagen no nula.
62
Definición 4.5.1 Orden r de un B-spline es el número de tramos en los que el B-spline
es no nulo.
e3 (t)
t0 t1 t2 t3 t4 t5 t6
63
4.5.1 B-splines de grado 0. k = 0, r = 1
B i (t) [
0 [
1
a = t0 t 1 ti t i+1 t n-1 tn = b
(
0, t ∈
/ [ti , ti+1 )
Bi0 (t) = (4.32)
1 t ∈ [ti , ti+1 )
0, t∈
/ [ti , ti+2 )
t−ti
Bi1 (t) = ti+1 −ti
, t ∈ [ti , ti+1 ) (4.33)
ti+2 −t
, t ∈ [ti+1 , ti+2 )
ti+2 −ti+1
64
4.5.4 B-splines de grado 2 en una partición equiespaciada. k =
2, r = 3
Usando esa fórmula recurrente, y teniendo en cuenta que la partición consta de nodos
equiespaciados entre si -[h = ti+1 − ti ]-, podemos obtener fácilmente la expresión corres-
pondiente a un elemento de un sistema de B-splines de este tipo.
0, t∈
/ [ti , ti+3 )
1 2
2h2 (t − ti ) , t ∈ [ti , ti+1 )
Bi2 (t) = (4.35)
1
[h2 + 2h(t − ti+1 ) − 2(t − ti+1 )2 ], t ∈ [ti+1 , ti+2 )
2h2
1
(t − t)2 , t ∈ [ti+2 , ti+3 )
2h2 i+3
2
B i (t) 3/4
1/2
2/3
Bi3
1/6 1/6
65
4.5.6 Partición de la unidad
Para construir una base de B-splines cúbicos, se harı́a de modo similar. Se puede de-
mostrar que este sistema de splines cumple una propiedad muy importante: son una
partición de la unidad. 0 sea,:
n−1
Bik (t) = 1
X
(4.36)
i=−r+1
Ejercicio 4.5.1
66
4.6.1 Interpolación en recintos rectangulares
Podemos hacer un análisis interesante en dos variables planteando el problema de in-
terpolación de Lagrange en una malla rectangular en cuyos nodos se sabe el valor de la
función a interpolar f : Sea
2
G = {(x, y) ∈ IR |a ≤ x ≤ b, c ≤ y ≤ d}
Esto define (m+1)(n+1) nodos (xi , yj ) que están dentro del recinto rectangular. Entonces
el problema de interpolación de Lagrange consiste en buscar un polinomio en dos variables
P ∈ Pmn tal que:
P (xi , yj ) = f (xi , yj ), 0 ≤ i ≤ m, 0 ≤ j ≤ n
Se puede demostrar bastante fácilmente que este problema tiene solución y esa solución
es única, y además se escribe en función de la base de Lagrange para cada una de las
variables y su familia de nodos correspondiente.
X
P (x, y) = f (xi , yj )li (x)lj (y) (4.38)
0≤i≤m,0≤j≤n
67
Capı́tulo 5
Aproximación de funciones.
5.1 Introducción
Nuestro objetivo fundamental será investigar la aproximación de funciones, elementos de
espacios funcionales de dimensión infinita (fundamentalmente C([a, b])) mediante fun-
ciones más simples, que varı́an en general en espacios de dimensión finita.
Para el analista numérico las funciones de aproximación deben poseer ciertas propiedades.
• Dada una función, debe ser posible aumentar arbitrariamente la bondad de las apro-
ximaciones, incrementando adecuadamente la dimensión del espacio de las funciones
de aproximación.
• Las funciones de aproximación deben ser simples en el sentido de que puedan ser
manipuladas (integradas, diferenciadas, etc.) con facilidad.
• Debe existir un cuerpo de teorı́a bien desarrollado que permita el análisis de los
algoritmos numéricos que resulten de su uso.
kf + gk = kf k + kgk
• (C([a, b]), k k) no está estrictamente normado f (x) = 1 y g(x) = x (∀x ∈ [a, b])
satisfacen
kf + gk = 1 + b = kf k + kgk
y son linealmente independientes.
I n.
• k k2 es una norma estricta en C
69
5.3 Mejor aproximación
Sea (V, k k) un espacio vectorial normado, T una parte arbitraria de V y v un elemento
de V que se desea aproximar mediante elementos de T . Parece razonable decir que u ∈ T
es una buena aproximación de v si la distancia kv − uk es pequeña.
Definición 5.3.1 Un elemento û ∈ T es una mejor aproximación (m.a.) de v si
kv − ûk ≤ kv − uk (∀u ∈ T )
Ejemplo 5.3.1
Supongamos V = R2 , k k = k k2 y sea T = {x ∈ V : kxk ≤ 1}. Para todo y ∈ R2 − T
existe un solo x̂ ∈ T tal que
ky − x̂k2 ≤ ky − xk2 (∀x ∈ T ).
Ejemplo 5.3.2
Si T es una bola abierta de centro (0, 0) y radio unidad, no existe ningún x̂ ∈ T tal que
para todo x de T , ky − x̂k2 ≤ ky − xk2 .
Ejemplo 5.3.3
Sean (V, k k) = (C([0, 1]), k k∞ ) y T = {u ∈ V ; u(x) = exp(βx), β > 0}. Sea v la
función constante v(x) = 21 . Hallar una m.a. û ∈ T de v equivale a hallar β̂ > 0 tal que:
max ¯1
¯ ¯
¯
kv − ûk∞ = ¯ − exp(β̂x)¯
x ∈ [0, 1] 2
¯ ¯
70
5.4 Existencia y unicidad de una mejor aproximación
La posible existencia de una m. a. ası́ como su eventual unicidad dependen de las
propiedades que posea T . Como veremos, la compacidad y la convexidad estricta, son
propiedades clave para el análisis de esos problemas.
Por la forma de definir la distancia d(v, T ) siempre va a existir una sucesión minimizante,
pero la convergencia de kv − un k a d(v, T ) no exige en conjuntos T arbitrarios que {un }
converja a un elemento de T ni aun siquiera a uno de V , pero en un compacto T , toda
sucesión {un } y en particular toda sucesión convergente a un valor de adherencia u∗ de
{un } que está en T , luego u∗ es una m.a. de v en T .
Teorema 5.4.1 Si T es compacto en v, siempre existe una m.a. de v en T .
Ejemplo 5.4.1
71
tal que
n
° °
° X °
d(α1 , . . . , αn ) = d(v, û) = °°v − αi ui °°
° °
i=1
n
sea mı́nima para todo (α1 , . . . , αn ) ∈ R .
El concepto de acotación (mucho más simple que los conceptos de compacidad y convex-
idad estricta antes usados) es aquı́ suficiente para analizar las sucesiones minimizantes
en U .
Lema 5.5.1 Toda sucesión minimizante en U está acotada
Consecuencia del lema anterior y de que U es cerrado, luego {un } tiene al menos un valor
de adherencia que está en U .
Teorema 5.5.2 Unicidad de la m.a. en subespacios de dimension finita.
Si V está estrictamente normado, la mejor aproximación de v ∈ V desde un subespacio
arbitrario de dimensión finita es única.
72
5.6.2 Caracterizacion de la mejor aproximación.
Sea V un espacio vectorial provisto de un producto escalar < , > y de su norma k . k
asociada y sea U un subespacio vectorial de dimensiónfinita de V .
Según hemos establecido antes, en un espacio prehilbertiano V , el problema de la deter-
minación de una mejor aproximación û ∈ U de v ∈ V tiene solución única.
g = fˆ + g 0 (g 0 = g − fˆ)
como
k(f − fˆ) − g 0 k2 = h(f − fˆ) − g 0 , (f − fˆ) − g 0 i
y
h(f − fˆ), g 0 i = 0
por hipótesis, entonces
luego
kf − fˆk2 ≤ kf − gk2 (∀g ∈ U )
La unicidad es consecuencia de la propiedad estricta de la norma.
Supongamos que U = L(g1 , . . . , gn ) y fˆ = nj=1 ĉj gj . Falta comprobar que esas condi-
P
ciones de ortogonalidad permiten calcular f . En efecto, ĉ = (ĉ1 , . . . , ĉn ) debe ser solución
del sistema de ecuaciones ecuaciones normales:
n
< fˆ − f, gk >=<
X
ĉj gj − f, gk >= 0 k = 1, . . . , n
j=1
73
f
f$ = å c$ j × g j
U åc j × gj
Comentarios
• La solución única del problema de aproximación planteado es la proyección ortog-
onal de f sobre U (completo por ser de dimensión finita).
1
< gi , gj >=
i+j−1
Un caso especialmente favorable se produce cuando esa base ortoqonal. Las ecuaciones
normales se reducen entonces a
por lo que
< f, gk >
ĉk = k = 1, . . . , n
< gk , gk >
Utilizando el metodo de Gram-Schmidt siempre podemos construir una base {g1 , . . . , gn }
de U ortonormada. En este caso la solución de las ecuaciones normales es simplemente
Como ĉk no depende de los valores anteriores ĉl (l < k) nos planteamos el problema de
aproximación dejando la dimension de U indeterminada, dimensión que lueqo fijamos en
base a la exactitud deseada.
kfˆ − f k2 = kf k2 − kfˆk2
74
En efecto, kf k2 = k(f − ĥ) + ĥk2 concluye recordando que
luego
à n
!1
2
kfˆ − f k = kf k − 2
X
ĉj < f, gj >
i=1
kfˆ − f k2
µ= √
b−a
se llama el error cuadrático medio. La fórmula de la desviación
à n
!1
2
kfˆ − f k = kf k2 −
X
ĉj < f, gj >
i=1
implica la desigualdad
à n
!1
2
2
X
0 ≤ kf k − ĉj < f, gj >
i=1
i=1
y
n
ĉ2j ≤ kf k2
X
i=1
i=1
75
5.6.4 Polinomios ortogonales
Polinomios de Legendre
En C([−1, 1]) definimos el producto escalar habitual
Z 1
< f, g >= f (x)g(x)dx
−1
76
Los polinomios de Chebychev revisados
En C([−1, 1]) definimos el producto escalar
Z 1 f (x)g(x)
< f, g >= √ dx (5.1)
−1 1 − x2
(relativo a la función peso
1
w(x) = √
1 − x2
en [−1, 1]).
Los polinomios de Chebychev se definen en [−1, 1] por
si i 6= j y
(
Z 1 Ti (x)Tj (x) Z π
π si i = 0
< Ti , Tj >= √ dx = cos2 iϕdϕ = π
−1 1−x 2 0 2
si i =
6 0
( )
T0 Ti
,
kT0 k kTi k
es decir, ( )
1 π
r
√ T0 , Ti
π 2
forma un sistema ortonormado completo en [−1, 1] respecto a la función peso √ 1 . Los
1−x2
polinomios de Chebychev se definen recursivamente como:
T0 (x) = 1
T1 (x) = x
Tn+1 (x) = 2xTn (x) − Tn−1 (x) para n ≥ 1
77
Las formas explı́citas para los primeros Tn son las siguientes:
T2 (x) = 2x2 − 1
T3 (x) = 4x3 − 3x
T4 (x) = 8x4 − 8x2 + 1
T5 (x) = 16x5 − 20x3 + 5x
T6 (x) = 32x6 − 48x4 + 18x2 − 1
1 = T0
x = T1
1
x2 = (T0 + T2 )
2
1
x3 = (3T1 + T3 )
4
1
x4 = (3T0 + 4T2 + T4 )
8
1
x5 = (10T1 + 5T3 + T5 )
16
1
x6 = (10T0 + 15T2 + 6T4 + T6 )
32
1
x7 = (35T1 + 21T3 + 7T5 + T7 )
64
1
x8 = (35T0 + 56T2 + 28T4 + 8T6 + T8 )
128
1
x9 = (126T1 + 84T3 + 36T5 + 9T7 + T9 )
256
• Insistamos en que toda función f ∈ C([−1, 1]) admite un desarrollo en serie de
Fourier del tipo
c0 X
f= + cn Tn
2
n∈IN
78
suministra aproximaciones a f que convergen en la norma asociada al producto
escalar con peso w considerado.
T = L (φk (t))k=0,±1,±2,···,±n
Ortogonalidad de la base.
Vamos a ver que este es un sistema ortogonal cuando usamos el producto escalar anterior:
Z T Z T Z T
hφk , φm i = φk (t)φm (t)dt = ejkw0 t e−jmw0 t dt = ej(k−m)w0 t dt
0 0 0
79
RT
{k = m}
; 0 dt = T
¯T
= 1
ej(k−m)w0 t ¯¯
¯
{k 6= m} ; j(k−m)w0
= {w0 T = 2π} = 0
0
Se deja como ejercicio el que comprobéis que si el intervalo de integración para el pro-
ducto escalar se traslada, la familia de funciones sigue siendo ortogonal. O sea, el nuevo
producto escalar serı́a: Z x+T
hf, gi = f (t)g(t)dt
x
A partir de ahora, al trabajar con las integrales, las extenderemos a un periodo, inde-
pendientemente del punto en el que empiece, y lo notaremos ası́.
Z
hf, gi = f (t)g(t)dt
T
f∗ = f∗ ⇔ f∗ − f∗ = 0
n
X n
X n o
ck φk − ck φk = φk = φ−k
k=−n k=−n
n
X n
X
= ck φk − ck φ−k
k=−n k=−n
Xn Xn
= ck φk − c−k φk
k=−n k=−n
80
n
X
= (ck − c−k ) φk
k=−n
= 0
⇔ ck = c−k
1Z
c−k = f (t)ejkw0 t dt
T T
1Z Z
= f (t)cos (kw0 t) dt + j f (t)sen (kw0 t) dt
T T T
1 Z Z
= f (t)cos (kw0 t) dt − j f (t)sen (kw0 t) dt
T T T
1Z
= f (t)e−jkw0 t dt
T T
= ck
Por tanto, c−k = ck , y su serie de Fourier es también real. O sea, que la serie de Fourier
de una señal real es también real. Veamos en qué se convierte dicha serie de Fourier.
1Z
ck = f (t)e−jkw0 t dt
T T
1Z Z
= f (t)cos (kw0 t) dt − j f (t)sen (kw0 t) dt
T T T
= Ak + jBk
Por tanto:
1Z
Ak = f (t)cos (kw0 t) dt
T T
1Z
Bk = − f (t)sen (kw0 t) dt
T T
Como c−k = ck , c−k = Ak − jBk , y por tanto:
n
f ∗ (t) =
X
ck φk (t)
k=−n
1
X n
X
= c0 + ck φk (t) + ck φk (t)
k=−n k=1
Xn Xn
= c0 + c−k φ−k (t) + ck φk (t)
k=1 k=1
Xn n
X
= c0 + ck φ−k (t) + ck φk (t)
k=1 k=1
81
n h i
(Ak − jBk ) e−jkw0 t + (Ak + jBk ) ejkw0 t
X
= c0 +
k=1
n h ³ ´ ³ ´i
Ak ejkw0 t + e−jkw0 t + jBk ejkw0 t − e−jkw0 t
X
= c0 +
k=1
n
X
= c0 + 2 [Ak cos (kw0 t) − Bk sen (kw0 t)]
k=1
En suma:
1Z
f ∗ (t) = f (t)dt
T T
n ·
2 X Z ¸
+ cos (kw0 t) f (u)cos (kw0 u) du
T k=1 T
n ·
2 X Z ¸
+ sen (kw0 t) f (u)sen (kw0 u) du)
T k=1 T
Como ya hemos comentado, para utilizar todo lo que sabemos de aproximación, debemos
formular nuestro problema en un espacio prehilbertiano adecuado. Ese espacio va a ser
IRn+1 , con el producto escalar habitual en los espacios vectoriales:
n
∀a, b ∈ IRn+1
X
ha, bi = ai · b i
i=0
82
Vamos a jugar, por tanto, simultáneamente con funciones continuas, elementos de un
espacio vectorial de dimensión infinita, y con elementos de IRn+1 , de dimensión finita.
Estos elementos van a ser las imágenes de estas funciones en los n + 1 puntos del soporte.
Usaremos la siguiente notación:
gj ∈ C[a, b] j = 1, m
gj ∈ IRn+1 j = 1, m con
gj = (gj (x0 ) , . . . . . . , gj (xn ))
Por tanto, cualquier elemento de la envoltura lineal de estos vectores se escribe como:
m
X
g= α j gj
j=1
Ahora ya no nos interesa encontrar una función continua que pertenezca a U , envoltura
lineal de las funciones (gj )j=0,n , sino un vector fˆ ∈ T = L (g1 , . . . , gm ) , tal que:
hy − fˆ , gi = 0 ∀g ∈ T = L (g1 , . . . , gm )
83
Se tienen (xi , yi )i=0,n , n+1 pares de valores con abscisas distintas. Buscamos una función
fˆ ∈ L (g1 , g2 ), cuyos valores en (x0 , . . . , xn ) aproximen los valores (y0 , . . . , yn ) tan bien
como sea posible. Esas dos funciones van a ser los monomios de grado 0 y 1: g1 (x) = 1
y g2 (x) = x. Por tanto:
que resueltas convenientemente nos dan los valores αˆ1 y αˆ2 buscados. La función fˆ es la
recta de mı́nimos cuadrados.
Ejercicio 5.6.1 Demostrar que el centro de gravedad de esta nube de puntos esta en la
recta fˆ = αˆ1 + αˆ2 x ası́ obtenida.
1
el subı́ndice m no coincide en general con la abscisa xm correspondiente al valor ym .
84
N=4
2π
w0 =
N
Vamos a aproximar por mı́nimos cuadrados esta señal con funciones de la familia:
φk (t) = ejkw0 t = cos (kw0 t) + jsen (kw0 t)
con k ∈ Z. Su representación discreta es un vector con el siguiente aspecto:
φk = (· · · , φk (−N ), · · · , φk (m), · · · , φk (N ), · · ·)
Es fácil ver que esta señal discreta tiene como periodo N
φk (m + N ) = ejkw0 (m+N ) = ejkw0 m ejkw0 N = ejkw0 m ejk2π = ejkw0 m = φk (m)
Por tanto, basta con considerar este vector en un periodo, por ejemplo:
φk = (φk (m), · · · , φk (m + N − 1))
Por la misma razón resulta que sólo hay N vectores distintos:
φk+N = (φk+N (m), · · · , φk+N (m + N − 1))
³ ´
= ej(k+N )w0 (m) , · · · , ej(k+N )w0 (m+N −1)
³ ´
= ejkw0 (m) ejN w0 (m) , · · · , ejkw0 (m+N −1) ejN w0 (m+N −1)
³ ´
= ejkw0 (m) ej2π(m) , · · · , ejkw0 (m+N −1) ej2π(m+N −1)
³ ´
= ejkw0 (m) , · · · , ejkw0 (m+N −1)
= φk
Por tanto, el subespacio donde se buscará la mejor aproximación será la envolvente de
a lo sumo N de estas funciones consecutivas, que podemos indexar, por comodidad, del
mismo modo que lo hicimos con el desarrollo de Fourier continuo:
T = L (φk (t))k=0,±1,±2,···,±n
Caso interesante es el de interpolación, o sea, cuando el número de funciones coincide
con el de puntos que definen cada periodo discreto, o sea se aproxima con N funciones
φk . En ese caso las funciones se suelen indexar ası́:
n o
Si N es par, k varia en − N2 , · · · , 0, · · · , N2 − 1
n h i h io
N N
Si N es impar, k varia en − 2
, · · · , 0, · · · , 2
donde [ ] denota la parte entera de un
número.
85
Ortogonalidad del sistema
La matriz del sistema lineal, usando ∗ para representar el conjugado de un complejo,
tendrá como elementos:
∗
alk = hφl , φk i = φl · φk
Por tanto, los vectores son ortogonales, la matriz del sistema lineal es diagonal, y la
función solución f , X
f= ak φ k
k
n o
cuya forma vectorial f es la proyección ortogonal de y sobre L φk . Como el sistema es
ortogonal,
hy, φk i X−1
1 m+N
yn e−jk( N )n
2π
ak = =
N N n=m
Ejercicio 5.6.2 Condición para que la mejor aproximación fˆ sea real.
Ejercicio 5.6.3 ¿Cómo es la mejor aproximación si los elementos del vector y son
reales?
86
5.7 Referencias recomendadas para este tema.
Un estudio exhaustivo de la aproximación de funciones periódicas definidas de modo
discreto la tenemos en el texto de Oppenheim et al. [11]. Sin embargo, este texto tiene
un nivel muy alto y puede ser suficiente con el [17]. Respecto al problema general, el
texto de Hammerlin et al.[7] hace un estudio muy bueno partiendo del problema en su
formulación más general.
87
Capı́tulo 6
Integración numérica
6.1 Introducción
El cálculo numérico de integrales definidas es uno de los problemas más antiguos en
matemáticas. Este problema, que en su formulación más antigua se traducı́a en encon-
trar el área de regiones limitadas por lı́neas curvas, ha sido tratado durante miles de años,
mucho antes de que se desarrollase el concepto de integral, dentro del marco del análisis
matemático allá en los siglos XVII y XVIII. Sin lugar a dudas, el ejemplo más conocido
de este problema fue el de calcular el área contenida en un cı́rculo, que rápidamente
se relacionó con el número π y su cálculo. Usando un método numérico basado en la
aproximación de un cı́rculo por polı́gonos inscritos y circunscritos, Arquı́medes (287-212
a.C.) fue capaz de dar las sorprendentes cotas 3 10 71
< π < 3 17 .
Muchas veces se usa cuadratura numérica en vez de integración numérica. Esta nomen-
clatura procede del problema que hemos explicado, de calcular el área del cı́rculo, que
puede ser visto como encontrar un cuadrado de igual superficie.
Vamos a describir ahora cuatro situaciones para las que es necesario aproximar integrales
definidas. La primera es el caso en el que no se puede evaluar analı́ticamente la primitiva
de una función. Ejemplos tı́picos de esta situación son evaluar la integral 0∞ exp(−x2 )dx,
R
o encontrar la longitud de una elipse. La segunda situación es que la función admita pri-
mitiva, pero ésta sea muy difı́cil de calcular. La tercera situación, la más común, consiste
en que se conozcan sólo ciertos puntos de la función. La última posibilidad consiste
en que, a veces, se necesitan métodos de cuadratura para el tratamiento numérico de
ecuaciones diferenciales o integrales. Muchos métodos para discretizar esas ecuaciones se
apoyan en métodos de integración numérica.
Insistiendo en la tercera posibilidad, si se proporcionan los valores de una función f en
ciertos puntos, digamos x0 , x1 , . . . , xn , ¿se puede usar esta
Rb
información para obtener una
0
estimación de cómo es su derivada f (c) o una integral a f (x)dx? La respuesta es un sı́
rotundo.
Si se parte exclusivamente de los valores f (x0 ), f (x1 ), . . . , f (xn ), es imposible decir
mucho acerca de f a menos que también sepamos que f forma parte de una familia re-
lativamente pequeña de funciones. Ası́, si se permite que f sea una más en la familia de
todas las funciones continuas de variable real, conocer los valores f (xi ) resulta casi irre-
levante. La figura 6.1 muestra varias funciones continuas que tienen los mismos valores
en cinco puntos.
Por otra parte, si sabemos que f es un polinomio de grado n, entonces los valores en
f1
f2
x0 x1 x2 x3 x4
Figura 6.1:
gral mediante sumas finitas. Más precisamente, nosotros llamamos fórmula de cuadratura
de (n + 1) puntos a una expresión del tipo siguiente:
n
Ank f (xk )
X
In (f ) = (6.1)
k=0
donde Ank no depende para nada de la función f . O sea, 6.1 es una fórmula que permite
estimar esa integral I(f ) mediante una suma ponderada de imágenes de la función f en
una serie de puntos.
89
interpolación. Esto lo haremos por dos razones. La primera es que la integración de
polinomios es muy sencilla, y no se necesitan más que las cuatro operaciones elementales.
Además sucede frecuentemente que para las curvas experimentales no se conoce la fun-
ción f sino que se conocen ciertos puntos de la función: f (xk ), k = 0, . . . , n. Supongamos
por tanto, para empezar, que conocemos la función en esos puntos, y sólo en esos. 0 sea,
que las abscisas nos vienen impuestas, y no podemos elegirlas. El proceso consistirı́a en
integrar el polinomio de interpolación construido a partir del conocimiento del valor de
la función en una serie de puntos f (xk ), k = 0, . . . , n
n
ÃZ !
Z b Z b X b
I(f ) = f (x)dx ≈ Pf (x)dx = lk (x)dx f (xk )
a a k=0 a
con Qn
(x − xj )
lk (x) = Qnj=0,j6=k
j=0,j6=k (xk − xj )
Se define el error1
Z b n
Ank f (xk )
X
R(f ) = I(f ) − In (f ) = f (x)dx −
a k=0
Z b Z b H(x) (n+1)
R(f ) = [f (x) − Pf (x)]dx = f (ξ)dx
a a (n + 1)!
H(x) = (x − x0 )(x − x1 ) · · · (x − xn )
a ≤ min(x, x0 ) < ξ < max(x, xn ) ≤ b
∀f ∈ V, R(f ) = 0
90
Demostración:
00
⇒00 n
Z b
Ank P (xk ) (∀P ∈ Pn )
X
P (x)dx =
a k=0
y por tanto, Z b
Anj = lj (x)dx
a
con lo cual, la fórmula de integración, es del tipo interpolación en (n + 1) puntos.
00
⇐00
Supongamos ahora que la fórmula es de interpolación en (n + 1) puntos. Lo que sucede
es que un polinomio de grado n es igual a su polinomio de interpolación de grado n, y
por tanto la fórmula es exacta para esos polinomios, que es de lo que se trata.
Definición 6.3.2 Se dice que una fórmula de cuadratura tiene grado de precisión n si
la fórmula es exacta para xk , k = 0, 1, . . . , n, pero no es exacta para xk+1 .
La fórmula de cuadratura es de tipo interpolación a dos puntos, siendo por tanto su grado
de precisión uno. Por tanto debe ser exacta para los polinoniios P0 (x) = 1 y P1 (x) = x.
Forcemos a que se cumplan estas condiciones:
Z 1
1 · dx = A10 + A11
−1
Z 1
x · dx = A10 · (−1) + A11 · 1
−1
De donde obtenemos el sistema lineal:
A10 + A11 = 2
−A10 + A11 = 0
91
6.4 Fórmulas de Newton-Cotes
Supongamos una subdivisión uniforme del intervalo [a, b]. Ponemos
(b − a)
h= (6.2)
n
Sea xj = a + j · h, con 0 ≤ j ≤ n, x0 = a y xn = b. Con estas hipótesis, se tiene:
Z b n
Bjn f (a + j · h)
X
f (x)dx ≈ (b − a) (6.3)
a j=0
con
1 Zb
= Bjn
lj (x)dx (6.4)
b−a a
Estas fórmulas se llaman las fórmulas cerradas de Newton Cotes, que son muy usadas
cuando la naturaleza del problema nos permite conocer los valores de la función sobre
un soporte equiespaciado, pues en ese caso, el valor aproximado de la integral se obtiene
muy rápidamente ya que esos coeficientes únicamente dependen del número de puntos que
utilizamos para integrar. Los coeficientes del sumatorio cumplen además la propiedad
Bjn = Bn−j
n
.
92
n B0n B1n B2n B3n
1 1/2
2 1/6 4/6
3 1/8 3/8
4 7/90 32/90 12/90
5 19/288 75/288 50/288
6 41/840 216/840 27/840 272/840
f 00 (α) Z b
R(f ) = (x − a)(x − b)dx, α ∈ [a, b]
2 a
h3 00
R(f ) = −
f (α) α ∈ [a, b]
12
De aquı́ se deduce la siguiente cota al error de la aproximación:
h3
|R(f )| ≤ max |f 00 (x)|
12 x∈[a,b]
6.5 Estabilidad
A un método de integración se le pide que sea poco sensible a los errores de cálculo en
los puntos que definen la función de un modo discreto. Por tanto, veamos cómo influye
93
un cálculo efectuado con valores perturbados:
n n n
Ank (fk + εk ) − Ank fk = Ank εk
X X X
Prueba:
00
⇐00 ¯ n ¯ n n
¯X ¯
n ¯ n
|Ank | · max|εk | ≤ M · max|εk |
X X
Ak εk ¯¯ ≤ |Ak εk | ≤
¯
¯
¯
k=0 k=0 k=0
00 00
⇒
Supongamos que no existiese esa constante M independiente de n verificando la condición
(6.7). En ese caso tendrı́amos que
n
|Ank | = +∞
X
lim
n→∞
k=0
An
y eligiendo εk = k
|An |
con Ank 6= 0, entonces
k
n n n 2¯ n
¯ ¯ ¯ ¯
¯X
n
¯ ¯X (A k )
|Ank |
X
¯
A k ε k¯ = ¯
¯ ¯
n ¯
¯
=
|A |
¯ ¯
¯ ¯ ¯
k=0 k=0 k k=0
94
6.6 Convergencia
Es otro criterio que permite calibrar la bondad de una aproximación a una determinada
integral. Las fórmulas de integración se expresan en función del número de puntos n.
Parece razonable pensar que si se aumenta n se obtendrá un resultado más preciso, y que
en consecuencia, en el lı́mite se obtendrá el valor exacto.
Pn
Definición 6.6.1 Se dice que una aproximación Ln (f ) = k=0 Ank f (xk ) converge sobre
un conjunto V , si cualquiera que sea f ∈ V , se tiene:
n
" # Z b
Ank f (xk )
X
lim
n→∞
= f (x)dx
k=0 a
Teorema 6.6.1 Una condición necesaria y suficiente para que los métodos de cuadratura
de tipo interpolación sean convergentes en C[a, b] es que las fórmulas sean estables.
95
En cada intervalo se aplica la forma de Newton-Cotes de Simpson.
a+h 1 4 1
Z · ¸
f (x)dx ≈ 2h f (a) + f (a + h) + f (a + 2h)
a 6 6 6
a+4h 1 4 1
Z · ¸
f (x)dx ≈ 2h
f (a + 2h) + f (a + 3h) + f (a + 4h)
a+2h 6 6 6
·········
Z b
1 4 1
· ¸
f (x)dx ≈ 2h f (a + (n − 2)h) + f (a + (n − 1)h) + f (b)
a+(n−2)h 6 6 6
Sumando todos estos términos, se obtiene que:
Z b h
f (x)dx ≈ {f (a) + f (b)
a 3
+ 2[f (a + 2h) + f (a + 4h) + · · · + f (a + (n − 2)h)]
+ +4[f (a + h) + f (a + 3h) + · · · + f (a + (n − 1)h)]}
h3 00 (b − a)3 b−a
n max |f (x)| = 2
max |f 00 (x)| = max |f 00 (x)|h2
12 x∈[a,b] 12n x∈[a,b] 12 x∈[a,b]
96
3. Suponiendo que el error está en función de hp -p = 2 para el método compuesto de
los trapecios, por ejemplo- se tendrá que:
Ih0 − I ≈ M · hp0
Ih0 − I2h0
M · hp0 ≈
1 − 2p
M · hp ≈ ² (6.8)
y por tanto:
#1
²(1 − 2p )
"
p
h ≈ h0
Ih0 − I2h0
97
6.8.2 Método de Gauss
Como se puede observar en la fórmula anterior, el número de parámetros libres es 2n + 2.
Trataremos por tanto, de que nuestra fórmula sea exacta en P2n+1 espacio vectorial de
polinomios de coeficientes reales de grado menor o igual que 2n+1. Exigiremos por tanto
que:
Z b n
Ank p(xnk ) (∀p ∈ P2n+1 )
X
p(x)dx =
a k=0
∗ ∗
Sea p ∈ Pn tal que p (xnk ) n
= p(xk ), k = 0, . . . , n, o sea el polinomio de grado n de
interpolación de la nube de puntos (xnk , p(xnk )), k = 0, . . . , n. Como p también interpola
esa misma nube de puntos, lo podremos escribir de la siguiente forma:
p(x) = p∗ (x) + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)
con q ∈ Pn . Si ahora escribimos p∗ en la base de Lagrange tendremos que:
n
∗
p(xnk )lk (x)
X
p (x) =
k=0
y por tanto:
Z b Z b
p(x)dx = [p∗ (x) + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)]dx
a a
n
"Z #
b
lk (x)dx p(xnk )
X
=
k=0 a
Z b
+ (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx
a
n
Ank p(xnk )
X
=
k=0
y por otro
Z b Z b
p(x)dx = [p∗ (x) + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)]dx
a a
Z b
= [0 + (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)]dx
a
Z b
= (x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx
a
98
que debe ser 0. En suma
Z b
(x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx = 0
a
Como para cualquier q, el polinomio p vale 0 en los nodos, esta igualdad tiene que darse
independientemente del polinomio q, o sea:
Z b
(x − xn0 )(x − xn1 ) · · · (x − xnn ) · q(x)dx = 0 (∀q ∈ Pn )
a
0 sea, que si hacemos [a, b] = [−1, 1], estamos buscando una serie de nodos (xnk ), k =
0, . . . , n tales que elR polinomio (x−xn0 )(x−xn1 ) · · · (x−xnn ) sea ortogonal, según el producto
1
escalar < p, q >= −1 p(x)q(x)dx, a todos los polinomios q de Pn . 0 sea, estamos buscando
el polinomio de Legendre2 de grado n + 1.
Por tanto, para que (x − xn0 )(x − xn1 ) · · · (x − xnn ) sea igual a L̂n+1 (x), debemos escoger los
valores (xnk ), k = 0, . . . , n, abscisas de los nodos, como los ceros de L̂n+1 (x), polinomio de
Legendre de grado n + 1. Una vez que ya sabemos cuáles deben ser los nodos, debemos
preguntarnos el valor de la familia de coeficientes (Ank ), k = 0, . . . , n. Para ello, elegimos
ahora como polinomio p uno tal que p(xnk ) = δkn , k = 0, . . . , n, y tendremos que:
Z 1
Ank = lk (x)dx, (∀k = 0, . . . , n)
−1
2(x − a)
t= −1
b−a
que transforma [a, b] en [−1, 1].
6.10 Resumen
1. Que aproximar la integral de una función se puede hacer a partir de un número de
puntos dados, sustituyendo la función a integrar por una aproximación pofinómica
a la misma.
2
En realidad, el polinomio de Legendre es cualquiera de estos, pero normalizado, por definición. Ello
es debido a que los polinomios de Legendre no son sólo una familia de polinomios ortogonales, sino que
además tienen modulo uno. Hemos estudiado estos polinomios como una familia ortogonal en 5.6.4
99
2. Que una fórmula de aproximación es buena si atenúa los efectos de las perturba-
ciones en los puntos que definen la función (estabilidad).
4. Que acotar el error tiene mucho que ver con el número de puntos que se utilizan
para definir la integral y con los máximos de determinadas derivadas.
100
Capı́tulo 7
Derivación numérica
7.1 Introducción
El cálculo numérico de integrales definidas es un problema muy antiguo. La estimación
numérica de derivadas es un problema muy nuevo, y muy necesario para la resolución
numérica de ecuaciones diferenciales, que se han convertido en las herramientas princi-
pales para la descripción de todo tipo de sistemas.
El comportamiento del error en los métodos de integración era bastante bueno. Bajar un
poco el paso significaba bajar mucho el error. Además, las fórmulas más comunes (los
métodos compuestos) son bastantes estables, y errores en los datos, o en los redondeos, no
se amplifican en el cálculo de las integrales. Sin embargo, las derivadas son mucho menos
nobles cuando se las trata numéricamente, y puede suceder, como luego estudiaremos,
que pequeñas variaciones en alguno de los elementos motiven grandes variaciones en el
resultado.
f (x + h) − f (x) f (x) − f (x − h)
f 0 (x) = lim = lim
h→0 h h→0 h
Se obtiene, por ejemplo, una aproximación a este valor, tomando, con h pequeño
f (x + h) − f (x)
f 0 (x) ≈
h
Esta aproximación hace intervenir los valores de la función en los puntos x y x + h. Igual
que hacı́amos al integrar, podrı́amos pensar en sustituir la función f por su polinomio
de interpolación Pf , y aproximar la derivada de f por la derivada de Pf . De hecho, el
problema de estimar la derivada surge porque a menudo f no la conocemos de modo
analı́tico, sino por puntos. Por tanto, si sabemos el valor de la función f en una nube
101
de puntos x0 , x1 , · · · , xn , Pf0 (x), derivada del polinomio de grado n que interpola a f en
esos puntos, nos dará una aproximación a f 0 (x), cuyo error trataremos de acotar. Estas
serán las técnicas de derivación que explicaremos.
f (x0 + h) − f (x0 )
f 0 (x0 ) ≈
h
Existe igualmente una versión simétrica de esta fórmula tomando el segundo punto a la
izquierda de x0 -mirando hacia atrás.
f (x0 ) − f (x0 − h)
f 0 (x0 ) ≈
h
H(x) (n+1)
f (x) − P (x) = f (ξ(x))
(n + 1)!
102
derivada
real = tg.
P1(x)
f (x)
h
x0 x1
H(x) = (x − x0 )(x − x1 ) · · · (x − xn )
a ≤ min(x, x0 ) < ξ < max(x, xn ) ≤ b
Particularizando a nuestro caso, con un polinomio definido por dos puntos(n = 1):
(x − x0 )(x − x1 ) 00
f (x) − P1 (x) = f (ξ(x))
2
y derivando esta fórmula:
1 1 1
f 0 (x) − P10 (x) = (x − x0 )(x − x1 )f 000 (ξ(x))ξ 0 (x) + (x − x1 )f 00 (ξ(x)) + (x − x0 )f 00 (ξ(x))
2 2 2
Hay problemas para estimar el error en puntos distintos de x0 o de x1 , pues no conoce-
mos el valor de ξ 0 (x). Sin embargo, podemos estimar fácilmente el error en x0 y en x1
sustituyendo en la expresión anterior.
103
f (x) P2(x)
h h
x-1 x0 x1
Si derivamos:
(x − x0 ) + (x − x1 ) (x − x−1 ) + (x − x1 )
P20 (x) = f (x−1 ) 2
+ f (x0 )
2h −h2
(x − x−1 ) + (x − x0 )
+f (x1 ) (7.1)
2h2
Si particularizamos en x0 :
f (x0 + h) − f (x0 − h)
f 0 (x0 ) ≈ P20 (x0 ) =
2h
Esta fórmula se llama de tres puntos centrada, figura 7.3, pues se construye la parábola
con tres puntos, y se evalúa la derivada en el central. Es curioso pensar, que precisa-
mente, en el cálculo de la derivada no influye el valor en el propio punto en el que se
realiza la estimación.
Por otro lado, del mismo modo que hay fórmulas centradas, también hay fórmulas mi-
rando hacia adelante, y hacia atrás. Si evaluámos la derivada en x−1 = x0 − h, tendremos
104
derivada
real = tg.
aprox. a la
tangente.
f (x)
P2(x)
h h
x-1 x0 x1
105
7.3.6 Fórmula de tres puntos para estimar la derivada segunda.
Podemos usar la interpolación parabólica de tres puntos para estimar la derivada segunda,
que se usa a menudo en ecuaciones diferenciales, como la de Laplace. Ası́, si volvemos a
derivar, la expresión 7.1, tendremos.
f (x0 + h) − 2f (x0 ) + f (x0 − h)
f 00 (x0 ) ≈ P200 (x0 ) =
h2
En este caso hay problemas para acotar el término del error en x0 . Ello es debido a que
hay términos en los que aparecen las derivadas de la función ξ(x) que ya no se anulan.
7.4 Estabilidad
Contrariamente a la integración, y como ya hemos comentado, la diferenciación numérica
es muy sensible a los errores de redondeo y de los datos originales. Para ilustrar esta
idea, usemos la aproximación de dos puntos a la derivada:
f (x0 + h) − f (x0 ) f1 − f 0
f 0 (x0 ) ≈ =
h h
con f1 = f (x0 + h) y f0 = f (x0 ). Supongamos que f0 y f1 son los valores de trabajo de
f0 y f1 , afectados de unos errores que podemos acotar como:
¯ ¯ ¯ ¯
¯f0 − f0 ¯ ≤ δ, ¯f 1 − f 1 ¯ ≤ δ
¯ ¯ ¯ ¯
error
error total
error
truncaje.
error por
los datos
paso
optimo
h
f1 − f 0
f 0 (x0 ) ≈
h
106
Con lo cual, el error, y sus acotaciones quedan:
¯ ¯ ¯ ¯ ¯ ¯
¯
¯ 0 f1 − f0 ¯¯ ¯
¯ 0 f1 − f0 ¯¯ ¯¯ f1 − f0 f1 − f0 ¯¯
¯f (x0 ) − ≤ ¯f (x0 ) − ¯+¯ −
h ¯ h ¯ ¯ h h ¯
¯ ¯
¯ ¯
¯ ¯ ¯ ¯
00
k f k∞
¯
¯f 0 − f 0 +
¯ ¯
¯ ¯f 1 − f ¯
1¯ k f 00 k∞ 2δ
≤ h+ ≤ h+
2 h 2 h
Por tanto:
¯ ¯
¯
¯ 0 f1 − f0 ¯¯ k f 00 k∞ 2δ
¯f (x0 ) − ≤ h+
h ¯ 2 h
¯
¯
con
k f 00 k∞ = max |f 00 (x0 )|
x∈[x0 ,x0 +h]
∂2Φ ∂2Φ
∆Φ (x0 , y0 ) = (x ,
0 0y ) + (x0 , y0 )
∂x2 ∂y 2
utilizando una discretización de cinco puntos, es decir, una discretización como la de la
figura 7.7, en la cual el espaciado en la dirección x es el mismo que el espaciado en la
dirección y.
Para hacer la discretización tenemos que pensar en el significado geométrico de la derivada
107
Figura 7.5: Términos de error para estimar arctan0 (2).
7.6 Resumen
1. Aproximar la derivada de una función en un punto se puede hacer a partir de un
número de puntos dados, susituyendo la función a integrar por una aproximación
polinómica a la misma.
3. De igual modo que se construyen operadores para estimar las derivadas a partir del
polinomio de interpolación, también a partir de estas fórmulas se pueden construir
operadores que nos sirvan para estimar derivadas parciales de funciones de varias
variables.
108
0.25
error
2delta/h
0.2
max f'' h/2
0.15 cotatotal
error
0.1
0.05 h
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045
-0.05
109
h f1 f0 (f1 − f0 )/h 2δ/h max f 00 (ξ)h/2 cotatotal error
0.04 0.9684 0.9553 0.3275 0.005 0.006285394 0.01128 0.0058
0.03 0.9651 0.9553 0.3267 0.00666 0.004714045 0.01138 0.0067
0.02 0.9619 0.9553 0.3300 0.01 0.003142697 0.01314 0.0033
0.01 0.9586 0.9553 0.3300 0.02 0.001571348 0.02157 0.0033
0.009 0.9583 0.9553 0.3333 0.02222 0.001414214 0.02363 0.0000
0.008 0.9579 0.9553 0.3250 0.025 0.001257079 0.02625 0.0083
0.007 0.9576 0.9553 0.3286 0.02857 0.001099944 0.02967 0.0048
0.006 0.9573 0.9553 0.3333 0.03333 0.000942809 0.03427 0.0000
0.005 0.9569 0.9553 0.3200 0.04 0.000785674 0.04078 0.0133
0.004 0.9566 0.9553 0.3250 0.05 0.000628539 0.05062 0.0083
0.003 0.9563 0.9553 0.3333 0.06666 0.000471405 0.06713 0.0000
0.002 0.9559 0.9553 0.3000 0.1 0.00031427 0.10031 0.0333
0.001 0.9556 0.9553 0.3000 0.2 0.000157135 0.20015 0.0333
(x0 ,y0 - h)
Figura 7.7: Discretización de cinco puntos.
110
Capı́tulo 8
8.1 Introducción
Muchos modelos fı́sicos, ingenieriles, económicos, y de cualquier otra ciencia cuantitativa
caen dentro de la categorı́a de las ecuaciones diferenciales. En ellos, la evolución del
comportamiento de ciertas variables satisface ecuaciones que dependen no sólo de las
variables en si, sino de sus derivadas. Por ejemplo, la ley que gobierna la velocidad de
una masa deslizante sujeta solamente a los efectos friccionales. En este caso la segunda
ley de Newton se escribe como:
d
m v(t) = −µv(t) (8.1)
dt
En esta parte de la asignatura, vamos a aprender métodos numéricos para resolver ecua-
ciones diferenciales ordinarias (edo’s). Estudiaremos dos problemas centrales en la teorı́a
computacional de las ecuaciones diferenciales ordinarias: problemas de valores iniciales
y problemas de contorno.
2. Problemas de contorno.
Se da información de la solución en varios momentos temporales. Por ejemplo en
el caso anterior podrı́a ser: k v(0) k + k v(1) k= 1. Son generalmente problemas
más difı́ciles de resolver. Nosotros nos centraremos en el primer tipo de problemas,
que empezamos ahora a tratar, aunque también veremos el segundo como caso
particular de cierta clase de problemas en derivadas parciales.
Dentro de los problemas de valor inicial, las ecuaciones diferenciales pueden ser clasifi-
cadas como:
f : [a, b] × IR → IR
x, y → f (x, y)
y : [a, b] → IR
x → y(x)
que verifique :
O sea
y : [a, b] → IRn
x → y(x)
que verifique :
112
3. Ecuaciones diferenciales de orden superior a uno.
Son ecuaciones diferenciales en las que intervienen derivadas segundas, terceras....
Se reducen a un sistema de ecuaciones de primer orden con tratamientos semejantes
al siguiente. Se tiene la ecuación de la forma:
00 0
y = h(x, y, y )
y(x0 ) = y0
y 0 (x0 ) = y00
En cuanto a los problemas de contorno, estos son, como ya hemos contado, diferentes
a los de valor inicial o Cauchy. Se conocen no los valores iniciales, sino que las condiciones
de contorno se refieren al valor de la función en determinados sitios o instantes. El ejemplo
del apartado anterior podrı́a ser, en este caso:
00 0
y = h(x, y, y )
y(x0 ) = y0
y(x1 ) = y1
113
1. Métodos de un paso.
El cálculo de yi+1 hace intervenir sólamente los valores del paso anterior, xi , yi , y
del incremento h, que como siempre es la diferencia entre dos abscisas consecutivas.
La abscisa, variable independiente es normalmente el tiempo en los problemas de
valor inicial, aunque podrı́a ser también el espacio, en un problema de evolución en
el espacio y estacionario en el tiempo.
2. Métodos de varios pasos. El cálculo de yi+1 hace intervenir muchos valores previos,
También hay métodos llamados implı́citos que involucran valores de la función todavı́a
desconocidos. Estos conducen a resolver problemas no lineales en cada paso, como más
adelante veremos.
f : [a, b] × IR → IR
x, y → f (x, y)
y : [a, b] → IR
x → y(x)
que verifique :
• y 0 (x) = f (x, y(x))
• y (x0 ) = y0
Se eligen una serie de puntos xi ∈ [a, b]
114
El problema de evolución tiene su reflejo en la esencia de los métodos de integración. El
valor de la función en el punto i + 1 del conjunto discreto se obtiene, en los métodos de
un paso, a partir del valor estimado de la función en la iteración anterior.
Además de su obvia sencillez, este tipo de cálculo tiene la ventaja de que se puede cambiar
el paso sin mayor problema, para en un determinado momento disminuir el error si se
estima que este puede ser muy importante.
y : [a, b] → IR
x → y(x)
que verifique :
• y (x0 ) = y0
El hecho es que no se conoce xi . El método de Euler consiste en aproximar ese valor por
xi , y el valor de y 0 (xi ) por y 0 (xi ). El esquema será por tanto el siguiente:
yi+1 = yi + hf (xi , yi )
y0 = y(x0 )
115
T0
A1
A0
h
a a+h
116
160
y real
140
y euler
120
100
80
y
60
40
20
0
0 1 2 3 4 5
x
A un método le exigiremos varias cosas. Sin duda las más importantes son la convergencia
- que la aproximación sea tan buena como queramos bajando el paso - y la estabilidad -
que el método no sea muy sensible a los errores para cálculos posteriores.
yi+1 = F (xi , yi , h)
117
8.3.4 Error de discretización. Orden de un método.
Se define el error de la discretización en la iteración i como ei = yi − y (xi ). Un método
es de orden ≥ p si para toda solución de y 0 = f (x, y)
¯ ¯
¯ y (x ) − y (x ) ¯
i+1 i
max ¯¯¯
− φ (xi , y (xi ) , h)¯¯¯ = O(hp ) (8.6)
i=0,n h
El orden de un método nos permite acotar de un modo muy preciso el error de dis-
cretización, como nos lo demuestra el siguiente teorema, del cual no presentamos de-
mostración.
Teorema 8.3.1 Si φ verifica la condición de Lipschitz respecto a la segunda variable, y
si el método es de orden mayor o igual que p, entonces:
Una vez que se ha acotado el error de discretización, el programador debe tener cuidado
con el error de redondeo, que depende del problema, de la máquina, y del programa.
El orden de un método da, como hemos dicho, una medida del error de discretización,
que es inherente al método. En realidad, lo que estamos diciendo al definir el orden es,
más o menos que:
118
yk − ỹj
M hp0 ≈
1 − 2p
y tenemos el sistema:
yk − ỹj
M hp0 ≈
1 − 2p
M hp ≈ ²
y por tanto:
!1
²(1 − 2p )
Ã
p
h ≈ h0
yk − ỹj
φ(x, y, h) = f (x, y)
por tanto:
y (xi+1 ) − y (xi )
− f (xi , y (xi )) = O(h) (8.9)
h
el orden del método es entonces, uno.
119
8.4.3 Método de Euler: error de discretización.
El error de discretización en el método de Euler se debe a que, en un punto, estamos
aproximando la función por su tangente. O sea, de lo que se trata es de acotar el valor:
²i = ŷi − y (xi )
donde ŷi es el valor obtenido partiendo de un valor exacto en el paso anterior, la cual no
es la situación real de cálculo. Si usamos el desarrollo en serie de Taylor, tendremos que:
h2
²= max |y 00 (ξ)|
2 ξ∈[xi ,xi+1 ]
o, lo que es lo mismo:
h2
²= max |f 0 (ξ, y (ξ))|
2 ξ∈[xi ,xi+1 ]
Desgraciadamente, esta cota del error solamente es válida para el primer punto obtenido,
pues el único valor realmente exacto es el valor inicial. Los siguientes puntos de partida
incluyen el resultado de cálculos previos y arrastran por tanto, errores de truncamiento. A
raı́z de esto, procede un estudio de la propagación de los errores locales de discretización
en el método de Euler. Los estudios de propagación de errores son, en general muy
difı́ciles. De hecho el caso más sencillo que es el de Euler ya es muy complicado, y no
haremos estudios especı́ficos de este tema. De todos modos, tenemos garantizado ya que
el error total es de orden p si el método es de orden p, siempre que la función φ verifique
la condición de Lipschitz para la segunda variable.
h2 00 hp ³ ´
y (x + h) = y (x) + y 0 (x) h + y (x) + · · · + y (p) (x) + O hp+1
2 p!
120
Con lo cual, si tomamos:
h hp−1
φ(x, y, h) = f (x, y) + g2 (x, y) + · · · + gp (x, y) (8.10)
2 p!
tendremos que: ¯ ¯
¯ y (x ) − y (x ) ¯
i+1 i
¯
− φ (xi , y (xi ) , h)¯¯ = O (hp )
h
¯
¯ ¯
121
Métodos de Runge-Kutta de orden 2.
Determinaremos los coeficientes a1 , a2 , p1 , p2 , para que la aproximación de un paso que
se deduce de esta función, sea de orden dos.
a1 + a 2 = 1
1
a2 p 1 =
2
1
a2 p 2 =
2
Dejando todo en función de a2
a1 = 1 − a 2
1
p1 =
2a2
1
p2 =
2a2
à !
h h
φ(x, y, h) = (1 − a2 )f (x, y) + a2 f x + ,y + f (x, y) (8.13)
2a2 2a2
122
O sea, que nos queda un parámetro libre a2 , al que podemos darle el valor que nosotros
queramos. Si cogemos a2 = 1/2, tendremos:
1
φ(x, y, h) = [f (x, y) + f (x + h, y + hf (x, y))] (8.14)
2
y, por tanto:
h
yi+1 = yi + [f (xi , yi ) + f (xi + h, yi + hf (xi , yi ))] (8.15)
2
que puede escribirse también en la forma.
hh ³ ´i
yi+1 = yi + f (xi , yi ) + f xi + h, y i+1 ) (8.16)
2
y i+1 = yi + hf (xi , yi ) (8.17)
A este método se le llama el método de Euler mejorado o método de Heun. Presentamos
su interpretación geométrica en la figura 8.3.
En esencia, lo que estamos haciendo es aplicar dos veces el método de Euler. En primer
yi+1
pendiente= f (x i+h , yi+1 )
yi yi+1
2
h
xi x i+1
lugar estimamos del modo clásico con la ecuación y i+1 = yi + hf (xi , yi ) el punto y i+1 ,
que es una estimación previa de yi+1 . Es decir, y i+1 es la ordenada en xi+1 de la recta 1
de la figura 8.3, que pasa por (xi , yi ) con pendiente f (xi , yi ). A continuación se mejora
la estimación por medio de la ecuación 8.16.
hh ³ ´i
yi+1 = yi + f (xi , yi ) + f xi + h, y i+1 )
2
123
La pendiente de la recta 2 utilizada en este caso es la media ponderada de las apro-
ximaciones de f en ambos extremos del intervalo. Obsérvese que como y (xi+1 ) es de-
sconocido,³ el verdadero ´ valor de la derivada en xi+1 , f (xi+1 , y (xi+1 )), se aproxima por
el valor f xi+1 , y i+1 ) . El algoritmo de Euler puede considerarse en este caso como una
ecuación predictora de y i+1 , mientras que la ecuación definitiva puede considerarse co-
mo una ecuación correctora que produce una mejor estimación de yi+1 . Esta ecuación
(1) (2)
puede utilizarse iterativamente para obtener una sucesión de valores corregidos yi+1 , yi+1 ,
(m)
,.....,yi+1 . En este caso el par de ecuaciones 8.16,8.17 resulta ser el más sencillo de los
métodos predictor-corrector que se estudiarán más adelante con detalle.
Si cogemos a2 = 1, tendremos:
" #
h h
φ(x, y, h) = f x + , y + f (x, y) (8.18)
2 2
h
y i+ 1 = yi + f (xi , yi ) (8.20)
2 2
A este algoritmo se le llama el método mejorado del polı́gono o método de Euler modifi-
cado. Presentamos su interpretación geométrica en la figura 8.4.
En este caso se utiliza de nuevo dos veces sucesivas el método de Euler. Primero se
obtiene una aproximación de y i+ 1 en el punto medio. Calculamos el valor de la derivada
2
en ese punto, y utilizamos el valor de la derivada en este punto para el total del intervalo.
k1 = f (xi , yi )
k2 = f (xi + ph, yi + phk1 ) (8.22)
k3 = f (xi + rh, yi + shk2 + (r − s)hk1 )
Hay que imponer la condición de tercer orden para obtener una relación entre las cons-
tantes a, b, c, p, r, s. El más famoso de los métodos de tercer orden es:
h
yi+1 = yi + f (k1 + 4k2 + k3 ) (8.23)
6
124
pendiente=
f ( x i+h/2 ,yi+1/2)
yi+1/2
yi 1 yi+1
2
h/2 h/2
xi x i+1
k1 = f (xi , yi )
à !
h h
k2 = f xi + , y i + k 1
2 2
k3 = f (xi + h, yi + 2hk2 − hk1 )
125
8.5 Métodos de paso multiple.
8.5.1 Introducción a los métodos de paso múltiple.
El método de Runge-Kutta tiene el inconveniente de que hace intervenir cálculos de
las derivadas en valores intermedios, algunas veces de muy poco significado geométrico,
siendo además puntos en los que en realidad a nosotros no nos interesa el valor que pueda
tener la función y que se pierden de una iteración a otra. A nosotros nos interesa el valor
de la función sólamente en los nodos de nuestra discretización. Los métodos de paso
múltiple eliminan este problema.
En los métodos de varios pasos, el cálculo de yi+1 hace intervenir los valores xi , xi−1 , · · ·,
xi−q+1 , yi ,yi−1 , · · ·, yi−q+1 . Cuando esa dependencia se tiene explicitada, los métodos se
llaman explı́citos.
Cuando esa dependencia es implı́cita, los métodos se llaman implı́citos. En cada paso
hay que resolver una ecuación o un sistema de ecuaciones a veces lineal, a veces no lineal,
dependiendo de cómo sea la ecuación diferencial
Otra forma de ver los métodos de integración es una formulación de tipo integral, que
nos va a servir de base luego para los algoritimos de paso múltiple. En los métodos de
paso simple tenı́amos:
dy
= f (x, y(x))
dx
Lo más sencillo para obtener a partir de , serı́a:
Z xi+1
yi+1 = yi + f (x, y(x)) dx (8.28)
xi
donde Pf (x) es un polinomio que se obtiene por interpolación de los valores obtenidos
desde i − q + 1 hasta i para la función f (x, y(x)), con lo cual será un método de q pasos.
En los métodos implı́citos Pf (x) se obtiene por interpolación de los valores obtenidos
desde i − q + 1 hasta i + 1 para la función f (x, y(x)).
Los métodos de paso múltiple tienen dos inconvenientes bastante importantes. Por un
lado, al comienzo de la integración, como nuestro problema es un problema de valor
126
inicial, sólo se dispone de un valor. Ello motiva que para arrancar los métodos de paso
múltiple se recurra casi siempre a otros esquemas de un paso. En esta situación, y debido
a la precisión del esquema multipaso elegido, los esquemas utilizados para el arranque
deberán cumplir un cierto requisito en la precisión de sus resultados. Generalmente, lo
que se suele hacer es dar q − 1 pasos iniciales con un esquema de un paso de orden p,
siendo p el orden del esquema multipaso 3 , y q el número de pasos involucrados en el
esquema. 4 .
Además, en los métodos de un paso, si se detecta un error de discretización muy grande,
el algoritmo permite el ajuste del paso para que esto no suceda. Sin embargo, en los
métodos de paso múltiple esto no se puede hacer tan fácilmente.
aproximamos f (x, y(x)) mediante un polinomio cuyo grado depende del número de pun-
tos que usemos en el esquema multipaso.
Z xi+1
yi+1 = yi + Pq (x)dx (8.32)
xi
AB1
Consiste en aproximar f (x, y(x)) por su valor en el punto f (xi , yi ) = fi , o sea, por un
polinomio de grado cero, ver figura 8.5. Por tanto el esquema que tenemos es
yi+1 = yi + hf (xi , yi ) = yi + hfi (8.33)
que es precisamente el esquema euleriano, que ya sabemos que es de orden 1.
AB2
Consiste en aproximar f (x, y(x)) por una recta que se apoya en los puntos (xi , fi ) y
(xi−1 , fi−1 ), ver figura 8.6.
fi − fi−1
P1 (x) = fi + (x − xi ) (8.34)
xi − xi−1
Por tanto el esquema de Adams-Bashforth de segundo orden es:
xi+1 3 1
Z µ ¶
yi+1 = yi + P1 (x)dx = yi + h fi − fi−1 (8.35)
xi 2 2
3
Se puede matizar la elección del orden del esquema de arranque pero escapa al contenido del curso
4
valor inicial +q − 1 pasos = q valores iniciales para el esquema multipaso
127
f ( x i , yi )
P0(x)
f (x,y)
h h h
x i-2 x i-1 xi x i+1
AB3.
Consiste en aproximar f (x, y(x)) por una parábola que se apoya en los puntos (xi , fi ),
(xi−1 , fi−1 ) y (xi−2 , fi−2 ), ver figura 8.7. Si integramos esta aproximación tendremos que:
h
yi+1 = yi + (23fi − 16fi−1 + 5fi−2 ) (8.36)
12
AB4.
Para un polinomio de tercer grado, tendremos el método de Adams-Bashforth de cuarto
orden, y ası́ sucesivamente.
h
yi+1 = yi + (55fi − 59fi−1 + 37fi−2 − 9fi−3 ) (8.37)
24
128
fi-1
fi
P1(x)
f (x,y)
h h h
x i-2 x i-1 xi x i+1
AM1
Consiste en aproximar f (x, y(x)) por su valor en el punto (xi+1 , fi+1 ), ver figura 8.8. Por
tanto el esquema que tenemos es
Este esquema se llama Euler implı́cito o inverso, es de orden 1 y es muy importante porque
tiene unas caracterı́sticas de estabilidad privilegiadas, cuyo estudio escapa al curso, y que
hacen que sea muy utilizado en la integración de ecuaciones diferenciales.
(
y0 = y
x ∈ [0, 1]
y(0) = 1
y por tanto,
yi
yi+1 = (8.40)
1−h
Mostramos los resultados en la siguiente tabla.
129
f (x i-1 ,yi-1 )
P2(x)
f (x,y)
h h h
x i-2 x i-1 xi x i+1
(
y 0 = ey
x ∈ [0, 1]
y(0) = 1
130
f (x,y) fi+1 P0(x)
h h h
x i-2 x i-1 xi x i+1
AM2
Consiste en aproximar f (x, y(x)) por una recta que se apoya en los puntos (xi , fi ) y
(xi+1 , fi+1 ), ver figura 8.10.
fi+1 − fi
P1 (x) = fi + (x − xi ) (8.43)
xi+1 − xi
Por tanto el esquema de Adams-Moulton de segundo orden es:
Z xi+1 fi + fi+1
yi+1 = yi + P1 (x)dx = yi + h (8.44)
xi 2
A este esquema en particular se le suele llamar método de Crank-Nicholson.
AM3.
Consiste en aproximar f (x, y(x)) por una parábola que se apoya en los puntos (xi+1 , fi+1 ),
(xi , fi ) y (xi−1 , fi−1 ), ver figura 8.11. Si integramos esta aproximación tendremos que, el
esquema numérico, siempre para paso de integración constante queda:
h
yi + (5fi+1 + 8fi − fi−1 ) (8.45)
12
AM4.
Para un polinomio de tercer grado, tendremos el método de Adams-Moulton de cuarto
orden, y ası́ sucesivamente.
h
yi+1 = yi + (9fi+1 + 19fi − 5fi−1 + fi−2 ) (8.46)
24
131
300
y real
250 y euler explícito
y euler implícito
200
150
y
100
50
0
0 1 2 3 4 5
x
132
fi
f (x,y) fi+1
h h P1(x)
h
x i-2 x i-1 xi x i+1
Métodos de Adams-Bashforth-Moulton.
Un planteamiento muy habitual es que si se necesita un método de cuarto orden para
resolver un problema de valor inicial, se obtengan los cuatro puntos para el arranque
del multipaso mediante un Runge-Kutta de orden 4. Estos cuatro puntos se usan como
arranque el un Adams-Bashforth de orden cuatro. La estimación en cada paso se mejora
con un multipaso implı́cito de tres pasos de orden cuatro AM4. O sea:
1. Tenemos y0
2. Obtenemos con RK4 y1 , y2 , y3 .
(0)
3. Obtenemos con AB4 y4 .
(0) h
y4 = y 3 + (55f (x3 , y3 ) − 59f (x2 , y2 ) + 37f (x1 , y1 ) − 9f (x0 , y0 ))
24
(0)
4. Mejoramos y4 con AM4.
(1) h ³ ³ (0)
´ ´
y4 = y 3 + 9f x4 , y4 19f (x3 , y3 ) − 5f (x2 , y2 ) + f (x1 , y1 )
24
De nuevo podrı́amos mejorar esta estimación, metiéndolo de nuevo en el multipaso
implı́cito, como si estuviésemos resolviendo un problema no lineal por aproxima-
ciones sucesivas.
(2) h ³ ³ (1)
´ ´
y4 = y 3 + 9f x4 , y4 19f (x3 , y3 ) − 5f (x2 , y2 ) + f (x1 , y1 )
24
Podrı́amos hacer sucesivas mejoras(sea k es número de mejoras), pero sabiendo que
no tendemos a la solución real y (x1 ) sino a la solución del problema implı́cito. Si
queremos más precisión, en vez de iterar muchas veces sobre el corrector, es mejor
reducir el paso.
133
fi-1
fi
f (x,y)
fi+1
P2(x)
h h h
x i-2 x i-1 xi x i+1
5. Una vez obtenido este punto, los siguientes se obtienen de modo análogo. En
general:
(0) h
yi+1 = yi + (55f (xi , yi ) − 59f (xi−1 , yi−1 ) + 37f (xi−2 , yi−2 ) − 9f (xi−3 , yi−3 ))
24
(1) h ³ ³ (0)
´ ´
yi+1 = yi + 9f xi+1 , yi+1 + 19f (xi , yi ) − 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )
24
············
(k+1) h ³ ³
(k)
´ ´
yi+1 = yi + 9f xi+1 , yi+1 + 19f (xi , yi ) − 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )
24
donde P (x) es un polinomio que se obtiene por interpolación de los valores obtenidos
desde i − q + 1 hasta i para la función f (x, y(x)), con lo cual será un método de q pasos.
En los métodos de Adams el planteamiento era hacer k = 0, y tenı́amos que:
Z xi+1
yi+1 = yi + Pq (x)dx
xi
Pero k puede ser distinto de cero. Jugando con esta idea se obtiene uno de los esquemas
predictor-corrector más usados, que es el de Milne-Simpson. El predictor es el esquema
explı́cito de Milne de orden 3
4h
yi+1 = yi−3 + (2f (xi , yi ) − f (xi−1 , yi−1 ) + 2f (xi−2 , yi−2 )) (8.47)
3
134
y el corrector el esquema implı́cito de Simpson de tercer orden
h
yi+1 = yi−1 + (f (xi+1 , yi+1 ) + 4f (xi , yi ) + f (xi−1 , yi−1 )) (8.48)
3
O sea,
y : [a, b] → IRn
x → y(x)
que verifique :
135
• y 0 (x) = f (x, y(x))
• y (x0 ) = y0 con y0 ∈ IRn .
o, lo que es lo mismo, usando la notación yi,j para denotar la estimación de yi (xj ):
dy1
= f1 (x, y1 , · · · , yn )
dx
dy2
= f2 (x, y1 , · · · , yn )
dx
···
dyn
= fn (x, y1 , · · · , yn )
dx
y las condiciones de valores iniciales:
y1 (x0 ) = y1,0
y2 (x0 ) = y2,0
···
yn (x0 ) = yn,0
La idea es que los métodos usados para resolver sistemas de ecuaciones diferenciales
ordinarias de primer orden son simplemente generalizaciones de los métodos para una
sola ecuación, que ya hemos estudiado. Presentamos la generalización correspondiente
al clásico RK4, que es el más lioso, y en haremos como ejercicio algún Euler o algún RK
de orden más bajo.
h
yi,j+1 = yi,j + (k1,i + 2k2,i + 2k3,i + k4,i ) (8.49)
6
k1,i = fi (xj , y1,j , y2,j , · · · , yn,j )
à !
h hk1,1 hk1,2 hk1,n
k2,i = fi xj + , y1,j + , y2,j + , · · · , yn,j +
2 2 2 2
à !
h hk2,1 hk2,2 hk2,n
k3,i = fi xj + , y1,j + , y2,j + , · · · , yn,j +
2 2 2 2
k4,i = fi (xj + h, y1,j + hk3,1 , y2,j + hk3,2 , · · · , yn,j + hk3,n , )
8.7 Resumen.
1. Un problema de evolución, modelizado mediante una edo y con información sobre
la situación de partida, admite un tratamiento numérico potente y sencillo.
2. No hemos hecho estudios serios de error, pero hemos definido el orden de un método
y lo hemos calculado en algunos casos. El orden de un método nos da una informa-
ción importantı́sima sobre la calidad del mismo a efectos del error de discretización.
3. Hay métodos que para estimar el punto siguiente utilizan sólo el valor anterior, y
valores intermedios que no se almacenan en memoria.
136
4. Hay otros métodos que usan muchos puntos ya calculados, y que con mayor sencillez
algorı́tmica consiguen igual orden de aproximación que métodos de un paso más
complicados.
6. Los sistemas de edos de primer orden admiten tratamientos similares, y las ecua-
ciones de mayor orden que uno pueden ser reducidas a sistemas de primer orden, y
luego resueltas.
137
Capı́tulo 9
Ecuaciones diferenciales en
derivadas parciales: Método de las
diferencias finitas
9.1 Introducción
Se utilizan las ecuaciones en derivadas parciales (edp’s) para modelizar fenómenos que
son simultáneamente dependientes de varias variables. Las variables independientes son
casi siempre el tiempo y las variables espaciales. Las edp’s que vamos a manejar van
a poder clasificarse como parabólicas, elı́pticas e hiperbólicas. Presentamos un ejemplo
de cada una de ellas en orden correlativo, aunque en este capı́tulo sólo estudiaremos las
parabólicas y las elı́pticas.
∂2f ∂2f ∂f
+ = (9.1)
∂x2 ∂y 2 ∂t
∂2f ∂2f
+ =0 (9.2)
∂x2 ∂y 2
∂2f ∂2f ∂2f
+ = (9.3)
∂x2 ∂y 2 ∂t2
Vamos a integrar numéricamente esta ecuación parabólica. Lo primero que hay que
hacer es discretizar tiempo y espacio. Por tanto, hay que tener un ∆t y un ∆x. Ası́,
denominaremos Ti,k al valor de la temperatura en el punto i en el instante k. Una vez
discretizadas las variables independientes hay que escribir de modo discreto la ecuación
diferencial. Lo más sencillo es discretizar las derivadas temporales con un operador de
dos puntos, y discretizar la segunda derivada espacial con un operador de tres puntos
centrado, el más sencillo. Este tipo de técnicas se llaman diferencias finitas, y serán las
únicas que estudiemos para resolver edp’s. Otra familia de técnicas muy importantes
son los elementos finitos. Se utilizan para resolver las ecuaciones de la resistencia de
materiales en muchos códigos comerciales. Estos métodos escapan al contenido del curso.
Ti,k+1 − Ti,k Ti+1,k − 2Ti,k + Ti−1,k
= (9.5)
∆t h2
Lo único desconocido en esta ecuación es Ti,k+1 y la ecuación es lineal en ese valor, por
lo que puede ser despejado fácilmente para tener.
∆t
Ti,k+1 = Ti,k + (Ti+1,k − 2Ti,k + Ti−1,k ) (9.6)
h2
139
Como conocemos las condiciones iniciales, y conocemos los valores en los extremos siem-
pre, el esquema de avance no tiene ningún problema.
Una variante muy interesante pasa por tomar la derivada espacial en el instante k + 1.
Tendremos entonces:
Ti,k+1 − Ti,k Ti+1,k+1 − 2Ti,k+1 + Ti−1,k+1
= (9.7)
∆t h2
Tenemos 1 ecuación y 4 incógnitas, todos los valores en el instante k + 1. Sin embargo,
si escribimos esta ecuación en todos los nodos, tendremos un número igual de ecuaciones
e incógnitas, y podremos plantear y resolver ese sistema lineal en cada paso de tiempo.
Este esquema, que llamaremos implı́cito, por analogı́a con las edos, tiene muy buenas
propiedades numéricas. Además, el hecho de tener que resolver un sistema lineal en
cada paso no es gran problema, dado que podemos hacerlo con un método iterativo, y
tendremos siempre una estimación muy buena del huésped inicial, el valor en el instante
anterior. En los ejercicios profundizaremos estos conceptos.
140
Si escribimos esta ecuación en cada uno de los nodos obtendremos el sistema lineal que
nos da la solución discreta del problema. Es un sistema diagonalmente dominante cuya
resolución no debe plantear ningún problema con cualquier método iterativo.
Si el espaciado no es el mismo hay que mantener la ecuación 9.9, y si además, el recinto
no es rectangular, sino que tiene froteras irregulares, hay que pensar una alternativa a la
ecuación, pues los puntos de la frontera no están a la misma distancia que el resto de los
nodos.
aDx
(i-1,j) (i,j) B
Dx bDx
y C
Dx
x (i,j-1)
(b∆x)2 ³ ´
TB = Ti,j + b∆xTx + Txx + O ∆x3
2!
141
(∆x)2 ³ ´
Ti−1,j = Ti,j − ∆xTx + Txx + O ∆x3
2!
(b∆x)2 ³ ´
TA = Ti,j + a∆xTy + Tyy + O ∆x3
2!
(∆x)2 ³ ´
Ti,j−1 = Ti,j − ∆xTy + Tyy + O ∆x3 (9.11)
2!
Eliminando Tx y Ty obtenemos:
" #
2 Ti−1,j Ti,j−1 TA TB (a + b)Ti,j
Txx + Tyy = 2
+ + + − (9.12)
(∆x) b + 1 a + 1 a(a + 1) b(b + 1) ab
Los términos conocidos, los de la frontera, pasan al término independiente del sistema
lineal. El procedimiento podrı́a repetirse para otra pareja de puntos tales como D y E
de la misma figura.
9.4 Resumen
Las ecuaciones en derivadas parciales son sin duda una de las disciplinas más impor-
tantes dentro de las matemáticas, y quizá la que más acerque a éstas a la realidad fı́sica.
Plantean problemas muy importantes desde el punto de vista numérico y sirven bien
como cierre del curso, ya que dan lugar a problemas muy interesantes que combinan
conocimientos previos, sobre todo de derivación numérica y resolución de sistemas linea-
les. Las hemos estudiado con técnicas de diferencias finitas. Son las más sencillas y sufi-
cientemente generales como para resolver problemas muy complicados. El tratamiento es
aparentemente demasiado simplificado pero creemos que ajustado al tiempo disponible.
142
Bibliografı́a
[1] Aubanell, A., Benseny, A., Delshams, A. Útiles básicos de cálculo numérico. Labor,
1993.
Libro con problemas muy interesantes.
[2] Burden, R.L., Faires, J.D. Análisis numérico. Grupo Editorial Iberoamerica. México.
Libro muy bueno, con muchos ejemplos. Trata muy bien la parte de ecuaciones diferen-
ciales. Clásico en la materia.
[3] Carnahan, B., Luther, A.,Wilkes, J.O., Cálculo numérico: métodos, aplicaciones.
Editorial Rueda.
Texto enciclopédico (640 páginas) que está bastante bien, pero que se convierte más en un
libro de métodos que de análisis. Barato para su tamaño.
[4] Fernández Jambrina, L., Temas de análisis funcional, vectorial, tensorial en Ge-
ometrı́a Diferencial, Tensores y Campos. Sección de Publicaciones, Escuela Técnica
Superior de Ingenieros Navales. Universidad Politécnica de Madrid. 2001.
Texto muy adecuado para el estudio de las propiedades métricas de los espacios de matri-
ces.
[6] Golub, G., Ortega, J.M., Scientific Computing. An introduction with parallel com-
puting. Academic Press, Inc., 1993.
Texto muy bueno sobre sistemas lineales.
143
una vez que hayáis terminado la asignatura, tenéis la sensación de que habéis aprendido
y os ha gustado, es una excelente libro para volver sobre él más adelante
[8] Kincaid, D., Cheney,W. Análisis numérico. Las matemáticas del cálculo ciéntifico.
Addison-Wesley Iberoamericana, 1994.
Texto de tipo medio. La teorı́a es bastante completa y no muy complicada. Cubre casi
todas las partes de la asignatura, y tiene multitud de problemas propuestos. Cae un poco
hacia la parte de métodos, pero puestos a comprar un libro, éste es ahora mismo el que
recomiendo.
[11] Oppenheim, A.V., Willsky, A.S, Hamid Nawab, S., Signals and systems, Prentice-
Hall International, 1997. Texto de referenica para la aproximación por mı́nimos cuadra-
dos mediante funciones periódicas.
144
[17] Yakowitz, S., Szidarowsky, F. An introduction to numerical computations. Macmil-
lan Publishing Company.
Buen libro de consulta. Sencillo y con buenos ejemplos.
145