calculo numerico

146
Apuntes de C´ alculo Num´ erico. Antonio Souto Iglesias Ju´ an Miguel S´ anchez.

Transcript of calculo numerico

Page 1: calculo numerico

Apuntes de Calculo Numerico.

Antonio Souto IglesiasJuan Miguel Sanchez.

Page 2: calculo numerico
Page 3: calculo numerico

Every phenomenon affects and is

affected by every other phenomenon.

Any phenomenon which we choose to examine

is to us conditioned by what we see and know.

We exclude deliberately all other conditions,

but nature does not exclude them.

T.A.Cook

The curves of life. 1914

El progreso tecnico deja un problema sin

resolver: la debilidad de la naturaleza humana.

J. Gray

Page 4: calculo numerico
Page 5: calculo numerico

Indice General

1 Introduccion. 8

1.1 Clasificacion de los problemas en matematica numerica. . . . . . . . . . . 91.2 Tutorıas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 Requisitos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4 Sistema de evaluacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.1 Normas del examen de Calculo Numerico. . . . . . . . . . . . . . 12

2 Ecuaciones y sistemas de ecuaciones no lineales. 13

2.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Teorema de la aplicacion contractiva. . . . . . . . . . . . . . . . . . . . . 142.3 Aplicacion a la resolucion de ecuaciones. . . . . . . . . . . . . . . . . . . 16

2.3.1 Estudios de convergencia local. . . . . . . . . . . . . . . . . . . . 162.4 Estimaciones del error en funcion del numero de iteraciones. . . . . . . . 172.5 Interpretacion grafica de los metodos iterativos. . . . . . . . . . . . . . . 182.6 Relajacion de un esquema de aproximaciones sucesivas. . . . . . . . . . . 182.7 Metodo de Newton-Raphson. . . . . . . . . . . . . . . . . . . . . . . . . 19

2.7.1 Obtencion del metodo de Newton a partir del factor optimo derelajacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.7.2 Obtencion del metodo de Newton a partir de un desarrollo en seriede Taylor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.7.3 Interpretacion geometrica del metodo de Newton. . . . . . . . . . 212.7.4 Obtencion del metodo de Newton a partir de las ideas de conver-

gencia local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.8 Resolucion de sistemas de ecuaciones no lineales. . . . . . . . . . . . . . . 24

2.8.1 Convergencia local. . . . . . . . . . . . . . . . . . . . . . . . . . . 252.9 Metodo de Newton-Raphson para sistemas de ecuaciones no lineales. . . 262.10 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.11 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 26

3 Resolucion de sistemas lineales. 27

3.1 Matrices y normas matriciales. . . . . . . . . . . . . . . . . . . . . . . . . 273.1.1 Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.2 Autovalores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.1.3 Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2 Condicionamiento de un sistema lineal. . . . . . . . . . . . . . . . . . . . 31

4

Page 6: calculo numerico

3.3 Metodos directos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3.1 Eliminacion gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . 343.3.2 Descomposicion LU. . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.3 Descomposicion de Cholesky, A = LLt. . . . . . . . . . . . . . . . 373.3.4 Metodo de Gauss-Jordan. . . . . . . . . . . . . . . . . . . . . . . 37

3.4 Metodos iterativos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.1 Convergencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.2 Esquema general. . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.3 Metodo iterativo de Jacobi. . . . . . . . . . . . . . . . . . . . . . 393.4.4 Metodo iterativo de Gauss-Seidel. . . . . . . . . . . . . . . . . . . 413.4.5 Test de parada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 43

4 Interpolacion. 44

4.1 El problema general de interpolacion . . . . . . . . . . . . . . . . . . . . 444.1.1 Casos particulares del problema general de interpolacion . . . . . 44

4.2 Interpolacion polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2.1 Interpolacion de Lagrange . . . . . . . . . . . . . . . . . . . . . . 474.2.2 Estimaciones del error en la interpolacion de Lagrange . . . . . . 494.2.3 Diferencias divididas . . . . . . . . . . . . . . . . . . . . . . . . . 514.2.4 Interpolacion simple de Hermite u osculatriz. . . . . . . . . . . . . 53

4.3 Interpolacion polinomial a trozos. . . . . . . . . . . . . . . . . . . . . . . 544.3.1 Interpolacion parabolica a trozos . . . . . . . . . . . . . . . . . . 544.3.2 Error en la interpolacion parabolica a trozos . . . . . . . . . . . . 564.3.3 Interpolacion a trozos de grado 3 usando interpolacion Hermite. . 56

4.4 Interpolacion polinomial a trozos: Splines . . . . . . . . . . . . . . . . . . 574.4.1 Bases de splines asociadas a un problema de interpolacion. . . . . 60

4.5 Interpolacion spline con bases de soporte mınimo: B-splines . . . . . . . 614.5.1 B-splines de grado 0. k = 0, r = 1 . . . . . . . . . . . . . . . . . . 644.5.2 B-splines de grado 1. k = 1, r = 2 . . . . . . . . . . . . . . . . . . 644.5.3 B-splines de grado k. r = k + 1 . . . . . . . . . . . . . . . . . . . 644.5.4 B-splines de grado 2 en una particion equiespaciada. k = 2, r = 3 654.5.5 B-splines de grado 3 en una particion equiespaciada. k = 3, r = 4 654.5.6 Particion de la unidad . . . . . . . . . . . . . . . . . . . . . . . . 664.5.7 Interpolacion con B-splines . . . . . . . . . . . . . . . . . . . . . . 66

4.6 Interpolacion en varias variables. . . . . . . . . . . . . . . . . . . . . . . 664.6.1 Interpolacion en recintos rectangulares . . . . . . . . . . . . . . . 67

4.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 67

5 Aproximacion de funciones. 68

5.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.2 El problema general de aproximacion. . . . . . . . . . . . . . . . . . . . . 685.3 Mejor aproximacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.4 Existencia y unicidad de una mejor aproximacion . . . . . . . . . . . . . 71

5.4.1 Sucesion minimizante en T . . . . . . . . . . . . . . . . . . . . . . 71

5

Page 7: calculo numerico

5.5 Aproximacion lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.6 Aproximacion en espacios prehilbertianos. . . . . . . . . . . . . . . . . . 72

5.6.1 General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.6.2 Caracterizacion de la mejor aproximacion. . . . . . . . . . . . . . 735.6.3 Error cuadratico medio . . . . . . . . . . . . . . . . . . . . . . . . 755.6.4 Polinomios ortogonales . . . . . . . . . . . . . . . . . . . . . . . . 765.6.5 Desarrollo en serie de Fourier de una funcion periodica. . . . . . . 795.6.6 Aproximacion discreta: mınimos cuadrados. . . . . . . . . . . . . 825.6.7 Desarrollo en serie de Fourier de senales periodicas definidas de

modo discreto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 87

6 Integracion numerica 88

6.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.2 Exposicion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.3 Formulas de cuadratura de tipo interpolacion . . . . . . . . . . . . . . . 896.4 Formulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.4.1 Evaluacion del error en las formulas de Newton-Cotes . . . . . . . 926.4.2 Formulas abiertas de Newton-Cotes . . . . . . . . . . . . . . . . . 93

6.5 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.6 Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.7 Metodos compuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.7.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.7.2 Metodo compuesto de los trapecios . . . . . . . . . . . . . . . . . 956.7.3 Metodo compuesto de Simpson . . . . . . . . . . . . . . . . . . . 956.7.4 Mayoracion del error en los metodos compuestos . . . . . . . . . . 966.7.5 Seleccion del paso de integracion . . . . . . . . . . . . . . . . . . 966.7.6 Estabilidad de los metodos compuestos . . . . . . . . . . . . . . . 97

6.8 Formulas de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.8.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.8.2 Metodo de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.9 Integracion multidimensional . . . . . . . . . . . . . . . . . . . . . . . . . 996.10 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.11 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 100

7 Derivacion numerica 101

7.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.2 Exposicion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.3 Derivacion numerica por interpolacion polinomica. . . . . . . . . . . . . . 102

7.3.1 Formula de dos puntos. . . . . . . . . . . . . . . . . . . . . . . . . 1027.3.2 Error en la formula de dos puntos . . . . . . . . . . . . . . . . . . 1027.3.3 Formula de tres puntos . . . . . . . . . . . . . . . . . . . . . . . . 1047.3.4 Error en la formula de tres puntos. . . . . . . . . . . . . . . . . . 1057.3.5 Formula de cuatro puntos. . . . . . . . . . . . . . . . . . . . . . . 1057.3.6 Formula de tres puntos para estimar la derivada segunda. . . . . . 106

6

Page 8: calculo numerico

7.4 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067.5 Derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.6 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087.7 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 109

8 Ecuaciones diferenciales ordinarias. 111

8.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118.2 Ideas basicas para la resolucion numerica de problemas de valor inicial . . 1138.3 Metodos discretos de un paso para edos. . . . . . . . . . . . . . . . . . . 114

8.3.1 Principios de los metodos de un paso. . . . . . . . . . . . . . . . . 1148.3.2 Ejemplo: Metodo de Euler. . . . . . . . . . . . . . . . . . . . . . 1158.3.3 Esquema general. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178.3.4 Error de discretizacion. Orden de un metodo. . . . . . . . . . . . 1188.3.5 Seleccion del paso de integracion. . . . . . . . . . . . . . . . . . . 118

8.4 Diferentes metodos de un paso. . . . . . . . . . . . . . . . . . . . . . . . 1198.4.1 Metodo de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198.4.2 Orden del metodo de Euler. . . . . . . . . . . . . . . . . . . . . . 1198.4.3 Metodo de Euler: error de discretizacion. . . . . . . . . . . . . . . 1208.4.4 Metodo de Taylor. . . . . . . . . . . . . . . . . . . . . . . . . . . 1208.4.5 Metodos de Runge-Kutta. . . . . . . . . . . . . . . . . . . . . . . 121

8.5 Metodos de paso multiple. . . . . . . . . . . . . . . . . . . . . . . . . . . 1268.5.1 Introduccion a los metodos de paso multiple. . . . . . . . . . . . . 1268.5.2 Metodos de Adams-Bashforth. . . . . . . . . . . . . . . . . . . . . 1278.5.3 Metodos de Adams-Moulton. . . . . . . . . . . . . . . . . . . . . 1288.5.4 Metodos predictor-corrector. . . . . . . . . . . . . . . . . . . . . . 1328.5.5 Metodos de Milne-Simpson. . . . . . . . . . . . . . . . . . . . . . 134

8.6 Edos de orden mayor que uno y sistemas de edos. . . . . . . . . . . . . . 1358.7 Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.8 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 137

9 Ecuaciones diferenciales en derivadas parciales: Metodo de las diferen-

cias finitas 138

9.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389.2 Ecuaciones parabolicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389.3 Ecuaciones elıpticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

9.3.1 Discretizacion del operador de Laplace con contornos irregulares. . 1419.4 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1429.5 Referencias recomendadas para este tema. . . . . . . . . . . . . . . . . . 142

Bibliografıa 143

7

Page 9: calculo numerico

Capıtulo 1

Introduccion.

1 La matematica numerica o computacional estudia metodos para la resolucion numericay en general aproximada, de problemas propuestos matematicamente. De un modo ge-neral se pueden distinguir dos aspectos distintos en la matematica numerica:

1. Metodologıa, se refiere a al construccion de algoritmos especıficos para cada pro-blema, discutir su efectividad y suministrar las herramientas adecuadas para sutratamiento con el ordenador.

2. Analisis o estudio de los principios matematicos que subyacen a los metodos, losteoremas de convergencia, las mayoraciones de los errores, etc.

En la mayorıa de los cursos de iniciacion al calculo numerico, se insiste fundamentalmenteen la metodologıa exponiendo al alumno a una avalancha de metodos que aparentementeno tienen nada en comun. La realidad es otra. La matematica numerica esta fundamen-tada en unos pocos principios basicos, de modo que en la base de muchos algoritmos,aparentemente distintos, subyace el mismo principio. Entender ese principio ayuda aaclarar las ideas, lo que influye beneficiosamente en la busqueda y construccion de nuevosmetodos de resolucion de problemas. Trataremos de mantener el equilibrio entre ambosaspectos:

1. Enunciaremos los teoremas mas importantes omitiendo su demostracion cuandoesta sea excesivamente larga o tecnica.

2. Analizaremos de modo especial algunos de los algoritmos mas importantes y sumi-nistraremos informacion sobre sus variantes y otros algoritmos menos importantes.

3. Propondremos problemas y ejercicios de aplicacion, principalmente aquellos quehayan sido propuestos en examenes de la asignatura.

El programa de calculo numerico se desarrolla teniendo como motivo ordenador la si-guiente clasificacion, muy amplia, de los problemas que se suelen encontrar en matematicanumerica.

1Se agradece de modo muy especial la colaboracion de Donato Martınez, sin la cual no hubiese sidoposible la reorganizacion de todos estos apuntes.

Page 10: calculo numerico

1.1 Clasificacion de los problemas en matematica nu-

merica.

Muchos de los problemas que surgen en matematica aplicada se pueden enunciar formal-mente ası :

Resolver la ecuacionf(x) = y (1.1)

donde x ∈ E e y ∈ F , con E y F espacios vectoriales normados reales o complejos, yf : E → F es un operador, lineal o no, cualquiera.

En el lenguaje de la ingenierıa de sistemas x, y, f representan la entrada, la salida y elsistema en sı, respectivamente.

La observacion de la ecuacion [1.1] permite reconocer tres tipos de problemas distintos:

1. El problema directo. Dados f y x, hallar y. Se intenta determinar la salida de unsistema dado, producida por una entrada conocida. Un ejemplo serıa el calculo deuna integral definida.

2. El problema inverso. Dados f e y, hallar x. Se busca la entrada que generauna salida conocida en un sistema dado. Ejemplos de problemas inversos son laresolucion de sistemas de ecuaciones lineales o no lineales, ası como la resolucionde ecuaciones diferenciales tanto ordinarias como en derivadas parciales y la deecuaciones integrales.

3. El problema de identificacion. Dados x e y, hallar f . Se buscan las leyes quegobiernan el sistema a partir del conocimiento de ciertas relaciones entre la en-trada y la salida. En general, solo se conoce un numero finito de parejas (xn, yn)entrada-salida. En su forma mas simple el problema de identificacion es la teorıade aproximacion de funciones - f es una funcion de una variable y se pide hallar lao una funcion cuya grafica pasa por o pasa cerca de un conjunto de puntos (xn, yn).

Cada tipo de problemas plantea sus propias cuestiones especıficas, genera sus propiosalgoritmos e incluso el exito en desarrollar una teorıa general varıa dependiendo de cualde ellos consideremos.

Los problemas directos se tratan con relativa facilidad; su ejemplo mas importante, laintegracion numerica, es hoy un problema bien comprendido. Existen todavıa problemasabiertos y dificultades, pero el problema es conceptualmente simple con una teorıa generalno muy complicada.

El problema inverso ocupa por su importancia un puesto central en analisis numerico.El caso lineal se ha estudiado extensamente y posee una teorıa general bien desarrollada.El problema no lineal es mas difıcil, y con un cuerpo de teorıa menos satisfactorio.

El problema de identificacion en su marco mas general es bastante difıcil. Pretenderdescifrar las leyes que gobiernan un proceso desconocido del conocimiento de un numero

9

Page 11: calculo numerico

finito de observaciones es generalmente imposible si no se tiene ademas algun tipo deinformacion de la estructura del proceso. El problema ya citado de la aproximacionde un operador de una variable conociendo un numero finito de parejas (xn, yn) careceen general de solucion unica salvo que restrinjamos la clase de las funciones admisibleseligiendo una forma conveniente de f dependiente de ciertos parametros que se calculende modo que expliquen mejor las observaciones entrada-salida efectuadas.

El linde entre los problemas directo e inverso es difuso, en ciertos casos, el problemainverso 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

dt= ζ(t)x, x(0) = 1

se puede expresar mediante separacion de variables en la forma:

x(t) = e

(

∫ t

0ζ(s)ds

)

Para un matematico, el problema estarıa resuelto aunque desde un punto de vista estric-tamente numerico, sea mas conveniente resolver el problema en su forma original.

Esta observacion es bastante general, la determinacion explıcita de la inversa no ayudanumericamente aunque su conocimiento sea valioso por la informacion cualitativa quepuede suministrar sobre el comportamiento de la solucion que no se podrıa obtener deningun otro modo.

Puede parecer que la formulacion [1.1] es muy restrictiva porque a veces no solo se tieneuna ecuacion que resolver sino que tambien hay condiciones adicionales, iniciales o decontorno, que satisfacer, pero ello no es cierto. Usando el concepto de espacio productopodemos incluir esas condiciones como veremos en el siguiente ejemplo:

dx

dt= ζ(t, x), 0 ≤ t ≤ 1

con la condicion inicial x(0) = α.

Sea F = C[0, 1]× IR . Definamos f : C1[0, 1]→ F poniendo

f(x) =

(

dx

dt− ζ(t, x), x(0)

)

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 esun libro orientado a su utilizacion durante el examen, y ademas se complementa con untexto donde aparecen resueltos algunos de los ejercicios propuestos en examenes.

El analisis numerico de un problema es, en la mayorıa de los casos, la unica la aproxi-macion factible al mismo. Casi todos los modelos analıticos de la realidad son irresolubles,

10

Page 12: calculo numerico

y hay que hacer aproximaciones con mayor o menor exito. Por eso, esta asignatura esmuy importante, y hacerla bien os deja en una posicion ventajosa para muchos retosfuturos. Ejemplos abundantes encontrareis en la realizacion de vuestro proyecto fin decarrera interpolando datos para hacer estimaciones razonables de valores desconocidos,o integrando numericamente curvas para sacar pares adrizantes, o usando un paquete decalculo de estructuras por elementos finitos integrando las ecuaciones de la dinamica demedios continuos para chequear una parte delicada de la estructura, y muchas otras cosasque usais sin daros cuenta pero que estan escondidas en los programas de arquitecturanaval o de CAD que useis. En la vida profesional, algunos de vosotros abordareis pro-blemas similares. Otros jamas tendreis que escribir un numero, y algunos otros, tendreisque completar este curso por insuficiente.

Nos parece importante comentar a los alumnos que estan cursando de nuevo la asignatu-ra, que esta cambia un poco cada ano, y que deben conseguir el material nuevo de esteano. Caso de no hacerlo ası, es posible que en el examen se encuentren con un problemaque no tengan ni idea de como abordar, como ya ha pasado muchas veces.

1.2 Tutorıas

Para las tutorıas existe un horario oficial que cambia cada ano en funcion del horariode clases. Independientemente de las tutorıas oficiales, se me localiza en el canal (tlf.3367156) y estare encantado de atenderos fuera de las horas oficiales a no ser que pun-tualmente este muy ocupado. Os ruego que me mandeis un mail a la direccion de correoelectronico [email protected] para crear una lista de distribucion de correo y poderosmandar mensajes cuando salgan las notas, con ejercicios o avisos, y con mis datos y elhorario de tutorıas de este curso. Tambien se dispone de una pagina web de la asignatu-ra donde podeis recoger las hojas de ejercicios, expresar vuestras opiniones en un foro,navegar por enlaces interesantes, etc. La direccion es:

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

1.3 Requisitos previos

Para que al estudiante le cueste menos seguir la asignatura, es importante que hayacursado ya las otras asignaturas del area de matematicas, especialmente Algebra Linealcon enfasis en formas lineales, espacios duales, sistemas lineales, y normas matriciales.Tambien se usaran conceptos de calculo en una variable, topologıa basica y ecuacionesdiferenciales de primer orden.

1.4 Sistema de evaluacion.

Al terminar la asignatura se procede a la realizacion de un examen por curso que constanormalmente de dos a cuatro problemas. Esta estructura de examen se repite en todaslas convocatorias oficiales.

11

Page 13: calculo numerico

1.4.1 Normas del examen de Calculo Numerico.

Con estas normas lo unico que se pretende es que los medios de los que dispongais a lahora de realizar los ejercicios sean iguales para todos, y que al mismo tiempo no tengaisque hacer un esfuerzo de memorizacion de contenidos que a estas alturas consideramosesteril. Es por eso que no permitimos apuntes personales, porque despues hay lıos con quesi esto es un ejemplo, no un problema, con que si estas formulas me las dio mi abuelitoque sabıa mucho de esto,....

El que pone el examen, decide los problemas teniendo en cuenta el material del que elestudiante dispone, y consideramos que un planteamiento razonable pasa por disponerdel material trabajado en clase, y nada mas. Se han ensayado ya varias posibilidades, yse ha llegado a la conclusion de que para esta asignatura, esta posibilidad es la menosmala. Ademas, a la gente que lo considere necesario se le dara la posibilidad de usarMatlab en el examen. Matlab es un programa de calculo que usaremos durante el curso.Si hay mas gente que puesto reduciremos el tiempo de cada problema para que vuelvaa la sala general los estudiantes que crean que van a obtener pocas ventajas del uso deMatlab.

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

• Este texto.

• Calculadora que puede ser programable o no.

2. No se permitira :

• Tener ningun tipo de problema resuelto.

• Tener apuntes personales.

• Ordenadores personales.

3. El alumno traera como identificacion su carnet de identidad.

12

Page 14: calculo numerico

Capıtulo 2

Ecuaciones y sistemas de ecuaciones

no lineales.

2.1 Introduccion

Uno de los problemas matematicos que suelen aparecer mas a menudo en la practica esla resolucion de ecuaciones del tipo f(x) = 0 donde f se supone al menos continua, esdecir, el calculo del valor o valores de x para los cuales se verifca:

f(x) = 0 (2.1)

Aunque en algun caso muy sencillo haya procedimientos de resolucion directa de estaecuacion (que f sea por ejemplo un polinomio de primer o segundo grado), en generalnos veremos obligados a recurrir a metodos iterativos que permitan ir obteniendo valoresque se espera que sean cada vez mas proximos a x, a partir de los cuales y por nuevaaplicacion del metodo, obtenemos otro mas proximo, y ası sucesivamente. Lo primeroque hay que hacer encontrar un intervalo donde vaya a haber una raiz, para lo cual, lomas sencillo es directamente buscar un cambio de signo en la grafica de f .

La gran mayorıa de estos metodos se basan en la transformacion de 2.1 en una ecuacionequivalente del tipo:

x = g(x) (2.2)

para despues construir una sucesion en la forma:

xn+1 = g (xn) (2.3)

La forma para obtener g depende de cada metodo, incluso caso en particular.

Comenzaremos estudiando las condiciones que se tienen que dar para que la sucesion2.3 converja a la solucion buscada. Estudiaremos despues una variante muy interesantede construccion de la funcion g que es el metodo de Newton-Raphson, para finalmenteaplicar estos conceptos a la resolucion de sistemas completos de ecuaciones no lineales.

Page 15: calculo numerico

2.2 Teorema de la aplicacion contractiva.

Como base del estudio de los metodos iterativos de resolucion de 2.1 o 2.2 esta el teoremade la aplicacion contractiva o del punto fijo, que vamos a presentar en una de sus massencillas versiones.

Sea X un espacio metrico completo. Sea d(x, y) la distancia entre dos puntos. Recorde-mos que una sucesion de Cauchy xn es aquella en la que se verifica que

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

Un espacio metrico es completo si toda sucesion de Cauchy converge dentro del espacio.Todos los espacios vectoriales normados reales o complejos de dimension finita son espa-cios completos. Por tanto, IRn es un espacio metrico completo.

Por otro lado, sea ahora T una aplicacion de X en si mismo. Se dice que x es un puntofijo de T si verifica

T (x) = x (2.4)

Se dice que T es una contraccion de X si existe un numero k ∈ [0, 1) tal que:

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

Teorema 2.2.1 Si T es una contraccion de un espacio metrico completo X, existe ununico punto fijo x en X para la funcion T , que ademas es el lımite de la sucesion xn+1 =T (xn) para cualquier x0 ∈ X.

Demostracion:

Si k = 0 es evidente que hay un unico punto fijo, ya que en este caso, todo elemento deX se transforma en un unico punto x de X; luego este es el unico punto fijo.

Si k > 0, sea x0 un elemento cualquiera de X y formemos una sucesion xn, como:

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

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

d (xp, xp+q) ≤p+q−1∑

j=p

d (xj, xj+1) (2.7)

y por 2.5 y 2.6, se tiene

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

luego, sustituyendo en 2.7

d (xp, xp+q) ≤p+q−1∑

j=p

kjd (x0, x1) <kp

1− kd (x0, x1) (2.9)

14

Page 16: calculo numerico

por ser 0 < k < 1, ya que: 1

p+q−1∑

j=p

kj <∞∑

j=p

kj =kp

1− k(2.10)

Por tanto xn es una sucesion de Cauchy, ya que tomando m suficientemente grande comopara que:

km

1− kd (x0, x1) < ε (2.11)

para todo p mayor que m se tendra

d (xp, xp+q) <kp

1− kd (x0, x1) <

km

1− kd (x0, x1) < ε (2.12)

Por la completitud de X la sucesion tendra un lımite x en X y como

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

al tender n a ∞ a ambos lados de la desigualdad

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

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

Por tantolimn→∞ d (T (xn) , T (x)) = 0 (2.15)

o, lo que es lo mismolimn→∞T (xn) = T (x) (2.16)

Pero por ser T (xn) = xn+1, y al haber demostrado la convergencia de la sucesion xn,tambien se tiene:

limn→∞T (xn) = lim

n→∞ xn+1 = limn→∞ xn = x (2.17)

y por tantox = T (x) (2.18)

La demostracion nos proporciona una forma de encontrar x como lımite de la sucesion2.6

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

Una vez demostrada la existencia, la unicidad es inmediata. Supongamos que hubieseotro punto fijo x, se tendrıa

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

lo cual es absurdo. Por tanto, el punto fijo es unico y es el lımite de la sucesion 2.6, comoquerıamos ver.

1Recordamos la suma de una serie geometrica de razon r:

N−1∑

j=0

rj =1 − rN

1 − r

15

Page 17: calculo numerico

2.3 Aplicacion a la resolucion de ecuaciones.

Retomemos la ecuacion 2.2.

Teorema 2.3.1 Sea g una funcion real definida en [a, b] tal que:

1. g(x) ∈ [a, b] ∀x ∈ [a, b]

2. Existe L < 1 tal que |g(x)− g(y)| ≤ L|x− y| ∀x, y ∈ [a, b] 2

Entonces existe una unica raiz de 2.2 que se obtiene como lımite de la sucesion xn+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 loes, son completos, y la segunda propiedad equivale a decir que g es una contraccion. Portanto se verifican las hipotesis del teorema de la aplicacion contractiva.

A menudo es muy difıcil demostrar que la funcion g es lipschitziana de constante menorque la unidad. Sin embargo, si g es de clase C1[a, b] y |g′(x)| ≤ L < 1 ∀x ∈ [a, b],podemos decir que g es lipschitziana de constante menor que la unidad. Ello es unaconsecuencia del teorema del valor medio, pues este garantiza que

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

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

2.3.1 Estudios de convergencia local.

Los teoremas que acabamos de ver hablan de una convergencia global, en el sentido deque la convergencia tiene lugar para cualquier valor inicial x0. El teorema es muy fuertey constructivo en el sentido de que proporciona un metodo para encontrar la solucion alproblema, pero las hipotesis difıcilmente pueden ser verificables. Sin embargo, cuando seconoce la existencia de una raiz s de 2.2 en un cierto intervalo, las hipotesis se puedendebilitar, para dar en algun caso convergencia de tipo local, es decir, solo cuando se partede un x0 suficientemente proximo a s. Enunciemos esta idea.

Teorema 2.3.2 Si existe una raiz s de la ecuacion 2.2 en un intervalo [a, b] en el cual ges de clase C1[a, b] y |g′(s)| < 1, entonces existe ε > 0 tal que si |x0 − s| < ε, la sucesionxn con xn+1 = g (xn) converge a s, o sea:

limn→∞ xn = s

Demostracion:

Por ser g′ continua en [a, b] existira un entorno de s, de radio ε > 0, en el cual

|g′(x)| ≤ L < 1

2Cuando una funcion verifica esta propiedad, independientemente de que L sea menor que la unidad,se dice que la funcion es lipschitziana en [a, b] de constante L.

16

Page 18: calculo numerico

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

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

y repitiendo el razonamiento, en general se tendra

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

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

Este es un concepto local, pero muy importante. La idea es que si en la zona de la raizla funcion g se comporta como contractiva, si somos astutos buscando el huesped inicialsuficientemente proximo a ella conseguiremos que nuestro esquema converja.

2.4 Estimaciones del error en funcion del numero de

iteraciones.

Teorema 2.4.1 Bajo las condiciones de cualquiera de los teoremas anteriores se tiene:

|xn − s| ≤ Ln

1− L|x1 − x0|

Demostracion:

Llamando uk = xk − xk−1 si k ≥ 1, con u0 = x0 es facil ver que:

∞∑

k=0

uk = s (2.20)

puesm∑

k=0

uk = xm (2.21)

Por tanto:

|xn − s| =∣

∞∑

k=n+1

uk

(2.22)

y como|uk| ≤ L |uk−1| ≤ Lk−1 |u1|

tendremos:

|xn − s| =

∞∑

k=n+1

uk

≤∞∑

k=n+1

|uk| ≤∞∑

k=n+1

Lk−1 |u1| = |u1|∞∑

k=n+1

Lk−1 = |u1|∞∑

k=1

Lk+n−1

=Ln

1− L|u1| =≤

Ln

1− L|x1 − x0| (2.23)

17

Page 19: calculo numerico

2.5 Interpretacion grafica de los metodos iterativos.

Es muy interesante ver la construccion grafica de la sucesion xn de los metodos de apro-ximaciones sucesivas que hemos visto anteriormente. Supongamos que la grafica de lafuncion g es la que aparece en la figura 2.1. Buscar el -los- punto fijo de g equivale ahallar la interseccion de la grafica de y = g(x), con la de la recta y = x. Comencemoscon un x0 arbitrario en [a, b]. De x0 se pasa a g (x0) y a x1 = g (x0) como se ve facilmenteen 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′(x) esta comprendida entre 0y -1, con lo que se da la convergencia hacia el punto fijo. Analogamente puede verse laconvergencia en el caso en que esta comprendida entre 0 y 1, y que en cambio, si g ′(s) > 1o g′(s) < −1 no se puede esperar que haya convergencia en general.

y

x

y=x

y=g(x)a

0 x1 s x2 x0 b

b

Figura 2.1: Interpretacion grafica del esquema de aproximaciones sucesivas.

2.6 Relajacion de un esquema de aproximaciones su-

cesivas.

Consideremos un problema del tipo 2.2,

x = g(x)

que conduce a un esquema divergente debido a que en el entorno de la raiz s, la apli-cacion g no es contractiva. Supongamos que g es de clase C1, y veamos como podemostransformar el esquema para converger a la solucion. Buscamos un numero real w 6= 0.

18

Page 20: calculo numerico

Por tanto, al ser w 6= 0, la ecuacion 2.2 es equivalente a:

wx = wg(x) (2.24)

sumando x a ambos ladosx+ wx = x+ wg(x) (2.25)

y tenemos un nuevo problema de punto fijo:

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

con su correspondiente esquema iterativo:

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

que podemos escribir de este modo:

xn+1 = (1− w)xn + wxn+1 (2.28)

conxn+1 = g (xn) (2.29)

Es como si nos quedasemos con una parte de la iteracion anterior, (1− w) y tomasemossolo w de la siguiente g (xn).

Si sucediese que en la raiz |g′(s)| ≥ 1, entonces, la nueva funcion de aproximacionessucesivas relajada

h(x) = (1− w)x+ wg(x) (2.30)

tiene como derivadah′(x) = (1− w) + wg′(x) (2.31)

Podemos elegir w que haga que |h′(x)| < 1 en un entorno de la raiz, e incluso buscarque sea cero, que serıa el optimo de convergencia. A veces no es facil estimar la derivadade la funcion g. Un estimacion grosera en ese entorno, podrıa ser obtenida a partir delpropio esquema:

g′ (x) ≈ g (x1)− g (x0)

x1 − x0

(2.32)

Con esta estimacion es facil ajustar un valor razonable para w.

0 = (1− w) + wg′(x) (2.33)

w =1

1− g′(x)(2.34)

2.7 Metodo de Newton-Raphson.

Expondremos diferentes formas de deducir el metodo de Newton-Raphson 3 , el cual esfundamental en la resolucion de ecuaciones y sistemas de ecuaciones no lineales.

3Joseph Raphson (1648 Middlesex, Inglaterra- 1715). No hay mucha informacion sobre su vida. Selicencio en la Universidad de Cambridge en 1692, aunque entro en la Royal Society en 1691, un ano

19

Page 21: calculo numerico

2.7.1 Obtencion del metodo de Newton a partir del factor op-

timo de relajacion.

Consideremos de nuevo la ecuacion 2.1

f(x) = 0

y supongamos que se intenta encontrar su raiz o raıces en un intervalo [a, b]. Como yahemos comentado, el procedimiento habitual consiste en la transformacion de 2.1 en unaecuacion 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 izquierda2.1

x+ f(x) = x (2.35)

y definir g en la formag(x) = x+ f(x) (2.36)

Si relajamos este esquema

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

Si foramos derivada nula para h, tendremos

h′(x) = 0 = 1 + wf ′(x) (2.38)

y por tanto

w =−1f ′(x)

(2.39)

con lo que

h(x) = x− f(x)

f ′(x)(2.40)

y el esquema iterativo

xn+1 = xn −f(xn)

f ′(xn)(2.41)

que es el metodo de Newton.

antes de su licenciatura, lo cual era muy raro. Su eleccion para la Royal Society se baso en su libroAnalysis aequationum universalis, publicado en 1690, que contiene el metodo de Newton-Raphson paraaproximar las raices de una ecuacion.

En Method of Fluxions Newton describe el mismo metodo, y como ejemplo, encuentra la raiz de x3 −2x − 5 = 0 que esta entre 2 y 3. Aunque Newton escribio este artıculo en 1671, no fue publicado hasta1736. Por tanto, Raphson publico el mismo resultado casi 50 anos antes.

No se sabe mucho de la relacion entre Newton y Raphson, aunque parece que era importante. Se creeque Raphson era una de las pocas personas a las que Newton mostraba sus artıculos, y participo enalgunas de las disputas entre Newton y Leibniz, pero esta es otra historia.

20

Page 22: calculo numerico

2.7.2 Obtencion del metodo de Newton a partir de un desar-

rollo en serie de Taylor.

Supongamos que f es de clase C1[a, b] y f ′(x) 6= 0 en [a, b]. Supongamos que estamosen el paso n de nuestro esquema de aproximaciones sucesivas y buscamos ∆x tal quexn+1 = xn +∆x sea la raiz del problema. Haciendo un desarrollo en serie de f en tornoa xn hasta el primer termino tendremos:

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

De aquı obtenemos ∆x

∆x = − f(xn)

f ′(xn)(2.43)

y por tanto, tendremos ya el esquema buscado:

xn+1 = xn +∆x = xn −f(xn)

f ′(xn)(2.44)

2.7.3 Interpretacion geometrica del metodo de Newton.

La interpretacion es clara. Cuando se calcula x1 como

x1 = x0 −f(x0)

f ′(x0)(2.45)

lo que se esta haciendo es tomar la tangente a la curva y = f(x) en el punto (x0, f(x0))y hallar la interseccion de esa recta con el eje OX.

En efecto, la tangente tiene por ecuacion

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

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

x = x0 −f(x0)

f ′(x0)(2.47)

es decir x1. O sea, la idea es ir acercandose a la raiz a traves de las tangentes de la curva,ver figura 2.2. La idea es muy buena, y el metodo de Newton, como ya comentabamos,cuando funciona, lo hace muy bien. Por otro, lado, con esta interpretacion geometrica esfacil ver los problemas que surgen cuando llegamos a un punto de tangente horizontal.

2.7.4 Obtencion del metodo de Newton a partir de las ideas de

convergencia local

Consideremos de nuevo la ecuacion 2.1

f(x) = 0

21

Page 23: calculo numerico

x1 x0

X

ba

y=f(x)

Figura 2.2: Interpretacion geometrica del metodo de Newton

y supongamos que se intenta encontrar su raiz o raıces en un intervalo [a, b]. Como yahemos comentado, el procedimiento habitual consiste en la transformacion de 2.1 en unaecuacion equivalente, de iguales raıces, y que sea del tipo 2.2.

x = g(x)

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

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

donde F es una funcion real de variable real que solo se anule en el origen:

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

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

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

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

En principio hay plena libertad para la eleccion de F , pero la forma usual de tomarla,para la obtencion de raıces de 2.1 es

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

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

22

Page 24: calculo numerico

Supongamos que f es de clase C1[a, b] y f ′(x) 6= 0 en [a, b]. Como hemos visto ya alestudiar la convergencia local, si s es raiz de f en [a, b], interesa que |g ′(s)| < 1, y serıamejor si g′(s) = 0, pues la convergencia serıa mas rapida. Veamos la forma de h parapoder conseguir esto. Tomando h es de clase C1[a, b], tendremos que g tendra la mismaclase. Ademas:

g′(x) = 1 + h′(x)f(x) + h(x)f ′(x) (2.52)

En partircular en la raiz de f , s,

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

Si se desea que g′(s) = 0, bastara con que

h(s) = − 1

f ′(s)(2.54)

La eleccion mas logica serıa tomar como h(x) la constante

h(x) = − 1

f ′(s)(2.55)

con lo cual serıa

g(x) = x− f(x)

f ′(s)(2.56)

pero esto no es practico porque naturalmente se desconoce en principio s y, por tanto,tambien f ′(s). De ahı que interese mas tomar

h(x) = − 1

f ′(x)(2.57)

Sin embargo, para que h ∈ C1[a, b], al haberla definido ası necesitaremos subir la clasede f a 2. Por tanto, se tendra

g(x) = x− f(x)

f ′(x)(2.58)

y el metodo de Newton sera por tanto

xn+1 = xn −f(xn)

f ′(xn)(2.59)

La eleccion de x0 es muy importante, dadas las caracterısticas de convergencia local sobrelas que hemos construido el metodo. De hecho, el metodo de Newton, caso de convergerlo hace muy rapidamente, pero caso de diverger tambien lo hace muy rapidamente. Dehecho, tal como hemos construido el metodo siempre se tendra convergencia local si seelige adecuadamente el huesped inicial. La convergencia global, mas difıcil de demostrar,se estudia desde las hipotesis del teorema de la aplicacion contractiva, y no aporta grancosa.

23

Page 25: calculo numerico

2.8 Resolucion de sistemas de ecuaciones no lineales.

Consideremos ahora el problema de hallar una solucion s ∈ IRn de un sistema de necuaciones con n incognitas.

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

· · ·fn (x1, x2, · · · , xn) = 0

(2.60)

donde f1, f2, fn son las funciones componentes de f . El problema se puede plantear enterminos analogos a los de los temas anteriores, usando notacion vectorial. Si denotamospor x al vector de IRn de componentes (x1, x2, · · · , xn), podemos escribir la ecuacionanterior en forma vectorial.

f(x) = 0 (2.61)

que podemos transformar enx = g(x) (2.62)

x1 = g1 (x1, x2, · · · , xn)x2 = g2 (x1, x2, · · · , xn)

· · ·xn = gn (x1, x2, · · · , xn)

(2.63)

y a la que podemos intentar aplicar el teorema de la aplicacion contractiva, buscando elvector solucion x como lımite de una sucesion

x(m+1) = g(

x(m))

(2.64)

Teorema 2.8.1 Sea g una funcion real definida en D =∏ni=1[ai, bi] con valores en IRn,

tal que:

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

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

Entonces existe una unica raiz de 2.64 que se obtiene como lımite de la sucesion x(m+1) =g(

x(m))

donde x0 es un punto cualquiera de D.

Para demostrar este teorema, hay que pensar que los cerrados de un completo, y IRn loes, son completos, y la segunda propiedad equivale a decir que g es una contraccion. Portanto se verifican las hipotesis del teorema de la aplicacion contractiva.

En varias variables, casi siempre es muy difıcil demostrar que la funcion g es lipschitzianade constante menor que la unidad. Esta condicion puede ser sustituida a veces por otrascondiciones mas faciles de comprobar. Por ejemplo, si todas las funciones gi que aparecenen 2.63 son C1(D), es decir, continuas y con derivadas parciales continuas en D, y si severifica

∂gi(x)

∂xj

≤ L

n∀x ∈ D (2.65)

24

Page 26: calculo numerico

con L < 1, para todos los i, j = 1, 2, · · · , n, entonces se cumple el teorema de la aplicacioncontractiva si normamos IRn con la norma 1 o ∞.

Demostracion:

Haciendo un desarrollo en serie de Taylor de la funcion de varias variables g, tenemosque existen n2 valores ζij tales que:

gi(x)− gi(y) =n∑

j=1

∂gi (ζij)

∂xj(xj − yj) (2.66)

y por 2.65

|gi(x)− gi(y)| ≤L

n

n∑

j=1

|xj − yj| (2.67)

Si tomamos la norma 1, y sumamos, tendremos.

‖ g(x)− g(y) ‖1=n∑

j=1

|gi(x)− gi(y)| ≤ Ln∑

j=1

|xj − yj| = L ‖ x− y ‖1 (2.68)

que es lo que querıamos ver. Se deja como ejercicio la comprobacion para la norma ∞.

Existe una version mas general de este teorema que pasamos a enunciar:

Teorema 2.8.2 Sea g una funcion real diferenciable definida en un conjunto cerradoacotado convexo D, y tal que cualquiera de las normas inducidas del jacobiano de g entodos los puntos de D sea menor que la unidad, o el radio espectral del jacobiano de gsea menor que la unidad para todos los puntos de D, entonces existe una unica raiz de2.64 que se obtiene como lımite de la sucesion x(m+1) = g

(

x(m))

donde x0 es un puntocualquiera de D.

2.8.1 Convergencia local.

Las ideas sobre convergencia local admiten una extension sencilla a varias variables,siempre usando la norma 1 o la norma ∞. Ası, si s es la raiz buscada, y

∂gi(s)

∂xj

<1

n∀i, j = 1, 2, · · · , n (2.69)

tendremos convergencia si el huesped inicial esta suficientemente cerca de la raiz. Con lacota del error sucede lo mismo cambiando el valor absoluto por la norma correspondiente.

De hecho, es suficiente con que ‖Jg(s)‖ < 1 para cualquier norma inducida, y eso es lomismo que decir que el radio espectral de la matriz jacobiana sea menor que la unidad,ρ(Jg(s)) < 1.

25

Page 27: calculo numerico

2.9 Metodo de Newton-Raphson para sistemas de

ecuaciones no lineales.

Supongamos que f es de clase C1(D) y Jf (x) no es singular en D, siendo D un conjuntocerrado acotado convexo D. Supongamos que estamos en el paso n de nuestro esquemade aproximaciones sucesivas y buscamos ∆x, tal que xn+1 = xn + ∆x sea la raiz delproblema. Haciendo un desarrollo en serie de f en torno a xn hasta el primer terminotendremos, dado que el jacobiano es la aproximacion lineal:

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

De aquı obtenemos ∆x∆x = −J−1

f (xn)f(xn) (2.71)

y por tanto, tendremos ya el esquema buscado 4

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

xn+1 = xn +∆x (2.73)

Otra vez, la convergencia local esta garantizada si el jacobiano no es singular en la raiz,pero la convergencia global es de dificilısima demostracion.

2.10 Resumen

1. Lo primero que hay que hacer para resolver una ecuacion o sistema no lineal esacotar una zona donde exista al menos una raiz. Si podemos asegurar que sera solouna, mucho mejor.

2. Lo siguiente es reformular el problema como uno de punto fijo, y lanzar el esquemapara ver si converge a la raiz buscada.

3. Caso de que no haya convergencia, es bueno intentar un esquema de relajacion.

4. Si la funcion es facilmente derivable, podemos intentar un esquema de Newton-Raphson, de convergencia rapıdisima caso de darse.

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

2.11 Referencias recomendadas para este tema.

[14], [5].

4Lo ponemos en este modo, pues para resolver un sistema lineal, hemos aprendido que no es necesarioinvertir la matriz del sistema, que es un problema bastante mas complejo.

26

Page 28: calculo numerico

Capıtulo 3

Resolucion de sistemas lineales.

3.1 Matrices y normas matriciales.

Antes de entrar en los aspectos centrales referidos a la resolucion de sistemas linealesconviene recordar conceptos basicos que hemos estudiado en Algebra Lineal y sin loscuales es imposible entender los problemas que vamos a resolver. Para este repaso y engeneral para todos estos metodos recomendamos como referencia los textos de G. Golub,y en particular el [6].

3.1.1 Matrices.

Teorema 3.1.1 Para una matriz cuadrada A de n× n, las siguientes afirmaciones sonequivalentes:

1. A−1 existe.

2. detA 6= 0.

3. El sistema lineal Ax = 0 tiene solamente la solucion x = 0.

4. Para cualquier vector b, el sistema lineal Ax = b tiene solucion unica.

5. Las filas y columnas de A son linealmente independiente.

6. El rango de la matriz A es n.

Definicion 3.1.1 Se dice que una matriz cuadrada A de n× n es diagonalmente domi-nante por filas (o diagonalmente dominante) si:

|aii| ≥j=n∑

j=1,j 6=i|aij|, i = 1, · · ·n (3.1)

Definicion 3.1.2 Se dice que una matriz cuadrada A de n× n es diagonalmente estric-tamente dominante por filas (o diagonalmente estrictamente dominante) si:

|aii| >j=n∑

j=1,j 6=i|aij|, i = 1, · · ·n (3.2)

27

Page 29: calculo numerico

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 tambien tener presente los resultados referidos a la descomposicion espec-tral o conjunto de autovalores de una matriz.

Teorema 3.1.3 Si la matriz cuadrada A de n × n tiene como autovalores λ1, · · ·, λn,entonces, para cualquier entero positivo m, λm1 , · · ·, λmn son autovalores de Am. Ademas,cualquier autovector de A es tambien autovector de Am.

Teorema 3.1.4 Si la matriz cuadrada A de n×n tiene como autovalores λ1, · · ·, λn, en-tonces, para cualquier entero positivo m, λ−1

1 , · · ·, λ−1n son autovalores de A−1. Ademas,

cualquier autovector de A es tambien autovector de A−1.

Teorema 3.1.5 Los autovalores de una matriz simetrica son reales.

Definicion 3.1.3 Se dice que una matriz cuadrada A de n × n es definida positiva sixtAx > 0 ∀x 6= 0.

Teorema 3.1.6 Los autovalores de una matriz simetrica son positivos si y solo si lamatriz es definida positiva.

Definicion 3.1.4 Se dice que dos matrices cuadradas A y B de n×n son semejantes siexiste una matriz regular P tal que:

B = PAP−1 (3.3)

Teorema 3.1.7 Una matriz A de n× n es semejante a una matriz diagonal si y solo sitiene n autovectores linealmente independientes.

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

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

ρ(A) = max1≤i≤n

|λi| (3.4)

28

Page 30: calculo numerico

3.1.3 Normas matriciales

Dentro de este repaso conviene recordar tambien resultados y definiciones correspon-dientes a normas matriciales y vectoriales. Todo este tema esta muy bien tratado en lareferencia [4], y de ahı lo hemos tomado. Sea A ∈ Mm×n(IK), espacio vectorial de lasmatrices de m× n de coeficientes reales o complejos. IK sera el cuerpo de los complejoso los reales, aunque se trabajara casi siempre con reales. Denotaremos por At la matriztraspuesta, y por A+ la matriz adjunta. Es decir, para A = (aij), A

t = (aj i) y A+ = (aj i).

Definicion 3.1.6 Dadas normas ‖ ‖IKn, ‖ ‖IKm, definimos en Mm×n(IK) una normainducida,1

‖ ‖ : Mm×n(IK) → IRA 7→ ‖A‖ , ‖A‖ = max

‖x‖=1‖Ax‖

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

‖AB‖ ≤ ‖A‖ · ‖B‖, A ∈Mm×n, B ∈Mn×p,

‖Ax‖ ≤ ‖A‖ · ‖x‖, A ∈Mm×n, x ∈ IKn.

A la primera propiedad la llamaremos compatibilidad con el producto de matrices, a lasegunda, compatibilidad con la norma vectorial ‖ ‖. Obviamente, segun variemos lasnormas vectoriales en los espacios IKn y IKm, obtendremos diferentes normas inducidasen Mm×n(IK), todas ellas equivalentes ya que este es un espacio de dimension finita. Dehecho, tomando norma p, p = 1 . . . ,∞, en IKn y IKm, tendremos las siguientes normasinducidas en Mm×n(IK),

‖A‖p := max‖x‖p=1

‖Ax‖p.

Los casos mas interesantes son p = 1, 2,∞. Se puede demostrar que la norma ‖ ‖1 es elmaximo de las sumas de las columnas de la matriz:

‖A‖1 = max1≤j≤n

m∑

i=1

|aij|

, A = (aij) ∈Mm×n(IK).

y que la norma euclıdea, ‖ ‖2, de una matriz

‖A‖2 =√

ρ(A+A) = µmax,

donde µmax es el mayor valor singular de A, es decir, la raız cuadrada del mayor autovalorde A+A. Por tanto, en el caso de una matriz simetrica o hermıtica, A, y, por tanto,

diagonalizable, ρ(A) =√

ρ(A+A) = ‖A‖2.

1Es lıcito sustituir el supremo por el maximo, ya que, al ser IKn un espacio de dimension finita,x ∈ IKn : ‖x‖ = 1 es un compacto y, por tanto, la funcion ‖Ax‖, continua, presenta maximo ymınimo.

29

Page 31: calculo numerico

La norma ‖ ‖∞, por su parte, es el maximo de las sumas de las filas de la matriz

‖A‖∞ = max1≤i≤m

n∑

j=1

|aij|

, A = (aij).

No obstante, tambien existen normas matriciales no inducidas por ninguna norma enIKn, por ejemplo, la norma de Schur, ‖ ‖S, no es inducida por ninguna norma vectorial,

‖A‖S =√

Tr (A+A) =

m∑

i=1

n∑

j=1

|aij|2, A = (aij) ∈Mm×n(IK),

pero, a pesar de ello, verifica que ‖AB‖S ≤ ‖A‖S · ‖B‖S.Una propiedad interesante de las normas inducidas es que la matriz identidad tiene normaunidad, ya que,

‖II‖ = max‖x‖=1

‖IIx‖ = max‖x‖=1

‖x‖ = 1,

Teorema 3.1.9 Sea ‖ ‖ una norma compatible con el producto de matrices en Mn(IK).Entonces, ρ(A) ≤ ‖A‖, para toda A ∈Mn(IK).

Teorema 3.1.10 Sea A ∈ Mn(IK) una matriz fija. Sea ε > 0. Entonces existe unanorma inducida ‖ ‖ε tal que ‖A‖ε ≤ ρ(A) + ε.

Un corolario interesante es el siguiente:

Corolario 3.1.1 ρ(A) = inf‖ ‖ ‖A‖∀A ∈Mn(IK), es decir, que al recorrer las diferentesnormas 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, tambien, ya que, porel teorema anterior, hay valores de ‖A‖ tan proximos a ρ(A) como queramos.

En general, ρ(A), pese a ser el ınfimo de ‖A‖ al recorrer las distintas normas matri-ciales compatibles con el producto, no es el mınimo. Lo vemos con un contraejemplo.Consideremos la matriz,

A =

(

0 10 0

)

Esta matriz tiene un unico autovalor doble, el cero. Luego su radio espectral es nulo. Encambio, no puede haber ninguna norma en la que ‖A‖ = 0, ya que no es la matriz nula.En cambio, hemos visto que, para una matriz cuadrada simetrica o hermıtica, sı existemınimo, ya que, ρ(A) = ‖A‖2.

Conviene recordar tambien el siguiente teorema relativo a la exponenciacion de matrices.

Teorema 3.1.11 Para una matriz cuadrada A de n×n, las siguientes afirmaciones sonequivalentes:

1. limk→∞Ak = 0.

2. limk→∞ ‖ Ak ‖= 0.

3. ρ(A) < 1.

30

Page 32: calculo numerico

3.2 Condicionamiento de un sistema lineal.

Tenemos el sistema linealAx = b (3.5)

con

A =

10 7 8 77 5 6 58 6 10 97 5 9 10

(3.6)

b =

32233331

(3.7)

cuya solucion es un vector de componentes unitarias. Normalmente estos sistemas linealesse obtienen a partir de calculos previos que producen errores tanto en los coeficientes delsistema con en los del termino independiente. A su vez, los datos con los que se realizanesos calculos previos podrıan estar afectados de errores por proceder de experimentos, uotros calculos a su vez. Por tanto, el sistema lineal resultante en realidad no sera ese, sinoque sera un sistema lineal perturbado tanto en la matriz del sistema como en el terminoindependiente. El sistema lineal perturbado podrıa tener el siguiente aspecto

A+∆A =

10 7 8.1 7.27.08 5.04 6 58 5.98 9.89 9

6.99 4.99 9 9.98

(3.8)

b+∆b =

32.0122.9933.0130.99

(3.9)

y por tanto ∆A y ∆b, las perturbaciones, tendrıan los siguientes valores:

∆A =

0 0 0.1 0.20.08 0.04 0 00 −0.02 −0.11 0

−0.01 −0.01 0 −0.02

(3.10)

∆b =

0.01−0.010.01−0.01

(3.11)

Estudiemos como varıa la solucion del sistema lineal cuando perturbamos la matriz delsistema y cuando perturbamos solo el termino independiente. Resolvamos primero elsistema lineal:

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

31

Page 33: calculo numerico

x+∆x =

1.82−0.361.350.79

→ ∆x =

0.82−1.360.35−0.21

(3.13)

Hemos perturbado el termino independiente:

‖ ∆b ‖∞‖ b ‖∞

= 3.03 10−4 (3.14)

y esta perturbacion induce una variacion en la solucion:

‖ ∆x ‖∞‖ x ‖∞

= 1.36 (3.15)

El error se ha amplificado por tanto unas 4500 veces. Partıamos de una perturbacionrelativa del orden de 3.03 10−4 y obtenemos un error relativo del orden de 1.36.

Estudiemos este fenomeno desde el punto de vista teorico:

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

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

pero Ax = b, y por tantoA∆x = ∆b (3.18)

∆x = A−1∆b (3.19)

Como las normas que utilizamos son inducidas, se verificara que:

‖ ∆x ‖=‖ A−1∆b ‖≤‖ A−1 ‖‖ ∆b ‖ (3.20)

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

1

‖ A ‖‖ ∆x ‖ ≤1

‖ b ‖ (3.21)

multiplicando estas dos desigualdades termino a termino entre si tendremos:

‖ ∆x ‖‖ x ‖ ≤‖ A ‖‖ A−1 ‖ ‖ ∆b ‖‖ b ‖ (3.22)

Por tanto el error relativo en la solucion se mayora respecto al error relativo en la pertur-bacion mediante el factor ‖ A ‖‖ A−1 ‖. Este numero se denomina condicionamiento dela matriz A, K(A) o cond(A) y cuanto mas pequeno sea este numero, menos afectaran ala solucion perturbaciones en el termino independiente. Comprobemos esta desigualdaden el ejemplo anterior:

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

y por tanto, se debe dar que:

1.36 ≤ 4488 · 3.0303 10−4 = 1.36

32

Page 34: calculo numerico

Si ahora perturbamos la matriz del sistema, este quedara como:

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

x+∆x =

−81137−3422

→ ∆x =

−82136−3521

(3.25)

La perturbacion de la matriz del sistema:

‖ ∆A ‖∞‖ A ‖∞

=0.3

33≈ 0.01 (3.26)

y esta perturbacion induce una variacion en la solucion:

‖ ∆x ‖∞‖ x ‖∞

= 136 (3.27)

El error se ha amplificado por tanto unas 13600 veces. Partıamos de una perturbacionrelativa del orden de 0.01 y obtenemos un error relativo del orden de 136.

Estudiemos este fenomeno desde el punto de vista teorico:

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

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

∆x = A−1∆A(x+∆x) (3.30)

y mayorando y, multiplicando y dividiendo por ‖ A ‖

‖ ∆x ‖‖ x+∆x ‖ ≤‖ A ‖‖ A

−1 ‖ ‖ ∆A ‖‖ A ‖ (3.31)

Ahora, con otra medida del error relativo, vuelve a ser el condicionamiento de la matriz Ael factor que mayora los errores en las perturbaciones respecto a los errores en la solucion.

Por su definicion esta claro que el condicionamiento de una matriz depende de la normaelegida. Una propiedad interesante es que el condicionamiento tiene como cota inferiora la unidad. Esto es consecuencia de que la norma inducida de la matriz identidad essiempre 1.

1 =‖ I ‖=‖ AA−1 ‖≤‖ A ‖‖ A−1 ‖ (3.32)

Otra propiedad muy interesante es la que relaciona el condicionamiento con el radioespectral de la matriz del sistema caso de que esta sea simetrica. Si la matriz es simetricasu norma 2, es su radio espectral. Por tanto:

cond2(A) =‖ A ‖2‖ A−1 ‖2= ρ(A)ρ(A−1) =|λmax||λmin|

(3.33)

33

Page 35: calculo numerico

Este resultado tiene una version general ahora en terminos de los valores singulares, quenos permite decir que una matriz estara mejor condicionada cuanto mas parecidos enmodulo sean entre si su espectro de autovalores o su espectro de valores singulares. Dehecho, la matriz 3.6 del ejemplo anterior es simetrica. Su espectro de autovalores es:

Sp(A) =

0.01020.84313.858130.2887

(3.34)

Como vemos, los autovalores son muy diferentes entre si. Al ser simetrica, su condi-cionamiento en la norma 2, sera:

cond2(A) =30.2887

0.0102= 2984 (3.35)

Otra forma de ver el condicinamiento es pensar que resolver un sistema lineal equivalea encontrar una combinacion lineal de vectores que nos permitan escribir otro vector, eltermino independiente. Si los vectores columna que forman el sistema lineal aun siendolinealmente independientes estan casi en un mismo hiperplano (recta en 2D, plano en3D, etc), dicha combinacion lineal sera geometricamente mucho mas delicada.

Ejercicio 3.2.1 Cambiar alguno del coeficientes del sistema lineal 3.6 manteniendo lasimetrıa, y repitiendo todo este analisis. Se pretende que comprobeis que con un condi-cionamiento menor o mayor, los errores en las soluciones de los sistemas perturbadosverifican las nuevas cotas respondiendo a este nuevo condicionamiento.

3.3 Metodos directos.

Una vez que tenemos claro que aunque resolvamos nuestro sistema lineal la solucion queobtengamos puede tener errores significativos respecto al resultado esperado, procedeestudiar como podemos resolver del modo mas rapido y preciso el sistema en cuestion.En ese sentido hay dos grandes familias de metodos: los directos y los iterativos. Losdirectos se caracterizan porque conducen a la solucion exacta 2 mediante un numero finito(aunque muy grande) de operaciones. Los iterativos consisten en generar una sucesioncuyo lımite sea la solucion del sistema lineal. El unico problema que plantean los metodositerativos es que esta sucesion convergente es difıcil de obtener y a menudo dicha sucesiondivergera. En cualquier caso, siempre que consigamos poder resolver nuestro sistemamediante un metodo iterativo esto sera mas eficiente. Estudiemos primero los metodosdirectos.

3.3.1 Eliminacion gaussiana.

El mas conocido de los metodos directos es la eliminacion gaussiana. Se ha estudiado yaen los cursos de algebra lineal pero conviene recordarlo. Para ello nos basaremos en un

2salvo errores de redondeo que pueden ser minimizados mediante tecnicas de pivotaje cuyo estudiodetallado escapa al contenido del curso

34

Page 36: calculo numerico

ejemplo, e iremos dando los pasos en dicho ejemplo para entender como funciona:

1 2 3 62 3 4 9−1 0 −1 −2

(3.36)

haciendo transformaciones elementales utilizando la primera fila, hacemos cero todos loselementos de la primera columna excepto el diagonal.

1 2 3 60 −1 −2 −30 2 2 4

(3.37)

Ahora hacemos lo mismo con el elemento diagonal de la segunda fila, y hacemos cerotodos los elementos de la segunda columna por debajo del diagonal.

1 2 3 60 −1 −2 −30 0 −2 −2

(3.38)

Con esto tenemos ya un sistema triangular superior que se resuelve facilmente por susti-tucion hacia atras.

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 loselementos diagonales sean en valor absoluto lo mas grandes posibles (pivotaje), aunquesu estudio detallado escapa al contenido del curso.

3.3.2 Descomposicion LU.

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

Ax = b

se transforma en resolver:LUx = b (3.42)

Una vez obtenida esta descomposicion, resolvemos dos sistemas lineales triangulares:

Ly = b (3.43)

Ux = y (3.44)

y ya tenemos el vector x solucion buscada.

Existen muchas formas de realizar esta descomposicion. Explicaremos la mas sencilla, el

35

Page 37: calculo numerico

algoritmo de Crout, que funciona siempre que todos los menores principales sean distintosde 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 ladescomposicion de Crout se supone que la matriz triangular superior U tiene una diagonalformada por elementos unidad. Resolvamos el sistema lineal del apartado anterior coneste metodo.

1 2 32 3 4−1 0 −1

=

l11 0 0l21 l22 0l31 l32 l33

1 u12 u13

0 1 u23

0 0 1

(3.45)

Para calcular estos coeficientes procedemos sucesivamente por identificacion:

l11 = 1

l11u12 = 2→ u12 = 2

l11u13 = 3→ u13 = 3

l21 = 2

l21u12 + l22 = 3→ l22 = −1l21u13 + l22u23 = 4→ u23 = 2

l31 = −1l31u12 + l32 = 3→ l32 = 2

l31u13 + l32u23 + l33 = −1→ l33 = −2Y ya tenemos todos los coeficientes. Podemos comprobar que A = LU . Pasamos aresolver los dos sistemas triangulares:

Ly =

69−2

1 0 02 −1 0−1 2 −2

y1

y2

y3

=

69−2

(3.46)

Este primero se resuelve por sustitucion hacia adelante.

y1 = 6

2y1 − y2 = 9→ y2 = 3

−y1 + 2y2 − 2y3 = −2→ y3 = 1

Y ahora resolvemos el triangular superior Ux = y por sustitucion hacia atras.

Ux =

631

1 2 30 1 20 0 1

x1

x2

x3

=

631

(3.47)

x3 = 1

x2 + 2x3 = 3→ x2 = 1

x1 + 2x2 + 3x3 = 6→ x1 = 1

Cuando una matriz no tiene ninguna estructura especial (simetrica, con muchos ceros,etc), y no converge para los metodos iterativos disponibles, la descomposicion LU es elmetodo mas aconsejable.

36

Page 38: calculo numerico

3.3.3 Descomposicion de Cholesky, A = LLt.

A menudo los sistemas lineales tienen como matriz del sistema la matriz de Gramm deun producto escalar. Estas matrices y otras son simetricas y definidas positivas (xtAx >0 ∀x 6= 0). Para este tipo de matrices existe una descomposicion LU especial, ladescomposicion de Cholesky. En esta descomposicion U = Lt, y la matriz L se obtieneotra vez por identificacion, igual que en el algoritmo de Crout. Se deja como ejercicioresolver de este modo el sistema lineal 3.5.

3.3.4 Metodo de Gauss-Jordan.

El metodo de Gauss-Jordan es el metodo directo optimo para encontrar la inversa deuna matriz cuando esta no tiene ninguna estructura particular. Es un error de conceptoinvertir una matriz para resolver un sistema lineal, pues en realidad calcular la inversaes como resolver n sistemas lineales. El metodo de Gauss-Jordan consiste en realizareliminacion gaussiana poniendo en la parte derecha la identidad, y realizando transfor-maciones elementales hasta tener a la izquierda la identidad, y a la derecha tendremosentonces la inversa. Veamoslo con el mismo ejemplo.

1 2 3 1 0 02 3 4 0 1 0−1 0 −1 0 0 1

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

Normalizamos la segunda fila dividiendo por el elemento diagonal, hacemos cero el restode los elementos de la segunda columna.

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

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

Normalizamos la tercera fila dividiendo por el elemento diagonal, hacemos cero el restode los elementos de la tercera columna.

1 0 −1 −3 2 00 1 2 2 −1 00 0 1 1.5 −1 −0.5

1 0 0 −1.5 1.0 −0.50 1 0 −1.0 1.0 1.00 0 1 1.5 −1.0 −0.5

3.4 Metodos iterativos.

3.4.1 Convergencia.

Los metodos iterativos responden a la misma filosofıa que utilizamos para resolver demodo iterativo problemas no lineales. De lo que se trata es de transformar el problemaen uno de punto fijo para despues aplicar el teorema de la aplicacion contractiva.

Si tenemos que resolver Ax = b, podrıamos por ejemplo tratar de resolver iterando

37

Page 39: calculo numerico

x = (I − A)x + b. En general, los esquemas iterativos a que haremos referencia serantodos del tipo:

x(k+1) = Bx(k) + c (3.48)

donde B ∈Mn(IK) y c ∈ IKn. En el lımite

x = Bx+ c (3.49)

y por tanto, ha de ser que:c = (I −B)A−1b (3.50)

Una vez que c verifica esa condicion, la convergencia depende del radio espectral de lamatriz B. Enunciemoslo 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 launidad.

”→”

Supongamos que el esquema converge. Se tendra por tanto que la sucesion x(k)− x debetender a cero. por tanto:

x(k+1) − x = Bx(k) + c− (Bx+ x) = B(x(k) − x) = Bk+1(x(0) − x)

O sea que para cualquier x(0) esa sucesion tiende a cero. Dicho de otro modo, indepen-dientemente del vector v,

limk→∞

Bkv = 0

Esto solo es posible si el radio espectral de la matriz B es menor que uno. Este resultadoes fundamental en algebra lineal. Su demostracion general es algo complicada. Si lamatriz es diagonalizable es mas facil de intuir que si alguno de los autovalores λ fuesede modulo igual o superior a uno, tomando el autovector correspondiente como vector vesta claro que esa sucesion nunca tenderıa a cero, por ser Bv = λv.

La inversa es una consecuencia directa del teorema de la aplicacion contractiva. Siρ(B) < 1, existe alguna norma matricial inducida en la que ‖ B ‖< 1. Por tanto, ydado que ‖ B(x − y) ‖≤‖ B ‖‖ x − y ‖ tendremos que la aplicacion T (x) = Bx + cverificara la condicion de Lipschitz y por tanto, sera una contraccion de IKn, con lo quela sucesion convergera a un punto fijo que sera la solucion del sistema lineal. Ademasesa convergencia es independiente del huesped inicial, al ser una contraccion en todo elespacio, aunque sera mas rapida si el huesped inicial esta correctamente elegido y sobretodo si ρ(B) es bastante menor que la unidad.

3.4.2 Esquema general.

Dentro de los metodos iterativos estudiaremos aquellos que se basan en una descomposi-cion de la matriz A del tipo A = M −N con M invertible, que son los mas habituales yque conducen a esquemas iterativos del tipo.

Mx(k+1) = Nx(k) + b (3.51)

38

Page 40: calculo numerico

Se trata de elegir M de tal forma que ese sistema lineal en cada paso sea sencillo deresolver.

Se debe tener que c = M−1b verifique la condicion 3.50

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

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

3.4.3 Metodo iterativo de Jacobi.

Se basa en una descomposicion de la matriz A del tipo A = M − N , con M = D,parte diagonal de la matriz A, y N = L + U , siendo L, U las partes inferior y superiorrespectivamente de la matriz A cambiadas de signo. Obliga a resolver un sistema diagonalen cada paso. Para definir estas matrices D, L y U se puede hacer utilizando bloques devarios elementos, aunque nosotros utilizaremos aquı siempre bloques elementales. Veamoscon un ejemplo como funciona el esquema 3.51 en la descomposicion de Jacobi de la matrizA.

Se trata de resolver el sistema lineal:

4 1 01 4 10 1 4

x1

x2

x3

=

−3101

(3.53)

cuya solucion es el vector:

x1

x2

x3

=

−1.53−0.5

(3.54)

Procedamos a realizar la descomposicion de la matriz del sistema:

M = D =

4 0 00 4 00 0 4

L =

0 0 0−1 0 00 −1 0

U =

0 −1 00 0 −10 0 0

(3.55)

conN = L+ U (3.56)

La eleccion del huesped inicial no influye en la convergencia, pero sı en el numero deiteraciones que daremos en el esquema para llegar a una solucion aceptable. Si se tieneuna estimacion de la solucion, se usara esta como huesped inicial. Caso de que no seaası, se puede tomar como huesped inicial el formado por el termino independiente, o unode componentes todas iguales a 1. Nosotros tomaremos por ejemplo uno que harıa quese cumpliese la primera lınea del sistema lineal:

x(0) =

x(0)1

x(0)2

x(0)3

=

−14−1

(3.57)

39

Page 41: calculo numerico

Para comprobar si estamos convergiendo a la solucion es conveniente disponer de un buencriterio de convergencia. Demostraremos mas adelante un resultado que nos permitegarantizar que si controlamos el valor de la norma del residuo r(k) = b−Ax(k) estaremoscontrolando el error e(k) = x− x(k).

Ası, en este ejemplo:‖ r(0) ‖∞= 4 (3.58)

Demos el primero paso del esquema:

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

4 0 00 4 00 0 4

x(1) =

0 −1 0−1 0 −10 −1 0

−14−1

+

−3101

(3.60)

Y tendremos por tanto que resolver el sistema diagonal:

4 0 00 4 00 0 4

x(1) =

−712−3

(3.61)

x(1) =

−1.753

−0.75

(3.62)

con‖ r(1) ‖∞= 1 (3.63)

Por tanto, el residuo ha disminuido. Si seguimos iterando:

x(2) =

−1.53.125−0.5

‖ r(2) ‖∞= 0.5 (3.64)

x(5) =

−1.50393.0000−0.5039

‖ r(5) ‖∞= 0.0156 (3.65)

etc... Vamos a enunciar un teorema de convergencia muy interesante pues se refiere aun tipo de matrices, las diagonal estrictamente dominante que aparecen a menudo alresolver numericamente ecuaciones diferenciales en derivadas parciales.

Teorema 3.4.2 Supongamos que una matriz A sea diagonal estrictamente dominante:

|aii| >∑

j 6=i|aij|, i = 1, · · ·n

Entonces, el metodo de Jacobi converge para esta matriz.

40

Page 42: calculo numerico

La demostracion es bastante sencilla:

B = M−1N = D−1(L+ U) = −

1a11

0 · · · 0

0 · · · · · · 00 · · · · · · 00 · · · 0 1

ann

0 a12 · · · a1n

a21 0 · · · a2n

· · · · · · · · · · · ·an1 · · · ann−1 0

= −

0 a12

a11· · · a1n

a11a21

a220 · · · a2n

a22

· · · · · · · · · · · ·an1

ann· · · ann−1

ann0

Si calculamos la norma de esta matriz:

‖B‖∞ = maxi=1,n

j 6=i |aij||aii|

(3.66)

Este cociente es siempre inferior a la unidad al ser la matriz diagonal estrictamentedominante, por tanto:

‖B‖∞ < 1 (3.67)

Pero al ser esta una norma inducida, se tiene tambien que ρ(B) < 1, y por tanto elmetodo es convergente.

3.4.4 Metodo iterativo de Gauss-Seidel.

Se basa en una descomposicion de la matriz A del tipo A = M − N , con M = D − L,y N = U . Obliga a resolver un sistema triangular por sustitucion hacia adelante encada paso. Por tanto, cada paso es mas complicado que en el metodo de Jacobi, pero lavelocidad de convergencia es superior en cierto tipo de matrices. Veamos como funcionacon el mismo ejemplo 3.53.

Mx(1) = Nx(0) + b = Ux(0) + b (3.68)

4 0 01 4 00 1 4

x(1) =

0 −1 00 0 −10 0 0

−14−1

+

−3101

(3.69)

Y tendremos por tanto que resolver el sistema triangular superior:

4 0 0−1 4 00 −1 4

x(1) =

−6.187510.54691.0000

(3.70)

que se resuelve por sustitucıon hacia adelante:

x(1) =

−1.75003.1875−0.5469

(3.71)

41

Page 43: calculo numerico

con‖ r(1) ‖∞= 0.8125 (3.72)

Por tanto, el residuo ha disminuido. Si seguimos iterando:

x(2) =

−1.54693.0234−0.5059

‖ r(2) ‖∞= 0.1641 (3.73)

x(5) =

−1.50013.0000−0.5000

‖ r(5) ‖∞= 0.0003 (3.74)

Como vemos, el residuo en el paso quinto es muy inferior al correspondiente al metodode Jacobi, 0.0003 frente a 0.01. Respecto a la convergencia enunciamos un resultadoequivalente al ya referido en el metodo de Jacobi.

Teorema 3.4.3 Supongamos que una matriz A sea diagonal estrictamente dominante:

|aii| >∑

j 6=i|aij|, i = 1, · · ·n

Entonces, el metodo de Gauss-Seidel converge para esta matriz.

Aunque el teorema es el mismo que el enunciado para el metodo de Jacobi, su de-mostracion no es tan sencilla y por tanto no la haremos.

3.4.5 Test de parada.

Lo importante es parar en una iteracion k tal que el error:

‖ e(k) ‖=‖ x− x(k) ‖< ε1 (3.75)

O sea, tal que la diferencia en norma entre la solucion x y la estimacion de ese valoren la iteracion k sea menor que un valor ε1 dado. Dado que no sabemos por supuestox, tendremos que llegar a esa conclusion de un modo indirecto. El mas interesante esanalizar el residuo

r(k) = b− Ax(k) (3.76)

Vamos a demostrar que:

Teorema 3.4.4 Si ‖r(k)‖‖b‖ < ε, entonces ‖e(k)‖

‖x‖ < ε cond(A)

Demostracion:e(k) = x− x(k) = x− A−1

(

b− r(k))

= A−1r(k) (3.77)

Por tanto

‖ e(k) ‖≤‖ A−1 ‖‖ r(k) ‖≤‖ A−1 ‖‖ b ‖ ε ≤‖ A−1 ‖‖ A ‖‖ x ‖ ε ≤ ε ‖ x ‖ cond(A) (3.78)

42

Page 44: calculo numerico

De donde la conclusion. Es interesante ver este pequeno teorema como que cuanto peor(mayor) sea el condicionamiento de una matriz, las mayoraciones en el residuo conducena mayoraciones en el error multiplicadas por ese condicionamiento. Sin embargo, si unamatriz tiene un condicionamiento bajo, acotar el residuo es casi equivalente a acotar elerror total.

En el ejemplo que hemos utilizado para mostrar los metodos de Jacobi y Gauss-Seidel,

cond∞(A) = 2.5714

‖ r(5) ‖‖ b ‖ = 0.0016

‖ e(5) ‖ = ‖ x− x(5) ‖= 0.0039→ ‖ e(5) ‖‖ x ‖ = 0.0013

y 0.0013 ≤ 2.5714 · 0.0016, con lo que se verifica la cota dada por el teorema.

Seleccionar el valor de ε1 dependera en cada caso del problema real que estemos resolvien-do, y dependera tambien de las estimaciones que podamos tener del condicionamiento dela 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 combinarambos tests para tener un test conjunto que nos garantice que estamos suficientementecerca de la solucion y que no necesitamos continuar trabajando.

3.5 Referencias recomendadas para este tema.

El texto de Golub y Ortega[6] es muy bueno. El libro de apuntes de Calculo Numerico[14]cuando la daba J.M. Sanchez hace un estudio exhaustivo de esta parte.

43

Page 45: calculo numerico

Capıtulo 4

Interpolacion.

4.1 El problema general de interpolacion

Sea E un R-e.v. de funciones de dimension finita n y E su dual. El problema general deinterpolacion se plantea del modo siguiente:

Dadas n formas lineales Li ∈ E∗ y n numeros reales wi (i = 1, . . . , n), determinar unvector f ∈ E tal que

< f,Li >= wi i = 1, ..., n (4.1)

Lema 4.1.1 Sean E un R-e.v. de dimension n y (ei)i=1,...,n una de sus bases. La familiade n formas lineales (Li)i=1,...,n es libre en E∗ si

det(< ej, Li >) 6= 0

Teorema 4.1.1 El problema de interpolacion general (4.1) tiene solucion unica si las nformas lineales (Li) son linealmente independientes en E∗.

En efecto, sea B = (ej) una base de E, el sistema lineal

Li

n∑

i=j

ajej

= wi i = 1, . . . , n (4.2)

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 demostracion anterior de tipo constructiva, contiene un metodo de resolucion delproblema (4.1). La solucion x tiene como componentes ai, las n soluciones del sistemalineal (4.2).

4.1.1 Casos particulares del problema general de interpolacion

Interpolacion polinomial

El espacio E es un espacio de polinomios o construido con polinomios. Es el caso masinteresante y el unico que estudiaremos con detalle.

Page 46: calculo numerico

Interpolacion de Lagrange

El problema de la determinacion de un polinomio P ∈ Pn(IR) que toma en n+ 1 puntosdistintos x0, . . . , xn de un subconjunto de S de IR , los n + 1 valores w0, . . . , wn previa-mente asignados, se denomina problema de interpolacion de Lagrange.

Tomando E = Pn(IR), IR-e.v. de los polinomios de una variable de grado n y definiendolas (n+ 1) formas lineales

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

se constata que este problema es un caso particular de (4.1). Si tomamos como base Bde Pn la canonica, ei = xii = 0, 1, . . . , n, el determinante de Gram es:

det(Li(ej)) =

1 x0 x20 . . . xno

......

.... . .

...1 xn x2

n . . . xnn

determinante del tipo de Vandermonde, que es distinto de cero si todos los xi son distintos.Por tanto, El problema de interpolacion de Lagrange siempre tiene solucion unica.

Comentarios:

• Este sistema lineal de Vandermonde solo tiene significado teorico, ya que su resolu-cion por metodos numericos es un pequeno compendio de comportamientos nega-tivos (alto coste computacional, alta exigencia de almacenamiento y baja exacti-tud).

• Las n + 1 formas lineales Li asociadas a los n + 1 puntos distintos x0, . . . , xn sonlinealmente independientes en P ∗n dual de Pn, luego describen una base B de esteIR-e.v.. Los numeros wi = P (xi) representan las componentes del polinomio in-terpolador P respecto de la base B = (lj) de Pn dual de la anterior y que vienedefinida como es habitual, por las relaciones Li(lj) = lj(xi) = δij. Estos polinomioslj son los polinomios fundamentales o de Lagrange asociados a los puntos x0, . . . , xny seran determinados despues.

• Si se busca un polinomio de grado m mayor que n, la busqueda es mas simple yaque existe un numero arbitrario de polinomios de esas caracterısticas que interpolenun conjunto dado de n+ 1 puntos distintos x0, . . . , xn. En efecto, llamando

H(x) =n∏

i=0

(x− xi)

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

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

donde P ∈ Pn si es la solucion unica del problema de Lagrange y Q es un polinomioarbitrario de Pm−n−1.

45

Page 47: calculo numerico

• El polinomio P ∈ Pn solucion unica del problema de Lagrange descrito, es exac-tamente de grado n, cuando an 6= 0, lo que no siempre sucede. El problema deinterpolar la funcion sin en

[

−π2, π

2

]

, en los puntos−π2, 0, π

2da como solucion unica

el polinomio P (x) = 2xπ, con a2 = 0. Otro ejemplo todavıa mas llamativo es el caso

P (xi) = 1, i = 0, 1, . . . , n cuya unica solucion es el polinomio constante 1.

• En muchos casos, los valores wi son las imagenes en los puntos xi de una ciertafuncion f definida en S. Las formas lineales Li estaran entonces definidas en unespacio funcional mas amplio que Pn para que tenga sentido Li(f) = f(xi). El pro-blema de interpolacion planteado, matematicamente identico al antes considerado,consiste en determinar un polinomio P que coincide con f en los puntos xi.

Interpolacion general de Hermite

Dados n + 1 puntos distintos x0, . . . , xn y las N + 1 formas lineales en CN(S) definidaspor:

f −→ Lν,j(f) = f (j)(xν)

0 ≤ ν ≤ n, 0 ≤ j ≤ mν con N = m0 +m1 + · · · +mn + n, veremos que la interpolacionen PN relativa a estas formas lineales tiene solucion unica. Por tanto, siempre es posiblehallar un polinomio cuya imagen y las de sus derivadas sucesivas hasta un cierto orden,este prefijadas en puntos distintos. Este caso particular de (4.1) , se denomina problemade interpolacion polinomial general de Hermite. Mas tarde escribiremos de modo explıcitoel polinomio de grado 2n+ 1 solucion de este problema cuando

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

que se llama problema simple u osculatriz de Hermite.

Interpolacion trigonometrica

Supongamos ahora que E es el espacio de dimension 3 engendrado por las tres funciones1, cos, sin y que deseamos determinar f ∈ E tal que

L1(f) = f(

−π2

)

L2(f) = f(0) L3(f) = f(

π

2

)

El determinante de Gram del problema de interpolacion planteado es

L1(1) L1(sin) L1(cos)L2(1) L2(sin) L2(cos)L3(1) L3(sin) L3(cos)

=

1 sin(

−π2

)

cos(

−π2

)

1 sin(0) cos(0)

1 sin(

π2

)

cos(

π2

)

=

1 −1 01 0 11 1 0

= 2 6= 0

por tanto, siempre podemos hallar una funcion unica

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

que toma valores dados en−π2, 0 y π

2. Si por ejemplo

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

46

Page 48: calculo numerico

estarıamos determinando f ∈ E interpolante de la funcion seno.

En general, E es la envoltura lineal de la familia de las 2m + 1 funciones linealmenteindependientes

1, cos x, sin x, . . . , cosmx, sinmx.E es un R-e.v. de dimension 2m+ 1 y para las 2m+ 1 formas lineales

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

el problema de interpolacion (4.1) tiene solucion unica.

Ejemplo de un problema de interpolacion sin solucion.

No todo problema de interpolacion es necesariamente resoluble. He aquı un ejemplo sinsolucion unica. Supongamos que deseamos hallar un polinomio de segundo grado cuyosvalores en 1 y -l y cuya derivada en 0 son datos. Con

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

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

det(< ej, Li >) =

1 −1 11 1 10 1 0

= 0

y el problema no puede tener solucion unica, aunque podrıa tener infinitas soluciones.

4.2 Interpolacion polinomial

4.2.1 Interpolacion de Lagrange

Ya hemos introducido este problema en 4.1.1 pero ahora lo veremos con detalle.

Se dan n+1 puntos distintos xi de un subconjunto S de IR(nodos) y n+1 valores realeswi (i = 0, 1, . . . , n) y se busca un polinomio P de grado ≤ n, P ∈ Pn tal que

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

A menudo los datos wk son las imagenes de una cierta funcion f , funcion que se pretendeinterpolar, en los nodos xk.

Polinomios de Lagrange

Como vimos, ese problema tiene solucion unica 1 P ya que las n + 1 formas linealesLi(P ) = P (xi) = wi (i = 0, 1, . . . , n) describen una base B∗ de P ∗n . Su base dual B en Pn

1En el apartado 4.1.1 llamabamos P a este polinomio para no confundir. Aquı no hay confusionposible y nos referiremos a el como P .

47

Page 49: calculo numerico

esta descrita por los polinomios lj de Lagrange asociados a los puntos x0, . . . , xn y quecomo es habitual estan definidos por las relaciones Li(lj) = δij, es decir

lj(xi) =

0 si i 6= j1 si i = j

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

lj(x) =

n∏

(x− xi)i=0

i6=j

n∏

(xj − xi)i=0

i6=j

(4.3)

Descomponiendo el polinomio de interpolacion solucion P respecto de esta base ten-dremos

P =n∑

j=0

kjlj

de donde para i = 0, 1, . . . , n

wi = P (xi) =n∑

j=0

kjlj(xi) =n∑

j=0

kjδij = ki

por tanto las componentes de la expresion del polinomio

P =n∑

j=0

wjlj

es decir,

P (x) =n∑

j=0

wjlj(x)

Ejercicio 4.2.1 Sea

V =

1 x0 x20 . . . xn0

......

.... . .

...1 xn x2

n . . . xnn

la matriz de Vandermonde asociada a los nodos x0, . . . , xn, matriz del sistema que definelos coeficientes del polinomio solucion respecto de la base canonica de Pn. Los coeficientesdel polinomio de Lagrange lk respecto de dicha base son los elementos de la k-esimacolumna de V −1 matriz inversa de V . ¿ Por que?.

Ejemplo 4.2.1

48

Page 50: calculo numerico

Si x0 = 1, x1 = 2, x3 = 4

V =

1 1 11 2 41 4 16

y V −1 =

83

−2 13

−2 52

−12

13

−12

16

con lo quel0(x) =

83− 2x+ 1

3x2 = 1

3(x2 − 6x+ 8)

l1(x) = −2 + 52x− 1

2x2 = −1

2(x2 − 5x+ 4)

l2(x) =13− 1

2x+ 1

6x2 = 1

6(x2 − 3x+ 2)

4.2.2 Estimaciones del error en la interpolacion de Lagrange

En el caso habitual, en que los valores wi son las imagenes en los puntos xi de una ciertafuncion f , interesa investigar la separacion entre el polinomio interpolante P y f , lo quenos obligara a asumir que f satisface ciertas propiedades.

Teorema 4.2.1

Sea f ∈ Cn+1[a, b] y P el polinomio de Pn(IR) interpolador de Lagrange de f en la nubex0, · · · , xn con xi ∈ [a, b], i = 0, n. Entonces a cada punto x en [a, b] le corresponde unpunto ξ(x) con

min(x0, · · · , xn, x) < ξ(x) < max(x0, · · · , xn, x)para el cual

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

(n+ 1)!f (n+1)(ξ(x)) (4.4)

con

H(x) =n∏

i=0

(x− xi) (4.5)

Demostracion.

Supongamos sin perdida de generalidad que a ≤ x0 < x1 < · · · < xn ≤ b. Elijamos unnumero x en [a, b]. Si x es uno de los nodos xi, la igualdad 4.4 es valida elijamos comoelijamos ξ. Si x no es uno de los nodos definimos λ tal que:

λ =f(x)− P (x)

H(x)(4.6)

Definimos la funcion auxiliar:

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

Es facil 2 ver que φ conserva la clase de f . Es facil ver que la funcion φ tiene al menosn+ 2 ceros en [a, b], los correspondientes a los nodos xi y al valor x.

Sabemos por aplicacion del teorema de Rolle que si una funcion continua y diferenciable

2Por ser P y H polinomios y por tanto de clase C∞

49

Page 51: calculo numerico

tiene m raıces en [a, b], su derivada f ′ tiene al menos m− 1 raıces en [a, b].

Aplicando este razonamiento de modo sucesivo a las derivadas de la funcion φ, llegamosa la conclusion 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)(ξ)

(n+ 1)!(4.9)

y entrando en 4.6 obtenemos 4.4.

Corolario 4.2.1 Estimaciones del error.

Supuesto que f cumple que ‖f (n+1)‖∞ ≤Mn+1 tendremos

|f(x)− P (x)| ≤ |H(x)|(n+ 1)!

Mn+1 (4.10)

de la que se deduce la formula general de estimacion del error en interpolacion

‖f − P‖ ≤ Mn+1

(n+ 1)!‖H‖

valida para todas las normas ‖ . ‖p, 1 ≤ p ≤ n.

Corolario 4.2.2

En el caso en que ‖ ‖ = ‖ ‖∞, si x ∈ [x0, xn] se puede deducir una estimacion muyutil del error de interpolacion de ‖f − P‖. Para ello utilizamos la mayoracion

‖H‖∞ = maxx∈[x0,xn]

|(x− x0)(x− x1) · · · (x− xn)| ≤n!

4hn+1

donde h es la maxima de las distancias entre puntos xi y xi+1 adyacentes.

Si x ∈ [xi, xi+1], se tiene que

|(x− xi)(x− xi+1)| ≤h2

4

y haciendo una estimacion directa del tamano de los otros terminos que aparecen en Hse obtiene esa mayorante de ‖H‖∞.

Ejercicio 4.2.2 Obtener esa mayorante.

Combinando lo anterior, se obtiene la cota del error con norma uniforme

‖f − P‖∞ ≤‖f (n+1)‖4(n+ 1)

hn+1

Para interpretar correctamente esta cota de error debemos pensar en P como funcion deh para n fijo. Con ello, se deduce de esa estimacion que la exactitud es del orden O(hn+1)cuando se varıa el intervalo de interpolacion [x0, xn].

50

Page 52: calculo numerico

4.2.3 Diferencias divididas

Hay dos problemas importantes cuando usamos la base de Lagrange para interpolar unatabla de valores. El primero es que hay que realizar un numero alto de operacionesaritmeticas. Sin embargo, el problema mas importante nace del hecho de que si necesi-tamos anadir o quitar un punto al conjunto que se ha usado para construir el polinomio,tenemos que empezar los calculos desde el principio. Con el metodo de las diferenciasdivididas este problema desaparece.

El planteamiento de las diferencias divididas es el de la interpolacion de Lagrange, o sea,se supone que conocemos una funcion en un soporte de valores para la x.

x0 f0

x1 f1

x2 f2

x3 f3...

...xn fn

En esta tabla no es necesario suponer que las exis estan equiespaciadas; ni siquiera queestan dadas en algun orden.

Consideremos el polinomio de grado n

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

Elijamos los coeficientes ai, de tal modo que este polinomio ajuste la tabla de datosdada 3. Veremos que estos coeficientes se determinan facilmente usando las diferenciasdivididas de los valores tabulados. Usamos una notacion especial para las diferenciasdivididas

f [xi, xj] =fj − fixj − xi

(4.11)

A este numero se le llama la diferencia dividida de primer orden correspondiente a [xi, xj].Es importante darse cuenta de que f [xi, xj] = f [xj, xi]. Esta conmutabilidad se mantieneaunque el orden de las diferencias sea mas alto. Las diferencias divididas de segundoorden y de ordenes superiores se obtienen a partir de las diferencias divididas de ordenesanteriores:

f [x0, x1, x2] =f [x1, x2]− f [x0, x1]

x2 − x0

f [x0, x1, . . . , xi] =f [x1, x2, . . . , xi]− f [x0, x1, . . . , xi−1]

xi − x0

3En realidad lo que hacemos es escoger otra base para los polinomios de grado n:

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

51

Page 53: calculo numerico

Estamos ya en posicion de establecer que los coeficientes ai estan dados por esas diferen-cias. Obtengamos la imagen de cada punto del soporte por dicho polinomio.

P (x0) = a0 = f0

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

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

P (x1) = f0 +f1 − f0

x1 − x0

(x1 − x0) = f1

Si hacemos a2 = f [x0, x1, x2], entonces:

P (x2) = f0 +f1 − f0

x1 − x0

(x2 − x0) +f2−f1x2−x1

− f1−f0x1−x0

x2 − x0

(x2 − x0)(x2 − x1) = f2

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

Ejemplo 4.2.2

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

xi fi f [xi, xi+1] f [xi, . . . , xi+2] f [xi, . . . , xi+3] f [x0, . . . , x5]3, 2 22, 02, 7 17, 8 8, 4001, 0 14, 2 2, 118 2, 8564, 8 38, 3 6, 342 2, 012 −0, 5285, 6 51, 7 16, 750 2, 263 0, 0865 0, 256

El pequeno ejercicio que se os propone consiste en que valideis esta tabla de valores.Tambien podeis construir el polinomio de interpolacion de diferencias divididas corres-pondiente a esta tabla de valores. Despues con vuestra calculadora podeis calcular elpolinomio de interpolacion expresado en la base canonica de los polinomios de gradocuatro, y comprobar que los dos tienen la misma imagen en un punto cualquiera (ejx = 3.8).

Es interesante ver 4.11 como que la diferencia dividida de primer orden es una estimacionde la derivada de la funcion f en xi, dado que si xj, tiende a xi lo que tenemos es precisa-mente esa derivada. Si conocemos alguna derivada de la funcion, podemos duplicar esenodo en la lista y sustituir la diferencia dividida correspondiente a esos dos nodos por laderivada.

Teorema 4.2.2

52

Page 54: calculo numerico

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 [x0, x1, . . . , xn] =f (n)(ξ)

n!

Ejercicio 4.2.3

Demostrar que si la funcion que queremos aproximar es un polinomio de grado k, en-tonces, para n > k

f [x0, x1, . . . , xn] = 0

4.2.4 Interpolacion simple de Hermite u osculatriz.

Dados n + 1 puntos distintos x0, . . . , xn se busca el polinomio P que cumpla las 2n + 2condiciones

P (xi) = f(xi) i = 0, 1, . . . , nP ′(xi) = f ′(xi) i = 0, 1, . . . , n

Las 2n+ 2 formas lineales Li y Mi son en este caso

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

Se trata del caso particular del problema general de Hermite cuando

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

La solucion del problema de interpolacion simple de Hermite es unica si todos los nodosx0, . . . , xn son distintos 4 y viene dada en funcion de los polinomios fundamentales deLagrange por:

P (x) =n∑

j=0

[1− 2l′j(xj)(x− xj)]l2j (x)f(xj) +

n∑

j=0

(x− xj)l2j (x)f

′(xj) (4.12)

Se comprueba simplemente sustituyendo y derivando

P (xi) =n∑

j=0

[1− 2l′j(xj)(xi − xj)]l2j (xi)f(xj) +

n∑

j=0

(xi − xj)l2j (xi)f

′(xj) =

=n∑

j=0

l2j (xi)f(xj)−n∑

j=0

2l′j(xj)(xi − xj)l2j (xi)f(xj) +

n∑

j=0

(xi − xj)l2j (xi)f

′(xj) = f(xi)

Para i 6= j los tres sumandos son nulos por ser lj(xi) = δij,. El segundo y tercer sumandoson nulos para i = j por serlo el factor (xi−xj). Luego solo nos queda el primer sumandodistinto de cero si i = j, por tanto, P (xi) = f(xi) i = 0, 1, . . . , n. Analogamente derivando

P ′(x) =n∑

j=0

−2l′j(xj)l2j (x)f(xj) + [1− 2l′j(xj)(x− xj)]2lj(x)l′j(x)f(xj)+

4No lo demostraremos.

53

Page 55: calculo numerico

+n∑

j=0

[l2j (x)f′(xj) + 2(x− xj)lj(x)l

′j(x)f

′(xj)].

y haciendo x = xi

P ′(xi) =n∑

j=0

−2l′j(xj)l2j (xi)f(xj) + [1− 2l′j(xj)(xi − xj)]2lj(xi)l′j(xi)f(xj)+

+n∑

j=0

[l2j (xi)f′(xj) + 2(xi − xj)lj(xi)l

′j(xi)f

′(xj)] =

= −2l′i(xi)f(xi) + 2l′i(xi)f(xi) + f ′(xi).

Es decirP ′(xi) = f ′(xi) i = 0, 1, . . . , n

4.3 Interpolacion polinomial a trozos.

La construccion de polinomios de interpolacion de grado alto aunque justificable teo-ricamente plantea muchos problemas. Por un lado, la forma de la funcion polinomicade grado alto a menudo no responde al fenomeno debido al gran numero de extremos einflexiones. Por otro lado, su calculo es muy complicado, tedioso y a veces con grandeserrores de rendodeo por mal condicionamiento de algunas matrices. Ello limita su utilidaden analisis numerico. Es a menudo mucho mas util dividir el intervalo en subintervalosmas pequenos y usar en cada subintervalo polinomios de grados relativamente bajos.

Definicion 4.3.1 Polinomios a trozos de grado k

Sea [a, b] un intervalo finito y x0, x1, . . . , xn los nodos de una subdivision Ω de [a, b]estrictamente creciente (a ≤ x0 < x1 < · · · < xn ≤ b).

Supongamos por conveniencia que esa subdivision es uniforme, es decir, que los nodosestan equiespaciados xi+1 − xi = h, y que x0 = a y xn = b. Un polinomio a trozos degrado k en Ω es una funcion cuya restriccion a cada uno de los subintervalos [xi, xi+1] esun polinomio de grado k.

4.3.1 Interpolacion parabolica a trozos

Consideremos una subdivision de tres nodos x0, x1, x2. Pretendemos encontrar laparabola P (de eje vertical)

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

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

w0 = a− bh+ ch2

w1 = aw2 = a+ bh+ ch2

54

Page 56: calculo numerico

da como unica solucion:

a = w1, b =w2 − w0

2h, c =

w2 − 2w1 + w0

2h2

y

P (x) = w1 +w2 − w0

2hx+

w2 − 2w1 + w0

2h2x2

con c 6= 0 si los puntos (x0, w0), (x1, w1), (x2, w2) no son colineales. La formula es tambienvalida si esos puntos estan alineados en cuyo caso c = 0 y se reduce al caso lineal.

Dada la subdivision Ω = x0, . . . , xn con n par, y los valores correspondientes w0, . . . , wn

se llama funcion de interpolacion parabolica a trozos de la funcion discreta f(xi) = wi aun polinomio Pn,2 de grado 2 a trozos cuyas restricciones a los subintervalos [xi−1, xi+1]son parabolas, 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

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

2h(x− xi) +

wi+1 − 2wi + wi−1

2h2(x− xi)

2

xi−1 ≤ x ≤ xi+1 con i = 1, 3, 5, . . . , n− 1.

Si se usa la formula de Lagrange para determinar el polinomio de segundo grado queinterpola los puntos (xi−1, wi−1), (xi, wi), (xi+1, wi+1) tendremos la siguiente expresionde Pn,2

Pn,2(x) =(x− xi)(x− xi+1)

2h2wi−1 −

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

h2wi

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

2h2wi+1 (4.13)

con xi−1 ≤ x ≤ xi+1 con i = 1, 3, 5, . . . , n− 1.

Esta expresion se deduce de la ya estudiada, usando la base de Lagrange:

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

donde

li−1(x) =(x− xi)(x− xi+1)

(xi−1 − xi)(xi−1 − xi+1)=

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

2h2

li(x) =(x− xi−1)(x− xi+1)

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

h2(4.15)

li+1(x) =(x− xi−1)(x− xi)

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

2h2

de donde el resultado.

55

Page 57: calculo numerico

4.3.2 Error en la interpolacion parabolica a trozos

Si la funcion a interpolar f ∈ C3([a, b]), del teorema de estimacion del error obtenemosla desigualdad

|f(x)− Pn,2(x)| ≤|(x− xi−1)(x− xi)(x− xi+1)|

6M3 (4.16)

dondeM3 = sup

a≤x≤b

∣f (3)(x)∣

∣ (4.17)

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

|f(x)− Pn,2(x)| ≤2h3

6M3 =

(b− a)3

3n3M3

estimacion muy pesimista facilmente mejorable.

De todo ello se sigue quelimn→∞ ‖f − Pn,2‖∞ = 0

con un orden 3 de convergencia 5.

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

4.3.3 Interpolacion a trozos de grado 3 usando interpolacion

Hermite.

Construyamos por Hermite un polinonio de tercer grado en cada uno de los subintervalos[xi, xi+1], es decir, utilizamos la formula de Hermite simple para construir en [xi, xi+1] unpolinomio Pn,3 de grado 3 que ajuste los valores de una funcion y de su derivada en cadauno de los nodos, o sea, tal que:

Pn,3(xi) = f(xi), Pn,3(xi+1) = f(xi+1)P ′n,3(xi) = f ′(xi) P ′n,3(xi+1) = f ′(xi+1)

luego

Pn,3(x) = [1− 2l′i(xi)(x− xi)]l2i (x)f(xi) + (x− xi)l

2i (x)f

′(xi)

+ [1− 2l′i+1(xi+1)(x− xi+1)]l2i+1(x)f(xi+1)

+ (x− xi+1)l2i+1(x)f

′(xi+1) (4.18)

5Por ser el error una potencia cubica de h.

56

Page 58: calculo numerico

con

li(x) =x− xi+1

xi − xi+1

= −x− xi+1

h⇒ l′i(x) = −

1

h(4.19)

li+1(x) =x− xi

xi+1 − xi=x− xih

⇒ l′i(x) =1

h(4.20)

y sustituyendo en 4.18

Pn,3(x) =[

1 +2

h(x− xi)

] (

x− xi+1

h

)2

f(xi)

+ (x− xi)(

x− xi+1

h

)2

f ′(xi)

+[

1− 2

h(x− xi+1)

] (

x− xih

)2

f(xi+1)

+ (x− xi+1)(

x− xih

)2

f ′(xi+1) (4.21)

Ahora Pn,3 es de clase C1([a, b]) y para f ∈ C(4)([a, b]), la convergencia es de orden 4.

La interpolacion de Hermite, permite incrementar la suavidad de la funcion aproximante,pero la expresion final a la que llegamos incluye los valores que debe tener la funcion f ′

en los nodos, lo que a menudo no es deseable. Para aproximar f tenemos tabulados losvalores de f pero en general carecemos de informacion sobre f ′. Si f es la incognita adeterminar, la introduccion de sus derivadas en el problema incrementa la complejidadde la busqueda de solucion.

4.4 Interpolacion polinomial a trozos: Splines

Surge de modo natural la siguiente pregunta. ¿Es posible construir aproximaciones poli-nomiales a trozos de cierta clase simplemente exigiendo que la funcion a aproximar tengaciertas propiedades de continuidad en los nodos sin necesidad de asignar explıcitamenteen los nodos los valores de las derivadas?

Esas dudas nos llevan a considerar aproximaciones polinomiales a trozos Pn,k de gradok y de clase Cp en [a, b] con p > 0. En general nos interesan aquellas cuya clase es es-trictamente inferior al grado (p < k) ya que para p = k el polinomio que se obtiene es elmismo en todos los subintervalos 6. De particular interes es el caso en el que obtenemosla aproximacion mas suave, p = k − 1.

Definicion 4.4.1 Se llama spline de grado k a todos los polinomios a trozos de grado ky de clase Ck−1, o sea, con derivadas continuas hasta el orden k − 1.

Aquı estamos interesados en el uso de splines para interpolacion, es decir, splines quetomen en los nodos valores previamente asignados. Hasta ahora no hemos garantizado

6Es especialmente importante entender esta afirmacion. Por reduccion al absurdo se obtiene quetodos los tramos son el mismo polinomio.

57

Page 59: calculo numerico

la existencia de esos splines de interpolacion. De hecho, se sabe que hay ciertos tipos deproblemas de splines de interpolacion que carecen de solucion. Nos limitaremos al casok = 3 de los splines cubicos por ser el mas importante en la practica. Con el exploraremossin complicaciones excesivas, las caracterısticas fundamentales de la aproximacion consplines.

Definicion 4.4.2 Sean [a, b] un intervalo finito, Ω = x0, x1, . . . , xn una particion equi-espaciada 7 de [a, b] estrictamente creciente a ≤ x0 < x1 < . . . < xn ≤ b y wi un conjunton+ 1 numeros reales.

Se llama spline de interpolacion cubica a una funcion s : [a, b] → IR que posee las sigu-ientes propiedades:

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

• s ∈ C2([a, b]).

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

Antes de analizar el problema de la existencia y unicidad de los splines cubicos, comence-mos con un ejemplo:

Ejemplo 4.4.1

Hallar dos polinomios de tercer grado

s0(x) = a0 + b0x+ c0x2 + d0x3

s1(x) = a1 + b1x+ c1x2 + d1x

3

tales ques0(a) = w0, s0(x1) = w1 = s1(x1), s1(b) = w2,

s′0(x1) = s′1(x1), s′′0(x1) = s′′1(x1)

Tenemos 6 condiciones y ocho parametros a determinar. Si existe solucion no es unica.Para eliminar la ambiguedad, debemos anadir dos condiciones, por ejemplo las derivadasen a y b.

La situacion que se da en este ejemplo es semejante a la existente en general con los splinescubicos; para conseguir que la solucion sea unica, debemos imponer dos condiciones extra.Estas condiciones adicionales se pueden fijar de modo mas o menos arbitrario aunque lohabitual es pedir que se cumplan ciertas exigencias en los extremos del intervalo.

Teorema 4.4.1 Existe un spline cubico unico S tal que

S(xi) = wi i = 0, 1, . . . , nS ′(x0) = s0, S ′(xn) = sn

7El que sea equiespaciada obedece a que permite una mayor simplicidad en los desarrollos, pero nointroduce ningun aspecto teorico nuevo

58

Page 60: calculo numerico

Demostracion:

Consideremos Si definido en xi ≤ x ≤ xi+1 por:

Si(x) =

[

(x− xi+1)2

h2+

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

h3

]

wi

+

[

(x− xi)2

h2− 2(x− xi+1)(x− xi)

2

h3

]

wi+1

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

2

h2si +

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

h2si+1 (4.22)

construido usando la misma filosofıa que para los polinomios a trozos de grado 3 y clase1, obtenidos mediante la base de Hermite que utilizamos en 4.3.3. De este modo, estrivial ver que:

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

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

luego Si define una cubica a trozos continua con derivadas continuas que toma los valorespreasignados wi en los nodos. Como s0 y sn son datos, solo necesitamos hallar los si,i = 1, 2, . . . , n− 1 tales que Si tenga tambien derivadas segundas continuas en los nodos.

Diferenciando dos veces la expresion 4.22, tendremos:

S ′′i(xi+1) =6

h2wi −

6

h2wi+1 +

2

hsi +

4

hsi+1 (4.23)

S ′′i+1(xi+1) = − 6

h2wi+1 +

6

h2wi+2 −

4

hsi+1 −

2

hsi+2 (4.24)

e igualando obtenemos el sistema

si + 4si+1 + si+2 =3

h(wi+2 − wi) i = 0, 1, . . . , n− 2. (4.25)

Podemos escribir este sistema desarrollado:

4 1 0 · · · · · · 0 01 4 1 0 · · · · · · 00 1 4 1 0 · · · 0· · · · · · · · · · · · · · · · · · · · ·· · · · · · · · · · · · 0 1 4

s1

s2

s3...

sn−1

3h(w2 − w0)− s0

3h(w3 − w1)

3h(w4 − w2)

...3h(wn − wn−2)− sn

(4.26)

Este sistema tridiagonal y diagonalmente dominante de n − 1 ecuaciones con n − 1incognitas s1,. . . ,sn−1 tiene solucion unica que define Si para todo i, luego el splinecubico interpolador S de clase C2

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

S es unico porque si hubiera dos, su diferencia serıa un spline cubico identicamente nulo,ya que se anula en los nodos xi (wi = 0) lo que implica que los si tambien son nulos, sin

59

Page 61: calculo numerico

mas que entrar en el sistema 4.25.

Tambien se pueden introducir las dos condiciones extras siguientes

S ′′(x0) = S ′′(xn) = 0

con las que se obtiene el llamado spline natural.

Ejercicio 4.4.1 Demostrar que existe un spline natural cubico unico.

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

max1≤i≤n

supx∈[xi,xi+1]

∣f (p)(x)− S(p)(x)∣

≤ Kp

n4−pM4 0 ≤ p ≤ 3 (4.27)

donde

K0 =5

384, K1 =

√3

216, K2 =

5

12, K3 = 1 M4 = ‖f (4)‖∞.

Se deduce de lo enunciado en este teorema que el spline cubico no solo converge a f , sinoque tambien sus derivadas, hasta el orden 3, convergen a las correspondientes derivadasde f .

Teorema 4.4.3 Sea U el conjunto de todas las funciones ϕ de clase C2 en [a, b] talesque

ϕ(xi) = wi i = 0, 1, . . . , n

y sea S el spline cubico natural que satisface las mismas condiciones de interpolacion,entonces: ∫ xn

x0

[S ′′(x)]2dx ≤∫ xn

x0

[ϕ′′(x)]2dx (∀ϕ ∈ U) (4.28)

Este ultimo teorema asegura que de todas las funciones de interpolacion que satisfacenciertas condiciones en los extremos del intervalo, los splines cubicos naturales son losmas suaves en el sentido de que minimizan la norma ‖ ‖2 de la segunda derivada.En terminos de energıa potencial (proporcional a (‖S ′′‖2) los splines cubicos naturalesminimizan dicha energia.

Se pueden obtener los splines resolviendo el sistema tridiagonal (4.25) sustituyendo des-pues los valores de los si en la expresion de Si(x), pero por motivos teoricos interesatener una representacion explıcita del spline similar a la representacion del polinomio deinterpolacion en funcion de la base de polinomios de Lagrange.

4.4.1 Bases de splines asociadas a un problema de interpo-

lacion.

Vamos a calcular una base de splines cubicos, utilizando la idea de que esta base seala dual a las formas lineales que definen un problema de interpolacion en un espaciovectorial de splines con solucion unica.

60

Page 62: calculo numerico

Sea S3(Ω) el espacio vectorial de los splines cubicos correspondientes a la particion Ω.Sea S∗3(Ω) su dual. Definimos las n+ 3 formas lineales:

Li(S) = S(xi), i = 0, n

Ln+1(S) = S ′(x0)

Ln+2(S) = S ′(xn)

Como ya hemos visto, estas formas lineales definen un problema de interpolacion desolucion unica, y son por tanto una base de S∗3(Ω). Podemos tratar de encontrar su basedual 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 nodosextremos, puede ser escrito como combinacion lineal de esa base de modo sencillo:

S(x) =n∑

j=0

wjcj(x) + s0cn+1(x) + sncn+2(x) (4.29)

Hemos construido por tanto una base un poco especial de un espacio vectorial de splines.

Ejercicio 4.4.2 Determinar la base de S∗3(Ω) para el caso n = 2 con x0 = 0, x1 = 0.5x2 = 1, correspondiente al problema de interpolacion anterior.

4.5 Interpolacion spline con bases de soporte mınimo:

B-splines

Sea Ω una particion del intervalo [a, b], a = t0, t1, . . . , tn−1, tn = b. Un polinomio deinterpolacion a trozos de grado k esta definido por n polinomios de grado k en cada unode los intervalos [ti, ti+1]. Sea p la clase de este polinomio a trozos. Por tanto, por unlado el numero de parametros a definir es n · (k+1), y el numero de condiciones se refierea la continuidad de orden p en los enlaces (p + 1) · (n + 1). Por tanto la dimension deeste espacio vectorial de funciones polinomicas a trozos de clase p y grado k es:

n · (k + 1)− (p+ 1) · (n− 1)

Si lo que tenemos es un spline de grado k, entonces su clase es p = k − 1. Por tanto, ladimension de ese espacio de splines esta dada por:

n · (k + 1)− (k − 1 + 1) · (n− 1) = n+ k

Bases de este espacio hay muchas. Hemos estudiado en 4.4.1 como construirlas asociadasa problemas de interpolacion con solucion unica. Una vez que tenemos escrito nuestropolinomio de interpolacion como combinacion lineal de una base y queremos evaluarloen un punto cualquiera, nos planteamos una serie de posibles mejoras:

Pn,k(t) =n+k−1∑

i=0

ai · ei(t) (4.30)

61

Page 63: calculo numerico

Serıa conveniente que los ei(t) fuesen sencillos de evaluar (en el sentido de que su imagefuese nula en el mayor numero posible de valores de t). Serıa bueno tambien que si seconocen ciertos valores de la funcion a interpolar, los fi, la relacion entre los coeficientesai y estos valores fuese mediante expresiones lo mas sencillas posibles. Una respuesta aesto ultimo son las bases (duales de las formas lineales que definen el problema de inter-polacion) las cuales permiten escribir el polinomio solucion habitualmente del siguientemodo:

Pn,k(t) =n∑

i=0

fi · ei(t) +n+k−1∑

i=n+1

ai · ei(t) (4.31)

donde los coeficientes ai i = n + 1, . . . , n + k − 1, dependeran del tipo de condicionesadicionales elegidas, que se pueden referir a ciertos valores de la derivada, o de la segundaderivada, etc.

Pero este tipo de planteamiento, que es fenomenal para calcular los coeficientes ai , tiene elinconveniente de que las funciones de base cardinales ei(t) tienen un soporte8 muy grande.Ello obliga a que, independientemente del punto t donde queramos evaluar Pn,k(t), hayaque extender los sumatorios desde i = 0 hasta i = n+k−1, con el consiguiente consumode recursos, como podemos observar en la figura 4.1.

Lo ideal serıa que las funciones ei(t), siendo splines de grado k, tengan soporte mınimo,

e

tt t t tt

3

10 4 5 62 t

(t)

3

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

o sea, que sean nulas en el mayor numero 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,

e

tt t t tt

3

10 4 5 62 t

(t)

3

Figura 4.2: Spline con soporte pequeno.

forman una base del espacio vectorial de los splines de grado k definidos sobre la particiona = t0, t1, t2, . . . , tn−1, tn = b.

8El soporte de una funcion son aquellos elementos de su dominio de imagen no nula.

62

Page 64: calculo numerico

Definicion 4.5.1 Orden r de un B-spline es el numero de tramos en los que el B-splinees no nulo.

e

tt t t tt

3

10 4 5 62 t

(t)

3

Figura 4.3: Spline que no puede ser spline.

Calculemos el orden 9 r de un B-spline en funcion de su grado k. Si el spline es no nuloen r tramos, en principio hay r + k parametros libres (como si la particion en la queestuviese definido fuese t0, t1, t2, . . . , tn−1, tn). Por continuidad hasta el orden p = k−1del spline en los dos extremos donde se hace nulo, tenemos 2 · k condiciones mas, con loque el numero de parametros se reduce de r + k a r − k. Si r − k = 0, el B-spline serıanulo10, por tanto el mınimo r con sentido11 es r = k + 1.

Definicion 4.5.2 Dado el conjunto de nodos

t−r+1 < · · · < t−1 < a = t0 < t1 < t2 < · · · < tn−1 < tn = b

Un B-spline de orden r = k + 1, asociado a los mismos es una funcion polinomica atrozos de grado k, de clase k − 1 en [a, b] y de soporte mınimo.

Construiremos una base de este espacio vectorial de polinomios, siguiendo las siguientesconvenciones 12 :

t ∈ [ti, ti+r) ⇒ Bki (t) ≥ 0

t /∈ [ti, ti+r) ⇒ Bki (t) = 0

9Cuando hablamos de un B-spline manejamos siempre tres ideas. Dos de ellas proceden del hecho deque sea un spline:

grado grado k de cada uno de los tramos polinomiales que forman el spline.clase si es un spline de grado k, su clase p es k- 1.orden numero r de tramos en los cuales el spline es no nulo.

10Por ejemplo, si lo que tenemos es un spline parabolico, no podemos conseguir con solo dos tramosque sea distinto de cero, y luego vuelva a ser cero con continuidad en la funcion y en su derivada. Meexplico. En el primer tramo, tenemos una parabola, que viene definida por tres coeficientes a, b, y c.El primer punto de esa parabola vale cero y tiene derivada nula. Si ademas queremos que la imagendel ultimo tramo sea distinta de cero y valga no se cuanto, ya tendremos completamente definida laparabola, y por tanto su derivada en ese punto valdra lo que valga. Una vez fijado el valor de la funcionen ese punto de enganche, a su vez el segundo tramo, tendra en su punto final derivada nula y valo nulo,con lo que solo quedara un parametro libre: el valor de la funcion en el enganche. Si ademas queremosque haya continuidad en la derivada, que ya viene fija por el otro tramo, creo que es demasiado pedirle auna parabola; no os parece?. Parece por la figura 4.3 que lo hemos conseguido, pero fijaos bien en cadauno de los tramos. desde cuando una parabola tiene un punto de inflexion?.

11Por tanto el orden r de un spline parabolico -k = 2- es r = k + 1 = 312Esta forma de construccion de una base de B-splines del grado que sea no es la unica posible. Sin

embargo, las expresiones que damos son de muy comun uso, y permiten abordar de modo sencillo losproblemas de interpolacion spline con este tipo de funciones de base.

63

Page 65: calculo numerico

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

B

t

[ [

a = t t t = bt

i

0

1

1

0 n-1 ni t

(t)

i+1

Figura 4.4: B-spline de grado 0.

B0i (t) =

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

(4.32)

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

El soporte de cada elemento de la familia es de dos tramos. La base estara formada porn+k = n+1 splines. Anadimos un punto antes13, para completar los nodos en los cualesse van a apoyar los splines que formaran nuestra base14

BB B

t t t tt

i-1 n-1

11 1

-1

1

0 n-1 ni t t

(t)(t) (t)

i+1 i+2t1

1 1

Figura 4.5: B-spline de grado 1.

B1i (t) =

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

t−titi+1−ti , t ∈ [ti, ti+1)

ti+2−tti+2−ti+1

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

(4.33)

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

Disponemos de una formulacion recurrente que nos permite obtener la expresion de unabase de B-splines de grado k en funcion de la correspondiente a k − 1.

Bki (t) =

(

t− titi+k − ti

)

Bk−1i (t) +

(

ti+k+1 − t

ti+k+1 − ti+1

)

Bk−1i+1 (t) (4.34)

13El valor t−1 correspondiente a ese nodo adicional es arbitrario.14Los B-splines de grado cero coinciden en cierta medida con una base de splines cardinales. Si os

fijais B0i (tj) = δi

j y B1i (tj) = δi+1

j . Para grados mas altos, esto no pasa, como luego veremos.

64

Page 66: calculo numerico

4.5.4 B-splines de grado 2 en una particion equiespaciada. k =2, r = 3

Usando esa formula recurrente, y teniendo en cuenta que la particion consta de nodosequiespaciados entre si -[h = ti+1 − ti]-, podemos obtener facilmente la expresion corres-pondiente a un elemento de un sistema de B-splines de este tipo.

B2i (t) =

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

12h2 (t− ti)

2, t ∈ [ti, ti+1)

12h2 [h

2 + 2h(t− ti+1)− 2(t− ti+1)2], t ∈ [ti+1, ti+2)

12h2 (ti+3 − t)2, t ∈ [ti+2, ti+3)

(4.35)

B

tt

i

2

1/2

3/4

i+4i t t t

(t)

i+1 i+2 i+3t i-1

Figura 4.6: B-spline de grado 2.

4.5.5 B-splines de grado 3 en una particion equiespaciada. k =3, r = 4

Se puede usar otra vez la formula recurrente para obtener la expresion analıtica de cadauno de los cuatro tramos del B-spline cubico generico, pero nos limitaremos a dar en lafigura 4.7 sus valores en los nodos. En cada caso cada uno de estos tramos se obtienefacilmente.

t t t t t tt

i

3B

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

1/61/6

2/3

Figura 4.7: B-spline de grado 3.

65

Page 67: calculo numerico

4.5.6 Particion de la unidad

Para construir una base de B-splines cubicos, se harıa de modo similar. Se puede de-mostrar que este sistema de splines cumple una propiedad muy importante: son unaparticion de la unidad. 0 sea,:

n−1∑

i=−r+1

Bki (t) = 1 (4.36)

4.5.7 Interpolacion con B-splines

Un problema tıpico de interpolacion de Lagrange, nos conduce a plantear el siguientesistema de ecuaciones.

j−1∑

i=j−r+1

aiBki (tj) = fi, j = 0, . . . , n (4.37)

Se tienen (n + k) incognitas, los ai; y (n + 1) ecuaciones. Si k = 1, el sistema esdeterminado, y la solucion es unica. Si k > 1 hay que imponer condiciones adicionales,sobre la funcion o sus derivadas hasta el orden que convenga en cada problema.

Ejercicio 4.5.1

Dada la siguiente tabla de valores15:

x0 x1 x2 x3 x4 x4

f0 f1 f2 f3 f4 f ′4

se pide encontrar los coeficientes ai que permiten escribir de modo unico el spline pa-rabolico de interpolacion de esa tabla como combinacion lineal de la base de B-splinesestudiada en el curso.

Solucion:a−2 = 2(f0 − f1 + f2 − f3) + f4 − h

2f ′4

a−1 = 2(f1 − f2 + f3)− f4 +h2f ′4

a0 = 2(f2 − f3) + f4 − h2f ′4

a1 = 2f3 − f4 +h2f ′4

a2 = f4 − h2f ′4

a3 = f4 +h2f ′4

4.6 Interpolacion en varias variables.

La generalizacion a varias variables se puede hacer de modo natural teniendo en cuenta lateorıa general. Por ejemplo, el espacio E donde se busca la solucion al problema puede serun espacio de polinomios en varias variables, y se le imponen determinadas condicionesa un polinomio que pueden dar lugar o no a una solucion unica.

15Propuesto por J. Lazaro Redondo.

66

Page 68: calculo numerico

4.6.1 Interpolacion en recintos rectangulares

Podemos hacer un analisis interesante en dos variables planteando el problema de in-terpolacion de Lagrange en una malla rectangular en cuyos nodos se sabe el valor de lafuncion a interpolar f : Sea

G = (x, y) ∈ IR 2|a ≤ x ≤ b, c ≤ y ≤ d

y sean dos familias de nodos

a = x0 < x1 < · · · < xm = b, c = y0 < y1 < · · · < yn = d

Esto define (m+1)(n+1) nodos (xi, yj) que estan dentro del recinto rectangular. Entoncesel problema de interpolacion de Lagrange consiste en buscar un polinomio en dos variablesP ∈ Pmn tal que:

P (xi, yj) = f(xi, yj), 0 ≤ i ≤ m, 0 ≤ j ≤ n

Se puede demostrar bastante facilmente que este problema tiene solucion y esa soluciones unica, y ademas se escribe en funcion de la base de Lagrange para cada una de lasvariables y su familia de nodos correspondiente.

P (x, y) =∑

0≤i≤m,0≤j≤nf(xi, yj)li(x)lj(y) (4.38)

Cuando el recinto no es rectangular o las condiciones son mas complicadas, el tratamientode cada problema es diferente.

4.7 Referencias recomendadas para este tema.

El libro de Hammerlin et al.[7] cubre bien la parte de splines y el texto de Kincaid[8]hace una aproximacion clasica al problema de interpolacion.

67

Page 69: calculo numerico

Capıtulo 5

Aproximacion de funciones.

5.1 Introduccion

Nuestro objetivo fundamental sera investigar la aproximacion de funciones, elementos deespacios funcionales de dimension infinita (fundamentalmente C([a, b])) mediante fun-ciones mas simples, que varıan en general en espacios de dimension finita.

Para el analista numerico las funciones de aproximacion deben poseer ciertas propiedades.

• Dada una funcion, debe ser posible aumentar arbitrariamente la bondad de las apro-ximaciones, incrementando adecuadamente la dimension del espacio de las funcionesde aproximacion.

• Las funciones de aproximacion deben ser simples en el sentido de que puedan sermanipuladas (integradas, diferenciadas, etc.) con facilidad.

• Debe existir un cuerpo de teorıa bien desarrollado que permita el analisis de losalgoritmos numericos que resulten de su uso.

El teorema clasico de aproximacion de Weierstrass establece la utilidad y potencia delos polinomios como herramienta para la aproximacion de funciones continuas, y losconvierte en una eleccion ideal de funciones de aproximacion. Sus diferentes extensiones(polinomios a trozos, splines...), enriquecen las familias de funciones que se usan enaproximacion. Pero hay otras familias que cumplen satisfactoriamente las tres exigenciasanteriores, por ejemplo, las funciones trigonometricas.

5.2 El problema general de aproximacion.

Se formula el problema general de aproximacion en espacios vectoriales normados ya quela metrica asociada a la norma permite medir la calidad de la aproximacion. Como yahemos comentado, el espacio de base es C([a, b]) al que se le suministraran diferentesnormas. La norma ‖ ‖∞ de la convergencia uniforme o de Chebyshev, las normas ‖ ‖pp ≥ 1 de las que ‖ ‖2 es de espacio prehilbertiano (espacio vectorial con un producto

Page 70: calculo numerico

escalar definido positivo) y otras normas asociadas a distintos productos escalares con”peso”

w : (a, b)→ R, w(x) > 0 para x ∈ (a, b)

con

0 <∫ b

aw(x)dx <∞

definidos por

< f, g >=∫ b

aw(x)f(x)g(x)dx

y cuya norma asociada es

‖f‖ =∫ b

aw(x)f 2(x)dx

Las normas estrictas seran importantes. Recordemos que estas normas poseen la propie-dad siguiente:

Si f, g ∈ (V, ‖ ‖) f 6= 0, g 6= 0 cumplen que

‖f + g‖ = ‖f‖+ ‖g‖

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

Se comprueba que λ es siempre real y positivo y se verifican ademas las siguientespropiedades:

• (C([a, b]), ‖ ‖) no esta estrictamente normado f(x) = 1 y g(x) = x (∀x ∈ [a, b])satisfacen

‖f + g‖ = 1 + b = ‖f‖+ ‖g‖y son linealmente independientes.

• ‖ ‖2 es una norma estricta en ICn.

• (R3, ‖ ‖∞) no esta estrictamente normado x = (1, 0, 0), y = (1, 1, 0) linealmenteindependientes, cumplen

‖x‖∞ = 1, ‖y‖∞ = 1 y ‖x+ y‖∞ = 2

• (C([a, b]), ‖ ‖1) tampoco esta estrictamente normado. Con las mismas f y g deantes

‖1 + x‖1 =∫ 1

0(1 + x)dx =

3

2= ‖1‖1 + ‖x‖1 =

∫ 1

0dx+

∫ 1

0xdx = 1 +

1

2

Teorema 5.2.1 Toda norma asociada a un producto escalar es estricta ya que en ladesigualdad de Schwarz, < f, g >≤ ‖f‖‖g‖ se produce la igualdad cuando f y g sonlinealmente dependientes e igual sucede con la desigualdad triangular.

69

Page 71: calculo numerico

5.3 Mejor aproximacion

Sea (V, ‖ ‖) un espacio vectorial normado, T una parte arbitraria de V y v un elementode V que se desea aproximar mediante elementos de T . Parece razonable decir que u ∈ Tes una buena aproximacion de v si la distancia ‖v − u‖ es pequena.

Definicion 5.3.1 Un elemento u ∈ T es una mejor aproximacion (m.a.) de v si

‖v − u‖ ≤ ‖v − u‖ (∀u ∈ T )

Ejemplo 5.3.1

Supongamos V = R2, ‖ ‖ = ‖ ‖2 y sea T = x ∈ V : ‖x‖ ≤ 1. Para todo y ∈ R2−Texiste un solo x ∈ T tal que

‖y − x‖2 ≤ ‖y − x‖2 (∀x ∈ T ).

Ejemplo 5.3.2

Si T es una bola abierta de centro (0, 0) y radio unidad, no existe ningun x ∈ T tal quepara todo x de T , ‖y − x‖2 ≤ ‖y − x‖2.

Ejemplo 5.3.3

Sean (V, ‖ ‖) = (C([0, 1]), ‖ ‖∞) y T = u ∈ V ;u(x) = exp(βx), β > 0. Sea v lafuncion constante v(x) = 1

2. Hallar una m.a. u ∈ T de v equivale a hallar β > 0 tal que:

‖v − u‖∞ =max

x ∈ [0, 1]

1

2− exp(βx)

sea mınimo para todo u ∈ T , pero

‖v − u‖∞ =max

x ∈ [0, 1]

1

2− exp(βx)

= exp(β)− 1

2

para un β fijo esa diferencia es mayor cuando x = 1 y el mınimo de exp(β) − 12para

β > 0 no existe (si β ≥ 0 el mınimo se alcanzarıa para β = 0) luego al igual que enel ejemplo 5.3.2 no existen mejores aproximaciones. La diferencia entre los ejemplosanteriores radica en si T posee o no la propiedad de compacidad.

Definicion 5.3.2 Se define la distancia de v a T o separaracion mınima de v y T , quedenotaremos como es habitual d(v, T ), como

d(v, T ) =infu ∈ T

‖v − u‖

Este numero que siempre existe ya que el conjunto ‖v − u‖, u ∈ T esta minorado porcero.

Definicion 5.3.3 Un elemento u ∈ T es la mejor aproximacion de v en T si

‖v − u‖ ≤ d(v, T )

En el ejemplo 5.3.2 , d(y, T ) = ‖y‖ − 1 aunque no haya x ∈ T donde se alcance esadistancia. En el ejemplo 5.3.3, d(v, T ) = 1

2.

70

Page 72: calculo numerico

5.4 Existencia y unicidad de una mejor aproximacion

La posible existencia de una m. a. ası como su eventual unicidad dependen de laspropiedades que posea T . Como veremos, la compacidad y la convexidad estricta, sonpropiedades clave para el analisis de esos problemas.

5.4.1 Sucesion minimizante en T

Una sucesion de elementos unn∈IN de elementos de T ⊆ V se dice que es minimizantepara v ∈ V si

limn→∞

‖v − un‖ = d(v, T )

Por la forma de definir la distancia d(v, T ) siempre va a existir una sucesion minimizante,pero la convergencia de ‖v − un‖ a d(v, T ) no exige en conjuntos T arbitrarios que unconverja a un elemento de T ni aun siquiera a uno de V , pero en un compacto T , todasucesion un y en particular toda sucesion convergente a un valor de adherencia u∗ deun que esta en T , luego u∗ es una m.a. de v en T .

Teorema 5.4.1 Si T es compacto en v, siempre existe una m.a. de v en T .

Ejemplo 5.4.1

Consideremos ahora T = T − T ∗ con

T ∗ = x ∈ T : x1 > 0;x2 > 0

(0, 1) y (1, 0) son mejores aproximaciones en T de (1, 1) ∈ R2.

En los distintos ejemplos hemos vistos casos con dos soluciones, solucion unica y sinsolucion. El analisis de la unicidad de la m. a. exige considerar las propiedades deconvexidad estricta de T . Recordemos que T es convexo si dados dos puntos u1 y u2

cualesquiera de T , todos los puntos del segmento que los une [u1, u2] = λu1 + (1 −λ)u2; 0 ≤ λ < 1 estan en T . T es ademas estrictamente convexo, si todos los elementosde [u1, u2] son puntos interiores a T (no hay segmentos [u1, u2] contenidos en la fronterade T ).

Teorema 5.4.2 Si T es compacto y estrictamente convexo en V , para todo v ∈ V existeun unico u ∈ T mejor aproximacion de v en T .

5.5 Aproximacion lineal

El caso mas importante y unico que vamos a considerar a partir de ahora es cuandoT = U subespacio vectorial de V de dimension finita envoltura lineal de la familia libreu1, . . . , un.El problema de hallar una m.a. de v ∈ V en U , se reduce a hallar

u =n∑

i=1

αiui

71

Page 73: calculo numerico

tal que

d(α1, . . . , αn) = d(v, u) =

v −n∑

i=1

αiui

sea mınima para todo (α1, . . . , αn) ∈ Rn.

El concepto de acotacion (mucho mas simple que los conceptos de compacidad y convex-idad estricta antes usados) es aquı suficiente para analizar las sucesiones minimizantesen U .

Lema 5.5.1 Toda sucesion minimizante en U esta acotada

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

Si U es un subespacio de V de dimension finita, para cada elemento v ∈ V existe almenos una mejor aproximacion u ∈ U .

Consecuencia del lema anterior y de que U es cerrado, luego un tiene al menos un valorde adherencia que esta en U .

Teorema 5.5.2 Unicidad de la m.a. en subespacios de dimension finita.

Si V esta estrictamente normado, la mejor aproximacion de v ∈ V desde un subespacioarbitrario de dimension finita es unica.

Corolario 5.5.1 En un e.v.n. cualquiera podemos asegurar en general que la m.a. dev ∈ V en U o bien es unica o bien existen infinitas.

A pesar de su importancia, (C([a, b]), ‖ ‖∞) no esta estrictamente normado por lo que nopodremos establecer conclusiones de unicidad basadas exclusivamente en las propiedadesde las normas. Sin embargo, existen subespacios vectoriales de dimension finita de(C([a, b]), ‖ ‖∞) para los que la mejor aproximacion es unica.

Corolario 5.5.2 En un espacio prehilbertiano V , el problema de la determinacion deuna mejor aproximacion u ∈ U de v ∈ V tiene solucion unica.

Este corolario se deduce de 5.5.2 y del teorema 5.2.1. Por otro lado, se puede demostrarque ICn con la ‖ ‖p esta estrictamente normado, ası como Lp([a, b]) y C([a, b]) para ‖ ‖pcon 1 < p <∞ (excluimos los casos p = 1 y p = 2).

5.6 Aproximacion en espacios prehilbertianos.

5.6.1 General.

Ademas de las aproximaciones en la norma del maximo que consideraremos mas ade-lante, en las que el objetivo es conseguir que la maxima desviacion entre la funcion y suaproximacion sea lo mas pequena posible, es importante considerar las aproximacionesen la norma ‖ ‖2 en las que el error global es importante y conllevan un proceso desuavizado (reduccion del efecto de errores aleatorios, aspecto mas suave de la funcionentre nodos, etc.)

72

Page 74: calculo numerico

5.6.2 Caracterizacion de la mejor aproximacion.

Sea V un espacio vectorial provisto de un producto escalar < , > y de su norma ‖ . ‖asociada y sea U un subespacio vectorial de dimensionfinita de V .

Segun hemos establecido antes, en un espacio prehilbertiano V , el problema de la deter-minacion de una mejor aproximacion u ∈ U de v ∈ V tiene solucion unica.

Teorema 5.6.1 Teorema de Caracterizacion.

La mejor aproximacion f de f ∈ V en U se caracteriza por < f − f , g >= 0 para todog ∈ U (f − f ∈ U⊥).

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

g = f + g′ (g′ = g − f)

como‖(f − f)− g′‖2 = 〈(f − f)− g′, (f − f)− g′〉

y〈(f − f), g′〉 = 0

por hipotesis, entonces

‖f − g‖2 = ‖(f − f)− g′‖2 = ‖f − f‖2 + ‖g′‖2

luego‖f − f‖2 ≤ ‖f − g‖2 (∀g ∈ U)

La unicidad es consecuencia de la propiedad estricta de la norma.

Supongamos que U = L(g1, . . . , gn) y f =∑n

j=1 cjgj. Falta comprobar que esas condi-ciones de ortogonalidad permiten calcular f . En efecto, c = (c1, . . . , cn) debe ser soluciondel sistema de ecuaciones ecuaciones normales:

< f − f, gk >=<n∑

j=1

cjgj − f, gk >= 0 k = 1, . . . , n

que se pueden escribir en la forma

n∑

j=1

cj < gj, gk >=< f, gk >

La solucion de las ecuaciones normales es siempre unica ya que la independencia linealde los vectores g1, . . . , gn implica que la matriz de Gram asociada es regular.

73

Page 75: calculo numerico

f

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

U

f

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

U

Figura 5.1: Proyeccion ortogonal

Comentarios

• La solucion unica del problema de aproximacion planteado es la proyeccion ortog-onal de f sobre U (completo por ser de dimension finita).

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

< gi, gj >=1

i+ j − 1

y la matriz asociada a las ecuaciones normales es la archifamosa mal condicionadamatriz de Hilbert. Para n > 5 o 6, el tratamiento del problema mediante lasecuaciones normales es desde el punto de vista computacional intratable.

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

ck < gk, gk >=< f, gk >

por lo que

ck =< f, gk >

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

Utilizando el metodo de Gram-Schmidt siempre podemos construir una base g1, . . . , gnde U ortonormada. En este caso la solucion de las ecuaciones normales es simplemente

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

Como ck no depende de los valores anteriores cl (l < k) nos planteamos el problema deaproximacion dejando la dimension de U indeterminada, dimension que lueqo fijamos enbase a la exactitud deseada.

Corolario 5.6.1 El error ‖f − f‖ satisface la relacion

‖f − f‖2 = ‖f‖2 − ‖f‖2

74

Page 76: calculo numerico

En efecto, ‖f‖2 = ‖(f − h) + h‖2 concluye recordando que

< f − f , f >= 0

Ese error ‖f − f‖ se puede calcular facilmente usando el corolario y la igualdad

‖f‖2 =< f − f + f, f >=< f − f, f > + < f, f >

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

‖f − f‖2 = ‖f‖2 − ‖f‖2 = ‖f‖2− < f, f >

luego

‖f − f‖ =(

‖f‖2 −n∑

i=1

cj < f, gj >

)12

5.6.3 Error cuadratico medio

(C([a, b]), ‖ ‖2) es un espacio prehilbertiano. Se suele aquı promediar el error ‖f − f‖22

sobre todo el intervalo. La cantidad resultante

µ =‖f − f‖2√

b− a

se llama el error cuadratico medio. La formula de la desviacion

‖f − f‖ =(

‖f‖2 −n∑

i=1

cj < f, gj >

)12

implica la desigualdad

0 ≤(

‖f‖2 −n∑

i=1

cj < f, gj >

)12

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

0 ≤ ‖f‖2 −n∑

i=1

c2j

yn∑

i=1

c2j ≤ ‖f‖2

desigualdad valida tambien para sistemas ortonormados infinito numerables. En estecaso se llama desigualdad de Bessel.

∞∑

i=1

c2j ≤ ‖f‖2

75

Page 77: calculo numerico

5.6.4 Polinomios ortogonales

Polinomios de Legendre

En C([−1, 1]) definimos el producto escalar habitual

< f, g >=∫ 1

−1f(x)g(x)dx

(relativo a la funcion peso w(x) = 1 en [−1, 1]).La familia de polinomios que se obtienen cuando aplicamos el metodo de ortonormal-izacion de Gram-Schmidt a la familia libre

gj(x) = xj−1 (j = 1, 2, . . . , n)

se denominan polinomios de Legendre.

Buscamos un sistema Lj de polinomios con Lj ∈ Pj que satisfacen las condiciones< Li, Lj >= δij para i, j = 1, 2, . . . , n.

No entraremos aquı en el proceso de la determinacion de los polinomios de LegendreLn, pero incluiremos la formula de Rodrigues que nos da los polinomios de Legendrenormalizados

Ln(t) =1

2nn!

2n+ 1

2

dn(t2 − 1)n

dtn

Por ejemplo,

L0(t) =1√2, L1(t) =

3

2t

L2(t) =1

2

5

2(3t2 − 1), L3(t) =

1

2

7

2(5t3 − 3t),

etc. Si consideramos el problema de hallar el polinomio p en Pn−1 que mejor aproximeal monomio xn en [−1, 1] respecto a la norma ‖ ‖2 andamos buscando el polinomio

p = c1g1 + · · ·+ cngn

cuyos coeficientes ci son solucion de las ecuaciones normales

< f − (c1g1 + · · ·+ cngn), gk >= 0, 1 ≤ k ≤ n

La unica solucion de este sistema es el polinomio de Legendre con maximo coeficiente 1.

Ln = f − (c1g1 + · · ·+ cngn)

y por tanto, p = f − Ln. Dos comentarios interesantes sobre estos polinomios:

• El polinomio Ln tiene norma mınima en el sentido que

‖Ln‖2 ≤ ‖p‖2

para todos los polinomios p de εn donde

εn = p ∈ Pn : p(x) = xn + an−1xn−1 + · · ·+ a0

• Los polinomios de Legendre con coeficiente maximo 1. son la mejor aproximacionde la funcion nula en [−1, 1] respecto a la norma ‖ ‖2.

76

Page 78: calculo numerico

Los polinomios de Chebychev revisados

En C([−1, 1]) definimos el producto escalar

< f, g >=∫ 1

−1

f(x)g(x)√1− x2

dx (5.1)

(relativo a la funcion peso

w(x) =1√

1− x2

en [−1, 1]).Los polinomios de Chebychev se definen en [−1, 1] por

Tn(x) = cos(n arccos x)

son ortogonales respecto a ese producto escalar5.1, mas precisamente,

< Ti, Tj >=

0 si i 6= jπ2

si i = j 6= 0π si i = j = 0

En efecto, pongamos x = cosϕ

< Ti, Tj >=∫ 1

−1

Ti(x)Tj(x)√1− x2

dx =∫ π

0cos iϕ cos jϕdϕ = 0

si i 6= j y

< Ti, Tj >=∫ 1

−1

Ti(x)Tj(x)√1− x2

dx =∫ π

0cos2 iϕdϕ =

π si i = 0π2

si i 6= 0

si i = j, luego ‖T0‖2 = π y ‖Ti‖2 = π2si i 6= 0. Obtenemos una familia ortonormal

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

T0

‖T0‖,Ti‖Ti‖

es decir,

1√πT0,

π

2Ti

forma un sistema ortonormado completo en [−1, 1] respecto a la funcion peso 1√1−x2 . Los

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

Page 79: calculo numerico

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

T2(x) = 2x2 − 1

T3(x) = 4x3 − 3x

T4(x) = 8x4 − 8x2 + 1

T5(x) = 16x5 − 20x3 + 5x

T6(x) = 32x6 − 48x4 + 18x2 − 1

y la expresion de los monomios de menor grado en funcion de la base de Chebychev esla siguiente.

1 = T0

x = T1

x2 =1

2(T0 + T2)

x3 =1

4(3T1 + T3)

x4 =1

8(3T0 + 4T2 + T4)

x5 =1

16(10T1 + 5T3 + T5)

x6 =1

32(10T0 + 15T2 + 6T4 + T6)

x7 =1

64(35T1 + 21T3 + 7T5 + T7)

x8 =1

128(35T0 + 56T2 + 28T4 + 8T6 + T8)

x9 =1

256(126T1 + 84T3 + 36T5 + 9T7 + T9)

• Insistamos en que toda funcion f ∈ C([−1, 1]) admite un desarrollo en serie deFourier del tipo

f =c02+

n∈INcnTn

donde la sucesionde sumas parciales,

fn(x) =c02+

n∑

k=1

ckTk(x)

con

ck =2

π

∫ 1

−1

f(x)Tk(x)√1− x2

dx

=2

π

∫ π

0f(cosϕ) cos kϕdϕ

=1

π

∫ π

−πf(cosϕ) cos kϕdϕ

78

Page 80: calculo numerico

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

• Con la hipotesis, f ∈ C2([−1, 1]), se prueba que esta sucesion de aproximacionesconverge a f respecto a ‖ ‖∞. Este resultado es de especial interes ya que, dadauna funcion f ∈ C2([−1, 1]), se puede obtener una buena estimacion de la m.a. enla norma del maximo p ∈ Pn tomando la suma parcial

fn(x) =c02+

n∑

k=1

ckTk(x)

Este metodo es particularmente util cuando los ck son facilmente calculables. En lapractica, dichos coeficientes nunca se calculan mediante integracion explıcita, sinoutilizando tecnicas de integracion numerica.

5.6.5 Desarrollo en serie de Fourier de una funcion periodica.

General

Vamos a estudiar el desarrollo en serie de Fourier de una funcion periodica como un casoparticular de aproximacion en espacios prehilbertianos. Una funcion se dice periodica deperiodo T si

f(x+ T ) = f(x)

El menor de los periodos se llama periodo fundamental, y su frecuencia asociada, fre-cuencia fundamental.

w0 =2π

T

El espacio ambiente es E = L2 ([0, T ], IC), funciones de cuadrado integrable, que tomanvalores en los complejos. Se consideran solamente en el periodo [0, T ], aunque es indifer-ente la seleccion del periodo considerado [x, x+ T ]

El producto escalar del que se deriva la norma:

〈f, g〉 =∫ T

0f(t)g(t)dt

El subespacio vectorial donde se busca la mejor aproximacion sera:

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

φk(t) = ejkw0t = cos (kw0t) + jsen (kw0t)

Ortogonalidad de la base.

Vamos a ver que este es un sistema ortogonal cuando usamos el producto escalar anterior:

〈φk, φm〉 =∫ T

0φk(t)φm(t)dt =

∫ T

0ejkw0te−jmw0tdt =

∫ T

0ej(k−m)w0tdt

79

Page 81: calculo numerico

=

k = m ;∫ T0 dt = T

k 6= m ; 1j(k−m)w0

ej(k−m)w0t

T

0= w0T = 2π = 0

Se deja como ejercicio el que comprobeis que si el intervalo de integracion para el pro-ducto escalar se traslada, la familia de funciones sigue siendo ortogonal. O sea, el nuevoproducto escalar serıa:

〈f, g〉 =∫ x+T

xf(t)g(t)dt

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

〈f, g〉 =∫

Tf(t)g(t)dt

Calculo de la mejor aproximacion.

Para aproximar una funcion f ∈ E en T , como E es prehilbertiano, y T tiene dimensionfinita, 2n + 1, la mejor aproximacion existe, es unica y es la proyeccion ortogonal de fsobre T , f ∗.

Se trata de encontrar los coeficientes ck que permiten expresar f ∗ en la base de T .

f ∗ =n∑

m=−ncmφm

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

〈f − f ∗, φk〉 = 0 ⇔ 〈f ∗, φk〉 = 〈f, φk〉 ⇔ 〈n∑

m=−ncmφm, φk〉 = 〈f, φk〉

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

ck =1

T

Tf(t)e−jkw0tdt

Condicion para que la mejor aproximacion sea real.

f ∗ sera real si y solamente si:

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

n∑

k=−nckφk −

n∑

k=−nckφk =

φk = φ−k

=n∑

k=−nckφk −

n∑

k=−nckφ−k

=n∑

k=−nckφk −

n∑

k=−nc−kφk

80

Page 82: calculo numerico

=n∑

k=−n(ck − c−k)φk

= 0

⇔ ck = c−k

Como es la mejor aproximacion si f es real.

Veamos, si como parece razonable, la mejor aproximacion es entonces real:

ck =1

T

Tf(t)e−jkw0tdt

c−k =1

T

Tf(t)ejkw0tdt

=1

T

Tf(t)cos (kw0t) dt+ j

Tf(t)sen (kw0t) dt

=1

T

Tf(t)cos (kw0t) dt− j

Tf(t)sen (kw0t) dt

=1

T

Tf(t)e−jkw0tdt

= ck

Por tanto, c−k = ck, y su serie de Fourier es tambien real. O sea, que la serie de Fourierde una senal real es tambien real. Veamos en que se convierte dicha serie de Fourier.

ck =1

T

Tf(t)e−jkw0tdt

=1

T

Tf(t)cos (kw0t) dt− j

Tf(t)sen (kw0t) dt

= Ak + jBk

Por tanto:

Ak =1

T

Tf(t)cos (kw0t) dt

Bk = −1

T

Tf(t)sen (kw0t) dt

Como c−k = ck, c−k = Ak − jBk, y por tanto:

f ∗(t) =n∑

k=−nckφk(t)

= c0 +1∑

k=−nckφk(t) +

n∑

k=1

ckφk(t)

= c0 +n∑

k=1

c−kφ−k(t) +n∑

k=1

ckφk(t)

= c0 +n∑

k=1

ckφ−k(t) +n∑

k=1

ckφk(t)

81

Page 83: calculo numerico

= c0 +n∑

k=1

[

(Ak − jBk) e−jkw0t + (Ak + jBk) e

jkw0t]

= c0 +n∑

k=1

[

Ak

(

ejkw0t + e−jkw0t)

+ jBk

(

ejkw0t − e−jkw0t)]

= c0 + 2n∑

k=1

[Akcos (kw0t)−Bksen (kw0t)]

En suma:

f ∗(t) =1

T

Tf(t)dt

+2

T

n∑

k=1

[

cos (kw0t)∫

Tf(u)cos (kw0u) du

]

+2

T

n∑

k=1

[

sen (kw0t)∫

Tf(u)sen (kw0u) du)

]

Que es el tıpico desarrollo en serie de senos y cosenos de la funcion f .

5.6.6 Aproximacion discreta: mınimos cuadrados.

Hasta ahora hemos aproximado funciones definidas analıticamente mediante otras fun-ciones analıticas mas sencillas. Sin embargo, lo mas habitual es que la funcion que sepretende aproximar no se conozca de modo analıtico, sino a traves de una definicionpuntual. Es muy comun conocer datos de un determinado experimento. A este tipo deproblema nos dedicaremos en esta seccion.

Vamos a abordar el metodo de aproximacion por mınimos cuadrados que todos conoceis,discutiendolo como un caso particular de aproximacion en un espacio prehilbertiano ade-cuado. Se tienen (xi, yi)i=0,n, n+1 pares de valores con abscisas distintas. Buscamos unafuncion f ∈ L (g1, . . . , gm), cuyos valores en (x0, . . . , xn) aproximen los valores (y0, . . . , yn)tan bien como sea posible. A esa familia de funciones (gj)j=0,n, solo les vamos a exigirque sean continuas. Para estudiar la bondad de la aproximacion definimos la siguientemedida del error. Buscamos f ∈ U = L (g1, . . . , gm), tal que:

n∑

i=0

|yi − f (xi)|2 ≤n∑

i=0

|yi − g (xi)|2 ∀g ∈ U

Como ya hemos comentado, para utilizar todo lo que sabemos de aproximacion, debemosformular nuestro problema en un espacio prehilbertiano adecuado. Ese espacio va a serIRn+1, con el producto escalar habitual en los espacios vectoriales:

〈a, b〉 =n∑

i=0

ai · bi ∀a, b ∈ IRn+1

Este producto escalar induce la norma euclıdea tambien habitual.

‖ a ‖2=√

〈a, a〉 =√

n∑

i=0

a2i ∀a ∈ IRn+1

82

Page 84: calculo numerico

Vamos a jugar, por tanto, simultaneamente con funciones continuas, elementos de unespacio vectorial de dimension infinita, y con elementos de IRn+1, de dimension finita.Estos elementos van a ser las imagenes de estas funciones en los n+1 puntos del soporte.Usaremos la siguiente notacion:

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:

g =m∑

j=1

αjgj

Ahora ya no nos interesa encontrar una funcion continua que pertenezca a U , envoltura

lineal de las funciones (gj)j=0,n, sino un vector f ∈ T = L (g1, . . . , gm) , tal que:

‖ y − f ‖2≤‖ y − g ‖2 ∀g ∈ T = L (g1, . . . , gm) con y = (y0, . . . , yn)

Escribimos ese vector como:

f ==m∑

j=1

αjgj =

m∑

j=1

αjgj (x0) , . . . ,m∑

j=1

αjgj (xn) ,

Si el numero de funciones, m, es mayor que la dimension del espacio, n+ 1, entonces los

vectores g1, . . . , gm son linealmente dependientes, y la expresion de f no es unica. Solotiene por tanto sentido estudiar el caso en que m ≤ n+ 1.

En un problema de aproximacion en un espacio prehilbertiano, la solucion viene dadapor la proyeccion ortornormal del vector que queremos aproximar sobre el subespacio Tdonde estamos buscando su mejor aproximacion.

〈y − f , g〉 = 0 ∀g ∈ T = L (g1, . . . , gm)

Escribiendo f como combinacion lineal de los vectores g1, . . . , gm, y sabiendo que esacomprobacion es suficiente hacerla en una base de T , llegamos al sistema de ecuacionesnormales, que tiene solucion si su determinante es distinto de cero. Para ello, los vectoresg1, . . . , gm deben ser linealmente independientes en IRn+1. Para que esto suceda, nobasta con que las funciones g1, . . . , gm lo sean en C[a, b]. Hay otras condiciones quegarantizan esa independencia. Estas funciones deben formar lo que se llama un sistemade Chebychev de funciones, pero el tratar con suficiente precision este tema se escapa anuestros contenidos, ası que no nos liamos con esto. O sea, que la conclusion es que elproblema tiene solucion unica cuando ese determinante es distinto de cero. Un conjuntode funciones donde estos problemas siempre tienen solucion unica son la base polinomialformada por monomios, y es con ellos con los que vamos a montar el ejemplo.

Ejemplo 5.6.1

83

Page 85: calculo numerico

Se tienen (xi, yi)i=0,n, n+1 pares de valores con abscisas distintas. Buscamos una funcion

f ∈ L (g1, g2), cuyos valores en (x0, . . . , xn) aproximen los valores (y0, . . . , yn) tan biencomo sea posible. Esas dos funciones van a ser los monomios de grado 0 y 1: g1(x) = 1y g2(x) = x. Por tanto:

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

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

que son claramente linealmente independientes. El sistema de ecuaciones normales quedacomo:

〈y − f , gj〉 = 0 con j = 1, 2

O lo que es lo mismo:

〈f , gj〉 = 〈y, gj〉 con j = 1, 2

Comof = α1 · g1 + α2 · g2

Desarrollando esta expresion para j = 1 y para j = 2 llegamos al sistema lineal de dosecuanciones con dos incognitas.

α1 · (n+ 1) + α2 ·n∑

i=0

xi =n∑

i=0

yi

α1 ·n∑

i=0

xi + α2 ·n∑

i=0

x2i =

n∑

i=0

yi · xi

que resueltas convenientemente nos dan los valores α1 y α2 buscados. La funcion f es larecta de mınimos cuadrados.

Ejercicio 5.6.1 Demostrar que el centro de gravedad de esta nube de puntos esta en larecta f = α1 + α2x ası obtenida.

5.6.7 Desarrollo en serie de Fourier de senales periodicas defi-

nidas de modo discreto.

General

Vamos a estudiar el desarrollo en serie de Fourier de una funcion periodica definida demodo discreto como un caso particular de aproximacion por mınimos cuadrados. Paraentender esta parte, se supone que se ha seguido el razomiento general, no insistiendosesobre esos conceptos previos.

Imaginemos que tenemos una muestra discreta equiespaciada. Dicha muestra discreta 1

ym, se dice de periodo N si:ym+N = ym

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

84

Page 86: calculo numerico

N=4

Figura 5.2: Muestra discreta periodica equiespaciada.

w0 =2π

NVamos a aproximar por mınimos cuadrados esta senal con funciones de la familia:

φk(t) = ejkw0t = cos (kw0t) + jsen (kw0t)

con k ∈ Z. Su representacion discreta es un vector con el siguiente aspecto:

φk = (· · · , φk(−N), · · · , φk(m), · · · , φk(N), · · ·)

Es facil ver que esta senal discreta tiene como periodo N

φk(m+N) = ejkw0(m+N) = ejkw0mejkw0N = ejkw0mejk2π = ejkw0m = φk(m)

Por tanto, basta con considerar este vector en un periodo, por ejemplo:

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

Por la misma razon resulta que solo 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)ejNw0(m), · · · , ejkw0(m+N−1)ejNw0(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 buscara la mejor aproximacion sera la envolvente dea lo sumo N de estas funciones consecutivas, que podemos indexar, por comodidad, delmismo modo que lo hicimos con el desarrollo de Fourier continuo:

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

Caso interesante es el de interpolacion, o sea, cuando el numero de funciones coincidecon 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ı:

Si N es par, k varia en

−N2, · · · , 0, · · · , N

2− 1

Si N es impar, k varia en

−[

N2

]

, · · · , 0, · · · ,[

N2

]

donde [ ] denota la parte entera de unnumero.

85

Page 87: calculo numerico

Ortogonalidad del sistema

La matriz del sistema lineal, usando ∗ para representar el conjugado de un complejo,tendra como elementos:

alk = 〈φl, φk〉 = φl · φk∗

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

=(

ejlw0(m), · · · , ejlw0(m+N−1)) (

e−jkw0(m), · · · , e−jkw0(m+N−1))

= ej(l−k)w0(m) + · · ·+ ej(l−k)w0(m+N−1)

=m+N−1∑

n=m

ej(l−k)w0n

=

l = k ∑m+N−1n=m 1 = N

l 6= k ∑m+N−1n=m

(

ej(l−k)w0

)n

Vamos con este ultimo termino:m+N−1∑

n=m

(

ej(l−k)w0

)n=

m+N−1∑

n=m

(

ej(l−k)w0

)n

=m+N−1∑

n=m

rn

=1− rN

1− rrm

=1− ej(l−k)w0N

1− rrm

=1− ej(l−k)2π

1− rrm

= 0 (5.2)

Por tanto:

alk =

N si l = k

0 si l 6= kPor tanto, los vectores son ortogonales, la matriz del sistema lineal es diagonal, y lafuncion solucion f ,

f =∑

k

akφk

cuya forma vectorial f es la proyeccion ortogonal de y sobre L

φk

. Como el sistema esortogonal,

ak =〈y, φk〉N

=1

N

m+N−1∑

n=m

yne−jk( 2π

N )n

Ejercicio 5.6.2 Condicion para que la mejor aproximacion f sea real.

Ejercicio 5.6.3 ¿Como es la mejor aproximacion si los elementos del vector y sonreales?

86

Page 88: calculo numerico

5.7 Referencias recomendadas para este tema.

Un estudio exhaustivo de la aproximacion de funciones periodicas definidas de mododiscreto la tenemos en el texto de Oppenheim et al. [11]. Sin embargo, este texto tieneun nivel muy alto y puede ser suficiente con el [17]. Respecto al problema general, eltexto de Hammerlin et al.[7] hace un estudio muy bueno partiendo del problema en suformulacion mas general.

87

Page 89: calculo numerico

Capıtulo 6

Integracion numerica

6.1 Introduccion

El calculo numerico de integrales definidas es uno de los problemas mas antiguos enmatematicas. Este problema, que en su formulacion mas antigua se traducıa en encon-trar el area de regiones limitadas por lıneas curvas, ha sido tratado durante miles de anos,mucho antes de que se desarrollase el concepto de integral, dentro del marco del analisismatematico alla en los siglos XVII y XVIII. Sin lugar a dudas, el ejemplo mas conocidode este problema fue el de calcular el area contenida en un cırculo, que rapidamentese relaciono con el numero π y su calculo. Usando un metodo numerico basado en laaproximacion de un cırculo por polıgonos inscritos y circunscritos, Arquımedes (287-212a.C.) fue capaz de dar las sorprendentes cotas 3 10

71< π < 31

7.

Muchas veces se usa cuadratura numerica en vez de integracion numerica. Esta nomen-clatura procede del problema que hemos explicado, de calcular el area del cırculo, quepuede ser visto como encontrar un cuadrado de igual superficie.

Vamos a describir ahora cuatro situaciones para las que es necesario aproximar integralesdefinidas. La primera es el caso en el que no se puede evaluar analıticamente la primitivade una funcion. Ejemplos tıpicos de esta situacion son evaluar la integral

∫∞0 exp(−x2)dx,

o encontrar la longitud de una elipse. La segunda situacion es que la funcion admita pri-mitiva, pero esta sea muy difıcil de calcular. La tercera situacion, la mas comun, consisteen que se conozcan solo ciertos puntos de la funcion. La ultima posibilidad consisteen que, a veces, se necesitan metodos de cuadratura para el tratamiento numerico deecuaciones diferenciales o integrales. Muchos metodos para discretizar esas ecuaciones seapoyan en metodos de integracion numerica.

Insistiendo en la tercera posibilidad, si se proporcionan los valores de una funcion f enciertos puntos, digamos x0, x1, . . . , xn, ¿se puede usar esta informacion para obtener unaestimacion de como es su derivada f ′(c) o una integral

∫ ba f(x)dx? La respuesta es un sı

rotundo.

Si se parte exclusivamente de los valores f(x0), f(x1), . . . , f(xn), es imposible decirmucho acerca de f a menos que tambien sepamos que f forma parte de una familia re-

Page 90: calculo numerico

lativamente pequena de funciones. Ası, si se permite que f sea una mas en la familia detodas 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 valoresen cinco puntos.

Por otra parte, si sabemos que f es un polinomio de grado n, entonces los valores en

2x

3x

4x

2f

0x

1x

1f

Figura 6.1:

n+1 puntos determinan completamente a f segun vimos en la teorıa de interpolacion. Eneste caso recuperamos f exactamente, y podemos entonces calcular con absoluta certezaf ′(c) o

∫ ba f(x)dx. Sin embargo, en la mayor parte de las situaciones, la informacion que

se tiene disponible no determina completamente a f y cualquier estimacion numericade su derivada o de su integral debera tomarse con escepticismo, a menos que vengaacompanada de alguna cota para los errores cometidos.

6.2 Exposicion del problema

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

gral mediante sumas finitas. Mas precisamente, nosotros llamamos formula de cuadraturade (n+ 1) puntos a una expresion del tipo siguiente:

In(f) =n∑

k=0

Ankf(xk) (6.1)

donde Ank no depende para nada de la funcion f . O sea, 6.1 es una formula que permite

estimar esa integral I(f) mediante una suma ponderada de imagenes de la funcion f enuna serie de puntos.

6.3 Formulas de cuadratura de tipo interpolacion

Hemos visto ya que se puede aproximar una funcion f mediante un polinomio de in-terpolacion Pf . La idea va a ser reemplazar el calculo de I(f) por el calculo de I(Pf ).Las formulas de cuadratura que usan esta idea se llaman formulas de cuadratura de tipo

89

Page 91: calculo numerico

interpolacion. Esto lo haremos por dos razones. La primera es que la integracion depolinomios es muy sencilla, y no se necesitan mas que las cuatro operaciones elementales.Ademas sucede frecuentemente que para las curvas experimentales no se conoce la fun-cion f sino que se conocen ciertos puntos de la funcion: f(xk), k = 0, . . . , n. Supongamospor tanto, para empezar, que conocemos la funcion en esos puntos, y solo en esos. 0 sea,que las abscisas nos vienen impuestas, y no podemos elegirlas. El proceso consistirıa enintegrar el polinomio de interpolacion construido a partir del conocimiento del valor dela funcion en una serie de puntos f(xk), k = 0, . . . , n

I(f) =∫ b

af(x)dx ≈

∫ b

aPf (x)dx =

n∑

k=0

(

∫ b

alk(x)dx

)

f(xk)

con

lk(x) =

∏nj=0,j 6=k(x− xj)

∏nj=0,j 6=k(xk − xj)

Se tendra por tanto una formula de cuadratura de tipo interpolacion si dentro de laformula

In(f) =n∑

k=0

Ankf(xk)

se toma

Ank =

∫ b

alk(x)dx

Se define el error1

R(f) = I(f)− In(f) =∫ b

af(x)dx−

n∑

k=0

Ankf(xk)

R(f) =∫ b

a[f(x)− Pf (x)]dx =

∫ b

a

H(x)

(n+ 1)!f (n+1)(ξ)dx

H(x) = (x− x0)(x− x1) · · · (x− xn)

a ≤ min(x, x0) < ξ < max(x, xn) ≤ b

Definicion 6.3.1 Una formula de cuadratura se dice exacta sobre un conjunto V si

∀f ∈ V, R(f) = 0

Teorema 6.3.1 Una formula de cuadratura de (n+1) puntos es exacta sobre el espaciovectorial Pn de los polinomios de grado menor o igual que n, si y solamente si es del tipode interpolacion de (n+ 1) puntos.

1Una justificacion de esta estimacion del error de la interpolacion polinomial se encuentra en elcapıtulo 4.

90

Page 92: calculo numerico

Demostracion:

′′ ⇒′′∫ b

aP (x)dx =

n∑

k=0

AnkP (xk) (∀P ∈ Pn)

en particular, esto sera valido para lj(x)

∫ b

alj(x)dx =

n∑

k=0

Ank lj(xk) = An

j

y por tanto,

Anj =

∫ b

alj(x)dx

con lo cual, la formula de integracion, es del tipo interpolacion en (n+ 1) puntos.

′′ ⇐′′

Supongamos ahora que la formula es de interpolacion en (n+ 1) puntos. Lo que sucedees que un polinomio de grado n es igual a su polinomio de interpolacion de grado n, ypor tanto la formula es exacta para esos polinomios, que es de lo que se trata.

Definicion 6.3.2 Se dice que una formula de cuadratura tiene grado de precision n sila formula es exacta para xk, k = 0, 1, . . . , n, pero no es exacta para xk+1.

Aplicacion del Teorema 6.3.1

Este teorema nos da otro medio para el calculo de los coeficientes, el metodo de loscoeficientes indeterminados, que ilustramos en el ejemplo siguiente.

Ejemplo 6.3.1 Calcular los coeficientes que intervienen en la formula de cuadratura detipo interpolacion siguiente:

∫ 1

−1f(x)dx = A1

0f(−1) + A11f(1) +R(f)

La formula de cuadratura es de tipo interpolacion a dos puntos, siendo por tanto su gradode precision uno. Por tanto debe ser exacta para los polinoniios P0(x) = 1 y P1(x) = x.Forcemos a que se cumplan estas condiciones:

∫ 1

−11 · dx = A1

0 + A11

∫ 1

−1x · dx = A1

0 · (−1) + A11 · 1

De donde obtenemos el sistema lineal:

A10 + A1

1 = 2−A1

0 + A11 = 0

cuya solucion es A10 = A1

1 = 1.

91

Page 93: calculo numerico

6.4 Formulas de Newton-Cotes

Supongamos una subdivision uniforme del intervalo [a, b]. Ponemos

h =(b− a)

n(6.2)

Sea xj = a+ j · h, con 0 ≤ j ≤ n, x0 = a y xn = b. Con estas hipotesis, se tiene:

∫ b

af(x)dx ≈ (b− a)

n∑

j=0

Bnj f(a+ j · h) (6.3)

con

Bnj =

1

b− a

∫ b

alj(x)dx (6.4)

Estas formulas se llaman las formulas cerradas de Newton Cotes, que son muy usadascuando la naturaleza del problema nos permite conocer los valores de la funcion sobreun soporte equiespaciado, pues en ese caso, el valor aproximado de la integral se obtienemuy rapidamente ya que esos coeficientes unicamente dependen del numero de puntos queutilizamos para integrar. Los coeficientes del sumatorio cumplen ademas la propiedadBnj = Bn

n−j.

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

h,

llegamos a:

Bnj =

(−1)n−jj!(n− j)!n

∫ n

0

n∏

k=0,k 6=j(y − k)dy (6.5)

por tanto, por ejemplo:

B10 = B1

1 =(−1)10!(1)!1

∫ 1

0ydy =

1

2

La formula de Newton-Cotes de grado 1 se llama la formula del trapecio

∫ b

af(x)dx ≈ (b− a)

[

1

2f(a) +

1

2f(b)

]

La formula de Newton-Cotes de grado 2 se llama la formula de Simpson

∫ b

af(x)dx ≈ (b− a)

[

1

6f(a) +

4

6f

(

a+ b

2

)

+1

6f(b)

]

En la tabla 6.1 tenemos los valores de Bnj hasta n igual a 6.

6.4.1 Evaluacion del error en las formulas de Newton-Cotes

Formula del trapecio

Se quiere evaluar:

R(f) =∫ b

af(x)dx−

(

b− a

2

)

[f(a) + f(b)]

92

Page 94: calculo numerico

n Bn0 Bn

1 Bn2 Bn

3

1 1/22 1/6 4/63 1/8 3/84 7/90 32/90 12/905 19/288 75/288 50/2886 41/840 216/840 27/840 272/840

Tabla 6.1: Coeficientes de las formulas de Newton-Cotes

R(f) =∫ b

a

(x− a)(x− b)

2f ′′(ξ)dx ξ = ξ(x) ∈ (a, b)

como (x− a)(x− b) no cambia de signo en [a, b], se puede usar una de las formulacionesdel teorema del valor medio del calculo integral para escribir que:

R(f) =f ′′(α)

2

∫ b

a(x− a)(x− b)dx, α ∈ [a, b]

R(f) = −h3

12f ′′(α) α ∈ [a, b]

De aquı se deduce la siguiente cota al error de la aproximacion:

|R(f)| ≤ h3

12maxx∈[a,b]

|f ′′(x)|

6.4.2 Formulas abiertas de Newton-Cotes

Las formulas de cuadratura se dicen abiertas cuando no se utilizan los extremos delintervalo como abscisas de interpolacion. Esto es necesario cuando la funcion es porejemplo singular en los extremos, o cuando se quiere extrapolar una integral fuera de lospuntos en los que tenemos definida la funcion a integrarl. La formula de Newton-Cotesabierta de un punto es:

∫ b

af(x)dx ≈ (b− a)f

(

a+ b

2

)

∫ b

af(x)dx ≈

(

b− a

2

)

[f(x1) + f(x2)]

x1 = a+ h; x2 = a+ 2h = b− h; h =b− a

3

6.5 Estabilidad

A un metodo de integracion se le pide que sea poco sensible a los errores de calculo enlos puntos que definen la funcion de un modo discreto. Por tanto, veamos como influye

93

Page 95: calculo numerico

un calculo efectuado con valores perturbados:

n∑

k=0

Ank(fk + εk)−

n∑

k=0

Ankfk =

n∑

k=0

Ankεk

Definicion 6.5.1 Una formula de cuadratura de la forma

In(f) =n∑

k=0

Ankf(xk)

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

n∑

k=0

Ankεk

≤M ·max|εk| (6.6)

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

Teorema 6.5.1 Una formula de cuadratura de la forma

In(f) =n∑

k=0

Ankf(xk)

es estable si y solo si existe M independiente de n tal que

n∑

k=0

|Ank | ≤M (6.7)

Prueba:

′′ ⇐′′∣

n∑

k=0

Ankεk

≤n∑

k=0

|Ankεk| ≤

n∑

k=0

|Ank | ·max|εk| ≤M ·max|εk|

′′ ⇒′′

Supongamos que no existiese esa constanteM independiente de n verificando la condicion(6.7). En ese caso tendrıamos que

limn→∞

n∑

k=0

|Ank | = +∞

y eligiendo εk =Ank

|Ank| con An

k 6= 0, entonces

n∑

k=0

Ankεk

=

n∑

k=0

(Ank)

2

|Ank |

=n∑

k=0

|Ank |

y, por tanto, pasando

limn→∞

n∑

k=0

Ankεk

= +∞

con lo que la formula no serıa estable.

Teorema 6.5.2 Las formulas de Newton-Cotes son inestables.

94

Page 96: calculo numerico

6.6 Convergencia

Es otro criterio que permite calibrar la bondad de una aproximacion a una determinadaintegral. Las formulas de integracion se expresan en funcion del numero de puntos n.Parece razonable pensar que si se aumenta n se obtendra un resultado mas preciso, y queen consecuencia, en el lımite se obtendra el valor exacto.

Definicion 6.6.1 Se dice que una aproximacion Ln(f) =∑n

k=0 Ankf(xk) converge sobre

un conjunto V , si cualquiera que sea f ∈ V , se tiene:

limn→∞

[

n∑

k=0

Ankf(xk)

]

=∫ b

af(x)dx

Teorema 6.6.1 Una condicion necesaria y suficiente para que los metodos de cuadraturade tipo interpolacion sean convergentes en C[a, b] es que las formulas sean estables.

6.7 Metodos compuestos

6.7.1 General

La idea consiste en aplicar a subintervalos de (a, b) una formula de Newton-Cotes degrado q con q fijo y pequeno. Es equivalente a interpolar la funcion con un polinomio atrozos e integrar dicho polinomio.

6.7.2 Metodo compuesto de los trapecios

En el metodo compuesto de los trapecios, el numero de puntos que se utiliza en cadasubintervalo es de 2, y por tanto el grado del polinomio de aproximacion q es 1. Esequivalente a interpolar con un polinomio a trozos de grado 1 y clase 0 e integrar este.

∫ b

af(x)dx =

n−1∑

k=0

∫ a+(k+1)h

a+k·hf(x)dx

≈n−1∑

k=0

h[

1

2f(a+ k · h) + 1

2f(a+ (k + 1) · h)

]

= h[

1

2f(a) + f(a+ h) + f(a+ 2h) + · · ·+ 1

2f(b)

]

6.7.3 Metodo compuesto de Simpson

En el metodo compuesto de Simpson, el numero de puntos que se utiliza en cada subin-tervalo es de 3, y por tanto el grado del polinomio de aproximacion q es 2. Se elige unsoporte con un numero impar de puntos:

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

95

Page 97: calculo numerico

En cada intervalo se aplica la forma de Newton-Cotes de Simpson.

∫ a+h

af(x)dx ≈ 2h

[

1

6f(a) +

4

6f(a+ h) +

1

6f(a+ 2h)

]

∫ a+4h

a+2hf(x)dx ≈ 2h

[

1

6f(a+ 2h) +

4

6f(a+ 3h) +

1

6f(a+ 4h)

]

· · · · · · · · ·∫ b

a+(n−2)hf(x)dx ≈ 2h

[

1

6f(a+ (n− 2)h) +

4

6f(a+ (n− 1)h) +

1

6f(b)

]

Sumando todos estos terminos, se obtiene que:

∫ b

af(x)dx ≈ h

3f(a) + f(b)

+ 2[f(a+ 2h) + f(a+ 4h) + · · ·+ f(a+ (n− 2)h)]

+ +4[f(a+ h) + f(a+ 3h) + · · ·+ f(a+ (n− 1)h)]

6.7.4 Mayoracion del error en los metodos compuestos

Metodo compuesto de los trapecios

Se ha visto ya que en el caso del metodo de los trapecios:

|R(f)| =∣

∫ b

af(x)dx−

(

b− a

2

)

[f(a) + f(b)]

≤ h3

12maxx∈[a,b]

|f ′′(x)|

Por tanto, en el caso de los metodos compuestos:

∫ b

af(x)dx− h

[

1

2f(a) + f(a+ h) + · · ·+ 1

2f(b)

]

h3

12

[

maxx∈[a,a+h]

|f ′′(x)|+ · · ·+ maxx∈[a+(n−1)h,b]

|f ′′(x)|]

nh3

12maxx∈[a,b]

|f ′′(x)| = (b− a)3

12n2maxx∈[a,b]

|f ′′(x)| = b− a

12maxx∈[a,b]

|f ′′(x)|h2

6.7.5 Seleccion del paso de integracion

En las formulas de tipo compuesto se desea elegir el paso h para que el error |R(f)| =|I − In(h)| sea inferior a una cota dada ε, sin necesidad de entrar en consideracionessobre las derivadas de la funcion original f pues estas son desconocidas y normalmente,difıciles de acotar. El proceso para elegirlo sera el siguiente:

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

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

96

Page 98: calculo numerico

3. Suponiendo que el error esta en funcion de hp -p = 2 para el metodo compuesto delos trapecios, por ejemplo- se tendra que:

Ih0 − I ≈M · hp0

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

M · hp0 ≈Ih0 − I2h0

1− 2p,

y tenemos el sistema:

M · hp0 ≈ Ih0 − I2h0

1− 2p

M · hp ≈ ε (6.8)

y por tanto:

h ≈ h0

[

ε(1− 2p)

Ih0 − I2h0

] 1p

6.7.6 Estabilidad de los metodos compuestos

Para valores de q suficientemente pequenos, y cuando aproximamos integrales de fun-ciones suficientemente regulares, los metodos compuestos son estables y convergentes.

6.8 Formulas de Gauss

6.8.1 Introduccion

En cierto tipo de experimentos podemos fijar el valor de las abscisas de la funcion quepretendemos conocer. En estos casos, Gauss nos proporciona un criterio para elegir estasabscisas que aumenta notablemente el grado de precision de las formulas de integracionde tipo interpolacion. La idea consiste en aproximar I(f) por:

In(f) =n∑

k=0

Ankf(x

nk)

y considerar Ank y xnk como desconocidos. Veamos como lo conseguimos.

97

Page 99: calculo numerico

6.8.2 Metodo de Gauss

Como se puede observar en la formula anterior, el numero de parametros libres es 2n+2.Trataremos por tanto, de que nuestra formula sea exacta en P2n+1 espacio vectorial depolinomios de coeficientes reales de grado menor o igual que 2n+1. Exigiremos por tantoque:

∫ b

ap(x)dx =

n∑

k=0

Ankp(x

nk) (∀p ∈ P2n+1)

Sea p∗ ∈ Pn tal que p∗(xnk) = p(xnk), k = 0, . . . , n, o sea el polinomio de grado n deinterpolacion de la nube de puntos (xnk , p(x

nk)), k = 0, . . . , n. Como p tambien 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:

p∗(x) =n∑

k=0

p(xnk)lk(x)

y por tanto:∫ b

ap(x)dx =

∫ b

a[p∗(x) + (x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)]dx

=n∑

k=0

[

∫ b

alk(x)dx

]

p(xnk)

+∫ b

a(x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)dx

=n∑

k=0

Ankp(x

nk)

Si elegimos como polinomio p uno tal que p(xnk) = 0, k = 0, . . . , n, entonces su polinomiode interpolacion de grado n en esos nodos sera nulo.

p∗ = 0

y por tanto,p(x) = (x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)

Entonces, por un lado:∫ b

ap(x)dx =

n∑

k=0

Ankp(x

nk) =

n∑

k=0

Ank · 0 = 0

y por otro∫ b

ap(x)dx =

∫ b

a[p∗(x) + (x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)]dx

=∫ b

a[0 + (x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)]dx

=∫ b

a(x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)dx

98

Page 100: calculo numerico

que debe ser 0. En suma

∫ b

a(x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)dx = 0

Como para cualquier q, el polinomio p vale 0 en los nodos, esta igualdad tiene que darseindependientemente del polinomio q, o sea:

∫ b

a(x− xn0 )(x− xn1 ) · · · (x− xnn) · q(x)dx = 0 (∀q ∈ Pn)

0 sea, que si hacemos [a, b] = [−1, 1], estamos buscando una serie de nodos (xnk), k =0, . . . , n tales que el polinomio (x−xn0 )(x−xn1 ) · · · (x−xnn) sea ortogonal, segun el productoescalar < p, q >=

∫ 1−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 Ln+1(x), debemos escoger losvalores (xnk), k = 0, . . . , n, abscisas de los nodos, como los ceros de Ln+1(x), polinomio deLegendre de grado n+ 1. Una vez que ya sabemos cuales deben ser los nodos, debemospreguntarnos el valor de la familia de coeficientes (An

k), k = 0, . . . , n. Para ello, elegimosahora como polinomio p uno tal que p(xnk) = δnk , k = 0, . . . , n, y tendremos que:

Ank =

∫ 1

−1lk(x)dx, (∀k = 0, . . . , n)

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

t =2(x− a)

b− a− 1

que transforma [a, b] en [−1, 1].

6.9 Integracion multidimensional

Las tecnicas de integracion numerica mas sencillas para integrales dobles o triples sebasan en la sustitucion de la funcion a integrar por su polinomio en varias variables4.6.Si el recinto es rectangular, la aplicacion es directa. Si no es ası, hay que estudiar demodo independiente cada caso.

6.10 Resumen

1. Que aproximar la integral de una funcion se puede hacer a partir de un numero depuntos dados, sustituyendo la funcion a integrar por una aproximacion pofinomicaa la misma.

2En realidad, el polinomio de Legendre es cualquiera de estos, pero normalizado, por definicion. Elloes debido a que los polinomios de Legendre no son solo una familia de polinomios ortogonales, sino queademas tienen modulo uno. Hemos estudiado estos polinomios como una familia ortogonal en 5.6.4

99

Page 101: calculo numerico

2. Que una formula de aproximacion es buena si atenua los efectos de las perturba-ciones en los puntos que definen la funcion (estabilidad).

3. Que una formula de aproximacion es buena si cuando se aumentan el numero depuntos que se utilizan para definir la funcion, el valor de la aproximacion se acercaal valor real de la integral, coincidiendo en el lımite (convergencia).

4. Que acotar el error tiene mucho que ver con el numero de puntos que se utilizanpara definir la integral y con los maximos de determinadas derivadas.

6.11 Referencias recomendadas para este tema.

Para Integracion Numerica la referencia recomendada son otra vez el libro de Hamerliny Hoffman [7] y el de Theodor [16].

100

Page 102: calculo numerico

Capıtulo 7

Derivacion numerica

7.1 Introduccion

El calculo numerico de integrales definidas es un problema muy antiguo. La estimacionnumerica de derivadas es un problema muy nuevo, y muy necesario para la resolucionnumerica de ecuaciones diferenciales, que se han convertido en las herramientas princi-pales para la descripcion de todo tipo de sistemas.

El comportamiento del error en los metodos de integracion era bastante bueno. Bajar unpoco el paso significaba bajar mucho el error. Ademas, las formulas mas comunes (losmetodos compuestos) son bastantes estables, y errores en los datos, o en los redondeos, nose amplifican en el calculo de las integrales. Sin embargo, las derivadas son mucho menosnobles cuando se las trata numericamente, y puede suceder, como luego estudiaremos,que pequenas variaciones en alguno de los elementos motiven grandes variaciones en elresultado.

7.2 Exposicion del problema

Sea f una funcion real de variable real de clase C1. Se quiere calcular una aproximacional numero f ′(x).

f ′(x) = limh→0

f(x+ h)− f(x)

h= lim

h→0

f(x)− f(x− h)

h

Se obtiene, por ejemplo, una aproximacion a este valor, tomando, con h pequeno

f ′(x) ≈ f(x+ h)− f(x)

h

Esta aproximacion hace intervenir los valores de la funcion en los puntos x y x+h. Igualque hacıamos al integrar, podrıamos pensar en sustituir la funcion f por su polinomiode interpolacion Pf , y aproximar la derivada de f por la derivada de Pf . De hecho, elproblema de estimar la derivada surge porque a menudo f no la conocemos de modoanalıtico, sino por puntos. Por tanto, si sabemos el valor de la funcion f en una nube

101

Page 103: calculo numerico

de puntos x0, x1, · · · , xn, P ′f (x), derivada del polinomio de grado n que interpola a f enesos puntos, nos dara una aproximacion a f ′(x), cuyo error trataremos de acotar. Estasseran las tecnicas de derivacion que explicaremos.

7.3 Derivacion numerica por interpolacion polinomi-

ca.

Hemos visto ya que se puede obtener una aproximacion de una funcion f en un intervalocalculando su polinomio de interpolacion Pf . En el caso de la derivada, vamos a aproximarf ′ por P ′f . El concepto es local, o sea, se sustituye f por Pf en el entorno del puntoen el cual queremos conocer la derivada. Las formulas de derivacion que usan estaidea se llaman formulas de derivacion de tipo interpolacion polinomial. Veamos las masimportantes.

7.3.1 Formula de dos puntos.

Tenemos una funcion f que es C1 en un entorno cerrado E(x0) de x0. Sea E(x0) = [a, b]y sea x0 el punto en el que queremos estimar la derivada de f . Sea x1 tal que [x0, x1] ⊂E(x0). Construyamos el polinomio de interpolacion de f asociado a los puntos x0 y x1,ver figura 7.1.

P1(x) = f(x0)x− x1

x0 − x1

+ f(x1)x− x0

x1 − x0

Derivando este polinomio y particularizando esa derivada en x0 obtendremos la aproxi-macion a la derivada buscada.

P ′1(x0) =f(x1)− f(x0)

x1 − x0

Si llamamos h = x1 − x0, tendremos por tanto:

f ′(x0) ≈f(x0 + h)− f(x0)

h

Existe igualmente una version simetrica de esta formula tomando el segundo punto a laizquierda de x0 -mirando hacia atras.

f ′(x0) ≈f(x0)− f(x0 − h)

h

7.3.2 Error en la formula de dos puntos

Para calcular el error, usamos el error de la interpolacion, derivandolo:

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

(n+ 1)!f (n+1)(ξ(x))

102

Page 104: calculo numerico

0

(x)1

x

P

x

(x)f

h

1

derivadareal = tg.

Figura 7.1: Formula de dos puntos.

H(x) = (x− x0)(x− x1) · · · (x− xn)

a ≤ min(x, x0) < ξ < max(x, xn) ≤ b

Particularizando a nuestro caso, con un polinomio definido por dos puntos(n = 1):

f(x)− P1(x) =(x− x0)(x− x1)

2f ′′(ξ(x))

y derivando esta formula:

f ′(x)−P ′1(x) =1

2(x− x0)(x− x1)f

′′′(ξ(x))ξ′(x)+1

2(x− x1)f

′′(ξ(x))+1

2(x− x0)f

′′(ξ(x))

Hay problemas para estimar el error en puntos distintos de x0 o de x1, pues no conoce-mos el valor de ξ′(x). Sin embargo, podemos estimar facilmente el error en x0 y en x1

sustituyendo en la expresion anterior.

f ′(x0)− P ′1(x0) =(x0 − x1)f

′′(ξ(x))

2= −f

′′(ξ(x))

2h = O(h)

Vemos que el error es una potencia de h de orden 1. El error tiende a 0 con h. Laaproximacion es por tanto bastante mala. Por ejemplo, si echamos la vista atras, en laformula del trapecio, que es la equivalente para la integracion, el error era una potenciacubica de h. El error en la interpolacion es de orden h2. Por tanto, la integral disminuyeel error de la interpolacion polinomial, subiendo el orden, y la derivada lo amplifica,bajando el orden.

103

Page 105: calculo numerico

0

(x)2

x

P

x

(x)f

h

1

h

-1x

Figura 7.2: Interpolacion con parabola.

7.3.3 Formula de tres puntos

Para conseguir un valor mejor para la derivada, podemos interpolar f con una parabola,ver figura 7.2.

P2(x) = f(x−1)l−1(x) + f(x0)l0l(x) + f(x1)l1l(x)

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

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

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

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

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

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

Si derivamos:

P ′2(x) = f(x−1)(x− x0) + (x− x1)

2h2+ f(x0)

(x− x−1) + (x− x1)

−h2

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

2h2(7.1)

Si particularizamos en x0:

f ′(x0) ≈ P ′2(x0) =f(x0 + h)− f(x0 − h)

2h

Esta formula se llama de tres puntos centrada, figura 7.3, pues se construye la parabolacon tres puntos, y se evalua la derivada en el central. Es curioso pensar, que precisa-mente, en el calculo de la derivada no influye el valor en el propio punto en el que serealiza la estimacion.

Por otro lado, del mismo modo que hay formulas centradas, tambien hay formulas mi-rando hacia adelante, y hacia atras. Si evaluamos la derivada en x−1 = x0−h, tendremos

104

Page 106: calculo numerico

(x)(x)(x)222

xxx

PPP

(x)(x)(x)fff

hhh

111

aprox. a latangente.aprox. a latangente.aprox. a latangente.

hhh

-1-1-1xxx

derivadareal = tg.derivadareal = tg.derivadareal = tg.

000xxx

Figura 7.3: Formula de tres puntos.

una formula mirando hacia adelante, y si lo hacemos en x1 = x0+h, mirando hacia atras:

f ′(x0 − h) ≈ P ′2(x0 − h) =−3f(x0 − h) + 4f(x0)− f(x0 + h)

2h

f ′(x0 + h) ≈ P ′2(x0 + h) =f(x0 − h)− 4f(x0) + 3f(x0 + h)

2h

7.3.4 Error en la formula de tres puntos.

Para calcular el error, usamos otra vez el error de la interpolacion.

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

3!f ′′′(ξ(x))

Derivandolo, y particularizandolo para x0:

f ′(x0)− P ′2(x0) = −f ′′′(ξ(x))

6h2 = O(h2)

Por tanto, el error es una potencia de h de orden 2, lo que quiere decir que hemosmejorado notablemente la aproximacion frente a la formula de dos puntos.

7.3.5 Formula de cuatro puntos.

Se obtiene cuando se interpola f por un polinomio cubico que pasa por (x0 − h, f (x0 − h)),(x0, f (x0)), (x0 + h, f (x0 + h)) y (x0 + 2h, f (x0 + 2h))

f ′(x0) ≈ P ′3(x0) =−f (x0 + 2h) + 6f (x0 + h)− 3f (x0)− 2f (x0 − h)

6h

De igual modo, o combinando estas formulas se obtienen otras formulas, cada una consu termino de error.

105

Page 107: calculo numerico

7.3.6 Formula de tres puntos para estimar la derivada segunda.

Podemos usar la interpolacion parabolica de tres puntos para estimar la derivada segunda,que se usa a menudo en ecuaciones diferenciales, como la de Laplace. Ası, si volvemos aderivar, la expresion 7.1, tendremos.

f ′′(x0) ≈ P ′′2 (x0) =f (x0 + h)− 2f (x0) + f (x0 − h)

h2

En este caso hay problemas para acotar el termino del error en x0. Ello es debido a quehay terminos en los que aparecen las derivadas de la funcion ξ(x) que ya no se anulan.

7.4 Estabilidad

Contrariamente a la integracion, y como ya hemos comentado, la diferenciacion numericaes muy sensible a los errores de redondeo y de los datos originales. Para ilustrar estaidea, usemos la aproximacion de dos puntos a la derivada:

f ′(x0) ≈f(x0 + h)− f(x0)

h=f1 − f0

h

con f1 = f(x0 + h) y f0 = f(x0). Supongamos que f0 y f1 son los valores de trabajo def0 y f1, afectados de unos errores que podemos acotar como:

∣f0 − f0

∣ ≤ δ,∣

∣f1 − f1

∣ ≤ δ

entonces, el calculo que realmente hacemos es usando los valores perturbados:

h

error total

error porlos datos

error

pasooptimo

errortruncaje.

Figura 7.4: Seleccion del paso optimo.

f ′(x0) ≈f1 − f0

h

106

Page 108: calculo numerico

Con lo cual, el error, y sus acotaciones quedan:

f ′(x0)−f1 − f0

h

≤∣

f ′(x0)−f1 − f0

h

+

f1 − f0

h− f1 − f0

h

≤ ‖ f ′′ ‖∞2

h+

∣f0 − f0

∣+∣

∣f1 − f1

h≤ ‖ f

′′ ‖∞2

h+2δ

h

Por tanto:∣

f ′(x0)−f1 − f0

h

≤ ‖ f ′′ ‖∞2

h+2δ

h

con‖ f ′′ ‖∞= max

x∈[x0,x0+h]|f ′′(x0)|

Para valores grandes de h, el termino en h domina -error del metodo-. Si h es pequeno, elerror que puedan arrastrar los datos, que corresponde al termino 1/h es el mas importante.Hay que escoger el paso de tal modo que el error total sea mınimo, ver figura 7.4.

Veamos esto con un ejemplo. Se trata de encontrar el valor de la derivada de la funcion

f(x) = arctan(x) en el punto√

(2), ver tabla 7.1. El valor real sabemos que es 1/3.Usamos el operador de dos puntos. Vamos bajando el paso, y buscamos el punto en elque el error total es mınimo. Usaremos valores de la funcion para estimar la precisionderivada con una precision de cuatro decimales sin redondeo. Por tanto, el error en losdatos δ es del orden de 10−4. Vamos bajando el paso, y hasta h = 0.04, el error totaldisminuye, pero si seguimos bajando, es mas importante el error por los datos, y portanto, el error empieza a aumentar. Por tanto, el paso optimo es de ese orden. Se dejacomo ejercicio, el minimizar analıticamente ese error para calcular el paso optimo.

En la figura 7.5 dibujamos los diferentes terminos y los comparamos con el error real.Dado que para pasos altos, el error del metodo y el error total se confunden, centramosel grafico en pasos pequenos en la figura 7.6. Para pasos pequenos pasa lo contrario. Elerror que manda es el correspondiente a los datos.

7.5 Derivadas parciales

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

∆Φ (x0, y0) =∂2Φ

∂x2(x0, y0) +

∂2Φ

∂y2(x0, y0)

utilizando una discretizacion de cinco puntos, es decir, una discretizacion como la de lafigura 7.7, en la cual el espaciado en la direccion x es el mismo que el espaciado en ladireccion y.

Para hacer la discretizacion tenemos que pensar en el significado geometrico de la derivada

107

Page 109: calculo numerico

Figura 7.5: Terminos de error para estimar arctan′(2).

parcial. La derivada parcial de una funcion respecto a la variable x da una idea de loque varıa esa funcion cuando las otras variables permanecen constantes. Es como si fueseuna funcion de una sola variable, x, y las derivadas hay que pensarlas como las derivadasde una funcion de una sola variable. La estimacion queda entonces:

∂2Φ

∂x2(x0, y0) =

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

h2+O(h2)

∂2Φ

∂y2(x0, y0) =

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

h2+O(h2)

Y por tanto, sumando ambas expresiones tendremos que:

∆Φ(x0, y0) ≈Φ (x0 + h, y0) + Φ (x0 − h, y0) + Φ (x0, y0 + h) + Φ (x0, y0 − h)− 4Φ (x0, y0)

h2

7.6 Resumen

1. Aproximar la derivada de una funcion en un punto se puede hacer a partir de unnumero de puntos dados, susituyendo la funcion a integrar por una aproximacionpolinomica a la misma.

2. Las formulas de derivacion ası obtenidas tienen una estabilidad comprometida.

3. De igual modo que se construyen operadores para estimar las derivadas a partir delpolinomio de interpolacion, tambien a partir de estas formulas se pueden construiroperadores que nos sirvan para estimar derivadas parciales de funciones de variasvariables.

108

Page 110: calculo numerico

-0.05

0

0.05

0.1

0.15

0.2

0.25

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045

h

erro

r

2delta/h

max f'' h/2

cotatotal

error

Figura 7.6: Terminos de error para estimar arctan′(2).

7.7 Referencias recomendadas para este tema.

[16], [17].

109

Page 111: calculo numerico

h f1 f0 (f1 − f0)/h 2δ/h max f ′′(ξ)h/2 cotatotal error0.04 0.9684 0.9553 0.3275 0.005 0.006285394 0.01128 0.00580.03 0.9651 0.9553 0.3267 0.00666 0.004714045 0.01138 0.00670.02 0.9619 0.9553 0.3300 0.01 0.003142697 0.01314 0.00330.01 0.9586 0.9553 0.3300 0.02 0.001571348 0.02157 0.00330.009 0.9583 0.9553 0.3333 0.02222 0.001414214 0.02363 0.00000.008 0.9579 0.9553 0.3250 0.025 0.001257079 0.02625 0.00830.007 0.9576 0.9553 0.3286 0.02857 0.001099944 0.02967 0.00480.006 0.9573 0.9553 0.3333 0.03333 0.000942809 0.03427 0.00000.005 0.9569 0.9553 0.3200 0.04 0.000785674 0.04078 0.01330.004 0.9566 0.9553 0.3250 0.05 0.000628539 0.05062 0.00830.003 0.9563 0.9553 0.3333 0.06666 0.000471405 0.06713 0.00000.002 0.9559 0.9553 0.3000 0.1 0.00031427 0.10031 0.03330.001 0.9556 0.9553 0.3000 0.2 0.000157135 0.20015 0.0333

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

0y0x( )-h,

0,y

0x( )- h

0y0x( )+h,

0,y

0x( )+h

Figura 7.7: Discretizacion de cinco puntos.

110

Page 112: calculo numerico

Capıtulo 8

Ecuaciones diferenciales ordinarias.

8.1 Introduccion

Muchos modelos fısicos, ingenieriles, economicos, y de cualquier otra ciencia cuantitativacaen dentro de la categorıa de las ecuaciones diferenciales. En ellos, la evolucion delcomportamiento de ciertas variables satisface ecuaciones que dependen no solo de lasvariables en si, sino de sus derivadas. Por ejemplo, la ley que gobierna la velocidad deuna masa deslizante sujeta solamente a los efectos friccionales. En este caso la segundaley de Newton se escribe como:

md

dtv(t) = −µv(t) (8.1)

En esta parte de la asignatura, vamos a aprender metodos numericos para resolver ecua-ciones diferenciales ordinarias (edo’s). Estudiaremos dos problemas centrales en la teorıacomputacional de las ecuaciones diferenciales ordinarias: problemas de valores inicialesy problemas de contorno.

1. Problemas de valor inicial.

La informacion sobre la solucion se da en el instante(punto) inicial. Esta informa-cion permite fijar los parametros que quedan libres en la solucion. El problemade amortiguamiento que antes vimos es de este tipo, pues dar la velocidad ini-cial v(0) = v0 es suficiente para determinar completamente la solucion. Hay queaclarar que esto es ası si solo queremos conocer la velocidad como funcion del tiem-po. Si quisiesemos conocer los desplazamientos habrıa que dar una condicion inicialtambien para los desplazamientos.

2. Problemas de contorno.

Se da informacion de la solucion en varios momentos temporales. Por ejemplo enel caso anterior podrıa ser: ‖ v(0) ‖ + ‖ v(1) ‖= 1. Son generalmente problemasmas difıciles de resolver. Nosotros nos centraremos en el primer tipo de problemas,que empezamos ahora a tratar, aunque tambien veremos el segundo como casoparticular de cierta clase de problemas en derivadas parciales.

Page 113: calculo numerico

Dentro de los problemas de valor inicial, las ecuaciones diferenciales pueden ser clasifi-cadas como:

1. Ecuaciones de primer orden

Sea

f : [a, b]× IR → IR

x, y → f(x, y)

Se busca una funcion y definida en [a, b]

y : [a, b] → IR

x → y(x)

que verifique :

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

• y (x0) = y0

La segunda condicion se llama condicion inicial.

2. Sistemas de primer orden.

Sea

f : [a, b]× IRn → IRn

x, y → f(x, y)

O sea

f : [a, b]× IRn → IRn

x,

y1

y2

· · ·yn

f1(x, y1, · · · , yn)f2(x, y1, · · · , yn)

· · ·fn(x, y1, · · · , yn)

Se busca, una funcion y definida en [a, b]

y : [a, b] → IRn

x → y(x)

que verifique :

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

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

112

Page 114: calculo numerico

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 semejantesal siguiente. Se tiene la ecuacion de la forma:

y′′ = h(x, y, y′)y(x0) = y0

y′(x0) = y′0

Se realiza el cambio de variables:

u1 = yu2 = y′

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

u′1 = u2

u′2 = h(x, u1, u2)u1(x0) = y0

u2(x0) = y′0

En cuanto a los problemas de contorno, estos son, como ya hemos contado, diferentesa los de valor inicial o Cauchy. Se conocen no los valores iniciales, sino que las condicionesde contorno se refieren al valor de la funcion en determinados sitios o instantes. El ejemplodel apartado anterior podrıa ser, en este caso:

y′′ = h(x, y, y′)y(x0) = y0

y(x1) = y1

En los problemas de valor inicial, para resolverlos numericamente, se simula la evoluciondel proceso mediante las ecuaciones diferenciales. En los problemas de contorno no tienensentido este tipo de planteamientos. De ahora en adelante, nos centraremos unicamenteen problemas de valor inicial y dejaremos los problemas de contorno para el capıtulosiguiente estudiandolos como casos particulares de Ecuaciones en Derivadas Parciales.

8.2 Ideas basicas para la resolucion numerica de pro-

blemas de valor inicial

Se desea tener una aproximacion de la funcion y. Se eligen una serie de puntos xi ∈ [a, b],que es en realidad donde vamos a estimar los valores de la funcion. Una clasificacion muyimportante de los metodos utilizados para estimar esos valores se basa en que informacionse usa para hacer las sucesivas estimaciones. Como se parte de un valor o valores iniciales,el planteamiento consiste en ir avanzando hacia adelante a partir de esos valores, y engeneral, a partir de los valores anteriores. Tendremos ası

113

Page 115: calculo numerico

1. Metodos de un paso.

El calculo de yi+1 hace intervenir solamente los valores del paso anterior, xi, yi, ydel incremento h, que como siempre es la diferencia entre dos abscisas consecutivas.La abscisa, variable independiente es normalmente el tiempo en los problemas devalor inicial, aunque podrıa ser tambien el espacio, en un problema de evolucion enel espacio y estacionario en el tiempo.

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

2. Metodos de varios pasos. El calculo de yi+1 hace intervenir muchos valores previos,

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

Tambien hay metodos llamados implıcitos que involucran valores de la funcion todavıadesconocidos. Estos conducen a resolver problemas no lineales en cada paso, como masadelante veremos.

8.3 Metodos discretos de un paso para edos.

8.3.1 Principios de los metodos de un paso.

Sea

f : [a, b]× IR → IR

x, y → f(x, y)

Se busca, una funcion y definida en [a, b]

y : [a, b] → IR

x → y(x)

que verifique :

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

• y (x0) = y0

Se eligen una serie de puntos xi ∈ [a, b]

a = x0 < x1 < x2 < · · · < xn = b

y se calculan los valores aproximados yi de y(xi). De hecho, por comodidad supondremosque los puntos son equidistantes, aunque en la practica computacional no sucedera esto.Se define, por tanto, el paso de la aproximacion como:

h =b− a

n, xi = a+ ih, 0 ≤ i ≤ n

114

Page 116: calculo numerico

El problema de evolucion tiene su reflejo en la esencia de los metodos de integracion. Elvalor de la funcion en el punto i+ 1 del conjunto discreto se obtiene, en los metodos deun paso, a partir del valor estimado de la funcion en la iteracion anterior.

Ademas de su obvia sencillez, este tipo de calculo tiene la ventaja de que se puede cambiarel paso sin mayor problema, para en un determinado momento disminuir el error si seestima que este puede ser muy importante.

8.3.2 Ejemplo: Metodo de Euler.

Es el mas sencillo de todos los metodos de integracion numerica de ecuaciones diferen-ciales. El planteamiento del problema es el tıpico de un problema de valores iniciales. Sebusca una funcion y definida en [a, b]

y : [a, b] → IR

x → y(x)

que verifique :

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

• y (x0) = y0

Se usa la formula de incrementos finitos en el intervalo (xi, xi+1) .

y(xi+1)− y(xi) = hy′(xi), xi < xi < xi+1

y′(xi) = f (xi, y(xi))

(8.4)

El hecho es que no se conoce xi. El metodo de Euler consiste en aproximar ese valor porxi, y el valor de y′(xi) por y

′(xi). El esquema sera por tanto el siguiente:

yi+1 = yi + hf (xi, yi)

y0 = y(x0)

La visualizacion de lo que estamos haciendo se presenta en la figura 8.3.2. En ella seconoce el punto A0 = (x0, y0), y se conoce la tangente a la curva solucion en ese punto,cuya pendiente viene dada por la expresion y′(x0) = f (x0, y(x0)). La aproximacionconsiste en confundir la curva y su tangente. Se reemplaza el punto desconocido por A1,que tiene su misma abscisa pero que esta situado sobre la tangente. Para obtener A2,procederıamos de modo analogo tomando como referente A1.

Ejemplo 8.3.1

y′ = yy(0) = 1

x ∈ [0, 5]

115

Page 117: calculo numerico

1

h

A

a+ha

0T

0A

0A

Figura 8.1: Esquema de Euler.

La solucion analıtica es y(x) = ex. Tomamos un paso de h = 0.2. El esquema serıa elsiguiente:

yi+1 = yi + hf (xi, yi) = yi + hyi = yi(1 + h)

Como y0 = 1 tendremos que:yi+1 = (1 + h)i+1

En la tabla 8.3.2 y en la figura 8.3.2 tenemos una representacion de la funcion error. El

k x y real y aprox error0 0 1 1 01 0,2 1,22140276 1,44 -0,218597242 0,4 1,4918247 1,728 -0,23617533 0,6 1,8221188 2,0736 -0,25148124 0,8 2,22554093 2,48832 -0,262779075 1 2,71828183 2,985984 -0,2677021710 2 7,3890561 7,43008371 -0,0410276115 3 20,0855369 18,4884259 1,5971110320 4 54,59815 46,0051199 8,5930301225 5 148,413159 114,47546 33,9376991

Tabla 8.1: Error ejemplo esquema de Euler.

error se debe a dos causas:

1. Discretizacion. Aproximar la curva por su tangente.

116

Page 118: calculo numerico

0

20

40

60

80

100

120

140

160

0 1 2 3 4 5x

y

y real

y euler

Figura 8.2: Error ejemplo esquema de Euler.

2. Los errores de redondeo: Debidos a las operaciones realizadas por el ordenador.

A un metodo le exigiremos varias cosas. Sin duda las mas importantes son la convergencia- que la aproximacion sea tan buena como queramos bajando el paso - y la estabilidad -que el metodo no sea muy sensible a los errores para calculos posteriores.

8.3.3 Esquema general.

Una vez puestos en situacion al haber estudiado el metodo mas sencillo, haremos unplanteamiento general de los metodos de un paso y definiremos con cierta precision losconceptos que garantizan la bondad de una aproximacion. Como sabemos, el calculo deyi+1 hace intervenir los valores de xi y de yi.

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

El esquema general sera:

yi+1 = yi + hφ (xi, yi, h) (8.5)

y0 = y(x0)

si φ(x, y, h) = f(x, y), tendremos el metodo de Euler.

117

Page 119: calculo numerico

8.3.4 Error de discretizacion. Orden de un metodo.

Se define el error de la discretizacion en la iteracion i como ei = yi − y (xi). Un metodoes de orden ≥ p si para toda solucion de y′ = f(x, y)

maxi=0,n

y (xi+1)− y (xi)

h− φ (xi, y (xi) , h)

= O(hp) (8.6)

El orden de un metodo nos permite acotar de un modo muy preciso el error de dis-cretizacion, como nos lo demuestra el siguiente teorema, del cual no presentamos de-mostracion.

Teorema 8.3.1 Si φ verifica la condicion de Lipschitz respecto a la segunda variable, ysi el metodo es de orden mayor o igual que p, entonces:

maxi=0,n

|ei| = maxi=0,n

|yi − y (xi)| = O(hp)

Una vez que se ha acotado el error de discretizacion, el programador debe tener cuidadocon el error de redondeo, que depende del problema, de la maquina, y del programa.

El orden de un metodo da, como hemos dicho, una medida del error de discretizacion,que es inherente al metodo. En realidad, lo que estamos diciendo al definir el orden es,mas o menos que:

y (xi+1) = y (xi) + hφ (xi, y (xi) , h) +O(hp+1) (8.7)

O sea, que si partiesemos de un valor correcto en xi, y (xi), el valor que obtendrıamosen xi+1, vendrıa afectado de un error de orden p + 1. Los errores de redondeo hacenque al integrar perdamos un orden, y que el error de discretizacion sea de orden p. Portanto, cuanto mas grande sea p, y mas pequeno sea h, el error de discretizacion sera maspequeno.

8.3.5 Seleccion del paso de integracion.

Que se sepa a priori el orden de un metodo no es suficiente para elegir el paso si se deseaque el error sea inferior a una cota dada ε. Explicamos una tecnica que permite haceresto con una cierta precision, mas alta cuanto mas pequeno es el paso de integracion.Esta tecnica es muy similar a la estudiada en 6.7.5. Imaginemos que buscamos h tal quela estimacion de y(x) se obtenga con un error de orden ε. Supongamos que el metodo esde orden p. Se deben seguir los siguientes pasos.

1. Se integra con un paso h0, con error e = yk − y(x) ≈Mhp0.

2. Se integra con un paso 2h0, entonces el error e = yj − y(x) ≈M(2h0)p.

3. Sabiendo que el error no debe superar la cota dada, se tendra:

yk − yj = yk − y(x) + y(x)− yj ≈Mhp0 −M(2h0)p

118

Page 120: calculo numerico

Mhp0 ≈yk − yj1− 2p

y tenemos el sistema:

Mhp0 ≈yk − yj1− 2p

Mhp ≈ ε

y por tanto:

h ≈ h0

(

ε(1− 2p)

yk − yj

)1p

8.4 Diferentes metodos de un paso.

8.4.1 Metodo de Euler.

Vimos ya el metodo de Euler, que consistıa en aproximar la funcion en un punto porsu tangente. El punto siguiente se obtenıa proyectando la abscisa siguiente sobre sutangente.

yi+1 = yi + hf (xi, yi) (8.8)

y0 = y(x0)

O sea, que segun el planteamiento general:

φ(x, y, h) = f(x, y)

8.4.2 Orden del metodo de Euler.

El orden de un metodo da una medida del error de discretizacion o truncamiento.∣

y (xi+1)− y (xi)

h− φ (xi, y (xi) , h)

=

y (xi+1)− y (xi)

h− f (xi, y (xi))

Haciendo un desarrollo en serie de la funcion y en un entorno de xi.

y (xi+1) = y (xi + h) = y (xi) + y′ (xi)h+O(h2) = y (xi) + f (xi, y (xi))h+O(h2)

por tanto:y (xi+1)− y (xi)

h− f (xi, y (xi)) = O(h) (8.9)

el orden del metodo es entonces, uno.

119

Page 121: calculo numerico

8.4.3 Metodo de Euler: error de discretizacion.

El error de discretizacion en el metodo de Euler se debe a que, en un punto, estamosaproximando la funcion por su tangente. O sea, de lo que se trata es de acotar el valor:

εi = yi − y (xi)

donde yi es el valor obtenido partiendo de un valor exacto en el paso anterior, la cual noes la situacion real de calculo. Si usamos el desarrollo en serie de Taylor, tendremos que:

y (xi+1) = y (xi + h) = y (xi) + y′ (xi)h+ ε

ε =h2

2max

ξ∈[xi,xi+1]|y′′ (ξ)|

o, lo que es lo mismo:

y (xi+1) = y (xi + h) = y (xi) + f (xi, y (xi))h+ ε

ε =h2

2max

ξ∈[xi,xi+1]|f ′ (ξ, y (ξ))|

Desgraciadamente, esta cota del error solamente es valida para el primer punto obtenido,pues el unico valor realmente exacto es el valor inicial. Los siguientes puntos de partidaincluyen el resultado de calculos previos y arrastran por tanto, errores de truncamiento. Araız de esto, procede un estudio de la propagacion de los errores locales de discretizacionen el metodo de Euler. Los estudios de propagacion de errores son, en general muydifıciles. De hecho el caso mas sencillo que es el de Euler ya es muy complicado, y noharemos estudios especıficos de este tema. De todos modos, tenemos garantizado ya queel error total es de orden p si el metodo es de orden p, siempre que la funcion φ verifiquela condicion de Lipschitz para la segunda variable.

8.4.4 Metodo de Taylor.

Se puede construir un metodo de orden p a partir del desarrolo en serie de Taylor.

y (x+ h) = y (x) + y′ (x)h+h2

2y′′(x) + · · ·+ hp

p!y(p)(x) +O

(

hp+1)

y(x+ h)− y(x)

h= y′ (x) +

h

2y′′(x) + · · ·+ hp−1

p!y(p)(x) +O (hp)

Pero ahora podemos obtener cada una de las derivadas sucesivas.

y′(x) = f(x, y(x))

y′′(x) =∂f

∂x(x, y) +

∂f

∂y(x, y)y′(x) = g2(x, y)

y′′′(x) = · · · = g3(x, y), etc.

120

Page 122: calculo numerico

Con lo cual, si tomamos:

φ(x, y, h) = f(x, y) +h

2g2(x, y) + · · ·+

hp−1

p!gp(x, y) (8.10)

tendremos que:∣

y (xi+1)− y (xi)

h− φ (xi, y (xi) , h)

= O (hp)

con lo que el orden de metodo sera p.

El metodo de Taylor ha sido tradicionalmente bastante poco utilizado porque las deriva-das sucesivas son difıciles de calcular, saliendo unas expresiones inmanejables. Ademas,tienen como inconveniente el exigir a la funcion f mas clase de la necesaria, porque enprincipio, solo necesitamos que sea continua. Tambien tienen el incoveniente de que sondifıciles de aplicar a sistemas de edos y sobre todo a edp’s. Sin embargo, y como vamosa ver ahora, se puede conseguir el orden que queramos sin necesidad de recurrir a lasderivadas sucesivas. En esta idea se apoyan los metodos de Runge-Kutta.

8.4.5 Metodos de Runge-Kutta.

La solucion de una ecuacion diferencial por desarrollo directo de Taylor de la funcionobjeto no es, en general, un metodo practico si se necesitan derivadas de orden mayorque uno. Las siguientes derivadas se complican demasiado excepto en los casos massencillos. Por ello no es posible obtener un algoritmo sencillo, analogo al metodo deEuler, a partir del desarrollo de Taylor en cuanto sean precisos terminos de error deordenes elevados.

Afortunadamente, como ya hemos comentado, es posible deducir algoritmos de un pasoque incluyen solo calculos de derivadas de primer orden, pero que a su vez producenresultados equivalentes en exactitud a las formulas de Taylor de orden superior. Elprecio que se paga es evaluar varias veces la funcion f en cada paso. Estos metodosson los que se estudian en este epıgrafe, y se llaman metodos de Runge-Kutta 1 2. Lasaproximaciones de segundo, tercer y cuarto orden requieren el calculo de f(x, y) en dos,tres y cuatro puntos, respectivamente, en el intervalo [xi, xi+1]. Las aproximaciones deorden p, con p > 4, requieren el calculo de f(x, y) en mas de p puntos, lo que los hacemenos rentables. De lo que se trata es de elegir adecuadamente la funcion φ(x, y, h). Loharemos aquı de modo detallado para orden dos y presentaremos las de orden 3 y 4.

1Martin Kutta(1867-1944) nacio en una parte de Alemania que ahora pertenece a Polonia, Byczyna.Fue profesor en Munich, Jena, Aachen (Aquisgran) y finalmente en Stuttgart. El metodo de Runge-Kutta lo presento en 1901. Es muy famoso tambien por el teorema de Kutta-Joukowsky, fundamentalpara el calculo de sustentacion por perfiles aerodinamicos.

2Carle Runge (1856 Gottingen-1927). Estudio en la universidad de Munich donde siguio los cursos deMax Planck y se hicieron buenos amigos. Ambos pasaron a Berlın en 1877. Allı estudio con Weirstrassy Kronecker. Runge trabajo en un procedimiento para la resolucion numerica de ecuaciones algebraicas(polinomicas en varias variables) en las que las raices se expresaban como series de funciones racionalesde los coeficientes. Ayudo a Kutta con su metodo para resolver edos, e hizo contribuciones en el area dela fısica de gases y ondas.

121

Page 123: calculo numerico

Metodos de Runge-Kutta de orden 2.

Determinaremos los coeficientes a1, a2, p1, p2, para que la aproximacion de un paso quese deduce de esta funcion, sea de orden dos.

φ(x, y, h) = a1f(x, y) + a2f (x+ p1h, y + p2hf(x, y)) = a1f(x, y) + a2f (X,Y ) (8.11)

Si hacemos un desarrollo de esta funcion en un entorno del cero de h.

φ(x, y, h) = φ(x, y, 0) + φh(x, y, 0)h+O(h2)

φ(x, y, 0) = (a1 + a2)f(x, y)

φh(x, y, 0) = a2

(

∂f

∂x

∂X

∂h+∂f

∂y

∂Y

∂h

)

= a2

(

∂f

∂xp1 +

∂f

∂yp2f(x, y)

)

Por tanto

φ(x, y, h) = (a1 + a2)f(x, y) + a2

(

∂f

∂xp1 +

∂f

∂yp2f(x, y)

)

h+O(h2) (8.12)

Por otro lado:

y(x+ h)− y(x)

h= y′ (x) +

h

2y′′(x) +O(h2) = f(x, y) +

h

2

(

∂f

∂x+ f

∂f

∂y

)

+O(h2)

El metodo sera de orden dos si:∣

y (xi+1)− y (xi)

h− φ (xi, y (xi) , h)

= O(h2)

que si analizamos las expresiones, se tendra que dar que:

a1 + a2 = 1

a2p1 =1

2

a2p2 =1

2

Dejando todo en funcion de a2

a1 = 1− a2

p1 =1

2a2

p2 =1

2a2

φ(x, y, h) = (1− a2)f(x, y) + a2f

(

x+h

2a2

, y +h

2a2

f(x, y)

)

(8.13)

122

Page 124: calculo numerico

O sea, que nos queda un parametro libre a2, al que podemos darle el valor que nosotrosqueramos. Si cogemos a2 = 1/2, tendremos:

φ(x, y, h) =1

2[f(x, y) + f (x+ h, y + hf(x, y))] (8.14)

y, por tanto:

yi+1 = yi +h

2[f(xi, yi) + f (xi + h, yi + hf(xi, yi))] (8.15)

que puede escribirse tambien en la forma.

yi+1 = yi +h

2

[

f(xi, yi) + f(

xi + h, yi+1))]

(8.16)

yi+1 = yi + hf(xi, yi) (8.17)

A este metodo se le llama el metodo de Euler mejorado o metodo de Heun. Presentamossu interpretacion geometrica en la figura 8.3.

En esencia, lo que estamos haciendo es aplicar dos veces el metodo de Euler. En primer

(f i i+1ypendiente= ),+h

h

iy 2 i+1

y

1

i+1y

x

ixxx i+1xxx

Figura 8.3: Metodo de Euler mejorado o metodo de Heun.

lugar estimamos del modo clasico con la ecuacion yi+1 = yi + hf(xi, yi) el punto yi+1,que es una estimacion previa de yi+1. Es decir, yi+1 es la ordenada en xi+1 de la recta 1de la figura 8.3, que pasa por (xi, yi) con pendiente f(xi, yi). A continuacion se mejorala estimacion por medio de la ecuacion 8.16.

yi+1 = yi +h

2

[

f(xi, yi) + f(

xi + h, yi+1))]

123

Page 125: calculo numerico

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. Observese 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, yi+1))

. El algoritmo de Euler puede considerarse en este caso como unaecuacion predictora de yi+1, mientras que la ecuacion definitiva puede considerarse co-mo una ecuacion correctora que produce una mejor estimacion de yi+1. Esta ecuacion

puede utilizarse iterativamente para obtener una sucesion de valores corregidos y(1)i+1, y

(2)i+1,

,.....,y(m)i+1 . En este caso el par de ecuaciones 8.16,8.17 resulta ser el mas sencillo de los

metodos predictor-corrector que se estudiaran mas adelante con detalle.

Si cogemos a2 = 1, tendremos:

φ(x, y, h) = f

[

x+h

2, y +

h

2f(x, y)

]

(8.18)

y, por tanto, podemos escribir el algoritmo de aproximacion como:

yi+1 = yi + hf

(

xi +h

2, yi+ 1

2

)

(8.19)

yi+ 12= yi +

h

2f(xi, yi) (8.20)

A este algoritmo se le llama el metodo mejorado del polıgono o metodo de Euler modifi-cado. Presentamos su interpretacion geometrica en la figura 8.4.

En este caso se utiliza de nuevo dos veces sucesivas el metodo de Euler. Primero seobtiene una aproximacion de yi+ 1

2en el punto medio. Calculamos el valor de la derivada

en ese punto, y utilizamos el valor de la derivada en este punto para el total del intervalo.

Metodos de Runge-Kutta de orden 3.

Los metodos de Runge-Kutta de orden superior se obtienen de modo analogo. Porejemplo la funcion incremento para el metodo de tercer orden es:

φ(x, y, h) = ak1 + bk2 + ck3 (8.21)

siendo k1, k2, k3, aproximaciones a la derivada en varios puntos del intervalo [xi, xi+1].En este caso se tiene:

k1 = f (xi, yi)

k2 = f (xi + ph, yi + phk1) (8.22)

k3 = f (xi + rh, yi + shk2 + (r − s)hk1)

Hay que imponer la condicion de tercer orden para obtener una relacion entre las cons-tantes a, b, c, p, r, s. El mas famoso de los metodos de tercer orden es:

yi+1 = yi +h

6f (k1 + 4k2 + k3) (8.23)

124

Page 126: calculo numerico

(f i

h/2

i+1/2y

pendiente=

ixxx

iy 2 i+1

y1i+1/2

y

),+h/2

i+1xxx

h/2

x

Figura 8.4: Metodo de Euler modificado o metodo del polıgono.

k1 = f (xi, yi)

k2 = f

(

xi +h

2, yi +

h

2k1

)

k3 = f (xi + h, yi + 2hk2 − hk1)

Metodos de Runge-Kutta de orden 4.

Los metodos de Runge-Kutta de orden cuatro exigen la evaluacion de la derivada encuatro puntos para cada paso. Su esquema general es

yi+1 = yi + h (ak1 + bk2 + ck3 + dk4) (8.24)

siendo k1, k2, k3, k4, aproximaciones a la derivada en varios puntos del intervalo [xi, xi+1].El mas famoso de los metodos de cuarto orden es:

yi+1 = yi +h

6(k1 + 2k2 + 2k3 + k4) (8.25)

k1 = f (xi, yi)

k2 = f

(

xi +h

2, yi +

h

2k1

)

k3 = f

(

xi +h

2, yi +

h

2k2

)

k4 = f (xi + h, yi + hk3)

125

Page 127: calculo numerico

8.5 Metodos de paso multiple.

8.5.1 Introduccion a los metodos de paso multiple.

El metodo de Runge-Kutta tiene el inconveniente de que hace intervenir calculos delas derivadas en valores intermedios, algunas veces de muy poco significado geometrico,siendo ademas puntos en los que en realidad a nosotros no nos interesa el valor que puedatener la funcion y que se pierden de una iteracion a otra. A nosotros nos interesa el valorde la funcion solamente en los nodos de nuestra discretizacion. Los metodos de pasomultiple eliminan este problema.

En los metodos de varios pasos, el calculo 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 metodos sellaman explıcitos.

yi+1 = F (xi, xi−1, · · · , xi−q+1, yi, yi−1, · · · , yi−q+1) (8.26)

Cuando esa dependencia es implıcita, los metodos se llaman implıcitos. En cada pasohay que resolver una ecuacion o un sistema de ecuaciones a veces lineal, a veces no lineal,dependiendo de como sea la ecuacion diferencial

F (xi+1, xi, xi−1, · · · , xi−q+1, yi+1, yi, yi−1, · · · , yi−q+1) = 0 (8.27)

Otra forma de ver los metodos de integracion es una formulacion de tipo integral, quenos va a servir de base luego para los algoritimos de paso multiple. En los metodos depaso simple tenıamos:

dy

dx= f (x, y(x))

Lo mas sencillo para obtener a partir de , serıa:

yi+1 = yi +∫ xi+1

xi

f (x, y(x)) dx (8.28)

y en realidad, lo que nostros hacemos es aproximar:

φ (xi, yi, h)h ≈∫ xi+1

xi

f (x, y(x)) dx (8.29)

En los metodos de paso multiple, la idea matriz va a ser:

yi+1 = yi−k +∫ xi+1

xi−k

Pf (x)dx (8.30)

donde Pf (x) es un polinomio que se obtiene por interpolacion de los valores obtenidosdesde i− q+1 hasta i para la funcion f (x, y(x)), con lo cual sera un metodo de q pasos.En los metodos implıcitos Pf (x) se obtiene por interpolacion de los valores obtenidosdesde i− q + 1 hasta i+ 1 para la funcion f (x, y(x)).

Los metodos de paso multiple tienen dos inconvenientes bastante importantes. Por unlado, al comienzo de la integracion, como nuestro problema es un problema de valor

126

Page 128: calculo numerico

inicial, solo se dispone de un valor. Ello motiva que para arrancar los metodos de pasomultiple se recurra casi siempre a otros esquemas de un paso. En esta situacion, y debidoa la precision del esquema multipaso elegido, los esquemas utilizados para el arranquedeberan cumplir un cierto requisito en la precision de sus resultados. Generalmente, loque 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 numero de pasos involucrados en elesquema. 4.

Ademas, en los metodos de un paso, si se detecta un error de discretizacion muy grande,el algoritmo permite el ajuste del paso para que esto no suceda. Sin embargo, en losmetodos de paso multiple esto no se puede hacer tan facilmente.

8.5.2 Metodos de Adams-Bashforth.

General.

Son un cierto tipo de metodos multipaso explıcitos. Usamos la filosofıa polinomica queacabo de comentar.

∫ yi+1

yi

dy =∫ xi+1

xi

f (x, y(x)) dx = yi+1 − yi (8.31)

aproximamos f (x, y(x)) mediante un polinomio cuyo grado depende del numero de pun-tos que usemos en el esquema multipaso.

yi+1 = yi +∫ xi+1

xi

Pq(x)dx (8.32)

AB1

Consiste en aproximar f (x, y(x)) por su valor en el punto f (xi, yi) = fi, o sea, por unpolinomio 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.

P1(x) = fi +fi − fi−1

xi − xi−1

(x− xi) (8.34)

Por tanto el esquema de Adams-Bashforth de segundo orden es:

yi+1 = yi +∫ xi+1

xi

P1(x)dx = yi + h(

3

2fi −

1

2fi−1

)

(8.35)

3Se puede matizar la eleccion del orden del esquema de arranque pero escapa al contenido del curso4valor inicial +q − 1 pasos = q valores iniciales para el esquema multipaso

127

Page 129: calculo numerico

( )x0P

( )x,yf

hh

f

ixxxi-1xxxi-2xxxi+1xxx

h

(i i

y ),x

Figura 8.5: Metodo de Adams Bashforth de orden 1, AB1.

AB3.

Consiste en aproximar f (x, y(x)) por una parabola que se apoya en los puntos (xi, fi),(xi−1, fi−1) y (xi−2, fi−2), ver figura 8.7. Si integramos esta aproximacion tendremos que:

yi+1 = yi +h

12(23fi − 16fi−1 + 5fi−2) (8.36)

AB4.

Para un polinomio de tercer grado, tendremos el metodo de Adams-Bashforth de cuartoorden, y ası sucesivamente.

yi+1 = yi +h

24(55fi − 59fi−1 + 37fi−2 − 9fi−3) (8.37)

8.5.3 Metodos de Adams-Moulton.

General.

Son un cierto tipo de metodos multipaso implıcitos. Se caracterizan porque el polinomiode interpolacion de f (x, y(x)) tiene tambien en cuenta el punto (xi+1, fi+1). Pero estepunto es desconocido, y por tanto, el esquema se traduce en una ecuacion en la quequeremos encontrar yi+1 como funcion de una serie de parametros entre los que tambienesta yi+1. Veamos los mas sencillos e importantes.

128

Page 130: calculo numerico

( )x1P

( )x,yf

hh

ixxxi-1xxxi-2xxxi+1xxx

h

fi

fi-1

Figura 8.6: Metodo de Adams Bashforth de orden 2, AB2.

AM1

Consiste en aproximar f (x, y(x)) por su valor en el punto (xi+1, fi+1), ver figura 8.8. Portanto el esquema que tenemos es

yi+1 = yi + hf (xi+1, yi+1) = yi + hfi+1 (8.38)

Este esquema se llama Euler implıcito o inverso, es de orden 1 y es muy importante porquetiene unas caracterısticas de estabilidad privilegiadas, cuyo estudio escapa al curso, y quehacen que sea muy utilizado en la integracion de ecuaciones diferenciales.

Ejemplo 8.5.1 Se tiene el problema siguiente:

y′ = yy(0) = 1

x ∈ [0, 1]

El esquema de Euler inverso para su resolucion sera:

yi+1 = yi + hf (xi+1, yi+1) = yi + hyi+1 (8.39)

y por tanto,

yi+1 =yi

1− h(8.40)

Mostramos los resultados en la siguiente tabla.

129

Page 131: calculo numerico

( )x2P

( )x,yf

hh

f

ixxxi-1xxxi-2xxxi+1xxx

h

(i-1 i-1

y ),x

Figura 8.7: Metodo de Adams Bashforth de orden 3, AB3.

k x Euler Expl. Euler Impl. Exacta0 0 1 1 11 0,1 1,1 1,11111111 1,105170922 0,2 1,21 1,2345679 1,221402763 0,3 1,331 1,37174211 1,349858814 0,4 1,4641 1,5241579 1,49182475 0,5 1,61051 1,69350878 1,648721276 0,6 1,771561 1,88167642 1,82211887 0,7 1,9487171 2,09075158 2,013752718 0,8 2,14358881 2,32305731 2,225540939 0,9 2,35794769 2,58117479 2,4596031110 1 2,59374246 2,86797199 2,71828183

Ejemplo 8.5.2 Se tiene el problema siguiente:

y′ = ey

y(0) = 1x ∈ [0, 1]

El esquema de Euler inverso para su resolucion sera:

yi+1 = yi + hf (xi+1, yi+1) = yi + heyi+1 (8.41)

yi+1 = yi + heyi+1 (8.42)

que no se puede resolver de modo explıcito para yi+1.

130

Page 132: calculo numerico

( )x0P( )x,yf

hh

f

ixxxi-1xxxi-2xxxi+1xxx

h

i+1

Figura 8.8: Metodo de Adams Moulton de orden 1, AM1.

AM2

Consiste en aproximar f (x, y(x)) por una recta que se apoya en los puntos (xi, fi) y(xi+1, fi+1), ver figura 8.10.

P1(x) = fi +fi+1 − fixi+1 − xi

(x− xi) (8.43)

Por tanto el esquema de Adams-Moulton de segundo orden es:

yi+1 = yi +∫ xi+1

xi

P1(x)dx = yi + hfi + fi+1

2(8.44)

A este esquema en particular se le suele llamar metodo de Crank-Nicholson.

AM3.

Consiste en aproximar f (x, y(x)) por una parabola que se apoya en los puntos (xi+1, fi+1),(xi, fi) y (xi−1, fi−1), ver figura 8.11. Si integramos esta aproximacion tendremos que, elesquema numerico, siempre para paso de integracion constante queda:

yi +h

12(5fi+1 + 8fi − fi−1) (8.45)

AM4.

Para un polinomio de tercer grado, tendremos el metodo de Adams-Moulton de cuartoorden, y ası sucesivamente.

yi+1 = yi +h

24(9fi+1 + 19fi − 5fi−1 + fi−2) (8.46)

131

Page 133: calculo numerico

0

50

100

150

200

250

300

0 1 2 3 4 5x

y

y real

y euler explícito

y euler implícito

Figura 8.9: Comparacion entre Euler explıcito e implıcito para el ejemplo 1.

Conclusion sobre los metodos implıcitos de Adams-Moulton.

En general, los metodos implıcitos dan mejores resultados que los explıcitos del mis-mo orden ademas de tener propiedades numericas (estabilidad y convergencia) mejoresque los explıcitos. Sin embargo, tienen la debilidad inherente de tener que convertir,algebraicamente, el metodo a una representacion explıcita para yi+1. Esto, a menudoes muy difıcil, y a veces, imposible. Para solucionar estos problemas estudiaremos losmetodos predictor corrector que consisten en una tecnica de resolucion aproximada delos problemas planteados por los metodos implıcitos en cada paso.

8.5.4 Metodos predictor-corrector.

General.

En la practica, los metodos multipaso implıcitos no se usan como se describio ante-riormente. Se utilizan para mejorar las aproximaciones obtenidas mediante metodosexplıcitos. La combinacion de una tecnica explıcita con una implıcita se llama metodopredictor-corrector. 5 En realidad, la filosofıa predictor-corrector es mas general - comovimos en el metodo de Euler mejorado -, pero a efectos practicos, los esquemas predictorcorrector mas usados, son la combinacion de un multipaso explıcito con otro implıcito.Explicaremos el mas usado, y el mas complejo, que es el de cuarto orden. Los de ordeninferior se deducen facilmente habiendo entendido este.

5En realidad, lo que se hace es sustituir la parte implıcita del corrector con el valor obtenido porel predictor. El predictor se puede ver como resolver un problema de punto fijo en cada paso: yi+1 =T (yi+1), y el predictor serıa el huesped inicial de ese esquema

132

Page 134: calculo numerico

( )x1P

( )x,yf

hh

ixxxi-1xxxi-2xxxi+1xxx

h

fi+1

fi

Figura 8.10: Metodo de Adams Moulton de orden 2, AM2.

Metodos de Adams-Bashforth-Moulton.

Un planteamiento muy habitual es que si se necesita un metodo de cuarto orden pararesolver un problema de valor inicial, se obtengan los cuatro puntos para el arranquedel multipaso mediante un Runge-Kutta de orden 4. Estos cuatro puntos se usan comoarranque el un Adams-Bashforth de orden cuatro. La estimacion en cada paso se mejoracon un multipaso implıcito de tres pasos de orden cuatro AM4. O sea:

1. Tenemos y0

2. Obtenemos con RK4 y1, y2, y3.

3. Obtenemos con AB4 y(0)4 .

y(0)4 = y3 +

h

24(55f (x3, y3)− 59f (x2, y2) + 37f (x1, y1)− 9f (x0, y0))

4. Mejoramos y(0)4 con AM4.

y(1)4 = y3 +

h

24

(

9f(

x4, y(0)4

)

19f (x3, y3)− 5f (x2, y2) + f (x1, y1))

De nuevo podrıamos mejorar esta estimacion, metiendolo de nuevo en el multipasoimplıcito, como si estuviesemos resolviendo un problema no lineal por aproxima-ciones sucesivas.

y(2)4 = y3 +

h

24

(

9f(

x4, y(1)4

)

19f (x3, y3)− 5f (x2, y2) + f (x1, y1))

Podrıamos hacer sucesivas mejoras(sea k es numero de mejoras), pero sabiendo queno tendemos a la solucion real y (x1) sino a la solucion del problema implıcito. Siqueremos mas precision, en vez de iterar muchas veces sobre el corrector, es mejorreducir el paso.

133

Page 135: calculo numerico

( )x2P

( )x,yf

hh

ixxxi-1xxxi-2xxxi+1xxx

h

fi+1

fi

fi-1

Figura 8.11: Metodo de Adams Moulton de orden 3, AM3.

5. Una vez obtenido este punto, los siguientes se obtienen de modo analogo. Engeneral:

y(0)i+1 = yi +

h

24(55f (xi, yi)− 59f (xi−1, yi−1) + 37f (xi−2, yi−2)− 9f (xi−3, yi−3))

y(1)i+1 = yi +

h

24

(

9f(

xi+1, y(0)i+1

)

+ 19f (xi, yi)− 5f (xi−1, yi−1) + f (xi−2, yi−2))

· · · · · · · · · · · ·

y(k+1)i+1 = yi +

h

24

(

9f(

xi+1, y(k)i+1

)

+ 19f (xi, yi)− 5f (xi−1, yi−1) + f (xi−2, yi−2))

8.5.5 Metodos de Milne-Simpson.

En los metodos de paso multiple la idea era:

yi+1 = yi−k +∫ xi+1

xi−k

P (x)dx

donde P (x) es un polinomio que se obtiene por interpolacion de los valores obtenidosdesde i− q+1 hasta i para la funcion f (x, y(x)), con lo cual sera un metodo de q pasos.

En los metodos de Adams el planteamiento era hacer k = 0, y tenıamos que:

yi+1 = yi +∫ xi+1

xi

Pq(x)dx

Pero k puede ser distinto de cero. Jugando con esta idea se obtiene uno de los esquemaspredictor-corrector mas usados, que es el de Milne-Simpson. El predictor es el esquemaexplıcito de Milne de orden 3

yi+1 = yi−3 +4h

3(2f (xi, yi)− f (xi−1, yi−1) + 2f (xi−2, yi−2)) (8.47)

134

Page 136: calculo numerico

y el corrector el esquema implıcito de Simpson de tercer orden

yi+1 = yi−1 +h

3(f (xi+1, yi+1) + 4f (xi, yi) + f (xi−1, yi−1)) (8.48)

8.6 Edos de orden mayor que uno y sistemas de edos.

Aprendimos que era sencillo reducir un problema de valor inicial de una ecuacion dife-rencial ordinaria de orden mayor que uno, al de un sistema de ecuaciones diferencialesde orden 1. Por ejemplo:

y′′ = h(x, y, y′)y(x0) = y0

y′(x0) = y′0

Se realiza el cambio de variables:

u1 = yu2 = y′

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

u′1 = u2

u′2 = h(x, u1, u2)u1(x0) = y0

u2(x0) = y′0

Ademas vimos que la condicion de existencia y unicidad de la solucion de un sistemade ecuaciones diferenciales ordinarias de primer orden era muy similar al de una unicaecuacion. Aprendamos ahora a resolverlos. El planteamiento sera:

Sea

f : [a, b]× IRn → IRn

x, y → f(x, y)

O sea,

f : [a, b]× IRn → IRn

x,

y1

y2

· · ·yn

f1(x, y1, · · · , yn)f2(x, y1, · · · , yn)

· · ·fn(x, y1, · · · , yn)

Se busca una funcion y definida en [a, b]

y : [a, b] → IRn

x → y(x)

que verifique :

135

Page 137: calculo numerico

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

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

o, lo que es lo mismo, usando la notacion yi,j para denotar la estimacion de yi (xj):

dy1

dx= f1 (x, y1, · · · , yn)

dy2

dx= f2 (x, y1, · · · , yn)

· · ·dyndx

= fn (x, y1, · · · , yn)

y las condiciones de valores iniciales:

y1 (x0) = y1,0

y2 (x0) = y2,0

· · ·yn (x0) = yn,0

La idea es que los metodos usados para resolver sistemas de ecuaciones diferencialesordinarias de primer orden son simplemente generalizaciones de los metodos para unasola ecuacion, que ya hemos estudiado. Presentamos la generalizacion correspondienteal clasico RK4, que es el mas lioso, y en haremos como ejercicio algun Euler o algun RKde orden mas bajo.

yi,j+1 = yi,j +h

6(k1,i + 2k2,i + 2k3,i + k4,i) (8.49)

k1,i = fi (xj, y1,j , y2,j , · · · , yn,j)

k2,i = fi

(

xj +h

2, y1,j +

hk1,1

2, y2,j +

hk1,2

2, · · · , yn,j +

hk1,n

2

)

k3,i = fi

(

xj +h

2, y1,j +

hk2,1

2, y2,j +

hk2,2

2, · · · , yn,j +

hk2,n

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 evolucion, modelizado mediante una edo y con informacion sobrela situacion de partida, admite un tratamiento numerico potente y sencillo.

2. No hemos hecho estudios serios de error, pero hemos definido el orden de un metodoy lo hemos calculado en algunos casos. El orden de un metodo nos da una informa-cion importantısima sobre la calidad del mismo a efectos del error de discretizacion.

3. Hay metodos que para estimar el punto siguiente utilizan solo el valor anterior, yvalores intermedios que no se almacenan en memoria.

136

Page 138: calculo numerico

4. Hay otros metodos que usan muchos puntos ya calculados, y que con mayor sencillezalgorıtmica consiguen igual orden de aproximacion que metodos de un paso mascomplicados.

5. Dentro de estos metodos multipaso existen algoritmos predictor corrector de muybuen comportamiento numerico.

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

8.8 Referencias recomendadas para este tema.

[16],[3],[2].

137

Page 139: calculo numerico

Capıtulo 9

Ecuaciones diferenciales en

derivadas parciales: Metodo de las

diferencias finitas

9.1 Introduccion

Se utilizan las ecuaciones en derivadas parciales (edp’s) para modelizar fenomenos queson simultaneamente dependientes de varias variables. Las variables independientes soncasi siempre el tiempo y las variables espaciales. Las edp’s que vamos a manejar vana poder clasificarse como parabolicas, elıpticas e hiperbolicas. Presentamos un ejemplode cada una de ellas en orden correlativo, aunque en este capıtulo solo estudiaremos lasparabolicas y las elıpticas.

∂2f

∂x2+∂2f

∂y2=∂f

∂t(9.1)

∂2f

∂x2+∂2f

∂y2= 0 (9.2)

∂2f

∂x2+∂2f

∂y2=∂2f

∂t2(9.3)

9.2 Ecuaciones parabolicas

Las ecuaciones parabolicas se refieren a problemas de evolucion temporal. Un fenomenomuy importante gobernado por una ecuacion parabolica es la transmision de calor enregimen transitorio. Si tenemos una barra sometida a temperaturas variables en losextremos, o que parte de una condicion inicial diferente a la de los extremos, esa barrasufrira unas variaciones en la temperatura de sus puntos. Estas variaciones siguen lasiguiente ecuacion diferencial en derivadas parciales parabolica.

∂x

(

k∂T

∂x

)

= ρcp∂T

∂t

Page 140: calculo numerico

en cuya ecuacion T define a la temperatura, y los valores k, ρ y cp definen respectivamentea la conductividad termica, densidad y calor especıfico de la varilla. Si k se consideraconstante, se puede volver a escribir la ecuacion en la forma:

α∂2T

∂x2=∂T

∂t

α =k

ρcp

α recibe el nombre de difusividad termica. A continuacion se introducen las nuevasvariables, X = x/L, τ = αt/L2, en las que L representa una longitud caracterısticadel problema, X la variable independiente espacial adimensionalizada, y τ el tiempoadimensionalizado. Con estos cambios de variables, la ecuacion diferencial se convierteen:

∂2T

∂X2=∂T

∂τ

abusando de la notacion podemos volver a escribir

∂T

∂t=∂2T

∂x20 < x < 1, 0 < t ≤ A (9.4)

que es un ejemplo claro de edp parabolica. Este problema sera casi siempre propuestosabiendo los valores iniciales de la temperatura en toda la barra, y sabiendo el valor dela temperatura en los extremos en todos los instantes temporales. O sea:

T (x, 0) = f(x) 0 < x < 1

T (0, t) = g0(t) 0 < t ≤ A

T (1, t) = g1(t) 0 < t ≤ A

Vamos a integrar numericamente esta ecuacion parabolica. Lo primero que hay quehacer 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 vezdiscretizadas las variables independientes hay que escribir de modo discreto la ecuaciondiferencial. Lo mas sencillo es discretizar las derivadas temporales con un operador dedos puntos, y discretizar la segunda derivada espacial con un operador de tres puntoscentrado, el mas sencillo. Este tipo de tecnicas se llaman diferencias finitas, y seran lasunicas que estudiemos para resolver edp’s. Otra familia de tecnicas muy importantesson los elementos finitos. Se utilizan para resolver las ecuaciones de la resistencia demateriales en muchos codigos comerciales. Estos metodos escapan al contenido del curso.

Ti,k+1 − Ti,k∆t

=Ti+1,k − 2Ti,k + Ti−1,k

h2(9.5)

Lo unico desconocido en esta ecuacion es Ti,k+1 y la ecuacion es lineal en ese valor, porlo que puede ser despejado facilmente para tener.

Ti,k+1 = Ti,k +∆t

h2(Ti+1,k − 2Ti,k + Ti−1,k) (9.6)

139

Page 141: calculo numerico

Como conocemos las condiciones iniciales, y conocemos los valores en los extremos siem-pre, el esquema de avance no tiene ningun problema.

Una variante muy interesante pasa por tomar la derivada espacial en el instante k + 1.Tendremos entonces:

Ti,k+1 − Ti,k∆t

=Ti+1,k+1 − 2Ti,k+1 + Ti−1,k+1

h2(9.7)

Tenemos 1 ecuacion y 4 incognitas, todos los valores en el instante k + 1. Sin embargo,si escribimos esta ecuacion en todos los nodos, tendremos un numero igual de ecuacionese incognitas, 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 buenaspropiedades numericas. Ademas, el hecho de tener que resolver un sistema lineal encada paso no es gran problema, dado que podemos hacerlo con un metodo iterativo, ytendremos siempre una estimacion muy buena del huesped inicial, el valor en el instanteanterior. En los ejercicios profundizaremos estos conceptos.

9.3 Ecuaciones elıpticas

Las ecuaciones elıpticas se refieren normalmente a problemas de contorno en los que nointerviene la variable tiempo. La mas importante ecuacion elıptica es la ecuacion deLaplace, que es la que se presento como ejemplo9.2. Gobierna por ejemplo la transmisionde calor en regimen permanente. Si tenemos una placa sometida a un nivel termicoconstante en sus bordes, la temperatura en el interior esta gobernada por la ecuacion deLaplace. Vamos a aprender a resolver este problema en el que las condiciones de contornose refieren al valor de la funcion incognita en la frontera. Este tipo de problemas se llamanproblemas de Dirichlet. Podrıa ser que en el contorno supiesemos derivadas de la funcionincognita. Si ası fuese tendrıamos un problema de Neumann. Nosotros nos centraremosen el primero.

Se considera una placa plana Ω. Se conoce el valor de la temperatura en la frontera deΩ, ∂Ω, que viene dada por una funcion g(x, y). El problema se formula entonces comoencontrar un funcion T (x, y) que verifique:

Txx + Tyy = 0 en ΩT (x, y) = g(x, y) en ∂Ω

(9.8)

Si se imponen ciertas condiciones sencillas sobre las propiedades de Ω y si g es continua,se puede demostrar que este problema tiene solucion unica como indica la intuicion fısica.Para resolverlo se discretiza el dominio Ω, y se plantea en cada nodo de la discretizacionla ecuacion diferencial escrita de modo discreto, donde ahora el primer ındice se refiere anodos en la direccion x, y el segundo a nodos en la direccion y.

Ti+1,j − 2Ti,j + Ti−1,j

hx2+Ti,j+1 − 2Ti,j + Ti,j−1

hy2= 0 (9.9)

Si los espaciados son iguales en la direccion x e y tendremos:

4Ti,j − Ti+1,j − Ti−1,j − Ti,j+1 − Ti,j−1 = 0 (9.10)

140

Page 142: calculo numerico

Si escribimos esta ecuacion en cada uno de los nodos obtendremos el sistema lineal quenos da la solucion discreta del problema. Es un sistema diagonalmente dominante cuyaresolucion no debe plantear ningun problema con cualquier metodo iterativo.

Si el espaciado no es el mismo hay que mantener la ecuacion 9.9, y si ademas, el recintono es rectangular, sino que tiene froteras irregulares, hay que pensar una alternativa a laecuacion, pues los puntos de la frontera no estan a la misma distancia que el resto de losnodos.

9.3.1 Discretizacion del operador de Laplace con contornos irre-

gulares.

Sea el contorno irregular de la figura 9.1. Imaginemos que queremos discretizar laecuacion de Laplace en el punto (i, j) de la retıcula. El procedimiento consiste en escribirlos necesarios desarrollos en serie de Taylor y eliminar las derivadas que no nos interesen:

y

x

E

A

D

B

C

a xD

( )i-1,j (i,j)

(i,j-1)

Dx b xD

Dx

Figura 9.1: Contorno irregular.

TB = Ti,j + b∆xTx +(b∆x)2

2!Txx +O

(

∆x3)

141

Page 143: calculo numerico

Ti−1,j = Ti,j −∆xTx +(∆x)2

2!Txx +O

(

∆x3)

TA = Ti,j + a∆xTy +(b∆x)2

2!Tyy +O

(

∆x3)

Ti,j−1 = Ti,j −∆xTy +(∆x)2

2!Tyy +O

(

∆x3)

(9.11)

Eliminando Tx y Ty obtenemos:

Txx + Tyy =2

(∆x)2

[

Ti−1,j

b+ 1+Ti,j−1

a+ 1+

TAa(a+ 1)

+TB

b(b+ 1)− (a+ b)Ti,j

ab

]

(9.12)

Los terminos conocidos, los de la frontera, pasan al termino independiente del sistemalineal. El procedimiento podrıa repetirse para otra pareja de puntos tales como D y Ede la misma figura.

9.4 Resumen

Las ecuaciones en derivadas parciales son sin duda una de las disciplinas mas impor-tantes dentro de las matematicas, y quiza la que mas acerque a estas a la realidad fısica.Plantean problemas muy importantes desde el punto de vista numerico y sirven biencomo cierre del curso, ya que dan lugar a problemas muy interesantes que combinanconocimientos previos, sobre todo de derivacion numerica y resolucion de sistemas linea-les. Las hemos estudiado con tecnicas de diferencias finitas. Son las mas sencillas y sufi-cientemente generales como para resolver problemas muy complicados. El tratamiento esaparentemente demasiado simplificado pero creemos que ajustado al tiempo disponible.

9.5 Referencias recomendadas para este tema.

[3], [8].

142

Page 144: calculo numerico

Bibliografıa

[1] Aubanell, A., Benseny, A., Delshams, A. Utiles basicos de calculo numerico. Labor,1993.

Libro con problemas muy interesantes.

[2] Burden, R.L., Faires, J.D. Analisis numerico. Grupo Editorial Iberoamerica. Mexico.

Libro muy bueno, con muchos ejemplos. Trata muy bien la parte de ecuaciones diferen-

ciales. Clasico en la materia.

[3] Carnahan, B., Luther, A.,Wilkes, J.O., Calculo numerico: metodos, aplicaciones.Editorial Rueda.

Texto enciclopedico (640 paginas) que esta bastante bien, pero que se convierte mas en un

libro de metodos que de analisis. Barato para su tamano.

[4] Fernandez Jambrina, L., Temas de analisis funcional, vectorial, tensorial en Ge-ometrıa Diferencial, Tensores y Campos. Seccion de Publicaciones, Escuela TecnicaSuperior de Ingenieros Navales. Universidad Politecnica de Madrid. 2001.

Texto muy adecuado para el estudio de las propiedades metricas de los espacios de matri-

ces.

[5] Gasca Gonzalez, Mariano. Calculo numerico. Universidad Nacional de Educacion aDistancia, 1990. ISBN 84-362-2118-4

Libro de teorıa de la UNED. Bastante bueno, y muy didactico. Ha servido de base para

la parte de ecuaciones y sistemas no lineales.

[6] Golub, G., Ortega, J.M., Scientific Computing. An introduction with parallel com-puting. Academic Press, Inc., 1993.

Texto muy bueno sobre sistemas lineales.

[7] Hammerlin, G., Hoffmann, K-H. Numerical Mathematics, Springer-Verlag 1991.

Libro que ha servido de base para toda la parte de interpolacion y aproximacion. Es

un libro francamente bueno, con un nivel medio-alto, pero todo muy bien explicado sin

meterse en complicaciones. Algunos de los ejercicios propuestos en las hojas de apuntes

son ejercicios propuestos tambien en la parte final de los capıtulos de este libro. Caro. Si

143

Page 145: calculo numerico

una vez que hayais terminado la asignatura, teneis la sensacion de que habeis aprendido

y os ha gustado, es una excelente libro para volver sobre el mas adelante

[8] Kincaid, D., Cheney,W. Analisis numerico. Las matematicas del calculo cientifico.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 metodos, pero puestos a comprar un libro, este es ahora mismo el que

recomiendo.

[9] Lascaux, P., Theodor, R. Analyse Numerique Matricielle Appliquee a l’Art del’Ingenieur. Tomes I, II, Masson 1987.

Texto adecuado para ampliar la parte de resolucion numerica de sistemas lineales.

[10] Linz, P., Theoretical numerical analysis: an introduction to advanced techniques.John Wiley & Sons, 1979 Libro con un contenido de analisis muy grande. Explica muy

bien la teorıa general de Interpolacion Lineal.

[11] Oppenheim, A.V., Willsky, A.S, Hamid Nawab, S., Signals and systems, Prentice-Hall International, 1997. Texto de referenica para la aproximacion por mınimos cuadra-

dos mediante funciones periodicas.

[12] Puy Huarte, J. Problemas de calculo numerico. Servicio de Publicaciones. Revistaobras publicas. Madrid 1994. ISBN/ISSN 84-7493-173-8.

No hay libros de problemas buenos. De los que conozco este es el mejor, aunque no cubre

toda la asignatura. Creo que lo venden en Caminos, y debe ser barato.

[13] Rappaz, J., Picasso, M. Introduction a l’analyse numrique. Presses Polytechniqueset Universitaires Romandes, 1998.

Texto muy bueno. Cubre muy bien la parte de ecuaciones en derivadas parciales.

[14] Sanchez, J.M. Algebra lineal numerica. Seccion de publicaciones ETSIN.

Texto que cubre muy bien la parte de sistemas lineales, no lineales, y calculo de autovalores.

[15] Souto, A. Problemas de examenes de Calculo Numerico. Seccion de publicacionesETSIN.

Herramienta basica de trabajo pues contiene resueltos todos los problemas de examenes

de los ultimos anos.

[16] Theodor, R. Initiation a l’Analyse Numerique, 3 edition. Masson 1989.

Libro bastante pequeno que ha servido de base para la parte de integracion, derivacion y

ecuaciones diferenciales. Ultimamente no me gusta mucho, pero sigue siendo un libro muy

didactico, aunque a veces se deja demasiadas cosas sin explicar. Demasiado caro para lo

que es.

144

Page 146: calculo numerico

[17] Yakowitz, S., Szidarowsky, F. An introduction to numerical computations. Macmil-lan Publishing Company.

Buen libro de consulta. Sencillo y con buenos ejemplos.

145