Hans C. M¨ uller S.C.
Una Introducci´ on al An´ alisis Num´ erico
i
Hans C. M¨ uller S.C.
Una Introducci´ on al An´ alisis Num´ erico Con 55 figuras
ii
Hans C. M¨ uller Santa Cruz Departamento de Matem´ aticas Facultad de Ciencias y Tecnolog´ıa Universidad Mayor de San Sim´on Casilla 992, Cochabamba, Bolivia e-mail
[email protected]
Pr´ ologo
La Facultad de Ciencias y Tecnolog´ıa tiene 17 a˜ nos de vida, per´ıodo que ha sido fruct´ıfero en el ´ambito universitario, porque se han creado carreras tecnol´ ogicas, como cient´ıficas, haciendo ´enfasis a una investigaci´on cient´ıfica seria como un mecanismo de garantizar una excelencia acad´emica. La Carrera de Matem´ aticas, una de nuestras Carreras de reciente creaci´on, est´ a inscrita dentro este marco. Ahora bien, la Universidad Mayor de San Sim´on consciente de esta situaci´on, ha conseguido convenios de cooperaci´ on internacional, como es el caso del Programa MEMI, Programa de Mejoramiento de la Ense˜ nanza de la Matem´ atica y la Inform´ atica. De los objetivos principales de este programa es fortalecer el ´area de las matem´aticas, incentivar la difusi´ on de las diferentes ramas de las matem´aticas en el medio universitario y fuera de ´este. La Universidad y sus autoridades, dentro de sus pol´ıticas acad´emicas y de investigaci´on, han tenido la visi´on de conseguir los servicios de los mejores profesionales en esta disciplina y Hans M¨ uller es uno de ellos. El autor del libro, Hans M¨ uller Santa Cruz, es un joven matem´ atico boliviano que ha regresado a su pa´ıs para compartir los conocimientos adquiridos en en la Universidad de Ginebra, Suiza. Actualmente es el Coordinador del Programa Magister en Matem´ aticas, programa implementado de manera conjunta entre la Universidad Mayor de San Sim´on y la Universidad Cat´olica del Norte, Chile. Ha dictado un curso de Elementos Finitos, destinado a los docentes en nuestra superior Casa de Estudios; en La Paz, bajo invitaci´ on ha impartido cursos tutoriales en la Academia de Ciencias en temas relacionados a las matem´aticas aplicadas. El y otros profesionales de su ar´ea, est´ an transformando la manera de hacer matem´aticas en la Facultad de Ciencias y Tecnolog´ıa. Los t´opicos tratados en este libro est´ an muy relacionados con los cambios estructurales que ha ocasionado la introducci´on masiva de sistemas inform´ aticos. En efecto, la utilizaci´ on m´asiva del computador ha permitido al Hombre efectuar c´ alculos que en otra ´epoca hubiese sido impensable realizarlos. En la actualidad es muy corriente simular num´ericamente experiencias, que en laboratorio son muy complicadas, costosas o peligrosas, o simplemente imposible de experimentarlas. Los problemas de optimizaci´ on son abordables gracias a la utilizaci´ on del ordenador y no faltan situaciones en las cuales el uso de estos dispositivos de c´ alculo, no solamente son de gran ayuda, sino indispensables. El An´ alisis Num´erico es la rama de las Matem´ aticas, cuyo campo de acci´ on es el estudio y an´alisis de los diferentes algoritmos
´ logo Pro
iv
y m´etodos num´ericos que se utilizan para resolver los problemas mediante computadoras. El libro “Una Intruducci´on al An´ alisis Num´erico” presenta los temas b´ asicos del An´ alisis Num´erico de una manera rigurosa, permitiendo que el lector pueda adquirir los conocimientos matem´aticos necesarios para profundizar en t´opicos m´as especializados o simplemente pueda concebir e implementar m´etodos num´ericos de una manera correcta y ´optima. Finalmente, mi esperanza es que este libro sea el inicio de una larga serie de otras publicaciones de alto nivel que ofrezca el autor y su unidad acad´emica.
Cochabamba, septiembre de 1996 Ing. Alberto Rodr´ıguez M´endez Rector de la Universidad Mayor de San Sim´on
Prefacio
Este libro nace ante el vacio existente de una bibliograf´ıa en espa˜ nol que trate los temas capitales del An´ alisis Num´erico. El nombre que lleva, “Una Introducci´on al An´ alisis Num´erico”, se debe esencialmente al car´ acter que deseo que tenga este libro. El An´ alisis Num´erico es una disciplina de las Matem´ aticas en gran crecimiento gracias a la utilizaci´ on masiva de medios inform´aticos. D´ıa que pasa es m´as corriente el tratamiento num´erico en las Ciencias, como en la Tecnolog´ıa; el modelaje, la simulaci´on num´erica son moneda corriente. Ahora bien, toda persona que pretenda tener como herramienta de trabajo, los m´etodos num´ericos, debe conocer los t´opicos introductorios del An´ alisis Num´erico que son: Sistemas Lineales, Interpolaci´ on, Resoluci´ on de Ecuaciones no Lineales, C´alculo de Valores Propios y Soluci´ on Num´erica de Ecuaciones Diferenciales, porque tarde o temprano se topar´ a con alguno de estos temas. Siguiendo la l´ınea trazada por este libro, ´este contiene siete cap´ıtulos: el primero de car´ acter introductorio, donde se da los conceptos b´ asicos de error y estabilidad, seguido de un ejemplo mostrando que la aritm´etica del punto flotante no es un impedimento para efectuar c´ alculos de precisi´ on arbitraria; el segundo cap´ıtulo trata sobre los problemas lineales mas comunes y los m´etodos de soluci´on de estos; el tercer cap´ıtulo aborda el tema de interpolaci´ on num´erica y extrapolaci´ on, introduciendo el estudio de los splines c´ ubicos; el cap´ıtulo IV analiza los problemas no lineales y los m´etodos mas eficientes de resoluci´on de estos; en el cap´ıtulo V se estudia el problema de valores propios y la implementaci´on de m´etodos num´ericos para el c´ alculo de valores propios; el cap´ıtulo sexto trata de la integraci´on num´erica y la transformada r´apida de Fourier y finalmente el cap´ıtulo VII estudia los problemas diferenciales y los m´etodos num´ericos de resoluci´on mas usuales de estos problemas. Pr´acticamente el contenido de este libro ven los estudiantes de segundo a˜ no de las Carreras de M´ atematicas e Inform´ atica de la Universidad de Ginebra, Suiza, Universidad en la cual he sido formado. El pre-requisito para un buen aprovechamiento de este libro es conocer bien los principios b´ asicos del An´ alisis Real y Complejo, como tambi´en tener una buena base de Algebra Lineal. Por consiguiente, este libro est´ a destinado a estudiantes universitarios que siguen la asignatura de An´ alisis Num´erico, como as´ı mismo toda persona interesada en An´ alisis Num´erico que tenga los pre-requisitos y que desea cimentar sus conocimientos en esta disciplina. Este libro puede
vi
Prefacio
ser utilizado como texto base o bien como complemento bibliogr´afico. Debo agredecer a mis profesores de la Universidad de Ginebra, E. Hairer y G. Wanner cuyos cursos han servido de base para la elaboraci´on de este libro. Por otro lado, sin el apoyo en material de trabajo del Programa MEMI, Programa de Mejoramiento de la Ense˜ nanza de las Matem´ aticas e Inform´ atica, de la Universidad Mayor de San Sim´on este libro no habr´ıa existido. As´ı mismo agradezco a mi familia, mis colegas y amigos que seguieron con inter´s la elaboraci´on de este libro. El libro ha sido transcrito en TEX y las gr´aficas realidas en las subrutinas gr´aficas FORTRAN que G. Wanner me las cedi´o muy gentilmente. La transcripci´on, como la ejecuci´on de los programas en sido realizados sobre una WorkStation HP-9000. Posiblemente este libro contenga muchos errores, me gustar´ıa que los hagan conocer, para que en una segunda edici´ on estos sean corregidos. Octubre, 1995
Hans C. M¨ uller S.C.
Contenido
I. Preliminares I.1 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 I.2 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 I.3 Un ejemplo: C´ alculo de PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
II. Sistemas Lineales II.1 Condici´ on del Problema Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Normas de Vectores y Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 La Condici´on de una Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 II.2 M´ etodos Directos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 El Algoritmo de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 El Algoritmo de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 II.3 M´ etodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 M´etodos de Jacobi y Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 48 El Teorema de Perron-Frobenius . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 M´etodo de Sobrerelajaci´ on SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Estudio de un Problema Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 II.4 M´ etodos Minimizantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 M´etodo del Gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 M´etodo del Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Polinomios de Chebichef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 M´etodo del Gradiente Conjugado Precondicionado . . . . . . . . . 75 Resultados Num´ericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 II.5 M´ınimos Cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 La descomposici´ on QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 La Pseudo-Inversa de una Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Error del M´etodo de los M´ınimos Cuadrados . . . . . . . . . . . . . . . 96 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
viii
Contenido
III. Interpolaci´ on III.1 Interpolaci´ on de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bases Te´ oricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Construcci´on del Polinomio de Interpolaci´ on . . . . . . . . . . . . . . El Error de Interpolaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Polinomios de Chebichef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estudio de los Errores de Redondeo . . . . . . . . . . . . . . . . . . . . . . Convergencia de la Interpolaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III.2 Splines C´ ubicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Construcci´on del Spline Interpolante . . . . . . . . . . . . . . . . . . . . . . El Error de la Aproximaci´on Spline . . . . . . . . . . . . . . . . . . . . . . . Aplicaci´on de Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III.3 Extrapolaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
104 104 106 111 113 115 119 129 131 133 136 142 143 145 150
IV. Ecuaciones No Lineales IV.1 Ecuaciones Polinomiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ecuaciones Resolubles por Radicales . . . . . . . . . . . . . . . . . . . . . . Ecuaciones No Resolubles por Radicales . . . . . . . . . . . . . . . . . . Localizaci´on de Ceros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sucesiones de Sturm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV.2 M´ etodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Posici´ on del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodo de la Falsa Posici´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sistema de Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un M´etodo Iterativo Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV.3 M´ etodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El Teorema de Newton-Misovski . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodo de Newton Simplificado . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodo de Newton con Relajaci´ on . . . . . . . . . . . . . . . . . . . . . . . . Aproximaci´on de Broyden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV.4 M´ etodo de Gauss Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convergencia del M´etodo de Gauss-Newton . . . . . . . . . . . . . . . Modificaciones del M´etodo de Gauss-Newton . . . . . . . . . . . . . El M´etodo de Levenber-Marquandt . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
152 152 155 155 157 159 161 163 163 165 168 169 173 174 179 184 193 197 199 203 204 207 210 211
Contenido
ix
V. C´ alculo de Valores Propios V.1 Teor´ıa Cl´ asica y Condici´ on del Problema .......... La Condici´on del Problema a Valores Propios . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V.2 Determinaci´ on de Valores Propios . . . . . . . . . . . . . . . . . . . El M´etodo de la Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formas Tridiagonales y Formas de Hessenberg . . . . . . . . . . . . Teorema de Sturm y el Algoritmo de la Bisecci´ on . . . . . . . . . Generalizaci´ on del M´etodo de la Potencia . . . . . . . . . . . . . . . . . El M´etodo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
214 217 221 223 223 227 229 233 237 241
VI. Integraci´ on Num´ erica VI.1 Bases Te´ oricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F´ormulas de Cuadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El Orden de una F´ormula de Cuadratura . . . . . . . . . . . . . . . . . Estimaci´on del Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios ............................................... VI.2 Cuadraturas de Orden Elevado . . . . . . . . . . . . . . . . . . . . . . Polinomios Ortogonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Los Polinomios de Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Las F´ormulas de Cuadratura de Gauss . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI.3 Implementaci´ on Num´ erica . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tratamiento de Singularidades . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
244 248 249 250 256 258 259 263 264 267 269 273 282
VI.4 Transformaci´ on de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estudio del Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interpolaci´ on Trigonom´etrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transformaci´on R´ apida de Fourier FFT . . . . . . . . . . . . . . . . . . Aplicaciones de FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
284 287 288 290 292 293
VII. Ecuaciones Diferenciales VII.1 Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teoremas de Existencia y Unicidad . . . . . . . . . . . . . . . . . . . . . . . Problemas con Valores en la Frontera . . . . . . . . . . . . . . . . . . . . . Diferenciabilidad respecto a los Valores Iniciales . . . . . . . . . . Simple Shooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shooting M´ ultiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
296 297 300 300 303 307 311
x
Contenido
VII.2 M´ etodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Efectos de los Errores de Redondeo . . . . . . . . . . . . . . . . . . . . . . . Estabilidad del M´etodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . M´etodo de Euler Imp´ıcito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII.3 M´ etodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Construcci´on de un M´etodo de Orden 4 . . . . . . . . . . . . . . . . . . M´etodos Encajonados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soluciones Continuas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convergencia de los M´etodos de Runge-Kutta . . . . . . . . . . . . Experiencias Num´ericas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII.3 M´ etodos Multipasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodos de Adams Expl´ıcitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodos de Adams Impl´ıcitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodos Predictor-Corrector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´etodos BDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estudio del Error Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convergencia de los M´etodos Multipaso . . . . . . . . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliograf´ıa
.....................................................
Indice de S´ımbolos Indice Alfab´ etico
313 317 319 321 322 323 327 330 333 335 338 340 341 341 343 344 345 346 348 350 353 355
.............................................
359
...............................................
361
Cap´ıtulo I Preliminares
Con la utilizaci´ on masiva de sistemas inform´aticos en la resoluci´on de problemas a todo nivel, el An´ alisis Num´erico ha tenido un gran desarrollo en las u ´ltimas d´ecadas, como una rama integrante de las Matem´ aticas. En este primer cap´ıtulo se expondr´ a las nociones de base que sustentan el An´ alisis Num´erico, para ser utilizadas en los cap´ıtulos posteriores. La primera secci´on estar´ a dedicada a estudiar los algoritmos como una composici´ on de operaciones elementales, partiendo de un dispositivo ideal de c´ alculo. Se analizar´ a las nociones de eficiencia y error de un algoritmo. En la segunda secci´on se analizar´ a el problema algor´ıtmico a partir de los dispositivos materiales con que se cuenta en la actualidad, es decir ordenadores o computadoras. En esta secci´on se estudiar´ a la representaci´on en punto flotante de un n´ umero real y su redondeo en la computadora. Se introducir´ a la noci´on de precisi´ on de una computadora y la relaci´on de ´esta con el concepto de estabilidad, en sus diferentes versiones, de un algoritmo. En la tercera y u ´ltima secci´on de este cap´ıtulo, se ver´ a que las limitaciones impuestas por la representaci´on en punto flotante, no es una restricci´ on para calcular con la precisi´ on que se requiera. Prueba de esto, π ser´ a calculado, como un ejemplo ilustrativo, con 10000 decimales de precisi´ on.
I.1 Algoritmos
En esta secci´on se supondr´ a que se cuenta con un dispositivo ideal de c´ alculo, es decir una computadora de precisi´ on exacta, situaci´on que no sucede en la realidad. El cuerpo de base ser´ a R, a menos que se especifique lo contrario. Este dispositivo est´ a provisto de ciertas operaciones cuya acci´ on se efectua en un tiempo finito, por ejemplo es capaz de realizar las 4 operaciones aritm´eticas elementales, m´as algunas como la radicaci´on, la exponenciaci´ on y las otras funciones elementales que se estudian en un curso de C´alculo I. Por consiguiente, se tiene la primera definici´on. Definici´ on I.1.1.- Una operaci´ on elemental es una operaci´ on matem´atica o funci´ on cuya acci´ on se la efectua en un tiempo finito y que adem´ as el dispositivo ideal la puede realizar. Inicialmente se supondr´ a que las cuatro operaciones aritm´eticas como: la adici´on, la multiplicaci´on, la sustracci´ on y la divisi´on son posibles en este dispositivo de c´ alculo. De esta manera es posible evaluar toda funci´ on polinomial, toda funci´on racional, en una cantidad finita de pasos o composici´ on de operaciones elementales. Definici´ on I.1.2.- Un algoritmo es una sucesi´on finita de operaciones elementales. Si se denota por fi una operaci´ on elemental, un algoritmo es la composici´ on de n operaciones elementales, es decir f = fn ◦ fn−1 ◦ · · · ◦ f2 ◦ f1 .
(I.1.1)
Por otro lado, el dispositivo de c´ alculo con el que se cuenta tiene la finalidad de evaluar la o las soluciones de un problema matem´ atico, siempre que sea posible hacerlo. Ahora bien, lo que cuenta en este estudio es el resultado, de donde la: Definici´ on I.1.3.- Un problema es darse un dato x ∈ Rn y obtener un resultado P(x) ∈ R. En consecuencia, son problemas todas las funciones cuyo dominio es un espacio vectorial real de dimensi´on finita, cuya imagen est´ a incluida en la recta real. Una funci´on cuya imagen est´ a incluida en un espacio de dimensi´on m´as grande que 1, puede ser interpretada como un conjunto de problemas, donde cada problema es la funci´on proyecci´on correspondiente. Las ecuaciones pueden ser vistas como problemas, pero antes aclarando cual de las soluciones se est´ a tomando.
3
I.1 Algoritmos
Es necesario recalcar que problema y algoritmo son conceptos diferentes, aunque de alguna manera ligados. Consid´erese el problema siguiente, P(x) = an xn + an−1 xn−1 + · · · + a1 x + a0 .
(I.1.2)
P(x) puede ser obtenido de muchas maneras, en particular utilzando los 2 siguientes algoritmos: El primero consiste en evaluar el polinomio (I.1.2) tal como est´ a definido, con la convenci´on que: x1 = x; xn = x · xn−1 ,
para n ≥ 2.
(I.1.3)
La segunda manera de evaluar el polinomio consiste en utilizar el algoritmo de H¨ orner, el cual est´ a dado por: q0 (x) = an , q1 (x) = q0 (x)x + an−1 , q2 (x) = q1 (x)x + an−2 , .. . qn (x) = qn−1 (x)x + a0 .
(I.1.4)
Como puede observarse ambos algoritmos eval´ uan el polinomio P(x), sin embargo en el primero se requiere: 1 + · · · + n − 1 multiplicaciones para evaluar las potencias, n multiplicaciones para evaluar los t´erminos de la forma ai xi y finalmente n adiciones, lo cual hace un total de n(n + 3) operaciones elementales. 2
(I.1.5)
El algoritmo de H¨orner requiere a cada paso de una multiplicaci´on y una adici´on lo cual es igual a 2n operaciones elementales.
(I.2.6)
Por lo tanto, puede observarse claramente que el algoritmo de H¨orner es m´as eficiente que el primero, pues la implementaci´on de ´este efectua menos operaciones elementales. El concepto de eficiencia de un algoritmo est´ a ligado por consiguiente al costo en operaciones elementales que se requiere para ejecutar un algoritmo. Ahora bien, en la realidad una computadora requiere menos tiempo para evaluar una adici´on que para una multiplicaci´ on. Cada operaci´on elemental toma cierto tiempo en efectuarse, que en general depende de la computadora y el lenguaje en el que est´ a escrito el programa. Es
4
I Preliminares
por eso, que es m´as conveniente medir la eficiencia en t´erminos de tiempo ejecutado, en lugar del n´ umero de operaciones elementales ejecutadas. Con lo argumentado se puede formular una primera definici´on de eficiencia. Definici´ on I.1.4.- El costo del algoritmo fn ◦ · · · ◦ fn , est´ a dado por C = m1 + m2 + . . . + mn ,
(I.1.7)
donde mi es el tiempo de ejecuci´on de fi . Si C1 y C2 son los costos en tiempo de dos algoritmos que resuelven el mismo problema, se dir´a que el primer algoritmo es m´as eficiente que el segundo si C1 ≤ C2 . Tal como se dijo al inicio de esta secci´on, el dispositivo ideal con el que se cuenta, puede efectuar una cantidad finita de operaciones elementales. Suponiendo nuevamente, que solamente se cuenta con las cuatro operaciones aritm´eticas, las u ´nicas funciones que pueden evaluarse utilizando un algoritmo son las funciones polinomiales y racionales. Ahora bien, existe una cantidad ilimitada de funciones y se puede mostrar que no existe ning´ un algoritmo que sea la composici´ on de adiciones, multiplicaciones, sustracciones o divisiones, que permita calcular una raiz cuadrada; evaluar funciones trigonom´etricas, exponenciales o logar´ıtmicas. Sin embargo, existen procedimientos matem´aticos que permiten aproximar estas funciones de manera arbitraria. Los m´as com´ unmente utilizados: son las series de Taylor, las fracciones continuas y algunos m´etodos iterativos. Todos estos m´etodos est´ an sustentados en las nociones de l´ımite, de continuidad, derivabilidad dados en los cursos de C´alculo y An´ alisis. A continuaci´on se ver´ a un ejemplo ilustrativo, donde se introducir´ a la noci´ on del error de truncaci´on. Consid´erese la funci´ on exponencial, cuyo desarrollo en serie de Taylor est´ a dada por ex =
∞ X xk k=0
k!
.
(I.1.8)
Es evidente que ex no puede evaluarse en un n´ umero finito de pasos, para un x dado, sin embargo en lugar de evaluar ex , uno se puede contentar evaluando una cantidad finita de t´erminos de la serie de Taylor, es decir p(x) =
n X xk
k=0
k!
,
(I.1.9)
para un n fijado de antemano. La diferencia entre ex y p(x) es el error de truncaci´on de ex respecto a p(x). Este error de truncaci´on es del orden O(xn+1 ) cuando x tiende a 0. El nombre de truncaci´on proviene del hecho que para evaluar ex se ha despreciado una parte de la serie. Por consiguiente, el error de truncaci´on puede definirse como:
5
I.1 Algoritmos
Definici´ on I.1.5.- Sean P(x), P ′ (x) dos problemas. El error de truncaci´on de P(x), respecto de P ′ (x) est´ a dado por P(x) − P ′ (x).
(I.1.10)
El nombre que tiene este error, como se dijo m´as arriba, es debido a que la la serie de Taylor es truncada a un n´ umero finito de t´erminos. No obstante, existe una gran diversidad de m´etodos que aproximan a la soluci´on del problema utilizando otro tipo de argumentos, en este caso es m´as conveniente utilizar el nombre de error de aproximaci´ on o error del m´etodo; de todas formas es cuesti´on de gusto. El concepto de eficiencia ha sido definido para aquellos problemas donde se puede encontrar la soluci´on mediante un algoritmo. Para aquellos problemas, donde no es posible encontrar un algoritmo que de la soluci´on y suponiendo que es posible aproximar la soluci´on de manera arbitraria mediante un m´etodo algor´ıtmico, la eficiencia est´ a ligada al costo en operaciones, como tambi´en al error del m´etodo. En esta situaci´on la eficiencia es un concepto m´as subjetivo que depende de alguna manera del usuario, pues existen problemas donde el error de aproximaci´on debe ser lo m´as peque˜ no posible, y otros problemas donde la exactitud no es un requisito primordial. Ejemplos 1.- Consid´erese el problema, determinar π. Utilizando la identidad π arctan 1 = 4 y que la serie de Taylor en el origen est´ a dada por ∞ X (−1)k 2k+1 arctan x = x , (I.1.11) 2k + 1 k=0
se puede obtener un m´etodo que aproxime π, pero el problema de este m´etodo es su convergencia demasiado lenta; es mas, para x = 1 la serie (I.1.11) no es absolutamente convergente. Otro m´etodo que permitir´ıa aproximar π, consiste en utilizar el hecho que π arccos(1/2) = 3 y desarrollando arccos en serie de Taylor, se obtiene un m´etodo cuya convergencia es mucho m´as r´apida. √ 2.- Consid´ √ erese el problema, determinar 2. La primera manera de determinar 2 es tomar un intervalo cuya extremidad inferior tenga un cuadrado inferior a 2 y la extremidad superior tenga un cuadrado m´as grande a 2. Se subdivide el intervalo en dos subintervalos de igual longitud, se elige aquel cuyas extremidades al cuadrado contengan 2. En la tabla siguiente se da algunas de las iteraciones de este m´etodo.
6
I Preliminares
Iteraci´ on 0 1 2 3 4 5 16 17 18 19 20
Ext. Inferior 1.0 1.25 1.375 1.375 1.40625 1.40625 1.41420745849609 1.41421127319336 1.41421318054199 1.41421318054199 1.41421318054199
Ext. Superior 1.5 1.5 1.5 1.4375 1.4375 1.421875 1.41421508789063 1.41421508789063 1.41421508789063 1.41421413421631 1.41421365737915
La segunda posibilidad es utilizar la sucesi´on definida recursivamente por: a0 = 1, 1 1 an+1 = an + . 2 an Esta sucesi´on es convergente √ y se deja al lector la demostraci´on para que verifique que el l´ımite es 2. En la tabla siguiente se tiene los seis primeros t´erminos de la sucesi´on. Efectuando unas cuantas iteraciones se obtiene: Iteraci´ on an 0 1.0 1 1.5 2 1.41666666666667 3 1.41421568627451 4 1.41421356237469 5 1.4142135623731
Puede observarse inmediatamente, que el segundo m´etodo para determinar √ 2 es m´as eficiente que el primer algoritmo.
Ejercicios 1.- Sup´ongase que, el dispositivo de c´ alculo, con el que se cuenta, puede efectuar la divisi´on con resto; es decir, para a, b enteros no negativos, con b 6= 0, el dispositivo calcula p, q satisfaciendo: a = pb + r
y
0 ≤ r < b.
a) Implementar un algoritmo que calcule el maximo com´ un divisor de a y b. b) Utilizando el inciso precedente, implementar otro algoritmo que permita calcular m, n ∈ Z, tales que mcd(a, b) = ma + nb.
7
I.1 Algoritmos
c) Estudiar la situaci´on m´as desfavorable, aqu´ella donde el costo en operaciones es el m´as alto. Deducir una estimaci´on de la eficiencia del algoritmo. 2.- Suponiendo que, el dispositivo de c´ alculo puede efectuar la divisi´on con resto, con la particularidad siguiente: a = pb + r
y
−
|b| |b|
a) Mostrar que el algoritmo implementado en el ejercicio 1a), puede implementarse para esta nueva divisi´on con resto. b) Verificar que, el nuevo algoritmo es m´as eficiente que aqu´el con divisi´ on con resto normal. Encontrar una estimaci´on de costo del algoritmo. 3.- Para el polinomio p(x) = a0 + a1 x + · · · + an xn , el algoritmo de H¨orner (I.1.9) est´ a definido por: bn = an ; bi = ai + x0 bi+1 ,
i = n − 1, . . . , 1, 0.
Se plantea q(x) = b1 + xb2 + · · · + xn−1 bn . a) Mostrar que p′ (x0 ) = q(x0 ). Verificar que p(x) = b0 + (x − x0 )q(x). b) Generalizar el algoritmo de H¨orner, de tal forma que se pueda calcular p(x0 ) y p′ (x0 ) al mismo tiempo. 4.- Una regla y comp´ as constituyen un dispositivo de c´ alculo. Sup´ongase que se conocen dos puntos O y P tales que OP sea de longitud 1. a) Mostrar que, adem´ as de las 4 operaciones aritm´eticas elementales, la radicaci´on puede obtenerse a partir de un n´ umero finito de manipulaciones de regla y comp´ as. p √ b) Construir 1 + √ 10. c) Intentar construir 3 2. ¿Es posible?
I.2 Estabilidad
En esta secci´on, a diferencia de la precedente, se analizar´ a el problema de los algoritmos y m´etodos num´ericos desde el punto de vista de un dispositivo material real, m´as conocido como computadora. Para comenzar existen esencialmente dos tipos de n´ umeros en la aritm´etica de un ordenador: el tipo entero cuya aritm´etica es igual a la de los num´eros enteros, con la diferencia que el tipo entero de un ordenador es un conjunto finito, motivo por el cual se tiene que tener cuidado con los overflows en las operaciones aritm´eticas; el segundo tipo de n´ umero es el real, en sus diferentes versiones, la idea de este tipo de n´ umero es la representaci´on de un n´ umero real en punto flotante, es decir todo n´ umero real no nulo x se puede escribir de manera u ´nica como x = a · 10b ,
donde |a| < 1, b ∈ Z;
(I.2.1)
a se llama mantisa y b el exponente. Los n´ umeros reales solo tienen una representaci´on parcial en el tipo real de un ordenador por limitaciones f´ısicas del dispositivo, por consiguiente un n´ umero real estar´ a en una clase de equivalencia de tipo de n´ umero real. Esta representaci´on de n´ umero real est´ a dada por la precisi´ on de la computadora. Cuando se trabaja sobre un computador, se tiene a disposici´ on un n´ umero finito de cifras, por ejemplo l, para la mantisa, Si a ¯ denota el redondeado de a, se trabaja en realidad con arr(x) = a ¯ · 10b
(I.2.2)
√ en lugar de x. De esta manera, el n´ umero 2 = 1.414213562 . . . est´ a representado por √ arr( 2) = 0.141421356 · 101 , si se calcula con l = 8 cifras en base 10. Como se dijo m´as arriba, el redondeo est´ a determinado por la precisi´ on de la computadora. Esta precisi´ on est´ a dada por un n´ umero dado por la: Definici´ on I.2.1.- Se denota por eps, el n´ umero positivo m´as peque˜ no tal que arr(1 + eps) > 1. (I.2.3) Este n´ umero eps llamado precisi´ on de la computadora est´ a dado por los siguientes hechos: si los c´ alculos se hacen en base 10 y con l cifras en la
9
I.2 Estabilidad mantisa, se tiene arr(0. |10 {z . . . 0} 49 . . . · 101 ) = 1, l
arr(0. |10 {z . . . 0} 50 . . . · 101 ) = . 10 . . . 1} ·101 > 1, | {z l
l
deduciendose, por consiguiente
eps = 5.10−l ;
(I.2.4)
si se realiza el mismo c´ alculo en base 2, como todas las computadoras lo hacen, se obtiene eps = 2−l . (I.2.5) Para el FORTRAN sobre una HP-9000, se tiene: REAL∗4, REAL∗8, REAL∗16,
eps = 2−24 ≈ 5.96 · 10−8 ; eps = 2−55 ≈ 1.39 · 10−17 ; eps = 2−113 ≈ 9.63 · 10−35 .
Ahora bien, un n´ umero real y su representaci´on en punto flotante en una computadora est´ an relacionados por el: Teorema I.2.2.- Para x 6= 0, se tiene |arr(x) − x| ≤ eps. |x|
(I.2.6)
Demostraci´ on.- Sea x = a · 10b y arr(x) = a ¯ · 10b . Si se redondea a l cifras significativas se tiene |¯ a − a| ≤ 5 · 10−l−1 , de donde |arr(x) − x| 5.10−l−1 |¯ a − a| · 10b ≤ = 5 · 10−l = eps = b |x| 10−1 |a| · 10 por que |a| ≥ 1/10.
La estimaci´on dada por (I.2.6) puede ser escrita bajo la forma arr(x) = x(1 + ǫ),
donde
|ǫ| ≤ eps.
(I.2.7)
Como se ver´ a m´as adelante, la relaci´on (I.2.7) es la base fundamental para todo estudio de los errores de redondeo.
10
I Preliminares
Cuando se trabaja en un computador, se tiene que ser cuidadoso en la soluci´on de los problemas, pues ya no se resuelve con los datos exactos, si no con los datos redondeados. Consid´erese la ecuaci´on de segundo grado √ x2 − 2 2x + 2 = 0, √ cuya soluci´on x = 2 es un cero de multiplicidad 2. Resolviendo en simple precisi´ on, la computadora da un mensaje de error, debido a que √ arr( 2) = 0.141421 · 10, √ arr(arr( 2)2 − 2) = −0.119209 · 10−6 . Como puede observarse, la manipulaci´ on de ciertos problemas utilizando la aritm´etica del punto flotante puede ocasionar grandes dificultades, como en el ejemplo anterior. Es por eso necesario introducir el concepto de condici´ on de un problema, el cual est´ a dado en la: Definici´ on I.2.3.- Sea P(x) un problema dado por P : Rn → R. La condici´ on κ del problema P es el n´ umero mas peque˜ no positivo κ, tal que |¯ xi − xi | ≤ eps |xi |
⇒
|P(¯ x) − P(x)| ≤ κ eps. |P(x)|
(I.2.8)
Se dice que el problema P es bien condicionado si κ no es demasiado grande, sino el problema es mal condicionado. En la definici´on, eps representa un n´ umero peque˜ no. Si eps es la precisi´ on de la computadora entonces x ¯i puede ser interpretado como el redondeo de xi . Por otro lado, es necesario resaltar que κ depende solamente del problema, de x y no as´ı del algoritmo con el que se calcula P(x). Para comprender m´as sobre la condici´ on de un problema se analizar´ a los siguientes dos ejemplos. Ejemplos 1.- Multiplicaci´ on de dos n´ umeros reales. Sean x1 y x2 reales, consid´erese el problema calcular P(x1 , x2 ) = x1 · x2 . Para los dos valores perturbados x ¯1 = x1 (1 + ǫ1 ),
x ¯2 = x2 (1 + ǫ2 ),
|ǫi | ≤ eps;
se obtiene x ¯1 · x ¯ 2 − x1 · x2 = (1 + ǫ1 )(1 + ǫ2 ) − 1 = ǫ1 + ǫ2 + ǫ1 · ǫ2 . x1 · x2
(I.2.9)
Puesto que eps es un n´ umero peque˜ no, el producto ǫ1 . · ǫ2 es despreciable respecto a |ǫ1 | + |ǫ2 |, de donde x ¯2 − x1 · x2 ¯1 · x (I.2.10) ≤ 2 · eps. x 1 · x2
11
I.2 Estabilidad
Por consiguiente, κ = 2. El problema es bien condicionado. 2.- Adici´on de numeros reales. Para el problema P(x1 , x2 ) = x1 + x2 , por analog´ıa al ejemplo precedente, se obtiene (¯ ¯2 ) − (x1 + x2 ) x1 ǫ1 − x2 ǫ2 |x1 | + |x1 | x1 + x (I.2.11) = x1 + x2 ≤ |x1 + x2 | eps. x1 + x2 Si x1 y x2 son de signos iguales, se tiene κ = 1, de donde el problema es bien condicionado. |x1 | + |x1 | Pero, si x1 ≈ −x2 , la condici´ on κ = se convierte en |x1 + x2 | una cantidad muy grande. Motivo por el cual el problema est´ a mal condicionado. Para mejor ilustrar el efecto de condici´ on muy grande, consid´erese el siguiente ejemplo num´erico. x1 =
1 , 51
x2 = −
1 , 52
para el cual κ ≈
2/50 = 100. (1/50)2
Realizando el c´ alculo con 3 cifras significativas en base 10, se obtiene x ¯1 = .196 · 10−1 , x ¯2 = −.192 · 10−1 y x ¯1 + x ¯2 = .400 · 10−1 . Como las dos primeras cifras son las mismas para x ¯1 y x2 , la adici´on las ha hecho desaparecer y no hay m´as que una cifra que es significativa. El resultado exacto es 1/(51 · 52) = 0.377 · 10−3 . Respecto a la definici´on de condici´ on, se debe observar dos situaciones. La primera, si uno de los xi = 0, entonces se tiene x ¯i = 0; la segunda sucede cuando P(x) = 0, la condici´ on se la calcula pasando al l´ımite. Una vez definida la condici´ on de un problema, el siguiente paso es ver la incidencia que tienen los errores de redondeo en la implementaci´on de un algoritmo para resolver un problema dado. Tal como se dijo en la secci´on precedente, un algoritmo es una sucesi´on finita de operaciones elementales, es decir P(x) = fn (fn−1 (. . . f2 (f1 (x)) . . .)). (I.2.12) La amplificaci´ on del error, efectuando la operaci´ on fi , est´ a dada por la condici´ on κ(fi ). Por consiguiente: Proposici´ on I.2.4.- El algoritmo que resuelve el problema dado por (I.2.12), tiene la estimaci´on siguiente κ(P) ≤ κ(f1 ) · κ(f2 ) · · · κ(fn ).
(I.2.13)
Demostraci´ on.- Por inducci´on sobre n. Para n = 1, el resultado es trivial. Sup´ongase, que es cierto para n, por lo tanto, si el problema es de la forma P(x) = fn+1 (fn (fn−1 (. . . f2 (f1 (x)) . . .))),
12
I Preliminares
puede escribirse como P(x) = fn+1 (P ′ (x)), utilizando la definici´on de condici´ on se tiene |P ′ (x) − P ′ (¯ x)| ≤ κ(P ′ )eps ′ |P (x)| |fn+1 (P ′ (x)) − fn+1 (P ′ (¯ x))| ≤ κ(fn+1 )κ(P ′ )eps. ⇒ |fn+1 (P ′ (x))| Finalmente utilizando la hip´otesis de inducci´on, se tiene (I.2.13).
Definici´ on I.2.5.- Un algoritmo es num´ericamente estable, en el sentido de forward analysis, si κ(f1 ) · κ(f2 ) · · · κ(fn ) ≤ Const · κ(P)
(I.2.14)
donde Const no es demasiado grande. La f´ormula (I.2.14) expresa el hecho de que la influencia de los errores de redondeo durante el c´ alculo de P(x) no es mucho m´as grande que la influencia de los errores en los datos, lo que en realidad es inevitable. Ejemplo Sea x = 104 y consid´erese el problema de calcular 1/(x(1 + x)). Se examinar´ a los dos algoritmos siguientes: El primero definido por
x
ր ց
x
x+1
ց ր
x(x + 1) −→
1 . x(x + 1)
Las operaciones efectuadas son muy bien condicionadas, por consiguiente, este algoritmo es num´ericamente estable. El segundo algoritmo definido por
x
ր ց
1/x
x + 1 −→ 1/(x + 1)
ց ր
1 1 1 − = . x x+1 x(x + 1)
En este algoritmo, solamente las tres primeras operaciones son bien condicionadas. Sin embargo la u ´ltima operaci´ on, la sustracci´ on, es muy
13
I.2 Estabilidad
mal condicionada, porque 1/x ≈ 1/(x + 1). Entonces, este algoritmo es num´ericamente inestable. La verificaci´ on, si un algoritmo es estable en el sentido de forward analysis, sobre todo si el n´ umero de operaciones es elevado, es a menudo muy compleja y dificil. Por esta razon, Wilkinson introduj´o otra definici´on de la estabilidad de un algoritmo. Definici´ on I.2.6.- Un algoritmo para resolver el problema P(x) es num´ericamente estable en el sentido de backward analysis si el resultado num´erico y¯ puede ser interpretado como un resultado exacto para los datos perturbados x ¯, es decir y¯ = P(¯ x), y si |¯ xi − xi | ≤ Const · eps, |xi |
(I.2.15)
donde Const no es demasiado grande y eps es la precisi´ on de la computadora. De la definici´on I.2.6 y (I.2.15) se deduce que, en el estudio de este tipo de estabilidad no se requiere conocer de antemano la condici´ on del problema. Ejemplo Consid´erese el problema de calcular el producto escalar x1 · x2 + x3 · x4 . Para calcular ´este, se utiliza el algoritmo
(x1 , x2 , x3 , x4 )
ր ց
x1 · x2 x1 · x2
ց ր
x 1 · x 2 + x3 · x 4 .
(I.2.16)
El resultado num´erico bajo la influencia de los errores de redondeo es x1 (1 + ǫ1 ) · x2 (1 + ǫ2 )(1 + η1 ) + x3 (1 + ǫ3 ) · x4 (1 + ǫ4 )(1 + η2 ) (1 + η3 ),
donde |ǫi | , |ηj | ≤ eps. Este resultado es igual a x ¯1 · x ¯2 + x ¯3 · x ¯4 , si se plantea x ¯1 = x1 (1 + ǫ1 )(1 + η1 ),
x ¯3 = x3 (1 + ǫ3 )(1 + η2 ),
x ¯2 = x2 (1 + ǫ2 )(1 + η3 ),
x ¯4 = x4 (1 + ǫ4 )(1 + η3 ).
Despreciando los productos de la forma ηi · ǫj , la relaci´on (I.2.15) es satisfecha con Const = 2. Por lo tanto, el algoritmo (I.2.16) siempre es num´ericamente estable en el sentido de backward analysis. El ejemplo precedente muestra que un algoritmo puede ser estable, incluso si el problema est´ a mal condicionado. En consecuencia, es necesario bien distinguir las nociones de estabilidad y condici´ on.
14
I Preliminares
Ejercicios 1.- ¿Cual es la condici´ on de la sustracci´ on de dos n´ umeros? 2.- Determinar la condici´ on del problema P(x1 , x2 ) = x1 /x2 con x2 6= 0. 3.- Hallar la condici´ on del c´ alculo del producto escalar hx, yi =
n X
xi yi .
i=1
4.- Mostrar que el sistema lineal (
ax + by = 1 , cx + dy = 0
con ad 6= bc
es num´ericamente estable en el sentido de backward analysis. 5.- Las raices del polinomio x2 − 2px − q = 0 son: λ1 = p +
p p2 + q,
λ2 = p −
p p2 + q.
Mostrar que para p > 0, grande, y q ≥ 0, muy peque˜ no, este algoritmo es num´ericamente inestable. Utilizando la relaci´on λ1 λ2 = q, encontrar un algoritmo que es num´ericamente estable en el sentido de backward analysis.
I.3 Un ejemplo: C´ alculo de Pi
En las secci´on precedente se ha visto que el dispositivo material que efectua los c´ alculos num´ericos tiene en general dos tipos de n´ umeros: los enteros que se asemejan mucho a los enteros matem´aticos y el tipo real que es una representaci´on del n´ umero real. Tal como se mostr´o, ambos tipos de n´ umero presentan ciertas particularidades, por ejemplo son en cantidad finita, para el tipo real existe el redondeo de los n´ umeros. Por consiguiente si se utiliza el tipo real para determinar π, se tendr´a una precisi´ on de 8 decimales; para doble precisi´ on se obtendra 16 decimales de precisi´ on; para cuadruple precisi´ on, que algunos lenguajes de programaci´ on cuentan, se obtendr´a 32 decimales de precisi´ on. Por lo tanto, la precisi´ on para obtener π est´ a determinada por el lenguaje de programaci´ on y en algunos casos por el tipo de computadora con que se cuenta. En esta secci´on se pretende mostrar que estas limitaciones no constituyen necesariamente un impedimento para determinar un n´ umero, en particular π, con la precisi´ on que se desee. Una de las maneras m´as usuales de determinar π es utilizar el desarrollo en serie de Taylor en el origen de arctan x, el cual est´ a dado por arctan x =
∞ X (−1)k 2k+1 x . 2k + 1
(1.3.1)
k=0
De (I.3.1) se deduce, para x = 1, que π=4
∞ X (−1)k . 2k + 1
(I.3.2)
k=0
Como se recalc´o en la secci´on I.2, utilizar la serie (I.3.2) no es conveniente, por que la convergencia de esta serie es muy lenta. Utilizando la relaci´on tan(α + β) =
tan α + tan β , 1 − tan α tan β
una verificaci´ on inmediata conduce a π 1 1 1 = 12 arctan + 8 arctan − 5 arctan . 4 18 57 239 Remplazando (I.3.1) en (I.3.3), da como resultado
(I.3.3)
16
I Preliminares
∞ X (−1)k 1 2k+1 ( ) 2k + 1 18 k=0 | {z }
π = 48
A
∞ ∞ X X (−1)k 1 2k+1 (−1)k 1 2k+1 + 32 − 20 . ( ) ( ) 2k + 1 57 2k + 1 239 k=0 k=0 {z } | {z } | B
(I.3.4)
C
Ahora bien, se desea obtener una representaci´on de π en notaci´on decimal con N decimales de precisi´ on. Si cada serie del lado derecho de (I.3.4) es calculada con una precisi´ on de 10−(N +1) se tiene largamente la precisi´ on ˆ el valor calculado de A; B, ˆ el valor calculado de deseada. Denotando por A, ˆ el valor calculado de C, se tiene: B y C, Aˆ = 48
MA X (−1)k 1 2k+1 ( ) , 2k + 1 18
k=0
ˆ = 32 B
MB X (−1)k 1 2k+1 ( ) , 2k + 1 57
k=0
Cˆ = 20
MC X (−1)k 1 2k+1 ( ) . 2k + 1 239
k=0
De donde:
∞ X (−1)k 1 (1/18)2MA +3 ˆ 2k+1 ( ) , ≤ 48 A − A = 48 2k + 1 18 1 − (1/18)2 k=MA +1 ∞ X (−1)k 1 (1/57)2MB +3 ˆ 2k+1 , ( ) B − B = 32 ≤ 32 2k + 1 57 1 − (1/57)2 k=MB +1 ∞ X (−1)k 1 (1/239)2MC +3 ˆ 2k+1 . ( ) C − C = 20 ≤ 20 2k + 1 239 1 − (1/239)2 k=MC +1 Por hip´ otesis, se tiene por ejemplo que A − Aˆ ≤ 10−(N +1) , por lo tanto para asegurar esta precisi´ on es suficiente que 48
(1/18)2MA +3 ≤ 10−(N +1) , 1 − (1/18)2
remplazando el signo ≤ por =, se tiene 48
(1/18)2MA +3 = 10−(N +1) , 1 − (1/18)2
(I.3.5)
´ lculo de Pi I.3 Un ejemplo: Ca
17
obteniendo de esta manera log10 (48) − (2MA + 3) log10 (18) − log10 (1 − (1/18)2 ) = −(N + 1). Despejando MA , se obtiene MA =
N + 1 + log10 (48) − 3 log10 (18) + (1/18)2 . 2 log10 (18)
(I.3.6)
Del mismo modo se llega a: N + 1 + log10 (32) − 3 log10 (57) + (1/57)2 , 2 log10 (57) N + 1 + log10 (20) − 3 log10 (239) + (1/239)2 MC = . 2 log10 (239)
MB =
(I.3.7) (I.3.8)
Una vez determinada la cantidad de t´erminos en cada serie para calcular ˆ B ˆ y C, ˆ es necesario definir una representaci´on de los n´ A, umeros reales y ˆ B ˆ y Cˆ con la precisi´ su respectiva aritm´etica que permita calcular A, on requerida. Sea b > 1, entonces todo n´ umero positivo x se escribe de manera u ´nica como ∞ X 1 (I.3.9) x= ak k , b k=0
donde 0 ≤ ak < b para k ≥ 1. Suponiendo que b = 10m , para obtener una representaci´on de x con N decimales de precisi´ on, es suficiente conocer ak para 0 ≤ k ≤ N/m + 2. Se suma 2 a la cota anterior por seguridad. Por lo tanto, para todo n´ umero positivo x,el redondeado x ˆ con N cifras decimales de precisi´ on puede escribirse como N/m+2
x ˆ=
X
a ¯k /10m k ,
(I.3.10)
k=0
con 0 ≤ a ¯k < 10m para k ≥ 1. Comparando (I.3.9) con (I.3.10) se tiene que ak = a ¯k para 0 ≤ k ≤ N/m + 1 y |ak − a ¯k | ≤ 1 para k = N/m + 2, deduciendose de esta manera la: Proposici´ on I.3.1.- Sea x un n´ umero no negativo y x ¯ su representaci´on dada por (I.3.10), entonces |ˆ x − x| ≤ 10−(N +2m) .
(I.3.11)
18
I Preliminares
Con los elementos presentados, se est´ a en la capacidad de formular un ˆ B, ˆ y C; ˆ por razones obvias el algoritmo algoritmo que permita calcular A, ser´ a el mismo. Por consiguiente, es suficiente dar el m´etodo que permita calcular Aˆ con la precisi´ on requerida. De la f´ormula (I.3.4) se puede observar que las operaciones efectuadas son adiciones o sustracciones, divisiones por expresiones de la forma (2k + 1) y divisiones por 18 o 182 . La aritm´etica ser´ a consiguientemente definida en tres pasos o ´etapas. El primer paso ser´ a definir la division por un entero p. Sea x un real positivo, su redondeo se escribe como en (I.3.10), por consiguiente x/q redondeado se escribe N/m+2 X x b = bk /10m k , (I.3.12) q k=0 donde los bk se los define de manera recursiva, utilizando la divisi´on euclidiana, as´ı:
a0 = b0 q + r0 , a1 + r0 · 10m = b1 q + r1 , (I.3.13) .. . aN/m+2 + rN/m+1 · 10m = bN/m+2 + rN/m+2 . El segundo paso ser´ a definir la adici´on y la sustracci´ on para dos reales positivos x y y. Si se denota los redondeados por x ˆ y yˆ, sus representaciones en punto fijo est´ an dadas por: N/m+2
N/m+2
x ˆ=
X
ak /10m k ,
yˆ =
X
bk /10m k .
k=0
k=0
La suma redondeada se escribe por lo tanto N/m+2
x ˆ[ ± yˆ =
X
ck /10m k ,
(I.3.14)
k=0
donde los ck est´ an definidos recursivamente, utilizando la divisi´on euclidiana, por: cN/m+2 + dN/m+2 10m = aN/m+2 ± bN/m+2 ,
cN/m+1 + dN/m+1 10m = aN/m+1 ± bN/m+1 + dN/m+2 , (I.3.15) .. . c0 = a0 ± b0 + d1 . El tercer paso ser´ a definir la multiplicaci´on de un real positivo con un entero q. Sea el productovskip-3pt N/m+2
qc x ˆ=
X
k=0
bk /10m k ,
(I.3.16)
´ lculo de Pi I.3 Un ejemplo: Ca
19
donde x ˆ est´ a dado por (I.3.10), los coeficientes bk est´ an definidos recursivamente, utilizando la divisi´on euclidiana, de la manera siguiente: qaN/m+2 = bN/m+2 + dN/m+2 10m , qaN/m+1 + dN/m+2 = bN/m+1 + dN/m+1 10m , .. . b0 = qa0 + d1 .
(I.3.17)
Habiendo definido las operaciones requeridas para calcular π con la ˆ y por precisi´ on requerida, se puede definir el algoritmo que calcular´a A, consiguiente π ˆ. Algoritmo 1.- Se define x := 1/18, a = x, k = 0. 2.- Hacer para k = 1 hasta k = MA : x := x/182 , y := x/(2k + 1), a; = a + (−1)k y. 3.- a := 48 · a.
Finalmente, se debe hacer un an´alisis de la propagaci´on de errores de ˆ para asegurar que el resultado que redondeo, cometidos en el c´ alculo de A, de la computadora corresponde con lo esperado. Este estudio se lo efectuar´a en tres partes. Sea x ˆ2k+1 el resultado realizado por el algoritmo al calcular 2k+1 x para x = 1/18. Utilizando la proposici´ on I.3.1, se tiene, x ˆ = x + ǫ,
|ǫ| ≤ 10−N −2m :
(I.3.18)
deduciendose inmediatamente: x ˆ3 = (x + ǫ)/182 + η, x ˆ5 = x ˆ3 /182 + δ, .. .
(I.3.19)
Utilizando desigualdades triangulares y considerando series geom´etricas, se obtiene 2k+1 1 x ˆ − x2k+1 ≤ 10−N −2m . (I.3.20) 1 − (1/18)2
La segunda operaci´ on, que aparece en el algoritmo, es la divisi´on por los enteros de la forma 2k + 1. Por el mismo procedimiento que antes, se llega a 2k+1\ (I.3.21) /(2k + 1) − x2k+1 /(2k + 1) ≤ 2 · 10−N −2m . x
20
I Preliminares
ˆ se tiene una suma de MA + 1 t´erminos y un Por ultimo para obtener A, producto por 48. En cada suma se comete un error menor a 2 · 10−N −2m , de donde se tiene como estimaci´on del error acumulado ˆ (I.3.22) A − A ≤ 192(MA + 1)10−N −2m
Ahora bien, si 192(MA + 1) es m´as peque˜ no que 102m−1 , entonces el objetivo es satisfecho largamente. Como ilustraci´ on de lo expuesto, se ha calculado π con 10000 decimales de precisi´ on, utilizando una HP-9000. π con 10000 decimales 3.1415926535 5820974944 8214808651 4811174502 4428810975 4564856692 7245870066 7892590360 3305727036 0744623799 9833673362 6094370277 0005681271 1468440901 4201995611 5187072113 5024459455 7101000313 5982534904 1857780532 3809525720 0353018529 5574857242 8175463746 8583616035 9448255379 9331367702 2533824300 6782354781 5570674983 3211653449 6369807426 8164706001 1613611573 4547762416 5688767179 8279679766 7392984896 0674427862 4677646575 9465764078 2671947826 4962524517 5709858387 6868386894 8459872736 4390451244 4169486855 0168427394 6456596116 1507606947 2287489405 9009714909 2265880485
8979323846 5923078164 3282306647 8410270193 6659334461 3460348610 0631558817 0113305305 5759591953 6274956735 4406566430 0539217176 4526356082 2249534301 2129021960 4999999837 3469083026 7838752886 2875546873 1712268066 1065485863 6899577362 4541506959 4939319255 6370766010 7747268471 8989152104 3558764024 6360093417 8505494588 8720275596 5425278625 6145249192 5255213347 8625189835 0494601653 8145410095 0841284886 2039194945 7396241389 9512694683 8482601476 4939965143 4105978859 2774155991 4469584865 1365497627 5848406353 5226746767 3548862305 9451096596 6010150330 6759852613 7564014270
2643383279 0628620899 0938446095 8521105559 2847564823 4543266482 4881520920 4882046652 0921861173 1885752724 8602139494 2931767523 7785771342 4654958537 8640344181 2978049951 4252230825 5875332083 1159562863 1300192787 2788659361 2599413891 5082953311 0604009277 4710181942 0404753464 7521620569 7496473263 2164121992 5869269956 0236480665 5181841757 1732172147 5741849468 6948556209 4668049886 3883786360 2694560424 0471237137 0865832645 9835259570 9909026401 1429809190 5977297549 8559252459 3836736222 8079771569 4220722258 8895252138 7745649803 0940252288 8617928680 6554978189 4775551323
5028841971 8628034825 5058223172 6446229489 3786783165 1339360726 9628292540 1384146951 8193261179 8912279381 6395224737 8467481846 7577896091 1050792279 5981362977 0597317328 3344685035 8142061717 8823537875 6611195909 5338182796 2497217752 6861727855 0167113900 9555961989 6208046684 6602405803 9141992726 4586315030 9092721079 4991198818 4672890977 7235014144 4385233239 9219222184 2723279178 9506800642 1965285022 8696095636 9958133904 9825822620 3639443745 6592509372 8930161753 5395943104 6260991246 1435997700 2848864815 5225499546 5593634568 7971089314 9208747609 3129784821 7964145152
6939937510 3421170679 5359408128 5493038196 2712019091 0249141273 9171536436 9415116094 3105118548 8301194912 1907021798 7669405132 7363717872 6892589235 4771309960 1609631859 2619311881 7669147303 9375195778 2164201989 8230301952 8347913151 8890750983 9848824012 4676783744 2590694912 8150193511 0426992279 2861829745 7509302955 3479775356 7727938000 1973568548 0739414333 2725502542 6085784383 2512520511 2106611863 4371917287 7802759009 5224894077 5305068203 2169646151 9284681382 9972524680 0805124388 1296160894 8456028506 6672782398 1743241125 5669136867 1782493858 6829989487 3746234364
E-00050 E-00100 E-00150 E-00200 E-00250 E-00300 E-00350 E-00400 E-00450 E-00500 E-00550 E-00600 E-00650 E-00700 E-00750 E-00800 E-00850 E-00900 E-00950 E-01000 E-01050 E-01100 E-01150 E-01200 E-01250 E-01300 E-01350 E-01400 E-01450 E-01500 E-01550 E-01600 E-01650 E-01700 E-01750 E-01800 E-01850 E-01900 E-01950 E-02000 E-02050 E-02100 E-02150 E-02200 E-02250 E-02300 E-02350 E-02400 E-02450 E-02500 E-02550 E-02600 E-02650 E-02700
´ lculo de Pi I.3 Un ejemplo: Ca 5428584447 2135969536 0374200731 8687519435 8191197939 9839101591 5679452080 6638937787 0306803844 6660021324 1005508106 4011097120 2305587631 7321579198 7229109816 5725121083 6711136990 3515565088 8932261854 6549859461 2332609729 5836041428 1809377344 4492932151 2131449576 2807318915 6655730925 4769312570 3348850346 8455296541 7002378776 1127000407 6343285878 2021149557 0990796547 2996148903 9389713111 0480109412 8530614228 7716692547 9769265672 8888007869 6171196377 4252308177 6222247715 7805419341 5695162396 4786724229 4037014163 2168895738 5578297352 9906655418 3162499341 3220777092 3166636528 7723554710 9456127531 3114771199 0408591337 7152807317 8350493163 4781643788 9562586586 8584783163 4803048029 2742042083 2901618766 9914037340 2540790914 8798531887 2784768472 3503895170 1960121228
9526586782 2314429524 0578539062 0643021845 9520614196 9561814675 9514655022 0830390697 7734549202 3408819071 6587969981 6280439039 7635942187 4148488291 9091528017 5791513698 8658516398 4909989859 8963213293 6371802709 9712084433 1388303203 4030707469 6084244485 8572624334 4411010446 4711055785 5863566201 1136576867 2665408530 5913440171 8547332699 5698305235 6158140025 3761255176 0463994713 7904297828 1472213179 8137585043 4873898665 1463853067 2560290228 9213375751 0367515906 8915049530 4473774418 5864573021 2465436680 1496589794 3798623001 3344604281 7639792933 9131814809 1201905166 6193266863 5859548702 8134078330 2606381334 4641442822 6790770715 1284042512 5185290928 5570552690 0577775606 0058760758 2085661190 7952406163 4328752628 5135711136 7058429725 6860849003 2989392233 5993716231
1051141354 8493718711 1983874478 3191048481 6342875444 1426912397 5231603881 9207734672 6054146659 0486331734 6357473638 7595156771 3125147120 6447060957 3506712748 8209144421 3150197016 9823873455 3089857064 8199430992 5732654893 8249037589 2112019130 9637669838 4189303968 8232527162 3763466820 8558100729 5324944166 6143444318 2749470420 3908145466 8089330657 0126228594 5675135751 2962107340 5647503203 4764777262 0633217518 4949450114 3609657120 4721040317 1495950156 7350235072 9844489333 4263129860 6315981931 0980676928 0924323789 5937764716 5126272037 4419521541 2777710386 0962804909 3606273567 7908143562 3362542327 6776879695 7726346594 7213444730 1925651798 5452011658 4965209858 8887644624 2510474709 6254543372 4252257719 8896399587 9410911939 9167781314 3770242429 4517220138 3017114448
21 7357395231 0145765403 0847848968 0053706146 0643745123 4894090718 9301420937 2182562599 2520149744 6496514539 4052571459 5770042033 5329281918 5270695722 5832228718 0067510334 5151168517 2833163550 2046752590 4488957571 8239119325 8524374417 2033038019 9522868478 6426243410 0105265227 6531098965 3606598764 8039626579 5867697514 5622305389 4645880797 5740679545 1302164715 7829666454 4375189573 1986915140 2414254854 2979866223 6540628433 9180763832 2118608204 6049631862 8354056704 0963408780 8099888687 9516735381 2382806899 6907069779 5122893578 3431465319 3418994854 3877343177 2636019759 6303544776 4014517180 8394497538 9703098339 7047458784 6057007334 0694113528 3934196562 0338507224 8246857926 1643961362 1315359584 5429162991 9475729174 3251910760 9699009019 1651300500 1280696501 4640903890
1342716610 5902799344 3321445713 8067491927 7181921799 6494231961 6213785595 6615014215 2850732518 0579626856 1028970641 7869936007 2618612586 0917567116 3520935396 6711031412 1437657618 7647918535 7091548141 2828905923 9746366730 0291327656 7621101100 3123552658 7732269780 2111660396 2691862056 8611791045 7877185560 5661406800 9456131407 2708266830 7163775254 5097925923 7791745011 5961458901 2870808599 5403321571 7172159160 6639379003 7166416274 1900042296 9472654736 0386743513 7693259939 4132604721 2974167729 6400482435 4223625082 6015881617 7777416031 4473456738 2075456545 8828161332 2803504507 6246436267 2437205835 1307710987 7787201927 9243693113 0131470130 1349143415 2648293972 0395352773 6760449256 5068772460 9306455377 6426357455 2082520261 2116971737 5168323364 1784408745 6449544400
E-02750 E-02800 E-02850 E-02900 E-02950 E-03000 E-03050 E-03100 E-03150 E-03200 E-03250 E-03300 E-03350 E-03400 E-03450 E-03500 E-03550 E-03600 E-03650 E-03700 E-03750 E-03800 E-03850 E-03900 E-03950 E-04000 E-04050 E-04100 E-04150 E-04200 E-04250 E-04300 E-04350 E-04400 E-04450 E-04500 E-04550 E-04600 E-04650 E-04700 E-04750 E-04800 E-04850 E-04900 E-04950 E-05000 E-05050 E-05100 E-05150 E-05200 E-05250 E-05300 E-05350 E-05400 E-05450 E-05500 E-05550 E-05600 E-05650 E-05700 E-05750 E-05800 E-05850 E-05900 E-05950 E-06000 E-06050 E-06100 E-06150 E-06200 E-06250 E-06300 E-06350
22
I Preliminares 6198690754 2283345085 8282949304 4611996653 2827892125 2183564622 3685406643 9567302292 1920419947 2711172364 8856986705 0516553790 8757141595 4460477464 1465741268 3634655379 9113679386 0126901475 1965362132 2772190055 3610642506 2276930624 0861533150 3776700961 5189757664 9164219399 3338945257 1266830240 8475651699 9104140792 7180653556 9598470356 8788202734 5771028402 6407655904 5178609040 7367812301 6161528813 7634757481 9203767192 4366199104 8244625759 1509682887 3408005355 5848358845 4043523117 9748442360 7267507981 3025494780 7429958180 2673430282 9289647669 2609275249 9588970695 4525564056 6909411303 9695946995 6922210327 9279068212 2248261177 0037279839 2543709069 2314593571 5510500801 2339086639 1596131854 7360411237 3084076118 7065874882 5020141020 2162484391 2645600162 4610126483
8516026327 0486082503 1377655279 8581538420 0771262946 0134967151 1939509790 1913933918 4553859381 3435439478 4315470696 6866273337 7811196358 9159950549 0492564879 4986419270 2708943879 4668476535 3926406160 6148425551 3904975008 7435363256 4452127473 2071512491 5216413767 4907236234 4239950829 2929525220 9811614101 8862150784 7252532567 2226293486 2092222453 7998066365 2909945681 7086671149 4587687126 8437909904 1935670911 2033229094 0337511173 1633303910 4782656995 9849175417 3142775687 6006651012 8007193045 2554709589 2490114195 7247162591 4418604142 7583183271 6035799646 3653494060 4482465151 1509526179 5657612186 4889218654 0738837781 1858963814 4004152970 7939612257 9849225284 9086996033 3833952942 3475464955 3599843452 3013052793 2569815793 6723585020 4035998953 3742880210 6999892256
5052983491 9302133219 3975175461 5685338621 3229563989 8819097303 1906996395 5680344903 0234395544 2218185286 5747458550 9958511562 3300594087 7374256269 8556145372 5638729317 9362016295 7616477379 1363581559 8792530343 6562710953 9160781547 9245449454 4043027253 9690314950 6468441173 6591228508 1187267675 0029960783 2451670908 5328612910 0034158722 3985626476 8254889264 5065265305 6558343434 6034891390 2317473363 0137751721 3346768514 5471918550 7225383742 9957449066 3818839994 9002909517 4120065975 7618932349 0455635792 2123828153 6685451333 6363954800 3142517029 9256504936 3402166544 8754711962 3780029741 5619673378 3648022967 4233562823 0918390367 0287830766 1429894671 7160504922 0276347870 5786905076 6978103829 2516105070 2054274628 6789766974 0724522563 5394590944 9276457931 9596881592
8740786680 7155184306 3953984683 8672523340 8989358211 8119800497 5245300545 9820595510 9597783779 2408514006 3323233421 5784322988 3068121602 0104903778 3478673303 4872332083 1541337142 4675200490 0742202020 5139844253 5919465897 8181152843 2368288606 8607648236 1910857598 9403265918 5558215725 6220415420 8690929160 7000699282 4248776182 9805349896 6914905562 8802545661 3718294127 7693385781 9562009939 9480457593 0080315590 2214477379 4644902636 1821408835 1758344137 4697486762 0283529716 5851276178 2292796501 1221033346 0911407907 1239480494 0448002670 6923488962 8183609003 3755890045 1844396582 2076651479 6236256125 8070576561 6089632080 3672220888 7094447456 5435784687 1242470141 8108175450 4310063835 3097164651 2705623526 6540360367 2205750596 2651341055 0704691209 0657922955 0560010165
8818338510 3545500766 3936383047 2830871123 6745627010 3407239610 0580685501 0226353536 0237421617 6604433258 0730154594 2737231989 8764962867 1986835938 9046883834 7601123029 4892830722 7571555278 3187277605 2234157623 5141310348 6679570611 1340841486 3414334623 4423919862 4044378051 0310712570 5161841634 3028840026 1206604183 5829765157 5022629174 8425039127 0172967026 0336931378 7113864558 3610310291 1493140529 2485309066 3937517034 5512816228 0865739177 5223970968 6551658276 3445621296 5838292041 9875187212 6974992356 3860251522 7079119153 4962482017 7668440323 2380929345 6328822505 5337543885 3942590298 2163208628 5144632046 6822246801 3215137556 0134556417 8861444581 2147805734 1193071412 1983438934 4384070070 6012764848 4532865105 8344086973 9240190274 1409387001 2498872758 5256375678
E-06400 E-06450 E-06500 E-06550 E-06600 E-06650 E-06700 E-06750 E-06800 E-06850 E-06900 E-06950 E-07000 E-07050 E-07100 E-07150 E-07200 E-07250 E-07300 E-07350 E-07400 E-07450 E-07500 E-07550 E-07600 E-07650 E-07700 E-07750 E-07800 E-07850 E-07900 E-07950 E-08000 E-08050 E-08100 E-08150 E-08200 E-08250 E-08300 E-08350 E-08400 E-08450 E-08500 E-08550 E-08600 E-08650 E-08700 E-08750 E-08800 E-08850 E-08900 E-08950 E-09000 E-09050 E-09100 E-09150 E-09200 E-09250 E-09300 E-09350 E-09400 E-09450 E-09500 E-09550 E-09600 E-09650 E-09700 E-09750 E-09800 E-09850 E-09900 E-09950 E-10000
Cap´ıtulo II Sistemas Lineales
Una gran cantidad de problemas implica la resoluci´on de sistemas lineales de la forma Ax = b, donde
a11 .. A= .
an1
···
a1n .. , .
· · · ann
b1 . b = ..
bn
con coeficientes reales o complejos. Por esta necesidad es importante la construcci´on de algoritmos que permitan su resoluci´on en un tiempo razonable y con el menor error posible. Cada problema tiene su particularidad, motivo por el cual no existe un m´etodo general mediante el cual se pueda resolver eficazmente todos los problemas. Es verdad que existen m´etodos casi generales, que con peque˜ nas modificaciones pueden servir para encontrar la soluci´on de un problema particular. A lo largo de este cap´ıtulo se expondr´ an estos m´etodos, dando criterios de estabilidad y estimaciones de error. En la primera secci´on se tratar´a la condici´ on del problema lineal, para este efecto ser´ a necesario introducir elementos de la teor´ıa de normas en las matrices, para luego introducir las nociones relativas a la condici´ on del problema lineal. En la segunda secci´on se abordar´a los m´etodos de resoluci´ on como son: el Algoritmo de Eliminaci´ on de Gauss, la Descomposici´ on de Cholesky y algunas modificaciones de estos m´etodos. En esta secci´on se estudiar´ a la implementaci´on de tales m´etodos, como tambi´en la estabilidad de estos. La tercera secci´on tratar´a, la teor´ıa e implementaci´on de los m´etodos iterativos lineales como: Jacobi, Gauss-Seidel y SOR. As´ı mismo se analizar´ an algunos problemas tipos y se har´an comparaciones de tales metodos. En la cuarta secci´on, se ver´ a los m´etodos de tipo gradiente cuyo enfoque es diferente a los m´etodos de las dos secciones precedentes, en efecto, son m´etodos que encuentran la soluci´on a partir de problemas de minimizaci´on. Se resolver´ an ejemplos tipos y se comparar´a la eficiencia de ´estos con otros m´etodos.
24
II Sistemas Lineales
La u ´ltima secci´on describir´ a el M´etodo de los M´ınimos Cuadrados, como una generalizaci´on de lo anteriormente expuesto, introduciendo como corolario la noci´on de Pseudo-Inversa. As´ı mismo se analizar´ a la implementaci´on del m´etodo QR, incluyendo una estimaci´on del error de tal m´etodo.
II.1 Condici´ on del Problema lineal
Normas de Vectores y Matrices La noci´ on de norma y espacio normado es un instrumento matem´atico muy util en el estudio de las magnitudes que se manipulan, como tambi´en un instrumento en el estudio de la convergencia y los l´ımites. Se empezar´a definiendo el concepto de norma en espacios Rn , para luego definir en el algebra de las matrices a coeficientes reales. ´ Definici´ on II.1.1.- Una norma sobre Rn es una aplicaci´ on k k : Rn −→ R, con las siguientes propiedades: kxk ≥ 0, kxk = 0 ⇐⇒ x = 0; kαxk = |α| kxk , donde α ∈ R; kx + yk =≤ kxk + kyk .
i) ii) iii)
La primera condici´ on implica que una norma siempre es positiva y es nula siempre y cuando el vector sea el vector nulo. La segunda propiedad es la homogeneidad de la norma y la tercera condici´ on es m´as conocida como desigualdad del tri´angulo. Las normas m´as usuales en Rn son las siguientes: kxk1 = kxk2 = kxkp =
n X i=1
|xi | ,
n X i=1
n X i=1
norma ciudad-bloque;
|xi |
! 12
,
|xi |2
! p1
,
2
kxk∞ = max |xi | , i=1,...,n
norma euclidiana;
p > 1; norma de la convergencia uniforme.
Estas normas, que son las usualmente utilizadas, tienen algunas propiedades en com´ un. La m´as importante es que, si se aumenta en valor absoluto una de las componentes, la norma se incrementa. Es necesario formalizar este hecho, motivo por el cual, se tiene la:
26
II Sistemas Lineales
Definici´ on II.1.2.- Si x = (x1 , . . . , xn ) ∈ Rn , se define el valor absoluto de x como |x| = (|x1 | , . . . , |xn |). Se dice que |x| ≤ |y|, si |xi | ≤ |yi | para todo i = 1, . . . , n. Una norma k k sobre Rn se dice que es: (a) Mon´ otona, si |x| ≤ |y| implica que kxk ≤ kyk para todo x, y ∈ Rn . (b) Absoluta, si kxk = k|x|k para todo x ∈ Rn . Proposici´ on II.1.3.- Una norma k k sobre Rn es mon´otona, si y solamente si es absoluta.
Demostraci´ on.- Si la norma k k es mon´otona, sea x ∈ Rn , llamenos y = |x|. Como |x| ≤ |y|, y |y| ≤ |x| se tiene inmediatamente, porque la norma es mon´otona, que kxk = kyk. Si la normak k es absoluta, sea x ∈ Rn , consid´erese x ¯ = (x1 , . . . , xk−1 , αxk , xk+1 , . . . , xn ), con α ∈ [0, 1]. Utilizando el hecho que la norma sea absoluta, desigualdad del tri´angulo y efectuando c´ alculos algebraicos se tiene:
1
1
k¯ xk = (1 − α)(x1 , . . . , xk−1 , −xk , xk+1 , . . . , xn ) + (1 − α)x + αx
2 2 1 1 ≤ (1 − α) k(x1 , . . . , xk−1 , −xk , xk+1 , . . . , xn )k + (1 − α) kxk + αx 2 2 1 1 = (1 − α) kxk + (1 − α) kxk + α kxk = kxk . 2 2 Ahora bien, si x = (x1 , . . . , xk , . . . , xn ) y y = (x1 , . . . , xk1 , yk , xk+1 , . . . , xn ), con |yk | ≥ |xk |, utilizando la desigualdad anterior se tiene kxk ≤ kyk. Para demostrar que |x| ≤ |y| implica que kxk ≤ kyk, se repite el anterior paso n veces, es decir una vez por cada componente. Una matriz de orden m×n puede ser vista como un vector que pertenece al espacio Rmn , de esta manera definir la norma de una matriz como la de un vector, pero se perder´ıa as´ı muchas de las propiedades que tiene una aplicaci´ on lineal. Es por eso la: Definici´ on II.1.4.- Sea A una matriz de m × n, se define su norma como kAk = sup x6=0
kAxk = sup kAxk . kxk kxk=1
(II.1.1)
La definici´on de la norma de una matriz depende evidentemente de las normas elegidas para kxk y kAxk. Sin embargo puede ser verificado sin ning´ un problema, que la norma de una matriz, verifica las condiciones de norma de un vector. La demostraci´on es una simple verificaci´ on de estas condiciones, utilizando la definici´on de supremo. Adem´ as si las norma de los espacios Rn y Rm son mon´otonas o absolutas, es facil verificar que la norma
´ n del Problema lineal II.1 Condicio
27
de matriz inducida por ´estas, es todav´ıa mon´otona; es suficiente utilizar la definici´on para probar esta afirmaci´on. Por otro lado kAk es el n´ umero positivo m´as peque˜ no α que satisface kAxk ≤ α kxk, por lo tanto kAxk ≤ kAk kxk ,
∀x ∈ Rn .
(II.1.2)
Una norma sobre el espacio de matrices verifica las siguientes propiedades, dada por la: Proposici´ on II.1.5.- Cualquier norma sobre el espacio de las matrices Mm (R) satisface las propiedades adicionales siguientes: kIk = 1, kABk ≤ kAk kBk .
(II.1.3) (II.1.4)
Demostraci´ on.- La relaci´on (II.1.3) de la proposici´ on es consecuencia inmediata de la definici´on de la norma de una matriz. La relaci´on (II.1.4) es consecuencia de las observaciones hechas despu´es de la definici´on, en efecto kABxk ≤ kAk kBxk ≤ kAk kBk kxk , kABxk ≤ kAk kBk , kxk kABk ≤ kAk kBk .
Se ha dado las propiedades esenciales de la norma de matrices, pero es necesario conocer algunas de ´estas por su utilizaci´ on frecuente. Utilizando la misma notaci´on que en las normas de los vectores definidas al inicio de la secci´on, se puede utilizar la misma notaci´on en los ´ındices de las normas de las matrices, con la convenci´on que las normas de los vectores tienen los mismos ´ındices. Teorema II.1.6.- Sea A una matriz de n × m, entonces: kAk1 = max
j=1,...,m
i=1
|aij | ,
p valor propio m´as grande de At A, m X |aij | . = max
kAk2 = kAk∞
n X
i=1,...,n
j=1
(II.1.5) (II.1.6) (II.1.7)
28
II Sistemas Lineales
Demostraci´ on.- Se comenzar´a por kAk1 , se tiene: X m n X n X X m |aij | |xj | ≤ a x kAxk1 = ij j i=1 j=1 i=1 j=1 ! ! m n n X X X ≤ |aij | |xj | ≤ max |aij | kxk1 , j=1
por lo tanto
j=1,...,m
i=1
kAk1 ≤ max
j=1,...,m
n X i=1
i=1
|aij | .
Se mostrar´ a, que la igualdad se cumple, en efecto, sea jo tal que: n n X X |aij | ; y x ¯ tal que x ¯jo = 1, xi = 0 si i 6= jo ; |aijo | = max i=1
j=1,...,m
i=1
a1jo n
X
|aijo | k¯ xk1 . de esta manera kA¯ xk = ... =
i=1
amj o
Para la k k2 se tiene:
1
kAxk22 = hAx, Axi = xt At Ax,
ahora bien At A es una matriz sim´etrica definida positiva, de donde los valores propios son reales no negativos, adem´ as es posible formar una base de vectores propios ortonormales. Sea {e1 , . . . , em } una base de vectores propios m m X X λi αi ei , donde los λi ≥ 0 son αi ei y Ax = ortonormales, entonces x = i=1
i=1
los valores propios de A. Por lo tanto, se tiene m m X X 2 αi2 = max λi kxk2 . λ2i αi2 ≤ max λi kAxk2 = i=1,...,m
i=1
i=1
i=1,...,m
Para obtener la igualdad, es suficiente tomar x = ejo , donde λjo es el autovalor m´as grande. Para la k k∞ se tiene: X m X m |aij | |xj | aij xj ≤ max kAxk∞ = max i=1,...,n i=1,...,n j=1 j=1 m m X X ≤ max |aij | max |xj | ≤ max |aij | kxk∞ , i=1...,n
as´ı
kAk∞ ≤ max
j=1,...,m
j=1
m X j=1
|aij | .
j=1,...,m
i=1,...,n
j=1
´ n del Problema lineal II.1 Condicio
29
Para obtener la igualdad es suficiente tomar x = 1, donde 1 = (1, . . . , 1)t .
La Condici´ on de una Matriz La resoluci´on de un sistema lineal de ecuaciones debe hacer meditar sobre muchos aspectos relacionados, como ser la existencia de la soluci´on, si el problema a resolver est´ a bien condicionado, conocer una estimaci´on del error cometido en la soluci´on num´erica, etc. Se tiene inicialmente el sistema de ecuaciones Ax = b, donde A ∈ Mn (R), y b ∈ Rn ; (II.1.8) el problema es encontrar x ∈ R que sea soluci´on del sistema (II.1.8), esta situaci´on puede escribirse formalmente como P(A, b) = x. De esta manera la condici´ on del problema est´ a dada por P(A, b) − P(A, ¯ ¯b) ≤ cond · eps, |P(A, b)|
(II.1.9)
donde: a ¯ij = aij (1 + ǫij ), ¯bi = bi (1 + ǫi ),
|ǫij | ≤ eps; |ǫi | ≤ eps.
(II.1.10) (II.1.10′ )
kx − x ¯k ¯ ¯b) = x Si se plantea P(A, ¯, se tiene ≤ cond · eps. Por otro lado, kxk considerando que solamente normas mon´onotas son utilizadas, se tiene:
a11 ǫ11
.. .
an1 ǫn1
a1n ǫn1
.. ≤ eps kAk , .
· · · ann ǫnn ··· .. .
de esta manera
A¯ − A ≤ eps kAk
y
¯b − b ≤ eps kbk .
(II.1.11)
Suponiendo que la matriz sea inversible, se puede enunciar el siguiente teorema, pero antes una definici´on es necesaria. Definici´ on II.1.7.- La condici´ on de una matriz A inversible se define como
cond(A) = kAk A−1 . (II.1.12)
30
II Sistemas Lineales
Teorema ongase que
una matriz con det A 6= 0, sup´
II.1.8.- Sea A
A¯ − A ≤ kAk ǫA , ¯b − b ≤ kbk ǫb . Si ǫA cond(A) < 1, entonces k¯ x − xk cond(A) ≤ (ǫA + ǫb ). kxk 1 − ǫA cond(A)
(II.1.13)
Si adem´ as se tiene ǫA cond(A) < 21 , entonces la condici´ on del problema resolver Ax = b es ≤ 2cond(A). ¯x = ¯b, de donde: Demostraci´ on.- Se tiene Ax = b y A¯ ¯x = b − ¯b y Ax − A¯ ¯ − A¯ ¯x = b − ¯b, Ax − A¯ x + Ax ¯ ¯ A(x − x ¯) = (A − A)¯ x + (b − b), x − x ¯ = A−1 (A¯ − A)¯ x + A−1 (b − ¯b), introduciendo las desigualdades en las normas se obtiene:
xk + A−1 ¯b − b kx − x ¯k ≤ A−1 A¯ − A k¯
x − xk) + kbk ǫb ) ≤ A−1 (kAk ǫA (kxk + k¯
−1 x − xk) + kxk ǫb ) , ≤ A kAk (ǫA (kxk + k¯ k¯ x − xk cond(A) de esta manera ≤ (ǫA + ǫb ). kxk 1 − ǫA cond(A)
Como la condici´ on del problema lineal est´ a ´ıntimamente ligada a la condici´ on de la matriz, es importante conocer algunas de sus propiedades, dadas por la: Proposici´ on II.1.9.- La condici´ on de una matriz satisface las siguientes propiedades: cond(A) ≥ 1; cond(I) = 1; cond(αA) = cond(A),
(II.1.14) (II.1.15) (II.1.16)
α ∈ R.
Demostraci´ on.- Verificaci´ on inmediata.
Ejemplos 1.- Q ortogonal, es decir Qt Q = I, la condici´ on respecto a la norma k k2 esta dada por cond2 (Q) = 1. (II.1.17) 2.- Sea la matriz A dada por
4 1 1 4 1 .. . . . A= . h . .. · · · ··· ···
0 1 .. . 1
··· 0 ··· 0 .. .. . . 4 1
1 4
,
´ n del Problema lineal II.1 Condicio entonces kAk∞ =
0
1 4 N = . ..
0
6
h
, adem´ as A = 1
4 0 .. . ···
0 1
4 .. . 0
Se deduce que
4
h
31 (I + N ) donde
··· 0 ··· 0 , .. ··· . 1 4 0
kN k∞ =
1 < 1. 2
h h (I + N )−1 = (I − N + N 2 − N 3 + · · ·), 4 4
2 h ≤ (1 + kN k + N + · · ·) 4 1 h ≤ 4 1 − kN k h ≤ , 2
A−1 =
−1
A ∞
entonces cond∞ (A) ≤ 3, por lo tanto, la matriz es bien condicionada.
3.- El siguiente ejemplo muestra la existencia de una matriz mal condicionada. Sea H la matriz de n × n, llamada matriz de Hilbert, definida por hij =
1 , i+j−1
i, j = 1, . . . , n.
H es una matriz sim´etrica definida positiva, motivo por el cual la condici´ on respecto a la norma euclidiana est´ a dada por cond2 H =
λmax , λmin
donde los λ son valores propios de H. Se puede mostrar que cond2 H ∼ cen .
(II.1.18)
Se puede observar claramente que las matrices de Hilbert son mal condicionadas, inclusive para n bastante peque˜ no. 4.- Finalmente, este ejemplo muestra la existencia de otra matriz mal condicionada, como ser las matrices de Vandermonde. Sea V la matriz de n × n definida por 1 1 ··· 1 c2 ··· cn c1 , V = . . .. .. .. ··· . c1n−1
c2n−1
· · · cnn−1
32
II Sistemas Lineales donde los ci son diferentes. Se puede mostrar que la cond2 V ∼ bn , donde b > 1. k¯ x−xk
≤ 2cond(A)eps puede ser demasiada kxk pesimista, para ver esto, consid´erese el siguiente ejemplo, 1 1 x 2 = . 0 108 y 1
Si se llama A a la matriz del sistema, se tiene kAk2 = 108 y A−1 ≈ 1. El sistema con los errores de redondeo incorporados, est´ a dado por: 1 + ǫ1 1 + ǫ2 x ¯ = = ( 2(1 + ǫ4 ) 1 + ǫ5 ) , 0 108 (1 + ǫ3 ) y¯ Ahora bien, la estimaci´on
y¯ = 108
1 + ǫ5 ≃ 10−8 (1 + ǫ5 − ǫ3 ), 1 + ǫ3
|y − y¯| ≤ 2eps. |y| Calculando x ¯, se tiene 2(1 + ǫ4 ) − (1 + ǫ2 )¯ y x ¯= 1 + ǫ1
de donde
por lo tanto,
=
2 − 10−8 + 2ǫ4 − 10−8 (ǫ2 + ǫ5 − ǫ3 ) 1 + ǫ1
=
x + 2ǫ1 − 10−8 (ǫ2 + ǫ5 − ǫ3 ) 1 + ǫ1
≃ x(1 + 4eps), |x − x ¯| ≤ 4eps. |x|
El problema es bien condicionado, aunque la matriz A tenga una gran condici´ on. Si se multiplica el sistema de ecuaciones por una matriz diagonal D se obtiene, el nuevo problema dado por DAx = Db, por el teorema II.1.8, se tiene kx − x ¯k ≤ 2cond(DA)eps, kxk En el ejemplo anterior, se plantea 1 0 D= , 0 10−8
si cond(DA)eps <
as´ı DA =
1 1 0 1
,
1 . 2
´ n del Problema lineal II.1 Condicio
33
obteniendo el: Corolario II.1.10.- Con las misma hip´otesis del teorema II.1.8, y adem´ as si cond(DA)eps < 21 , se tiene La condici´ on del problema ≤ 2
D
inf
cond(DA).
(II.1.19)
diagonal
Ejercicios 1.- a) Sea k k definida en Rn . La bola unitaria cerrada se define como ¯ = x ∈ Rn kxk ≤ 1 , B
mostrar que la bola unitaria es un conjunto convexo. b) Sea D un conjunto convexo acotado, en cuyo interior est´ a 0. Si se supone que D es equilibrado, es decir si x ∈ D implica que −x ∈ D. Mostrar que se puede definir una norma cuya bola unitaria cerrada sea precisamente D.
2.- ¿Es la funci´on f (x) = |x1 − x2 | + |x2 | una norma sobre R2 ? Si lo es, ¿es mon´otona? Dibujar la bola unitaria.
3.- Dar las condiciones para que una norma sea mon´otona, observando su bola unitaria cerrada. 4.- Para una matriz A se define la norma de Frobenius como v uX n u n X 2 kAk = t |aij | . F
i=1 j=1
a) Mostrar que kAkF es una norma sobre Rn·n . b) Verificar la desigualdad kAk2 ≤ kAkF ≤
√ n kAk2 .
5.- Verificar la desigualdad max |aij | ≤ kAk2 ≤ n. max |aij | . i,j
i,j
6.- Sea A una matriz con det A 6= 0. Mostrar que
−1
A = min kAxk . kxk=1
34
II Sistemas Lineales
7.- Sea R una matriz triangular inversible. Mostrar que: |rii | ≤ kRkp , Deducir que
|rii |−1 ≤ R−1 p ; condp (R) ≥ max i,k
para p = 1, 2, ∞.
|rii | . |rkk |
8.- Sea 1 2 0 + 1 h0 h1 1 1 1 2 + h1 h1 h2 A= .. . 0 0 ···
···
···
1
···
h2 .. . 0
..
.
1 hn−2
0
0 .. . 1 1 2 h +h n−2 n−1
la matriz, que se encuentra en la interpolaci´ on spline. Mostrar: a) cond∞ (A) puede ser arbitrariamente grande. (Si max hi / min hi −→ ∞). b) Existe una matriz diagonal D tal que cond∞ (DA) ≤ 3.
II.2 M´ etodos Directos
En esta secci´on se desarrollar´ a los algoritmos de resoluci´on directa de sistemas lineales m´as comunes en la actualidad. El problema a resolver es Ax = b,
(II.2.1)
donde A ∈ Mn (R), x, b ∈ Rn . Por los resultados obtenidos en la teor´ıa del Algebra Lineal, este sistema de ecuaciones lineales tiene una sola soluci´on, si y solamente si det A 6= 0. Para mostrar la importancia de contar con algoritmos cuyo costo en operaciones sea m´ınimo, vale la pena dar el siguiente ejemplo de resoluci´on de este sistema de ecuaciones lineales. El ejemplo consiste en la utilizaci´ on de la regla de Cramer, que en si misma constituye uno de los resultados te´ oricos m´as hermosos que se ha obtenido. Para ilustrar el m´etodo de Cramer, se debe hacer algunas convenciones sobre la notaci´on. Para comenzar una matriz A de n × n se puede escribir como A = (A1 , . . . , An ) donde Ai es la i-esima columna de la matriz A. Dada una matriz A y un vector b ∈ Rn , se denota por A(j) = (A1 , . . . , Aj−1 , b, Aj+1 , . . . , An , la matriz obtenida remplazando la j-esima columna por el vector b. Ahora bien, la soluci´on del sistema (II.2.1) est´ a dada por xi =
det A(i) , det A
donde x = (x1 , . . . , xn ). Por lo tanto, la resoluci´on del sistema implica el c´ alculo de n+1 determinantes. Si para encontrar el valor de los determinantes se utiliza la siguiente relaci´on X
σ∈Sn
signo(σ)
n Y
aiσ(i) ,
i=1
donde Sn es el grupo de permutaciones de n elementos, se debe efectuar n! sumas. Si se desea resolver un sistema de 69 ecuaciones con el mismo n´ umero de incognitas, suponiendo que cada suma se efectua en 10−9 segundos, se tardar´ıa aproximadamente 6.75 × 1049 a˜ nos en llegar a la soluci´on del
36
II Sistemas Lineales
problema. Como conclusi´ on se puede decir que existen m´etodos cuyo valor te´ orico es importante, pero su ejecuci´on num´erica es desastrosa, raz´ on por la cual es imprescindible implementar algoritmos cuyo costo no sea muy elevado.
El Algoritmo de Gauss Uno de los algoritmos m´as utilizados, precisamente por su relativo bajo costo, es el Algoritmo de Eliminaci´ on de Gauss. Consid´erese el sistema de ecuaciones dado por a11 x1 a21 x1 .. . an1 x1
a12 x2 a22 x2
+ +
··· ···
+ an2 x2
+
· · · +ann xn
+ +
+a1n xn +a2n xn
= = .. .
b1 b2
.
= bn
El Algoritmo de Gauss consiste en: i1 , para i = 2, . . . , n. Primer paso Si a11 6= 0, li1 = aa11 Se calcula lineai − li1 ∗ linea1 , para i = 2, . . . , n. Si a11 = 0 se intercambia lineas. Obteniendose el sistema equivalente dado por a11 x1
+
a12 x2 (1) a22 x2 .. .
+ ··· + + ··· +
a1n xn (1) a2n xn
an2 x2
+ ··· +
ann xn
(1)
(1)
= b1 (1) = b2 . .. . (1)
= bn
(1)
ai2 (1) , para i = 3, . . . , n. a22 Se calcula lineai − li2 ∗ linea2 , para i = 3, . . . , n. Si a22 = 0 se intercambia lineas. (1)
Paso 2 Si a22 6= 0,
li1 =
Se repite el procedimiento hasta obtener un sistema triangular de ecuaciones como el siguiente r11 x1
+
··· +
r1,n−1 xn−1 .. . rn−1,n−1 xn−1
+
r1n xn
+ rn−1,n xn rnn xn
= c1 .. . = cn−1 = cn
.
II.2 M´ etodos Directos
37
De donde se tiene: cn , rnn cn−1 − rn−1,n xn xn−1 = , rn1 ,n−1 .. . c1 − r12 x2 − · · · − r1n xn x1 = . r11 xn =
(II.2.2)
Si se utiliza la notaci´on matricial, se obtiene el siguiente esquema del algoritmo de Gauss, con las matrices aumentadas: (A, b) ∗ ∗ ∗ ··· ∗ ∗ ∗ ∗ ∗ ··· ∗ → 0 .. . ∗ ∗ ∗ ··· ∗ 0 ∗ ∗ ∗ ··· ∗ 0 A(n−1) , b(n−1) ∗ ∗ ∗ ··· ∗ 0 ∗ ∗ ··· ∗ · · · −→ 0 0 ∗ ··· ∗. . . . .. .. .. ...
0 0 ···
0
∗ ∗
A(1) , b(1)
∗ ∗
A(2) , b(2)
∗ ∗ ∗ ··· ∗ ··· ∗ ∗ ··· ∗ → 0 ∗ ∗ ··· .. 0 0 ∗ ··· . . .. .. . ∗ ··· ∗ 0 0 ∗ ··· ∗ ··· ∗
∗ ∗ ∗ ∗
∗
Teorema II.2.1.- Sea det A 6= 0. El algoritmo de Gauss da la descomposici´ on siguiente: P A = LR, (II.2.3) donde:
R=
r11 0
··· .. .
r1n .. , .
rnn
y P es una matriz de permutaci´on.
1
l21 L= ... ln1
0 1 ..
ln2
. ··· 1
,
(II.2.4)
Demostraci´ on.- Sup´ongase, que las permutaciones necesarias han sido efectuadas al principio, es decir se aplica el Algoritmo de Gauss a la matriz
38
II Sistemas Lineales
P A. Para no complicar la notaci´on se escribe A, en vez de P A. Utilizando el mismo esquema dado m´as arriba, se obtiene: A −→ A(1) −→ · · · −→ A(n−1) = R,
donde:
A(1)
1 −l21 −l = .31 ..
A(2)
por lo tanto
0 1 0 .. .
0 0 1 .. .
··· 0 ··· 0 0 · · · 0 = L1 A, .. .
−ln1 0 · · · 0 1 0 0 ··· 1 0 ··· 0 0 −l 1 0··· 32 = .. .. ... . . 0 −ln2 0 · · ·
1 0 0 0 = L2 A,
1
R = Ln−1 Ln−2 · · · L2 L1 A. Lo u ´nico que falta mostrar, es que L−1 = Ln−1 Ln−2 · · · L2 L1 , y para eso, se tiene:
Li = I − Vi ,
donde
Vi =
0
0 0
..
. 0 li+1,i .. . lni
0 .. .
..
. 0 ··· 0
.
Se puede verificar facilmente que Vi Vj = 0 para i = 1, . . . , n, de donde se obtiene finalemente: = I + Vi , L−1 i L = I + V1 + V2 + · · · + Vn−1 .
Muchas veces, es necesario calcular sistemas de la forma: Ax1 = b1 , Ax2 = b2 .
(II.2.5)
II.2 M´ etodos Directos
39
Se calcula una vez la descomposici´ on LR y se resuelve de la manera siguiente: Ly = b, Rx = y.
(II.2.6)
Teorema II.2.2.- La descomposici´ on LR da el siguiente resultado, det A = ±r11 r22 · · · rnn ,
(II.2.7)
donde los rii son coeficientes de la diagonal de R. Demostraci´ on.- Utilizando identidades en los determinantes se tiene det P det A = det L det R. El costo de la descomposici´ on LR. Para evaluar cuantas operaciones son necesarias para llegar a la descomposici´ on LR de una matriz A ∈ Mn (R), se procede de la manera siguiente:
A −→ A(1)
C´alculo de los li1 : n − 1 divisiones Para cada fila i, es necesario efectuar n − 1 multiplicaciones mas adiciones, lo que hace un total de (n − 1)2 multiplicaciones y adiciones.
Por lo tanto, contando el n´ umero de operaciones en cada ´etapa del algoritmo, se tiene # operaciones ≈ (n − 1)2 + (n − 2)2 + · · · + 22 + 12 n−1 X i2 = i=1 n
≈ =
Z
x2 dx
0 3
n . 3
(II.2.8)
2 La resoluci´on de LRx = b, implica aproximadamente n2 multiplicaciones m´as adiciones en la soluci´on de Ly = b. Igual n´ umero de operaciones se tiene para la resoluci´on de Rx = y, lo que hace un total aproximado de n2 operaciones.
40
II Sistemas Lineales La elecci´ on del pivote
Definici´ on II.2.3.- Sea A una matriz, se llama pivote de la matriz A al coeficiente a11 . Para ilustrar la necesidad en elegir un buen pivote, consid´erese el siguiente ejemplo. La precisi´ on de los c´ alculos tienen tres cifras significativas en base 10. Sea el sistema de ecuaciones dado por −4 10 x1 + x2 = 1 . (II.2.9) x1 + x2 = 2 La soluci´on exacta de este sistema de ecuaciones est´ a dada por: x1 = 1, 000100010001000 · · · ,
x2 = 0, 999899989998999 · · · .
(II.2.10)
Ahora bien, aplicando el algoritmo de Gauss con 10−4 como pivote, se tiene: a21 = 0, 100 · 105 , a11 La segunda linea del sistema se convierte en −0, 100 · 105 x2 = −0, 100 · 105 , de donde x2 = 0, 100 · 101 , l21 =
resolviendo x1 se tiene 0, 100 · 10−3 x1 = 0, 100 · 101 − 0, 100 · 101 , por lo tanto x1 = 0.
(II.2.11)
Ahora, apl´ıquese el algoritmo de Gauss con 1 como pivote, es decir intercambiando la primera ecuaci´on con la segunda, se tiene: a21 = 0, 100 · 10−5 , a11 La segunda linea del sistema se convierte en −0, 100 · 101 x2 = 0, 100 · 101 , de donde x2 = 0, 100 · 101 , resolviendo x1 , se tiene 0, 100 · 101 x1 = 0, 200 · 101 − 0, 100 · 101 , por lo tanto l21 =
x1 = 0.100 · 101 .
(II.2.12)
II.2 M´ etodos Directos
41
La explicaci´on de este fen´ omeno consiste en que la sustracci´ on es una operaci´ on mal condicionada, cuando las cantidades a restar son muy parecidas; en efecto, consid´erese el siguiente sistema a11 x1 + a12 x2 = b1 , (II.2.13) a21 x1 + a22 x2 = b2 al aplicar el algoritmo de Gauss se obtiene: (1)
l21 =
a21 a11
a22 = a22 − l21 a12 , (1)
b2 = b2 − l21 b1 , (1)
(1)
a22 x2 = b2 . Si |l21 | ≫ 1 se tiene: (1)
a22 ≈ −l21 a12 , x2 ≈ x1 =
(1)
b2 ≈ −l21 b1 ,
b1 , a12
1 1 (b1 − a12 x2 ) ≈ (b1 − b1 ) . a11 a11
Para solucionar este problema, se realiza una b´ usqueda de pivote parcial, que consiste en: Se escoge el pivote ai1 tal que |ai1 | ≥ |aj1 |
j = 1, . . . , n.
Se procede de la misma manera para cada paso del algoritmo de Gauss. La Estabilidad del Algoritmo de Gauss Sea A una matriz cuyo determinante es diferente de 0. Se desea saber cual es el error cometido por el algoritmo de Gauss para encontrar la descomposici´ on A = LR. No se considera las permutaciones, puesto que no se comete error de redondeo. ˆ y R, ˆ ll´ Si se aplica el algoritmo de Gauss, se obtiene las matrices L amese ˆ R, ˆ Aˆ = L
ˆ la descomposici´ on exacta de A.
Para saber, si el algoritmo es num´ericamente estable, se utiliza la noci´on de baackward analysis dada en cap´ıtulo I. Es decir encontrar una constante que verifique: |ˆ aij − aij | ≤ C · eps. (II.2.14) |aij |
42
II Sistemas Lineales Por consiguiente, es necesario estimar la diferencia A − Aˆ elemento por elemento. Se tiene el siguiente: ˆ R ˆ el resultado num´erico de Teorema II.2.4.- Wilkinson. Sea det A 6= 0; L, la descomposici´ on LR con b´ usqueda de pivote |lij | ≤ 1. Entonces
0 1 1 ˆ ˆ A − LR ≤ 2a eps 1 . ..
0 1 2 2 3 .. .. . . 1 2 3
(k) donde a = max aij y
··· ··· ··· ···
0 1 2 3
··· n − 1
,
(II.2.15)
i,j,k
A(0) −→ A(1) −→ · · · −→ A(n−1) .
Como resultado de este teorema, el algoritmo de Gauss es num´ericamente estable, siempre y cuando n no sea demasiado grande. La experiencia num´erica indica que es aconsejable utilizar la descomposici´ on de Gauss para sistemas no mayores a 1000 ecuaciones. Demostraci´ on.- Al efectuar la descomposici´ on LR, considerando los errores de redondeo, se tiene el siguiente esquema: ˆ Aˆ(0) −→ Aˆ(1) −→ · · · −→ Aˆ(n−1) = R Sin considerar los errores de redondeo se tiene L1 A = A(1) , de donde
1 −ˆl21 ˆ 1 = −ˆl31 L . .. −ˆln1
1 0 1 0
Por otro lado, se tiene
.. . 1
,
es la matriz L1 con los errores de redondeo.
ˆ −1 · · · L−1 , ˆ=L ˆ −1 L L 2 n−1 1
obteniendo ˆR ˆ =L ˆ −1 L ˆ −1 L ˆ 1 A − Aˆ(1) + L ˆ −1 L ˆ 2 Aˆ(1) − Aˆ(2) A−L 1 2 1 −1 ˆ n−1 Aˆ(n−2) − Aˆ(n−1) . ˆ −1 L + · · · L−1 1 L2 · · · Ln−1
II.2 M´ etodos Directos
43
Ahora bien, los coeficientes de la matriz obtenida en el primer paso, est´ an dadas por (1) a ˆij = aij − ˆli1 a1j (1 + ǫ1 ) (1 + ǫ2 ), i ≥ 1,
que da como consecuencia ˆ 1 A − Aˆ(1) L =ˆli1 a1j − a ˆij ij =ˆli1 a1j − aij − ˆli1 a1j (1 + ǫ1 ) (1 + ǫ2 )
= − aij ǫ2 + ˆli1 a1j ǫ2 + ˆli1 a1j ǫ1 + ˆli1 a1j ǫ1 ǫ2
(1) =−a ˆij ǫ2 + ˆli1 a1j ǫ1 + ˆli1 a1j ǫ1 ǫ2 ,
obteniendo as´ı: ˆ (k) L1 A − Aˆ(1) ≤ 2a eps donde a = max aij , i ≥ 2. i,j,k
Bajo forma matricial, el resultado anterior est´ a dado por 0 ··· 0 1 ··· 1 ˆ . .. L1 A − Aˆ(1) ≤ 2a eps ... . 1 ··· 1
Continuando con el mismo procedimiento en 0 0 ˆ ˆ(1) 0 L2 A − Aˆ(2) ≤ 2a eps . ..
la demostraci´on, se obtiene 0 ··· 0 0 ··· 0 1 ··· 1, .. .. . . 0 1 ··· 1
resultados similares tambien se obtienen para los dem´ as pasos del algoritmo de Gauss con lo que se obtiene le resultado deseado.
El Algoritmo de Cholesky Un caso particular de sistema de ecuaciones lineales, es donde la matriz A es: Definici´ on II.2.5.- Una matriz A ∈ Mn (R) es sim´etrica y definida positiva, si cumple las siguientes dos condiciones: (II.2.16)
At = A;
(II.2.17)
xt Ax > 0,
∀x ∈ Rn , x 6= 0.
44
II Sistemas Lineales
Teorema II.2.6.- Sea A sim´etrica y definida positiva, entonces: a) El algoritmo de Gauss es posible sin b´ usqueda de pivote. b) La descomposici´ on A = LR satisface R = DLt ,
con D = diag(r11 , r22 , · · · , rnn ).
(II.2.17)
Demostraci´ on.- Sea A sim´etrica y definida positiva, dada por
a1n .. . .
···
a11 .. A= .
· · · ann
an1
El coeficiente a11 de la matriz A es diferente de 0, porque la matriz A es definida positiva y a11 = et1 Ae1 donde et1 = (1, 0, · · · , 0). Despu´es del primer paso del algoritmo de Gauss, se obtiene:
A(1)
a11 0 = ...
· · · a1n
a12
C
(1)
0
,
li1 =
ai1 , a11
de donde se tiene (1)
cij = aij − li1 a1j = aij −
ai1 a1j . a11
Por lo tanto es suficiente mostrar que C (1) es sim´etrica y definida positiva. En efecto, expresando la matriz A como
a11 z
zt C
se tiene C (1) = C −
,
1 zz t . a11
Hay que mostrar que y t C (1) y = y t Cy −
2 1 y t z > 0, a1 1
∀y 6= 0.
Por hip´ otesis la matriz A es definida positiva, de donde ( x1
t
y )
a11 z
zt C
x1 y
= a11 x21 + x1 z t y + y t zx1 + y t Cy > 0,
II.2 M´ etodos Directos
45
para x1 ∈ R y y ∈ Rn−1 los dos no nulos al mismo tiempo. yt z Planteando x1 = − a11 , se tiene 2
2
(y t z) 2 (z t y) − + y t Cy > 0, a11 a11 por consiguiente y t Cy −
2 1 y t z > 0. a11
La descomposici´ on LR es u ´nica, si ´esta existe, en efecto, si A = L1 R1 = L2 R2 , dos descomposiciones de A. Se tiene −1 L−1 2 L1 = R2 R1 ;
las matrices del tipo L, como aqu´ellas de tipo R forman subgrupos dentro el grupo de las matrices inversibles, deduciendose que L−1 2 L1 = I, por lo tanto L1 = L2 y R1 = R2 . Para demostrar la parte b) del teorema, se define la matriz L1 , como Lt1 = D−1 R, donde D = diag(r11 , · · · , rnn ), hay verificar que L1 = L. Las siguientes identidades se cumplen: A = LR = LDLt1 , At = L1 DLt , como A es sim´etrica y por la unicidad de la descomposici´ on LR, se deduce L = L1 . . Definici´ on II.2.7.- Sea D una matriz diagonal a coeficientes no negativos, entonces: p p 1 D 2 = diag d11 , · · · , dnn . (II.2.18) ¯ = LD 21 , se tiene Si se define L
¯L ¯t, A=L que es la descomposici´ on de Cholesky de la matriz A sim´etrica y definida ¯ Entonces los positiva. Para simplificar notaci´on, se escribe L, en lugar de L.
46
II Sistemas Lineales
coeficientes de la matriz L de la descomposici´ on de Cholesky de A, est´ an dados por: para k = 1, . . . , n:
lkk =
lik
q 2 − l2 − · · · − l2 akk − lk1 k2 k,k−1 ;
aik − li1 lk1 − · · · − li,k−1 lk,k−1 = , lkk
(II.2.19) i = 1, . . . , k − 1.
El costo en operaciones, despreciando el c´ alculo de las raices cuadradas, para obtener la descomposici´ on de Cholesky, est´ a dado por n X
k=1
k(n − k) ≈
Z
n
0
x(n − x)dx =
n3 . 6
(II.2.20)
La resoluci´on de la ecuaci´on Ax = b, donde A es una matriz sim´etrica y definida positiva, se puede efectuar en dos pasos utilizando la descomposici´ on de Cholesky: Ly = b, Lt x = y, los cuales necesitan un total aproximado, lo mismo que en el algoritmo de Gauss, n2 operaciones. La estabilidad de la descomposici´ on de Cholesky est´ a dada por el siguiente: ˆ el Teorema II.2.8.- Sea A una matriz sim´etrica y definida positiva. L resultado num´erico de la descomposici´ on de Cholesky, entonces 1 1 1 ··· 1 1 2 2 ··· 2 t ˆ ˆ 1 2 3 ··· 3, A − LL ≤ a eps . . . .. .. .. 1 2 3 ··· n
(II.2.21)
donde a = max |aij |. ij
Demostraci´ on.- Se demuesta de la misma manera que el teorema II.2.4 referente a la estabilidad de la descomposici´ on LR.
II.2 M´ etodos Directos
47
Ejercicios 1.- Escribir una subrutina DEC(N,NDIM,A,B,IP,IER) que calcule la descomposici´ on LR, tomando en cuenta la b´ usqueda parcial de pivote. Luego escribir una subrutina SOL(N,NDIM,A,B,IP) que permita resolver Ax = b utilizando la descomposicion obtenida por DEC. a) Resolver 9 5 2 −1 3 3 4 28 1 20 . x = 32 0 1 1 30 −11 2 8 −25 4 b) Calcular la inversa de la matriz de Hilbert dada por n 1 H= para n = 2, 3, 4, 5. i + j i,j=1
2.- a) Calcular la descomposici´ on de Cholesky LLt para la matriz de Hilbert n 1 , n = 15. H= i + j i,j=1 b) Comparar el resultado num´erico con los valores exactos, √ 2k − 1 · (j − 1)! · (j − 1)! ljk = . (j − k)!(j + k − 1)!
(II.2.22)
¿Cu´ antas cifras son exactas? ˆ es el resultado num´erico, calcular el residuo c) Si L ˆL ˆt, A−L calcular tambi´en el residuo A − LLt para la matriz L dada por (II.2.22). 3.- Calcular cond∞ (An ) para las matrices: a) de Hilbert b) de Vandermonde (aij ) = cij−1 , i, j = 1 · · · n con ci = ni ,
para n = 1, 2, 3, . . . , 15. Calcular tambi´en n1 log10 (cond∞ (An )) y encontrar una f´ormula que aproxime cond∞ (An ).
4.- Sea A una matriz-banda, sim´etrica y definida positiva, p el grosor de la banda. Mostrar que, L de la descomposici´ on de Cholesky es tambi´en una matriz-banda. Si n es el orden de la matriz, sabiendo que n ≫ p, ¿Cuantas multiplicaciones son necesarias para calcular L?
II.3 M´ etodos Iterativos
En la secci´on II.2, se analiz´ o dos m´etodos para resolver directamente sistemas de ecuaciones lineales. Un m´etodo directo de resoluci´on de un sistema de ecuaciones deber´ıa dar el resultado num´erico igual a la soluci´on exacta, si no se considerase los errores de redondeo, es decir, si se contase con un dispositivo de c´ alculo con una precisi´ on infinita, desgraciadamente ´este no es el caso. Si bien, un m´etodo directo da una soluci´on que se aproxima a la exacta, la principal desventaja de utilizarlos, reside en el hecho en que cuando se debe resolver grandes sistemas lineales, la propagaci´on del error de redondeo es muy grande, desvirtuando su valor; adem´ as, en muchos casos no se toma en cuenta muchas de las particularidades que pudiese tener la matriz del sistema lineal, o finalmente no es necesario obtener una soluci´on exacta, si no una aproximaci´on de ´esta. Los m´etodos que ser´ an estudiados en esta secci´on, son iterativos en el sentido en que se utilizan las soluciones anteriores para obtener la siguiente. Entre los m´etodos que ser´ an analizados se tiene: Jacobi, Gauss-Seidel, SOR.
M´ etodos de Jacobi y Gauss-Seidel Estos m´etodos son utilizados para resolver el sistema de ecuaciones, dado por u = Au + b. (II.3.1) El m´etodo de Jacobi consiste en la utilizaci´ on de la soluci´ on anterior para calcular la nueva soluci´on, es decir u(k+1) = Au(k) + b.
(II.3.2)
Obviamente las soluciones obtenidas por el m´etodo de Jacobi no son exactas, pero son aproximaciones de ´estas. Para la formulaci´on del m´etodo de Gauss-Seidel, consid´erese la matriz A como A = L + U, (II.3.3) donde:
0 a21 L= ...
an1
0
··· ··· .. .
· · · an,n−1
0 0 , .. . 0
a11 0 U = ... 0
a12 a22
··· ··· .. .
···
0
a1n a2n . .. .
ann
II.3 M´ etodos Iterativos
49
El m´etodo de Gauss-Seidel est´ a dado por: u(k+1) = Lu(k+1) + U u(k) + b,
(II.3.4)
cuya formulaci´on equivalente es u(k+1) = (I − L)−1 U u(k) + (I − L)−1 b.
(II.3.5)
Una vez formulados estos m´etodos, es importante, saber que condiciones tiene que cumplir la matriz A, para que estos sean convergentes. Si se denota por u∗ la soluci´on exacta de (II.3.1), se define e(k) = u(k) − u∗ ,
(IV.3.6)
el error cometido en la k-esima iteraci´on. Por consiguiente, e(k) son los resultados obtenidos en las iteraciones de uno de los m´etodos definidos m´as arriba del problema e = Ae, (IV.3.7) de donde el m´etodo ser´ a convergente, siempre y cuando lim e(n) = 0.
(IV.3.8)
n→∞
Existe una clase de matrices, para las cuales estos m´etodos son convergentes. Una de sus caracter´ısticas est´ a dada por la: Definici´ on II.3.1.- Una matriz A es irreducible si para cada (i, j), existe una sucesi´on l0 = i, l1 , · · · , lm = j tal que alk ,lk+1 6= 0. Gr´ aficamente se puede visualizar mediante la noci´on de grafo dirigido, en Grimaldi se puede encontrar una explicaci´on bastante detallada sobre las aplicaciones de la teor´ıa de grafos. Consid´erese el grafo G compuesto del conjunto de v´ertices V y el conjunto de aristas A, definido por: i) V = {1, 2, . . . , n}, ii) (i, j) ∈ A ⇐⇒ aij 6= 0. Para comprender esta definici´on, consid´erese los dos siguientes ejemplos, sean:
0 1 A= 0 0
1
2 0 0 0
1
2 0 0 1
2
0 0 1 2 0
1
2
3
4
GA
50
II Sistemas Lineales
0 1 B= 0 0
1 0 1 0
1
2
3
4
0 1 0 1
0 0 1 0
GB Se puede observar facilmente, que la matriz A no es irreducible, mientras que la matriz B si es irreducible. Con la definici´on anterior se puede formular el siguiente teorema que da una condici´ on suficiente, para que los m´etodos de Jacobi, como de GaussSeidel, sean convergentes. Teorema II.3.2.- Sea A una matriz no-negativa (aij ≥ 0), con las siguientes propiedades: n X aij ≤ 1, i = 1, . . . , n; i) j=1
n X
ii) Existe io , tal que
aio j < 1;
j=1
iii) A es irreducible;
entonces los m´etodos de Jacobi y Gauus-Seidel convergen hacia una soluci´on u ´nica, adem´ as existe ρ < 1, tal que
(k)
e
∞
≤ Cρk−1 e(0)
∞
.
Demostraci´ on.- Se mostrar´ a para el m´etodo de Jacobi. Se tiene e(k+1) = Ae(k) , (0) sea ǫ = max ei , de donde
(0) (1) X aij ej ≤ ǫ, ei ≤ | {z } j ≤ǫ
con desigualdad estricta para i = io .
(II.3.9)
II.3 M´ etodos Iterativos
51
Puesto que la matriz A es irreducible, entonces los coeficientes de An son todos no nulos, en efecto X X (An )ij = ··· aik1 ak1 k2 · · · akn−1 j k1
kn−1
{z } n−1 veces
|
tiene un t´ermino no nulo. Adem´ as para l fijo, se tiene X XX alj ajk (A2 )lk = k
k
=
X
j
alj
j
≤
X j
X
ajk
k
!
alj ≤ 1.
Por inducci´on matem´atica, se deduce la desigualdad anterior para todas las potencias de A, e incluso XX X alj (An )jk (An+1 )lk = k
k
=
X
j
alj
j
<
X j
X
(An )jk
k
!
alj ≤ 1.
Por otro lado, utilizando la desigualdad (II.1.2), se tiene:
(0)
Ae ≤ kAk∞ e(0) ≤ ǫ, ∞
∞
(k−1)
(k)
≤ ǫ.
e = Ae ∞
∞
Estas desigualdades se vuelven estrictas para No bastante grande, por ejemplo No = n + 1, por lo tanto
(No )
≤ ρ e(0) ,
e ∞
∞
planteando
N1o
e(No )
∞ , ρ=
(0)
e ∞
52
II Sistemas Lineales
se tiene que ρ < 1, de donde la convergencia. El mismo procedimiento se sigue para mostrar el m´etodo de Gauss-Seidel.
El Teorema de Perron-Frobenius Indudablemente por las consecuencias que implica el teorema de PerronFrobenius, es que vale la pena estudiarlo como un tema aparte. Es un teorema cuya demostraci´on ha llevado mucho esfuerzo de parte de muchos matem´aticos. Se enunciar´ a este teorema sin dar una demostraci´on rigurosa, sino los pasos de ´esta. Teorema II.3.3.- Sea A una matriz no negativa irreducible, entonces: i) Existe un vector propio u, con ui > 0 respecto a un valor propio r > 0. ii) Todos los otros valores propios λ de A son |λ| < r. Sola i2π excepci´on posible λ = re n valor propio simple. iii) r depende de manera estrictamente mon´otona de todos los elementos de A. Demostraci´ on.- Se comenzar´a por el punto i). Sea u ∈ Rn , tal que ui > 0; entonces v = Au, definiendo ri =
v1 , ui
si los ri son todos iguales, el punto i) est´ a demostrado; sino es posible variar el vector u de manera que [rmin , rmax ] ⊂ [rmin , rmax ], {z } 6= | {z } | nuevo antiguo
obteniendo una sucesi´on de intervalos estrictamente encajonados, siendo el l´ımite r. No hay otro vector propio con ui > 0. Sea el cono K = {(u1 , . . . , un )|ui ≥ 0} . Como la matriz A es no negativa, se tiene A(K) ⊂ K. No es posible tener: Au = λu, Av = µv,
u ∈ K; v ∈ K;
con λ 6= µ.
II.3 M´ etodos Iterativos
53
En efecto, sup´ ongase que λ < µ y sea w = −u + tv, tal que t sea lo m´as peque˜ no posible, de manera que w ∈ K, entonces Aw = −λu + tµv 6∈ K, por consiguiente, no puede haber m´as de un valor propio cuyo vector propio est´e en el interior del cono. Adem´ as, r es un valor propio simple, ya que si no lo fuera, una peque˜ na perturbaci´on en la matriz A llevar´ıa al caso de los valores propios simples, caso que ha sido ya estudiado m´as arriba. Por otro lado, no hay vectores propios en el borde del cono K. Efectivamente, sea u ∈ ∂K, vector propio. Por hip´otesis, algunos de las componentes de u son nulos, pero al menos una de las componentes es diferente de 0. De donde u + Au + · · · + An u = (1 + λ + · · · + λn )u. Como A es irreducible, existe No ≤ n con o aN ij > 0,
∀i, j;
por lo tanto (An u)j > 0,
∀j;
conduciendo a una contradicci´on. ii) Sean λ otro valor propio de A, v su vector propio respectivo, sup´ ongase que λ ∈ R, se define w = u + tv, donde u ∈ K vector propio, t sea lo m´as grande posible de manera que w ∈ K, ver la figura IV.3.1.
w
Κ
v u
Figura IV.3.1. Demostraci´on, Teorema Perron-Frobenius.
54
II Sistemas Lineales
Si |λ| > r, Aw sale de K, lo que es imposible. Para λ complejo se tiene Av = (α + iβ)v, donde λ = α + iβ, v = v1 + iv2 siendo los vj a coeficientes reales. Por lo tanto: Av1 = αv1 − βv2 , Av2 = βv1 + αv2 , el mismo an´alisis que para el caso real, da el mismo resultado. iii) La monoton´ıa de r se muestra, despu´es de hacer un an´alisis sobre el polinomio caracter´ıstico. Las consecuencias del teorema de Perron-Frobenius son muchas, entre las cuales, la de mayor utilidad para el tema expuesto, reside sobre el teorema II.3.2. En efecto, como la matriz A es no negativa e irreducible existe una valor propio r > 0 m´as grande en modulo que los otros. Si la suma de las lineas de la matriz A fuese igual a 1 se tendr´ıa que r = 1, pero existe una fila cuya suma es inferior a 1, de donde por el punto iii) del teorema de Perron-Frobenius, se tiene r < 1. Por consiguiente, todos los valores propios en valor absoluto son inferiores a 1, dando la consiguiente convergencia de los m´etodos de Jacobi y Gauss-Seidel. Continuando el estudio de los m´etodos de Jacobi y Gauss-Seidel se tiene otro resultado importante como el: Teorema II.3.4.- Sea λ el valor propio de A mas grande en m´odulo y µ el valor propio m´as grande en m´odulo de −1
(I − L)
U.
(II.3.10)
Si λ < 1, entonces µ < λ, para toda matriz A irreducible no negativa. Demostraci´ on.- Se tiene −1
(I − L)
= I + L + L2 + · · · + Lm ,
de donde (I − L)−1 U es una matriz no negativa. Sup´ongase que x es vector propio respecto a µ, por consiguiente (I − L)−1 U x = µx, U x = µx − Lµx, (µL + U ) = µx,
por el teorema de Perron-Frobenius, µ ≥ 0; si µ = 0 no hay nada que demostrar, si no U L+ x = x. µ
II.3 M´ etodos Iterativos
55
Utilizando nuevamente el teorema de Perron-Frobenius, es necesario que an mas µ < 1, por que de lo contrario algunos coeficientes de L + U µ ser´ peque˜ nos que de L + U y por lo tanto 1 < λ Nuevamente por el teorema de Perron-Frobenius, se tiene que el valor propio maximal de µL + U es estrictamente menor al valor propio maximal de L + U . Como consecuencia de este teorema se tiene que el m´etodo de GaussSeidel converge m´as r´apidamente a la soluci´on que el m´etodo de Jacobi, si la matriz A es no negativa, irreducible y con valor propio maximal m´as peque˜ no que 1. Una propiedad muy importante de algunas matrices, est´ a dada por la: Definici´ on II.3.5.- Una matriz A = L + U , como en (II.3.3), posee la property A de Young, si los valores propios de la matriz definida por αL +
1 U= α
1
αU
αL
(II.3.11)
son independientes de α. Ejemplos 1.- La matriz A definida por A=
0 C
B 0
,
donde B y C son matrices cuadradas del mismo orden. A posee la x property A. En efecto, si es un vector propio de A se tiene: y x x , =λ y y C 1 x x αB =λ . αC αy αy
B
2.- La matriz tridiagonal con coeficientes diagonales nulos, dada por
0 a b 0 d
c 0 .. .
e
..
.
56
II Sistemas Lineales posee la property A. Pues, se tiene: x x 0 a y y b 0 c = λ , z z d 0 e .. .. .. .. . . . . 1 0 αa x x 1 αb 0 αy αy αc 1 = λ α2 z αd 0 e α2 z . α . . .. .. .. .. . .
Teorema II.3.6.- Sea A una matriz no negativa, irreducible, con valor propio maximal λ < 1 y con la property A, entonces µ = λ2 ,
(II.3.12)
donde µ es le valor propio m´as grande de la matriz inducida por el m´etodo de Gauss-Seidel. Demostraci´ on.- Sea x el vector propio respecto a µ, de donde (µL + U )x = µx, √ dividiendo esta expresi´ on por µ y aplicando la property A, se tiene 1 √ √ µL + √ U x = µx, µ √ de donde µ es el valor propio maximal de A.
Si la matriz A es irreducible, no negativa, con valor propio maximal menor a 1 y adem´ as con la property A, se tiene: — M´etodo de Gauss-Seidel converge 2 veces m´as rapido que el de Jacobi. — M´etodo de Gauss-Seidel ocupa la mitad de sitio de memoria. — M´etodo de Gauss-Seidel ocupa la mitad de plaza de c´ alculo. — Pero Jacobi puede ser paralelizado, en cambio Gauss-Seidel no.
M´ etodo de Sobrerelajaci´ on SOR Las siglas SOR significan en ingl´es Successive over relaxations. Es una modificaci´ on del m´etodo de Gauss-Seidel. Consiste en utilizar un factor de sobrerelajaci´ on ω. Primero se efectua una iteraci´on de Gauss-Seidel para luego corregir con ω, en s´ıntesis el m´etodo SOR est´ a dado por: 1
u(k+ 2 ) = Lu(k+1) + U u(k) + b, 1 u(k+1) = u(k) + ω u(k+ 2 ) − u(k) , ω > 1.
(II.3.13)
II.3 M´ etodos Iterativos
57
Haciendo el c´ alculo de u, componente por componente, se tiene: X X (k+1) (k) + aij uj aij uj + bi , uauxi = j
(k+1) ui
=
j≥i
(k) ui
(k) . + ω uauxi − ui
(II.3.14)
Para ver la velocidad de convergencia de este m´etodo, es necesario hacer un estudio sobre la convergencia. Una iteraci´on de SOR puede ser escrita como u(k+1) = u(k) + ωLu(k+1) + (ωU − ωI) u(k) + ωb, es decir
u(k+1) = ωLu(k+1) + (ωU + (1 − ω)I) u(k) + ωb,
h i por lo tanto u(k+1) = (I − ωL)−1 (ωU + (1 − ω)I) u(k) + ωb . (k+1)
Sea µ un valor propio de u vector propio asociado, entonces:
= (I − ωL)
−1
(II.3.15)
(ωU + (1 − ω)I) y x el
(I − ωL)−1 (ωU + (1 − ω)I) x = µx, (ωU + (1 − ω)I) x = µ (I − ωL) x, ωU x + (1 − ω)x = µx − µωLx, ωU x = (µ − 1 + ω)x − µωLx, µ−1+ω (µL + U ) x = x, ω √ dividiendo por µ se obtiene 1 µ−1+ω √ µL + √ U x = x, √ µ ω µ de donde, se ha mostrado el siguiente: Teorema II.3.7.- Sea A una matriz irreducible, no negativa y con la property A. Si µ es un valor propio de la matriz obtenida por SOR, entonces λ=
µ−1+ω √ ω µ
(II.3.16)
es valor propio de la matriz A. El problema ahora, es determinar ω, de manera que los valores propios µ sean lo m´as peque˜ nos posibles. Se tiene: √ µ − 1 + ω = λω µ, (II.3.17) 2 (µ + (ω − 1)) = λ2 ω 2 µ,
58
II Sistemas Lineales
dando la ecuaci´on de segundo grado µ2 + 2(ω − 1) − λ2 ω 2 µ + (ω − 1)2 = 0.
(II.3.18)
Si µ1 , µ2 , las dos raices de esta ecuaci´on, son complejas; entonces ambas son conjugadas, de donde |µ| = |ω − 1| .
Por lo tanto, condici´ on necesaria para la convergencia es −1 < ω < 2.
(II.3.19)
Si µ1 , µ2 son raices reales de (II.3.18), se tiene que uno de los raices es m´as grande que la otra, a menos que µ1 = µ2 . Esto sucede cuando la par´abola √ λω µ corta tangencialmente con la recta µ − 1 + ω. Ver figura II.3.2, por consiguiente, el discriminante de la ecuaci´on (II.3.18) es nulo, es decir: 2 2(ω − 1) − λ2 ω 2 = 4(ω − 1)2 , λ2 ω 2 = 4(ω − 1),
λ2 ω 2 − 4ω + 4 = 0. De donde, se ha demostrado el:
Teorema II.3.8.- El ω optimal est´ a dado por w=
2 p , 1 + 1 − λ2
(II.3.20)
y el radio espectral de la matriz SOR correspondiente es √ 1 − 1 − λ2 p . µmax = w − 1 = 1 + 1 − λ2 λ1
λ2
λ3
µ2
µ1 µ
µ
raices conjugadas.
Figura IV.3.2 Determinaci´ on de w optimal.
(II.3.21)
II.3 M´ etodos Iterativos
59
Estudio de un problema modelo Una de las aplicaciones m´as importantes de la utilizaci´ on de m´etodos iterativos para resolver sistemas lineales, consiste en la resoluci´on num´erica de ecuaciones con derivadas parciales de tipo el´ıptico. Consid´erese el siguiente problema tipo: −△u = f, sobre Ω = [0, 1] × [0, 1]; (II.3.22) f |∂Ω = 0. Utilizando el m´etodo de diferencias finitas, se discretiza la ecuaci´on de derivadas parciales con un esquema de diferencias centradas. El cuadrado Ω es dividido en una malla uniforme de tama˜ no h=
1 , n+1
(II.3.23)
se plantea: xi = ih, yj = jh,
i = 0, . . . , n + 1; j = 0, . . . , n + 1;
(II.3.24)
denotando uij = u(xi , yj ),
fij = f (xi , yj ).
(II.3.25)
Discretizando la ecuaci´on para esta malla, se obtiene las siguientes ecuaciones: ui,j+1 + ui,j−1 + ui+1,j + ui−1,j − 4ui,j = fij , − h2 u0j = 0, un+1,j = 0, ui0 = 0,
j = 0, . . . , n + 1; j = 0, . . . , n + 1; i = 0, . . . , n + 1;
ui,n+1 = 0,
i = 0, . . . , n + 1.
(
i = 1, . . . , n, j = 1, . . . , n;
Cambiando la forma de las ecuaciones, se tiene 1 uij = ui,j+1 + ui,j−1 + ui+1,j + ui−1,j + h2 fij , 4
(
i = 1, . . . , n, j = 1, . . . , n;
que en notaci´on matricial, tiene la forma 1 u = Au + h2 f, 4
(II.3.26)
60
II Sistemas Lineales
donde: u = (u11 , . . . , u1n , u21 , . . . , u2n , . . . , un1 , . . . , unn )t , f = (f11 , . . . , f1n , f21 , . . . , f2n , . . . , fn1 , . . . , fnn )t , B I I B I 1 .. .. .. , A= . . . 4 I B I I B 0 1 1 . . .. . I= B = 1 .. .. , . .. 1 . 0 Definici´ on II.3.9.- El producto tensorial de dos matrices P de orden n × m y Q de orden l × k se define como la matriz p11 Q · · · p1m Q .. , P ⊗ Q = ... (II.3.27) . pn1 Q · · · pnm Q
de orden nl × mk.
Por lo tanto, la matriz A del problema se escribe como A=
1 (B ⊗ I + I ⊗ B) . 4
Para hacer estimaciones del costo de operaciones, al encontrar la soluci´on con un error fijado de antemano, es necesario determinar la condici´ on de la matriz A, como as´ı mismo el radio espectral de A para determinar la velocidad de convergencia de los m´etodos de Jacobi, Gauss-Seidel y SOR. Para tal efecto, se tiene la: Proposici´ on II.3.10.- El producto tensorial de matrices verifica la siguiente propiedad (B ⊗ C) (D ⊗ E) = BD ⊗ CE. (II.3.28) Demostraci´ on.- Se deja como ejercicio
Sean, yk y νk el vector y el escalar respectivamente, definidos por: n kiπ yk = sin( ) , n + 1 i=1 (II.3.29) kπ ), νk = 2 cos( n+1
II.3 M´ etodos Iterativos
61
puede verificarse como ejercicio que yk es un vector propio de B asociado al valor propio νk . Se tiene, utilizando (II.3.28) 1 A(yk ⊗ yl ) = ((B ⊗ I)(yk ⊗ yl ) + (I ⊗ B)(yk ⊗ yl )) 4 1 = (νk + νl )(yk ⊗ yl ), 4 de donde se ha demostrado el: Teorema II.3.11.- Los valores propios de A est´ an dados por: 1 1 (νk + νl ) = 4 2
kπ lπ cos( ) + cos( ) . n+1 n+1
(II.3.30)
La matriz B es tridiagonal con los coeficientes de la diagonal nulos, por consiguiente tiene la property A, verificar el segundo ejemplo sobre esta propiedad. Como la matriz A es igual a la suma de dos productos tensoriales entre B y I, ´esta tambi´en verifica la property A. Conociendo los valores propios de A, se est´ a en la posibilidad de aplicar los teoremas relativos a la convergencia de los m´etodos de Jacobi, Gauss-Seidel y SOR. Utilizando el anterior teorema, se tiene que el valor propio maximal de A es igual a π ). (II.3.31) λmax = cos( n+1 Recordando el m´etodo de Jacobi se tiene: u(k+1) = Au(k) + f, U ∗ = AU ∗ + f, e(k) = u∗ − u(k) ,
e(k+1) = Ae(k) ,
donde u∗ es la soluci´on exacta del problema lineal, e(k) el error en k-esima iteraci´on. Existe una base de vectores propios de la matriz A, para la cual el primer vector est´ a asociado a λmax , de donde se tiene (k+1)
ei (k)
donde ei
(k)
= λi ei ,
i = 1, . . . , n2 ;
es la i-esima componente respecto a la base. Por consiguiente (N )
e1
(0)
= λN i ei ,
62
II Sistemas Lineales
obteniendose as´ı el n´ umero de iteraciones necesarias para conseguir una precisi´ on relativa de 10−m . Por las siguientes relaciones: λn1 ≤ 10−m , N ln λmax ≤ −m ln 10, π2 N ln 1 − 2 ≤ −m ln 10, 2(n + 1) π2 −N ≤ −m · 2.3, 2(n + 1)2 por lo tanto
1 2m · 2.3 (n + 1)2 ≈ mn2 . (II.3.32) 2 2 π Ahora bien, una iteraci´on equivale m´as o menos 4n2 operaciones, de donde el trabajo necesario es 2mn4 operaciones. Considerando, que el m´etodo de Gauss-Seidel se realiza en la mitad de operaciones respecto al de Jacobi, y por el teorema II.3.6, el n´ umero de iteraciones para llegar a una precisi´ on relativa de 10−m es la mitad de Jacobi. Las siguiente tabla indica el n´ umero de operaciones, tiempo para diferentes precisiones requeridas. N=
Tabla II.3.1. Valores para el m´etodo de Jacobi. n
Precisi´on
# operaciones
Tiempo de C´alculo
10
10−2
105
0.1sec
100
10−4
109
103 sec ≈ 20min
1000
10−6
1013
107 sec ≈ 7, 7a˜ nos
Para el m´etodo de Gauss-Seidel los valores, se obtienen de la tabla II.3.1, dividiendo por 4 los valores para n´ umero de operaciones y tiempo de c´ alculo. En este tipo de problema es donde se ve la verdadera potencia del m´etodo SOR, respecto a los m´etodos de Jacobi y Gauss-Seidel. Para estimar el tiempo de c´ alculo, como el n´ umero de operaciones es necesario estimar ω optimal, como tambi´en µmax del teorema II.3.8. Utilizando desarrollos de Taylor para la raiz cuadrada, como para el cociente, se obtiene: 2π umax ≈ 1 − , n+1 (II.3.33) π . ωop ≈ 2 1 − n+1
II.3 M´ etodos Iterativos
63
Por lo tanto, el n´ umero de iteraciones para obtener una precisi´ on relativa de 10−m es approximadamente igual a N ≈ 0.4mn.
(II.3.34)
Para una precisi´ on de 10−6 se tiene la siguiente tabla: Tabla II.3.2. Valores para el m´etodo SOR. n
# Operaciones
Tiempo de C´alculo
ωop
10
104
10−2 sec
1, 42
100
107
10sec
1, 93
1000
1010
104 sec ≈ 3horas
1, 9937
Para el problema con ( f=
1, sobre [1/4, 3/4] × [1/4, 3/4] ;
−1, sino;
(II.3.34)
se obtiene utilizando SOR, los valores de u graficados en figura II.3.3.
Figura II.3.3. Gr´afica de la soluci´on del problema (II.3.34).
64
II Sistemas Lineales
Ejercicios 1.- Para resolver iterativamente el problema Ax = b, se considera la iteraci´on M x(k+1) = N xk + b, con A = M − N. Determinar M y N para los m´etodos de Jacobi y Gauss-Seidel. Programar los dos m´etodos y aplicarlos al problema
4 −1 0 −1
−1 0 −1 3 4 −1 0 −3 x = , −1 4 −1 7 0 −1 4 1
la soluci´on exacta es x∗ = ( 1 0 2 1 ). Estudiar la velocidad de convergencia
(k+1)
x − x∗
(k)
x − x∗ para los dos m´etodos.
2.- (Estudio de la demostraci´on del Teorema de Perron-Frobenius). Sea 0 1/2 1/2 0 1/2 A= . 1/2 0 1/2 1 0
Para un vector positivo u dado, se calcula v = Au y se define ri = vi /ui . Para el vector u = (1, 1, 1, 1)t se obtiene de esta manera r1 = 1/2, r2 = r3 = r4 = 1. Modificar este vector con peque˜ nas perturbaciones, para llegar a 1 < ri < 1 para todo i. 2 3.- (Un teorema de la teor´ıa de grafos). Se da un grafo conexo de n nudos y se define una matriz A por aij =
1 si i 6= j y el nudo i est´ a ligado al nudo j, 0 si i = j o el nudo i no est´ a ligado al nudo j,
II.3 M´ etodos Iterativos
65
Ejemplo: 1 2
6
3 4
1
1 1 1 1 ⇐⇒ A = 1 1
5
1
1 1
Demostrar: Sea r el valor propio maximal de A, entonces se tiene siempre √ r > 3, excepto en los casos: r=1, √ r= 2, √ r=(1 √ + 5/2), r= 3, 4.- Demostrar que la matriz bloque verifica la property A.
0 A = C
para para para para
B 0 E
un un un dos
grafo; grafo; grafo; grafos.
D 0
5.- (Producto de Kronecker). Sea B = (bij ) una matriz de n × n y C = (cij ) una matriz m × m. Se define A = B ⊗ C, una matriz nm × nm, por b11 C · · · b1n C . .. . A = B ⊗ C = .. . bn1 C · · · bnn C a) Mostrar: si x es un vector propio de dimensi´on n e y es un vector de dimensi´on m, entonces (Bx) ⊗ (Cy) = (B ⊗ C)(x ⊗ y) donde x ⊗ y est´ a definido similarmente. b) Deducir que: si x es vector propio de B, con valor propio µ; y es vector propio de C, con valor propio ν; entonces x ⊗ y es vector propio de B ⊗ C, con valor propio µ · ν.
II.4 M´ etodos Minimizantes
Otra clase de m´etodos com´ unmente utilizados en la resoluci´on de grandes sistemas lineales, son los m´etodos de tipo gradiente que consisten en la resoluci´ on un problema de minimizaci´on equivalente. Esta clase de m´etodos se aplica a la resoluci´on de Ax = b, (II.4.1) donde A es una matriz sim´etrica definida positiva. La equivalencia con el problema de minimizaci´on, est´ a dada por la siguiente: Proposici´ on II.4.1.- Si A es sim´etrica y definida positiva, los dos problemas siguientes son equivalentes: f (x) =
1 t x Ax − xt b + c → min, 2
Ax = b.
(II.4.2) (II.4.2)
Demostraci´ on.- El primer problema puede ser escrito como X 1X xj bj + c → min . xi aij xj − 2 i,j j
(II.4.4)
El procedimiento para encontrar el m´ınimo, consiste en derivar f , de donde ∂f 1X 1X akj xj + xi aik − bk = 0. = ∂xk 2 j 2 i Puesto que A es sim´etrica, se tiene X j
akj xj − bk = 0.
Si x es soluci´on de (II.4.2), se tiene que x es soluci´on del problema (II.4.3). Ahora bien, si x es soluci´on de (II.4.3), es un punto cr´ıtico de la funci´on f , pero como A es definida positiva, se tiene que f posee x como un m´ınimo.
II.4 M´ etodos Minimizantes
67
M´ etodo del Gradiente El gradiente de f , utilizando la demostraci´on de la anterior proposici´ on, est´ a dado por ∇f (x) = Ax − b. (II.4.5) Sea xo un punto de partida, se tiene: 1 f (x) = f (xo ) + h∇f (xo ), x − xo i + (x − xo )t A(x − xo ), 2 1 = f (xo ) + kx − x0 k k∇f (xo )k cos θ + (x − xo )t A(x − xo ), 2 donde θ es el ´angulo entre ∇f (xo ) y x − x0 . Como se busca que f (x) sea m´ınimo, ∇f (xo ) y x − xo deben tener la misma direcci´on y el mismo sentido. Sup´ongase que se ha encontrado este x, que se lo denota por x1 , se puede plantear para k ≥ 0, obteniendo as´ı, el m´etodo del gradiente xk+1 = xk − τk g k ,
(II.4.6)
donde g k = ∇f (xk ). El problema, por consiguiente, es determinar τk teniendo en cuenta las observaciones anteriores, se define la funci´on G(τ ) por 1 (II.4.7) G(τ ) = (xk − τ g k )t A(xk − τ g k ) − (xk − τ g k )tb, 2 de donde, el m´ınimo de G est´ a en τk , dado por t
τk =
gk gk t
g k Ag k
.
(II.4.8)
Una ilustraci´ on de las iteraciones del m´etodo del gradiente est´ a dada en la figura II.4.1.
x1
x 3ó x
2
x
o
Figura II.4.1 Ilustraci´on m´etodo del gradiente.
68
II Sistemas Lineales
Planteando hk = Ag k , se tiene la versi´on algor´ıtmica del m´etodo del gradiente: 1 x := xo ; 2 g := Ax − b; 3 Si |g| ≤ T OL, entonces FIN; 4 h := Ag; hg, gi 5 τ := ; hg, hi 6 x := x − τ g; 7 retornar al paso 2. La velocidad de convergencia del m´etodo del gradiente, est´ a dada por el teorema siguiente, que ser´ a enunciado sin demostraci´on. Teorema II.4.2.- Sean, A sim´etrica y definida positiva, λmax el valor propio m´as grande, λmin el valor propio m´as peque˜ no de A, por lo tanto κ= entonces
λmax = cond2 A; λmin
k
x − x∗ ≤
donde x∗ es la soluci´on exacta.
κ−1 κ+1
k
0
x − x∗ ,
(II.4.9)
Adem´ as, se tiene el: Teorema II.4.3.- Existe, x0 tal que
k
x − x∗ =
κ−1 κ+1
k
0
x − x∗ .
(II.4.10)
Demostraci´ on.- En un referencial con un origen adecuado y una base de vectores propios de A, el problema (II.4.2) puede formularse como 1 t¯ x ˆ Aˆ x − c → min, 2 es decir
¯x = 0, Aˆ
(II.4.11)
donde A¯ = diag(λmin , . . . , λmax ). Dividiendo (II.4.11) por λmax , se obtiene el sistema equivalente
ˆx = Aˆ
1
..
. κ
x ˆ = 0.
(II.4.12)
II.4 M´ etodos Minimizantes
69
ˆ Planteando Por lo tanto, se puede suponer que A tiene la forma de A. x0i = 0,
para i = 2, . . . , n − 1;
el problema se reduce a resolver 1 0 x 0 = . 0 κ y 0
(II.4.13)
El siguiente paso, es encontrar (x0 , y 0 )t , que al aplicar el m´etodo del gradiente, se tenga 1 x qx0 = . y1 −qy 0
Ahora bien, una iteraci´on del m´etodo del gradiente da: 0 x 0 , g = κy 0 0 1 0 (1 − τ )x0 x x x = −τ , = (1 − κτ )y 0 ) κy 0 y0 y1 de donde:
despejando q, se obtiene
q = 1 − τ, −q = 1 − κτ ;
κ−1 . κ+1 Puesto que la oscilaci´ on encontrada no depende del punto inicial, las iteraciones siguientes presentar´an el mismo fen´ omeno. Con lo que se ha mostrado el teorema. q=
M´ etodo del Gradiente Conjugado La u ´ltima demostraci´on muestra que en determinadas ocasiones el m´etodo del gradiente conduce a una oscilaci´ on en torno a la soluci´ on, haciendo que la convergencia no sea tan r´apida como se espera, pudiendo mejorar esta situaci´on, tomando aparte de la direcci´on del gradiente otra direcci´on alternativa. El m´etodo del gradiente conjugado consiste en tomar tambi´en la direcci´on conjugada al gradiente. Para poder enunciar tal m´etodo es necesario dar los elementos te´ oricos para su comprensi´ on. Proposici´ on II.4.4.- Sea f (x) = 21 xt Ax − xt b, donde A es una matriz sim´etrica y definida positiva. Sea d una direcci´on, entonces los m´ınimos de f (x) sobre las rectas paralelas a d se encuentran en el hiperplano dt (Ax − b) = 0.
(II.4.14)
70
II Sistemas Lineales
Demostraci´ on.- Si x pertenece a una recta de direcci´on d, es de la forma donde λ ∈ R.
x = a + λd,
Se define la funci´on g, como g(t) = f (a + td), por lo tanto esta funci´on tiene un m´ınimo en t0 , si g ′ (to ) = dt f ′ (a + to d) = 0, es decir, si se cumple dt (A(a + to d) − b) = 0.
Definici´ on II.4.5.- Dos direcciones d1 y d2 son conjugadas respecto a A si t
d1 Ad2 = 0.
(II.4.15)
Con lo enunciado anteriormente, se puede formular el m´etodo del gradiente conjugado. Sea x0 un punto de partida, el gradiente inicial est´ a dado por g 0 = Ax0 − b, se define d0 = −g 0 .
Sup´ongase, que se ha efectuado k iteraciones, es decir, se conoce dk , g k y xk ; entonces se define:
k k d ,g , τk = − k d , Adk xk+1 = xk + τk dk , g
k+1 k+1
d
= Ax = −g
k+1
k+1
(II.4.16)
k
k
− b = g + τk Ad ,
+ βk dk .
Para determinar βk , se impone la condici´ on que dk+1 y dk sean conjugados, por consiguiente t t g k+1 Adk = βk dk Adk , de donde
g k+1 , Adk . β= k d , Adk
(II.4.17)
II.4 M´ etodos Minimizantes
71
La versi´on algor´ıtmica est´ a dada por: 1 2 3 4 5 6 7 8 9 10 11
x := punto de partida; g := Ax − b; d := −g; h := Ad; hd, gi τ := ; hd, hi x := x + τ d; g := g + τ h; si |g| ≤ 10−6 , entonces fin algoritmo; hg, hi β; = ; hd, hi d := −g + βd; Retornar al paso 4.
Teorema II.4.6.- Con el algoritmo del Gradiente Conjugado se tiene:
k d , Adl = 0, l < k; (II.4.18)
k l l < k. g , g = 0, Demostraci´ on.- Por inducci´ on sobre k.
Para k = 1 se tiene d0 , Ad1 = 0 por construcci´on del m´etodo,
1 0 0 0
g , g = g , g − τ0 Ag 0 , g 0 = 0.
Sup´ongase cierto para k, por la construcci´on de g k+1 , se tiene g k+1 , dk = 0, entonces:
k+1 k k+1 k g ,g = g , d +βk−1 g k+1 , dk−1 | {z } 0
= βk−1 g k , dk−1 +τk βk−1 Adk , dk−1 ; | {z } | {z } 0 0 hip. ind
k+1 l k l
g , g = g , g +τk Adk , dl | {z } 0
= 0;
k+1
d , Adl = c1 g k+1 , Adl + c2 dk , Adl | {z } 0 hip. ind
= c1 g k+1 , g l = 0.
72
II Sistemas Lineales
En el ejercicio 4, se tiene otras f´ormulas para τk , βk
Definici´ on II.4.7.- Se define la norma natural del problema por √ kxkA = xt Ax. (II.4.19) Teorema II.4.8.- El error del m´etodo del Gradiente Conjugado, despu´es de l iteraciones satisface
∗
x − xl ≤ M x∗ − x0 , (II.4.20) A A donde
M = inf
µi ∈R
λ
sup v.p.
A
! 2 l 1 + µ1 λ + µ2 λ + · · · + µl λ .
(II.4.21)
Corolario II.4.9.- Si A tiene solamente l valores propios diferentes, entonces el m´etodo del Gradiente Conjugado da la soluci´on exacta despu´es de l iteraciones. Demostraci´ on del teorema.- Se puede suponer por traslaci´ on, que b = 0, de donde la soluci´on exacta es x∗ = 0, por lo tanto el error cometidos es el = xl . Se tiene d0 = −g 0 , definiendo E1 por: E1 = x = x0 + τ1 d0 = x = x0 + γ1 Ax0 = x = (I + γ1 A)x0 . x1 es el punto de E1 que minimiza f (x) = 21 xt Ax. E2 = x|x = x0 + τ1 d0 + τ2 d1 = x|x = (I + γ1 A + γ2 A2 )x0 .
x2 minimiza f (x) en E2 . Continuando se llega a El = x|x = (I + γ1 A + · · · + γl Al )x0 ,
xl minimiza f (x) en El . Sean v1 , . . . , vn vectores propios normalizados de A, por lo tanto forman una base. Por consiguiente: x0 =
n X
αi vi ,
i=1
t
x0 Ax0 =
X
αi vit Avj αj
i,j
=
X i
αi2 λi
= x0 A .
II.4 M´ etodos Minimizantes
73
Por otro lado, se tiene xk = (I + γ1 A + · · · + γl Al ) =
n X i=1
xl Axl =
n X i=1
de donde
n X
αi vi
i=1
αi (1 + γ1 λi + · · · + γl λli )vi , αi2 λi (1 + γ1 λi + · · · + γl λli ),
l 2
x ≤ max 1 + γ1 λi + · · · + γl λli 2 x0 2 . A A λ1 ,...,λn
Polinomios de Chebichef Sup´ongase, que se conoce los valores propios de la matriz A sim´etrica y definida positiva, es decir: 0 < λmin ≤ λi ≤ λmax .
El polinomio que minimiza el polinomio del teorema II.4.8 tiene la propiedad siguiente: — es igual a ǫ en λmin , — admite los valores −ǫ, +ǫ como valores maximos en el int´ervalo [λmin , λmax ] exactamente l + 1 veces, — es igual a ±ǫ en λmax . La raz´ on puede apreciarse en la figura II.4.2, para el caso l = 2. 1
ε λ min
λ max
−ε
Figura II.4.2 Polinomio minimizante para l = 2.
74
II Sistemas Lineales
Definici´ on II.4.10.- El n-simo polinomio de Chebichef, es el polinomio de grado n, Tn (x) tal que: Tn (1) = 1, Tn (−1) = (−1)n , Todos los m´ınimos y m´aximos relativos son ±1 y pertenecen a (−, 1, 1). Teorema II.4.11.- Chebichef. Tn (x) est´ a dado por Tn (x) =
n n p p 1 x + x 2 − 1 + x − x2 − 1 . 2
(II.4.22)
Demostraci´ on.- Este teorema ser´ a abordado en el Cap´ıtulo IV, motivo por el cual la demostraci´on no es necesaria por el momento. Lo u ´nico que puede decirse, es que la definici´on moderna de los polinomios de Chebichef est´ a dada por Tn (x) = cos nθ,
donde x = cos θ.
(II.4.23)
Teorema II.4.12.- La constante M del teorema II.4.8, est´ a dada por M= Tl
1 λmax +λmin λmax −λmin
.
(II.4.24)
Demostraci´ on.- Se utiliza la transformaci´on af´ın dada por x = αλ + β, donde:
2 , λmax − λmin λmax + λmin β=− . λmax − λmin
α=
por consiguiente tomando 1/M = Tl (β) se tiene el resultado deseado.
Teorema II.4.13.- Para el m´etodo del Gradiente Conjugado, se tiene la estimaci´on l √
l
x − x∗ ≤ 2 √κ − 1 x0 − x∗ , (II.4.25) A A κ+1 donde κ = cond2 (A), x∗ la soluci´on exacta.
II.4 M´ etodos Minimizantes
75
Demostraci´ on.- Para x ≥ 1, se tiene |Tl (x)| ≥ de donde M≤
particularmente para
l p 1 x + x2 − 1 , 2
2 l , p x + x2 − 1
x=
para x ≥ 1;
(II.4.26)
λmax + λmin κ+1 = , λmax − λmin κ−1
remplazando en (II.4.26), se obtiene (II.4.25).
Con los resultados obtenidos respecto a los errores de convergencia, tanto para el m´etodo del gradiente, como para el m´etodo del gradiente conjugado, se puede estimar el n´ umero de iteraciones necesarias para conseguir una precisi´ on relativa de 10−b . Para el m´etodo del gradiente por (II.4.6), se tiene: κ−1 , 10−b ≈ κ+1 −2.3b ≈ l ln(1 − 1/κ) − l ln(1 + 1/κ), −2.3b ≈ −2l/κ, l ≈ bκ. (II.4.27) Con el mismo procedimiento que para el m´etodo del gradiente, el m´etodo del gradiente conjugado necesita aproximadamente l iteraciones, de donde √ l ≈ b κ.
(II.4.28)
M´ etodo del Gradiente Conjugado Precondicionado El corolario II.4.9 indica claramente, que el m´etodo del Gradiente Conjugado converge a la soluci´on exacta despues de l iteraciones, siendo l el n´ umero de valores propios diferentes de la matriz A. Se puede mejorar la velocidad de convergencia, haciendo un cambio de variables en el problema original f (x) =
1 t x Ax − xt b. 2
Se define x ˆ como x ˆ = E t x,
76
II Sistemas Lineales
donde E es una matriz inversible con ciertas condiciones a cumplir que ser´ an dadas m´as adelante. Para no recargar la notaci´on, se denota Et
−1
= E −t .
Por consiguiente, el problema se convierte en f (ˆ x) =
1 t −1 x ˆ E AE −t x ˆ−x ˆE −1 b. 2
(II.4.29)
El problema es encontrar E, de manera EE t ≈ µA, µ > 0 con el menor gasto de operaciones posibles. Si EE t = µA, aplicando el m´etodo del gradiente conjugado a (II.4.29) se tiene la soluci´on exacta despu´es de una sola iteraci´on, en este caso, la matriz E es la descomposici´ on de Cholesky de µA. Ahora bien, realizar la descomposici´ on de Cholesky significa que se puede calcular directamente la soluci´on, lo que implica un gran n´ umero de operaciones a ejecutar. La determinaci´ on de E se la realiza utilizando dos m´etodos que ser´ an analizados m´as adelante. El algoritmo del gradiente conjugado para el problema condicionado est´ a dado por: 1 2 3 4 5 6 7 8 9 10 11
x ˆ := punto de partida; gˆ := E −1 AE −t x ˆ − E −1 b; ˆ d := −ˆ g; ˆ ˆ := E −1 AE −t d; h D E ˆ gˆ d, E; τˆ := D ˆh ˆ d, ˆ x ˆ := x ˆ + τˆd; ˆ gˆ := gˆ + τˆh; −6 si |ˆ g| D ≤ 10E , entonces fin algoritmo; ˆ gˆ, h ˆ =D E; β; ˆh ˆ d, ˆ dˆ := −ˆ g + βˆd; Retornar al paso 4.
La implementaci´on del m´etodo del gradiente conjugado al problema condicionado (II.4.29), tiene dos incovenientes: El primero que se debe conocer explicitamente la matriz E y el segundo que se efectuan muchas operaciones con la matriz E. Planteando C = EE t , se puede formular el algoritmo, comparando con el m´etodo del gradiente conjugado para el problema condicionado y utilizando las identidades para τk y βk dadas en el ejercicio 4, uno se
II.4 M´ etodos Minimizantes
77
dar´ a cuenta de las sutilezas empleadas. Por consiguiente, la formulaci´on algor´ıtmica est´ a dada por: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
x := punto de partida; g := Ax − b; χ := C −1 g; δo := hg, χi; d := −χ; h := Ad; τ := δ0 /hd, hi; x := x + τ d; g := g + τ h; si |g| ≤ 10−6 , entonces fin algoritmo; χ := C −1 g; δ1 := hg, χi; β; = δ1 /δ0 ; d := −χ + βd; δ0 := hd, gi; Retornar al paso 6.
Esta formulaci´on presenta algunas novedades respecto a la formulaci´on del m´etodo del gradiente conjugado. La m´as importante es la aparici´ on del vector χ. El gasto en memoria es practicamente el mismo, pues se puede utilizar el mismo lugar de memoria para h y χ. Por las observaciones anteriores la matriz C debe ser lo m´as parecida a la matriz A o a un m´ ultiplo de ´esta. Adem´ as, se debe resolver la ecuaci´on Cχ = g, motivo por el cual la matriz C debe ser la m´as simple posible. Actualmente existen dos m´etodos muy utilizados para determinar C, dependiendo sobre todo de las caracter´ısticas de A. Estos son: 1.- Factorizaci´ on Incompleta de Cholesky La descomposici´ on de Cholesky incompleta de la matriz A, est´ a dada por EE t . Los coeficientes de E son nulos en el lugar donde los coeficientes de A son nulos; para los otros coeficientes, los valores est´ an dados por las f´ormulas obtenidas para la descomposici´ on de Cholesky dada en la seccion II.2, es decir: v u i−1 X u t eii = aii − e2ji , (II.4.30a)
eki =
aki −
j=1
k−1 X j=1
eii
ekj eji
.
(II.4.30b)
78
II Sistemas Lineales
Luego se resuelve: Eˆ g = g; E t χ = gˆ. 2.- SSOR precondicionado (Axelsson, 1973) La matriz A puede ser descompuesta en tres partes, la diagonal, la parte inferior y la parte superior. El m´etodo SSOR consiste en definir la matriz E, como una matriz triangular inferior, cuyos coeficientes de la diagonal son iguales a la raiz cuadrada de los coeficientes de la diagonal de A. Los coeficientes de la parte inferior de la matriz E son iguales a los coeficientes de la parte inferior de la matriz A multiplicados por un factor de relajaci´ on positivo ω, es decir: √ eii = aii ; (II.4.31a) eki = ωaki , ω ≥ 0. (II.4.31b) Luego se resulve: Eˆ g = g, t E χ = gˆ. La determinaci´ on del ω optimal se realiza al tanteo, dependiendo del problema a resolver, pues por el momento no existe un criterio an´alitico para determinar este valor optimal.
Resultados Num´ ericos El estudio te´ orico y la formulaci´on de m´etodos de resoluci´on de sistemas lineales por si solo constituye un hermoso ejercicio mental. Un m´etodo no es bueno, hasta que ha sido probado num´ericamente en problemas concretos, por eso es importante poder comparar la eficiencia de los diferentes m´etodos formulados en esta secci´on, en diferentes tipos de problemas. Al igual que la secci´on II.3, se considerar´ a una ecuaci´on a derivadas parciales de tipo el´ıptico, pues este tipo de problema, se presta mucho a la resoluci´ on de grandes sistemas lineales. Sea, △u = −1, u|∂Ω = 0.
sobre Ω = [0, 1] × [0, 1];
(II.4.32)
De la misma manera, que la secci´on precedente, se subdivide el dominio Ω en una malla uniforme de longitud 1/n + 1, planteando: ) xi = ih 1 , h= ; (II.4.33) n+1 yj = jh
II.4 M´ etodos Minimizantes
79
se obtiene el sistema de ecuaciones dado por: ui,j+1 + ui,j−1 + ui+1,j + ui−1,j − 4uij = −h2 , i, j = 1, . . . , n; ukj = uil = 0, k = 0 o k = n + 1, l = 0 o l = n + 1. Planteando u = (u11 , . . . , u1n , u21 , . . . , u2n , . . . , un,1 . . . , unn )t , el sistema lineal se escribe como (II.4.34) Au = h2 1, donde A = 4I +B ⊗In +I ⊗B, con ⊗ producto tensorial de matrices definido en la anterior secci´on, In la matriz identidad de orden n × n y 0 1 . . B = 1 .. .. . .. . 0
A es una matriz definida positiva y sim´etrica de orden n2 × n2 . El problema (II.4.34) ser´ a resuelto tomando valores aleatorios para u1 . Se ver´ a el costo en iteraciones para diferentes valores de n. Una vez efectuados los experimentos num´ericos, las gr´aficas de las iteraciones del m´etodo del gradiente conjugado precondicionado SSOR, pueden ser observadas en la figura II.4.3.
iter=0
iter=1
iter=2
iter=3
iter=4
iter=5
iter=6
iter=7
iter=8 iter=9 iter=10 Figura II.4.3. Soluci´on del problema (II.4.34).
iter=18
80
II Sistemas Lineales
En la figura II.4.4 se observa en una gr´afica el costo en iteraciones para alcanzar una precisi´ on de 10−6 para los diferentes m´etodos de tipo gradiente. 104
iter
103
Gradiante.
102
Gradiante Conjugado. Grad. Conj. Chols. Incom. 101
Gradiante Conjugado SSOR.
100 1 10
n
102
Figura II.4.4. N´ umero de iteraciones vs n. Finalmente la tabla II.4.1, da el n´ umero de iteraciones para alcanzar una precisi´ on de 10−6 utilizando el m´etodo del gradiante conjugado precondicionado para diferentes valores de n y el factor de relajaci´ on ω. En la u ´ltima columna se agrega, ω optimal en funci´on de n. Tabla II.4.1. Determinaci´ on de ω optimal.
n\ω
0.6
.65
.7
.75
.8
.85
.9
.95
ωop
10
10
9
8
7
8
9
11
12
.75
20
12
12
11
10
9
10
11
14
.8
50
27
24
22
18
17
15
14
16
.9
100
43
35
37
31
27
24
20
18
.95
180
72
59
55
46
40
41
33
27
.95
II.4 M´ etodos Minimizantes
81
Ejercicios 1.- Mostrar que una matriz sim´etrica A es definida positiva si y solamente si
det(Ak ) > 0
a11 .. k = 1, 2, . . . , n donde Ak = . ak1
···
a1k .. .
· · · akk
son los menores principales. Indicaci´ on: Intentar con la descomposici´ on de Cholesky. 2.- Calcular el m´ınimo de 1 f (x) = (x1 , x2 ) 50
93 24 24 107
x1 x2
1 − (42, 21) 5
x1 x2
por el m´etodo del gradiente conjugado partiendo del valor inicial x0 = 0. Hacer un buen gr´afico de los puntos x0 , x1 , x2 , de los vectores g 0 , g 1 , d0 , d1 , y de las curvas de nivel de la funci´on f (x). 3.- Aplicar el m´etodo del gradiente conjugado al sistema lineal 3 2 1 1 1 2 1x = 2 3 1 1 2
partiendo de x0 = 0. El m´etodo converge en 2 pasos. ¿Por qu´e? 4.- Mostrar, utilizando las f´ormulas y las relaciones de ortogonalidad del teorema II.4.6, las expresiones siguientes para βk y τk : g k+1 , g k+1 βk = k k , g ,g
k k g ,g . τk = k d , Adk
5.- Demostrar que la funci´on de la forma f (x) = xn + α1 xn−1 + α2 xn−2 + · · · + αn se separa lo menos posible de cero entre los l´ımites x = −1 y x = +1, est´ a dada por Tn (x) f (x) = . 2n
82
II Sistemas Lineales
6.- Demostrar las relaciones de ortogonalidad Z
+1
−1
0 si n 6= m, π Tn (x)Tm (x) si n = m 6= 0, p dx = 2 1 − x2 π si n = m = 0.
7.- (Modificaci´ on del m´etodo del gradiante conjugado para matrices no sim´etricas o no definidas positivas). Sea Ax = b
(II.4.35)
un sistema lineal, donde A es una matriz arbitraria inversible. El sistema At Ax = At b
(II.4.36)
tiene las mismas soluciones que (II.4.35), pero la matriz C = At A es sim´etrica y definida positiva. Aplicar el m´etodo del gradiente conjugado al sistema (II.4.36) y rescribir el algoritmo obtenido de manera que el producto At A no aparezca mas. Cual es la desventaja del nuevo algoritmo si, por mala suerte, se aplica al sistema (II.4.35) que inicialmente era sim´etrico y definido positivo.
II.5 M´ınimos Cuadrados
Hasta la secci´on precedente, se estudiaron problemas inherentes a la resoluci´on de sistemas de ecuaciones lineales donde la soluci´on existe y es u ´nica. En esta secci´on se estudiar´ an problemas m´as generales, donde la existencia y unicidad no juegan un rol tan preponderante. El problema que se estudiar´ a consiste b´ asicamente en el siguiente. Se tiene como datos: (tj , yj ),
j = 1, . . . , m, (m grande),
(II.5.1)
donde tj ∈ R, yj ∈ R; y una funci´on de modelo n ≤ m,
y = ϕ ((t, x1 , . . . , xn )) ,
(II.5.2)
donde t ∈ R, y ∈ R y xi ∈ R. Un ejemplo de funci´on de modelo, es la siguiente funci´on: ϕ ((t, x1 , x2 )) = x1 + tx2 + t2 x1 . El problema consiste en encontrar x1 , . . . , xn , tales que ϕ ((t, x1 , . . . , xn )) ≈ yj ,
j = 1, . . . , m.
(II.5.3)
*
* *
*
*
*
*
*
*
*
*
t1
tm
t2
Figura II.5.1 Problema de los m´ınimos cuadrados. Sup´ongase que, ϕ es lineal respecto a los xi , es decir ϕ ((t, x1 , x2 )) =
n X i=1
ci (t)xi ,
(II.5.4)
84
II Sistemas Lineales
de donde el problema se reduce a resolver el siguiente sistema lineal c (t ) c (t ) · · · c (t ) y1 1 1 2 1 n 1 x1 y2 c1 (t2 ) c2 (t2 ) · · · cn (t2 ) . ... ≈ . , (II.5.5) .. . . . . . x ym c1 (tm ) c2 (tm ) · · · cn (tm ) | {zn } | {z } | {z } x b A
por consiguiente, resolver
Ax ≈ b.
(II.5.6)
Planteando: ej = ϕ(tj , x) − yj ,
j = 1, . . . , m;
(II.5.7)
la soluci´on del problema (II.5.6), mediante el m´etodo de los m´ınimos cuadrados, ser´ a aqu´ella en la que m X i=1
em i −→ min,
(II.5.8)
es decir kAx − bk −→ min .
(II.5.9)
La justificaci´on del m´etodo de los m´ınimos cuadrados, est´ a dada por dos interpretaciones. La primera: Interpretaci´ on estad´ıstica Las componentes yi del vector b en (II.5.5), pueden ser vistas como medidas experimentales. Ahora bien, toda medida experimental lleva consigo un error, por lo tanto es completamente razonable considerar ´estas como variables aleatorias. Puesto que, la mayor parte de las medidas experimentales siguen leyes normales, se tiene las dos hip´otesis siguientes, para determinar la soluci´on del problema (II.5.6): H1: El valor yi de (II.5.5) es la realizaci´on de un suceso para la variable aleatoria Yi , i = 1, . . . , m. Se supone que los Yi son independientes y que obedecen la ley normal de esperanza µi y varianza σi . Para simplificar el problema, se supondr´ a que los σi son iguales y conocidos de antemano. H2: El sistema sobredeterminado (II.5.6) posee una soluci´on u ´nica, si se remplaza los yi por los n´ umeros µi ; es decir, que existe ξ ∈ Rn u ´nico tal que Aξ = µ donde µ = (µ1 , . . . , µm )t . La funci´on de distribuci´on de Yi , en Yi = yi , es igual a 1 1 yi − µi 2 fi (yi ) = √ exp − ( ) . 2 σ 2πσ
II.5 M´ınimos Cuadrados
85
Como los Yi son independientes, el vector aleatorio Y = (Y1 , . . . , Ym )t tiene la funci´ on de distribuci´on m Y 1 yi − µi 2 1 √ ) , exp − ( f (y) = 2 σ 2πσ i=1 donde y = (y1 , . . . , ym )t . Efectuando c´ alculos, se obtiene
m
1 X yi − µi 2 f (y) = C exp − 2 i=1 σ
!
.
Aplicando el principio de m´axima presunci´on, la probabilidad de medir yi en lugar de µi , para i = 1, . . . , m; est´ a dada por f (y) → max .
(II.5.10)
Por lo tanto, (II.5.10) sucede si m X yi − µi 2 → min, σ i=1
es decir m X i=1
yi −
n X j=1
con lo que se ha justificado (II.5.7).
(II.5.11)
2
ai jxj → min .
(II.5.12)
Interpretaci´ on geom´ etrica Se define el subespacio vectorial de Rm de dimensi´on n dado por E = {Ax|x ∈ Rn } ⊂ Rm ,
la soluci´on de (II.5.9) est´ a dada por el vector x0 , tal que Ax0 − b es m´ınima, es decir Ax0 es el vector m´as proximo perteneciente a E al vector b, de donde el vector Ax0 − b es ortogonal al espacio E, ver figura II.5.2. b
E
Figura II.5.2 Interpretaci´on geom´etrica.
86
II Sistemas Lineales
Teorema II.5.1.- Sea A una matriz de orden m × n, b ∈ Rm , entonces: kAx − bk2 → min ⇐⇒ At Ax = At b.
(II.5.13)
Las ecuaciones de la parte derecha de la equivalencia, son las ecuaciones normales del problema de m´ınimos cuadrados. Demostraci´ on.- Utilizando la interpretaci´on geom´etrica del m´etodo de m´ınimos cuadrados se tiene: kAx − bk2 −→ min ⇐⇒ b − Ax ⊥ Ay, ∀y ∈ Rn ⇐⇒ hAy, b − Axi = 0, ∀y ∈ Rn ⇐⇒ y t At (b − Ax) = 0, ∀y ∈ Rn ⇐⇒ At (b − Ax) = 0 ⇐⇒ At Ax = At b.
Se remarca inmediatamente que la matriz At A es sim´etrica y semidefinida positiva, es decir xt At Ax ≥ 0. La matriz At A ser´ a definida positiva si y solamente las columnas de A son linealmente independientes. Si ´este es el caso, se puede utilizar la descomposici´ on de Cholesky para resolver At Ax = At b, pero en la mayor´ıa de los casos At A es una matriz mal condicionada. Como ejemplo vale la pena citar el siguiente ejemplo: Se tiene, la funci´on de modelo dada por ϕ(t) =
n X
= xi ti−1 ,
i=1
es decir, se trata de determinar el polinomio de grado n que mejor ajusta a los puntos (ti , yi ), i = 1, . . . , m y 0 = t1 ≤ t2 ≤ · · · ≤ tn = 1. Por consiguiente, se debe encontrar x ∈ Rn , tal que kAx − bk2 −→ min, donde:
1
t1 t2
1 A= .. . 1 tm
· · · t1n−1 · · · t2n−1 .. , .
n−1 · · · tm
y1 y2 b= .. . . ym
II.5 M´ınimos Cuadrados
87
Por lo tanto P P n−1 m P P t2i · · · Pti n t t · · · ti i i At A = . . .. .. P 2n−1 P n−1 P n ti · · · t ti Pi P 1P 1/m P ti · · · 1/m Ptin−1 1/m ti 1/m t2i · · · 1/m tni 1 = . .. .. m . P n−1 P n P 2n−1 1/m ti 1/m ti · · · 1/m ti 1 1/2 ··· 1/n 1/2 · · · 1/(n + 1) 1/2 , ≈ m .. .. . .
1/n
puesto que
1/(n + 1) Z
0
1
tk dt ≈
t
···
1/2n
1 X k ti . m
De donde, la matriz A A se aproxima a una matriz de tipo Hilbert, la cual es una matriz mal condicionada, resultado visto en la primera secci´on de este cap´ıtulo. Por lo tanto se debe formular un algoritmo donde la matriz At A no aparezca directamente.
La descomposici´ on QR Dada una matriz A de orden m × n, se busca las matrices: Q de orden m × m y la matriz R de orden m × n, tales que la matriz Q sea ortogonal, es decir Qt Q = I; y la matriz R triangular superior, es decir z
r11 R= 0 con
n
}| ··· .. . O
{ r1n m, rnn A = QR.
m ≥ n;
(II.5.14)
88
II Sistemas Lineales Puesto que la matriz Q es ortogonal, para todo vector c ∈ Rm , se tiene
t
Q c = kck , 2
de donde
kAx − bk2 = Qt (Ax − b) 2
= Rx − Qt b −→ min . 2
(II.5.15)
Por otro lado, la matriz R y el vector Qt b pueden escribirse como: R1 c1 t R= , Qb= , 0 c2 donde R1 es una matriz triangular de orden n×n y c1 ∈ Rn . Por consiguiente, resolver el problema (II.5.6) es resolver la ecuaci´on R1 x = c1 .
(II.5.16)
Ahora bien, el principal problema es encontrar un algoritmo simple y rapido que permita descomponer la matriz A en un producto de la forma QR. Precisamente uno de estos m´etodos consiste en la utilizaci´ on de matrices de Householder. Matrices de Householder (1958) Sea u ∈ Rm , con kuk2 = 1. Se define la matriz Q por Q = I − 2uut ,
(II.5.17)
matriz que es sim´etrica y ortogonal. En efecto: t Qt = I − 2uut = I − 2uut , t Qt Q = I − 2uut I − 2uut
= I − 2uut − 2uut + 4uut uut = I.
La manera como act´ ua Q sobre Rm es la siguiente, sea x ∈ Rm , Qx = x − 2uut x, si ut x = 0, se tiene inmediatamente que Qx = x, de donde Q es una simetr´ıa respecto al hiperplano {x|ut x = 0}, en efecto Qu = I − 2uut u = −u.
II.5 M´ınimos Cuadrados
89
En base a estas matrices se construir´ a un m´etodo que permita descomponer la matriz A en QR en n − 1 pasos a lo m´aximo. Se busca una matriz Q1 = I − 2u1 ut1 con ku1 k2 = 1, tal que α1 ∗ · · · ∗ 0 ∗ ··· ∗ . Q1 A = .. .. ... . . 0
∗ ··· ∗
Denotando por e1 a (1, 0, . . . , 0)t y A1 la primera columna de la matriz A, hay que determinar Q1 , tal que Q1 A1 = α1 e1 ,
α ∈ R.
(II.5.18)
Por las propiedades de norma se tiene |α1 | = kA1 k2 , por consiguiente α1 = ± kA1 k2 ,
(II.5.19)
Q1 es una matriz de Householder, por lo tanto: A1 − 2u1 ut1 A1 = α1 e1 ,
2u1 (ut1 A1 ) = A1 − α1 e1 , | {z } ∈R
de donde u1 tiene la misma direcci´on que A1 − α1 e1 . En consecuencia, u1 =
A1 − α1 e1 . kA1 − α1 e1 k2
(II.5.20)
Sabiendo que la sustracci´ on es una operaci´ on mal condicionada cuando las cantidades a restar son cercanas, se plantea α1 = −signo(a11 ) kA1 k2 .
(II.5.21)
El siguiente paso es determinar Q1 Aj , donde Aj es la j-esima columna de la matriz A, definiendo v1 = A1 − α1 e1 , se tiene: v1t v1 1 = (At1 − α1 et1 )(A1 − α1 e1 ) 2 2 1 2 = kA1 k2 −α1 a11 − α1 a11 + α12 2 | {z } α21
= α1 (α1 − a11 ), Q1 Aj = Aj − 2u1 ut1 Aj
2 v1 v1t Aj v1t v1 1 = Aj − v1 v1t Aj . α1 (α1 − a11 )
= Aj −
(II.5.22)
90
II Sistemas Lineales
Despu´es del primer paso de la descomposici´ on QR, se ha obtenido α1 ∗ · · · ∗ 0 . Q1 A = (1) ¯ ... A 0
¯ 2 matriz de Householder, como en el primer El segundo paso es determinar Q paso, de manera que α1 ∗ ∗ · · · ∗ α1 ∗ · · · ∗ 0 α2 ∗ · · · ∗ 0 , 0 0 Q2 Q1 A = .. ¯ 2 A¯(1) = . Q .. . (2) ¯ .. A . 0 0 0 donde
1 0 Q2 = ...
0 ··· 0
0
¯2 Q
.
Costo de la descomposici´ on QR La descomposici´ on se la realiza en n − 1 ´etapas, Qn−1 · · · Q2 Q1 A = R, | {z } Qt
para el primer paso contando el producto escalar se efectuan: m + (n − 1)2m operaciones, por lo tanto, el costo es aproximadamente igual 2(mn + (m − 1)(n − 1) + · · · (m − n + 1), si n ≈ m se tiene ≈ 32 n3 operaciones; si n ≪ m se tiene ≈ mn2 operaciones. Programaci´ on La descomposici´ on QR presenta la ventaja que se puede utilizar las plazas ocupadas por los coeficientes de la matriz A, con los coeficientes de la matriz
II.5 M´ınimos Cuadrados
91
R y los vectores v1 . En lo que se sigue, se tiene un esquema del m´etodo de descomposici´ on QR. R A
v1
R
A¯(1)
→
→
α1
v1 v2
A¯(2)
α1 α2
Al final de la descomposici´ on se obtiene la siguiente matriz R v1 v2
..
. vn
α1 α2
· · · αn
Hay que observar que QR es aplicable, si las columnas de A son linealmente independientes. Si no fuesen linealmente independientes se llegar´ıa a la situaci´on de obtener un αi = 0, y la descomposici´ on en este caso ser´ıa num´ericamente inestable. Para evitar esta situaci´on, se puede modificar la descomposici´ on QR de la manera siguiente. Sea A la matriz a descomponer, se considera (II.5.23) kAjo k22 = max kAj k22 , j=1,...,n
se intercambia la primera columna A1 con Ajo y se procede el primer paso de la descomposici´ on QR, para el segundo paso se procede de la misma manera y as´ı sucesivamente. Por consiguiente, con esta modificaci´ on se obtiene la sucesi´on decreciente, α1 ≥ α2 ≥ · · · ≥ αk > 0. (II.5.24) Si hay vectores linealmente dependientes se llega por lo tanto al siguiente resultado α1 · · · r1n R1 R2 .. .. con R1 = R= . (II.5.25) . . 0 0 αk | {z } k = rangA
92
II Sistemas Lineales
La descomposici´ on QR es un instrumento num´erico que permite determinar el rango de la matriz A. Ahora bien, debido a los errores de redondeo, el principal problema consiste en decidir cuando un αj es nulo en la sucesi´on decreciente (II.5.24) . Se remarca inmediatamente que, si αk+1 = 0, entonces αk+i = 0 para i > 2. ˆ el resultado num´erico obtenido despues de k pasos Se define la matriz R como α1 .. ˆ2 R . . ˆ= R (II.5.26) αk 0 0 Planteando
ˆ Aˆ = QR,
(II.5.27)
se tiene la: Definici´ on II.5.2.- αk+1 es despreciable, si y solamente si
A − Aˆ ≤ eps kAk2 . 2
Se tiene, por consiguiente:
ˆ A − Aˆ = Q(R − R), kAk2 = kRk2 ,
ˆ
,
A − Aˆ = R − R 2
de donde
(II.5.28)
2
ˆ αk+1 despreciable ⇐⇒ R − R
≤ eps kRk2 , 2
ˆ αk+1 es una buena aproximaci´on de R − R
, y α1 es una buena aproxi2 maci´on de kRk2 , obteniedo el siguiente resultado αk+1 despreciable ⇐⇒ αk+1 ≤ eps α1 .
(II.5.29)
La pseudo-inversa de una matriz El problema (II.5.6) tiene una soluci´on u ´nica, si el rango de la matriz A es igual a n y est´ a dada por x = (At A)−1 At b.
(II.5.30)
II.5 M´ınimos Cuadrados
93
La matriz
A+ = (At A)−1 At ,
(II.5.31)
ser´ a la matriz inversa para el problema (II.5.6). Para el problema m´as general, donde le rango de A es ≤ n, la descomposici´ on QR da el siguiente resultado α1 · · · r1k R1 R2 .. ; , con R1 = R= . 0 0 0 αk planteando x = (x1 , x2 )t , con x1 ∈ Rk , se tiene
2
2 kAx − bk2 = Rx − Qt b 2
R1 x1 + R2 x2 − c1 2
−c2 2
kR1 x1 + R2 x2 − c1 k22 + kc2 k22 ,
de donde el:
Teorema II.5.3.- x = (x1 , x2 )t es soluci´on de kAx − bk2 −→ min, si y solamente si R1 x1 + R2 x2 = c1 . (II.5.32) Si el rango de A es igual a n, la soluci´on es u ´nica; si no las soluci´ones del problema (II.5.6) constituyen un espacio af´ın. Sea por consiguiente F = {x|x es soluci´on de (II.5.6)} , de donde, para obtener una soluci´on u ´nica, el problema (II.5.6) se convierte en kAx − bk2 −→ min , (II.5.33) kxk2 −→ min Definici´ on II.5.4.- La pseudo-inversa de la matrix A de orden m × n es la matriz A+ de orden n × m, que expresa la soluci´on x∗ para todo b ∈ Rm del problema (II.5.33) como x∗ = A+ b. (II.5.34) Si la matriz A es de rango n, entonces la pseudo inversa est´ a dada por la f´ormula (II.5.31). Para el caso m´as general se tiene los siguientes resultados: x1 x2 arbitrario F= , x2 x1 = R1−1 (c1 − R2 x2 ) 2
2
2
kxk2 = kx1 k2 + kx2 k2
2 2 = R1−1 (c1 − R2 x2 ) 2 + kx2 k2 −→ min .
(II.5.35)
94
II Sistemas Lineales
Derivando (II.5.35), se obtiene I + (R2t R1−t )R1−1 R2 x2 = R2t R1−t R1−1 c1 . | {z } sim´etrica y definida positiva
(II.3.36)
Se ha definido la pseudo-inversa de la matriz A, su existencia est´ a asegurada por el hecho que el problema (II.5.33) tiene soluci´on u ´nica, en lo que sigue se determinar´ a de manera expl´ıcita esta pseudo-inversa con algunas de sus propiedades m´as interesantes. Teorema II.5.5.- Sea A una matriz de m × n, entonces existe dos matrices ortogonales U y V tales que
t U AV =
σ1
..
.
0
σn
con:
σ1 ≥ · · · ≥ σk > 0, σk+1 = · · · = σn = 0.
(II.3.37)
(II.3.37) se llama la descomposici´ on a valores singulares de la matriz A y σ1 , . . . , σn son los valores singulares de la matriz A. Demostraci´ on.- La matriz At A es sim´etrica y semi definida positiva, por consiguiente existe una matriz V ortogonal tal que 2 σ1 .. V t At AV = , . σn2
con σ1 ≥ · · · ≥ σn ≥ 0. Se busca una matriz U ortogonal tal que
AV = U
σ1
..
.
0
σn ,
suponiendo σk > 0 y σk+1 = 0, se define D la matriz diagonal de k × k con coeficientes σi , i = 1, . . . , k; por consiguiente si D 0 AV = ( U1 U2 ) = ( U1 D 0 ) , 0 0
II.5 M´ınimos Cuadrados
95
donde U1 est´ a constituida por las primeras k columnas de U . Sean (AV )1 (AV )2
las primeras k columnas de AV, las otras n − k columnas de AV,
ˆ)t , donde x ˆ ∈ Rn−k , obteniendo: (AV )2 = 0, en efecto, sea x = (0, . . . , 0, x | {z } k
xt V t At AV x = xt
σ12
2
..
. σn2
2
kAV xk2 = k(AV )2 x ˆk2 ,
Se define U1 por
x = 0;
∀ˆ x.
U1 = (AV )1 D−1 ,
obteniendo columnas ortonormales, ya que U1t U1 = D−1 (AV )t1 (AV )1 D−1 = I
Finalmente se construye U2 , de manera que U sea ortogonal. Teorema II.5.6.- Sea A una matriz de m × n, siendo σ1 .. 0 . , U t AV = Σ = σk 0
(II.5.38)
la descomposici´ on en valores singulares. Entonces la pseudo-inversa de A est´ a dada por −1 σ1 .. 0 . U t. (II.5.39) A+ = V −1 σk 0 Demostraci´ on.- Se tiene
2 kAx − bk22 = U ΣV t x − b 2
2
2 t t Σ V = U (ΣV t x − U t b) 2 = − U b
|{z} |{z}
y c 2
2
Dy1
c 2 1
− = kΣy − ck2 =
0 c2 2 2
2
= kDy1 − c1 k2 + kc2 k2 .
96
II Sistemas Lineales
Para que la expresi´ on sea minimal es necesario que y1 = D−1 c1 . Por otro lado se tiene que y = V t x, de donde kyk2 = kxk2 , de manera, que para que x sea minimal es necesario que y2 = 0. De donde x =V =V =V
D−1 c1 0
D−1 0
0 0
D−1 0
0 0
=A+ b,
c1 c2
V tb
∀b.
Finalmente se tiene: Teorema II.5.7.- La pseudo-inversa de una matriz verifica las siguientes propiedades: a) b) c)
(A+ A)t = A+ A, (AA+ )t = AA+ , A+ AA+ = A+ ,
d)
AA+ A = A,
llamados axiomas de Moore-Penrose, adem´ as la pseudo-inversa est´ au ´nicamente determinada por estos axiomas. Demostraci´ on.- Verificaci´ on inmediata utilizando (II.5.39).
Error del M´ etodo de los M´ınimos Cuadrados Retomando la interpretaci´on estad´ıstica del m´etodo de los m´ınimos cuadrados. Se han dado dos hip´otesis de partida, para determinar la soluci´on: la primera sobre los yi de la ecuaci´on (II.5.5); la segunda concerniente a la compatibilidad de la funci´on modelo (II.5.2) con los datos (II.5.1). Suponiendo v´alidas estas dos hip´otesis, se tiene Aξ = µ,
(II.5.40)
donde µ = (µ1 , . . . , µm )t es la esperanza del vector aleatorio Y . Ahora bien, el m´etodo de los m´ınimos cuadrados da como soluci´on (x1 , . . . , xn )t , que por (II.5.30), es igual a x = (At A)−1 At b.
II.5 M´ınimos Cuadrados
97
Por lo tanto x − ξ = (At A)−1 At (b − µ) o
xi − ξ i =
m X j=1
αij (bj − µj ),
(II.5.41)
donde αij es el elemento (i, j) de la matriz (At A)−1 At . Se supondr´ a, por lo tanto, que xi es una realizaci´on de una variable aleatoria Xi definida por X i − ξi =
m X j=1
αij (Yj − µj ).
(II.5.42)
Teorema II.5.8.- Sean X1 , X2 , . . . , Xm variables aleatorias independientes, con esperanza µi y varianza σi = 1. Entonces, la variable aleatoria Xi , definida por (II.5.42), satisface E(xi ) = ξi
y
V ar(Xi ) = ǫii ,
(II.5.43)
donde ǫii es el i-esimo elemento de la diagonal de (At A)−1 . Los otros elementos de (At A)−1 son las covarianzas de Xi . Demostraci´ on.- Se tiene, utilizando la linearidad de la esperanza, E(Xi ) =
m X j=1
αij E(Yj − µj ) + ξi
= ξi .
Para calcular la varianza de Xi , se utiliza el hecho que V ar(Z1 + Z2 ) = V ar(Z1 ) + V ar(Z2 ), si Z1 y Z2 son independientes. De donde, con ei el i-esimo vector de la base can´ onica, se tiene V ar(Xi ) = V ar(Xi − ξi ) m X 2 V ar(Yj − µj ) = αij =
j=1 m X
2 αij
j=1
2
= (At A)−1 At ei 2
2
= eti (At A)−1 At 2
= eti (At A)−1 At A(At A)−1 ei = eti (At A)−1 ei = ǫii .
98
II Sistemas Lineales
Por consiguiente, si los yi son realizaciones de una variable aleatoria Yi que sigue N (0, 1), suponiendo que una soluci´on exacta ξ existe, entonces se tiene una probabilidad de 95% que ξi = xi ± 2σXi .
(II.5.44)
La f´ormula (II.5.43) da los valores de σXi , sin embargo se ha visto que la determinaci´ on de At A puede representar una cantidad grande de c´ alculo. Utilizando la descomposici´ on QR, se tiene At A = Rt Qt QR = Rt R.
(II.5.45)
Como las u ´ltimas filas de ceros no incide en el c´ alculo del producto Rt R, se puede considerar R como una matriz de n × n, obteniendo as´ı la descomposici´ on de Choleski de (At A). Una vez determinados los par´ametros x de la funci´on modelo (II.5.2) corresponde saber, si los (II.5.1) son compatibles con tal modelo. Por la descomposici´ on QR, el problema (II.5.6) se convierte, ver (II.5.15), en R C1 C1 x= , donde = Qt b. (II.5.46) 0 C2 C2 Denotando los elementos de Qt por qij , los elementos del vector C, satisfacen ci =
m X
qij bj ,
j=1
y las componentes del vector C2 satisfacen tambi´en ci =
m X j=1
qij (bj − µj ).
Es razonable considerar las variables aleatorias Zi =
m X j=1
qij (Yj − µj ),
i = n + 1, . . . , m.
(II.5.47)
A continuaci´on, se da la proposici´ on siguiente, sin demostraci´on. Proposici´ on II.5.9.- Sean Y1 , . . . , Ym variables aleatorias independientes siguiendo N (0, 1). Entonces las variables aleatorias Zn+1 , . . . , Zm , definidas por (II.5.47) son independientes y siguen tambi´en una ley normal N (0, 1). El error cometido, por el m´etodo de los m´ınimos cuadrados, es equiva2 lente a estudiar kC2 k2 de donde el teorema, sin demostraci´on:
II.5 M´ınimos Cuadrados
99
Teorema II.5.10.- Pearson. Sean Z1 , Z2 , . . . , Zn variables aleatorias independientes siguiendo la ley normal N (0, 1). Entonces, la distribuci´on de la variable aleatoria Z12 + · · · + Zn2 , (II.5.48) est´ a dada por fn (x) =
1 2n/2 Γ(n/2)
xn/2−1 e−x/2 , x > 0;
(II.5.49)
y por fn (x) = 0 para x ≤ 0. Es la ley χ2 con n grados de libertad. La experanza de esta variable es n y su varianza es 2n. Ejemplo A partir de la funci´on f (t) = t + 0.5 sin(πt/2), se ha elaborado la tabla II.5.1, que tiene como elementos (i, bi ) con 0 ≤ i ≤ 9, donde bi = f (i)+ǫi . ǫi es la realizaci´on de una variablea aleatoria siguiendo una ley normal N (0, σ) con σ = 0.1. Tabla II.5.1. Valores de bi en funci´on de i. i
bi
i
bi
0 0.11158 5 5.5158 1 1.2972 6 6.0119 2 2.07201 7 6.6802 3 2.4744 8 7.9294 4
3.963
9 9.4129
Se considera, la funci´on de modelo ϕ(t) = xt + y sin(πt/2).
(II.5.50)
Obteniendo por la descomposici´ on QR: x = 1.00074, y = 0.413516. El siguiente paso ser´ a estimar el intervalo de confianza para x y y. Para tal efecto, se considera el problema x
t sin(πt/4) bi +y = , σ σ σ
i = 0, . . . , 9;
100
II Sistemas Lineales pues, los bi /σ deben ser realizaciones de una variable normal con varianza igual a 1. De donde la matriz de covarianza est´ a dada por
σx2 σxy
σxy σy2
=
3.57143 · 10−5 −3.57143 · 10−5
−3.57143 · 10−5 2.03571 · 10−3
.
Por consiguiente: x = 1.00074 ± 0.012, y = 0.41352 ± 0.09. El m´etodo QR, con la notaci´on precedente da kC2 k2 = 0.0693103; corrigiendo, para el problema normalizado, se tiene kC2 k22 = 6.93103. σ2 Se tiene 10 − 2 grados de libertad. Viendo en una tabla de la distribuci´on χ2 , se deduce que este valor es lo suficientemente peque˜ no para ser probable. Ahora bien, si se hubiese considerado la funci´on de modelo ϕ(t) = xt + y, se hubiera encontrado
(II.5.51)
kC2 k22 = 90.5225, σ2
valor demasiado grande para ser probable. La conclusi´ on es que, para los valores de la tabla II.5.1, la ley (II.5.50) es m´as probable que la ley (II.5.51). En la figura II.5.3, puede observarse en linea continua la gr´afica de la funci´ on modelo dada por (II.5.50) y con lineas segmentadas la gr´afica de la funci´on modelo (II.5.1).
II.5 M´ınimos Cuadrados
101
10 9 8 7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
Figura II.5.3. Resultados del m´etodo de los m´ınimos cuadrados.
Ejercicios 1.- Sea A una matriz inversible de n × n. Mostrar que la descomposici´ on QR es u ´nica, si se supone que rjj > 0 para j = 1, . . . , n. 2.- Aplicar el algoritmo de Golub-Householder a la matrice de rotaci´on A=
cos α − sin α
sin α cos α
.
102
II Sistemas Lineales Dar una interpretaci´on geom´etrica.
3.- Sea Q una matriz ortogonal de n × n. Mostrar que Q puede escribirse como el producto de n matrices de Householder, de donde cada transformaci´on ortogonal de Rn es una sucesi´on de al menos n reflexiones. 4.- Escribir una subrutina DECQR(N,M,MDIM,A,ALPH), (A(MDIM,N),ALPH(N)), que calcula la descomposici´ on QR de una matriz m × n, m ≥ n. Escribir tambi´en una subrutina SOLQR(N,M,MDIM,A,ALPH,B) que calcula la soluci´on del problema kAX − bk2 −→ min . Determinar la parabola x1 + x2 t + x2 t2 , que ajusta lo mejor posible: ti 0 0, 2 0, 4 0, 6 0, 8 1.0 yi
0, 10
0, 15
0, 23
0, 58
0, 45
0, 60
5.- Sea A una matriz m × n. Mostrar que At A + ρI es no singular para ρ>0y A+ = lim (At A + ρI)−1 At . ρ→0+
Cap´ıtulo III Interpolaci´ on
Uno de los mayores problemas con que se tropieza, radica en la evaluaci´ on de las funciones en determinados puntos. Las causas principales de estas dificultades est´ an esencialmente en la dificil manipulaci´ on de estas funciones; una funci´ on tan inocente como la logaritmo presenta dificultades en su evaluaci´on y se debe recurrir a u ´tiles mat´ematicos como series, etc. Por otro lado, la sola informaci´on que se conoce de esta funci´on, son determinados puntos, e incluso suponiendo que ´esta es lo bastante regular, la evaluaci´ on en otros puntos es de gran dificultad. De donde un m´etodo de facil manipulaci´ on consiste en la aproximaci´on de las funciones a evaluar por polinomios. Existen dos enfoques diferentes, el primero radica en la aproximaci´on mediante polinomios de interpolaci´ on y el otro mediante la mejor aproximaci´on polinomial respecto a una norma. Este cap´ıtulo abordar´a sobre todo la aproximaci´on mediante polinomios. La primera parte tratar´a sobre la interpolaci´ on de Lagrange y Hermite, la formulaci´on de algoritmos para calcular estos polinomios ser´ a hecha, las estimaciones de error cometido ser´ an tambi´en estudiadas a fondo, como as´ı mismo los problemas de estabilidad inherentes a la interpolaci´ on de Lagrange ser´ an abordados con resultados y ejemplos, como elementos te´ oricos los polinomios de Chebichef ser´ an vistos dando como consecuencia resultados interesantes sobre la elecci´on de los puntos de interpolaci´ on. Un segundo t´ opico a ver ser´ a los splines, polinomios que operan como serchas, por su facil manipulaci´ on, como por su gran utilidad ser´ an estudiados en la formulaci´on de los m´etodos, el c´ alculo de error y sus diferentes aplicaciones. Un tercer tema de gran inter´es por las grandes utilidades que puede dar, consiste en los m´etodos de extrapolaci´ on tanto como en su valor te´ orico, como tambi´en por su propiedad de acelerar la convergencia de muchas sucesiones.
III.1 Interpolaci´ on de Lagrange
En la introducci´on del cap´ıtulo, se mencion´ o la interpolaci´ on como un instrumento de aproximaci´on de una funci´on determinada. Sea f una funci´on de la que se conoce las im´ agenes en una cantidad finita de puntos, es decir f (xi ) = yi
i = 1, . . . , n;
la funci´ on interpolante p ser´ a por definici´on igual a f (xi ) para i = 1, . . . , n. Se hablar´a de interpolaci´ on cuando se eval´ ua en el punto x con x ∈ [min xi , max xi ], y de extrapolaci´ on si no. Por su facil manipulaci´ on, pues solo se efectua multiplicaciones y adiciones, es conveniente que la funci´ on interpolante p sea un polinomio. Definici´ on III.1.1.- Dados (k +1) puntos diferentes: x0 , x1 , . . . , xk de [a, b], los enteros no negativos α0 , . . . αk y los reales yili con 0 ≤ i ≤ k y 0 ≤ li ≤ αi . El Polinomio de Hermite pn de grado n = k + α0 + · · · + αk , respecto a los xi , αi y los yili verifica pn(li ) (xi ) = yili . (III.1.1) Si los αi = 0 para i = 0, . . . , k, pn se llama Polinomio de Lagrange. Definici´ on III.1.2.- Cuando los puntos yili satisfacen yili = fn(li ) (xi ),
(III.1.2)
para una determinada funci´on f , pn es el polinomio de interpolaci´ on de Hermite, y si los αi son nulos, se hablar´a del polinomio de interpolaci´ on de Lagrange. Estas dos definiciones dan las condiciones que deben cumplir los polinomios de interpolaci´ on, sin embargo la existencia, como la unicidad no est´ an dadas, podr´ıa suceder que no existiesen en alg´ un caso. Por eso es necesario insistir en la base te´ orica que asegure la existencia y la unicidad de estos, adem´ as, para que la construcci´on de estos pueda ser relativamente facil.
Bases Te´ oricas Sin querer dar un tratado sobre la teor´ıa de los polinomios, existen resultados que deben formularse para la mejor comprensi´ on de la interpolaci´ on polinomial. Aunque en Algebra se hace distinci´on entre polinomio y su funci´on
´ n de Lagrange III.1 Interpolacio
105
polinomial asociada, no se har´a distinci´on entre estos, por que son polinomios a coeficientes reales o complejos los que se utilizan en la mayor parte de los problemas a resolverse num´ericamente. Definici´ on III.1.3.- Sea p(x) ∈ R[x], a es un cero de multiplicidad m de p(x), si p(k) (a) = 0 m = 0, . . . , m − 1, y p(m) 6= 0. Proposici´ on III.1.4.- a es un cero de multiplicidad m de p(x), si y solamente si, existe un polinomio q(x) con q(a) 6= 0 tal que p(x) = (x − a)m q(x). Demostraci´ on.-Ver en cualquier libro de Algebra.
Corolario III.1.5.- Un polinomio pn (x) de grado n tiene a lo m´as n ceros contando con su multiplicidad. Teorema III.1.6.- Existe a lo sumo un polinomio de Hermite de grado n respecto x0 , . . . , xk , α0 , . . . , αk , con k + α0 + · · · + αk = n, tal que pn(li ) (xi ) = yili , donde yili ∈ R, 0 ≤ li ≤ αi . Demostraci´ on.- Sean pn y qn dos polinomios de Hermite que satisfacen las hip´ otesis del teorema. pn − qn es un polinomio nulo o de grado ≤ n. Ahora bien, pn − qn tiene ceros de al menos multiplicidad αi + 1 en xi para i = 0, . . . , k. Por la proposici´ on anterior se tiene ! k Y αi +1 r(x), pn − qn = (x − xi ) i=0
sumando los grados, la u ´nica posibilidad es que r(x) = 0.
Teorema III.1.7.- Existe al menos un polinomio de Hermite de grado n respecto x0 , . . . , xk , α0 , . . . , αk , con k + α0 + · · · + αk = n, tal que pn(li ) (xi ) = yili , donde yili ∈ R, 0 ≤ li ≤ αi . Demostraci´ on.- Es suficiente mostrar que existe un polinomio de Hermite de grado n tal que para i ∈ {0, . . . , k} y l ∈ {0, . . . , αi } se tenga: p(l) (xi ) = 1,
p(m) (xj ) = 0 para m 6= l oj 6= i,
´n III Interpolacio
106
den´otese por pi,l este polinomio. xj para j 6= i es un cero de multiplicidad αj + 1, de donde:
pi,l
Y = r(x) (x − xj )αj +1 ) , j6=i
pi,αi
Y = Ci,αi (x − xi )αi (x − xj )αj +1 ) , j6=i
(α )
la constante Ci,αi es escogida de manera que pi,αii (xi ) = 1. Los polinomios pi,l se los define recursivamente de la siguiente manera
pi,l
X Y cil,m pi,m , = Ci,l (x − xi )αi (x − xj )αj +1 ) −
m>l
j6=i
(m)
donde las constantes cil,m son escogidas de manera que pi,l (xi ) = 0 para (l)
m > l y Ci,l de manera que pi,l = 1.
Para construir el polinomio de interpolaci´ on no debe utilizarse los polinomios definidos en la demostraci´on, uno porque el costo en operaciones es demasiado elevado y otro por la sensibilidad de estos polinomios as´ı definidos a los errores de redondeo.
Construcci´ on del Polinomio de Interpolaci´ on Inicialmente se considerar´ a polinomios de interpolaci´ on del tipo de Lagrange. Por lo tanto, dados los puntos x0 , . . . , xn todos diferentes, y los valores y0 , . . . , yn , el problema se reduce a encontrar un polinomio de grado n que satisfaga p(xi ) = yi 0 ≤ i ≤ n. (III.1.3) Indudablemente el caso m´as sencillo es para n = 1 y luego para n = 2. Para n = 1 la recta de interpolaci´ on est´ a dada por p(x) = y0 +
y1 − y0 x1 − x0
(x − x0 ),
para n = 2 la par´abola de interpolaci´ on est´ a dada por p(x) = y0 +
y1 − y0 x1 − x0
(x − x0 ) + a(x − x0 )(x − x1 ),
´ n de Lagrange III.1 Interpolacio
107
este u ´ltimo polinomio verifica p(x0 ) = y0 y p(x1 ) = y1 , por consiguiente es necesario determinar a de manera que p(x2 ) = y2 . Unos simples c´ alculos algebraicos dan y2 − y1 y1 − y0 1 . − a= x 2 − x0 x 2 − x1 x1 − x2
Para n = 3 se puede continuar con el mismo esquema, pero antes es necesario dar la noci´on de diferencias divididas.
Definici´ on III.1.8.- (Diferencias Divididas) Sean (x0 , y0 ), . . . , (xn , yn ), los xi diferentes entre si. Entonces las diferencias divididas de orden k se definen de manera recursiva por: y[xi ] = yi , yj − yi y[xi , xj ] = , xj − xi y[xi1 , . . . , xik ] − y[xi0 , . . . , xik−1 ] . y[xi0 , . . . , xik ] = xi k − xi 0
(III.1.4a) (III.1.4b) (III.1.4c)
Teorema III.1.9.- (F´ ormula de Newton). El polinomio de interpolaci´ on de grado n que pasa por (xi , yi ), i = 0, . . . , n, est´ a dado por p(x) =
n X
y[x0 , . . . , xi ]
i=0
con la convenci´on
−1 Y
i−1 Y
(x − xk ),
(III.1.5)
k=0
(x − xk ) = 1.
k=0
Demostraci´ on.- Por inducci´on sobre n. Para n = 1 y n = 2 la f´ormula de Newton es correcta, ver m´as arriba. Se supone que la f´ormula sea correcta para n − 1. Sea, p(x) el polinomio de grado n que pasa por (xi , yi ), i = 0, . . . , n; de donde p(x) = p1 (x) + a(x − x0 )(x − x1 ) · · · (x − xn−1 ), con p1 (x) el polinomio de interpolaci´ on de grado n − 1 que pasa por (xi , yi ) i = 0, . . . , n − 1. Por hip´otesis de inducci´on se tiene p1 (x) =
n−1 X
y[x0 , . . . , xi ]
i=0
i−1 Y
(x − xk ),
k=0
por lo tanto hay que demostrar que a = y[x0 , x1 , . . . , xn ].
´n III Interpolacio
108
Sea, p2 (x) el polinomio de interpolaci´ on de grado n − 1 que pasa por (xi , yi ), i = 1, . . . , n; definiendo el polinomio q(x) por q(x) = p2 (x)
(x − x0 ) (xn − x) + p1 (x) , (xn − x0 ) (xn − x0 )
q(x) es un polinomio de grado a lo sumo n, adem´ as q(xi ) = yi , i = 0, . . . , n. Por la unicidad del polinomio de interpolaci´ on se tiene que p(x) = q(x). Comparando los coeficientes del t´ermino de grado n se obtiene a=
y[x1 , . . . , xn ] − y[x0 , . . . , xn−1 = y[x0 , . . . , xn ] x n − x0
La f´ormula de Newton es muy simple y facil de implementar en un programa para determinar el polinomio de interpolaci´ on de tipo Lagrange, ver la figura III.1.1 donde se muestra un esquema del algoritmo de Newton.
x0 y[x0 ]
x1 y[x1 ]
ց ր ց
x2 y[x2 ]
ր
x3 y[x3 ]
ր
ց ց
y[x0 , x1 ]
y[x1 , x2 ]
y[x2 , x3 ]
ց ր ց ր ց
ր y[x3., x4 ] . .. .. ր
y[x0 , x1 , x2 ]
y[x1 , x2 , x3 ]
ց ր ց
y[x0 , . . . , x3 ]
ց
ր y[x1 , ... . , x4 ] . .. .. ր
y[x0 , ... . , x4 ] . .. ..
y[x2 , x. 3 , x4 ] . .. ..
x4 y[x4 ] .. . . .. . . .
Figura III.1.1. Esquema de la F´ormula de Newton. La programaci´ on del polinomio de interpolaci´ on es muy facil, adem´ as que se puede utilizar la plaza ocupada por yi . En efecto la primera columna del esquema es utilizada por los yi , se remarca inmediatamente que yn aparece una vez en los calculos, por consiguiente las u ´ltimas n − 1 lugares de la columna son utilizados por los n − 1 valores de las diferencias divididas que aparecen en la segunda columna, quedando el primer valor de y0 , y se continua de esta manera hasta obtener y[x0 , . . . , xn ].
´ n de Lagrange III.1 Interpolacio
109
Un caso particular en la determinaci´ on del polinomio de interpolaci´ on ocurre cuando la subdivisi´on de los puntos es uniforme, es decir xi = x0 + ih,
i = 0, . . . , n;
(III.1.6)
donde h = (xn − x0 )/n. Para poder implementar el algoritmo de Newton con esta subdivisi´on es necesario, las siguientes dos definiciones. Definici´ on III.1.10.- (Diferencias Finitas Progresivas) Sea y0 , y1 , . . . , una sucesi´on de n´ umeros reales, se define el operador de diferencias finitas progresivas de orden k de manera recursiva como sigue: ∇0 yi = yi , ∇yi = yi+1 − yi , ∇k+1 yi = ∇k yi+1 − ∇k yi .
(III.1.7a) (III.1.7b) (III.1.7b)
Definici´ on III.1.11.- (Diferencias Finitas Retr´ ogradas) Sea y0 , y1 , . . . , una sucesi´on de n´ umeros reales, se define el operador de diferencias finitas retr´ ograda de orden k de manera recursiva como sigue: ¯ 0 yi = yi , ∇ ¯ i = yi − yi−1 , ∇y k+1 ¯ ¯ k yi − ∇ ¯ k yi−1 . ∇ yi = ∇
(III.1.8a) (III.1.8b) (III.1.8b)
Ahora bien, tomando una subdivisi´on uniforme x0 < . . . < xn se tiene los dos resultados equivalentes para el polinomio de interpolaci´ on de Lagrange que pasa por los puntos (xi , yi ). Utilizando las diferencias finitas progresivas se tiene p(x) =
n i−1 X ∇i y0 Y i=0
i!hi
(x − xk ),
donde h = (xn − x0 )/n y con la convenci´on diferencias retr´ ogradas se tiene p(x) =
i−1 n ¯i X ∇ yn Y i=0
con la convenci´on
−1 Y
i!hi
(III.1.9)
k=0
−1 Y
(x − xk ) = 1. Utilizando las
k=0
(x − xn−k ),
(III.1.10)
k=0
(x − xn−k ) = 1. La programaci´ on es la misma que para
k=0
el caso general, con la u ´nica diferencia que no se efect´ uan divisiones. Por
´n III Interpolacio
110
consiguiente, se tiene el mismo esquema de resoluci´on para una subdivisi´on uniforme. En la figura III.1.2 se observa los esquemas para las diferencias finitas progresivas y las diferencias finitas retr´ ogradas.
x0 ∇0 y0
¯ 0 yn xn ∇ ց ր
x1
x2
x3
x4
∇y0
ց ∇0 y1 ∇2 y0 ց ր ց ∇y1 ∇3 y0 ր ց ր ց ∇0 y2 ∇2 y1 ∇4 y0 ց ր ց ր 3 ∇y2 ∇ y1 ր ց ր ∇0 y3 ∇2 y2 ց ր ∇y3 ր ∇0 y4
.. .. . . . . .
ր
¯0
xn−1 ∇ yn−1
ց ր
¯0
xn−2 ∇ yn−2
¯ 0 yn−3 xn−3 ∇
¯ 0 yn−4 xn−4 ∇
.. .
ց
.. .
ց ր ց ր
..
¯ n ∇y
¯ n−1 ∇y
¯ n−2 ∇y
¯ n−3 ∇y
ց ր
¯ 2 yn ∇
ց
ց ր ¯ 2 yn−1 1 ∇ ր ց ց ր
¯ 2 yn−2 ∇
ր
¯ 3 yn ∇
¯ 3 yn−1 ∇
ց ¯ 4 yn ∇ ր
.
Figura III.1.2. Esquemas para Diferencias Finitas La evaluaci´ on del polinomio de interpolaci´ on en un punto x ∈ [x0 , xn ] se la realiza utilizando el algoritmo de Horner, ver ejemplo secci´on I.1. Para ver la simplicidad de la determinaci´ on del polinomio de interpolaci´ on utilizando diferencias divididas, y si la subdivisi´on es uniforme, diferencias finitas; se tiene el siguiente: Ejemplo Se desea evaluar la raiz cuadrada de un n´ umero positivo, por ejemplo 1, 4. Para mostrar le eficacia y simplicidad, se va construir un polinomio de interpolaci´ on de grado 3, y con tal efecto se utiliza los puntos donde la raiz cuadrada es exacta como una expresi´ on decimal. xi 1, 00 1, 21 1, 44 1, 69 yi 1, 00 1, 10 1, 20 1, 30 Por consiguiente, el esquema de diferencias divididas para el polinomio de interpolaci´ on, est´ a dado por 1,00 1,00 1,21 1,10 1,44 1,20 1,69 1,30
ց ,4762 ր ց ց ր ,4348 ր ց ց ր
,400
ր
−,0941 −,0725
ց ,0313 ր
´ n de Lagrange III.1 Interpolacio
111
de donde el polinomio de interpolaci´ on es igual a p(x) =1 + 0, 476(x − 1) − 0, 094(x − 1)(x − 1, 21) + 0, 031(x − 1)(x − 1, 21)(x − 1, 44), y p(1, 4) = 1, 183.
El Error de Interpolaci´ on Sea f (x) una funci´on que cumple ciertas condiciones, se supone que se hace pasar un polinomio de interpolaci´ on por los puntos (xi , f (xi )), la pregunta natural es saber que error se comete con el c´ alculo del polinomio de interpolaci´ on, es decir p(x) − f (x) vale cuanto, para un x determinado. Es por esta raz´ on que los siguientes teoremas ser´ an enunciados para tener una idea del error cometido. Teorema III.1.12.- Sea f (x) n-veces continuamente diferenciable y yi = f (xi ), i = 0, . . . , n; los xi todos diferentes. Entonces existe ξ ∈ (min xi , max xi ) tal que y[x0 , x1 , . . . , xn ] =
f (n) (ξ) . n!
(III.1.11)
Demostraci´ on.- Se define la funci´on r(x) por r(x) = f (x) − p(x), donde p(x) es el polinomio de interpolaci´ on que pasa por (xi , f (xi )), i = 0, . . . , n. Se observa inmediatamente que r(xi ) = 0 para i = 0, . . . , n; por el teorema de Rolle se deduce que r ′ (x) se anula al menos una vez en cada subintervalo [xi , xi+1 ], es decir existe ξi1 ∈ (xi , xi+1 ), para i = 0, . . . , n. Aplicando una vez m´as Rolle se deduce que r ′′ (x) tiene n − 1 ceros en el intervalo [x0 , xn ], finalmente aplicando el teorema de Rolle las veces que sean necesarias se llega a la conclusi´ on que r (n) tiene al menos un cero en el intervalo requerido. Por otro lado r (n) (x) = f (n) (x) − n!y[x0 , . . . , xn ].
Teorema III.1.13.- Sea, f n+1 veces continuamente diferenciable y p(x) el polinomio de interpolaci´ on de grado n definido por (xi , f (xi )), i = 0, . . . , n y xi 6= xj si i 6= j. Entonces ∀x, ∃ξ ∈ (min(x0 , . . . , xn , x), max(x0 , . . . , xn , x)), tal que f (x) − p(x) = (x − x0 )(x − x1 ) · · · (x − xn )
f (n+1) (ξ) . (n + 1)!
(III.1.12)
´n III Interpolacio
112
Demostraci´ on.- Se deja x fijo, se plantea xn+1 = x. Sea p¯(x) el polinomio de interpolaci´ on de grado n + 1 que pasa por (xi , f (xi )), i = 0, . . . , n + 1. Por consiguiente p¯(x) = p(x) +
n Y
(x − xk )y[x0 , . . . , xn+1 ],
k=0
por el teorema anterior, se tiene p¯(x) = p(x) +
n Y
(x − xk )
k=0
f (n+1) (ξ) , (n + 1)!
p¯(x) = f (x), de donde el teorema queda demostrado.
Ejemplo Para el ejemplo de la implementaci´ on del m´etodo de diferencias divididas √ √ para calcular el valor 1, 4, la funci´on interpolada es x. El intervalo de estudio del polinomio de interpolaci´ on de grado 3 est´ a dado por [1; 1, 69], x0 = 1, x1 = 1, 21, x2 = 1, 44 y x3 = 1, 69. Por lo tanto √ x, 1 1 f ′ (x) = − x− 2 , 2 1 −3 ′′ f (x) = x 2 , 4 3 5 (3) f (x) = − x− 2 , 8 15 − 72 (4) f (x) = x , 16 f (x) =
para x ∈ [1; 1, 69], lo cual implica que el por consiguiente f (4) (x) ≤ 15 16 √ error cometido en el c´ alculo de x est´ a dado por: √ x − p(x) ≤ 15 |(x − 1)(x − 1, 21)(x − 1, 44)(x − 1, 69)| , p 16 · 4! 1, 4 − p(1, 4) ≤ 3, 45.10−5 .
El teorema II.1.13 da un resultado sobre el error cometido durante el proceso de interpolaci´ on. Este error depende de la derivada n´ umero n + 1 de la funci´on f , ´este depende por lo tanto de la funci´on a interpolar y est´ a
´ n de Lagrange III.1 Interpolacio
113
fuera de alcanze. Pero tambi´en el error depende de la subdivisi´on x0 , . . . , xn , por lo tanto en cierta manera es controlable. De ah´ı una pregunta natural surge: Sea [a, b] un intervalo. ¿C´omo escoger x0 , x1 , . . . , xn , tales que max |(x − x0 )(x − x1 ) · · · (x − xn )| −→ min ?
x∈[a,b]
(III.1.13)
Polinomios de Chebichef La respuesta de la anterior interrogante, est´ a en el estudio de los polinomios de Chebichef, que ya fueron tratados en la secci´on II.4. Definici´ on III.1.14.- El n-simo polinomio de Chebichef est´ a definido en el intevalo [−1, 1] por la siguiente relaci´on Tn (x) = cos(n arccos x).
(III.1.14)
Por lo tanto T0 (x) = 1, T1 (x) = x, etc. Los polinomios de Chebichef tienen las siguientes propiedades, que vale la pena enunciarlas en la siguiente proposici´ on. Proposici´ on III.1.15.- Los polinomios de Chebichef satisfacen: a) T0 (x) = 1, T1 (x) = x y Tn+1 (x) = 2xTn (x) − Tn−1 (x).
(III.1.15)
b) Se tiene para n entero no negativo: |Tn (x)| ≤ 1, para x ∈ [−1, 1]; kπ = (−1)k ; Tn cos n 2k + 1 Tn cos π = 0; 2n
(III.1.16) (III.1.17) (III.1.18)
para k = 0, 1, . . . , n − 1. Demostraci´ on.- El inciso a) se demuestra utilizando el hecho que cos((n + 1)ϕ) = 2cosϕ cos(nϕ) − cos((n − 1)ϕ). La primera parte del inciso b) es consecuencia de la definici´ on del n-simo polinomio de Chebichef. Las dos u ´ltimas relaciones provienen de las ecuaciones cos nϕ = 0 y |cos nϕ| = 1.
´n III Interpolacio
114
Finalmente, es facil observar que el coeficiente del t´ermino dominante de Tn para n > 0 es igual a 2n−1 . Los polinomios de Chebichef T0 , T1 , T2 y T3 pueden observarse en la figura III.1.3.
T0 (x)
T1 (x)
T2 (x)
T3 (x)
Figura III.1.3. Los cuatro primeros polinomios de Chebichef. Teorema III.1.16.- Sea q(x) un polinomio de grado n con coeficiente dominante 2n−1 para n ≥ 1 y q(x) diferente a Tn (x). Entonces max |q(x)| > max |Tn (x)| = 1.
x∈[−1,1]
x∈[−1,1]
(III.1.19)
Demostraci´ on.- La demostraci´on se la realiza por el absurdo. Se supone que existe un polinomio q(x) de grado n, tal que |q(x)| ≤ 1 para |x| ≤ 1,
´ n de Lagrange III.1 Interpolacio
115
de donde r(x) = q(x)−Tn (x) polinomio no nulo de grado al menos n−1, pero r(x) posee al menos n raices, lo que contradice que r(x) sea una polinomio de grado menor o igual n − 1. (2k + 1)π Teorema III.1.17.- Si xk = cos , entonces 2(n + 1) max |(x − x0 ) · · · (x − xn )|
x∈[−1,1]
es minimal respecto a todas las divisiones x0 < x1 < . . . < xn con xi ∈ [−1, 1]. Demostraci´ on.- Se tiene: (x − x0 ) · · · (x − xn ) = Tn+1 (x)2−n , (x − x ¯0 ) · · · (¯ x − xn ) = q(x)2−n .
Para construir una divisi´on ´optima para cualquier intervalo [a, b], se toma los puntos x ˆk definidos por x ˆk =
a+b b−a + xk , 2 2
(III.1.20)
donde los xk son los ceros del n + 1-simo polinomio de Chebichef.
Estudio de los Errores de Redondeo En esta subsecci´ on, se estudiar´ a la incidencia de los errores de redondeo en la determinaci´ on del polinomio de interpolaci´ on, m´as precisamente en los polinomios de interpolaci´ on de tipo Lagrange. Hay que recalcar que los errores de redondeo en el c´ alculo del polinomio interpolante est´ a muy relacionado con el concepto de estabilidad del algoritmo de determinaci´ on del polinomio de interpolaci´ on. El problema es el siguiente: Dada una subdivisi´on x0 , . . . , xn , determinar p(x) de grado n tal que p(xi ) = yi , i = 0, . . . , n. En el c´ alculo se cometen errores de redondeo por un lado, y por otro lado los datos iniciales tienen una parte de error de redondeo. Para simplificar el estudio de la estabilidad del polinomio de interpolaci´ on, los errores de redondeo a considerar son aquellos presentes en los yi , y se supone que no se comete errores de redondeo en los c´ alculos propiamente dichos y que los xi son considerados por su valor exacto. El teorema III.1.7 afirma la existencia de un polinomio de interpolaci´ on de grado n de tipo Lagrange para (xi , yi ), i = 0, . . . , n y los xi diferentes,
´n III Interpolacio
116
durante la demostraci´on de este teorema se vio de manera expl´ıcita la forma que deb´ıa tener este polinomio, recordando se enuncia el siguiente teorema: Teorema III.1.18.- Sean (xi , yi ), i = 0, 1, . . . , n, los xi diferentes entre si, p(x) el polinomio de grado n que satisface p(xi ) = yi . Entonces p(x) = donde
n X
li (x) =
yi li (x),
i=0 n Y j=0 j6=i
(III.1.21)
(x − xj ) . (xi − xj )
(III.1.22)
Como se dijo al inicio de esta subsecci´ on, se considerar´ a los errores de redondeo cometidos en los yi , es decir donde |ǫi | ≤ eps.
y¯i = yi (1 + ǫi ),
Definiendo el polinomio p¯(x) por p¯(xi ) = y¯i , i = 0, . . . , n. Realizando c´ alculos y mayoraciones se obtiene: p(x) − p¯(x) =
n X
|p(x) − p¯(x)| ≤
n X
i=0
i=0
(yi − y¯i )li (x), | {z } −ǫi yi
|ǫi | |yi | |li (x)|
≤ eps |y|max
n X i=0
|li (x)| ,
n X |p(x) − p¯(x)| ≤ eps |li (x)| . |y|max i=0
Definici´ on III.1.19.- La constante de Lebesgue asociada a la subdivisi´on x0 < x1 < · · · < xn , est´ a dada por Λn = max
[x0 ,xn ]
n X i=0
|li (x)| .
(III.1.23)
Ejemplos 2j a) Para la divisi´on equidistante xj = −1 + n , j = 0, . . . , n. Se puede mostrar que la constante de Lebesgue se comporta asint´oticamente, cuando n −→ ∞, como 2n+1 Λn ∼ , (III.1.24) en log n
´ n de Lagrange III.1 Interpolacio
117
En el ejercicio 7 de esta secci´on, se indica c´ omo se calcula num´ericamente estas constantes, en la tabla III.1.1 est´ an los resultados de estos c´ alculos. 2j + 1 b) Para la divisi´on con puntos de Chebichef xj = − cos π , se 2n + 2 puede mostrar que la constante de Lebesgue se comporta asint´oticamente, cuando n −→ ∞, como Λn ∼
2 log n. π
(III.1.25)
Tabla III.1.1. Constantes de Lebesgue
n
Divisi´on Equidistante
Divisi´on de Chebichef
10
29.900
2.0687
20
10987.
30 40 50 60 70 80 90 100
2.4792 6
2.7267
4.6925 · 109
2.9044
12
3.6398 · 10
3.0432
15
2.9788 · 10
3.1571
2.5281 · 1018
3.2537
21
2.2026 · 10
3.3375
24
1.9575 · 10
3.4115
1.7668 · 1027
3.4779
6.6011 · 10
Por los valores dados en la tabla, no se debe utilizar polinomios de interpolaci´ on de grado superior a 20, si la divisi´on utilizada es equidistante. Tratar en lo posible de utilizar los puntos de Chebichef para interpolaci´ on. En la figura III.1.4 se tienen las graficas de l11 para n = 18 para las divisiones equidistantes y de Chebichef. En la figura III.1.5, se ve claramente los errores cometidos por redondeo utilizando puntos equidistantes al interpolar la funci´ on sin(πx).
´n III Interpolacio
118
5
0
−1
0
1
−1
puntos equidistantes
−5
0
1
puntos Chebichef
Figura III.1.4. Gr´afica de un Polinomio de Lagrange.
1
1
n=15
−1
n=20
0 0
1
−1
−1
0
1
−1
1
1
n=30
−1
0
n=40
0 0
−1
1
−1
0
0
−1
Figura III.1.5. Interpolaci´ on de sin(πx).
1
´ n de Lagrange III.1 Interpolacio
119
Convergencia de la Interpolaci´ on En esta subsecci´ on, se analizar´ a el problema de la convergencia de la interpolaci´ on. Sea f : [a, b] −→ R, para cada entero natural se considera una subdivisi´on de [a, b] dada por (n)
x0
(n)
< x2
< · · · < x(n) n ,
pn (x) el polinomio de interpolaci´ on respecto a esta subdivisi´ on. Se desear´ıa saber que sucede cuando n −→ ∞, es decir n→∞
|f (x) − p(x)| −−−−−→ ?. Teorema III.1.20.- Sea f ∈ Cn∞ [a, b] tal que f (n) (x) o≤ M para todo (n) (n) (n) x ∈ [a, b] y para todo n ∈ N, sea x0 < x2 < · · · < xn una sucesi´on de subdivisiones de [a, b]. Entonces n→∞
max |f (x) − pn (x)| −−−−−→ 0,
x∈[a,b]
(III.1.25)
donde pn (x) es el polinomio de interpolaci´ on de grado n, respecto a las subdivisiones dadas. Demostraci´ on.- Utilizando el teorema III.1.13 y la hip´otesis que las derivadas de cualquier orden son acotadas se tiene (n+1) (ξ) (n) (n) f |f (x) − pn (x)| = (x − x0 ) · · · (x − xn ) (n + 1)! n+1 (b − a) n→∞ −−−−−→ 0. ≤M (n + 1)! Las funciones exponencial , senos y cosenos son acotadas y sus derivadas lo son tambi´en, motivo por el cual estas funciones pueden ser aproximadas por polinomios de interpolaci´ on teniendo asegurada la convergencia de la interpolaci´ on. El teorema III.1.20 da condiciones suficientes para asegurar la convergencia, no obstante existen muchas otras funciones cuyas derivadas de orden superior no est´ an acotadas por una sola constante M , por ejemplo funciones racionales. Por lo tanto es necesario poder enunciar otras condiciones para asegurar convergencia, o de lo contrario para decidir que sucede divergencia en el proceso de interpolaci´ on. Para poder comprender m´as aspectos de la convergencia o divergencia de la interpolaci´ on es necesario introducir algunas definiciones y resultados importantes en el estudio de la aproximaci´on de funciones por polinomios.
´n III Interpolacio
120
Consid´erese la aplicaci´ on Ln que a la funci´on f asocia su polinomio de interpolaci´ on en los puntos x0 , x1 , . . . , xn : Ln (f ) = pn . Se remarca inmediatamente que esta aplicaci´ on es lineal, ademas si Pn es el espacio de los polinomios de grado igual o menor a n se tiene ∀q ∈ Pn ,
Ln (q) = q.
Se puede mostrar, ver ejercicios, que Λn = max 0
g∈C [a,b] g6=0
kLn (g)k∞ , kgk∞
de manera que la constante Λn representa la norma del operador Ln respecto a la norma de la convergencia uniforme en C 0 [a, b]. Por otro lado se obtiene el siguiente teorema de mayoraci´on sobre el error de interpolaci´ on. Teorema III.1.21.- Dados una funci´on f ∈ C 0 [a, b] y su polinomio de interpolaci´ on de Lagrange en los puntos x0 , . . . , xn , se tiene kf − pn k∞ ≤ (1 + Λn )En (f ),
(III.1.26)
donde En (f ) = inf kf − qk∞ . q∈Pn
Demostraci´ on.- Para todo q ∈ Pn , se tiene f − pn = (f − q) − (pn − q) = (f − q) − Ln (f − q), por consiguiente kf − pn k ∞ ≤ kf − qk∞ + kLn (f − q)k∞ ≤ (1 + Λn ) kf − qk∞ , el resultado se obtiene tomando la cota inferior sobre los q ∈ Pn .
Definici´ on III.1.22.- La cantidad En (f ) se llama el grado de aproximaci´on de la funci´on f por los polinomios de grado≤ n, respecto a la norma de la convergencia uniforme. Examinando los diferentes factores de la mayoraci´on dada por el anterior teorema, la cantidad Λn depende solamente de la subdivisi´on tomada del intervalo [a, b], mientras que En (f ) depende solamente de la funci´on f . En el estudio de la estabilidad se vio Λn para dos tipos de subdivisi´on, los puntos de Chebichef y los equidistantes, se ha podido demostrar que Λn es minimal cuando se toman los puntos de Chebichef, pero en todos las sucesiones de subdivisiones dadas al principio de este paragrafo, se tiene lim Λn = ∞.
n→∞
´ n de Lagrange III.1 Interpolacio
121
Como Λn es la norma del operador Ln , consecuencia del teorema de Banach-Steinhauss, se tiene que, cualquiera sea la sucesi´on de subdivisiones (n) (n) x0 , . . . , xn , existe una funci´on continua f , tal que Ln (f ) no converge uniformente hacia f cuando n → ∞. El siguiene paso es estudiar el comportamiento de En (f ), cuando n → ∞; esto est´ a intimamente ligado a la regularidad de la funci´ on f y m´as particularmente a su m´odulo de continuidad, denotado por ω(f, h), definido por ω(f, h) = max |f (t) − f (t′ )| . (III.1.27) ′ t,t ∈[a,b] |t−t′ |≤h
Se verifica facilmente las propiedades siguientes del m´odulo de continuidad: i) la funci´on h → ω(f, h) definida sobre R+ es positiva, creciente y subaditiva, es decir: ∀h1 , h2 ≥ 0, ω(f, h1 + h2 ) ≤ ω(f, h1 ) + ω(f, h2 ), ii) si n ∈ N, ω(f, nh) ≤ nω(f, h); si λ ∈ R+ , ω(f, λh) ≤ (1 + λ)ω(f, h), iii) si f ∈ C 0 [a, b], lim ω(f, h) = 0 y la funci´on h → ω(f, h) es continua h→0
sobre R+ , iv) si f ∈ C 1 [a, b], ω(f, h) ≤ h kf ′ k∞ .
Teorema III.1.23.- Existe un real M , independientemente de n, a y b, tal que para todo n ≥ 1 y toda f ∈ C 0 [a, b], se tiene b−a En (f ) ≤ M ω f, . n
(III.1.28)
Demostraci´ on. El cambio de variable s = (x − a)/(b − a) permite de trasladarse al caso en que a = 0, b = 1, f ∈ C 0 [0, 1], lo que se supondr´ aa continuaci´on. Consid´erese primero el caso en que n = 2p es par, y planteando 4 !4 (p+1)t n sin 1 1 X (p − 2k)t 2 jn (t) = , cos = t αn αn 2 sin k=0 2 Rπ donde αn es escogido de manera que −π jn (t)dt = 1, es evidente que jn puede escribirse bajo la forma
jn (t) = a0n + a1n cos t + · · · + ann cos nt.
(III.1.29)
Planteando g(t) = f (|cos t|), est´ a claro que g es una funci´on par, continua sobre R y peri´odica de periodo π, adem´ as ω(g, h) ≤ ω(f, h) porque |t − t′ | ≤
´n III Interpolacio
122
h ⇒ ||cos t| − |cos t|| ≤ h. Continuando con la demostraci´on se introduce la funci´ on Z π Z π ϕn (s) = g(t)jn (s − t)dt = g(s − t)jn (t)dt, −π
−π
se tiene g(s) − ϕn (s) =
Z
π
−π
(g(s) − g(s − t))jn (t)dt,
de donde |g(s) − ϕn (s)| ≤ ≤
Z
π
−π Z π
−π
≤2
Z
|(g(s) − g(s − t))| jn (t)dt Z π ω(g, t)gn (t)dt ω(g, |t|)jn (t)dt = 2 0
π
0
Utilizando las mayoraciones
(1 + nt)jn (t)dt · ω(g, 1/n), por la propiedad ii. 2 sin x ≤ ≤ 1 para x ∈ [0, π/2], se obtiene π x Z π C tjn (t)dt ≤ , n 0
ver ejercicio 12, por lo tanto se tiene |g(s) − ϕn (s)| ≤ 2(1 + C)ω(g,
1 ). n
Se remarca que Z π Z π Z π g(t) sin(kt)dt g(t) cos(kt)dt + sin ks g(t) cos(k(s − t))dt = cos ks −π −π −π Z π g(t) cos(kt)dt, = cos ks −π
puesto que g es una funci´on par. Resulta de (III.1.29) y de la definici´on de ϕn que existe pn ∈ Pn tal que para todo s ∈ R, ϕn (s) = pn (cos s), por consiguiente se tiene max |f (x) − pn (x)| ≤ max |f (|cos s|) − pn (cos s)| = max |g(s) − ϕn (s)|
x∈[0,1]
s∈R
s∈R
≤ 2(1 + C)ω(g, 1/n) ≤ 2(1 + C)ω(f, 1/n). El caso en que n = 2p + 1 es impar se deduce del precedente remarcando que E2p+1 (f ) ≤ E2p (f ) y que ω(f, (b − a)/n) ≤ 2ω(f, (b − a)/(n + 1)).
´ n de Lagrange III.1 Interpolacio
123
Corolario III.1.24.- Teorema de Weirstrass. Sea [a, b] un intervalo cerrado y acotado de R, entonces el conjunto de las funciones polinomiales es denso en C 0 [a, b] para la topolog´ıa de la convergencia uniforme Demostraci´ on.- En efecto, por la propiedad iii) del m´odulo de continuidad, se tiene que b−a lim ω f, = 0, n→∞ n por consiguiente lim En (f ) = 0. para toda funci´on f ∈ C 0 [a, b]. n→∞
Corolario III.1.25.- Se supone que f ∈ C p [a, b], p ≥ 0, entonces para todo n > p se tiene (b − a)p p+1 (p) b − a En (f ) ≤ M . (III.1.30) ω f , n(n − 1) · · · (n − p + 1) n−p Demostraci´ on.- Por el teorema III.1.23, el corolario es cierto para p = 0, sup´ ongase cierto el enunciado del corolorio para p y sea f ∈ C p+1 [a, b], se tiene por lo tanto f ′ ∈ C p [a, b], de donde ∀n > p + 1 b−a (b − a) . ω f (p+1) , En−1 (f ′ ) ≤ M p+1 (n − 1) · · · (n − p) n−1−p Se puede mostrar, ver Crouzeix, Cap´ıtulo I.3, que existe q ∈R Pn−1 tal x que kf ′ − qk∞ = En−1 (f ′ ). Planteando por lo tanto p(x) = a q(t)dt y ϕ(x) = f (x) − p(x), se tiene p ∈ Pn , entonces En (f ) = En (ϕ), adem´ as kϕ′ k∞ = kf ′ − qk∞ = En−1 (f ′ ). Aplicando el teorema III.1.23 a la funci´on ϕ y la propiedad iv) del m´odulo de continuidad, se obtiene b−a b−a ′ En (f ) = En (ϕ) ≤ M ω ϕ, ≤M kϕ k∞ , n n de donde En (f ) ≤ M
p+2
b−a (b − a)p+1 (p+1) ω f , . n(n − 1) · · · (n − p) n−p−1
Utilizando las estimaciones dadas para las constantes de Lebesgue y el teorema III.1.21, se obtiene las mayoraciones siguientes del error de interpolaci´ on de Lagrange si f ∈ C p [a, b]: a) En el caso que los xi son equidistantes, (b − a)p 2n (p) b − a , kf − pn k∞ ≤ Cp p+1 ω f , n−p n log n
´n III Interpolacio
124
b) En el caso de los puntos de interpolaci´ on de Chebichef (p) b − a p log n , ω f , kf − pn k∞ ≤ Cp (b − a) np n−p este resultado con p = 0, da el resultado de Bernstein que dice que el interpolante de Lagrange con los puntos de Chebichef converge hacia f del momento en que lim ω(f, h) log h = 0, que es el caso si f ∈ C 1 [a, b]. h→0
Teorema III.1.26.- Si la funcion f ∈ C 1 [a, b], si los puntos utilizados durante el proceso de interpolaci´ on son puntos de Chebichef, entonces lim pn = f.
n→∞
La utilizaci´ on de los puntos de Chebichef en la aproximaci´ on de una funci´ on continuamente diferenciable en un intervalo [a, b], no implica necesariamente convergencia num´erica, pues el c´ alculo del polinomio interpolante por medio de computadoras est´ a imbuido de errores de redondeo. Por lo tanto hay que tener mucho cuidado cuando se utilizan muchos puntos de interpolaci´ on. Fen´ omeno de Runge Hasta ahora, se ha visto condiciones suficientes para asegurar la convergencia de la interpolaci´ on de una funci´on por polinomios. Tambi´en se ha mostrado que la utilizaci´ on de puntos de Chebichef en la interpolaci´ on de una funci´on continuamente derivable permit´ıa la convergencia. En esta parte, se ver´ a que tener una funci´on continuamente derivable y una divisi´on equidistante no es una condici´ on suficiente de convergencia. Con el siguiente ejemplo se ilustrar´ a el conocido fen´ omeno de Runge. En la figura III.1.6, puede apreciarse que la interpolaci´ on de Lagrange diverge cuando la divisi´on es equidistante. Mientras, que en la figura III.1.7. utilizando subdivisiones de Chebichef se tiene convergencia. En lineas punteadas se tiene la gr´afica de la funci´ on a interpolar.
1
−1
0 0 n=5
1
1 −1
0 0 n=10
1
1 −1
0 0
1
1 −1
n=15
Figura III.1.6. Interpolaci´ on con puntos equidistantes.
0
0
n=20
1
´ n de Lagrange III.1 Interpolacio
1
1
0 0
−1
125
1
0 0
1 −1
n=5
1 −1
n=10
1
0 0
1 −1
n=15
0
0
n=20
Figura III.1.7. Interpolaci´ on con puntos de Chebichef. Sea f : [−1, 1] −→ R, definida por f (x) =
1 , 1 + 25x2 (n)
(n)
funci´ on que es indefinidamente derivable. Sean x0 , . . . , xn la divisi´on equidistante de [−1, 1], pn (x) el polinomio de interpolaci´ on de grado n de la funci´ on f respecto a la subdivisi´on dada anteriormente. Prolongando f (x) al 1 1 plano complejo, se tiene que f (z) tiene polos simples en z = i y en z = − i. 5 5 Se considera un camino cerrado simple C tal que [−1, 1] ⊂ interior de C, y los polos est´en en el exterior de C. Por consiguiente se puede aplicar la f´ormula de Cauchy para integrales complejas, de donde
1 f (x) = 2iπ
Z
C
c f (z) dz. z−x
−1
1
Se define el polinomio Πn (x) de grado n por (n) (n) Πn (x) = (x − x(n) )(x − x ) · · · (x − xn ),
Por otro lado se comprueba facilmente que la expresi´ on (Πn (z) − Πn (x))/(z − x) es un polinomio de grado n respecto a x, definiendo el polinomio de grado n, q(x) por q(x) =
1 2iπ
(n)
Z
C
f (z) (Πn (z) − Πn (x)) dz, z−x Πn (z) (n)
(III.1.31)
se verifica que q(xi ) = f (xi ), de donde se ha mostrado el teorema siguiente.
1
´n III Interpolacio
126
Teorema III.1.27.- Si f es una funci´on racional con polos fuera de C. Entonces el error de interpolaci´ on est´ a dado por Z 1 f (z) Πn (x) f (x) − pn (x) = dz, (III.1.32) 2iπ C z − x Πn (z) donde pn es el polinomio de interpolaci´ on. Introduciendo valores absolutos, se obtiene Z 1 |f (z)| Πn (x) |f (x) − pn (x)| ≤ |dz| , 2π C |z − x| Πn (z)
por consiguiente se debe analizar el comportamiento cuando n −→ ∞ de la expresiones que aparecen en la integral precedente. Se tiene convergencia si Πn (x) n Πn (z) < κ ,
con κ < 1, de lo contrario cuando n −→ ∞ |f (x) − pn (x)| diverge. Por consiguiente hay convergencia en x ∈ [−1, 1] si y solamente si s Πn (x) < 1. lim n (III.1.33) n→∞ Πn (z)
En lugar de la expresi´ on (III.1.33), se puede utilizar ln
p 1 n |Πn (z)| = ln (|Πn (z)|) n n 2 X ln |z − xj | , = 2n j=0
como los xj son equidistantes, cuando n −→ ∞ se tiene
Z p 1 1 n ln |z − t| dt lim ln |Πn (z)| = n→∞ 2 −1 Z 1 1 log(z − t)dt = ℜ 2 −1 1 = ℜ {(z + 1) log(z + 1) + (1 − z) log(z − 1)} − 1. 2
Definiendo G(z) por 1 ℜ {(z + 1) log(z + 1) + (1 − z) log(z − 1)} − 1 , (III.1.34) G(z) = exp 2
´ n de Lagrange III.1 Interpolacio se obtiene que lim
n→∞
127
p n |Πn (z)| = G(z).
Si x ∈ R, la funci´on G es igual a 1 1 G(x) = exp ln(x + 1)(x+1) + ln(1 − x)(1−x) − 1 2 2 p 1+x 1−x = (1 + x) (1 − x) /e.
Para decidir si la interpolaci´ on converge para un x dado se debe tener necesariamente G(z)/G(x) < 1, esto sucede solamente si |x| < 0, 72668. La figura III.1.8 muestra una grafica de G(x) y en la figura III.1.7 est´ an dadas las curvas de nivel para G(z). y
2/e 1/e
1ó x G(z)=2/e
−1
1
0
Fig. III.1.8. Gr´afica de G(x).
Fig. III.1.9. Curvas de nivel de G(z).
Ejercicios 1.- Demostrar por inducci´on y[x0 , . . . , xn ] =
n X j=0
△n y0 =
yj
Y i6=j
n X n j=0
j
1 , x j − xi yj (−1)n−j .
2.- Sup´ongase conocidos los valores de la funci´on de Bessel Z 1 π J0 (x) = cos(x sin t)dt. π 0
´n III Interpolacio
128
para los puntos equidistantes xi = x + 0 + ih, i ∈ Z. a) ¿Para que h, el error de la interpolaci´ on lineal es menor a 10−11 ? b) La misma pregunta para la interpolaci´ on cuadr´atica. 3.- Calcular el polinomio de interpolaci´ on de grado n = 10 y n = 20, que pasa por (xi , f (xi )), i = 0, 1, . . . , n, donde f (x) = 1/(1 + 25x2 ). 2i a) xi = −1 + . n 2i + 1 π). b) xi = cos( 2n + 2 Hacer gr´aficas, estudiar los errores. 4.- Sea p(x) el polinomio de interpolaci´ on de grado 1 de una funci´on f dos veces continuamente derivable. Mostrar que el error satisface Z x1 G(x, t)f ′′ (t)dt (∗) f (x) − p(x) = con
x0
1 (x − x0 )(t − x1 ) h G(x, t) = 1 (t − x0 )(x − x1 ) h
si x ≤ t
.
si x ≥ t
Dibujar la funci´on G(x, ·). Deducir de (∗) el resultado del teorema III.1.13. n Y (x − xj ) 5.- Sean x0 < x1 < · · · < xn y li (x) = . (x i − xj ) j=0 j6=i
Verificar que la funci´on
λn (x) =
n X i=0
|li (x)|
tiene un solo m´aximo local sobre cada [xi−1 , xi ] n X ǫi li (x) con ǫ = ±1. Indicaci´ on: Sobre [xj−1 , xj ] se tiene a λn (x) = i=0
6.- Si la funci´on f : [x0 , x1 ] −→ R tiene solamente un m´aximo local y si x0 < a < b < x1 , entonces f (a) ≤ f (b) =⇒ x∗ ∈ [a, x1 ], f (a) ≥ f (b) =⇒ x∗ ∈ [x0 , b], donde f (x∗ ) =
max f (x).
x∈[x0 ,x1 ]
´ n de Lagrange III.1 Interpolacio
129
7.- Calcular las constantes de Lebesque Λn = max
x∈[−1,1]
n X i=0
|li (x)| ,
n = 10, 20, . . . , 100,
a) para la divisi´on equidistante xi = −1 + 2i/n, i = 0, 1, . . . , n; b) para los puntos de Chebichef. n X |li (x)| sobre [xj−1 , xj ] con la b´ usqueda Calcular el maximo de f (x) = i=0
de Fibonacci:
x1 = xj ,
10
x0 = xj−1 ,
d = γ(x1 − x0 ); a = x1 − d, b = x0 + d; d = γd; si (f (a) ≤ f (b)) entonces x0 = a, a = b, b = x0 + d si no x1 = b, b = a, a = x1 − d; si (x1 − x0 ≥ 10−14 ) vaya a 10 si no, final.
√ γ = ( 5 − 1)/2;
x0
a
b
x0
x0
a
x1
a
b
b
x1
8.- Sean dados (xi , yi , yi′ ), i = 0, 1, . . . , n, los xi distintos entre si. Mostrar que existe un u ´nico polinomio q(x) de grado 2n + 1 tal que q(xi ) = yi ,
q(xi ) = yi′
(i = 0, . . . , n).
Utilizar la f´ormula de Newton con (x0 , y0 ), (x0 +ǫ, y0 +ǫy0′ ), . . . y estudiar su l´ımite cuando ǫ → 0. ¿Qu´e f´ormula se obtiene para n = 2?, utilizar y[xi , xi ] = yi′ , Generalizar el ejercicio para cualquier polinomio de Hermite y obtener un esquema de c´ alculo semejante a la figura III.1.1. 9.- Se considera la funci´on f (s) = |s(s − 1) · · · (s − n)| definida para s ∈ [0, n]. a) Mostrar que f alcanza su maximo en un punto sn ∈ (0, 1/2) y que 1 sn ∼ cuando n → ∞. ln n b) Mostrar que lim [f (1/ ln n)(ln n/n!)] = 1/e, deducir que existe n→∞ c1 n! . c1 > 0 tal que ∀n > 1, f (sn ) ≥ ln n
x1
´n III Interpolacio
130
Sean {x0 , x1 , . . . , xn } n + 1 puntos equidistantes sobre el intervalo [a, b] con x0 = a y xn = b. Mostrar que existe una constante C2 tal que n Y C2 e−n (b − a)(n+1) . ∀n > 1. max (x − xi ) ≤ √ x∈[a,b] n ln n i=0
10.- Conservando las notaciones, construir una funci´on f ∈ C 0 [a, b] tal que kLn (f )k∞ = Λ kf k∞ y kf − Ln (f )k∞ = (1 + Λn ) kf k∞ . 11.- Se considera el conjunto {x0 , . . . , xn } de n + 1 puntos diferentes del intervalo [a, b] y Λn la constante de Lebesgue correspondiente a la interpolaci´ on de Lagrange en estos puntos. Se plantea n Y cos θ − cos θj ˆli (θ) = con θi = arccos((2xi − (a + b))/(b − a)), cos θi − cos θj j=0 j6=i
i = 0, . . . , n. a) Mostrar que:
! n X ˆ Λn = max li (θ) ; θ∈R
cos k(θ − ϕ) + cos k(θ + ϕ) = 0 ≤ k ≤ n. b) Planteando ϕn (θ) =
n X i=0
i=o
[cos k(θi − ϕ) + cos k(θi + ϕ)] ˆli (θ),
n h i X ˆli (θ + θi ) + ˆli (θ − θi ) − ˆli (θ) , mostrar que: i=0
ϕn (θ) = 1 + 2 1 si F (θ) = 2π
n X
cos kθ =
k=1 π
Z
−π
sin((n + 1/2)θ) ; sin(θ/2)
signo(ϕn (θ − s))ϕn (s)ds, entonces
Z 2 (n+1/2)π |θ| dθ = γn , |ϕn (s)| dθ ≤ 3Λn ≥ kF k∞ π 0 θ −π 4 1 γn − γn−1 = cuando n → ∞, 2 +O nπ n3 4 γn ∼ 2 ln n cuando n → ∞. π 12.- Sea jn la funci´on definida en la demostraci´on del teorema III.1.23. con n = 2p. Mostrar que ∀p ≥ 1, Z π tk jn (t)dt ≤ ck /nk , 1 = π
0
para k = 1 y 2.
Z
π
III.2 Splines C´ ubicos
En la secci´on precedente, se ha visto c´ omo determinar el polinomio de interpolaci´ on. Existen dos problemas de gran magnitud cuando se requiere encontrar un polinomio de interpolaci´ on dado un conjunto (xi , yi ), i = 0, . . . , n; el primero consiste en la inestabilidad de la interpolaci´ on de Lagrange cuando n es grande, por ejemplo para n ≥ 20 no es aconsejable tomar puntos equidistantes. El segundo problema es que aun obteniendo el polinomio de interpolaci´ on, ´este no refleja la verdadera forma de la funci´on a interpolar, por ejemplo, para una funci´on racional, se desear´ıa que el interpolante tenga la menor curvatura promedio, tal como se grafica con una sercha. Por consiguiente, dados los puntos a = x0 < x1 < · · · < xn = b y los reales yi con i = 0, . . . , n se busca una funci´on spline s, tal que:
(i) (ii) (iii)
s(xi ) = yi i = 0, . . . , n s ∈ C 2 ([a, b]), s de curvatura peque˜ na.
La curvatura de s est´ a dada por
κ(x) =
(s′′ (x) 3
(1 + (s′ (x))2 ) 2
,
suponiendo que s′ (x) es despreciable, se obtiene s′′ (x) = κ(x), por consiguiente la condici´ on, se expresa de la siguiente forma Z
xn
x0
(s′′ (x))2 dx −→ min .
(III.2.1)
En la figura III.2.1 se observa dos gr´aficas: la de la izquierda es de un polinomio de interpolaci´ on de tipo Lagrange; mientras que en la derecha
´n III Interpolacio
132
es la gr´afica del spline interpolante que pasa por los mismos puntos.
Figura III.2.1. Spline de Interpolaci´ on Definici´ on III.2.1.- Un spline c´ ubico es una funci´on s : [a, b] −→ R con a = x0 < x1 < · · · < xn = b, que satisface: s ∈ C 2 [a, b], s|[xj−1 ,xj ] polinomio de grado 3.
(III.2.2a) (III.2.2b)
Teorema III.2.2.- Dados (xi , yi ), i = 0, . . . , n, con a = x0 < x1 < · · · < xn = b. Sean: s : [a, b] −→ R un spline con s(xi ) = yi , f : [a, b] −→ R una funci´on con f (xi ) = yi , si s′′ (b)[f ′ (b) − s′ (b)] = s′′ (a)[f ′ (a) − s′ (a)], (III.2.3)
entonces
Z
b a
′′
2
[s (x)] dx ≤
Z
b
[f ′′ (x)]2 dx.
a
La condici´ on (III.2.3) es satisfecha si por ejemplo s′′ (a) = s′′ (b) = 0, o por ejemplo si f ′ (a) = s′ (a) y f ′ (b) = s′ (b). Definici´ on III.2.3.- Si s′′ (a) = s′′ (b) = 0, el spline se llama spline natural. ′ Si f (a) = s′ (a) y f ′ (b) = s′ (b) el spline se dice fijo en los bordes. Demostraci´ on.- Calculando las integrales, se obtiene Z b Z b Z b [f ′′ (x)]2 dx − [s′′ (x)]2 dx = [f ′′ (x) − s′′ (x)]2 dx a a |a {z } ≥0 Z b +2 s′′ (x)[f ′′ (x) − s′′ (x)]dx. a
´ bicos III.2 Splines Cu
133
Para demostrar la afirmaci´on del teorema, es suficiente mostrar que la segunda integral del miembro derecho de la ecuaci´on es nula. En efecto, integrando por partes, se tiene Z b b s′′ (x)[f ′′ (x) − s′′ (x)]dx = s′′ (x)[f ′ (x) − s′ (x)]|a {z } | a = 0 por (III.2.2) Z b s′′′ (x)[f ′ (x) − s′ (x)]dx − a
=− =−
n X
κj
j=1
xj
xj−1
j=1
n X
Z
[f ′ (x) − s′ (x)]dx x
κj [f (x) − s(x)]|xjj−1 = 0.
Construccion del Spline Interpolante En este paragrafo, se determinar´ a expl´ıcitamente el spline interpolante. Para tal efecto sea a = x0 < x1 < · · · < xn = b una divisi´on cualquiera del intervalo [a, b]; y sean y0 , y1 , . . . , yn n´ umeros reales. Se desea construir s : [a, b] −→ R, el spline tal que s(xi ) = yi . Llamando si = s|[ xi−1 , xi ] : [xi−1 , xi ] −→ R. Por consiguiente se busca una representaci´on de si , utilizando los siguientes datos: yi−1 ,
yi ,
pi−1 = s′i (xi−1 ),
pi = s′i (xi ).
(III.2.4)
Por lo tanto, si (x) es igual a si (x) =yi−1 + y[xi−1 , xi ](x − xi−1 ) + (x − xi−1 )(x − xi ) a(x − xi−1 ) + b(x − xi ) ,
(III.2.5)
pi−1 = s′ (xi−1 ) = y[xi−1 , xi ] + h2i b, pi = s′ (xi ) = y[xi−1 , xi ] + h2i b,
(III.2.6) (III.2.7)
faltando determinar los valores de a y b. Planteando hi = xi − xi−1 y derivando (III.2.5) en los puntos xi−1 y xi , se obtiene:
de donde si (x) =yi−1 + y[xi−1 , xi ](x − xi−1 ) (x − xi−1 )(x − xi ) + (pi − y[xi−1 , xi ])(x − xi−1 ) h2i + (pi−1 − y[xi−1 , xi ])(x − xi ) .
(III.2.8)
´n III Interpolacio
134
Ahora bien, se debe determinar los pi , i = 0, . . . , n de manera que s ∈ C 2 [a, b]. Por consiguiente: s′′i (xi ) = s′′i+1 (xi ) i = 1, . . . , n − 1, Utilizando la regla de Leibnitz (f g)′′ (x) = f ′′ (x)g(x) + 2f ′ (x)g ′ (x) + f (x)g ′′ (x), se obtiene:
d2 2 = 4hi , 2 (x − xi−1 ) (x − xi ) dx x=xi d2 2 = 2hi , 2 (x − xi−1 )(x − xi ) dx x=xi
de donde:
1 4(pi − y[xi−1 , xi ]) + 2(pi−1 − y[xi−1 , xi ]) , hi 1 s′′i+1 (xi ) = 2(pi+1 − y[xi , xi+1 ]) + 4(pi − y[xi , xi+1 ]) hi+1 s′′i (xi ) =
por lo tanto, pi−1 + 2pi hi
1 1 + hi hi+1
pi+1 y[xi−1 , xi ] y[xi , xi+1 ] + , (III.2.9) =3 + hi+1 hi hi+1
para i = 1, . . . , n−1. Es as´ı que se ha obtenido n−1 ecuaciones, teniendo n+1 ecuaciones, las dos ecuaciones que faltan para obtener un sistema completo, se obtienen de las condiciones de borde para x0 y xn . Si el spline es natural, se tiene s′′ (a) = s′′ (b) = 0, obteniendo: p0 p1 y[x0 , x1 ] + =3 h1 h1 h0 pn−1 pn y[xn−1 , xn ] 2 + =3 hn hn hn 2
(III.2.10a) (III.2.10b)
Si el spline est´ a fijado en los bordes, se tiene s′ (a) = f ′ (a) y s′ (b) = f ′ (b), obteniendo: p0 = f ′ (a), pn = f ′ (b).
(III.2.11a) (III.2.11b)
Existen muchos otros tipos de spline, como por ejemplo peri´odicos, de Bezier, etc. Las condiciones de borde son diferentes, pero las ecuaciones dadas
´ bicos III.2 Splines Cu
135
por (III.2.9) son esencialmente las mismas, estos aspectos ser´ an desarrollados con m´as detalle posteriormente o en la parte de los ejercicios. Por otro lado, las ecuaciones que determinan los pi pueden escribirse de manera matricial. A continuaci´on, se dar´an las notaciones matriciales para los splines natural y fijo. 3 0 h1 h1 y[x0 ,x1 ] p0 1 2( 1 + 1 ) 1 3 3 h2 h1 y[x0 ,x1 ]+ h2 y[x1 ,x2 ] p1 h1 h1 h2 3 1 1 3 2( h1 + h1 ) p2 0 h2 h3 h2 y[x1 ,x2 ]+ h3 y[x2 ,x3 ] 2 3 = . . . . . . . .. .. .. . . 1 1 1 3 3 1 2( h + hn ) hn hn−1 n−1 pn−1 hn−1 y[xn−2 ,xn−1 ]+ hn y[xn−1 ,xn ] 2
1 h1
1 hn
2 hn
3 hn
pn
y[xn−1 ,xn ]
Matriz del spline natural.
2( h1 + h1 )
1 h2
1 h2
2( h1 + h1 )
1
2
2
..
.
1 h3
3
.. 1 hn−1
. 2( h
1 n−1
p 1 p2 .. = .. . . 1 ) pn−1
+ hn
3 hn−1
3 h1
p
y[x0 ,x1 ]+ h3 y[x1 ,x2 ]− h0 2
3 h2
1
y[x1 ,x2 ]+ h3 y[x2 ,x3 ] 3
.. .
pn y[xn−2 ,xn−1 ]+ h3n y[xn−1 ,xn ]− h n
Matriz del spline fijo en los bordes. Denotando A, la matriz del spline natural como fijo en los bordes, se tiene el siguiente teorema. Teorema III.2.4.- La matriz A es inversible, es decir det A 6= 0. Demostraci´ on.- Se mostrar´ a que la siguiente implicaci´on es cierta Ap = 0 =⇒ p = 0. Sup´ongase que Ap = 0, entonces pi−1 1 1 pi+1 + 2pi ( + )+ = 0, hi hi hi+1 hi+1
´n III Interpolacio
136 se denota por pio a |pio | = max |pi | , i
por consiguiente 2 |pio | (
1 1 |pio | |pi | + )≤ o + , h io hio +1 h io hio +1
de donde 2 |pio | ≤ |pio | .
En uno de los ejercicios de la secci´on II.1, se muestra que el problema de encontrar los pi es un problema bien condicionado. Por otra lado la resoluci´ on de este sistema se procede facilmente con el algoritmo de Eliminaci´ on de Gauss, si n no es muy grande; en el caso contrario con un m´etodo iterativo utilizando el hecho que A es sim´etrica y definida positiva.
El Error de la Aproximaci´ on Spline Se ha visto en el paragrafo anterior, que la construcci´on del spline interpolante es muy simple, solo se requiere resolver un sistema tridiagonal de ecuaciones lineales. En esta parte, se insistir´a en las estimaciones del error cometido en el proceso de interpolaci´ on spline. Sean f : [a, b] −→ R una funci´on, a = x0 < x1 < · · · < xn = b una subdivisi´on del intervalo [a, b] y finalmente s(x) el spline fijo en los bordes que interpola f , es decir s(xi ) = f (xi ), i = 0, . . . , n; s′ (x0 ) = f ′ (x0 ); s′ (xn ) = f ′ (xn ); se desear´ıa saber que error se comete, en otras palabras |f (x) − s(x)| ≤ ? Teorema III.2.5.- Si f ∈ C 4 [a, b], a = x0 < x1 . . . < xn = b una subdivisi´on, hi = xi − xi−1 , los pi derivadas en los nudos del spline fijo en los bordes. Entonces |f ′ (xi ) − pi | ≤
h3
(4)
f , 24 ∞
(III.2.12)
´ bicos III.2 Splines Cu
137
donde h = max hi . Si adem´ as, la divisi´on es equidistante, se tiene |f ′ (xi ) − pi | ≤
h4
(5)
f . 60 ∞
(III.2.13)
Adem´ as del inter´es del resultado del teorema que servir´a para la estimaci´on del error, se tiene un medio simple para calcular las derivadas de f en los puntos xi . Demostraci´ on.- La demostraci´on del caso general es muy similar a la del caso de los puntos equidistantes, aqu´ı se mostrar´ a el caso equidistante, dejando al lector el caso general. La construcci´on del spline est´ a dada por las ecuaciones 1 3 (pi−1 + 4pi + pi+1 ) − 2 (f (xi+1 ) − f (xi−1 )) = 0. h h
(III.2.14)
Se define qi , i = 1, . . . , n − 1, por qi =
1 ′ 3 f (xi−1 ) + 4f ′ (xi ) + f ′ (xi+1 ) − 2 f (xi+1 ) − f (xi−1 ) (III.2.15) h h
Por otra lado, utilizando el teorema de Taylor con resto en el punto xi se tiene: h2 ′′ h3 f (xi ) + f (3) (xi ) 2! 3! Z 1 h4 (4) (1 − t)4 (5) + f (xi ) + h5 f (xi + th)dt, 4! 4! 0 h3 h2 f ′ (xi+1 ) = f ′ (xi ) + hf ′′ (xi ) + f (3) (xi ) + f (4) (xi ) 2! 3! Z 1 3 (1 − t) (5) + h4 f (xi + th)dt, 3! 0 f (xi+1 ) = f (xi ) + hf ′ (xi ) +
de donde, introduciendo en (III.2.15), se obtiene (1 − t)4 (5) (1 − t)3 f (xi + th)dt qi =h −3 3! 4! 0 Z 1 (1 − t)3 (1 − t)4 (5) 3 +h f (xi − th)dt. −3 3! 4! 0 3
Z
1
Utilizando el teorema del valor medio y calculando la integral Z 1 1 (1 − t)4 (1 − t)3 dt = −3 , 3! 4! 60 0
´n III Interpolacio
138 se obtiene finalmente que qi =
1 3 (5) h f (ξi ) + f (5) (ηi ) , 60
con ξi ∈ [xi−1 , xi ] y ηi ∈ [xi , xi+1 ], por consiguiente qi ≤
h3
(5)
f . 20 ∞
(III.2.16)
Restando (III.2.14) con (III.2.15), se tiene
ei = f ′ (xi ) − pi , que es soluci´on del sistema de ecuaciones 1 [ei−1 + 4ei + ei+1 ] = qi , h
i = 1, . . . , n − 1.
Sea io tal que |eio | = max |ei | , i=1,...,n
en consecuencia, se tiene: 4eio = hqio − eio −1 − eio +1 , 4 |eio | ≤ h |qio | + |eio −1 | + |eio +1 | ≤ h |qio | + |eio | + |eio | , de donde finalmente |ei | ≤ |eio | ≤
h |qi | . 2 o
Antes de poder estimar el error cometido por el polinomio de interpolaci´ on spline, es necesario el siguiente teorema. Teorema III.2.6.- Si xi = x0 + ih, con h = (b − a)/n, f ∈ C 5 [a, b], s(x) el spline fijo en los bordes, y p(x) el polinomio de interpolaci´ on de Hermite sobre el intervalo [xi−1 , xi ], tal que p(xj ) = s(xj ),
p′ (xj ) = f ′ (xj ),
j = i − 1, i.
Entonces |p(x) − s(x)| ≤
h5
(5)
f 240 ∞
para x ∈ [xi−1 , xi ].
(III.2.17)
´ bicos III.2 Splines Cu
139
Demostraci´ on.- El polinomio de Hermite, utilizando (III.2.8), est´ a dado por p(x) =yi−1 + y[xi−1 , xi ](x − xi−1 ) (x − xi−1 )(x − xi ) ′ (f (xi ) − y[xi−1 , xi ])(x − xi−1 ) + h2i + (f ′ (xi−1 ) − y[xi−1 , xi ])(x − xi ) , (III.2.18)
restando (III.2.18) con (III.2.8), se obtiene p(x) − s(x) =
por lo tanto
(x − xi−1 )(x − xi ) ′ (f (xi ) − pi )(x − xi−1 ) h2i + (f ′ (xi−1 ) − pi−1 )(x − xi ) ,
h4 f (5) ∞ |p(x) − s(x)| ≤ |x − xi−1 | |x − xi | [|x − xi | + |x − xi−1 |] 60
5 h (5) ≤
f . 240 ∞
Ahora bien, para tener una estimaci´on del error de la interpolaci´ on spline, solo falta conocer el error cometido por el polinomio de interpolaci´ on de Hermite, estimaci´on que est´ a dada en el siguiente teorema. Teorema III.2.7.- Sean, f ∈ [x0 , x1 ], h = x1 − x0 , p(x) el polinomio de interpolaci´ on de Hermite que satisface: p(xi ) = f (xi ), p′ (xi ) = f ′ (xi ), entonces |f (x) − p(x)| ≤
i = 0, 1; i = 0, 1;
h4
(4)
f . 384 ∞
(III.2.19)
Demostraci´ on.- Sean ǫ > 0 suficientemente peque˜ no, pǫ (x) el polinomio de interpolaci´ on que satisface: pǫ (x0 ) = f (x0 ),
pǫ (x0 + ǫ) = f (x0 + ǫ),
pǫ (x1 ) = f (x1 ),
pǫ (x1 − ǫ) = f (x1 − ǫ).
´n III Interpolacio
140 Por el teorema (III.1.13), se tiene para todo ǫ.
(4)
f , |f (x) − pǫ (x)| ≤ |(x − x0 )(x − x0 − ǫ)(x − x1 = ǫ)(x − x1 )| 4!
haciendo tender ǫ hacia 0, se obtiene
f (4) 2 2 |f (x) − p(x)| ≤ (x − x0 ) (x − x1 ) 4!
h4
(4) ≤
f . 384
Finalmente, con los anteriores teoremas se puede dar la siguiente estimaci´on del error del spline fijo en los bordes. Teorema III.2.8.- Sean, f ∈ C 5 [a, b], xi = x0 + ih, i = 0, . . . , n, con h = (b − a)/n, s(x) el spline fijo en los bordes de la funci´on f respecto a la subdivisi´on equidistante, entonces
h5 h4
(5) (III.2.20) max f (4) (x) + |f (x) − s(x)| ≤
f . 384 x∈[xi−1 ,xi ] 240 ∞
Demostraci´ on.- Suficiente utilizar la desigualdad del tri´angulo en los dos anteriores teoremas, es decir |f (x) − s(x)| ≤ |f (x) − p(x)| + |p(x) − s(x)| .
Los resultados obtenidos en los teoremas de esta subsecci´ on han sido demostrados para el caso de divisiones equidistantes, no obstante modificando las demostraciones para divisiones m´as generales se puede obtener resultados similares en la mayoraci´on del error de la interpolaci´ on spline, no hay que sorprenderse que las mayoraciones sean muy parecidas al del caso equidistante, con la diferencia que h est´e elevado a una potencia de un grado menor. Por otro lado, los teoremas enunciados consideran el caso del spline fijo en los bordes, para los otros tipos de spline, las mayoraciones del error de interpolaci´ on se deben efectuar utilizando los resultados anteriores m´as un error debido al cambio de tipo de spline. Teorema III.2.9.- Sean, f ∈ C 5 [a, b], xi = x0 + ih, i = 0, . . . , n; con h = (b − a)/n, sˆ(x) el spline fijo en los bordes, s(x) es el spline natural. Entonces
h2 h5
(5) |ˆ s(x) − s(x)| ≤ (III.2.21) max |f ′′ (x)| +
f , 8 x∈I1 ∪In 240 ∞
´ bicos III.2 Splines Cu
141
donde I1 = [x0 , xn ] y In = [xn−1 , xn ]. Demostraci´ on.- Sustrayendo los sistemas lineales que determinan pˆi y pi en la construcci´on de los splines fijo en los bordes y natural, se obtiene: (ˆ pi−1 − pi−1 ) + 4(ˆ pi − pi ) + (ˆ pi+1 − pi+1 ) = 0 i = 0, . . . , n − 1; 2(ˆ p0 − p0 ) + (ˆ p 1 − p 1 ) = C0 ; 2(ˆ pn − pn ) + (ˆ pn−1 − pn−1 = Cn ; donde: C0 = 3y[x0 , x1 ] − 2ˆ p0 − pˆ1 ,
Cn = 3y[xn−1 , xn ] − 2ˆ pn − pˆn−1 .
Sea io ∈ {0, 1, . . . , n}, tal que |ˆ pio − pio | = max |ˆ pi − pi |. i
Ahora bien,io = 0, o bien io = n, por que de lo contrario se tendr´ıa 4 |ˆ pio − pio | ≤ |ˆ pio −1 − pio −1 | + |ˆ pio +1 − pio +1 | ≤ 2 |ˆ p io − p io | . Suponiendo que io = 0, se tiene la siguiente mayoraci´on |ˆ pi − pi | ≤ |ˆ p 0 − p 0 | ≤ C0 ; en el otro caso, se obtiene |ˆ pi − pi | ≤ |ˆ p n − p n | ≤ Cn . Utilizando la f´ormula de Taylor, con resto en forma de integral, se obtiene para la funci´on f en el punto x0 , los siguientes resultados: f (x1 ) − f (x0 ) = hf ′ (x0 ) + h2 f ′ (x1 ) = f ′ (x0 ) + h
Z
Z
t
0
1
(1 − t)f ′′ (x0 + th)dt, (III.3.22)
f ′′ (x0 + th)dt;
(III.3.23)
0
y en el punto xn los siguientes resultados: f (xn−1 ) − f (xn ) = −hf ′ (xn ) + h2 f ′ (xn−1 ) = f ′ (xn ) − h
Z
0
1
Z
t 0
(1 − t)f ′′ (xn − th)dt,
f ′′ (xn − th)dt.
´n III Interpolacio
142
La f´ormula (III.3.13) del teorema III.3.5, conduce a las estimaciones: h4 60 4 h = f ′ (xn−1 ) + ǫ′ 60 pˆ1 = f ′ (x1 ) + ǫ
pˆn−1
(5)
f , ∞
(5)
f , ∞
con |ǫ| ≤ 1;
(III.3.24)
con |ǫ′ | ≤ 1.
Suponiendo que io = 0, introduciendo (III.3.22-24) en C0 , se obtiene ′
C0 = 3f (x0 ) + h
0
1
(1 − t)f ′′ (x0 + th)dt − 2f ′ (x0 ) − f ′ (x0 )
h4
(5)
f 60 ∞ 0 Z 1
4 h
tf ′′ (x0 + th)dt − ǫ f (5) , = −h 60 ∞ 0 −h
de donde
Z
Z
1
f ′′ (x0 + th)dt − ǫ
|C0 | ≤
1 h4
(5) h max |f ′′ (x)| +
f . 2 x∈I1 60 ∞
Si io = n, se obtiene similarmente |Cn | ≤
1 h4
(5) h max |f ′′ (x)| +
f . 2 x∈In 60 ∞
La diferencia de ambos splines est´ a mayorada por lo tanto por (x − xi−1 )(x − xi ) |ˆ p(x) − p(x)| = [(ˆ pi − pi )(x − xi−1 ) + (ˆ pi−1 − pi−1 )(x − xi )] 2 h
h 1 h5
(5) ′′ (|x − x − xi−1 | + |x − xi |) max |f (x)| +
f 4 2 x∈I1 ∪In 60 ∞
h2 h5
(5) ≤ max |f ′′ (x)| +
f . 8 x∈I1 ∪In 240 ∞ El spline fijo en los bordes es m´as preciso que el natural, siempre y cuando se conozca los valores de la derivada de la funci´on interpolada en los bordes. En la demostraci´on del u ´ltimo teorema puede observarse que la diferencias de los pi verifican una ecuaci´on de diferencias finitas con valores en la frontera, resolviendo esta ecuaci´on puede observarse que la diferencia entre los pi es mucho menor en los nudos centrales, que en aquellos que est´ an cerca de los bordes. Por consiguiente la estimaci´on del teorema (III.2.9) es muy pesimista, en la pr´ actica la diferencia de los errores es menor.
´ bicos III.2 Splines Cu
143
Aplicaci´ on de spline Al inicio de esta secci´on, los splines fuer´ on abordados como un instrumento num´erico de aproximaci´on, como una alternativa a la interpolaci´ on polinomial de tipo Lagrange. Esto debido a sus propiedades de no presentar problemas de inestabilidad num´erica, por sus cualidades de convergencia y por la poca curvatura que presentan.
Figura III.2.1. Aplicaci´on gr´afica de los splines Ahora bien, los splines son utilizados tambi´en como un instrumento gr´afico. Una gran cantidad de los algoritmos desarrollados en grafismo asistido por computadora, utilizan ampliamente los splines en sus diferentes versiones. En la figura III.2.2, se observa con claridad la potencia de la interpolaci´ on spline. En el dibujo de la izquierda, se tiene los puntos unidos por segmentos rectilinios, mientras que en el dibujo de la derecha unidos por splines.
Ejercicios 1.- Considerar puntos equidistantes xi = x0 +ih, h > 0. Mostrar que existe un u ´nico spline llamado B-spline, tal que para un j fijo se tiene: s(xj ) = 1, s(x) = 0 si |x − xj | ≥ 2h. Dibujar.
´n III Interpolacio
144
2.- Desarrollar una f´ormula para los splines peri´odicos. Mostrar la existencia y la unicidad del spline que pasa por (xi , yi ), i = 0, . . . , n, tal que s′ (x0 ) = s′ (xn ),
s′′ (x0 ) = s′′ (xn ).
3.- Escribir una subrutina SPLICO(N,X,Y,DY,P,A,B). Los datos son N, X(0:N), Y(0:N) y P(0), P(N). La subrutina debe dar como valores DY(0:N-1) diferencias divididas, P(0:N) los pi , A(0:N-1) los (pi − y[xi−1 , xi ]) y B(0:N-1) los (pi−1 − y[xi−1 , xi ]).
4.- Escribir una funcion SPLIVA(N,X,Y,DY,A,B,T) que calcula el valor del spline en el punto T. Examinarla sobre varias funciones de su elecci´on. 5.- Sea xi = x0 +ih, i = 0, . . . , n, una divisi´on equidistante y lj (x) el spline de tipo Lagrange que satisface ( 1, si i = j; 0, sino; y lj′ (x0 ) = 0, lj′ (xn ) = 0. Para las pendientes pi = lj (xi ) mostrar: 2 3 < pj < ; h h . . . , pj−3 > 0, pj−2 < 0, pj−1 > 0, pj+1 < 0, pj+2 > 0, . . . . −
6.- Los splines lj (x) del anterior ejercicio no cambian de signo en ning´ un intervalo [xi−1 , xi ]. 7.- Sobre el intervalo [xi−1 , xi ] n X i=0
|lj (x)| = ti (x)
es el spline que satisface ( 1 si j = i + 2k o j = i − 2k − 1 con k = 0, 1, . . . , −1 sino. 8.- Utilizando SPLICO y SPLIVA de los ejercicios 3 y 4. Calcular para xi = i/n, n = 20: a) el spline l7 (x), n X |li (x)|, b) la funci´on i=0
hacer dibujos. Verificar las propiedades de los ejercicios 5, 6 y 7.
III.3 Extrapolaci´ on
En las dos primeras secciones, se ha abordado la interpolaci´ on polinomial y la interpolaci´ on spline como un medio de aproximaci´on dentro un intervalo cerrado y acotado [a,b]. Sin embargo estos procedimientos no sirven cuando se trata de determinar el valor de una funci´on o el l´ımite de una funci´on definida en un intervalo abierto (a, b) o mas aun si la funci´on est´ a definida en un intervalo no compacto. En esta secci´on, se estudiar´ a la extrapolaci´ on por medio de funciones polinomiales, como una consecuencia natural de los resultados obtenidos en la primera secci´on de este cap´ıtulo. Por otro lado, se ver´ a que la extrapolaci´ on polinomial, no es solamente un instrumento para determinar valores fuera de cierto rango, si no tambi´en como un medio para acelerar la convergencia de suceciones convergentes. Sea f : (0, 1] −→ R, se desea determinar lim f (x),
(III.3.1)
x→0+
sabiendo que se puede determinar sin ning´ un problema f (h) para h > 0. Los otros casos de determinaci´ on de l´ımite se convierten el primer caso por traslaci´ on af´ın, o planteando h = 1/x si se desea determinar el l´ımite cuando x → ∞. Por consiguiente se supondr´ a que f tiene un desarrollo asimt´otico por derecha de la forma f (h) = a0 + a1 h + · · · + an hn + O(hn+1 ),
h > 0.
(III.3.2)
Sea 1 ≥ h0 > h1 > · · · > hn > 0 una subdivisi´on decreciente del intervalo (0, 1], por lo tanto lim f (x) ≈ p(0), (III.3.3) x→0+
donde p(x) es el polinomio de interpolaci´ on que pasa por (hi , f (hi )), i = 0, . . . , n. Escogiendo adecuadamente estos hi se puede obtener un algoritmo facil y sencillo de implementar, para este efecto es necesario la siguiente proposici´ on. Proposici´ on III.3.1.- Sean (xi , yi ), i = 0, 1, . . . , n, los xi diferentes entre si, p1 (x) el polinomio de interpolaci´ on de grado n − 1 que pasa por (xi , yi ), i = 0, . . . , n − 1, y p2 (x) el polinomio de interpolaci´ on de grado n − 1 que pasa por (xi , yi ), i = 1, . . . , n: entonces el polinomio p(x) de grado n que pasa por (xi , yi ), i = 0, . . . , n; est´ a dado por p(x) = p1 (x)
xn − x x − x0 + p2 (x) . xn − x0 xn − x0
(III.3.4)
´n III Interpolacio
146
Demostraci´ on.- Se puede ver facilmente que p(x) es un polinomio de grado menor o igual a n, En los nudos, excepto para i = 0 o i = n, se tiene xi − x0 x n − xi p1 (xi ) + x n − x0 xn − x0 x n − xi x i − x0 = yi , + x n − x0 x n − x0
p(xi ) =
para i = 0 y i = n verificaci´ on inmediata.
Corolario III.3.2.- Con las mismas hip´otesis del teorema precedente, se tiene p1 (0)xn − p2 (0)x0 p(0) = xn − x0 (III.3.5) p1 (0) − p2 (0) = p1 (0) + . xn /x0 − 1 Demostraci´ on.- Verificaci´ on inmediata.
Ahora bien, volviendo al problema de extrapolaci´ on, sea f : (0, 1] −→ R; 1 ≥ h0 > h1 > · · · > hn > 0 una subdivisi´on decreciente del intervalo (0, 1]. Suponiendo que f admite el desarrollo asint´otico por derecha, dado por f (h) = a0 + a1 h + · · · + an hn + O(hn+1 ), p(x) el polinomio de interpolaci´ on que pasa por (xi , f (xi )), i = 0, . . . , n; entonces se puede suponer lim f (x) ≈ p(0).
h→0+
Definiendo pj,k el polinomio de interpolaci´ on de grado ≤ k que pasa por (hi , f (hi )), j − k, j; se tiene por consiguiente p(x) = pn,n (x).
(III.3.6)
Utilizando la proposici´ on III.3.1 y el corolario III.3.2 se tiene las siguientes relaciones recursivas para determinar p(0): pj0 (0) =f (hj ), pj,k (0) − pj−1,k (0) . pj,k+1 (0) =pj,k (0) + hj−k−1 /hj − 1
(III.3.7a) (III.3.7b)
´n III.3 Extrapolacio
147
De donde estas relaciones recursivas pueden expresarse en un tablero, con la convenci´on de llamar pj,k = Tj,k . Tabla III.3.1. Tablero de Extrapolaci´ on. h0 h1 h2 h3 h4
T00 T10 T20 T30 T40 .. .
T11 T21 T31 T41 .. .
T22 T32 T42 .. .
T33 T43 .. .
T44 .. .
..
.
Los cocientes hj−k−1 /hj se deducen facilmente del tablero, se toma como numerador el hi que se encuentra en la misma diagonal a Tk,l y como denominador el hi que se encuentra en la misma fila que Tk,l . Ejemplo Un procedimiento para calcular π, es considerar la serie π=4
∞ X
(−1)k
k=0
1 . 2k + 1
Lastimosamente esta serie converge muy lentamente para obtener una precisi´ on deseada de π, pero se puede acelerar la convergencia de esta serie utilizando el procedimiento de extrapolaci´ on de Richardson, formulado anterioremente. Se define hk = 1/(2k + 1), f (hk ) = 4
k X
(−1)j
j=0
1 , 2j + 1
obteniendo as´ı el tablero siguiente 2.6667 2.8952 3.2381 2.9760 3.1781 3.1030 3.0171 3.1607 3.1302 3.1619 3.0418 3.1533 3.1367 3.1465 3.1292 3.0584 3.1495 3.1391 3.1434 3.1391 3.1500 3.0703 3.1473 3.1401 3.1424 3.1408 3.1431 3.1356 3.0792 3.1459 3.1407 3.1420 3.1413 3.1420 3.1407 3.1461 3.0861 3.1450 3.1410 3.1418 3.1414 3.1417 3.1414 3.1422 3.1381 3.0916 3.1443 3.1411 3.1417 3.1415 3.1417 3.1415 3.1417 3.1412 3.1444 3.0962 3.1438 3.1413 3.1417 3.1416 3.1416 3.1416 3.1416 3.1415 3.1419 3.1393
´n III Interpolacio
148
La pr´ actica en la extrapolaci´ on num´erica muestra que es pr´ actico y conveniente utilizar sucesiones de la forma hj = 1/nj , donde {nj }∞ j=0 es una sucesi´on creciente de n´ umeros naturales, por consiguiente la f´ormula (III.3.7) se convierte en pj0 (0) = f (hj ), pj,k+1 (0) = pj,k (0) +
pj,k (0) − pj−1,k (0) . nj−k−1 /nj − 1
(III.3.8)
Las tres sucesiones de enteros positivos crecientes son: i) Arm´onica: 1, 2, 3, 4, 5 . . .; ii) Romberg: 1, 2, 4, 8, 16, . . .; iii) Bulirsch: 1, 2, 3, 4, 6, 8, , 12, 16, . . ., es decir los enteros de la forma 2i y 3 · 2i .
Teorema III.3.3.- Sea f : (0, 1] −→ R, sup´ ongase que f tiene el desarrollo asint´ otico por derecha en x = 0, para k = 0, 1, 2, . . . , ko ; dado por f (x) = a0 + a1 x + · · · + ak xk + Rk+1 (x), con |Rk+1 (x)| ≤ Ck+1 xk+1 , para x > 0. Sea hj = 1/nj , con nj una sucesi´on creciente de naturales, entonces el procedimiento de extrapolaci´ on definido por (III.3.8) verifica la siguiente propiedad: Si para todo j > 0 se tiene hj+1 /hj ≤ r < 1, entonces Tm,k = a0 + O(hk+1 m−k ).
∀k con 0 ≤ k ≤ ko ,
(III.3.9)
Demostraci´ on.- Escribiendo el polinomio de interpolaci´ on de grado ≤ k, se tiene f (x) = pmk (x) + Rk+1 (x), de donde pmk (x) − f (x) =
con lm,k,i (h) =
m Y
j=m−k j6=i
m X
Rk+1 (hi )lm,k,i (x),
i=m−k
h − hj . Para x = 0, se deduce que hi − hj
Tmk − a0 =
m X
i=m−k
m Y
j=m−k j6=i
hj /hi Rk+1 (hi ). hj /hi − 1
(III.3.10)
´n III.3 Extrapolacio 149 hj /hi 1 por , mientras que Si j < i, se mayora h j /hi − 1 1 − r i−j j−i hj /hi por r si i < j, se mayora , finalmente |Rk+1 (hi )| por hj /hi − 1 1 − r j−i k+1 Ck+1 r i−m+k hm−k , deduciendo |Tm,k − a0 | ≤ C(k, r)Ck+1 hk+1 m−k
donde C(k, r) es una constante independiente de m.
La convergencia hacia a0 es obtenida en cada una de las columnas del tablero, para la primera columna la convergencia es O(hm ), para la segunda columna la velocidad de convergencia est´ a dada por O(h2m−1 ), y para la k-esima columna la velocidad de convergencia es igual a O(hk+1 m−k+1 ). Por consiguiente, si a1 6= 0 la convergencia de la k-esima columna es k veces mas rapida que de la primera columna. Las sucesiones de Romberg y Bulirsch satisfacen las condiciones del teorema III.3.3 con r = 1/2 y r = 3/4. Sin embargo la otra sucesi´on utilizada ampliamente en las extrapolaciones num´ericas como ser la arm´onica no cumple el requisito que hj+1 /hj ≤ r < 1. No obstante se tiene a disposici´ on el siguiente teorema. Teorema III.3.4.- Mismas hip´otesis del teorema III.3.3 para la funci´on f , se define hn = 1/n. Entonces se tiene: ∀k con 0 ≤ 2k ≤ ko
Tmk = a0 + O(hk+1 m ).
(III.3.11)
Demostraci´ on.- Se tiene Rk+1 (h) = qk (h) + R2k+1 (h) con qk (h) = ak+1 hk+1 + · · · + a2k h2k . Utilizando (III.3.10), se deduce Tmk − a0 =
m X
i=m−k
qk (hi )lm,k,i (0) + R2k+1 (hi )lm,k,i (0) .
Por el teorema III.1.13, se tiene qk (0) −
m X
i=m−k
qk (hi )lm,k,i (0) =
1 (k + 1)!
m Y
j=m−k
(k+1)
(−hj )qk
(ξ),
´n III Interpolacio
150 lo que muestra que m X
i=m−k
qk (hi )lm,k,i (0) = O(hk+1 m ).
Por otro lado lm,k,i (0) =
m Y
j=m−k j6=i
m Y hj i = , hj − hi i−j j=m−k
de donde |R2k+1 (hi )lm,k,i (0)| ≤ deduciendo facilmente el teorema.
j6=i
C2k+1 h2k+1 ik i
≤ C2k+1 y0k yik+1 ,
Debido al error de redondeo que se comete en el c´ alculo del polinomio de interpolaci´ on, y por consiguiente en el proceso de extrapolaci´ on, se debe evitar la utilizaci´ on de polinomios de interpolaci´ on de grado muy elevado, la pr´ actica aconseja no pasar de 10. Por otro lado, la extrapolaci´ on num´erica es muy utilizada en la construcci´on de m´etodos de integraci´on, como tambi´en en la construcci´on de m´etodos de resoluci´on de ecuaciones diferenciales.
Ejercicios 1.- Sea f : (0, 1] −→ R una funci´on cuyo desarrollo asint´otico por derecha en x = 0 est´ a dado por f (x) = a0 + a1 x2 + · · · + ak x2k + O(x2k+2 ). Modificar el algoritmo de Aitken-Naville, es decir el proceso de extrapolaci´ on, de manera que el n´ umero de operaciones se redusca ostensiblemente. 2.- En esta secci´on, se da un ejemplo de c´ omo acelerar la convergencia de una sucesi´on para calcular π. Suponiendo que el desarrollo asint´otico es par, como en el ejercicio 1, recalcule y compare. 3.- Utilizando el procedimiento de la secci´on III.1 para determinar la influencia de los errores de redondeo en la determinaci´ on del polinomio de interpolaci´ on. Estudie la influencia de los errores de redondeo en la extrapolaci´ on, suponiendo que los u ´nicos errores de redondeo que se comete son aquellos relativos a la evaluaci´ on de la funci´on f a ser extrapolada. √ 2, utilizando un√procedimiento √ de extrapolaci´ o√ n, por ejemplo 4.- √ Calcule √ 1 = 1, 1, 21 = 1, 1, 1, 44 = 1, 2, 1, 69 = 1, 3; 1, 96 = 1, 4; √ 1, 9881 = 1, 41, . . ..
Cap´ıtulo IV Ecuaciones No Lineales
En el cap´ıtulo II, se vio diferentes m´etodos para resolver problemas lineales, pero tambi´en existen problemas no lineales, como por ejemplo ecuaciones cuadr´aticas, polinomiales, trigonom´etricas y muchas otras m´as. La Historia de las Matem´ aticas muestra que los problemas lineales fueron estudiados y resueltos en tiempos inmemoriables, pero luego el hombre confront´o otros tipos de problemas cuya caracter´ıstica no era precisamente lineal. En el caso lineal la soluci´on de un problema puede darse de manera expl´ıcita, es suficiente determinar la inversa de la matriz del sistema y multiplicar para obtener la soluci´on de este problema. En el caso no lineal se continu´ o con esta ´ optica, lo cual es siempre posible bajo ciertas condiciones, como ejemplo se tiene el teorema de la funci´on inversa, pero lastimosamente en la mayor parte de los casos esta funci´on inversa no puede ser expresada como una combinaci´on de funciones elementales, entendiendose como funci´on elemental aquellas que uno estudia en colegio y los primeros semestres de universidad. En este cap´ıtulo, se intentar´a de cierta manera seguir este desarrollo hist´orico, dejando sobrentendido que el estudio de los problemas lineales en todas sus variantes es conocido por el lector. Por consiguiente, una primera parte ser´ a dedicada al estudio de las soluciones de ecuaciones polinomiales, teniendo como ep´ılogo el Teorema de Galois. Despu´es se abordar´a los m´etodos iterativos para encontrar la soluci´on o soluciones de una ecuaci´on, dando condiciones para asegurar la existencia, la unicidad local y la convergencia de tales m´etodos. Como una clase de m´etodo iterativo, se estudiar´ a el M´etodo de Newton, enunciando: teoremas de convergencia, existencia y unicidad de soluciones, algunos problemas frecuentes que se encuentran en la implementaci´on de tal m´etodo; como tambi´en modificaciones para simplificar su utilizaci´ on en determinadas situaciones. Finalmente, se ver´ a el equivalente del M´etodo de los M´ınimos Cuadrados, en los problemas no lineales, que es el M´etodo de Gauss-Newton.
IV.1 Ecuaciones Polinomiales
Una de la clase de ecuaciones que se confronta a diario son las ecuaciones polinomiales, que son de la forma xn + a1 xn−1 + · · · + an−1 x + an = 0,
(IV.1.1)
donde los ai son n´ umeros reales o complejos. Como C es una extensi´ on del cuerpo R, se puede suponer que el problema consiste en determinar las raices o ceros de un polinomio p(x) ∈ C[x]. La existencia de las soluciones de una ecuaci´on polinomial est´ a dada por el Teorema Fundamental del Algebra que se lo enuncia sin demostraci´on. Teorema IV.1.1.- Fundamental del Algebra. Sea p(x) ∈ C[x] de grado n, entonces p(x) tiene exactamente n ceros contando con su multiplicidad. Comentando este teorema, se puede agregar que un polinomio a coefientes reales puede no tener ceros reales; pero por el teorema Fundamental del Algebra, ´este tiene exactamente n raices contando con su multiplicidad. Por otro lado, p(x) puede ser visto como una funci´on de C en C, ahora bien toda funci´on polinomial es holomorfa, y si el polinomio es no nulo, entonces los ceros forman un conjunto discreto, es decir que para todo cero x0 , existe un r > 0 tal que p(x) 6= 0 para todo x ∈ C tal que 0 < |x| < r. Adem´ as, la utilizaci´ on del teorema de Rouch´e permite de determinar los discos donde se encuentran los ceros y complementando esta informaci´on el n´ umero exacto de ceros.
Ecuaciones Resolubles por Radicales Tal como se dijo en la introducci´on de este cap´ıtulo, se ha buscado inicialmente la manera de expresar la soluci´on de una ecuaci´on por medio de funciones elementales. En esta subsecci´ on, se ver´ a precisamente esta manera de expresar las soluciones. Se comenzar´a con el caso mas simple, las ecuaciones cuadr´aticas. Ecuaciones cuadr´ aticas Una ecuaci´on cuadr´atica o ecuaci´on polinomial de segundo grado es de la forma ax2 + bx + c = 0, con a 6= 0; ecuaci´on que es equivalente a x2 + ¯bx + c¯ = 0,
(IV.1.2)
153
IV.1 Ecuaciones Polinomiales completando cuadrados se tiene ¯b2 ¯b 2 + c¯ − = 0, x+ 2 4 obteniendo, as´ı dos raices: ¯b x1 = − + 2
r
¯b2 − c¯, 4
¯b x2 = − − 2
r
¯b2 − c¯. 4
(IV.1.3)
¯2
on usual de la raiz cuadrada. En Si b4 − c¯ ≥ 0, se utiliza la determinaci´ caso contrario, una determinaci´ on donde las raices cuadradas de n´ umeros negativos est´e definida. Ecuaciones C´ ubicas Las ecuaciones c´ ubicas o ecuaciones polinomiales de tercer grado son de la forma ax3 + bx2 + cx + d = 0, con a 6= 0; (IV.1.4) esta ecuaci´on dividiendo por a se reduce a una ecuaci´on de la forma x3 + a ¯x2 + ¯bx + c¯ = 0,
(IV.1.5)
planteando x ¯ = x + a/3, la ecuaci´on se convierte en una ecuaci´on de la forma x ¯3 − 3p¯ x − 2q = 0.
(IV.1.6)
Ahora bien, si se plantea x ¯ = u + v, se obtiene u3 + 3u2 v + 3uv 2 + v 3 − 3p(u + v) − 2q = 0, de donde u3 + v 3 + (u + v)(3uv − 3p) − 2q = 0, deduciendose, dos ecuaciones para u y v: (
uv = p, 3
u + v 3 = 2q;
por consiguiente u3 v 3 = p3 , mostrando as´ı que u3 , v 3 son las raices del polinomio de segundo grado λ2 − 2qλ + p3 ,
(IV.1.7)
154
IV Ecuaciones No Lineales
por lo tanto: u3 = q +
p q 2 − p3 ,
v3 = q −
p q 2 − p3 ;
para obtener finalmente la f´ormula de Cardano q q p p 3 3 2 3 x ¯ = q + q − p + q − q 2 − p3 .
(IV.1.8)
teniendo cuidado de verificar uv = p.
Ecuaciones polinomiales de grado cuarto Son ecuaciones que pueden escribirse de la forma x4 + ax3 + bx2 + cx + d = 0,
(IV.1.9)
planteando x ¯ = x + a/4, esta ecuaci´on se convierte en una ecuaci´on de la forma x ¯4 − p¯ x2 − 2q x ¯ − r = 0, (IV.1.10) introduciendo z ∈ C en la anterior ecuaci´on, se obtiene la siguiente ecuaci´on equivalente (¯ x2 + z)2 = (2z + p)¯ x2 + 2q x ¯ + z 2 + r, se elige z de manera que el segundo miembro de la ecuaci´on precedente sea una cuadrado perfecto, y eso ocurrre, si y solamente si (2z + p)(z 2 + r) − q 2 = 0,
(IV.1.11)
de donde z es raiz de una ecuaci´on de tercer grado, que ya ha sido resuelta anteriormente. Habiendo determinado z, se tiene: p p (¯ x2 + z)2 = (α¯ x + β)2 , con α = 2z + p, β = z 2 + r; (¯ x2 + α¯ x + z + β)(¯ x2 − α¯ x + z − β) = 0, por consiguiente, las cuatro raices de la ecuaci´on est´ an dadas por: p −α + α2 − 4(z + β) x1 = , (IV.1.12a) p 2 −α − α2 − 4(z + β) , (IV.1.12b) x2 = p 2 −α + α2 − 4(z − β) x3 = , (IV.1.12c) p 2 −α − α2 − 4(z − β) . (IV.1.12d) x4 = 2
155
IV.1 Ecuaciones Polinomiales
Ecuaciones no Resolubles por Radicales Se ha visto que las ecuaciones polinomiales de grado igual o menor a 4 tienen soluciones que pueden ser expresadas como una composici´ on de radicales. Las f´ormulas desarrolladas en el anterior paragrafo fuer´ on estudiadas y comprendidas hasta mediados del siglo XVI, posteriormente se atac´o al problema de las ecuaciones de grado superior, en particular a las ecuaciones de grado quinto. Todos los intentos iban en la direcci´on de encontrar una f´ormula general que estuviese expresada con radicales. Pero a principios del siglo pasado Galois mostr´o su famoso teorema que trastorno en cierta manera el mundo matem´atico de aquella ´epoca. Se enunciar´ a este teorema sin dar la demostraci´on. Teorema IV.1.2.- Galois. No existe una f´ormula general en forma de radicales para las ecuaciones polinomiales de grado superior o igual a 5. Este resultado lejos de descorazonar el estudio de las ecuaciones polinomiales constituy´o un aporte, ya que se atac´o el problema utilizando m´etodos anal´ıticos que estaban emergiendo con gran fuerza a principios y mediados del siglo pasado. Por otro lado se abandon´ o la idea de encontrar una f´ormula general, para insistir sobre la posible ubicaci´ on de los ceros de un polinomio. Se desarrollaron m´etodos iterativos para la soluci´on de estos problemas cuyo alcanze es mas vasto que el de las ecuaciones polinomiales.
Localizaci´ on de Ceros Como se dijo anteriormente, al no poder calcular expl´ıcitamente las raices de un polinomio, es importante determinar en que regi´on se encuentran estas raices de manera de poder aplicar un m´etodo iterativo. Sea, p(x) un polinomio a coeficientes complejos de grado n, es decir p(x) = a0 xn + a1 xn−1 + · · · + an , si x es una raiz, se tiene xn = −
a1 n−1 a2 n−2 an x − x + ··· − . a0 a0 a0
Introduciendo la matriz de Frobenius de esta ecuaci´on, se tiene a1 an − a0 − aa20 · · · −a 0 xn−1 1 xn−2 1 x ...x = .. . 1 1 0 {z | F matriz de Frobenius
n−1 x xn−2 . , ..x 1 }
156
IV Ecuaciones No Lineales
de donde p(x) = 0, si y solamente si x es un valor propio de F . Por lo tanto la localizaci´on de ceros de p(x) es equivalente a localizar los valores propios de la matriz F . A continuaci´on se da un teorema cuya demostraci´on ser´ a hecha en el cap´ıtulo 5. Teorema IV.1.3.- Gerschgorin. Sean A una matriz, λ un valor propio de A, entonces existe i tal que X |aij | . (IV.1.13) |λ − aii | ≤ j6=i
Aplicando este teorema a la matrix F se tiene la siguiente estimaci´on: Corolario IV.1.4.- La raices del polinomio p(x) = a0 xn + · · · + an , con a0 6= 0 verifican ! n X ai . |x| ≤ max 1, (IV.1.14) a0 i=1
Uno de los resultados pr´ acticos e importantes en el ´algebra de valores propios, es que la propiedad de valor propio es invariante por trasposici´ on, por consiguiente, el: Corolario IV.1.5.- Las mismas hip´otesis del corolario precedente, dan la estimaci´on siguiente ai (IV.1.15) |x| ≤ max 1 + . 0≤i≤n a0
Utilizando el teorema de Rouch´e y otros, se puede encontrar mas estimaciones sobre la localizaci´on de los ceros de un polinomio. Por ejemplo, en los ejercicios se debe mostrar la siguiente estimaci´on s s ! i ai n an |x| ≤ 2 max . (IV.1.16) , 1≤i≤n−1 a0 2a0
Con el siguiente ejemplo se ver´ a que existen mejores estimaciones que otras, esto depende sobre todo del tipo de polinomio que se tiene. Ejemplo Se consider´a la ecuaci´on xn − 2 = 0,
la primera estimaci´on, como la segunda dan |x| ≤ 2n , mientras que, la tercera da |x| ≤ 2. Debido a la aritm´etica de los ordenadores, el tipo REAL es un conjunto finito, que se asemeja mucho mas a los n´ umeros racionales que los reales,
157
IV.1 Ecuaciones Polinomiales
por eso que se puede suponer que p(x) ∈ Q[x]. Por otro lado, cuando los polinomios tienen raices de multipliciad mayor a 1, la mayor parte de los algoritmos no funcionan, debido a la inestabilidades que se pueden presentar, o a las caracter´ısticas propias de los m´etodos empleados. Sea p(x) ∈ Q[x], p′ (x) su derivada, se define el polinomio q(x) utilizando el algoritmo de Euclides, por q(x) = mcd(p, p′ ),
(IV.1.17)
de donde el polinomio r(x) = p(x)/q(x) tiene las mismas raices que p(x) pero todas simples. Por consiguiente, se ha visto un procedimiento simple para reducir un polinomio p(x) a otro polinimio simple. En lo que sigue, se puede suponer que los polinomios considerados tienen raices simples.
M´ etodo de Newton Uno de los m´etodos com´ unmente utilizados en la determinaci´ on de raices de un polinomio, consiste en el uso del m´etodo de Newton. Aqu´ı se formular´a este m´etodo, sin estudiar la convergencia y el c´ alculo de error, dejando ´esto para el siguiente paragrafo. Por lo tanto, el m´etodo est´ a dado por la relaci´on recursiva siguiente — —
x0 arbitrario, proximo a una soluci´on. p(xk ) xk+1 = xk − ′ , donde p(x) es el polinomio a determinar p (xk ) sus raices.
El problema consiste en determinar todas las raices reales de p(x) = 0, suponiendo que se ha encontrado la primera raiz, se podr´ıa utilizar nuevamente el m´etodo de Newton utilizando otra valor, pero existe la posibilidad de encontrar nuevamente la primera soluci´on. Para evitar esta situaci´on se puede proceder b´ asicamente de dos maneras. La primera, una vez que se ha encontrado la raiz ξ1 , se define el polinomio q(x) =
p(x) , x − ξ1
(IV.1.18)
aplicando Newton sobre q(x). El principal inconveniente de este procedimiento radica en el hecho que ξ puede no ser racional, motivo por el cual r(x) ya no es exacto y la propagaci´on de errores de redondeo puede dar resultados completamente alejados de la realidad. El segundo procedimiento consiste en aplicar el m´etodo de Newton a q(x), pero sin calcular los coeficientes de q(x). Sea p(x) el polinomio a determinar sus raices, suponiendo que se conoce de antemano ξ1 , . . . , ξk raices de p(x), de donde q(x) =
p(x) . (x − ξ1 ) · · · (x − ξk )
(IV.1.19)
158
IV Ecuaciones No Lineales
Introduciendo el logaritmo y derivando se obtiene: log q(x) = log p(x) − k
k X i=1
log(x − ξi ),
q ′ (x) 1 p′ (x) X = − . q(x) p(x) (x − ξi ) i=1
(IV.1.20)
Aplicando el m´etodo de Newton a (IV.1.19), utilizando (IV.1.20), se obtiene como m-sima iteraci´on. xm+1 = xm −
p(xm ) k X ′ p (xm ) − p(xm ) i=1
.
(IV.1.21)
1 (xm − ξi )
Este u ´ltimo procedimiento se conoce como el m´etodo de Maehly. Este m´etodo es num´ericamente estable, en efecto considerando el siguiente ejemplo dado por Stoer. Ejemplo Se considera el polinomio p(x) definido por p(x) =
12 Y
(x − 2−j ) = x13 + a1 x12 + · · · + a12 .
j=0
Calculando los coeficientes en simple precisi´ on e utilizando el m´etodo de Newton en sus dos variantes se obtiene la tabla IV.1.1. As´ı mismo, el m´etodo de Newton permite encontrar las raices complejas, mas precisamente las raices no reales, de una ecuaci´on polinomial. Para tal efecto, el punto de partida debe ser un n´ umero complejo no real, pues puede observarse que partiendo de un punto real, los valores obtenidos por el m´etodo de Newton son reales, ya sea con la primera variante, o con la mejora de Maschley. Puede suceder que una vez encontradas todas las raices reales del polinomio, siendo ´estas no todas las raices; si no se tiene cuidado, se producir´ a un fen´ omeno de oscilaci´ on con el m´etodo de Newton. Por lo tanto hay que agregar al algoritmo que a partir de un n´ umero determinado de iteraciones, si no se ha alcanzado la convergencia hacia una raiz, se detenga el proceso, quedando por lo tanto dos alternativas: la primera verificar si todas las raices reales han sido calculadas, para luego comenzar con un n´ umero complejo no real; la segunda alternativa consiste en cambiar simplemente de punto inicial.
159
IV.1 Ecuaciones Polinomiales
Tabla IV.1.1. Error en el c´ alculo de raices para un caso extremo. METODO DIVISION
METODO MAEHLY
SOL EXAC
SOL NUM
ERROR
SOL NUM
ERROR
1/1
1.00
0.0
1.000
0.0
0.5000
0.894 · 10−7
−4
0.950 · 10
1/2
0.500
1/22
−0.15
0.400
0.2500
−0.426
0.551
0.1250
0.560
0.498
−0.132
0.163
0.266
0.250
1/27
0.157
0.149
1/28
−0.237 · 10−1
0.028
−0.740
0.742
0.865
0.864
0.140
0.140
1/23 1/24 1/25 1/26
1/29 1/210 1/211 1/212
0.894 · 10−7 0.820 · 10−7
0.6250 · 10−1 0.138 · 10−6 0.671 · 10−7 0.140 · 10−7
0.1562 · 10−1 0.419 · 10−8 0.7813 · 10−2 0.168 · 10−7 0.1953 · 10−2 0.168 · 10−7 0.3906 · 10−2 0.291 · 10−9
0.9766 · 10−3 0.291 · 10−10 0.4883 · 10−3 .146 · 10−10
−0.179 · 10−1 0.181 · 10−1 0.2441 · 10−3 0.728 · 10−10
Sucesiones de Sturm La utilizaci´ on de sucesiones de Sturm en la resoluci´on de ecuaciones polinomiales permite determinar las raices reales y no as´ı las raices no reales. En la mayor parte de los problemas, es solo importante conocer los ceros reales, motivo por el cual los procedimientos que utilizan sucesiones de Sturm son muy comunes en la resoluci´on de ecuaciones polinomiales Definici´ on IV.1.6.- Una sucesi´on {f0 , f1 , . . . , fn } de funciones definidas en R con valores reales, continuamente derivables es una sucesi´on de Sturm, si: a) f0′ (x∗ )f1 (x∗ ) < 0 si f0 (x∗ ) = 0, x∗ ∈ R. b) fj−1 (x∗ )fj+1 (x∗ ) < 0 si fj (x∗ ) = 0, 1 ≤ j ≤ n − 1. c) fn (x) no cambia de signo sobre R y es positiva Teorema IV.1.7.- Sea {f0 , f1 , . . . , fn } una sucesi´on de Sturm, w(x) se denota al n´ umero de cambios de signo de {f0 (x), f1 (x), . . . , fn (x)}. Entonces la funci´on f0 (x) tiene exactamente w(b) − w(a) ceros en el intervalo [a, b].
160
IV Ecuaciones No Lineales
Demostraci´ on.- w(x) puede cambiar de valor solamente si uno de los fj (x) = 0. Por consiguiente, sea x∗ un tal n´ umero y sup´ ongase que 1 ≤ j ≤ n − 1. Estudiando en un vecindario de x∗ , la funci´on w estar´ a determinada por los valores de las siguientes tablas: x∗ − ǫ
x∗
x∗ + ǫ
x∗ − ǫ
x∗
x∗ + ǫ
fj−1
+
+
+
fj−1
−
−
−
fj
±
0
±
fj
±
0
±
fj+1
−
−
−
fj+1
+
+
+
x∗ − ǫ
x∗
x∗ + ǫ
fn−1
±
±
±
fn
+
0
+
de donde w(x∗ + ǫ) = w(x∗ − ǫ) cuando fj (x∗ ) = 0 para 1 ≤ j ≤ n. Ahora bien, si f0 (x∗ ) = 0, estudiando alrededor de un vecindario de x∗ se tiene las tablas: x∗ − ǫ
x∗
x∗ + ǫ
f0
+
0
−
f1
−
−
−
de donde w(x∗ + ǫ) = w(x∗ − ǫ) + 1.
x∗ − ǫ
x∗
x∗ + ǫ
f0
−
0
+
f1
+
+
+
,
Volviendo al problema original de encontrar los ceros reales de un polinomio p(x) con raices simples, a coeficientes reales (racionales), el objetivo es construir una sucesi´on de Sturm de tal manera que f0 = p. Se define la siguiente sucesi´on de polinomios de manera recursiva utilizando la divisi´on con resto, por f0 (x) := p(x), f1 (x) := −p′ (x), f0 (x) = g1 (x)f1 (x) − γ12 f2 (x), (IV.1.22) f1 (x) = g2 (x)f2 (x) − γ22 f3 (x), .. . fn−1 (x) = gn (x)fn (x). La definici´on de la sucesi´on (IV.1.22) es el algoritmo de Euclides para determinar el mcd(p(x), p′ (x)). Se tiene el siguiente teorema.
161
IV.1 Ecuaciones Polinomiales
Teorema IV.1.8.- Sup´ongase que p(x) solamente tiene raices simples, entonces la sucesi´on definida por (IV.1.22) es una sucesi´on de Sturm. Demostraci´ on.- Puesto que p(x) tiene raices simples, si p′ (x∗ ) = 0, se tiene ∗ p(x ) 6= 0, de donde la condici´ on a) es satisfecha, a) f0′ (x∗ )f1 (x∗ ) = −(f0′ (x∗ ))2 < 0.. b) Se cumple esta condici´ on por construcci´on de la sucesi´ on. c) fn = mcd(p, p′ ) = C. Algoritmo Con el algoritmo de bisecci´on se separa las raices realles de p(x), es decir se divide en la mitad un intervalo original [a, b] y se continua hasta tener todas las raices localizadas en subintervalos [ai , bi ]. Se puede continuar con el algoritmo de bisecci´on hasta lograr la precisi´ on deseada, o si no se mejora el resultado utilizando el m´etodo de Newton.
Ejercicios 1.- El polinomio x4 − 8x3 + 24x2 − 32x + a0 , a0 = 16 posee una raiz de multiplicidad 4 en el punto x = 2. ¿C´omo cambian las raices del polinomio si se remplaza a0 por a ¯0 = a0 (1 + ǫ) con |ǫ| ≤ eps? Calcular las raices de este polinomio, ¿es un problema bien condicionado? 2.- Sea p(x) un polinomio de grado n a coeficientes reales. Sup´ongase que todas las raices α1 ≥ α2 ≥ · · · ≥ αn sean reales. a) Mostrar que el m´etodo de Newton converge hacia α1 , si x0 > α1 . Indicaci´ on.- Para x > α1 los valores de p(x), p′ (x), p′′ (x) tienen el mismo signo que lim p(x). Mostrar que {xk } es una sucesi´on x→∞ mon´otona. b) Si x0 es mucho mas grande que α1 , entonces el m´etodo de Newton converge muy lentamente. (xk+1 ∼ xk (1 − 1/h)) 3.- Consid´erese el polinomio f (x) = x6 − 3x5 + 6x3 − 3x2 − 3x + 2. Sin calcular las raices de este polinomio, determinar el n´ umero de raices distintas de f (x). 4.- Encontrar un algoritmo que, para un polinomio arbitrario f ∈ Q[x], permita calcular la factorizaci´ on f (x) = f1 (x) · (f2 (x)
2
· (f3 (x)
3
k · · · (fk (x) ,
162
IV Ecuaciones No Lineales donde f1 , . . . , fk son primos entre si y donde cada polinomio fj (x) solo tiene raices simples.
5.- Para un polinomio f (x) = a0 xn + a1 xn−1 + · · · an−1 x + an ,
a0 6= 0;
con coeficientes en C, mostrar que todas las raices ξ satisfacen la estimaci´on s ( s s ) a1 a1 n−1 an−1 n an |ξ| ≤ 2 max , , . . . , . (IV.1.23) , a0 a0 a0 2a0
Encontrar, para cada n, un polinomio tal que se tenga igualdad en (IV.1.23)
6.- Consid´erese el polinomio f (x) = x5 − 5x4 + 3x3 + 3x2 + 2x + 8. a) Determinar el n´ umero de raices reales. b) ¿Cuantas raices son complejas? c)¿Cuantas raices son reales y positivas? Indicaci´ on.- Utilizar una sucesi´on de Sturm. 7.- Sea f (p + 1) veces continuamente diferenciable en un vecindario de ξ ∈ R y sea ξ una raiz de multiplicidad p. Mostrar que la sucesi´on {xk }, definida por f (xk ) , xk+1 = xk − p ′ f (xk ) converge hacia ξ, si x0 es suficientemente proximo de ξ, y que se tiene xk+1 − ξ f (p+1) (ξ) −→ . (xk − ξ)2 p(p + 1)f (p+2) (ξ) 8.- El m´etodo de Newton, aplicado a z 3 − 1 = 0, da la iteraci´on
z3 − 1 2z 3 + 1 zk+1 = Φ(zk ), con Φ(z) = z − = . 3z 2 3z 2 Den´otese por Aj = z0 ∈ C; zk → e2iπj/3 , j = 0, 1, 2; los canales de atracci´on. Mostrar: a)A0 ∩ R = R − {ξ0 , ξ1 , . . .} donde ξ0 = 0 y ξk−1 = Φ(ξk ), b)Aj+1 = e2πi/3 Aj , c)Calcular Φ−1 (0) y Φ−2 (0) con la f´ormula de Cardano. Esto muestra que el sector {z ∈ C| |arg(z)| < π/3} contiene puntos que no convergen hacia 1. d) Sup´ongase que Φk (¯ z ) = 0 para un k ∈ N. Mostrar que U ∩ Aj 6= ∅ (j = 0, 1, 2) para cada vecindario U de z¯.
IV.2 M´ etodos Iterativos
En la secci´on precedente, se ha visto que la mayor parte de las ecuaciones a resolver no pueden ser resueltas de manera expl´ıcita, es decir mediante una f´ormula m´agica. Es por esta raz´ on, que el estudio de los m´etodos iterativos es una necesidad imperiosa para poder encontrar las soluciones de una ecuaci´on. Para tal efecto es tambi´en importante conocer el tipo de funciones con las que se est´ a trabajando. En lo que sigue, se estudiar´ a varios aspectos que son fundamentales para la comprensi´ on del tema.
Posici´ on del Problema Uno de los problemas m´as comunes, se trata del siguiente. Sup´ongase, que se tiene la funci´on f : I −→ R, donde I ⊂ R intervalo. El problema, se trata de obtener con una aproximaci´on arbitraria las raices de la ecuaci´on f (x) = 0.
(IV.2.1)
Est´a claro, que ser´ıa rid´ıculo esperar obtener, en general, f´ormulas de resoluci´ on de (IV.2.1), del tipo de f´ormulas cl´asicas resolviendo las ecuaciones de segundo grado. Se ha visto que, es imposible en el caso en que f es un polinomio de grado ≥ 5. Incluso para el problema m´as razonable planteado aqu´ı , no existe un m´etodo general conduciendo al resultado buscado, los procedimientos te´ oricos de aproximaci´on pueden conducir, sin hip´otesis adecuadas para la funci´on f a c´ alculos num´ericos inextricables, incluso para los ordenadores m´as potentes que existen en la actualidad. Por otro lado, incluso si el intervalo I es acotado, puede suceder que la ecuaci´on (IV.2.1) tenga una infinidad de raices, por ejemplo, cuando f es identicamente nula en un subintervalo. El ejemplo 1 f (x) = x3 sin , x
(IV.2.2)
muestra que puede existir una infinidad de raices, aun cuando f no sea identicamente nula en un subintervalo. Por consiguiente, un primer paso consiste en descomponer el intervalo I, por un n´ umero finito o infinito de puntos de subdivisi´on, en subintervalos en cada uno de los cuales se sepa que, la ecuaci´on no tiene raiz, o la ecuaci´on tenga una y una sola soluci´on. Se estar´ a seguro, que es as´ı cuando la funci´on
164
IV Ecuaciones No Lineales
es mon´otona para el primer caso si f (x) no cambia de signo y en el segundo caso si f (x) cambia de signo. Para asegurar la existencia en el segundo caso, se exige como hip´otesis suplementaria la continuidad en tal subintervalo. Ejemplo La funci´on f (x) =
b1 b2 bn + + ··· + , x − a1 x − a2 x − an
(IV.2.3)
donde a1 < a2 < · · · < an y los bj son todos diferentes a 0 y del mismo signo, est´ a definida en cada uno de los subintervalos abiertos ]∞, a1 [, ]a1 , a2 [, . . . , ]an−1 , an [, ]an , +∞[; en cada uno de estos subintervalos es mon´otona, ya que su derivada tiene el signo opuesto de los bj . Por otro lado cuando x tiende por derecha a uno de los aj , f (x) tiende en valor absoluto a ∞ y cuando x tiende por izquierda a uno de los aj , f (x) tiende en valor absoluto a ∞, pero con signo opuesto que el l´ımite por derecha. Por lo tanto, se concluye que la funci´on f tiene exactamente una raiz en cada subintervalo. Para obtener una descomposici´ on de I en intervalos del tipo considerado anteriormente, es decir para separar las raices, se necesitar´ıa te´ oricamente estudiar el sentido de variaci´ on de la funci´on f , agregando otra hip´otesis suplementaria respecto a f , como que f sea continuamente derivable, esto significar´ıa estudiar el signo de f ′ (x), por consiguiente se estar´ıa obligado a encontrar las raices de la ecuaci´on f ′ (x) = 0, que salvo algunos casos, su resoluci´ on presenta las mismas dificultades que la ecuaci´on original. Por lo expuesto m´as arriba, se est´ a en la capacidad de enunciar el siguiente teorema de existencia y unicidad de la soluci´on de una ecuaci´on con su algoritmo de resoluci´on incluido. Teorema IV.2.1.- Sea f : I −→ R continua y mon´otona, entonces la ecuaci´on f (x) = 0 tiene ⇐⇒ existen a < b ∈ I, tales que f (a)f (b) < 0. una y una sola soluci´on Adem´ as si existiese la soluci´on, ´esta puede ser aproximada de manera arbitraria con el algoritmo de la bisecci´on. La primera observaci´on que se puede hacer al algoritmo de la bisecci´on consiste en que este algoritmo construye subintervalos encajonados reduciendo la longitud de cada subintervalo de la mitad en cada iteraci´on. Pero una de las interrogantes que uno se plantea, es cuando detener el algoritmo. En general, esto sucede cuando el valor absoluto de la funci´on f evaluada en las extremidades es menor a un valor de tolerancia prefijado con anterioridad. Ahora bien, si solamente se exige que f sea mon´onota y continua puede pasar situaciones, como las del siguiente ejemplo.
IV.2 M´ etodos Iterativos
165
Ejemplo Sea f : (−1, 1) −→ R definida por
f (x) = x100 g(x),
(IV.2.4)
donde g es una funci´on continua que no se anula en (−1, 1). Es evidente que, x = 0 es una raiz de la ecuaci´on f (x) = 0. Aplicando el algoritmo de la bisecci´on con una tolerancia de 10−6 y tomando como puntos de partida a = −0, 9 y b = 0.9 puede suceder que |f (x)| < T OL, dejando una gran elecci´on para escoger la raiz de f (x). Por lo tanto, si no se tiene la hip´otesis que f (x) sea derivable y que f ′ (x) 6= 0 para x raiz de la ecuaci´on f (x) = 0, se debe tener mucho cuidado en la determinaci´ on de la soluci´on num´erica del problema, para no cometer grandes errores.
M´ etodo de la Falsa Posici´ on En este paragrafo, se supondr´ a que f : [a, b] −→ R
es dos veces continuamente derivable, que f ′ (x) no se anula en el intervalo ]a, b[ y adem´ as f (a)f (b) < 0. La idea para obtener una valor aproximado de la raiz ξ0 de la ecuaci´on f (x) = 0 en el intervalo I =]a, b[, consiste en remplazar f por un polinomio que toma los valores de f en determinados puntos de I. Como se ha visto en la primera secci´on de este cap´ıtulo, las ecuaciones polinomiales m´as simples de resolver son las ecuaciones de primer grado y las ecuaciones cuadr´aticas. Por razones de simplicidad en la formulaci´on, el m´etodo de la falsa posici´ on ser´ a estudiado tomando como polinomio, uno de primer grado. Sea L(x) el polinomio de interpolaci´ on de primer grado, tal que: L(a) = f (a),
L(b) = f (b),
ver en la figura IV.2.1.
y=L(x)
a
ξ
y=f(x)
b
ξ0
Figura IV.2.1 M´etodo de la Falsa Posici´ on.
(IV.2.5)
166
IV Ecuaciones No Lineales
Las hip´otesis implican que L(x) se anula en un punto ξ ∈ I, que se toma como valor aproximado de ξ0 . Por consiguiente se trata de mayorar el error cometido |ξ − ξ0 |; para tal efecto se recordar´a el teorema III.1.13 que da el siguiente resultado f (x) − L(x) =
1 ′′ f (ζ)(x − x0 )(x − x1 ) 2
(IV.2.6)
con ζ ∈ I, deduciendo la siguiente proposici´ on.
Proposici´ on IV.2.2.- Si f ′ no se anula en el intervalo I, y si f (ξ0 ) = 0, L(ξ) = 0 para ξ, ξ0 ∈ I, entonces se tiene ξ − ξ0 =
1 f ′′ (ζ) (ξ − a)(ξ − b), 2 f ′ (ζ ′ )
(IV.2.7)
donde ζ y ζ ′ son n´ umeros que pertenecen a I. Demostraci´ on.- Por (IV.2.6), se tiene f (ξ) =
1 ′′ f (ζ)(ξ − a)(ξ − b), 2
por el teorema del valor medio se tiene f (ξ) = f ′ (ζ ′ )(ξ − ξ0 ) con ζ ′ que pertenece al intervalo cuyas extremidades son ξ0 y ξ. Combinando ambos resultados se obtiene el resultado de la proposici´ on. Corolario IV.2.3.- Mismas hip´otesis de la proposici´ on precedente, y adem´ as |f ′ (x)| ≥ m > 0, y |f ′′ (x)| ≤ M para todo x ∈ I, entonces |ξ − ξ0 | ≤
M (b − a)2 . 8m
(IV.2.8)
Si el error |ξ − ξ0 | evaluado por la estimaci´on (IV.2.8) no es lo suficientemente peque˜ no, se puede repetir el procedimiento: se calcula f (ξ) y dependiendo de su signo, la raiz ξ0 se encuentra en el intervalo [a, ξ] o [ξ, b], al cual se aplica el mismo m´etodo obteniendo as´ı un segundo valor aproximado ξ ′ . Te´ oricamente, se puede aplicar indefinidamente este procedimiento, y se muestra facilmente que la sucesi´on de los n´ umeros obtenidos converge hacia ξ, ver ejercicios. Como se dijo al abordar el m´etodo de la falsa posici´ on, se puede aproximar la raiz de la ecuaci´on f (x) = 0 con un polinomio de segundo grado. Con la misma notaci´on que antes ξ0 es la raiz de la ecuaci´on, suponiendo
IV.2 M´ etodos Iterativos
167
ademas que f (x) es tres veces continuamente diferenciable sobre el intervalo I. Se denota por c el punto medio del intervalo I. Puesto que f ′ (x) no cambia de signo en este intervalo, f (c) es positivo o negativo. Sea L(x) el polinomio de interpolaci´ on de grado 2, tal que L(a) = f (a)
L(c) = f (c)
L(b) = f (b);
(IV.2.9)
utilizando la f´ormula de Newton del cap´ıtulo III, se tiene L(x) = f (a) +
f (c) − f (a) (x − a) c−a f (b) − 2f (c) + f (a) (x − a)(x − c), +2 (b − a)2
IV.2.10)
resolviendo esta ecuaci´on, sea ξ ∈ I la raiz del polinomio de segundo grado, la cual puede ser determinada utilizando el m´etodo de resoluci´on de ecuaciones de segundo grado, teniendo el cuidado de escoger la raiz que se encuentra en [a, b]. Suponiendo que sobre el intervalo [a, b], f es tres veces continuamente derivable, el teorema III.1.13 da la siguiente estimaci´on f (x) − L(x) =
1 ′′′ f (ζ)(x − a)(x − c)(x − b), 6
(IV.2.11)
donde ζ ∈ [a, b]. deduciendo la siguiente proposici´ on. Proposici´ on IV.2.4.- Si f ′ no se anula en el intervalo I, y si f (ξ0 ) = 0, L(ξ) = 0 para ξ, ξ0 ∈ [a, b], entonces se tiene ξ − ξ0 =
1 f ′′′ (ζ) (ξ − a)(ξ − c)(ξ − b) 6 f ′ (ζ ′ )
(IV.2.12)
donde ζ y ζ ′ son n´ umeros que pertenecen a [a, b]. Demostraci´ on.- Por (IV.2.11), se tiene f (ξ) =
1 ′′ f (ζ)(ξ − a)(ξ − c)(ξ − b), 6
por el teorema del valor medio, se tiene f (ξ) = f ′ (ζ ′ )(ξ − ξ0 ), con ζ ′ que pertenece al intervalo cuyas extremidades son ξ0 y ξ. Combinando ambos resultados se obtiene el resultado de la proposici´ on.
168
IV Ecuaciones No Lineales
Corolario IV.2.5.- Mismas hip´otesis de la proposici´ on precedente, y adem´ as |f ′ (x)| ≥ m > 0, y |f ′′′ (x)| ≤ M para todo x ∈ [a, b], entonces |ξ − ξ0 | ≤
M (b − a)3 . 24m
(IV.2.13)
Si el error |ξ − ξ0 | evaluado por la estimaci´on (IV.2.13) no es lo suficientemente peque˜ no, se puede repetir el procedimiento: se calcula f (ξ) y dependiendo de su signo, la raiz ξ0 se encuentra en el intervalo [a, ξ] o [ξ, c], etc, al cual se aplica el mismo m´etodo obteniendo as´ı un segundo valor aproximado ξ ′ . Te´ oricamente, se puede aplicar indefinidamente este procedimiento, y se muestra facilmente que la sucesi´on de los n´ umeros obtenidos converge hacia ξ0 , ver ejercicios. El m´etodo de la Falsa Posici´ on es un claro ejemplo de un m´etodo iterativo, pues utiliza soluciones anteriormente obtenidas para calcular una nueva soluci´on. En general, se dir´a que un m´etodo iterativo es de orden k o de k pasos, si la iteraci´on puede expresarse de la forma: xn+1 = Φ(xn , xn−1 , . . . , xn−k+1 ).
(IV.2.14)
Por lo tanto, los m´etodos descritos anteriormente son m´etodos iterativos de dos pasos, pues se sirven de 2 valores para calcular el valor de la iteraci´on siguiente.
Sistemas de Ecuaciones Los problemas que han sido estudiados m´as arriba estaban relacionados a funciones de una sola variable con valores reales. Ahora bien, existe una gran variedad de problemas donde se deben resolver sistemas de ecuaciones, que en general no son lineales. La posici´ on del problema es por consiguiente: Dada f : U ⊂ Rn −→ Rn , encontrar ξ ∈ U tal que f (ξ) = 0.
(IV.2.15)
Reiterando lo que se dijo al inicio de esta secci´on no se puede esperar de obtener una f´ormula milagrosa para determinar ξ, lo que se debe buscar es por consiguiente una aproximaci´on de esta soluci´on con la precisi´ on que se desee. La continuidad no es una condici´ on suficiente para determinar la existencia de ceros, hip´otesis primordial en el caso de una variable; en el caso de varias variables, en la mayor parte de los casos no se puede demostrar la existencia de ceros, contentandose con la unicidad de ´estos a nivel local. Un teorema muy importante, es el de la inversi´on local que ser´ a enunciado sin demostraci´on, para el lector interesado, puede encontrarla en cualquier libro de An´ alisis, por ejemplo en Rudin.
IV.2 M´ etodos Iterativos
169
Teorema IV.2.6.- Sean D ⊂ Rn abierto, f : D −→ Rn continuamente diferenciable. Si: a) f (x∗ ) = 0, b) fx′ ∗ es inversible, entonces, existe dos vecindarios, U de x∗ y V de 0, tales que para todo v ∈ V existe un u ´nico x ∈ U, tal que f (x) = v y la aplicaci´ on g :V −→ U v −→ x(v) es continuamente diferenciable y adem´ as gv′ = (fx′ )
−1
.
Consecuencias de este teorema son: la unicidad local de la soluci´on; si x ˆ es soluci´on n´ umerica obtenida mediante un metodo cualquiera se tiene la siguiente estimaci´on del error −1
x ˆ − x∗ = (fx′ ∗ ) −1
de donde si (fx′ ∗ ) f (ˆ x) es peque˜ no.
2
f (ˆ x) + O(kf (ˆ x)k ),
es casi singular, x ˆ − x∗ puede ser muy grande, aun si
Un m´ etodo Iterativo simple Existe otra clase de ecuaciones que pueden ser escritas de la forma f (x) = x,
(IV.2.17)
donde f es una funci´on de varias variables con las condiciones dadas al inicio de este paragrafo. Cabe remarcar que la ecuaci´on (IV.2.15) puede ser expresada como x = g(x) con g(x) = x−Af (x), donde A es generalmente una matriz. La existencia y unicidad de las ecuaciones de la forma (IV.2.17) son resueltas utilizando el teorema del punto fijo en espacios m´etricos. Para saber m´as sobre espacios m´etricos ver Schawartz. A continuaci´on, se enunciar´ a el teorema del punto fijo. Teorema IV.2.7.- Sean X un espacio m´etrico completo, f : X −→ X una aplicaci´ on verificando d(f (x), f (y)) ≤ Cd(x, y),
C < 1;
donde d denota la distancia en X. Entonces la ecuaci´on f (x) = x admite una y una sola soluci´on. Demostraci´ on.- Sea x0 ∈ X un punto arbitrario, se define la sucesi´on {xk } de manera recursiva por xk+1 = f (xk ),
170
IV Ecuaciones No Lineales
esta sucesi´on es de Cauchy, en efecto, si n ≥ m, se tiene: d(xn , xm ) ≤ d(xn , xn−1 ) + · · · + d(xm+1 , xxm ), d(xm+1 , xm ) ≤ C m d(x1 , x0 ), por lo tanto
Cm , 1−C que tiende a cero, cuando n, m tienden a ∞. Sea x∗ = lim xn , se deduce d(xn , xm ) ≤
n→∞
que f (x∗ ) = x∗ . Con esto se ha demostrado la existencia de la soluci´on. Para la unicidad se considera x, y son soluciones del problema, por lo tanto d(x, y) = d(f (x), f (y)) ≤ Cd(x, y),
y la u ´nica posibilidad que suceda esto es que x = y.
Se puede dar condiciones menos fuertes sobre el espacio X o sobre f , por ejemplo que f sea localmente una contracci´ on, con solamente esta hip´ otesis se mantiene la unicidad, pero est´ a vez localmente, la existencia no est´ a asegurada. Por lo expuesto, se puede formular el m´etodo iterativo dado en la demostraci´on del teorema precedente para el siguiente problema: Sea Φ : Rn −→ Rn continua, determinar x ∈ Rn tal que Φ(x) = x. El m´etodo iterativo est´ a dado por: ( x0 , arbitrario; (IV.2.18) xn = Φ(xn−1 ). Teorema IV.2.8.- Si {xn } converge hacia x∗ , y Φ es continua en x∗ , entonces x∗ es soluci´on de x = Φ(x) Demostraci´ on.- Se deja al lector.
El anterior teorema se˜ nala claramente que si la funci´on Φ es continua, y la sucesi´on definida por (IV.2.18) es convergente, entonces el l´ımite de esta sucesi´on es la soluci´on del problema Φ(x) = x. Por consiguiente, la pregunta natural que uno puede plantearse es cuando existen condiciones suficientes para tener convergencia. Definiendo el error en como en = xn − x∗ , donde x∗ es la soluci´on exacta, y xn la n-sima iteraci´on, se obtiene: en+1 = xn+1 − x∗ = Φ(xn ) − Φ(x∗ ) en+1 ≈ Φ′ (x∗ )en .
= Φ′ (x∗ )(xn − x∗ ) + O kxn − x∗ k2 ,
(IV.2.19)
IV.2 M´ etodos Iterativos
171
Si ken+1 k ≤ q ken k para q < 1, entonces en → 0 cuando n → ∞. Por consiguiente la sucesi´on es convergente, si existe una norma tal que kΦ′ (x∗ )k = q < 1. Teorema IV.2.9.- a) Sea Φ(x) = Ax + b, con A matriz, entonces el m´etodo iterativo (IV.2.18) converge para todo x, si y solamente si ρ(A) < 1, donde ρ(A) = max |λ| | λ es un valor propio de A .
b) Si Φ(x) es no lineal y dos veces continuamente diferenciable, entonces se tiene convergencia si: ρ(Φ′ (x∗ )) < 1, x0 − x∗ es suficientemente peque˜ no.
Demostraci´ on.- Se mostrar´ a solamente el inciso a), dejando al lector el inciso b) con las observaciones hechas antes de enunciar el teorema. ⇒ Se supone que el m´etodo converge ∀x0 ∈ Rn . Sea λ un valor propio de A, y e0 un vector propio respecto a este valor propio, entonces en = An e0 , λn e0 −→ 0,
posible solamente si |λ| < 1. ⇐ Se supone que ρ(A) < 1, sea e0 ∈ Rn arbitrario, de donde en = An e0 . Por el teorema de Jordan, existe una matriz T no singular tal que . λ1 . . .. 0 . 1 λ1 .. . T −1 AT = . λ2 . 0 .. 1 λ2 .. . Sea D = diag(1, ǫ, ǫ2 , . . . , ǫn−1 ), λ 1 D−1 T −1 AT D =
por consiguiente .. . .. 0 . ǫ λ1 . λ2 . . .. 0 .
ǫ λ2 ..
.
= J,
172
IV Ecuaciones No Lineales
si ǫ es suficientemente peque˜ no, se tiene kJk∞ < 1, de donde el m´etodo es convergente. Para el problema f (x) = 0, se vio antes que se puede convertir en problema de punto fijo, planteando Φ(x) = x − Af (x),
(IV.2.20)
donde A es una matriz constante A, inversible. Ahora bien, para cumplir las condiciones del teorema precedente ρ(Φ′ (x∗ )) < 1, motivo por el cual es suficiente A ≈ (f ′ (x∗ ))−1 para que Φ′ (x∗ ) ≈ 0. Ejemplo Consid´erese la ecuaci´on siguiente x2 + y 2 − 1 = 0 1, sin x + sin y = 2 se desea determinar las soluciones de esta ecuaci´on. Convirtiendo en un problema de punto fijo se tiene x2 + y 2 − 1 x Φ(x, y) = −A sin x + sin y − 21 y donde la A es una matriz de 2 × 2. La derivada de f en el punto (x, y), est´ a dada por 2x 2y ′ f(x,y) = , cos x cos y la inversa de la derivada de f , esta dada por 1 cos y −2y ′ −1 (f(x,y) ) = . 2(x cos y − y cos x) − cos x 2x Recorriendo a travez de la circunferencia de radio 1 dada por la primera ecuaci´on se escogen los valores de x, y para los cuales remplazando en la segunda ecuaci´on se tiene valores muy cerca a 1/2. Una vez determinados estos valores se consigue una aproximaci´on de la matriz A para poder aplicar el m´etodo iterativo. Las soluciones obtenidas con una precisi´ on del orden de 10−10 son: x = 0.3176821764792814, x = −0.948197255188055,
y = −0, 948197255188055; y = 0, 3176821764792814.
IV.2 M´ etodos Iterativos
173
Ejercicios 1.- Sea A una matriz que es diagonal dominante, es decir X |aii | > |aij | , i = 1, . . . , n; j6=i
entonces el m´etodo de Jacobi, formulado en el cap´ıtulo II, para resolver Ax = b es convergente. 2.- Consid´erese la ecuaci´on integral y(x) = f (x) +
Z
b
K(x, s, y(s))ds,
(∗)
a
donde a, b, f, K est´ an dados, se busca y(x). Mostrar, si el nucleo K es degenerado, es decir K(x, s, y) =
n X
ai (x)bi (s, y),
i=1
entonces la soluci´on de (∗) est´ a dada por y(x) = f (x) +
n X
ci ai (x)
i=1
donde las constantes c1 , . . . , cn satisfacen Z b n X bi (s, f (s) + cj aj (s))ds i = 1, . . . , n. ci = a
j=1
3.- Calcular la soluci´on de Z π (2 sin x sin s + sin 2x sin 2s)ey(s) ds, y(x) = 1 + λ 0
λ=
1 . 10
Resolver el sistema no lineal para c1 , c2 con el m´etodo iterativo. 4.- Sean J = [a, b] un intervalo de R en el cual la funci´on dos veces continuamente diferenciable f verifica las relaciones |f ′ (x)| ≥ m, M |f ′′ (x)| ≤ M , f (a)f (b) < 0. Mostrar que si (b − a) = q < 1 se 4m puede, por n aplicaciones sucesivas del m´etodo de la falsa posici´ on, encontrar un intervalo de extremidades an , bn conteniendo la u ´nica raiz de f (x) = 0 en [a, b], con |bn − an | ≤
4m 2n q . M
IV.3 M´ etodo de Newton
En lo que va este cap´ıtulo, se ha visto dos enfoques para resolver sistemas de ecuaciones, el primero mediante una f´ormula que de el resultado de manera expl´ıcita en funci´on de los datos del problema. El segundo enfoque consiste en utilizar m´etodos iterativos que permitan aproximar a la soluci´on de una manera arbitraria. En la secci´on precedente se vio en los diferentes teoremas de convergencia que la velocidad de convergencia es lineal, lo que puede constituir una desventaja, desde el momento en que se requiera resolver grandes y muchos sistemas de ecuaciones. Lo deseable ser´ıa cambiar el orden de convergencia, por ejemplo a una reducci´ on cuadr´atica del error. Recordando el m´etodo de la Falsa Pendiente, en lugar de tomar una secante para determinar una aproximaci´on del cero de la funci´on estudiada, se podr´ıa tomar la tangente en un punto de la curva inducida por la funci´on. El m´etodo iterativo formulado en la secci´on precedente estaba basado en el teorema del punto fijo y el problema a resolver era de la forma Φ(x) = x, para el caso de las ecuaciones de la forma f (x) = 0, era suficiente considerar la funci´ on Φ(x) = x − Af (x), donde A es una matriz constante, ahora bien suponiendo que f ′ (x) es inversible en un vecindario de una de las soluciones de la ecuaci´on, en lugar de tomar A constante, se puede plantear A = (f ′ (x))−1 . Las motivaciones est´ an dadas para formular un nuevo m´etodo, cuya velocidad de convergencia sea superior a los m´etodos anteriormente formulados. Para tal efecto, consider´ese la funci´on f : U ⊂ Rn −→ Rn , U un abierto de Rn , se supone adem´ as que f es continuamente derivable, y la derivada en todo punto es inversible. Por consiguiente, se tiene el problema f (x) = 0,
(IV.3.1)
cuyas soluciones, si ´estas existen son localmente u ´nicas, por el teorema de las funciones inversas, dado en la secci´on precedente. Sup´ongase que este problema tiene al menos una soluci´on, denotandola por x∗ . Sea x ∈ U bastante pr´ oximo de x∗ , aplicando la definici´on de la derivada en el punto x se obtiene f (x∗ ) = f (x) + f ′ (x)(x∗ − x) + O(kx∗ − xk2 ), de donde despreciando el t´ermino que contiene O se obtiene la ecuaci´on lineal dada por f ′ (x)(x∗ − x) = −f (x), que por hip´otesis tiene soluci´on y es u ´nica. De donde, el m´etodo de Newton tiene la formulaci´on siguiente, sea x0 un punto bastante pr´ oximo de la
IV.3 M´ etodo de Newton
175
soluci´on buscada x∗ , xm se define recursivamente, por las ecuaciones f ′ (xm−1 )(xm − xm−1 ) = −f (xm−1 ).
(IV.3.2)
Ejemplos 1.- Consid´erese la ecuaci´on de una sola variable dada por f (x) = 2x − tan x, para aplicar el m´etodo de Newton la derivada est´ a dada por f ′ (x) = 2 −
1 , cos2 x
partiendo del punto inicial x0 = 1, 2 se obtiene los siguientes valores mediante el m´etodo de Newton. Tabla IV.3.1. Valores obtenidos por el m´etodo de Newton. k
xk
f (xk )
0
1, 2
−0.172152
1 1.16934
e2k /ek−1
−1.69993 × 10−2
2 1.16561 −0.213431 × 10−3 −3.97664 3 1.16556 −0.347355 × 10−07 −3.44610 4 1.16556 −.133227 × 10−14
−3.38337
2.- Consid´erese el sistema de ecuaciones dado por ( x2 + y 2 − 4 = 0 . xy − 4 = 0 Las soluciones de este sistema de ecuaciones est´ an dadas por la intersecci´on de una circunferencia de radio 2 y centro en el origen y una hip´erbola inclinada. Realizando un gr´afico se puede observar que una de las raices est´ a pr´ oxima al punto (0.5, 2) que ser´ a tomado como punto inicial. La matriz derivada es igual a 2x 2y , f ′ (x, y) = y x utilizando el m´etodo de eliminaci´on de Gauss para calcular los valores de (xk , yk ) se obtiene la siguiente tabla con las primeras 23 iteraciones del m´etodo de Newton.
176
IV Ecuaciones No Lineales
Tabla IV.3.2. Valores obtenidos por el m´etodo de Newton. k
xk
yk
kf (xk )k2
0
0.5
2.
0.25
1
.516666 1.96666
2
kek k2 / kek−1 k2
0.134722
2 0.526332 1.94921 0.764322 × 10−1
14.3688
−1
3 0.532042 1.93948 0.446506 × 10
28.3211
22 0.540690 1.92553 0.345530 × 10−5
446885.
23 0.540690 1.92553 0.210661 × 10
732995.
−5
En las tablas IV.3.1 y IV.3.2, se observa que el m´etodo de Newton converge cuadr´aticamente. Es importante poder confirmar te´ oricamente este resultado. Analizando el caso de una variable, se supone que f : I −→ R es dos veces continuamente derivable, x∗ una soluci´on del problema f (x) = 0, adem´ as f ′ (x∗ ) 6= 0. Sea xk el valor de la k-esima iteraci´on obtenida del m´etodo de Newton. El desarrollo de Taylor en xk de la funci´on f y el m´etodo de Newton para obtener xk+1 est´ an dados por: 1 0 = f (xk ) + f ′ (xk )(x∗ − xk ) + f ′′ (xk ) (x∗ − xk )2 +O((x∗ − xk )3 ), | {z } 2 e2k 0 = f (xk ) + f ′ (xk )(xk+1 − xk ),
sustrayendo ambas cantidades se obtiene
de donde
1 0 = f ′ (xk ) (xk+1 − x∗ ) − f ′′ (xk )e2k + O((ek )3 ), | {z } 2 e2k+1 ek+1 =
1 f ′′ (xk ) 2 e + O((ek )3 ), 2 f ′ (xk ) k
mostrando as´ı el teorema siguiente: Teorema IV.3.1.- Sea f : I −→ R, tres veces continuamente diferenciable, x∗ una soluci´on de la ecuaci´on f (x) = 0. Si f ′ (x) 6= 0 en un vecindario de x∗ , x0 bastante pr´ oximo de x∗ , entonces ek+1 =
1 f ′′ (xk ) 2 e + O((ek )3 ), 2 f ′ (xk ) k
(IV.3.3)
IV.3 M´ etodo de Newton
177
donde ek = x∗ − xk . Para el caso de una funci´on de varias variables, la situaci´ on es bastante similar, en efecto sea f : U ⊂ Rn −→ Rn ,
donde U es un abierto de Rn , f es una funci´on tres veces continuamente derivable, cuya derivada es inversible para todo x ∈ U. La derivada de f en el punto x ∈ U es una aplicaci´ on lineal, cuya matriz respecto a la base can´ onica est´ a dada por ∂f1 · · · ∂f1 ∂x1 ∂xn . .. f ′ (x) = . , .. ∂fn
∂x1
···
∂fn
∂xn
donde f1 , . . . , fn son las componentes de la funci´on f ; la segunda derivada de f en el punto x ∈ U es una aplicaci´ on bilineal sim´etrica, que respecto a la base can´ onica, est´ a dada por f ′′ (x)(h, k) =
X i,j
∂2f (x)hi , kj , ∂xi ∂xj
donde h, k ∈ Rn y los hi , kj son las componentes de h y k respecto a las bases naturales. Para m´as detalle ver Cartan. El desarrollo de Taylor en x est´ a dado por 1 3 f (x + h) = f (x) + f ′ (x)h + f ′′ (x)(h, h) + O(khk ). 2 Teorema IV.3.2.- Sean f : U ⊂ Rn −→ Rn tres veces diferenciable, con derivada inversible y x∗ ∈ U con f (x∗ ) = 0. Si {xk } es la sucesi´on definida por el m´etodo de Newton, entonces el error ek = xk − x∗ satisface ek+1 =
−1 ′′ 1 ′ 3 f (xk ) f (xk )(ek , ek ) + O(khk ). 2
Demostraci´ on.- Similar a la del caso de una sola variable.
(IV.3.4)
C´ alculo de la Derivada Al implementar el m´etodo de Newton, se debe c´ alcular la derivada de f en cada punto. La primera forma de determinar la matriz f ′ (xk ) es de manera anal´ıtica, construyendo as´ı una subrutina para evaluar los coeficientes de la matriz jacobiana en cada iteraci´on. Pero lastimosamente, no siempre
178
IV Ecuaciones No Lineales
es posible calcular las derivadas parciales de manera anal´ıtica por varias razones: funciones muy complicadas para derivar, c´ alculos muy largos, etc. Otra manera de evaluar los coeficientes de f ′ (xk ) consiste en hacerlo num´ericamente. Utilizando un esquema de primer orden para evaluar la derivada parcial de fj respecto a xi , se tiene ∂fj fj (x + tei ) − fj (x) (x) = lim , t→0 ∂xi t donde t ∈ R, ei es el i-esimo vector de la base can´ onica. Ahora bien, se plantea g(t) = fj (x + tei ) dejando fijo x, se tiene ∂fj (x) = g ′ (0). ∂xi De donde, el problema consiste en calcular g ′ (0); con un esquema de primer orden se obtiene g(t) − g(0) g ′ (0) ≈ . (IV.3.5) t Cabe recalcar, que se puede aproximar g ′ (0) con una mejor aproximaci´on, para eso se puede utilizar los polinomios de interpolaci´ on. Una pregunta natural surge, ¿cu´ al t escoger?, para obtener la mejor aproximaci´on de g ′ (0). El error de aproximaci´on est´ a dado por 1 g(t) − g(0) = g ′ (0) + g ′′ (0)t + O(t2 ), t 2 mientras que los errores de redondeo, suponiendo que g es una funci´on bien condicionada, est´ a dado por los siguientes resultados, suponiendo que g ′ (t) ≈ g ′ (0): g(t(1 + ǫ1 ))(1 + ǫ2 ) − g(0)(1 + ǫ3 ) g(t) − g(0) − t t n o 1 ≈ g(t) + g ′ (0)ǫ1 t(1 + ǫ2 ) − g(0)(1 + ǫ3 ) − g(t) + g(0) t o 1n ≈ ǫ2 g(t) + g ′ (0)ǫ1 t − ǫ3 g(0) , t donde |ǫi | ≤ eps, por consiguiente error de redondeo ≤
1 2 |g(0)| + |g ′ (0)t| eps. |t|
(IV.3.6)
IV.3 M´ etodo de Newton
179
Lo ideal ser´ a, por lo tanto escoger un valor de t de manera que los errores de aproximaci´on y de redondeo se aproximen, ver figura IV.3.1.
Err de aprox
Err de redon.
Figura IV.3.1. Error de Aproximaci´on vs Error de Redondeo. Observando la figura, se tiene que el error de aproximaci´on es del orden de t, mientras que el error de redondeo es proporcional a eps/t, de donde equilibrando ambos errores se obtiene p t = C eps, (IV.3.7) donde C es una constante elegida de acuerdo a la funci´on f .
El Teorema de Newton-Misovski Se ha formulado el m´etodo de Newton de una manera general, dando inclusive una estimaci´on del error cometido, deduciendo que si el m´etodo converge, la convergencia es cuadr´atica. Pero sin embargo, no se enunci´ o las condiciones suficientes para obtener convergencia de este m´etodo. El siguiente teorema dar´a las condiciones suficientes para asegurar la convergencia del m´etodo, cuando la funci´on f cumple ciertas condiciones. Teorema IV.3.3.- Newton-Misovski. Sean D ⊂ Rn abierto y convexo, f : D −→ Rn continuamente diferenciable, f ′ (x) inversible para todo x ∈ D, x0 ∈ D satisfaciendo las siguientes condiciones: a) k△x0 k ≤ α,
2 b) (f ′ (y)−1 f ′ x + t(x − y) − f ′ (x) (y − x) ≤ ωt ky − xk , ∀x, y ∈ D, t ∈ [0, 1]; 1 c) η := αω < 1; 2 α < 1; d) ρ := 1−η ¯ 0 , ρ) = {x ∈ Rn | kx − x0 k ≤ ρ}. e) B(x
180
IV Ecuaciones No Lineales
Entonces: i) La sucesi´on {xk } definida por el m´etodo de Newton se queda dentro B(x0 , ρ) y converge hacia una soluci´on x∗ de f (x) = 0. 2 ii) Se tiene la estimaci´on k△xk k ≤ ω 2 k△xk−1 k . ω 2 iii) kxk − x∗ k ≤ k△xk−1 k . 2k 2(1 − η )
Demostraci´ on.- Es claro por la definici´on del m´etodo de Newton que si {xk } es convergente, entonces el l´ımite de la sucesi´on es igual a x∗ , donde f (x∗ ) = 0. Se mostrar´ as la conclusiones por inducci´on. Se supone que xk , xk−1 ∈ D, para k ≥ 1, entonces k△xk k ≤
ω k△xk−1 k2 , 2
en efecto
k△xk k = (f ′ (xk ))−1 f (xk )
= (f ′ (xk ))−1 f (xk ) − f (xk−1 ) − f ′ (xk1 )△xk−1
Z 1
′ ′ ′
f (xk−1 + t△xk−1 ) − f (xk−1 ) △xk−1 dt = f (xk )
≤
≤
Z
Z
0
1
0
1 0
′
f (xk ) f ′ (xk−1 + t△xk−1 ) − f ′ (xk−1 ) △xk−1 dt
ωt k△xk−1 k2 dt =
ω k△xk−1 k2 . 2
Se define ηk recursivamente por 2 ηk = ηk−1 ,
η0 =
ω α = η. 2
Si x0 , x1 , . . . , xk ∈ D, entonces ω k△xk k ≤ ηk ; 2 es cierto para k = 0, sup´ ongase cierto para k − 1, por consiguiente ω 2 ω 2 k△xk k ≤ k△xk−1 k ≤ ηk−1 = ηk . 2 2 k
como η0 = η, se tiene ηk = η 2 , puesto que η < 1, lim ηk = 0.
k→∞
IV.3 M´ etodo de Newton
181
El siguiente paso es mostrar que {xk } es una sucesi´on de Cauchy y que satisface el punto i). Se supone nuevamente, que x0 , . . . , xk ∈ D, 0 ≤ l ≤ k, obteniendo kxk+1 − xl k ≤ kxk+1 − xk k + · · · + kxk+1 − xl k | | {z } {z } 2 2 ηk ηl ω ω 2 ≤ (1 + ηl2 + ηl4 + · · ·) ω 2 ηl2 ≤ . ω 1 − ηl2 Para l = 0, se tiene kxk+1 − x0 k ≤ donde xk+1 ∈ B(x0 , ρ). Por otro lado, kxk+1 − xl k ≤
2 η α 2 η2 < = = ρ, de ω 1 − η2 ω1−η 1−α
2 ηl2 −→ 0, ω 1 − ηl2
cuando k ≥ l → ∞.
de donde la sucesi´on {xk } es una sucesi´on de Cauchy, y por lo tanto convergente. Es as´ı que se ha mostrado el punto i) y el punto ii) del teorema quedando pendiente el u ´ltimo punto. Se tiene kxl+1 − xk k ≤ kxl+1 − xl k + · · · + kxk+1 − xk k , se plantea: ηˆk−1 =
ω k△xk−1 k , 2
2 ; ηˆl = ηˆl−1 k
de donde ηˆk−1 ≤ ηk−1 y ηˆk ≤ ηk − η 2 , adem´ as ω k△xl k ≤ ηˆl 2 De donde
para l ≥ l − 1. 2
kxl+1 − xk k ≤
ω k△xk−1 k , 2 1 − η 2k
haciendo tender l al infinito queda demostrado el punto iii)
Es necesario remarcar el siguiente hecho concerniente a la hip´otesis b) del teorema que se acaba de demostrar. Si f es 3 veces derivable, utilizando la f´ormula de Taylor se tiene 3 [f ′ x + t(x − y)) − f ′ (x) ](y − x) = f ′′ (x)(t(y − x), y − x) + O(ky − xk ),
182
IV Ecuaciones No Lineales
por consiguiente (f ′ (y))−1 [f ′ x + t(x − y)) − f ′ (x) ](y − x) = t(f ′ (y))−1 f ′′ (x)(y − x, y − x)+ 3
O(ky − xk ), 3
si D es bastante peque˜ no, entonces se puede despreciar O(ky − xk ), de donde
′
(f (y))−1 [f ′ x + t(x − y)) − f ′ (x) ](y − x) ≤ t (f ′ (y))−1 f ′′ (x) ky − xk2 ,
por consiguiente
ω ≈ sup (f ′ (y))−1 f ′′ (x)
(IV.3.8)
x,y∈D
Para comprender el teorema, puede ser util estudiar en un ejemplo tipo, las hip´otesis del teorema y deducir las conclusiones que conducen estas hip´ otesis Ejemplo Sea, f : R2 −→ R2 definida por f (x) =
x21 + x22 − 1 x2 − x21
,
la soluci´on del problema f (x) = 0 est´ a dada por la intersecci´ on de una circunferencia de centro en el origen y radio 1 y una par´abola cuyo v´ertice se encuentra tambi´en en el origen. Este problema puede ser resuelto graficamente, substituyendo x2 , pero el proposito del ejemplo es estudiar el teorema de Misovski. La derivada de f ′ est´ a dada por la matriz jacobiana 2x1 2x2 f ′ (x) = , −2x1 1 cuya inversa es igual a ′
(f (x))
−1
1 = 2x1 (1 + 2x2 )
1 2x1
−2x2 2x1
.
Observando una gr´afica del problema se escoge como dominio D a n o 1 D = (x1 , x2 )| < x1 , x2 < 2 . 2
Analizando las condiciones del teorema se tiene:
IV.3 M´ etodo de Newton
183
a) Se escoge como valor inicial (1, 1) ∈ D, obteniendo △x0 = (−1/6, −1/3), de donde √ 5 ≈ 0, 37 = α. k△x0 k = 6 b) El estudio de la segunda condici´ on da: (f ′ (y))−1 f ′ (x + t(x − y)) − f ′ (x) (y − x) 1 2t(y1 − x1 ) 2t(y2 − x2 ) y1 − x1 1 −2y2 = y2 − x2 −2t(y1 − x1 ) 0 2y1 (1 + 2y2 ) 2y1 2y1 2 t (1 + y2 )(y1 − x1 ) + (y2 − x2 )2 = . 2y1 (y2 − x2 )2 2y1 (1 + 2y2 )
Se observa inmediatamente que las componentes son positivas, mayorando respecto a y, se obtiene ′ (f (y))−1 f ′ (x + t(x − y)) − f ′ (x) (y − x) t 3(y1 − x1 )2 + (y2 − x2 )2 ≤ , 4(y2 − x2 )2 2 pasando a la norma de la convergencia uniforme, se obtiene
′
(f (y))−1 f ′ (x + t(x − y)) − f ′ (x) (y − x) ≤ 2t ky − xk inf ty 2 , ∞
de donde: b) ω = 2. c) η = 0, 37 < 1. 0, 37 1 ¯ 0 , ρ) 6⊂ D, de donde no se puede d) ρ = ≈ . Ahora bien, B(x 1 − 0, 37 2 garantizar las conclusiones del teorema. Sin embargo, tomando como x0 el valor de la primera iteraci´on a partir del valor inicial del ejemplo se tiene t 5 2 x0 = , , 6 3 obteniendo −19/213 , k△x0 k = 0, 066 = α, △x0 = −1/21
de donde
η = 0, 066,
ρ = 0, 07,
¯ 0 , ρ) ⊂ D. B(x
Por lo tanto, las tres condiciones del teorema son verificadas, teniendo garantizada de esta manera la convergencia del m´etodo de Newton. El teorema de Newton-Misovski da las ventajas de utilizar el m´etodo de Newton para resolver el problema f (x) = 0, sin embargo:
184
IV Ecuaciones No Lineales
Desventajas del m´ etodo de Newton — Cada iteraci´on del m´etodo es costosa en operaciones. En efecto el c´ alculo de f ′ (x) y la resoluci´on del sistema lineal adyacente cuestan mucho si la dimensi´on del sistema es grande. Resolver el sistema LR cuesta aproximadamente n3 /3 operaciones. — Convergencia local. El m´etodo converge solamente si x0 est´ a suficientemente pr´ oximo de la soluci´on x∗ .
M´ etodo de Newton Simplificado Una de las mayores desventajas que tiene el m´etodo de Newton, consiste en el hecho de calcular en cada iteraci´on la matriz derivada y el sistema lineal asociado. Se puede simplificar el m´etodo de Newton de la siguiente manera: x0
arbitrario, −1 △xk = − f ′ (x0 ) f (xk ),
(IV.3.9)
xk+1 = xk + △xk .
Por consiguiente se debe calcular una sola vez f ′ (x0 ) y calcular una vez la descomposici´ on LR. Por lo tanto, la primera iteraci´on consume aproximadamente n3 /3 en el c´ alculo de la descomposici´ on, y las dem´ as iteraciones necesitan aproximadamente n2 operaciones. La desventaja de utilizar el m´etodo de Newton simplificado reside en el hecho en que se pierde la convergencia cuadr´atica, obteniendo una convergencia lineal. En efecto, considerando este m´etodo como un m´etodo iterativo simple, dado en la secci´on precedente se tiene: −1 xk+1 = Φ(xk ), donde βΦ(x) = x − f ′ (x0 ) f (x); −1 ′ ′ ′ Φ (x) = I − f (x0 ) f (x). Ahora bien, se tiene convergencia local, si y solamente si −1 ′ ρ(I − f ′ (x0 ) f (x)) < 1,
por el teorema IV.2.9 y la convergencia lineal es consecuencia directa del teorema citado. Tanto el m´etodo de Newton, como su versi´on simplificada, definen iteraciones de la forma △xk = −(M (xk ))−1 f (xk ), xk+1 = xk + △xk ,
(IV.3.10)
donde M (x), es una matriz que depende de x. Para el m´etodo de Newton se tiene M (x) = f ′ (x) y para la versi´on simplificada M (x) = f ′ (x0 ). En
IV.3 M´ etodo de Newton
185
el primer caso la matriz M es la derivada, en el segundo caso M es la derivada en un punto arbitrario. Existen muchos problemas, en los cuales la matriz derivada tiene ciertas particularidades que constituyen en ventajas y desventajas al mismo tiempo, que puede solucionarse convenientemente si se escoge una matriz M apropiada; por ejemplo f ′ (x) puede tener una estructura de matriz banda, con algunos elementos no nulos fuera de la banda, es decir ∗ ∗ ∗ ∗ ∗ ∗ , f ′ (x) = .. .. . . ∗
∗
∗
planteando M (x) la matriz cuyos elementos est´ an dados por la banda principal de f ′ (x) se tiene una buena aproximaci´on de f ′ (x), disminuyendo de esta manera el costo en operaciones. Las bases te´ oricas de utilizar la matriz M en lugar de f ′ (x), est´ an dadas por el siguiente teorema.
Teorema IV.3.4.- Newton-Kantorovich. Sean D ⊂ Rn abierto y convexo, f : D −→ Rn continuamente diferenciables, M (x0 ) inversible y x0 ∈ D. Ademas:
M (x0 )−1 f (x0 ) ≤ α; a)
−1 ′ ′
b)
M (x0 )−1 (f ′ (y) − f (x)) ≤ ω ky − xk , ∀x, y ∈ D;
c) M (x0 ) (f (x) − M (x))
≤ δ0 + δ − 1 kx − x0 k,
M (x0 )−1 (M (x) − M (x0 ) ≤ µ kx − x0 k; d) δ0 < 1, σ := max(ω, µ + δ1 ) y h= e) B(x0 , ρ) ⊂ D, con ρ=
ασ 1 2 ≤ 2; (1 − δ0 )
1−
√
1 − 2h α ; h 1 − δ0
entonces: i) M (x) es inversible para x ∈ B(x0 , ρ), ii) La sucesi´on {xk } definida por (IV.3.10) se queda en B(x0 , ρ) y converge hacia una soluci´on x∗ de f (x) = 0, αω ω ¯= iii) Se define h = h, σ (1 − δ0 )2 ρ± =
1±
p ¯ α 1 − 2h , ¯ 1 − δ0 h
entonces x∗ ∈ B(x0 , ρ− ) y no hay otra soluci´on de f (x) = 0 en B(x0 , ρ+ ) ∩ D.
186
IV Ecuaciones No Lineales
¯ ≤ h cuya Antes de demostrar el teorema hay que remarcar que h verificaci´ on es inmediata y tambi´en ρ− ≤ ρ; en efecto considerando los desarrollos en serie de Taylor se tiene: √
1−x=
X 1/2 j≥0
j
(−x)j = 1 −
x − c 2 x2 − c 3 x3 − · · · , 2
con los cj ≥ 0, 1−
√
1 − 2h = 1 + 4c2 h + 8c2 h2 + 16c4 h3 + · · · , h
de donde ρ− ≤ ρ. Ver la figura IV.3.2.
D
ρ_ ρ+
x0
ρ
Figura IV.3.2. Resultado del Teorema de Newton-Kantorovich. Demostraci´ on.- Demostrando el punto i), se tiene: M (x) = M (x0 ) I + M (x0 )−1 (M (x) − M (x0 )) , | {z } B kBk ≤ µ kx − x0 k < µρ, √ µ 1 − 1 − 2h α (1 − δ0 )62 ≤ (1 − δ0 ) ≤ 1, µρ = µ hαωσ 1 − δ0 σ de donde kBk < 1, por lo tanto (I + B) es inversible y su inversa est´ a dada por ∞ X (I + B)−1 = (−1)k B k , k=0
IV.3 M´ etodo de Newton
187
la norma de (I + B)−1 , est´ a mayorada por
por consiguiente
(I + B)−1 ≤
M (x)−1 M (x0 ) ≤
1 1 ≤ , 1 − kBk 1 − µ kx − x0 k
1 kx − x0 k < ρ. 1 − µ kx − x0 k
(IV.3.11)
La demostraci´on del punto ii) se efectua por inducci´on. Si xk−1 , xk ∈ B(x0 , ρ), entonces xk+1 existe, se tiene:
kxk+1 − xk k = M (xk )−1 f (xk )
≤ M (xk )−1 f (xk ) − f (xk−1 ) − f ′ (xk−1 )(xk − xk1 )
+ M (xk )−1 f ′ (xk−1 − M (xk−1 ) (xk − xk−1 )
≤ M (xk )−1 f (xk ) − f (xk−1 ) − f ′ (xk−1 )(xk − xk1 ) 1 δ0 + δ1 kxk−1 − x0 k kxk − x0 k 1 − µ kxk − x0 k
Z 1h i
−1 ′ ′
f (xk−1 +t(xk −xk−1 )) − f (xk − 1) dt(xk − xk−1 ) ≤ M (xk )
+
0
1 δ0 + δ1 kxk−1 − x0 k kxk − x0 k 1 − µ kxk − x0 k 1 ω 2 ≤ kxk − xk−1 k 1 − µ kxk − x0 k 2 1 δ0 + δ1 kxk−1 − x0 k kxk − x0 k . + 1 − µ kxk − x0 k +
De donde
kxk+1 − xk k ≤ nσ o 1 kxk − xk−1 k2 + (δ0 + (σ − µ kxk−1 − x0 k) kxk − xk−1 k . 1 − µ kxk − x0 k 2 Para resolver esta desigualdad, se remplaza kxk+1 − xk k por tk+1 − tk y kxk − x0 k por tk , el s´ımbolo de desigualdad por el de igualdad, definiendo as´ı una sucesi´on {tk } ⊂ R, que verifica: t0 = 0, t1 = α, tk+1 − tk =
1 σ(tk − tk−1 )2 + (δ0 + (σ − µ)tk−1 )(tk − tk−1 ) , 1 − µtk
188
IV Ecuaciones No Lineales
Se demuestra facilmente, por inducci´on que: kxk+1 − xk k ≤ tk+1 − tk , kxk − x0 k ≤ tk ;
en efecto, para k = 0 se cumple, sup´ ongase cierto para k−1, por consiguiente kxk − x0 k ≤ kxk − xk−1 k + · · · + kx1 − x0 k ≤ tk − tk−1 + · · · + t0 = tk ; nσ o 1 kxk+1 − xk k ≤ (tk − tk−1 )2 + δ0 + (σ − µ)tk−1 (tk − tk − tk−1 ) 1 − µtk 2 = tk+1 − tk . El siguiente paso es estudiar la sucesi´on {tk }, se tiene σ (1 − µtk )(tk+1 − tk ) = (t2k − 2tk tk−1 + t2k−1 ) + δ0 (tk − tk−1 ) 2 + σtk−1 (tk − tk−1 ) − µtk−1 (tk − tk−1 ), efectuando algunos arreglos y simplicaciones se obtiene la siguiente igualdad (1 − µtk )(tk+1 − tk ) −
σ 2 t + (1 − δ0 )tk 2 k
= (1 − µtk−1 )(tk − tk−1 ) −
σ 2 t + (1 − δ0 )tk−1 = α, 2 k−1
expresi´ on que es constante por que no depende de k. Expresando tk+1 = tk +
σ 2 2 tk
− (1 − δ0 )tk + α u(tk ) = tk + = Φ(tk ), 1 − µtk v(tk )
donde las funciones u y v est´ an dadas por u(t) =
σ 2 t − (1 − δ0 )t + α, 2
v(t) = 1 − µt.
Se debe mostrar por consiguiente que tk converge y eso sucede si y solamente si Φ tiene un punto fijo, y el radio expectral de Φ′ en las proximidades del punto fijo es estrictamente menor a 1. Se tiene: s 2 1 − δ0 1 − δ0 2α Φ(t) = t ⇐⇒ u(t) = 0 ⇐⇒ t = ρ1,2 = − ± , σ σ σ
IV.3 M´ etodo de Newton
189
donde ρ1,2 son las raices de u(t). Expresando ambas raices en funci´on de h, se obtiene √ 1 ± 1 − 2h α , ρ1,2 = h 1 − δ0
puesto que h ≤ 1/2, las dos raices de u son positivas, siendo ρ1 la raiz m´as peque˜ na, se tiene: ρ1 ≤ ρ2 , ρ1 = ρ. Por otro lado, ambas raices son acotadas, en efecto ρ1 + ρ2 1 α 1 − δ0 1 = = ≤ . 2 h 1 − δ0 σ µ Estudiando la funci´on Φ(t) se tiene tres casos, que se observan en la figura IV.3.3.
α
α
α 1/µ
ρ2 1/µ
ρ1
ρ1 ≤ ρ2 ≤
1 µ
ρ1 <
1 < ρ2 µ
1/µ
ρ2 =
1 µ
Figura IV.3.3. Gr´aficas de la funci´on Φ. Para 0 < t < ρ1 , se tiene que Φ′ (t) > 0, en efecto: Φ(t) = t +
u(t) , v(t)
v(t) + u′ (t) v ′ (t) + u(t) 2 , v(t) v (t) | {z } >0 v(t) + u′ (t) = 1 − µt + σt − (1 − δ0 ) = δ0 + (σ − µ)t ≥ 0. Φ′ (t) =
Por consiguiente, Φ es creciente sobre el intervalo (0, ρ1 ), y adem´ as tk < ρ1 ; para k = 0 es cierto, sup´ ongase cierto para k, entonces tk+1 = Φ(tk ) < Φ(ρ1 ) = ρ1 ,
190
IV Ecuaciones No Lineales
La sucesi´on {tk } es creciente y mayorada, por lo tanto es convergente y converge al primer punto fijo de Φ, el cual es ρ1 . De aqu´ı, se deduce que xk ∈ B(x0 , ρ1 ). Ahora se est´ a en condiciones de mostrar que {xk } es una sucesi´on convergente, para tal motivo se debe demostrar antes que es una sucesi´on de Cauchy. Se tiene: kxk+1 − xl k ≤ kxk+1 − xk k + · · · + kxl+1 − xl k ≤ tk+1 − tk + · · · + tl+1 − tl < ρ1 − tl −→ 0 cuando k ≥ l −→ ∞. De donde lim = x∗ y como M (xk ) es acotada se deduce inmediatak→∞ mente f (x∗ ) = 0, mostrando as´ı el punto ii). Para la demostraci´on del punto iii) son necesarias algunas convenciones sobre la escritura de los s´ımbolos utilizados. La sucesi´on {xk } est´ a definida por −1 xk+1 = xk − M (x0 ) f (xk ),
planteando:
¯ (x) = M (x0 ), M
α ¯ = α,
ω ¯ = ω, µ ¯ = 0.
Por otro lado,
−1 −1 ¯ (x))
≤ M (x0 ) (f ′ (x) − M (x))
M (x0 ) (f ′ (x) − M
¯ (x)) + M (x0 )−1 (M (x) − M
≤δ0 + δ1 kx − x0 k + µ kx − x0 k =δ¯0 + δ¯1 kx − x0 k
−1 con δ¯0 = δ0 , δ¯1 = δ1 + µ y σ ¯ = σ. Definiendo G(x) = x − M (x0 ) f (x), se tiene:
G′ (x) =I − M (x0 )−1 f ′ (x),
kG(y) − G(xk−1 )k ≤ kG(y) − G(xk−1 ) − G′ (xk−1 )(y − xk−1 )k
+ G′ (xk−1 ) − G′ (x0 ) (y − xk−1 )
+ kG′ (x0 )(y − xk−1 )k
≤ M (x0 )−1 − f (y) + f (xk−1 ) + f ′ (xk−1 )(x − yk−1 )
+ M (x0 )−1 (f ′ (xk−1 ) − f ′ (x0 ))(y − xk−1 )
+ M (x0 )−1 (M (x0 ) − f ′ (x0 ))(y − xk−1 )
IV.3 M´ etodo de Newton
191
utilizando una integral como en el punto ii), se obtiene kG(y) − G(xk−1 k ≤
ω ky − xk−1 k 2 +ω kxk−1 − x0 k ky − xk−1 k + δ0 ky − xk−1 k ,
Sea y ∗ ∈ D ∩ B(x0 , ρ+ ), remplazando y por y ∗ en la u ´ltima desigualdad, se obtiene ω ∗ ky − xk−1 k 2 +ω kxk−1 − x0 k ky ∗ − xk−1 k + δ0 ky ∗ − xk−1 k ,
ky ∗ − xk−1 k ≤
y planteando tambi´en y = xk , se obtiene kxk − xk−1 k ≤
ω kxk − xk−1 k 2 +ω kxk−1 − x0 k kxk − xk−1 k + δ0 kxk − xk−1 k ,
Como en el punto ii) se remplazan kxk − x0 k por tk − t0 con t0 = 0 y ky ∗ − xk k por sk − tk , el s´ımbolo ≤ por la igualdad, obteniendo as´ı: tk+1 − tk = s k − tk =
ω (tk − tk−1 )2 + ωtk−1 (tk − tk−1 ) + δ0 (tk − tk−1 ), 2 t0 = 0, t1 = α;
ω (sk−1 − tk−1 )2 + ωtk−1 (sk−1 − tk−1 ) + δ0 (sk−1 − tk−1 ), 2 s0 = ky ∗ − x0 k < ρ+ .
Se demuestra por inducci´on que: kxk+1 − xk k ≤ tk+1 − tk , kxk − x0 k ≤ tk , ky ∗ − xk k ≤ sk − tk El siguiente paso en la demostraci´on consiste en estudiar las sucesiones {tk } y sk . Se tiene: tk+1 − tk =
s k − tk =
ω 2 (t − 2tk tk−1 + t2k+1 ) + ωtk−1 (tk − tk−1 ) + δ0 (tk − tk−1 ), 2 k ω ω tk+1 − t2k − δ0 tk = tk − t2k−1 − δ0 tk−1 = α, 2 2
ω 2 (s − 2sk−1 tk−1 + t2k−1 ) + ωtk−1 (sk−1 − tk−1 ) + δ0 (sk−1 − tk−1 ) 2 k−1 ω ω sk − s2k−1 − δ0 sk−1 = tk − t2k−1 − δ0 tk−1 = α. 2 2
192
IV Ecuaciones No Lineales
Definiendo la funci´on Ψ(t) por Ψ(t) =
ω 2 t + δ0 t + α, 2
entonces se obtiene, los resultados siguientes para sk y tk : tk+1 = Ψ(tk ), sk = Ψ(sk−1 ),
t0 = 0; s0 = ky − x0 k < ρ+ . ∗
Se tiene que, Ψ′ (t) = ωt + δ0 ≥ 0, si t ≥ 0, para estudiar la convergencia de las sucesiones, se debe determinar los puntos fijos de Ψ, es decir resolver la ecuaci´on ω 2 t + (δ0 − 1)t + α = 0, 2 las raices de ´esta, est´ an dadas por: ρ¯± =
1±
p ¯ 1 − 2h , ¯ h
se puede observar, que la sucesi´on tk es creciente y tiende hacia ρ− , por otro lado la sucesi´on sk es decrecientre y tiende hacia ρ− . Ver la figura IV.3.4
Ψ (t)
α ρ−
ρ +
t
Figura IV.3.4. Gr´afica de la funci´on Ψ. Como en el punto ii) se muestra que la sucesi´on {xk } es de Cauchy, por consiguiente xk −→ x∗ y f (x∗ ) = 0, adem´ as se tiene kx∗ − x0 k ≤ ρ− , ky ∗ −x∗ k ≤ sk − tk −→ 0, y ∗ = x∗ .
IV.3 M´ etodo de Newton
193
Para ilustrar la utilizaci´ on del teorema de Newton-Kantorovich, se tiene el: Ejemplo Consid´erese, la funci´on f dada por 2 x1 + x22 − 1 , f (x) = x2 − x21 partiendo del punto (1, 1) y tomando como dominio D = R2 , M (x) = f ′ (x), es decir el m´etodo de Newton en su versi´on no modificada, se tiene: α = 0, 37;
ω = 1, 2;
δ0 = 0; σ = 1, 2.
µ = ω;
δ1 = 0;
Verificando y efectuando c´ alculos se obtiene: h = 0, 444 ≤ 1/2,
ρ = ρ− = 0, 554;
ρ+ = 0, 981.
M´ etodo de Newton con Relajaci´ on Una de las principales desventajas del m´etodo de Newton, tanto en su versi´on original, como en su versi´on simplificada, es que es necesario estar cerca de la soluci´on del problema. Lamentablemente, en una gran mayor´ıa de casos eso no es posible. Por lo tanto, es necesario modificar el m´etodo de manera a que la convergencia sea una preocupaci´on menor. El m´etodo de Newton est´ a dado, por las iteraciones −1
xk+1 = xk − (f ′ (xk ))
f (xk ),
se tiene convergencia si kx1 − x0 k ≤ α suficientemente peque˜ no, sin embargo esta condici´ on no se cumple en general. Una soluci´on alternativa ser´ıa modificar el m´etodo de la manera siguiente: −1
pk = −(f ′ (xk )) f (xk ), xk+1 = xk + λk pk ; con 0 < λ ≤ 1. La base te´ orica de esta modificaci´ on est´ a dada por la:
Proposici´ on IV.3.5.- Sean D ⊂ Rn , f : D → Rn continuamente diferen−1 ciable, x0 ∈ D, f (x0 ) 6= 0 y p0 = −(f ′ (x0 )) f (x0 ). Entonces para toda matriz A inversible, existe λ0 > 0 tal que para todo λ, 0 < λ < λ0 , se tiene kAf (x0 + λp0 )k < λ kAf (x0 )k .
194
IV Ecuaciones No Lineales
Demostraci´ on.- Se define la funci´on g : R −→ R para una matriz A fija e inversible, como g(λ) = kAf (x0 + λp0 )k22 t
= f (x0 + λp0 ) At Af (x0 + λp0 ),
calculando la derivada de g, se obtiene: t
g ′ (λ) = 2f (x0 + λp0 ) At Af ′ (x0 + λp0 )p0 , −1
g ′ (0) = −2f (x0 )t At Af ′ (x0 )(f ′ (x0 )) =
−2 kAf (x0 )k22
f (x0 )
< 0,
por consiguiente, existe λ0 con las conclusiones requeridas por la proposici´ on. Otra de las motivaciones para modificar el m´etodo de Newton consiste en el siguiente hecho. Sean D ⊂ Rn , f : D −→ Rn continuamente diferenciable con derivada inversible para todo x ∈ D. Llamando p(x) = −1 −(f ′ (x)) f (x) la direcci´on de Newton para la funci´on f , se obtiene la siguiente ecuaci´on diferencial x′ = p(x).
(IV.3.12)
Una manera de resolver num´ericamente esta ecuaci´on, ver Cap´ıtulo VII, consiste en aproximar la soluci´on mediante segmentos poligonales, es decir, definir una sucesi´on de v´ertices, dados por xk+1 = xk − λk p(xk ),
(IV.3.13)
este m´etodo de resoluci´on de ecuaciones diferenciales es conocido como el m´etodo de Euler. El m´etodo modificado se lo conococe como λ-estrategia y su formulaci´on es la siguiente: −1 ∆xk = −(f ′ (xk )) f (xk ), (IV.3.14) xk+1 = xk + λk ∆xk . Si λk = 1 para todo k, se tiene el m´etodo de Newton usual. La otra situaci´on es escoger λk , tal que g(λ) = kAf (xk + λk ∆xk )k −→ min, presentandose dos interrogantes: ¿C´omo escoger la matriz A?
(IV.3.15)
IV.3 M´ etodo de Newton
195
¿C´omo calcular el m´ınimo de g(λ)? La elecci´on de A, se la realiza considerando los siguientes hechos. Se desea que kxk + λk ∆xk − x∗ k −→ min, donde x∗ es la soluci´on de f (x) = 0. No se conoce por el momento x∗ , pero se sabe f (x∗ ) = 0. Se tiene, las siguientes aproximaciones: f (x) − f (x∗ ) ≈ f ′ (x∗ )(x − x∗ ) ≈ f ′ (xk )(x − x∗ ) con x = xk + λk ∆xk , de donde −1
xk + λk ∆xk − x∗ = (f ′ (xk ))
f (xk + λ∆xk ),
escogiendo, de esta manera −1
A = (f ′ (xk ))
;
(IV.3.16)
−1 Por lo tanto (IV.3.15), se convierte en g(λ) = (f ′ (xk )) f (xk + λ∆xk ) y el problema radica en determinar λ, para que g(λ) sea m´ınimo. A continuaci´on se da un algoritmo simple que permite determinar este λ: ˆ k de λk . Se tiene dos Sup´ongase que se conoce xk y una aproximaci´on λ casos: ˆ k ) ≥ 0, es decir xk + λ ˆ k es peor que xk . a) g(λ Se busca el m´as peque˜ no de los j > 1, tal que ˆ k 2−j ) < g(0), g(λ ˆ k 2−j . se plantea λk = λ ˆ k ) < 0. Se busca el j > 0 m´as peque˜ b) g(λ no tal que ˆ k ) > g(2j λ ˆk ) g(2j+1 λ ˆk . y se plantea λk = 2j λ En ambos casos λk no debe ser m´as grande que 1. ˆ k ? UtiFinalmente surge la u ´ltima interrogante, ¿Como determinar λ lizando un desarrollo de Taylor se tiene: (f ′ (xk ))−1 f (xk + λ∆xk )) λ2 ′′ ′ ′ −1 3 f (xk ) + λf (xk )∆xk + f (xk )(∆xk , ∆xk ) + O(λ ) = (f (xk )) 2
196
IV Ecuaciones No Lineales
Por otro lado f (xk ) + λf ′ (xk )∆xk = (1 − λ)∆xk y (f ′ (xk ))−1 f (xk ) = ∆xk , de donde utilizando el desarrollo de Taylor, la desigualdad del tri´angulo y las observaciones anteriores, se tiene λ2 hk + O(λ3 )) 2
donde hk = (f ′ (xk ))−1 f ′′ (xk )(∆xk , ∆xk ) / k∆xk k . Despreciando el t´ermino O(λ3 ), se obtiene un polinomio de grado 2, cuyo m´ınimo se encuentra en ˆk = 1 , λ (IV.3.17) hk g(λ) ≤ k∆xk k (1 − λ +
faltando determinar hk . Como es pr´ acticamente imposible determinar con exactitud hk solo se requiere encontrar una buena aproximaci´on de hk . Para tal efecto, se supone que se ha efectuado k − 1 iteraciones, teniendo: ∆xk = −(f ′ (xk ))−1 f (xk ), dk = −(f ′ (xk−1 ))−1 f (xk ), ∆x
dk − ∆xk = (f ′ (xk−1 ))−1 (f ′ (xk ) − f ′ (xk−1 ))∆x dk ∆x dk ). ≈ (f ′ (xk−1 ))−1 f ′′ (xk )(xk − xk−1 , ∆x
Pasando a las normas se obtiene la siguiente relaci´on:
de donde
d
∆xk − ∆xk ≈
hk
d λk−1 k∆xk−1 k ∆x k , k∆xk k
k ˆ k = min 1, λk−1 k∆xk−1 k k∆x
k . λ
d
d
∆xk − ∆xk ∆xk
(IV.3.18)
Ejemplo Consid´erese, la funci´on f definida por f (x) =
−13x1 + x2 ((5 − x2 ) − 2) −29 + x1 + x2 ((1 + x2 )x2 − 14)
Tomando como valor inicial x1 = 0, 5 y x2 = 2, 24, se resolver´ a el problema f (x) = 0, utilizando la λ-estrategia, el m´etodo de Newton en su version original. A continuaci´on se presentan los resultados obtenidos para ambos:
IV.3 M´ etodo de Newton
197
Tabla IV.3.3. Resultados con λ-estrategia. Iteraci´ on 1 2 3
x1
k∆xk
x2
−8.5849058 3.94357758
λ 7.8125 × 10−3
1183.1361
4.989738
4.0012650
4.9999949
4.0000006 1.03345 × 10−2
4
4.9999999
5
5.0
4.000000 4.0
13.574766
1.0
−6
5.08213 × 10 0.0
Tabla IV.3.4. Resultados sin λ-estrategia. Iteraci´ on 1 2 3 4
x1
x2
−1162.367 220.297 −47637.0
−21035.69
k∆xk 1183.1
147.095
46474.7
98.296
26601.42
−9256.28 65.77062
11779.45
−1755.45
−4049.98 44.09533
5206.34
29.658
2294.57
−748.669
20.056
1006.82
−310.0149
13.688
438.7011
−121.126
9.5002
188.934
−41.5288
6.8016
79.6434
−9.51218
5.16002
32.05875
1.887
4.3114
11.4307
13
4.7248
4.03167
2.8516
14
4.9968
4.0003
0.27378
15
4.9999
4.0000
16
4.9999
4.0
3.149 × 10−3
17
5.0
4.0
5 6 7 8 9 10 11 12
4.566 × 10−7 0.0
1.0 1.0 1.0
198
IV Ecuaciones No Lineales
Aproximaci´ on de Broyden Uno de los principales problemas en la implementaci´on del m´etodo de Newton, tanto en su versi´on con relajaci´ on, como en su versi´on original, es el c´ alculo de la matriz jacobiana f ′ (xk ) en cada iteraci´on y por consiguiente mediante el algoritmo de eliminaci´on de Gauss determinar la descomposici´ on LR de esta matriz. Existen muchas alternativas para evitar el c´ alculo de la matriz jacobiana y su descomposici´ on LR en cada iteraci´on. El siguiente an´ alisis permitir´ a encontrar algunas de estas alternativas. Utilizando las relaciones dadas por (IV.3.17) y (IV.3.18) respecto a la determinaci´ on de los coeficientes de relajaci´ on, la experiencia num´erica indica que, si λk hk ≤ 10−1 se puede tomar en el lugar de f ′ (xk+1 ) f ′ (xk ). En este caso se tiene la versi´ on simplificada del m´etodo de Newton. Sin embargo, existe otra alternativa descubierta por Broyden en 1965. Se supone, que se conoce una aproximaci´on Jk de f ′ (xk ), es decir Jk ≈ f ′ (xk )
(IV.3.19)
de donde el m´etodo de Newton est´ a dado por ∆xk = −Jk −1 f (xk ), xk+1 = xk + ∆xk el objetivo es por consiguiente, encontrar Jk+1 una aproximaci´on simple de calcular de f ′ (xk+1 ). Para tal efecto, la matriz Jk debe permanecer igual en las direcciones ortogonales a ∆xk , es decir: Jk+1 p = Jk p ∀p⊥∆xk ; Jk+1 ∆xk = Jk ∆xk + q;
(IV.3.20)
por lo tanto q = Jk+1 ∆xk − Jk ∆xk = f (xk ) +
Jk+1 ∆xk , | {z } ≈ f ′ (xk+1 )∆xk {z } | f (xk+1 ) + O k∆xk2
de donde Jk+1 ∆xk = Jk ∆xk + f (xk+1 ). (IV.3.20)
¯ k+1 < k∆xk k, donde Proposici´ on IV.3.6.- Si Jk es inversible y ∆x ∆xk = −Jk−1 f (xk )
¯ k+1 = −J −1 f (xk+1 ), ∆x k
IV.3 M´ etodo de Newton
199
entonces Jk+1 es inversible. Demostraci´ on.- Sean, α ∈ R y p⊥∆xk , se va mostrar que ker Jk+1 = {0}. En efecto: 0 = Jk+1 (α∆x + p) = α(Jk ∆xk + f (xk+1 ) + Jk p = Jk (α∆xk + p) + αf (xk+1 ) ¯ k+1 , = α∆xk + p − α∆x introduciendo el producto escalar, multiplicando por ∆xk , se obtiene:
¯ k+1 , ∆xk = 0, α k∆xk k2 − α ∆x
por la desigualdad de Cauchy-Schwartz, se tiene
¯ k+1 , ∆xk ≤ ∆x ¯ k+1 k∆xk k < k∆xk k2 , ∆x
de donde α = 0 y por consiguiente p = 0.
¯ k se propone en los ejercicios. La determinaci´ on de ∆xk+1 y ∆x
Ejercicios 1.- Utilizando el teorema de Newton-Kantorovich encontrar ρ > 0 tal que la iteraci´on zk+1 = zk −
f (zk ) f ′ (zk )
f (z) = z 3 − 1
converge hacia 1, si z0 ∈ C satisface |z0 − 1| < ρ.
2.- Sea D ⊂ Rn y f : D → Rn continuamente diferenciable. Para x0 ∈ D sup´ ongase que f (x0 ) 6= 0 y que f ′ (x0 ) sea inversible. Mostrar que p0 = −f ′ (x0 )−1 f (x0 ) es la u ´nica direcci´on que tiene la propiedad siguiente: para toda matriz inversible A existe λ0 > 0 tal que para 0 < λ < λ0 kAf (x0 + λp0 )k2 < kAf (x0 )k2 . 3.- En el art´ıculo R.S. Dembo, S.C. Eisenstat & T. Steighaug(1982): Inexact Newton methods. SIAM J. Numer. Anal., vol. 19,400-408.
200
IV Ecuaciones No Lineales los autores consideran la modificaci´ on siguiente del m´etodo de Newton: f ′ (xk )∆xk = −f (xk ) + τk xk+1 = x + l + ∆xk .
(IV.3.22)
Las perturbaciones τk pueden ser interpretadas como la influencia de los errores de redondeo, como el error debido a una aproximaci´on de f ′ (xk ),... Sup´ongase que τk = τ (xk ) y que kτ (x)k ≤ η kf (x)k
(IV.3.23)
con η < 1. a) Mostrar el resultado: Sea D ⊂ Rn abierto, f : D → Rn y τ : D → Rn continuamente diferenciables en D. Si la condici´ on (IV.3.23) es satisfecha con η < 1 y si k∆x0 k es suficientemente peque˜ no, entonces la iteraci´on (IV.3.21) converge hacia una soluci´on de f (x) = 0. b) El teorema precedente no es cierto, en general, si se remplaza η < 1 por η ≤ 1. Mostrarlo. Indicaci´ on. Encontrar una matriz M (x) tal que la iteraci´on (IV.3.21) se vuelva equivalente a M (xk )∆xk = −f (xk ), y aplicar el teorema de Newton-Kantorovich. Utilizar la norma kukJ = kf ′ (x0 )uk . 4.- (U. Ascher & Osborne 1987). Considerar una funci´on f : R2 → R2 que satisfaga √ 1 1 0 4 √3 − 3 f (0) = − f ′ (0) = , 0 1 10 −4 3 − 3 √ √ 1 1/ 3 −1/ 3 4 ′ , f (u) = f (u) = 1 1 5 −3 donde u = −f (0). Aplicar el m´etodo de Newton con el valor inicial x0 = 0. Para la sucesi´on {xk } obtenida de esta manera mostrar: a) xk+2 = xk para todo k ≥ 0; b) el test de monotonocidad
−1
′ −1
(f (xk )) f (xk+1 ) < (f ′ (xk )) f (xk ) 2
2
IV.3 M´ etodo de Newton
201
es satisfecho en cada iteraci´on. 5.- Sea f : Rn → Rn dos veces diferenciable. Mostrar que kf ′′ (x)(h, k)k∞ ≤ M khk∞ kkk∞
donde M = max i
X X ∂ 2 fi . (x) ∂xj ∂xl j
l
6.- Sea f : D → R2 dada por D = f (x) =
x1 − x2 (x1 − 8)x2
x1 x2
| − 1 < x1 , x2 < 3 ,
,
x0 =
0.125 0.125
.
Calcular los valores α y ω del teorema de Newton-Misovski. Mostrar que el metodo de Newton converge hacia una soluci´on de f (x) = 0. 7.- Sean f : D → Rn 3 veces continuamente diferenciable, Jk una aproximaci´on de la matriz f ′ (xk ) y p ∈ Rn , p 6= 0. Para la aproximacion de Broyden pt Jk+1 = Jk + γ(f (xk + p) − f (xk ) − Jk p). t pp se tiene: a) (Jk+1 − f ′ (x0 + p))p = (1 − γ)(Jk − f ′ (xk ))p γ 3 +( − 1)f ′′ (xk )(p, p) + O(kpk ). 2 b) para γ ∈ [0, 2] 2
kJk+1 − f ′ (x0 + p)k2 ≤ kJk − f ′ (xk )k2 + kf ′′ (xk )(p, .)k2 + O(kpk ).
8.- Sup´ongase que se conoce una aproximaci´on J0 de f ′ (x0 ), y su descomposici´ on LR. Consid´ere la iteraci´on Jk ∆xk − = f (xk ) xk+1 = xk + ∆xk donde Jk+1 (aproximaci´on de Broyden), est´ a definido por Jk+1 ∆xk = Jk ∆xk + f (xk+1 ); Jk+1 p = Jk p, si pt ∆xk = 0. Sin calcular explicitamente J1 y J2 , encontrar f´ormulas para ∆x1 y ∆x2 .
202
IV Ecuaciones No Lineales
9.- Consid´erese una funci´on f : Rn → Rm donde m < n. El conjunto E = {x|g(x) = 0} representa una superficie en Rn . Dado x ˆ ∈ Rn . Proponer un algoritmo para calcular el punto de E el m´as pr´ oximo de x ˆ. Estudiar las hip´otesis para que el algoritmo converga. 10.- Consid´erese la ecuaci´on integrale de Fredholm (cf. Ejercicio 3 secci´on IV.3) λy(x) =
2 π
Z
π
(3 sin x sin t + 2 sin(2x) sin(2t))(y(t) + (y(t))3 )dt
0
(IV.3.24) y(x) = 0 es soluci´on de (IV.3.24) para todo λ ∈ R. Con las ideas del ejercicio 3 de la anterior secci´on se puede escribir (IV.3.24) bajo la forma G(c1 , c2 , λ) = 0. Calcular los λ, donde det ∂G (C, 0) = 0. ∂C Interpretar estos puntos con el teorema de las funciones implicitas. (Soluciones: λ1 = 2, λ2 = 3) 11.- Mostrar num´ericamente que para λ1 = λ1 + ǫ (ǫ > 0) el problema (IV.3.24) posee al menos 3 soluciones, para λ1 > λ2 al menos 5 soluciones. Calcular tambi´en todas las soluciones de (IV.3.24) para λ = 10, (hay 13).
IV.4 M´ etodo de Gauss Newton
El estudio de las ecuaciones realizados en las secciones precedentes, consist´ıan en problemas de la forma f (x) = 0 o su variante del punto fijo x = f (x), donde f : D ⊂ Rn → Rn . Sin embargo, existen muchos problemas donde intervienen ecuaciones no lineales, que se encuentrar en una diversidad de problemas, sobre todo en la determinaci´ on de param´etros en el an´alisis de datos. El problema puede formularse de la siguiente manera. Sea f : D ⊂ Rn → Rm
con
n ≤ m,
el problema consiste en encontrar x ∈ D, tal que kf (x)k2 −→ min .
(IV.4.1)
En el cap´ıtulo II.5, se abord´o el problema bajo su forma lineal, se formul´o el m´etodo QR para resolver este problema, y as´ı mismo se introduj´o la noci´ on de pseudo-inversa de una matriz. Para el problema no lineal, se sigue el mismo esquema. Pero antes de continuar en esa direcci´on, existe una alternativa de soluci´on. Se define la funci´on g : D → Rn de la manera siguiente 2 g(x) = kf (x)k2 , (IV.4.2) de donde
t
g ′ (x) = 2(f ′ (x)) f (x),
(IV.4.3) t
se busca, por consiguiente, los x ∈ D tales que (f ′ (x)) f (x) = 0. En principio se podr´ıa utilizar el m´etodo de Newton para resolver este problema, pero la principal desventaja, consiste en calcular la segunda derivada de f . Este algoritmo da los m´ınimos locales. La otra alternativa de soluci´on de este problema, se la di´o m´as arriba, es el m´etodo de Gauss-Newton. Al igual que en el m´etodo de Newton, la idea principal de este m´etodo consiste en linearizar el problema. Sea x0 ∈ D un valor inicial. Utilizando un desarrollo de Taylor en x0 se obtiene 2
2
kf (x)k2 = kf (x0 ) + f ′ (x0 )(x − x0 ) + · · ·k2 , considerando los t´erminos lineales del segundo miembro de la ecuaci´on se obtiene, al igual que en el cap´ıtulo II.5, +
x − x0 = −f ′ (x0 ) f (x0 ), +
donde f ′ (x0 ) es la pseudo inversa de f ′ (x).
(IV.4.4)
204
IV Ecuaciones No Lineales Por lo tanto, se puede formular el m´etodo de Gauss-Newton, como: +
∆xk = −f ′ (xk ) f (xk ),
(IV.4.5)
xk+1 = xk + ∆xk .
El c´ alculo de ∆xk se lo realiza, utilizando la descomposici´ on QR dada en el cap´ıtulo II.5. Como se puede observar, la implementaci´ on del m´etodo de Gauss-Newton es muy simple, y al igual que el m´etodo de Newton existen muchas variantes o modificaciones de ´este.
Convergencia del M´ etodo de Gauss-Newton Sea, {xk } la sucesi´on definida por el m´etodo de Gauss-Newton, si esta sucesi´on es convergente cuando k → ∞, se tiene +
f ′ (x) f (xk ) −→ 0,
∆xk −→ 0,
sup´ ongase que lim xk = x∗ , que el rango de f ′ (x) es constante en un k→∞
+
vecindario de x∗ , por que si no f ′ (x) no ser´ıa continua, ver teorema II.5.6, entonces + f ′ (x∗ ) f (x∗ ) = 0. (IV.4.6) 2
Por otro lado, si x ∈ D es un m´ınimo local de g(x) = kf (x)k2 , se tiene ∂ ∂xj
m X
fi (x)
2
i=1
!
=2
de donde
m X ∂fi (x) · fi (x) = 0, ∂xj i=1 t
f ′ (x) f (x) = 0.
∀j;
(IV.4.7)
Los resultados (IV.4.6) y (IV.4.7) est´ an relacionados por el siguiente: Proposici´ on IV.4.1.- Se tiene +
t
f ′ (x) f (x) = 0 ⇐⇒ f ′ (x) f (x).
(IV.4.8)
Demostraci´ on.- Por el teorema II.5.5 existen dos matrices ortogonales U y V , tales que σ1 .. 0 . V t, f ′ (x) = U σk 0 0
IV.4 M´ etodo de Gauss Newton
205
remplazando, se tiene
σ1
t f ′ (x) = V
..
0 U t = 0,
.
0
σk
0
si y solamente si las primeras k componentes de U t f son nulas, si y solamente si −1 σ1 .. + 0 . U t = 0. f ′ (x) V −1 σk 0 0 A la diferencia del m´etodo de Newton, el m´etodo de Gauss-Newton ofrece solamente convergencia de tipo lineal, situaci´on que ser´ a mostrada a continuaci´on. Como antes, se define g(x) = (f ′ (x))t f (x), si x∗ es soluci´on del problema de minimizaci´on de la norma euclidiana, se tiene g(x∗ ) = 0. El desarrollo en serie de Taylor en punto x de la funci´on g, da el siguiente resultado 2 0 = g(x) + g ′ (x)(x∗ − x) + O(kx∗ − xk2 ), por otra lado, la funci´on g y sus derivadas parciales satisfacen: gj (x) = ∂gj (x) = ∂xk de donde
m X ∂fi (x)
i=1 m X i=1
∂xj
fi (x),
m X ∂ 2 fi (x) ∂fi ∂fi fi (x) + (x) (x), ∂xj ∂xk ∂x ∂x j k i=1 t
g ′ (x) = B(x)(f (x), ) + f ′ (x) f ′ (x),
con B(x) una forma bilineal sim´etrica. Por consiguiente el desarrollo de Taylor de g en xk , el k-esimo valor obtenido en la iteraci´on del m´etodo de Gauss-Newton, es igual a t
t
0 = f ′ (xk ) f (xk ) + f ′ (xk ) f ′ (xk )(x∗ − xk ) + B(xk )(f (xk ), x∗ − xk )
+O(kx∗ − xk k22 ),
y por el m´etodo de Gauss Newton, se tiene +
xk+1 − xk = −f ′ (xk ) f (xk ),
206
IV Ecuaciones No Lineales t
multiplicando esta u ´ltima expresi´ on por f ′ (xk ) f ′ (xk ) se obtiene t
+
t
0 = f ′ (xk ) f ′ (xk )f ′ (xk ) f (xk ) + f ′ (xk ) f ′ (xk )(xk+1 − xk ), y utilizando el teorema II.5.7, el inciso d), se tiene finalmente t
t
f ′ (xk ) f (xk ) + f ′ (xk ) f ′ (xk )(xk+1 − xk ); sustrayendo esta u ´ltima expresi´ on con aqu´ella concerniente al desarrollo de Taylor, se obtiene t
2
0 = f ′ (xk ) f ′ (xk )(xk+1 − x∗ ) + B(xk )(f (xk ), x∗ − xk ) + O(kx∗ − xk k2 ). Ahora bien, sup´ ongase adem´ as que rang f ′ (xk ) = n, es decir que el rango sea maximal. De donde se tiene −1 t 2 xk+1 − x∗ = − f ′ (xk ) f ′ (xk ) B(xk )(f (xk ), x∗ − xk ) + O(kx∗ − xk k2 ), por consiguiente, el m´etodo de Gauss-Newton converge linealmente si −1 t ρ f ′ (xk ) f ′ (xk ) B(xk )(f (xk ), ) < 1; y diverge si ρ
t
f ′ (xk ) f ′ (xk )
−1
B(xk )(f (xk ), )
> 1.
Debe observarse que si f (x∗ )=0, el m´etodo de Gauss-Newton converge cuadr´aticamente, en este caso se tiene un problema compatible. Por otro lado, el problema inicial era buscar x tal que f (x) = 0, motivo por el cual se debe esperar que la soluci´on encontrada por el m´etodo de Gauss-Newton de f (x∗ ) bastante peque˜ no, de manera que el radio espectral sea m´as peque˜ no que 1. Al igual que en el m´etodo de Newton, el c´ alculo de f ′ (x) se lo realiza en muchas ocaciones num´ericamente, o en los casos en que se pueda anal´ıticamente. Es indudable que la matriz f ′ (x) en las iteraciones del m´etodo de Gauss-Newton tienen un componente de error, utilizando las √ relaciones (IV.3.5) y (IV.3.6), este error es del orden de eps, donde eps es la precisi´ on del computador. Por consiguiente la k-esima iteraci´on del m´etodo de Gauss-Newton, considerando que el error cometido por redondeo se encuentra solamente en el c´ alculo de f ′ (x), est´ a dada por +
∆xk = −(f ′ (xk ) + E) f (xk ),
IV.4 M´ etodo de Gauss Newton
207
√ con kEk2 = eps. Efectuando operaciones con la pseudo inversa, dadas en el teorema II.5.7 se obtiene: −1 t t ∆xk = − (f ′ (xk ) + E) (f ′ (xk ) + E) (f ′ (xk ) + E) f (xk ), t t (f ′ (xk ) + E) (f ′ (xk ) + E) ∆xk = −(f ′ (xk ) + E) f (xk ), t t (f ′ (xk ) + E) (f ′ (xk ) + E) ∆xk + (f ′ (xk ) + E) f (xk ) = 0, despreciando E en el primer t´ermino de la u ´ltima ecuaci´on, se obtiene t t f ′ (xk ) f ′ (xk ) ∆xk + f ′ (xk ) f (xk ) + E t f (xk ) = 0,
introduciendo en la serie de Taylor, como se hizo m´as arriba, se obtiene t
−E t f (xk ) = f ′ (xk ) f ′ (xk )(xk+1 − x∗ ) + B(xk )(f (xk ), x∗ − xk )
+O(kx∗ − xk k22 ),
mostrando as´ı que si f (x∗ ) 6= 0, es inutil buscar una precisi´ on superior a √ eps.
Modificaciones del M´ etodo de Gauss-Newton Similarmente al m´etodo de Newton, existen varias modificaciones del m´etodo original de Gauss-Newton. Una de las mayores dificultades en la implementaci´on de este m´etodo consiste en calcular f ′ (xk ) en cada iteraci´on. Por consiguiente, una primera modificaci´ on consiste en utilizar el m´etodo de Gauss-Newton simplificado, el cual est´ a dado por: ( x0 bastante pr´ oximo de la soluci´on, +
∆xk = −f ′ (x0 ) f ′ (xk ),
La principal ventaja de utilizar el m´etodo de Gauss-Newton simplificado consiste en calcular por una vez f ′ (x0 ) y luego efectuar la descomposici´ on QR. Sin embargo existe una desventaja, que no se puede llegar a la soluci´on x∗ , si f (x∗ ) 6= 0, esto se ha observado al finalizar la anterior subsecci´ on. Otra modificaci´ on corrientemente utilizada en el m´etodo de GaussNewton consiste en utilizar coeficientes de relajaci´ on o m´as conocido como la λ-estrategia. Sobre todo, se utiliza la relajaci´ on cuando los valores iniciales utilizados para activar el m´etodo no est´ an muy cerca de la soluci´on buscada, adem´ as como un medio de aceleraci´ on de convergencia. Por lo tanto el m´etodo de Gauss-Newton con λ-estrategia, est´ a dado por oximo de la soluci´on; x0 bastante pr´ + ∆xk = −f ′ (x0 ) f ′ (xk ), xk+1 = xk + λk ∆xk , 0 < λk ≤ 1.
208
IV Ecuaciones No Lineales
El valor λk se determina de la misma manera, que para el m´etodo de Newton, con la u ´nica variaci´ on de utilizar la pseudo-inversa en el lugar de la inversa. Ejemplos 1.- Este ejemplo est´ a relacionado con la subsecci´ on concerniente a la convergencia del m´etodo de Gauss-Newton. Se busca x ∈ R tal que g(t) = ext ajuste lo mejor posible m puntos (ti , yi ), i = 1, . . . , m; con m ≥ 1. Por consiguiente, el problema consiste en determinar x tal que m X i=1
(yi − exti ) −→ min,
de donde, dentro las caracter´ısticas de la aplicaci´ on del m´etodo de Gauss-Newton se tiene: xt e 1 − y1 t1 ext1 . . , .. .. f ′ (x) = f (x) = , xtm xtm tm e e − ym continuando con los c´ alculos se tiene: t
f ′ (x) f ′ (x) =
m X
(ti exti )2 ,
i=1
B(x)(f (x), ) =
m X i=1
Sea por otro lado ρ tal que xt e i − yi ≤ ρexti
t2i exti (exti − yi ).
i = 1, . . . , m;
obteniendo, la mayoraci´on siguiente m X 2 xti xti ti e (e − yi ) i=1 ≤ ρ, m X xti 2 (ti e ) i=1
se tiene convergencia si ρ < 1.
2.- Este ejemplo es una ilustraci´ on num´erica de la implementaci´on del m´etodo de Gauss-Newton con relajaci´ on. El problema consiste en determinar la circunferencia que pasa lo m´as cerca posible de los
IV.4 M´ etodo de Gauss Newton
209
siguientes puntos: (2, 3), (2, 1), (1, 2), (3, 2) y (2.5, 2.5). Ahora bien la ecuaci´on de una circunferencia de centro (h, k) y radio r est´ a dada por
(x − h)2 + (x − k)2 − r 2 = 0,
por consiguiente el problema consiste en determinar h, k y r de manera que se obtenga la circunferencia m´as pr´ oxima a estos puntos. Para la implementaci´on del m´etodo de Gauss-Newton, se tiene que
(h − 2)2 + (k − 3)2 − r 2 (h − 2)2 + (k − 1)2 − r 2 f (h, k, r) = (h − 1)2 + (k − 2)2 − r 2 (h − 3)2 + (k − 2)2 − r 2 (h − 2.5)2 + (k − 2.5)2 − r 2
Despu´es de un simple gr´afico, se puede tomar como valores iniciales h = 2, k = 2 y r = 1, utilizando el m´etodo de Gauss-Newton con relajaci´ on despues de 5 iteraciones, se obtiene los siguientes valores:
h =1.95833333333295, k =1.95833333333295, r =0.959239125904873
En la figura IV.4.1, se tiene la gr´afica de la circunferencia resultante
210
IV Ecuaciones No Lineales del m´etodo de Gauss-Newton. 4.0 3.5 3.0 2.5 2.0 1.5 1.0 .5 .0 .0
.5
1.0
1.5
2.0
2.5
3.0
3.5
Figura IV.4.1. Circunferencia del m´etodo de Gauss-Newton.
4.0
IV.4 M´ etodo de Gauss Newton
211
El M´ etodo de Levenberg-Marquandt El problema abordado en esta secci´on, es resolver kf (x)k → min, donde f : Rn → Rm , con n ≤ m. El m´etodo propuesto en el anterior paragrafo fue el m´etodo de Gauss-Newton. Como se ha visto, uno de los mayores incovenientes es que para iniciar las iteraciones se debe partir de un punto inicial bastante pr´ oximo de la soluci´on, por otro lado los an´alisis hechos se basan en el supuesto que f ′ (x) es de rango igual a n, es decir de rango maximal, adem´ as si f (x) no es lo suficientemente peque˜ no el m´etodo de GaussNewton diverge. Por las razones expuestas es necesario formular un m´etodo alternativo que permita evitar las situaciones enumeradas anteriormente. El m´etodo de Levenberg-Marquandt que constituye un m´etodo alternativo para resolver el problema de encontrar x con kf (x)k m´ınima, se basa en las siguientes ideas. Al formular el m´etodo de Gauss-Newton, se consider´o la serie de Taylor de f (x) en el punto xk , resultado de la k − 1 iteraci´on y se plante´ o kf (x)k = kf (xk ) + f ′ (xk )(x − xk ) + O(kx − xk k)k −→ min, suponiendo que x − xk es lo suficientemente peque˜ no, se obten´ıa como formulaci´on del m´etodo de Gauss-Newton kf (xk ) + f ′ (xk )(x − xk )k −→ min, y como condici´ on suplementaria deseable kx − xk k −→ min, La idea de Levenberg fue de considerar el problema siguiente para determinar el valor de xk+1 2
kf (xk ) + f ′ (xk )(x − xk )k2 + p kx − xk k22 −→ min,
(IV.4.9)
donde p > 0 es un param´etro fijo. Si se deriva una vez la expresi´ on (IV.4.9), se obtiene: t
2f ′ (xk ) (f (xk ) + f ′ (xk )(x − xk )) + 2p(x − xk ) = 0, t t f ′ (xk ) f ′ (xk ) + pI (xk+1 − xk ) = −f ′ (xk ) f (xk ).
(IV.4.10)
Dependiendo de la elecci´on del param´etro p, el m´etodo de LevenbergMarquandt, tiene los siguientes comportamientos: Si p −→ 0, se tiene el m´etodo de Gauss-Newton, para ver realmente lo que sucede ver el cap´ıtulo II, secci´on 5, ejercicio 5.
212
IV Ecuaciones No Lineales
Si p es muy grande, entonces 1 t ∆xk ≈= − f ′ (xk ) f (xk ), p de esta manera, se tiene la direcci´on de la pendiente m´as grande, o llamada tambi´en del gradiente, pero en este caso la convergencia podr´ıa ser muy lenta. La elecci´on de p puede ser variable, en el sentido siguiente, comenzar con p grande hasta que ∆xk sea bastante peque˜ no y luego hacer decrecer p hasta obtener el m´etodo de Gauss-Newton.
Ejercicios 1.- Encontrar una elipse, una hip´erbola, que pasa lo mejor posible por los puntos (xi , yi )i=1,...,m . Por ejemplo m = 10; (−1/2, 1), (−1/2, −0.1), (2.5, −1), (1.5, 1.5), (0.3, −1.5), (0.5, −2), (3, 0.1), (3, −0.3), (2.5, 1), (0.5, 3.5). Indicaciones.- Plantear f (x, y) = ax2 + 2bxy + cy 2 + dx + ey + g y encontrar a, b, c, d, e, g tales que m X
f (xi , yi )
i=1
2
−→ min
bajo la condici´ on ac − b2 = 1 para la elipse, y ac − b2 = −1 para la hip´erbola. 2.- Consid´erese el problema de localizar un barco en el oceano. Para volver el c´ alculo m´as simple, se supondr´ a que la curvatura terrestre es despreciable y que todos los puntos est´ an situados en el sistema de coordenadas rectangulares (x, y). Sobre el barco, se mide el ´angulo entre el eje x y las varias estaciones emisoras, cuyas coordenadas son conocidas. i xi yi αi 1
8
6
42
2
−4
5
158
−3
248
3
1
IV.4 M´ etodo de Gauss Newton
213
Te´ oricamente, la posici´ on (x, y) del barco satisface la relaci´on arctan
y − yi x − xi
= αi
∀i.
Encontrar la posici´ on probable de ´este. Las coordenadas aproximadas del barco son x0 = 3, y0 = 2. Atenci´ on.- Hacer los c´ alculos en radianes y utilizar siempre la misma rama de la funci´on arctan.
Cap´ıtulo V C´ alculo de Valores Propios
La determinaci´ on de valores propios o autovalores de una matriz A es muy corriente en la resoluci´on de m´ ultiples problemas. Sus aplicaciones van desde problemas de minimizaci´on y maximizaci´on, soluci´ on de sistemas de ecuaciones diferenciales, ecuaciones con derivadas parciales, etc. El c´ alculo de valores propios y la determinaci´ on de vectores propios para matriz de un orden inferior o igual a 3 no presenta mayor problema, puesto que su soluci´on depende del polinomio caracter´ıstico cuyo grado en este caso es inferior o igual a 3. Sin embargo, aqu´ellos problemas, donde se requiere saber los valores y vectores propios, provienen de matrices cuyo orden es mucho mas grande que 3 Es por eso, necesario e imprecindible formular m´etodos y algoritmos, lo mas eficientes posibles, teniendo en cuenta las particularidades de las matrices que son estudiadas. Ahora bien, la mayor parte de los m´etodos consevidos sirven para matrices sim´etricas o matrices normales, pues son ´estas, las que se encuentran en la mayor parte de los problemas. En este cap´ıtulo, se estudiar´ an y formular´an tales m´etodos, pero se comenzar´a haciendo una introducci´on te´ orica del problema de la determinaci´ on de autovalores y vectores propios. Como segunda parte de este cap´ıtulo, se tendr´a la formulaci´on de estos m´etodos.
V.1 Teor´ıa Cl´ asica y Condici´ on del Problema
En esta secci´on, se tratar´a los aspectos te´ oricos indispensables para la comprensi´ on del problema de la evaluaci´ on de valores propios de una matriz A de orden n. Definici´ on V.1.1.- Sea A una matriz de n × n a coeficientes complejos o reales. λ ∈ C es un valor propio, si existe x ∈ Cn no nulo, tal que Ax = λx.
(V.1.1)
Si este es el caso, x es un vector propio asociado al valor propio λ. Proposici´ on V.1.2.- Sea A ∈ Mn (C), λ ∈ C es un valor propio, si y solamente si ker(A − λI) 6= {0}. Demostraci´ on.- Resultado inmediato de la definici´on.
Consecuencia de la anterior proposici´ on, se tiene que λ es un valor propio si y solamente si det(A − λI) = 0, (IV.1.2) de donde, se tiene la: Definici´ on V.1.3.- El polinomio caracter´ıstico de la matriz A ∈ Mn (Cn ) est´ a dado por χA (λ) = det(A − λI). (IV.1.3) Por consiguiente, se deduce facilmente que λ es un valor propio de A si y solamente si λ es una raiz de χA (λ). Por otro lado, este polinomio es a coeficientes complejos, de donde existen n valores propios, contando su multiplicidad, de la matriz A ∈ Mn (C). Proposici´ on V.1.4.- Valor propio es una propiedad invariante por similaridad, es decir si B = T −1 AT , con T inversible, entonces A y B tienen los mismos valores propios. Demostraci´ on.- En efecto, sea λ valor propio de A, entonces existe un vector propio asociado a λ que se lo denota por v, se tiene BT −1 v = T −1 AT T −1 v = T −1 Av = λT −1 v, de donde λ es un valor propio de B con T −1 v valor propio asociado.
´ sica y Condicio ´ n del Problema V.1 Teor´ıa Cla
215
Definici´ on V.1.5.- Sea A ∈ Mn (C), se define la adjunta de A por A∗ij = a ¯ji . Definici´ on V.1.6.- Se dice que una matriz U es unitaria si U ∗ U = I. Vale la pena recalcar, que una matriz ortogonal a coeficientes reales es unitaria, y rec´ıprocamente una matriz unitaria a coeficientes reales es ortogonal, en el caso en que existieran coeficientes complejos no reales la situaci´on cambia. Por otro lado, es facil ver que el conjunto de las matrices unitarias forman un grupo para la multiplicaci´on de matrices. Teorema V.1.7.- Schur. Para cada matriz A ∈ Mn (C), existe una matriz Q unitaria, tal que
λ1 0 Q∗ AQ = 0
∗ λ2
··· ..
.
∗ ∗ .
λn
Demostraci´ on.- Sea A una matriz cualquiera, entonces existe λ1 que es raiz de det(A − λI), de donde existe v1 vector propio asociado a λ1 , se puede suponer, sin perder generalidad, que kv1 k2 = 1. Se plantea Q1 = (v1 , v2 , . . . , vn ), con v2 , . . . , vn elegidos de manera que Q1 sea unitaria. Esta elecci´on es posible con el procedimiento de Gramm-Schmidt en el caso complejo. Se observa inmediatamente, que λ1 ∗ . . . ∗ 0 . AQ1 = Q1 (1) ... A 0 ¯ 2 de orden n − 1, tal que De la misma manera se encuentra una matriz Q λ2 ∗ . . . ∗ 0 , ¯ 2 = Q2 . A(1) Q .. A(2) 0
´ lculo de Valores Propios V Ca
216 y planteando
Q2 = se tiene
1 0 ¯2 0 Q
λ1 0 AQ1 Q2 = Q2 Q1
∗ λ2
,
∗ ··· ∗
0 .. .
A(2)
0
.
repetiendo el procedimiento las veces que sea necesario, se tiene el resultado deseado. Cabe recalcar que este procedimiento da la descomposicion requerida en a lo m´as n pasos. Teorema V.1.8.- Si A es normal, es decir A∗ A = AA∗ , entonces existe una matriz unitaria Q tal que
λ1
Q∗ AQ =
0 ..
.
0
λn
Demostraci´ on.- Si la matriz A es normal y Q es unitaria, entonces Q∗ AQ es normal. En efecto ∗
(Q∗ AQ) (Q∗ AQ) = Q∗ A∗ QQ∗ AQ = Q∗ AA∗ Q ∗ = (Q∗ AQ) (Q∗ AQ) . queda por demostrar, que si
∗ λ2
λ1 0 B=
··· ..
.
0
∗ ∗
λn
es triangular y normal, entonces
B= Puesto que BB ∗ = B ∗ B, se tiene
λ1 0
.. .
0 λn
.
´ sica y Condicio ´ n del Problema V.1 Teor´ıa Cla
¯ λ1 ∗
0 ¯2 λ
∗
··· ..
.
λ1 0 0 ¯n 0 λ
∗ λ2
··· ..
λ1 0 =
.
∗ ∗
λn ∗ ··· λ2 .. .
0
de donde
2
2
¯ ∗ λ1 ∗ ∗
0 ¯2 λ
··· ..
.
∗
λn 2
217
0 , ¯n λ
2
|λ1 | = |λ1 | + |∗| + · · · + |∗| , dando como resultado que la primera fila fuera del coeficiente de la diagonal es nulo. Se continua con el mismo procedimiento hasta mostrar que B es diagonal.
La condici´ on del Problema a Valores Propios Sea, A una matriz cualquiera a coeficientes complejos de orden n. Al igual que en cap´ıtulo II, es importante conocer la condici´ on del problema planteado, es decir la determinaci´ on de valores propios. Para tal efecto sea A¯ la matriz con errores de redondeo de A, repasando la secci´on II.1, se tiene que los coeficientes de A¯ satisfacen a ¯ij = aij (1 + ǫij )
|ǫij | ≤ eps,
¯ aij los coeficientes de A y eps la precisi´ donde a ¯ij son los coeficientes de A, on de la computadora. Por consiguiente, el estudio de los valores propios de A¯ ǫij de pueden estudiarse de manera, m´as general, para A + ǫC, con cij = eps donde |cij | ≤ |aij |. Definiendo f (ǫ, λ) = det(A + ǫC − λI), se tiene inmediatamente que f (0, λ) = χA (λ). Sup´ongase que λ1 es una raiz simple de χA (λ), entonces se tiene f (0, λ1 ) = 0, ∂f (0, λ1 ) 6= 0. ∂λ
´ lculo de Valores Propios V Ca
218
Por el teorema de las funciones impl´ıcitas, se deduce que existe un vecindario de (0, λ1 ) en el cual existe una funci´on λ(ǫ), tal que f (ǫ, λ(ǫ)) = 0, con
λ(ǫ) = λ1 + ǫλ′1 + O(ǫ2 ).
Por consiguiente, se tiene el siguiente: Teorema V.1.9.- Sea λ1 una raiz simple de χA (λ), entonces para ǫ → 0, existe un valor propio λ(ǫ) de A + ǫC, tal que λ(ǫ) = λ1 + ǫ
u∗1 Cv1 + O(ǫ2 ) u∗1 v1
(V.1.4)
donde Av1 = λ1 v1 y u∗1 A = λ1 u∗1 , u y v no nulos. Demostraci´ on.- Por el teorema, de las funciones impl´ıcitas se tiene (A + ǫC)v(ǫ) = λ(ǫ)v(ǫ), mas precisamente (A + ǫC)(v1 + ǫv1′ + O(ǫ2 )) = (λ1 + ǫλ′1 + O(ǫ2 ))v1 , comparando los t´erminos de igual grado en cada miembro de la ecuaci´on anterior, se tiene: ǫ0 : 1
ǫ : de donde
Av1 = λ1 v1 , Av1′ + Cv1 = λ1 v1′ + λ′1 v1 ,
(A − λ1 I) v1′ = −Cv1 + λ′1 v1 ,
multiplicando ´esta u ´ltima por u∗1 , se obtiene
0 = −u∗1 Cv1 + λ′1 u∗1 v1 .
Corolario V.1.10.- Si A es normal con valores propios diferentes, entonces ∗ u1 Cv1 u∗ v1 ≤ kCk , 1
es decir, el problema est´ a bien condicionado.
´ sica y Condicio ´ n del Problema V.1 Teor´ıa Cla
219
Demostraci´ on.- A es normal, por consiguiente existe una matriz Q unitaria tal que λ1 0 .. , Q∗ AQ = . 0 λn
una verificaci´ on inmediata muestra que v1 es la primera columna de Q, as´ı mismo u∗1 es la primera fila de Q∗ , de donde v1 = v1 , por lo tanto, se obtiene ∗ u1 Cv1 |u∗1 Cv1 | u∗ v1 ≤ kv k2 1 1 ≤
kv1 k kCv1 k 2
kv1 k ≤ kCk .
Ejemplos 1.- Se considera la matriz A definida por A=
1 α 0 2
.
Es muy simple darse cuenta, que λ = 1 es un valor propio de A, por consiguiente por simple inspecci´on, se obtiene: v1 =
1 , 0 1
de donde
u1 = p 1 + α2
1 −α
,
1 u∗1 v1 = p . 1 + α2
La matriz A es mal condicionada para el c´ alculo de los valores propios cuando α → ∞, ya que u∗1 v1 → 0. 2.- El teorema de descomposici´ on de Jordan indica que toda matriz A es similar a una matriz de tipo Jordan, es decir existe una matriz T inversible tal que T −1 AT = J,
´ lculo de Valores Propios V Ca
220
donde J es una matriz diagonal por bloques,
y
J =
J(n1 , λ1 ) ..
. J(nk , λk )
J(ni , λi ) =
λi
1 .. .
,
.. . . λi
Ahora bien, sup´ ongase que A es similar a la matriz de tipo Jordan, dada por 1 1 0 0 0 1 1 0 , 0 0 1 1 0 0 0 1 entonces se tiene que
det(A + ǫC − λI) = (1 − λ)4 + ǫ + O(ǫ2 ), donde C es una perturbaci´on de A. Calculando los valores propios de A + ǫC, ver figura V.1.1, es facil ver que el problema de determinar valores propios de A es un problema mal condicionado
1
Figura IV.1.1. Determinaci´ on de los valores propios de A + ǫC
´ sica y Condicio ´ n del Problema V.1 Teor´ıa Cla
221
Ejercicios 1.- Una matriz A es de tipo Frobenius, si es de la forma
0 ... A= 0
−a0
1 0 ··· −a1
··· .. . 0 · · · −an−2 0
0 .. . 1 −an−1
.
a) Verificar que det(A − λI) = (−1)n λn + an−1 λn−1 + · · · + a1 λ + a0 .
b) Calcular los vectores propios de A.
2.- Calcular los valores propios de la matriz tridiagonal
a b A= 0
c a c b a b
0 n. c ··· .. .
Las componentes del vector propio (v1 , v2 , · · · , vn )t satisfacen una ecuaci´ on de diferencias finitas con v0 = vn+1 = 0. Verificar que vj = Const(α1j − α2j ) donde a−λ α1 + α2 = , c
b α1 α2 = , c
α1 α2
n+1
= 1.
3.- Mostrar que los valores propios de una matriz A satisfacen n X i=1
2
|λi | ≤
n X
i,j=1
2
|aij | .
Se tiene igualdad, si y solamente si, A es diagonalizable con una matriz unitaria. n X 2 Indicaci´ on.|aij | es la traza de A∗ A que es invariante respecto a i,j=1
la transformaci´on A → Q∗ AQ.
´ lculo de Valores Propios V Ca
222
4.- Sup´ongase que los valores propios de A con aij ∈ R son: α + iβ, α − iβ, λ3 , . . . , λn con β 6= 0, λ3 , . . . , λn diferentes. Mostrar que existe una matriz T inversible con coeficientes reales tal que
α β −β α T −1 AT = 0
0 λ3
..
. λn
.
Dar una relaci´on entre las columnas de T y los vectores propios de A. 5.- Sea A una matriz sim´etrica y B una matriz cualquiera. Para cada valor propio λB de B existe un valor propio de λA de A tal que |λA − λB | ≤ kA − Bk2 . Indicaci´ on.- Mostrar primero para un cierto v v = (A − λB I)−1 (A − B)v, deducir que
1 ≤ (A − λB I)−1 (A − B) ≤ kA − Bk (A − λB I)−1 .
6.- Sea A una matriz sim´etrica. Para cada ´ındice i existe un valor propio λ de A tal que sX |λ − aii | ≤ |aij |2 . j6=i
Indicaci´ on.- Utilizar el ejercicio 5 con una matriz B conveniente.
V.2 Determinaci´ on de Valores Propios
En la actualidad, existen muchos m´etodos num´ericos para el c´ alculo de valores propios de una matriz. Sin embargo, la mayor parte de las aplicaciones en f´ısica y otras disciplinas requieren en la mayor´ıa de los casos, la utilizaci´ on de matrices normales. Motivo por el cual, existen m´etodos espec´ıficos a este tipo de matrices. Se comenzar´a, esta secci´on formulando el m´etodo de la Potencia.
El M´ etodo de la Potencia Sea, A una matriz de n × n con coeficientes reales o complejos, el objetivo es determinar el valor propio m´as grande en valor absoluto. Sea y0 ∈ Rn (Cn ) arbitrario, se define la sucesi´on {yn } ⊂ Rn de manera recursiva, como yn+1 = Ayn ,
(V.2.1)
es evidente que yn = An y0 . Esta sucesi´on tiene propiedades interesantes para la determinaci´ on del valor propio m´as grande, que est´ an dadas en el: Teorema V.2.1.- Sea A diagonalizable, es decir que existe una matriz T inversible tal que λ1 0 .. , T −1 AT = . 0 λn sup´ ongase que los valores propios satisfacen |λ1 | > |λ2 | ≥ |λ3 | ≥ · · · ≥ |λn | sucesi´on {yk } definida por yk+1 = Ayk satisface: y e∗1 T −1 y0 6= 0. " Entonces la k !# λ2 a) yk = λk1 a1 v1 + O , λ1 donde Av1 = λ1 v1 , Avj = λj vj , y0 = a1 v1 + a2 v2 + · · · + an vn , y T = (v1 , · · · , vn ). b) Se tiene el cociente de Rayleigh, dado por k ! λ2 yk∗ Ayk (V.2.2) = λ1 + O , ∗ yk yk λ1 si adem´ as, la matriz A es normal, entonces 2k ! λ2 yk∗ Ayk . = λ1 + O ∗ yk yk λ1
(V.2.3)
´ lculo de Valores Propios V Ca
224
Demostraci´ on.- Los vectores v1 , · · · , vn forman una base del espacio Cn , de donde y0 = a1 v1 + a2 v2 + · · · + an vn , deduciendose yk = a1 λk1 v1 + a2 λk2 v2 + · · · + an λkn vn , por consiguiente yk = a1 v1 + a2 λk1
λ2 λ1
k
v2 + · · · + an
λn λ1
k
vn ,
con lo queda demostrado el punto a). Para la demostraci´on del punto b), se tiene: yk = λk1 a1 v1 + λk2 a2 v2 + · · · + λkn vn , Ayk = λk+1 a1 v1 + λk+1 a2 v2 + · · · + λk+1 n vn , 1 X2 ∗ k k ∗ ¯ λ v vj a ¯i a ¯j , λ y yk = i
k
j i
i,j
yk∗ Ayk =
X
¯ k λk+1 v ∗ vj a ¯i a ¯j , λ i i j
i,j
obteniendo el cociente de Rayleigh, dado por 2 ! λ1 yk∗ Ayk = λ1 + O , ∗ yk yk λ2
ahora bien si A es normal, se tiene que vi∗ vj = 0, si i 6= j; obteniendo para X λi |λi |2k vi∗ vi , yk∗ Ayk = i
yk∗ yk
=
X i
|λi |2k vi∗ vi .
Ejemplo Consid´erese, la matriz A definida por
2 1 A = 0 0 0
1 2 1 0 0
0 1 2 1 0
0 0 1 2 1
0 0 0, 1 2
´ n de Valores Propios V.2 Determinacio
225
utilizando el ejercicio 2 de la secci´on V.1, se obtiene que el valor propio mas grande est´ a dado por √ 3 ) ≈ 3, 73205, λ1 = 2(1 + 2 Tomando y0 = (1, 1, 1, 1, 1)t , se obtiene los valores de λ1 dadas en la tabla V.2.1. Tabla V.2.1. Valores de λ1 . Iter.
λ1
Iter.
λ1
1
3.6
2
3.696969
3
3.721854
4
3.729110
5
3.731205
6
3.731808
7
3.731981
8
3.732031
9
3.732045
10
3.732049
11
3.732050
12
3.732051
13
3.732051
14
3.732051
Las componentes del valor propio respecto a λ1 est´ an dados por 1.07735026 1.86602540 v = 2.1547005 . 1.866025 1.07735026
Uno de los inconvenientes de utilizar el m´etodo de la potencia es que la convergencia puede ser muy lenta si |λ1 /λ2 | ≈ 1. Sin embargo, existe una modificaci´ on del m´etodo de la potencia para acelerar la convergencia. Este m´etodo es m´as conocido como el: M´ etodo de la Potencia Inversa La modificaci´ on consiste en aplicar el m´etodo de la potencia a (µI − A)−1 , donde µ es una aproximaci´on del valor propio λ buscado de la matriz A. La justificaci´on te´ orica est´ a dada por la siguiente proposici´ on: Proposici´ on V.2.2.- λ es valor propio de A, si y solamente si, 1 µ−λ
(V.2.4)
´ lculo de Valores Propios V Ca
226 es valor propio de (µI − A)−1 .
Demostraci´ on.- λ es valor propio de A, si y solamente si existe v 6= 0 tal que Av = λv, si y solamente si (µI − A)v = (µ − λ)v, 1 (µI − A)−1 v = v. µ−λ
Por otro lado aplicando, el teorema V.2.1 se tiene que la convergencia es del orden ! µ − λ1 k . O µ − λ2 ¯ el valor propio m´as grande de (µI − A)−1 , entonces se tiene que Sea λ 1 λ1 = µ − ¯ . λ
(V.2.5)
El m´etodo de la potencia da una relaci´on recursiva para los yk , que est´ a dada por yk+1 = (µI − A)−1 yk , pero en lugar de calcular la inversa de la matriz, se puede resolver la ecuaci´on (µI − A)yk+1 = yk ,
(V.2.6)
utilizando para tal efecto el algoritmo de eliminaci´on de Gauss. En el anterior ejemplo se tenia como valor de λ1 = 3.697 despu´es de 2 iteraciones del m´etodo de la potencia inversa. Aplicando el m´etodo de la potencia inversa con µ = 3.697, se obtiene despues de dos iteraciones: ¯ = −232.83, λ λ1 = 3.7334052. Puede suceder que la matriz A sea a coeficientes reales, sin embargo, el valor propio buscado no sea real si no que contenga una parte imaginaria. Sup´ongase que µ = α + βi sea una aproximaci´on del valor propio buscado. Entonces aplicando el m´etodo de la potencia inversa, se tiene (α + βi)I − A yk+1 = yk ,
(V.2.7)
´ n de Valores Propios V.2 Determinacio
227
por otro lado los vectores yk pueden ser descompuestos en un vector real y otro imaginario, de la manera siguiente yk = uk + ivk ,
uk , vk ∈ Rn ,
de donde, se obtiene una nueva formulaci´on para el m´etodo de la potencia inversa, dada por uk uk+1 αI − A −βI , = vk vk+1 βI αI − A y el cociente de Rayleigh est´ a dado por yk∗ yk+1 (ut − ivkt )(uk+1 + ivk+1 ) = k ∗ yk yk utk uk + vkt vk (ut uk+1 + vkt vk+1 + i(utk vk+1 − vkt uk+1 ) . = k utk uk + vkt vk
(V.2.8)
Formas Tridiagonales y Matrices de Hessenberg El m´etodo de la potencia y su version de la potencia inversa son m´etodos aplicables a matrices, donde el valor propio m´as grande en valor absoluto lo es estrictamente. Por otro lado es necesario darse un vector inicial cuya proyecci´on sobre el espacio propio, respecto a este valor propio sea no nula, es decir se debe tener una idea clara de la posible ubicaci´ on de los vectores propios. Ahora bien, en muchos casos es necesario conocer los diferentes valores propios, situaci´on que no es posible con las dos versiones del m´etodo de la potencia estudiados m´as arriba. Una gran clase de m´etodos de c´ alculo de valores propios est´ an dise˜ nados para operar con matrices tridiagonales, sobre todo si ´estas son sim´etricas. El objetivo de este paragrafo es construir algoritmos que permitan tridiagonalizar una matriz arbitraria, conservando las propiedades originales en los casos en que sea posible. Sea, A una matriz arbitraria de orden n × n, se busca una transformaci´on, T tal que ∗ ··· ∗ .. ∗ . .. .. T −1 AT = H = . . . .. .. . . ∗ ∗
H es conocida bajo el nombre de matriz de Hessenberg. A continuaci´on, se propone como algoritmo de reducci´ on a la forma de Hessenberg, utilizando matrices de tipo L, del algoritmo de eliminaci´on de Gauss.
´ lculo de Valores Propios V Ca
228 Algoritmo 1. 1.- Sea A una matriz arbitraria, se busca |ak1 | = max |aj1 |, j=2,...,n
se intercambia las filas k y 2 y tambi´en las columnas k y 2, se define la matriz L2 por 1 0 1 0 ai1 0 −l32 1 , , i = 2, . . . , n; L2 = li2 = . a . 21 .. .. 0 −ln2 1 se obtiene
L2 AL−1 = 2
∗ ∗ 0 .. .
∗ ··· ∗ A(1)
0
.
2.- Se aplica el paso 1 a la matriz A(1) , y se continua hasta obtener una matriz de Hessenberg. La principal desventaja de utilizar este primer algoritmo propuesto es que, si A es una matriz sim´etrica, H no lo es en general. Recordando el cap´ıtulo II.5, existe el algoritmo QR para reducir una matriz A a la forma triangular. Es facil verificar que H = Qt AQ es sim´etrica, si Q es ortogonal y A es sim´etrica. Por consiguiente, el segundo algoritmo propuesto utiliza matrices de Householder para convertir una matriz A en una matriz de Hessenberg. Algoritmo 2. 1.- Sea A una matriz arbitraria, que puede escribirse, como a11 · · · a1n , A= A′1 · · · A′n por consiguiente A′k ∈ Rn−1 . Se define Q2 por
Q2 =
1 0 0 Q′2
,
donde Q′2 = I − 2u2 ut2 , u2 est´ a determinado por la condici´ on, ver Cap´ıtulo V.2, α2 0 ′ Q′2 A′1 = ... , α2 = signo a21 kA1 k2 ; 0
´ n de Valores Propios V.2 Determinacio obteniendo Q2 AQ−1 2
=
∗ ∗ 0 .. .
229
∗ ··· ∗ A(1)
0
.
2.- Se procede como en 1, hasta obtener la forma de Hessenberg.
Teorema de Sturm y M´ etodo de la Bisecci´ on Al utilizar el algoritmo 2, de la anterior subsecci´ on, a una matriz A sim´etrica se obtiene una matriz tridiagonal sim´etrica, que se la denota nuevamente por A, para no cargar la notaci´on. Por consiguiente, A es de la forma
d1 e2 A=
e2 d2
e3 .. . .. .
e3
..
.
..
. en
. en dn
(V.2.9)
Se define, el polinomio p0 (x) por p0 (x) = 1,
(V.2.10)
y los polinomios pi (x) i = 1, . . . , n, como pi (x) = det(Ai − xI), donde A=
Ai 0
0 ∗
(V.2.11)
,
Ai es la matriz formada por las primeras i filas y columnas de A. Por lo tanto, se tiene Pn (x) = det(A − xI). (V.2.12) Por otro lado, los determinantes que definen estos polinomios cumplen la siguiente relaci´on recursiva det(Ai − xI) = (di − x) det(Ai−1 − xI) − e2i det(Ai−2 − xI),
i = 2, 3, . . . , n;
de donde pi (x) = (di − x)pi−1 (x) − e2i pi−2 (x),
i = 2, 3, . . . , n.
(V.2.13)
´ lculo de Valores Propios V Ca
230
Teorema V.2.3.- Sea A una matriz tridiagonal y sim´etrica con los coeficientes ei 6= 0 para i = 2, . . . , n. Entonces: a) Las raices de pn (x) = χA (x) son simples, b) p′n (λi ) · pn−1 (λi ) < 0 si λi es una raiz de pn (x), c) pj (x∗ ) = 0 (1 ≤ j ≤ n − 1, x∗ ∈ R) ⇒ pj−1 (x∗ )pj+1 (x∗ ) < 0, d) p0 (x) ≥ 0 para todo x ∈ R. Demostraci´ on.- El punto d) se verifica inmediatamente puesto que p0 (x) = 1 por definici´on. La demostraci´on del punto c) se la realiza por el absurdo, en efecto, si se tuviera pj (x∗ ) = 0 y pj+1 (x∗ ) = 0, utilizando (V.2.13), se tendr´ıa p0 (x∗ ) = 0 lo cual contradice el hecho que p0 (x∗ ) = 1. Ahora bien, utilizando nuevamente (V.2.13) se tiene en el caso en que pj (x∗ ) = 0 pj−1 (x∗ ) = −e2n−j+1 pj+1 (x∗ ). El punto b) implica el punto a), ya que p′n (λi ) 6= 0 conduce a que λi sea raiz simple. S´ olo queda el punto b) por demostrar. Se define, los polinomios: qi (x) = (−1)i pi (x) q0 (x) = p0 (x);
1 , e2 e3 · · · ei+1
i = 1, . . . , n;
donde en+1 = 1. Efectuando c´ alculos sobre los polinomios qj (x), se tiene (−1)i qi (x)e2 · · · ei+1 =(di − x)(−1)i−1 qi−1 (x)e2 · · · ei
− e2i (−1)i−2 qi−2 (x)e2 · · · ei−1 ,
de donde
ei+1 qi (x) + (di − x)qi−1 (x) + ei qi−2 (x) = 0,
i = 2, . . . , n.
Esta u ´ltima relaci´on puede escribirse de manera matricial, como
d1 − x e2 d2 − x e3 e2 .. . e3 ... |
{z A − xI
.. ..
.
. en
q (x) 0 0 .. q1 (x) . . = .. 0 . en q −qn (x) n−1 (x) {z } dn − x | } q(x) 6= 0
Si λi es valor propio de A, entonces q(λi ) es un vector propio, derivando la relaci´on matricial, se obtiene
´ n de Valores Propios V.2 Determinacio
−q(x) + (A − xI)q ′ (x) =
231 0 .. . 0 −qn′ (x)
multiplicando por la traspuesta de q(x), se tiene
, 0 .. .
, −q t (x)q(x) + q t (x)(A − xI)q ′ (x) = q t (x) {z } | 0 = 0 si x = λi −qn′ (x)
de donde
2
−qn′ (λi )qn−1 (λi ) = − kq(λi )k < 0, dando por consiguiente p′n (λi )pn−1 (λi ) < 0. Cabe remarcar que los polinomios pi (x) i = 0, . . . , n; forman una sucesi´on de Sturm, cuyo estudio y c´ alculo de raices est´ an dados en la primera secci´on del cap´ıtulo IV concerniente a la resoluci´on de ecuaciones polinomiales. Por consiguiente el n´ umero de valores propios de la matriz A en el intervalo [a, b], est´ a dado por w(b) − w(a),
donde w(x) indica los cambios de signo de los polinomios pi (x). La determinaci´ on exacta de los valores propios se efectua mediante el algoritmo de la bisecci´on, ya estudiado en la secci´on IV.1. Ahora bien, el problema consiste en encontrar un algoritmo simple que permita evaluar w(x). Algoritmo para calcular w(x) Se define la sucesi´on fi (x), i = 1, . . . , n; por fi (x) =
pi (x) , pi−1 (x)
(V.2.14)
obteniendo de inmediato, la siguiente relaci´on recursiva para fi (x): f1 (x) = (d1 − x); fi (x) = (di − x) − e2i
1 , fi−1 (x)
i = 2, . . . , n.
(V.2.15)
´ lculo de Valores Propios V Ca
232
Ahora bien, si por azar, existe x ∈ R, i = 2, . . . , n con fi (x) = 0, (V.2.15) puede ser modificado para evitar la divisi´on por 0, de la manera siguiente: 1 2 (di − x) − ei f (x) , si fi−1 (x) 6= 0; i−1 (V.2.16) fi (x) = |ei | (di − x) − , si fi−1 = 0. eps La justificaci´on de utilizar la sucesi´on fi (x) est´ a en la siguiente proposici´ on. Proposici´ on V.2.4.- w(x) es igual al n´ umero de elementos negativos de f1 (x), f2 (x), . . . , fn (x)
Demostraci´ on.- La demostraci´on tiene sus bases te´ oricas en el Teorema de Sylvester, que indica que si A es una matriz, T una matriz no singular, entonces la matriz B = T t AT tiene el mismo n´ umero de valores propios negativos que la matriz A. Aplicando este teorema a la proposici´ on a demostrar, se tiene
1 e2 /f1 (x) A − xI = . ..
f (x) 1 f2 (x) .. .
1 en /fn−1
1 1 e /f (x) 2 1 .. .
fn (x)
1 en /fn−1 (x) 1
,
de donde A − xI tiene el mismo n´ umero de valores propios negativos que el conjunto {f1 (x), f2 (x), . . . , fn (x)}. Por otro lado este n´ umero est´ a dado por w(x), quedando demostrada la proposici´ on. Para poder aplicar el algoritmo de la bisecci´on es necesario conocer los intervalos, donde pueden estar localizados los valores propios, para evitar busquedas inutiles. El siguiente teorema es muy util para determinar las regiones donde se encuentran estos. Teorema V.2.5.- Gerschgorin. Sea λ un valor propio de A matriz, Entonces existe i tal que X |aij | . (V.2.17) |λ − aii | ≤ j6=i
Demostraci´ on.- Sea x 6= 0, el vector propio asociado a λ, por consiguiente x = (x1 , x2 , . . . , xn )t . Sea i, tal que |xi | ≥ |xj |
∀j,
´ n de Valores Propios V.2 Determinacio
233
puesto que x 6= 0, se tiene necesariamente que xi 6= 0. Efectuando c´ alculos se obtiene: n X aij xj = λxi , j=1
X j6=i
aij xj = (λ − aii )xi ,
pasando a valores absolutos se tiene: |λ − aii | |xi | ≤ |λ − aii | ≤
X j6=i
X j6=i
|aij | |xj | , |aij | .
Generalizaci´ on del M´ etodo de la Potencia Al formular el m´etodo de la potencia, se buscaba el valor propio, cuyo valor absoluto era m´aximo, de una matriz A. Ahora bien, existen muchos problemas en los cuales se requiere conocer no solamente el valor propio m´as grande en valor absoluto, sino tambi´en los otros valores propios. El prop´ osito de esta subsecci´ on es formular un m´etodo que permita calcular los dos valores propios m´as grandes en m´odulo. Para tal efecto, es necesario suponer que λ1 ,λ2 , . . . , λn valores propios de A satisfacen |λ1 | > |λ2 | > |λ3 | ≥ · · · |λn | . Recordando el m´etodo de la potencia, se tiene la sucesi´on de los {yk } definida por yj+1 = Ayj , si y0 cumple ciertas condiciones, se tiene j ! λ2 j yj = λ1 [a1 v1 + O , λ1
donde v1 es el vector propio asociado a λ1 y a1 la componente de y0 respecto a v1 . Para evitar explosiones en los c´ alculos de los yj se puede mejorar el algoritmo de la potencia exigiendo que kyj k2 = 1, y adem´ as para evitar oscilaciones en los yj , se plantea por consiguiente Ayj (Ayj )1 yj+1 = , (V.2.18) signo kAyj k2 (yj )1
donde (yj )1 es la primera componente de yj . Puesto que los yj son de norma igual a 1, haciendo referencia a vectores ortonormales, se cambia la notaci´on de yj por qj , dando por consiguiente la siguiente definici´on recursiva para los qj :
´ lculo de Valores Propios V Ca
234
q0 arbitrario, tal que kq0 k2 = 1; kqj k2 = 1; (j+1) λ1 qj+1
(V.2.19)
= Aqj .
Por el teorema V.2.1, se tiene que: lim qj = v1 ,
j→∞
(j)
lim λ1 = λ1 ,
j→∞
con v1 valor propio de norma unitaria respecto a λ1 . Por otro lado la velocidad de convergencia de (V.2.19), est´ a dada por O (λ2 /λ1 )j . Por consiguiente, el problema consiste en calcular λ1 y λ2 , si es posible al mismo tiempo. Sup´ongase que conoce de antemano λ1 y v1 . Considerando el subespacio vectorial V de Cn definido por V = u ∈ Cn |u∗ v1 = 0 ,
espacio de dimensi´on n − 1. La matriz A induce una aplicaci´ on lineal que se la denota por la letra A tambien, la cual est´ a definida por A : Cn −→ Cn
y −→ Ay
,
definiendo la aplicaci´ on lineal f : V −→ V como f = p ◦ A|V donde p es la proyecci´on ortogonal de Cn en V , y A|V es la restricci´ on de A sobre el espacio V se tiene el: Teorema V.2.6.- Los valores propios de f son: λ2 , . . . , λn , m´as precisamente se tiene λ1 0 0 λ2 r22 · · · r2n ∗ U v, f (v) = U .. . λn donde v ∈ V y
U ∗ AU =
λ1
r12 .. .
· · · r1n ..
. λn
es la descomposici´ on de Schur dada en teorema V.1.7.
´ n de Valores Propios V.2 Determinacio
235
Demostraci´ on.- Sea U = (u1 , u2 , . . . , un ) matriz unitaria con u1 = v1 , entonces cualquier elemento v ∈ V se escribe, como v=
n X
αi ui ,
i=2
por consiguiente v = U α,
0 α2 con α = ... ;
αn
de donde f (v) = AU α. Ahora bien, si U es la matriz unitaria de la descomposici´ on de Schur de A, se tiene λ1 r12 · · · r1n .. . ∗ f (v) = U U U α, .. . λn como U α = v, se tiene despu´es de una simple verificaci´ on que
f (v) = U
λ1
0 λ2
r22 .. .
0 · · · r2n ∗ U v. λn
El teorema precedente proporciona un medio te´ orico para calcular λ2 , el cual es el m´etodo de la potencia a f . Por lo tanto, si se tiene determinado λ1 y v1 el algoritmo de la potencia, se lo formula de la siguiente manera: r0 , tal que v1∗ r0 = 0 y kr0 k2 = 1; αj = v1∗ Arj ; krj k2 = 1; (j+1)
Arj − αj v1 = λ2
rj+1 .
Es facil verificar que (j)
lim λ2 = λ2 ,
j→∞
lim rj = u2 ;
j→∞
(V.2.20)
´ lculo de Valores Propios V Ca
236
donde v2 es el vector propio de norma unitaria respecto a λ2 . Ser´ıa interesante poder calcular λ1 y λ2 al mismo tiempo, sin necesidad de determinar primero λ1 y luego λ2 , esto es posible mediante el siguiente algoritmo. Se da, como vectores iniciales: q0 y r0 , tales que: kq0 k = 1,
kr0 k = 1,
y r0∗ q0 = 0.
(V.2.21)
Se supone, que se ha calculado rj , con krj k = 1 y rj∗ qj = 0;
qj , con kqj k = 1;
entonces se aplica el algoritmo de la potencia de la siguiente manera (j+1) λ1 qj+1 ,
Aqj = kqj+1 k = 1;
∗ Arj , αj+1 = qj+1
Arj − αj+1 qj+1 = λj+1 2 rj+1 , krj+1 k = 1.
(V.2.22)
Se puede demostrar que tambi´en (j)
lim λ2 = λ2 ,
j→∞
lim rj = u2 ,
j→∞
donde u2 es la segunda columna de la matriz U de la descomposici´ on de Schur de A. Vale la pena recalcar, el siguiente hecho A (qj , rj ) = (qj+1 , rj+1 ) | {z } | {z } Uj
Uj+1
|
(j+1)
λ1
0
α(j+1) (j+1) , λ2 {z }
Rj+1
1 0 , el algoritmo de la = de donde planteando U0 = (q0 , r0 ) con 0 1 potencia generalizada, se expresa de manera matricial como U0∗ U0
AUj = Uj+1 Rj+1 , donde el segundo miembro no es nada m´as que la descomposici´on QR, pero esta vez utilizando matrices unitarias. Si la matriz A tiene sus n valores propios diferentes, y adem´ as que verifican |λi | > |λ2 | > · · · > |λn | ,
´ n de Valores Propios V.2 Determinacio
237
el m´etodo de la potencia puede ser aplicado para calcular de manera simult´anea los n autovalores. Se toma U0 una matriz unitaria arbitraria que puede ser por ejemplo U0 = I. Sup´ongase que se ha calculado Rj y Uj , entonces se tiene AUj = Uj+1 Rj+1 . (V.2.23) Se puede demostrar que:
λ1
Rj −→ R =
··· .. .
∗ λn
Uj −→ U,
,
cuando j → ∞, donde AU = U R es la descomposici´ on de Schur.
El M´ etodo QR Al finalizar la u ´ltima subsecci´ on, se dio una generalizaci´on del m´etodo de la potencia. Por razones de presentaci´on, se ver´ a en esta secci´on un algoritmo equivalente a este u ´ltimo, conocido como el m´etodo QR. La versi´on simple del algoritmo QR es aplicable a matrices, cuyos valores propios son reales y diferentes en valor absoluto, se lo define recursivamente de la siguiente manera: Aj+1
A1 = A = Q1 R1 , = Rj Qj = Qj+1 Rj+1 ,
(V.2.24)
donde Qj es una matriz ortogonal, y R es una matriz triangular superior. De donde, este algoritmo es equivalente al m´etodo de la potencia generalizada. En efecto, planteando Uj = Q1 · · · Qj , se tiene
Uj+1 Rj+1 = Q1 Q2 · · · Qj Qj+1 Rj+1 , | {z } Rj Qj
llegando finalmente a
Uj+1 Rj+1 = Q1 R1 Q1 Q2 · · · Qj . | {z } | {z } A
Uj
Puesto que el m´etodo QR y el algoritmo de la potencia son equivalentes, es facil ver que λ1 · · · ∗ .. , Rj −→ R = . λn Qj −→ I.
´ lculo de Valores Propios V Ca
238
Por otro lado, las matrices Aj+1 y Aj tienen los mismos valores propios, pues Aj+1 = Q∗j Aj Qj Indudablemente, el m´etodo QR es aplicable a toda matriz cuyos valores propios son diferentes en m´odulo, sin embargo es conveniente reducir la matriz A a una de tipo Hessenberg, ya que si A es una matriz de Hessenberg, las matrices Ak construidas a partir del algoritmo QR lo son tambi´en, ver ejercicio 5, adem´ as el costo de operaciones es menor. El siguiente resultado, enunciado sin demostraci´on, indica la velocidad de convergencia del m´etodo QR donde A es una matriz de tipo Hessenberg. Esta relaci´on esta dada por (j+1)
an,n−1 (j)
an,n−1
∼
es decir (j) an,n−1
=O
λn λn−1
λn λn−1
,
j !
(V.2.25)
.
(V.2.26)
Uno de los problemas con que se confronta es que la convergencia puede ser demasiado lenta, sobre todo si |λn | ≈ |λn−1 |; pero este inconveniente puede superarse aplicando el algoritmo QR, en lugar de la matriz A, a A − pI,
(V.2.27)
donde p ≈ λn . p se lo conoce con el nombre de shift. En este caso la velocidad de convergencia est´ a dada por j ! λn − p (j) an,n−1 = O . (V.2.28) λn1 − p El algoritmo QR con shift Antes de comenzar el algoritmo QR, se supone que la matriz A est´ a expresada bajo la forma de una matriz de Hessenberg. El algoritmo QR con shift, se lo define de manera recursiva como: A1 = A, Qj Rj = Aj − pj I, Aj+1 = Rj Qj + pj I. Las dos maneras m´as corrientes de elegir el shift pk son:
(V.2.29)
´ n de Valores Propios V.2 Determinacio
239
(k)
1.- Se plantea pk = an,n . Este procedimiento funciona bien, si todos los valores propios de la matriz A son reales. 2.- Se toma pk , al valor propio de la matriz ! (k) (k) an−1,n−1 an−1,n , (k) (k) an,n−1 an,n (k)
que es m´as pr´ oximo al coeficiente an,n . Una interrogante muy importante surge, cuando detener el algoritmo QR. Uno de los criterios m´as usados es el siguiente. Si (k) (k) (k) (V.2.30) an,n−1 ≤ eps ann + an−1,n−1 , se plantea
(k) λn = ann .
(V.2.31)
Luego se continua con la matriz A(k) de dimension n − 1 resultante, hasta obtener todos los valores propios de la matriz A. La experiencia n´ umerica muestra que el algoritmo QR converge linealmente, mientras que el algoritmo QR con shift tiene convergencia cuadr´atica. Ejemplos 1.- Consid´erese, la matriz A definida por 10 7 6 A = 0.1 5 3 0 0.1 1
matriz de tipo Hessenberg. Por lo tanto lista, para ser aplicado el m´etodo QR y el m´etodo QR con shift. A continuaci´on, se mostrar´ a las iteraciones resultantes del m´etodo QR sin shift 10.070493 A2 = .49305211 − 001 .00000000 10.105227 A3 = .24258892 − 001 .00000000 10.122222 A4 = .11880000 − 001 .00000000
7.0701525 4.9895287 .19067451 − 001 7.0677632 4.9656988 .35752960 − 002 7.0596308 4.9507267 .66976513 − 003
5.8875209 2.8589253 .93997833 5.8742925 2.8145741 .92907381 5.8759333 2.7975584 .92705007
´ lculo de Valores Propios V Ca
240
Puede observarse que la convergencia es lineal y adem´ as se tiene (k+1)
a21
(k) a21 (k+1) a32 (k) a32
∼
1 , 2
∼
1 , 5
por consiguiente se necesitan por lo menos 10 iteraciones para obtener (k) (k) a32 ∼ 10−8 y por lo menos 23 iteraciones para tener a21 ∼ 10−8 . Para poder observar la verdadera potencia de aplicar el m´etodo QR con shift, a continuaci´on se muestran las 6 iteraciones que son necesarias, para obtener los valores propios de la matriz A. p1 = 1.0 10.078261 7.0950933 A2 = .43358029 − 001 4.9964769 .00000000 −.19045643 − 002 p2 = .92526107 10.112141 7.0679606 A3 = .19226871 − 001 4.9612733 .00000000 −.62453559 − 006 p3 = .92526107 10.126953 7.0571468 A4 = .84142592 − 002 4.9464609 .00000000 −.67414063 − 013 p4 = .84142592 − 002 10.138415 7.0571468 A5 = −.18617346 − 004 4.9349986 p5 = −.18617346 − 004 10.138390 7.0497319 A6 = −.90446847 − 010 4.9350238
5.8540158 2.8312527 .92526107 5.8707690 2.8312527 .92526107 5.8766286 2.7929532 .92658424
obteniendo, as´ı los siguientes valores propios: λ1 = 10.138390, λ2 = 4.9350238, λ3 = 0.92658424.
2.- Puede observarse en el ejemplo anterior que la convergencia del m´etodo QR con shift es cuadr´atica, para ilustrar este hecho, consid´erese 2 a A= , ǫ 1
´ n de Valores Propios V.2 Determinacio
241
con ǫ bastante peque˜ no. Aplicando el m´etodo QR con shift se tiene p1 = 1 y 1 a , A − p1 I = ǫ 0
obteniendo
Q1 R1 =
√ 1/√ 1 + ǫ2 ǫ/ 1 + ǫ2
√ √ −ǫ/√ 1 + ǫ2 1 + ǫ2 2 0 1/ 1 + ǫ
lo que da A1 =
∗ −ǫ2 /1 + ǫ2
∗ ∗
√ a/ √ 1 + ǫ2 , −ǫa/ 1 + ǫ2
,
de donde la convergencia es cuadr´atica, si a es arbitrario. Si la matriz es sim´etrica, se puede observar que la convergencia ser´ıa c´ ubica en este ejemplo, tomar a = ǫ.
Ejercicios 1.- Calcular los valores propios y vectores propios de 2 1 1 2 12 A= , 0 1 2 1 1 2
utilizando el m´etodo de la potencia inversa de Wielandt.
2.- Sea
√ √ √ 88 − 7 6 296 − 169 6 −2 + 3 6 360 √ 1800√ 225 √ 88 + 7 6 −2 − 3 6 A = 296 + 169 6 . 1800 360√ 225 √ 16 − 6 16 + 6 1 36 36 9 Calcular α, β, λ y una matriz T a coeficientes reales, tal que α β 0 T −1 = −β α 0 . 0 0 λ
La matriz A define un m´etodo de Runge-Kutta.
3.- Sea A una matriz de orden s que es diagonalizable, y sea J una matriz de orden n. Se define el producto tensorial A ⊗ J por a11 J · · · a1s J . .. . A ⊗ J = .. . as1 J · · · ass J
´ lculo de Valores Propios V Ca
242
Encontrar un algoritmo eficaz para resolver un sistema lineal con la matriz I − A ⊗ J. Indicaciones: a) Mostrar que (A ⊗ B)(C ⊗ C) = (AC) ⊗ (BD). b) Sup´ongase que
λ1
T −1 AT = Λ =
..
. λs
y utilizar la descomposici´ on I − A ⊗ J = (T ⊗ I)(I − Λ ⊗ J)(T −1 ⊗ I)
(V2.32)
c) estimar el n´ umero de multiplicaciones necesarias, si: — se calcula la descomposici´ on LR de I − A ⊗ J, — se utiliza (V.2.32); el trabajo principal es el c´ alculo de la descomposic´on LR de I − Λ ⊗ J. 4.- Calcular todos los valores propios de
1 −1 −1 2 −1 .. .. A= . . −1
.. . n 2 −1 −1 3
para n = 10 y n = 20. Utilizar el m´etodo de la bisecci´on. 5.- Mostrar que si la matriz A = A1 es una matriz de Hessenberg, las matrices Ak , k = 2, construidas en el m´etodo QR son igualmente matrices de Hessenberg.
Cap´ıtulo VI Integraci´ on Num´ erica
En muchos problemas aparecen integrales, ya sean ´estas simples, m´ ultiples y de otras clases. En los cursos elementales de C´alculo, la determinaci´ on de primitivas es un t´opico de bastante importancia. Por consiguiente, existen los elementos te´ oricos para evaluar primitivas. Sin embargo la mayor parte de las aplicaciones n´ umericas donde interviene la integraci´on, presenta integrales cuyo c´ alculo de primitivas es imposible en t´erminos de funciones elementales, o por las caracter´ısticas propias de los problemas solo se requiere una c´ omputo aproximado de ´estas. En este cap´ıtulo se tratar´a las base te´ oricas de la integral de Riemann, luego se abordar´a la noci´on de f´ormula de cuadratura y como consecuencia l´ogica se definir´a el orden de una f´ormula de cuadratura. El segundo tema que ser´ a estudiado, como parte integrante del An´ alisis Num´erico, est´ a relacionado con la estimaci´on del error cometido por la utilizaci´ on de m´etodos num´ericos de integraci´on. Se comparar´a, diferentes f´ormulas de cuadratura haciendo hincapi´e en aqu´ellas de orden elevado. Las f´ormulas de cuadratura de Gauss ser´ an estudiadas como un caso de f´ormulas de orden elevado y para comprenderlas mejor se introducir´ a la noci´ on de polinomios ortogonales. Despu´es, se formular´a un m´etodo adaptativo para determinar integrales y como corolario se har´a un tratamiento de singularidades, es decir se implementar´a m´etodos para resolver integrales impropias. Como u ´ltimo t´ opico, se vera la interpolaci´ on trigonom´etrica, es decir se har´a un estudio de las Transformadas de Fourier discretas, como tambi´en la Transformada de Fourier R´ apida, mas conocida como FTP.
VI.1 Bases Te´ oricas
En esta secci´on, se ver´ an las bases te´ oricas de la teor´ıa de la integraci´on, pero ´esta limitada a la integral de Riemann. Por otro lado, tambi´en ser´ an abordados las motivaciones para tener la integral como un instrumento matem´atico de C´alculo. Uno de los problemas con el cual el hombre ha confortado desde ´epocas lejanas, ha sido el c´ alculo de areas, volumenes y otros, tanto por la necesidad cotidiana, como tambi´en dentro el esp´ıritu de reflexi´ on e investigaci´on que lo ha caracterizado siempre. La integral m´as utilizada, desde el punto de vista de c´ alculo y pr´ actico, es la integral de Riemann, cuya definici´on permiti´ o que el c´ alculo integral tuviese bases te´ oricas cimentadas. En lo que sigue, se har´a una presentaci´on te´ orica de esta importante noci´on. Definici´ on VI.1.1.- Sea, [a, b] un intervalo compacto de la recta real. Se llama subdivisi´on del intervalo [a, b] un conjunto S ⊂ [a, b] finito. Por consiguiente S puede ser ordenado, como una sucesi´on finita de puntos de [a, b] expresada de la manera siguiente S = x0 < x1 < · · · < xn ⊂ [a, b]. Definici´ on VI.1.2.- Sea S una subdivisi´on de [a, b], se llama paso de la subdivisi´on S a δ(S) = max |xi − xi−1 | . i=1,...,n
Ahora bien, la noci´on de integral est´ a definida para funciones cuyo dominio son intervalos compactos, adem´ as se exige que la funci´on sea acotada. Como no es proposito del libro hacer una exposici´ on sobre la teor´ıa de la integraci´on, se dar´a una de las definiciones de una funci´on integrable en el sentido de Riemann. Definici´ on VI.1.3.- Sea f : [a, b] → R una funci´on acotada sobre un intervalo compacto. Se dira que f es Riemann integrable si lim
δ(S)→0
n X i=1
f (ξi )(xi − xi−1 ) existe,
con ξi ∈ [xi−1 , xi ], independientemente de S y de los ξi . Si ´este es el caso, este l´ımite se lo denota por Z b f (x)dx. a
´ ricas VI.1 Bases Teo
245
Se puede demostrar que las funciones mon´otonas, continuas y en escalera son Riemann integrables. El c´ alculo de la integral como un l´ımite puede ser bastante tedioso, motivo por el cual, los cursos de C´alculo en los niveles b´ asicos universitarios y ultimos cursos de colegio, dan un ´enfasis al c´ alculo de primitivas, que para recordar es: Definici´ on VI.1.4.- Dada una funci´on ϕ sobre un intervalo I de R. Se dice que una funci´on φ : I → R es una primitiva de ϕ si, en todo punto x de I, la funci´ on φ es derivable y si φ′ (x) = ϕ(x). Sea f : [a, b] → R una funci´on integrable en el sentido de Riemann, se define para todo x ∈ [a, b] Z x f (t)dt. F (x) = a
Proposici´ on VI.1.5.- La funci´on F es continua, adem´ as si la funci´on f es continua en un punto x de [a, b], la funci´on F es derivable en x y F ′ (x) = f (x). Corolario VI.1.6.- Una funci´on continua sobre un intervalo compacto admite una primitiva. Las demostraciones de la proposici´ on y el corolario precedentes se las puede encontrar en cualquier libro de An´ alisis. A continuaci´on, se enuncia uno de los teoremas fundamentales del c´ alculo. Teorema VI.1.7.- Sea f : [a, b] → R una funci´on integrable en el sentido de Riemann que, adem´ as admite una primitiva G. Para todo x ∈ [a, b], se tiene: Z x G(x) − G(a) =
f (t)dt.
a
Ahora bien, desde el punto de vista num´erico, el c´ alculo de primitivas no tiene mayor utilidad pr´ actica, pu´es en la mayor parte de los casos la determinaci´ on anal´ıtica de ´estas es costosa en tiempo. El tratamiento num´erico que se realiza en el c´ alculo de integrales est´ a basado en la misma definici´on de integral. Por consiguiente utilizando la definici´on, se tiene que ∀ǫ > 0, existe S ⊂ [a, b] y ξi ∈ [xi−1 , xi ] tal que n Z b X f (x)dx < ǫ, f (ξi )(xi − xi−1 ) − a i=1
de donde el enfoque num´erico consiste en aproximar la integral utilizando, sumas finitas de Riemann. Por otro lado, una de las tareas del An´ alisis Num´erico en lo que respecta el c´ alculo de integrales, est´a dada en la construcci´on de f´ormulas de cuadratura con un costo razonable en operaciones, y una precisi´ on aceptable en la determinaci´ on de la integral.
´ n Num´ VI Integracio erica
246
A continuaci´on, se mostrar´ a las f´ormulas de cuadratura o de integraci´on mas rudimentarias. a) Regla del Punto Medio Consiste en utilizar la suma de Riemann con ξi = consiguiente
xi−1 + xi , por 2
Z b n X xi−1 + xi (xi − xi−1 ) ≈ f (x)dx. f 2 a i=1 La regla del punto medio, da resultados exactos cuando f es un polinomio de grado menor o igual a 1. Ver figura VI.1.1.
x0
x1
x2
x3
xn-1 xn
Figura VI.1.1. Regla del Punto Medio.
b) Regla del Trapecio Consiste en aproximar f (ξi )(xi−1 − xi ) con el area de un trapecio de alturas f (xi−1 ) y f (xi ). Por consiguiente n X f (xi−1 ) + f (xi ) i=1
2
(xi − xi−1 ) ≈
Z
b
f (x)dx,
a
de donde, esta suma puede expresarse de manera m´as simple, como Z
a
b
f (x)dx ≈ f (x0 )
x2 − x0 x 1 − x0 + f (x1 ) + ··· 2 2 xn − xn−2 xn − xn−1 · · · + f (xn−1 ) + f (xn ) . 2 2
´ ricas VI.1 Bases Teo
x0
x1
x2
247
x3
xn-1 xn
Figura VI.1.2. Regla del Trapecio. Esta f´ormula es exacta para polinomios de grado igual o inferior a 1. Ver figura VI.1.2. c) Regla de Simpson Consiste en aproximar f (ξi )(xi−1 − xi ), con el area de la superficie cuyo lado superior, ver figura VI.1.3, esta dada por la par´abola que pasa por x +x x +x los puntos (xi−1 , f (xi−1 ), ( i−12 i , f ( i−12 i )) y (xi , f (xi )). Para simplificar los c´ alculos se toma para x0 , y x1 , obteniendo como polinomio de interpolaci´ on f (x0 ) + f ((x0 + x1 )/2) (x − x0 ) x1 − x0 f (x0 ) − 2f ((x0 + x1 )/2) + f (x1 ) (x − (x0 + x1 )/2)(x − x1 ). +2 (x1 − x0 )2
p(x) = f (x0 ) + 2
Ahora bien, integrando este polinomio de segundo grado entre x0 y x1 , se obtiene Z
x1
x0
f (x)dx ≈
4 1 f (x0 ) + f 6 6
x0 + x1 2
1 + f (x1 ) h1 , 6
para finalmente tener Z
a
b
f (x)dx ≈
n X 1 i=1
4 f (xi−1 ) + f 6 6
1 hi + f (xi ) hi . xi−1 + 2 6
La f´ormula de Simpson es exacta para polinomios de grado igual o
´ n Num´ VI Integracio erica
248 inferior a 3.
x0
x1 Figura VI.1.3. Regla de Simpson.
d) Regla de Newton Consiste en aproximar f (ξi )(xi−1 − xi ), con el area de la superficie cuyo lado superior, ver figura VI.1.4, esta dada por la par´abola c´ ubica que 2xi−1 + xi 2xi−1 + xi , f( )), pasa por los puntos (xi−1 , f (xi−1 ), ( 3 3 xi−1 + 2xi xi−1 + 2xi , f( )) y (xi , f (xi )). De la misma manera que en la ( 3 3 regla de Simpson, se calcula esta par´abola c´ ubica utilizando por ejemplo la f´ormula de Newton para determinar polinomios de interpolaci´ on, luego se integra para obtener Z x1 1 3 1 3 h1 2h1 f (x)dx ≈ f (x0 )+ f x0 + + f x0 + + f (x1 ) h1 . 8 8 3 8 3 8 x0 La regla de Newton es exacta para polinomios de grado menor o igual a 3.
x0
x1 Figura VI.1.4. Regla de Newton.
F´ ormulas de Cuadratura
´ ricas VI.1 Bases Teo
249
En los cuatro ejemplos precedentes de la anterior subsecci´ on, puede observarse claramente que las reglas de integraci´on formuladas tienen la misma estructura, la cual define t´acitamente una f´ormula de cuadratura. La mayor parte de los m´etodos num´ericos est´ an basados en este principio. Se desea integrar la funci´on f : [a, b] → R, donde f es Riemann integrable. Para tal efecto se considera una subdivisi´on S = {a = x0 < x1 < · < xn = b} . La integral puede ser aproximada mediante la f´ormula de cuadratura siguiente ! s n X X bi f (xj−1 + ci hj ) , (VI.1.1) j=1
i=1
los ci se llaman nudos de la f´ormula de cuadratura y los bi son los coeficientes de la f´ormula de cuadratura. Para la regla del Trapecio, se tiene s = 2, b1 = b2 = 1/2 y c1 = 0, c2 = 1. As´ı mismo, para la regla de Simpson se tiene s = 3, b1 = b3 = |1/6, b = 4/6 y c1 = 0, c2 = 1/2, c3 = 1. Dada una f´ormula de cuadratura, uno de los objetivos principales es medir la precisi´ on de ´esta. Por razones de simplicidad, es preferible estudiar la f´ormula de cuadratura en una funci´on f : [0, 1] → R y considerar h1 = 1, es decir integrar num´ericamente con un paso de integraci´on. Por consiguiente, se analizar´ a el problema s X i=0
bi f (ci ) ≈
Z
1
f (x)dx. 0
El Orden de una F´ ormula de Cuadratura Definici´ on VI.1.8.- Una f´ormula de cuadratura tiene orden p, si y solamente si, p es el entero m´as grande, tal que s X i=0
bi f (ci ) =
Z
1
f (x)dx,
(VI.1.2)
0
donde f es un polinomio de grado ≤ p − 1. Proposici´ on VI.1.9.- Una f´ormula de cuadratura es de orden p, si y solamente si s X 1 bi cq−1 = , q = 1, . . . , p. (VI.1.3) i q i=0
´ n Num´ VI Integracio erica
250
Demostraci´ on. La integraci´on es una operaci´ on lineal, por lo tanto es suficiente mostrar que (VI.1.2) se cumple para f (x) = xq−1 , donde q = 1, . . . , p − 1. Ahora bien, Z
1
xp−1 dx =
0
1 . q
Por simple verificaci´ on, puede comprobarse que la f´ormula de cuadratura de la regla del Trapecio es p = 2, la de la regla de Simpson es p = 4. Definici´ on VI.1.10.- Una f´ormula de cuadratura se dice sim´etrica, si: ci = 1 − cs+1−i , bi = bs+1−i ,
i = 1, . . . , s.
(IV.1.3)
Teorema VI.1.11.- Una f´ormula de cuadratura sim´etrica tiene un orden par. Demostraci´ on.- Sup´ongase que la f´ormula de cuadratura sea exacta para f (x) polinomio de grado ≤ 2k. Por consiguiente se debe demostrar que la f´ormula de cuadratura es exacta para los polinomios de grado igual a 2k + 1. Sea f (x) un polinomio de grado igual a 2k + 1. Ahora bien, f (x) puede expresarse de la siguiente manera 2k+1 1 f (x) = c x − + g(x), 2 donde g(x) es un polinomio de grado a lo m´as 2k. Por otro lado Z
1
0
2k+1 1 dx = 0. c x− 2
Por consiguiente, es suficiente mostrar que 2k+1 1 bi ci − = 0, 2 i=1
s X
esto es cierto debido a la simetr´ıa de la f´ormula de cuadratura.
Estimacion del Error Dada una funci´on f : [a, b] → R, se quiere tener una estimaci´on del error cometido por la utilizaci´ on de una f´ormula de cuadratura. Sea c1 , . . . , cs y
´ ricas VI.1 Bases Teo
251
b1 , . . . , bs los coeficientes y los nudos respectivamente, de una f´ormula de cuadratura dada. Por consiguiente, se tiene Z b n s X X f (x)dx = hj bi f (xj + ci hj ) = a
j=1
i=1
n X
h
j=1
"Z
xj
f (x)dx − hj
xj−1
s X
#
bi f (xj + ci hj ) .
i=1
Para poder determinar el error, es decir la diferencia entre la integral y la f´ormula de cuadratura que aproxima la integral, se define Z x0 +h s X E(f ) = f (x)dx − h bi f (x0 + ci h). (VI.1.4) x0
i=1
Habiendo definido E(f ), se puede determinar su valor, el cual est´ a dado en el siguiente: Teorema VI.1.12.- Sea f ∈ C k [a, b], es decir f k veces continuamente derivable. Entonces, se tiene # " Z 1 k−1 s X hj+1 X 1 j E(f ) = bi ci + hk+1 Pk (t)f (k) (x0 + th)dt − j! j + 1 0 j=0 i=1
(VI.1.5)
donde Pk (t) = E
k−1 (x − t)+ (k − 1)!
!
,
k−1 α+
=
(
αk−1 0
α≥0 α<0
.
Demostraci´ on.- Se tiene, efectuando un cambio de variable en la integral, que Z 1 s X bi f (x0 + ci h), E(f ) = h f (x0 + th)dt − h 0
i=1
por otro lado, el desarrollo en serie de Taylor de f (x0 + τ h) con resto en forma de integral est´ a dado por f (x0 + h) =
hj (j) f (x0 ) + hk j!
k−1 X
hj (j) f (x0 )tj + hk j!
j=0
por lo tanto f (x0 + th) =
Z
k−1 X
j=0
1
0
Z
0
(1 − τ )k−1 (k) f (x0 + τ h)dτ, (k − 1)! t
(t − τ )k−1 (k) f (x0 + τ h)dτ, (k − 1)!
´ n Num´ VI Integracio erica
252
introduciendo esta serie en E(f ), se obtiene k−1 s i hZ 1 X hj+1 X bi cji f (j) (x0 ) tj dt − E(f ) = j! j=0 | 0 {z } i=1 +h
k+1
"Z
1 j+1
1
0
Z
0
t
(t − τ )k+1 + f (k) (x0 + τ h)dτ dt (k − 1)! # Z ci s k−1 X (ci − τ )+ (k) bi − f (x0 + τ h)dτ (k − 1)! 0 i=1
remplazando en el l´ımite de integraci´on t por 1, se tiene que el u ´ltimo t´ermino del lado derecho de la anterior relaci´on, est´ a dado por # Z 1 "Z 1 s k−1 X (ci − τ )+ (t − τ )k+1 + k+1 bi f (k) (x0 + τ h)dτ. dt − h (k − 1)! (k − 1)! 0 0 i=1
La funci´on Pk (t) definida en el teorema, es conocida por el nombre de Nucleo de Peano de la f´ormula de cuadratura c1 , . . . , cs ; b1 , . . . , bs . Teorema VI.1.13.- El nucleo de Peano de una f´ormula de cuadratura dada, tiene las siguientes propiedades: s
k−1 (1 − τ )k X (ci − τ )+ − k! (k − 1)! i=1
a);
Pk (τ ) =
b) c) d)
Pk′ (τ ) = −Pk−1 (τ ), para k ≥ 2; Pk (1) = 0, para k ≥ 2, si ci ≤ 1; Pk (0) = 0, para 2 ≤ k ≤ p, si ci ≥ 0 y p orden de la f.q.;
e) Si la f´ormula de cuadratura es 0 ≤ c1 < . . . < cs ≤ 1 y
s X
bi = 1,
i=1
entonces P1 (τ ) es lineal por trozos, con las siguientes propiedades: P1 (0) = 0, P1 |(ci−1 ,ci ) (x) = −x + di , donde di es una constante, adem´ as P1 (ci+ ) − P1 (ci− ) = bi , ver figura VI.1.4.
0
c1
c2
cs
1
Figura VI.1.5. Gr´afica de P1 (τ )
´ ricas VI.1 Bases Teo
253
Demostraci´ on.- Para el punto a), se tiene que Pk (τ ) = = =
Z
Z
1 0 1 τ
s k−1 k−1 X (x − τ )+ (x − τ )+ bi dx − (k − 1)! (k − 1)! i=1 s k−1 X (x − τ )+ (x − τ )k−1 bi dx − (k − 1)! (k − 1)! i=1 s
k−1 (1 − τ )k X (x − τ )+ bi − . k! (k − 1)! i=1
El punto b), se obtiene del punto a), derivando para k ≥ 2. El punto c) es verificaci´ on inmediata, remplazando en τ = 1, siempre que los ci ≤ 1. La demostraci´on del punto d) se basa en que la f´ormula de cuadratura, es exacta para los polinomios de grado inferior a p y s
X 1 ck−1 bi i − k! i=1 (k − 1)! # " s 1 X k−1 1 . bi c − = (k − 1)! k i=1 i
Pk (0) =
El punto e) es una verificaci´ on sencilla que se deja al lector.
Ejemplo La regla de Simpson es una f´ormula de cuadratura, dada por c1 = 0, c2 = 1/2, c3 = 1; b1 = 1, /6 b2 = 4, /6 b3 = 1/6. Utilizando las propiedades dadas en el teorema precedente, se tiene: 1 1 − τ, 0 ≤ τ ≤ ; 2 P1 (τ ) = 6 (1 − τ ) − 1 , 1 ≤ τ ≤ 1. 6 2
P2 (τ ) se obtiene integrando P1 (τ ) por el punto b) del teorema precedente. Por consiguiente τ2 1 τ − + , 0≤τ ≤ ; 6 2 2 P2 (τ ) = 2 (1 − τ ) 1 (1 − τ ) − , < τ ≤ 1. 2 6 2
´ n Num´ VI Integracio erica
254
De la misma manera, se obtiene P3 (τ ) de P2 (τ ), dando como resultado: 2 τ3 1 τ − , 0≤τ ≤ ; 12 6 2 P3 (τ ) = 3 2 − (1 − τ ) − (1 − τ ) , 1 < τ ≤ 1; 6 12 2 3 4 τ τ 1 − + , 0≤τ ≤ ; 36 24 2 P4 (τ ) = 3 (1 − τ )4 (1 − τ ) 1 − , < τ ≤ 1. 24 36 2 Ver los gr´aficos en la figura IV.1.6. Consecuencia inmediata del teorema VI.1.12, se tiene el siguiente: Teorema VI.1.14.- Sean, f ∈ C k [a, b], c1 , . . . , cs ; b1 , . . . , bs una f´ormula de cuadratura cuyo orden p ≥ k, entonces Z 1 k+1 (VI.1.6) |E(f )| ≤ h |Pk (τ )| dτ max f (k) (x) . x∈[x0 ,x0 +h]
0
.6
.1
P1
.4
P2
.2 .0
.0
.5
1.0
.0
.0
.5
1.0
−.2 −.4 −.1
−.6 .01
P3
P4
.004 .003 .002 .001
.00
.0
.5
1.0
.000 −.001 −.002 −.003 −.004
−.01
.0
.5
1.0
´ ricas VI.1 Bases Teo
255
Figura VI.1.6. Nucleos de Peano, para la f´ormula de Simpson. Para el ejemplo precedente, se tiene que la f´ormula de Simpson es una f´ormula de cuadratura de orden 4, por consiguiente Z
1 0
|P4 (τ )| dτ = −2
Z
1/2
P4 (τ )dτ =
0
1 , 2880
de donde, si f es cuatro veces continuamente derivable, se tiene que el error verifica h5 |E(f )| ≤ max f (4) (x) . 2880 x∈[x0 ,x0 +h]
Teorema VI.1.15.- Si f ∈ C k [a, b], k ≤ p , donde p es el orden de la f´ormula de cuadratura, entonces Z b s n X X bi f (xj−1 + ci hj ) hj f (x)dx − a i=1 j=1 Z 1 ≤ hk (b − a) |Pk (τ )| dτ max f (k) (x) , x∈[a,b]
0
(VI.6.7)
donde h = max hi .
Demostraci´ on.- Se tiene # " s Z b n X X bi f (xj−1 + ci hj ) = hj f (x)dx − a
j=1
i=1
=
"Z n X j=1
≤
hk+1 j
por otro lado, se tiene n X i=1
= hk+1 j
n X i=1
xj
f (x)dx − hj
xj−1
Z
0
1
s X
bi f (xj−1 + ci hj )
i=1
#
|Pk (τ )| dτ max f (k) (x) , x∈[a,b]
hj hkj ≤ (b − a)hk .
´ n Num´ VI Integracio erica
256
Por lo tanto, la Regla de Simpson da la siguiente estimaci´on para el error global h4 (b − a) |error| ≤ max f (4) (x) . 2880 x∈[a,b]
Los teoremas VI.1.13 a VI.1.15 dan estimaciones te´ oricas del error cometido, cuando se utiliza una f´ormula de cuadratura. Sin embargo, es importante comprobar estas estimaciones te´ oricas con experimentos num´ericos. Suponiendo que la subdivisi´on del intervalo [a, b] es uniforme, de la f´ormula (VI.1.7), suponiendo f suficientemente derivable, se deduce, Z
a
b
f (x)dx =
s n X X bi f (xj−1 + ci h) + Chp + O(hp+1 ), h j=1
(VI.1.8)
i=1
donde C depende solamente de a, b y f (x). Por consiguiente, el error satisface Error ≈ Chp .
(VI.1.9)
Introduciendo logaritmos, se tiene log10 (Error) = log10 C + p log h, denotando fe, la cantidad de evaluaciones de la funci´on f (x), en el proceso de integraci´on num´erica, se tiene fe =
C′ , h
donde C ′ es una constante, Por lo tanto, se obtiene − log10 (Error) = C + p log10 fe.
(VI.1.10)
De esta u ´ltima relaci´on, se deduce que − log10 (Error) y log10 fe tienen una relaci´on lineal de pendiente p, donde p es el orden de la f´ormula de cuadratura. En la figura VI.1.7, se comprueba este hecho, utilizando como integral test Z 1 1 cos(πex )ex dx = sin(πe). π 0
´ ricas VI.1 Bases Teo 106
257
fe
105
104
103
102
101
100 0 10
err glob 10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
Metodo de Euler Metodo de Runge Metodo de Heun Metodo de Kutta Metodo 3/8 Figura VI.1.7. Gr´afica del Error vs fe.
Ejercicios 1.- Calcular el orden de la regla de Newton: 1 2 (ci ) = (0, , , 1), 3 3
1 3 3 1 (bi ) = ( , , , ). 8 8 8 8
2.- Sean 0 ≤ c1 < c2 < · · · < cs ≤ 1 dados. Mostrar que existe una f´ormula de cuadratura u ´nica con nudos ci y con un orden ≥ s.
´ n Num´ VI Integracio erica
258
3.- Mostrar que si la f´ormula de cuadratura satisface ci = 1 − cs+1−i ,
y si es de orden ≥ s, entonces se tiene tambi´en bi = bs+1−i .
4.- ¿C´omo se debe elegir c1 , c2 ? para que la f´ormula de cuadratura b1 f (c1 ) + b2 f (c2 ) tenga un orden maximal. ¿C´ ual es el orden?, ¿La f´ormula de cuadratura es sim´etrica? Z 2 dx 5.- Calcular = ln 2 mediante la regla del trapecio, la regla de Simpson 1 x y la regla de Newton. ¿C´ ual f´ormula es la mejor? Hacer un gr´ afico logar´ıtmico para el n´ umero de evaluaciones de la funci´on f respecto al error. 6.- Lo mismo que el ejercicio 5, pero para Z 2π exp(sin x)dx. 0
7.- Calcular π utilizando Z 1p Z 1 dx y π = 4 1 − x2 dx. π=4 2 0 0 1+x ¿Por qu´e el segundo resultado es menos bueno? 8.- Mostrar que el resultado obtenido por la regla del trapecio, o por la regla de Simpson, es una suma de Riemann. 9.- Sean h = (b − a)/n, xi = a + ih y 1 1 T (h) = h f (x0 ) + f (x1 ) + · · · + f (xn−1 ) + f (xn ) . 2 2 Demostrar que para f suficientemente derivable Z b h2 f (x)dx − T (h) = − (f ′ (b) − f ′ (a)) + O(h3 ). 12 a 10.- Calcular los nucleos de Peano para la f´ormula del ejercicio 4 y hacer sus gr´aficas. 11.- Calcular la expresi´ on
R b a
f (x)dx − T (h)
, h2 para f (x) = 1/x, a = 1, b = 10; con varios valores de h. Verificar la f´ormula del ejercicio 9.
VI.2 Cuadraturas de Orden Elevado
En esta secci´on, se dar´an las herramientas te´ oricas, para construir f´ormulas de cuadratura de orden elevado. El inter´es que se tiene para utilizar f´ormulas de cuadratura del mayor orden posible, reside sustancialmente en el hecho de aumentar la precisi´ on en el c´ alculo de integrales definidas, como tambi´en de disminuir el n´ umero de evaluaciones de la funci´on a integrar, ver la figura VI.1.7. Mediante el ejercicio 2, de la secci´on precedente, se demuestra que si c1 , . . . , cs dados, existe una u ´nica formula de cuadratura que es de orden ≥ s, es decir s X 1 = , bi cq−1 (VI.2.1) i q i=1
para q = 1, . . . , s. Sea m un entero no negativo, la f´ormula de cuadratura c1 , . . . , cs ; b1 , . . . , bs ; es de orden ≤ s + m, si y solamente si, la f´ormula de cuadratura es exacta para polinomios de grado ≤ s + m − 1. Ahora bien, se define el polinomio M (x) de grado s, por M (x) = (x − c1 )(x − c2 ) · · · (x − cs ),
(VI.2.2)
donde los ci son los nudos de la f´ormula de cuadratura estudiada. Sea f (x) un polinomio de grado ≤ s + m − 1, por la divisi´on con resto se tiene que f (x) = q(x)M (x) + r(x), donde q(x) y r(x) son polinomios con deg q ≤ m − 1 y deg r ≤ s − 1. Por consiguiente Z
1
f (x)dx =
Z
1
q(x)M (x)dx +
1
r(x)dx.
0
0
0
Z
Utilizando la f´ormula de cuadratura en la anterior expresi´ on, se obtiene s X i=1
bi f (ci ) =
s X i=1
|
bi q(ci )M (ci ) + {z =0
}
s X
bi r(ci ),
i=1
suponiendo que el orden de la f´ormula de cuadratura sea ≥ s, se acaba de demostrar el:
VI.2 Cuadraturas de Orden Elevado
259
Teorema VI.2.1.- Sea (bi , ci ), i = 1, . . . , s; una f´ormula de cuadratura con orden ≥ s. Entonces
Z 1 q(x)M (x)dx = 0, 0 el orden de la f´ormula de ⇐⇒ cuadratura es ≥ s + m para todo polinomio q(x) con deg q ≤ m − 1. Ejemplo El ejercicio 4 de la secci´on precedente demanda la construcci´on de una f´ormula de cuadratura del orden m´as elevado posible. En consecuencia, se define M (x) = (x − c1 )(x − c2 ). Se tiene que la f´ormula de cuadratura es de orden ≥ 3 si y solamente si Z
1
M (x)dx = 0,
0
1 1 − (c1 + c2 ) + c1 c2 = 0, 3 2 la f´ormula de cuadratura es de orden m´as grande o igual a 4, si adem´ as Z
0
xM (x)dx = 0,
1
1 1 1 − (c1 + c2 ) + c1 c2 = 0, 4 3 2 obteniendo as´ı un sistema de dos ecuaciones y dos incognitas. Una vez determinados los ci , el siguiente paso es determinar los bi .
Polinomios Ortogonales Uno de los mayores inconvenientes en la construcci´on de f´ormulas de cuadratura de orden elevado utilizando el teorema VI.2.1, consiste en el hecho siguiente: se deben resolver sistemas de ecuaciones no lineales para determinar los nudos de la f´ormula de cuadratura. Est´a claro que para f´ormulas de cuadratura con una cantidad no muy grande de nudos esto es posible, sin embargo para s ya m´as grande esto presenta una desventaja. En esta subsecci´on se estudiar´ an polinomios ortogonales, cuyas raices son precisamente los nudos.
´ n Num´ VI Integracio erica
260
Se iniciar´ a esta subsecci´ on, definiendo un conjunto de funci´ones particulares. Sea ω : (a, b) → R una funci´on, llamada funci´on de peso. Sea E=
(
f : (a, b) → R|
Z
b
a
2
)
ω(x) |f (x)| dx < ∞ .
(VI.2.3)
Puede mostrarse que E es un espacio vectorial para la adici´on de funciones y la multiplicaci´on por escalares reales. Para las aplicaciones en general, puede suponerse que f es una funci´on continua. Suponiendo que ω(x) > 0, puede definirse un producto escalar sobre E, de la siguiente manera, hf, gi =
Z
b
ω(x)f (x)g(x)dx.
(VI.2.4)
a
Hay que remarcar dos hechos importantes; el primero E es en realidad un conjunto de clases de equivalencia de funciones, donde la relaci´on de equivalencia est´ a definida por f ∼ g ⇐⇒ f (x) 6= g(x) en un conjunto de medida nula. La segunda observaci´on es consecuencia de la primera, se puede suponer por lo tanto que E est´ a constituida por funciones continuas, a lo sumo por funciones continuas por trozos, y con ciertas condiciones impuestas a ω(x) puede demostrarse que hf, f i = 0 ⇐⇒ f = 0. Definici´ on VI.2.2.- f es ortogonal a g, que se denota por f ⊥ g, si hf, gi = 0.
(VI.2.5)
El objetivo central ser´ a, por consiguiente, encontrar M (x) ⊥ q(x) si deg q ≤ m − 1. Teorema VI.2.3.- Sea ω(x) dado, entonces existe una sucesi´on de polinomios p0 (x), p1 (x), p2 (x), . . ., tal que: deg pj = j; hpk , qi = 0,
∀q polinomio de grado ≤ k − 1.
Si se supone que pk (x) = xk + r(x) con deg r(x) ≤ k − 1, los polinomios son u ´nicos.
261
VI.2 Cuadraturas de Orden Elevado Los polinomios satisfacen la siguiente relaci´on recursiva: p−1 (x) := 0, p0 (x) = 1, 2 pk+1 = (x − δk+1 )pk (x) − γk+1 pk−1 (x),
(VI.2.6a) (VI.2.6b)
donde δk+1 =
hxpk , pk i , hpk , pk i
2 γk+1 =
hpk , pk i . hpk−1 , pk−1 i
(VI.2.6c)
Demostraci´ on.- El primer punto del teorema, se obtiene a partir del proceso de ortogonalizaci´on de Gramm-Schmidt. Las relaciones entre los diferentes polinomios ortogonales se demuestra por inducci´on. Por consiguiente, se supone cierto para los polinomios p0 , p1 , . . . , pk . Ahora bien, se tiene pk+1 (x) = xpk (x) +
k X
cj pj (x),
j=0
por que el coeficiente dominante de pk es 1. Aplicando el producto escalar se tiene 0 = hpk+1 , pk i = hxpk , pk i +
k X j=0
cj hpj , pk i
= hxpk , pk i + ck hpk , pk i, de donde ck = −
hxpk , pk i . hpk , pk i
Por otro lado, aplicando nuevamente el producto escalar se tiene 0 = hpk+1 , pk−1 i = hxpk , pk−1 i +
k X j=0
cj hpj , pk−1 i
= hxpk , pk−1 i + ck−1 hpk−1 , pk−1 i Ahora bien, se verifica facilmente, utilizando la definici´on del producto escalar definido en E, que hxpk , pk−1 i = hpk , xpk−1 i,
´ n Num´ VI Integracio erica
262
con la hip´otesis de inducci´on, se verifica inmediatamente que hpk , xpk−1 i = hpk , pk i, de donde ck−1 =
hpk , pk i . hpk−1 , pk−1 i
Los restantes cj , son nulos, utilizando la hip´otesis de inducci´on sobre la ortogonalidad. Consecuencia de este teorema, es que si los nudos de una f´ormula de cuadratura son las raices del polinomio ps , definido en el teorema precedente, se tiene M (x) = ps (x) y por el teorema VI.2.1 el orden de la f´ormula de cuadratura es igual o mayor a 2s. Teorema VI.2.4.- Sean los pk , como en el teorema VI.2.3, entonces las raices de pk (x) son reales, simples y est´ an localizadas en el intervalo (a, b). Demostraci´ on.- Se donota por τ1 , . . . , τT las raices distintas de pk donde la funci´ on pk (x) cambia de signo. Se define el polinomio g(x) por g(x) = (x − τ1 ) · · · (x − τT ), por consiguiente, se tiene que g(x)pk (x) no cambia de signo, de donde hg(x), pk (x)i = 6 0, por lo tanto deg g ≥ k, y por la hip´otesis inicial se tiene necesariamente que T = k. En la tabla VI.2.1, se tienen los diferentes tipos de polinomios ortonormales para diferentes tipos de funci´on de peso ω(x). Tabla VI.2.1. Ejemplos de Polinomios Ortonormales ω(x)
(a, b)
Notaci´on
Nombre
1
(−1, 1)
Pk (x)
Polinomios de Legendre
(−1, 1)
Tk (x)
Polinomios de Chebichef
1 p 1 − x2
(1 − x)α (1 + x)β xα e−x −x2
e
(−1, 1)
(α,β)
Pk
(x)
Jacobi, α, β > −1
(0, ∞)
(α) Lk (x)
Pol. de Laguerre, α > −1
(−∞, ∞)
Hk (x)
Polinomios de Hermite
263
VI.2 Cuadraturas de Orden Elevado
Teorema VI.2.5.- F´ ormula de Rodriguez. Sea ω(x) una funci´on de peso definida como antes. Entonces pk (x) = Ck
1 dk ω(x)(x − a)k (b − x)k . k ω(x) dx
(VI.2.7)
Demostraci´ on.- Una verificaci´ on simple sobre pk (x), muestra que se tratan efectivamente de polinomios. Para la relaci´on de ortogonalidad con k dado, es suficiente mostrar que si q(x) es un polinomio de grado ≤ k − 1 entonces q ⊥ pk . En efecto Z
b
Z
b
dk ω(x)(x − a)k (b − x)k q(x)dx k a dx b dk−1 k k ω(x)x − a) (b − x) q(x) = k−1 dx a {z } | =0 Z b k−1 d − ω(x)x − a)k (b − x)k q ′ (x)dx k−1 a dx .. . Z b ω(x)x − a)k (b − x)k q (k) dx =±
ω(x)pk (x)q(x)dx =
a
a
= 0.
La mayor parte de los c´ alculos de integrales definidas, tienen como funci´on de peso ω(x) = 1. A continuaci´on se estudiar´ a con mayor detalle los polinomios de Legendre.
Los Polinomios de Legendre Los polinomios de Legendre son los polinomios ortogonales para la funci´on de peso ω(x) = 1 definida en el intervalo (−1, 1), ver la tabla VI.2.1. Por otro lado, utilizando la f´ormula de Rodriguez se puede elegir los Ck de manera que Pk (1) = 1. Por consiguiente, se tiene dk k k 1 = Pk (1) = Ck = Ck (−2)k k!, (1 − x) (1 + x) dxk x=1
de donde
Ck =
(−1)k , 2k k!
´ n Num´ VI Integracio erica
264 por lo tanto Pk (x) =
(−1)k dk (1 − x2 )k . k k 2 k! dx
(VI.2.8)
Los polinomios de Legendre pueden ser calculados mediante la f´ormula de Rodriguez, o mediante una relaci´on recursiva, ver ejercicio 1. En la tabla VI.2.2, se da los cuatro primeros polinomios de Legendre. Tabla VI.2.2. Polinomios de Legengre k
Pk (x)
0
1
1
x 3 2 x − 2 5 3 x − 2
2 3
1 2 3 x 2
Puede observarse que si k es par, entonces Pk (x) = Q(x2 ) donde Q es un polinomio; de la misma manera si k es impar, se tiene que Pk (x) = xQ(x2 ).
Las F´ ormulas de Cuadratura de Gauss La verificaci´ on del orden de una f´ormula de cuadratura, se la realiza en el intervalo [0, 1]. Efectuando una transformaci´on af´ın, se tiene que M (x) del teorema VI.2.1, es igual a M (x) = (x − c1 ) · · · (x − cs ) = Ps (2x − 1)
(VI.2.9)
con Ps el s-simo polinomio de Legendre, si se desea que orden de la f´ormula cuadratura sea al menos s. El siguiente teorema, tiene una importancia en lo concerniente al orden de una f´ormula de cuadratura. Teorema VI.2.6.- El orden de una f´ormula de cuadratura dada por (bi , ci ), i = 1, . . . , s; es menor o igual a 2s. Demostraci´ on.- Por el absurdo. Sup´ongase que existe una f´ormula de cuadratura de orden superior o igual a 2s + 1, de donde para todo polinomio l(x) de grado s, se tiene Z 1 l(x)M (x)dx, 0
VI.2 Cuadraturas de Orden Elevado
265
sin embargo, tomando l(x) = M (x) se tiene Z
1
M 2 (x)dx = 0,
0
lo que conduce a una contradicci´on
El objetivo, ser´ a por consiguiente, encontrar una f´ormula de cuadratura de orden m´aximo, es decir 2s. Por la observaci´on hecha al inicio de esta u ´ltima subsecci´ on, los nudos ci de la f´ormula de cuadratura de orden s son las raices de Ps (2x − 1) polinomio de Legendre. Como consecuencia de lo anteriormente expuesto se tiene el siguiente teorema formulado por Gauss en 1814. Teorema VI.2.7.- Una f´ormula de cuadratura (ci , bi ), i = 1, . . . , s; es de orden 2s si y solamente si c1 , . . . , cs son las raices de Ps (2x − 1), Ps (t) polinomio de Legendre y los bi est´ an determinados por s X
1 , q
bi cq−1 = i
i=1
q = 1, . . . , s.
(VI.2.10)
Por otro lado, debe observarse que los coeficientes de una f´ormula de cuadratura de Gauss son extrictamente positivos, en efecto, se define li (x) =
s Y x − cj c i − cj j=1 j6=i
el i-esimo polinomio de Lagrange para la subdivsi´ on c1 < · · · < cs . El grado de este polinomio es igual a s − 1 y verifica li (cj ) =
(
j 6= i;
0, 1,
j = i.
Ahora bien, se tiene bi =
s X j=1
2
bj (li (cj )) =
Z
1
(li (x))2 dx > 0,
0
ya que, deg li2 = 2s − 2 < 2s. El c´ alculo de los coeficientes bi de una f´ormula de cuadratura de Gauss, pueden ser resueltos mediante el sistema lineal dado por (VI.2.10). Sin embargo este procedimiento no es el mejor, debido a la acumulaci´on de los
´ n Num´ VI Integracio erica
266
errores de redondeo. Existe un procedimiento que determina los bi de una manera sencilla, el est´ a dado en el: Teorema VI.2.8.- Para la formula de cuadratura de Gauss de orden 2s, se tiene 1 bi = , i = 1, . . . , s; (VI.2.11) (1 − x2i )Ps′ (xi )2 donde xi = 2ci − 1. Demostraci´ on.- Se tiene, bi =
s X
bj li (cj ) =
Z
1
li (t)dt,
0
j=1
realizando la transformaci´on x = 2t − 1, se obtiene Z
1 2
bi =
li
=C
1
−1
x+1 2
dx,
por otro lado, se tiene li
x+1 2
Ps (x) , x − xi
de donde pasando al l´ımite, se obtiene lim C
x→xi
Ps (x) = CPs′ (xi ) = 1, x − xi
despejando C, bi est´ a dado por 1 2
Z
1 bj li (cj ) = bi = 2 j=1
Z
bi =
1
−1
Ps (x) dx. (x − xi )Ps′ (xi )
(VI.2.12)
Adem´ as, s X
1
−1
Ps (x) (x − xi )Ps′ (xi )
2
esta integral se la resulve por partes, obteniendo as´ı 1 bi = ′ 2(Ps (xi ))2
Z
1
−1
(Ps (x))2
1 dx (x − xi )2
dx,
(VI.2.13)
267
VI.2 Cuadraturas de Orden Elevado
Z 1 ′ −1 Ps (x) 1 Ps (x) 1 = dx + + ′ −1 − xi (x − xi )Ps′ (xi ) 2(Ps′ (xi ))2 1 − xi −1 Ps (xi ) {z } | x+1 = li 2 s X P ′ (xj ) xj + 1 1 −1 li = bj s′ ′ 2 2 + 2 (x ) P 2(Ps (xi )) 1 − xi s i j=1 =
−1 1 + 2bi 2(Ps′ (xi ))2 1 − x2i
En el ejercicio 1 de esta secci´on, se mostrar´ a que los polinomios de Legendre verifican la siguiente relaci´on recursiva (1 − x2 )Ps′ (x) = −sxPs (x) + sPs−1 (x), de donde
(1 − x2i )Ps′ (xi ) = sPs−1 (xi ),
obteniendo
bi =
1 − x2i . s2 (Ps−1 (xi ))2
(VI.2.14)
En la tabla VI.6.3, se dan las primeras f´ormulas de cuadratura de Gauss. Tabla VI.6.3. Primeras F´ormulas de Cuadratura de Gauss. s 1 2 3
c1 1 2
c2
c3
b1
b2
b3
1
√ 1 3 − 2 6 √ 1 15 − 2 10
√ 1 3 + 2 6 1 2
√ 1 15 + 2 10
1 2
1 2
5 18
8 18
5 18
Ejercicios 1.- Para los polinomios de Legendre, demostrar que: (k + 1)Pk+1 (x) = (2k + 1)xPk (x) − kPk−1 (x); (1 − x2 )Pk′ (x) = −kxPk (x) + kPk−1 (x).
´ n Num´ VI Integracio erica
268
2.- Los polinomios de Chebychef est´ an definidos por Tk (x) = cos(k arccos x). Verificar que: T0 (x) = 1; T1 (x) = x; Tk+1 (x) = 2xTk (x) − Tk−1 (x); Z 1 1 p Tk (x)Tj (x), para i 6= j. −1 1 − x2 3.- Calcular las raices de P8 (x) con un m´etodo iterativo, como por ejemplo el m´etodo de la bisecci´on. 4.- Mostrar que el nucleo de Peano Pk (t) de una f´ormula de cuadratura satisface Z 1 s X 1 − bi ck . Pk (t)dt = k + 1 i=1 i 0 5.- Sea p el orden de una f´ormula de cuadratura y sup´ ongase que el nucleo de Peano Pp (t) no cambia de signo sobre [0, 1]. Mostrar que Z
x0 +h
x0
f (x)dx − h
s X i=1
bi f (x0 + ci h) = h
p+1
s X 1 bi cpi −h p+1 i=1
!
f (p) (ξ),
con ξ ∈ (x0 , x0 + h). Indicaci´ on.- Utilizar el teorema VI.1.15 con k = p. 6.- Mostrar que para las f´ormulas de cuadratura de Gauss de orden 2s, el nucleo de Peano P2s (t) no cambia de signo.
VI.3 Implementaci´ on Num´ erica
El c´ alculo num´erico de integrales definidas, requiere la implementaci´on de las f´ormulas de cuadratura en forma de programas o subrutinas. Dada una funci´ on f : [a, b] → R, el c´ alculo de Z
b
f (x)dx,
(VI.3.1)
a
se lo realiza teniendo en cuenta el error que se desea cometer. Generalmente se da una tolerancia que se la denota por TOL, por consiguiente se busca una aproximaci´on I, tal que Z Z b b f (x)dx − I ≤ TOL |f (x)| dx. a a
(VI.3.2)
Ahora bien, una manera de conseguir (VI.3.2), es subdividir el intervalo [a, b] en subintervalos y aplicar el teorema VI.1.16 de manera de obtener un h ´ optimo. Sin embargo este procedimiento presenta dos incovenientes: es necesario conocer de antemano este h ´optimo; adem´ as de conocer las propiedades de la funci´on f a integrar. La segunda manera de resolver (VI.3.2) es de concevir un algoritmo, donde el c´ alculo del error se haga de manera autom´atica es decir utilizando un m´etodo adaptativo. Lo primero que se debe tener en la implementaci´on de un programa que permita evaluar la integral de una funci´on f , es una estimaci´on del error. Sea (bi , ci ) i = 1, . . . , s, una f´ormula de cuadratura y a = x0 < x1 < · · · < xn = b, una subdivisi´on de [a, b]; se define el error en cada subintervalo [xi , xi+1 ] a E(f, xi , xi+1 ) =
Z
xi+1
xi
f (x)dx − (xi+1 − xi )
s X j=1
bj f (xi + cj (xi+1 − xi )).
(VI.3.3) Por lo tanto, el programa que va calcular num´ericamente la integral debe tener en cuenta dos aspectos: 1.- Estimaci´on del error. 2.- Elecci´ on de la subdivisi´on de [a, b], x0 < x1 < · · · < xn ; tal que n X j=0
|E(f, xj , xj+1 )| ≤ TOL
Z
a
b
|f (x)| dx.
´ n Num´ VI Integracio erica
270 Por consiguiente, denotando por: res[a,b] = I,
resabs[a,b] =
Z
a
b
|f (x)| dx,
se tiene el siguiente algoritmo.
err[a,b]
Z b = f (x)dx − I , a
Algoritmo — Calcular: res[a,b] , resabs[a,b] y err[a,b] . err[a,b] ≤ TOL resabs[a,b] : si es cierto se ha terminado, si no continuar el siguiente paso. a+b — Plantear c = c = y calcular: 2 res[a,c] , res[c,b] ,
err[a,c] , err[c,b] ,
resabs[a,c] , resabs[c,b] ;
err[a,c] + err[c,b] ≤ TOL resabs[a,c] + resabs[c,b] : si es cierto se ha terminado, si no dividir el subintervalo con error maximal y continuar con el siguiente paso. — Continuar hasta que X
err[aj ,cj ] ≤ TOL
X
resabs[aj ,cj ] .
Una vez planteado el algoritmo, el principal problema consiste en estimar el error cometido en el c´ alculo de la integral, en cada subintervalo [xi , xi+1 ]. El teorema VI.1.12 da una estimaci´on cuando la f´ormula de cuadratura tiene un orden p, la cual est´ a dada por E(f, x0 , x1 ) = h
p+1
Z
1
Pp (t)f (p) (x0 + th)dt,
0
donde Pp (t) es el k-simo nucleo de Peano, para la f´ormula de cuadratura. El principal inconveniente de utilizar esta estimaci´on radica en que el c´ alculo de la derivada de orden p de f puede ser tan complicado, como encontrar una primitiva de f , y por otro lado, determinar el nucleo de Peano no es una tarea nada simple, motivos por los cuales, la estimaci´on del teorema VI.1.12 no es nada pr´ actica desde el punto de vista computacional. Ahora bien, existen dos m´etodos num´ericos que permiten encontrar una estimaci´on del error cometido en cada subintervalo, sin necesidad de conocer las propiedades del nucleo de Peano y de las derivadas de la funci´on a
´ n Num´ VI.3 Implementacio erica
271
integrar. Por consiguiente sea (ci , bi ), una f´ormula de cuadratura dada de orden p, se desea estimar Z x1 s X bi (f (x0 + ci (x1 − x0 )). f (x)dx − (x1 − x0 ) E(f, x0 , x1 ) = x0
i=1
El primer m´etodo para estimar E es conocido como QUADPACK, algoritmo implementado en algunas bibliotecas de programas. La idea central de este m´etodo es tomar una segunda f´ormula de cuadratura (ˆ ci , ˆbi ) con un orden pˆ > p y estimar E(f, x0 , x1 ), como " sˆ # s X X ˆbi f (x0 + cˆi (x1 − x0 )− E(f, x0 , x1 ) = (x1 −x0 ) bi f (x0 + ci (x1 − x0 )) , i=1
i=1
(VI.3.4) Para evitar demasiadas evaluaciones de la funci´on f , es deseable que {c1 , . . . , cs } ⊂ {ˆ c1 , . . . , cˆsˆ} ,
es decir {ˆ c1 , . . . , cˆsˆ} = {c1 , . . . , cs } ∪ {cs+1 , . . . , cs+m } , con s + m = sˆ. Sin embargo m debe ser m´as grande que s, si la f´ormula de cuadratura (ci , bi ) es una de tipo Gauss; en efecto, si m ≤ s, se tiene: s+m X
i=1 s X
ˆbi cj−1 = 1 , i j
bi cij−1 =
i=1
1 , j
j = 1, . . . , s + m; j = 1, . . . , 2s;
lo cual conduce a que ˆbi =
(
bi , i = 1, . . . , s; 0, i = s + 1, . . . , s + m;
obteniendo as´ı, la misma f´ormula de cuadratura. Por consiguiente es necesario elegir m > s, por ejemplo m = s + 1. Por otro lado, se pueden elegir los ci restantes de manera que la f´ormula de cuadratura (ˆ ci , ˆbi ), i = 1, . . . , 2s + 1; tenga un orden igual a 3s + 2. Esta f´ormula de cuadratura lleva el nombre de Konrad, en honor a su descubridor. El m´etodo QUADPACK, toma como resultado de la integral al resultado num´erico proporcionado por la f´ormula de cuadratura de Konrad, es decir 2s+1 X ˆbi f (x0 + ci (x1 − x0 )), res = (x1 − x0 ) (VI.3.5) i=1
´ n Num´ VI Integracio erica
272
la estimaci´on del error cometido es de la f´ormula de cuadratura de Gauss y no as´ı de la de Konrad. No obstante, se puede obtener una estimaci´on de este error. En efecto los errores de las f´ormulas de cuadratura est´ an dados por: errGauss = Ch2s+1 + . . . , ˆ 3s+3 + . . . . errKonrad = Ch Para simplificar los c´ alculos se puede suponer que tanto C, como Cˆ son iguales y valen 1, obteniendo as´ı, cuando h tiende a 0 3/2 ≈ h3s+3 , h2s+1 de donde la estimaci´on del error de la f´ormula de cuadratura multiplicada por una constante de seguridad est´ a dada por: " !#3/2 2s+1 s X X ˆbi f (x0 + ci h) − err = (x1 − x0 ) bi f (x0 + ci h) · 100, i=1
i=1
(VI.3.6)
finalmente se tiene resabs = (x1 − x0 )
2s+1 X i=1
ˆbi |f (x0 + ci (x1 − x0 ))| .
(VI.3.7)
El segundo m´etodo es conocido como GAUINT,GAUSS. Al igual que en el m´etodo QUADPACK, se considera una formula de cuadratura de tipo Gauss (ci , bi ), i = 1, . . . , s; pero s impar, de manera que uno de los nudos sea igual a 1/2. Luego se considera la f´ormula de cuadratura de orden al menos s − 1 obtenida de la f´ormula original, cuyos nudos est´ an dados por {ˆ c1 , . . . , cˆs−1 } = {c1 , . . . , cs } \ {1/2} .
Con los mismos argumentos desarrollados para el m´etodo QUADPACK, pero esta vez tomando el resultado num´erico proporcionado por la f´ormula de cuadratura de Gauss, se obtiene: s X bi f (x0 + ci h), (VI.3.8) res = (x1 − x0 ) "
i=1
err = (x1 − x0 )
s X
resabs = (x1 − x0 )
bi f (x0 + ci h) −
i=1 s X i=1
s X i=1
bi |f (x0 + ci h)| .
ˆbi f (x0 + cˆi h)
!#2
· 100, (VI.3.9) (VI.3.10)
Las experiencias num´ericas muestran que en la mayor´ıa de los casos las estimaciones del error cometido son demasiado pesimistas, ver en la tabla VI.3.1, las experiencias num´ericas han sido realizadas por el m´etodo GAUINT. El programa GAUINT, para estas experiencias num´ericas, utiliza una f´ormula de cuadratura de Gauss de orden 30.
´ n Num´ VI.3 Implementacio erica
273
Tabla VI.3.1 Error exacto vs Error estimado. f (x) 1 x 4 + x2 + 1
[a, b]
Error exacto
err
[0, 2]
0.23 × 10−10
0, 90 × 10−10
25e−25x
[0, 1]
0, 14 × 10−11
0.23 × 10−5
√
[0, 1/2]
0, 98 × 10−5
0.14 × 10−8
x
Puede observase que la tercera funci´on a ser integrada √ es una excepci´on de la regla anteriormente formulada, eso se debe a que x no es lo suficientemente derivable, y el algoritmo ha sido concebido para funciones lo suficientemente lisas.
Tratamiento de singularidades Los m´etodos desarrollados en la anterior subsecci´ on, tal como se puede observar en la tabla precedente, son utilizables para funciones lo suficientemente derivables. Por lo tanto, no son muy eficientes para resolver integrales definidas de funciones no muy lisas, adem´ as existen integrales impropias cuyo c´ alculo es frecuente en diversas aplicaciones, como por ejemplo integrales de los tipos: Z 1 Z 1 f (x) √ dx, (log x)f (x)dx. x 0 0 Ejemplo Consid´erese, la funci´on f (x) = −
4x log x , x4 + 100
R1 se desea calcular 0 f (x)dx. Esta integral es impropia, no obstante que una f´ormula de cuadratura de tipo Gauss proporciona resultados que se aproximan al valor exacto de esta integral. Esto se debe a que los nudos de la f´ormula utilizada son diferentes de 0 y que la funci´on f (x) es singular en x = 0. Ahora bien, el error exacto al integrar sobre el intervalo [0, 1] es del orden de 0.18 × 10−4 , el cual est´ a cerca del 5% del
´ n Num´ VI Integracio erica
274
valor exacto, valor muy grande. Un procedimiento para obtener un error que este en el orden de TOL, es definir la sucesi´on Sk dada por Sk =
k Z X j=0
bj
f (x)dx,
aj
donde bj = 2j−k y aj = bj /2, para j > 0. Con este procedimiento, solamente se debe calcular la integral en el intervalo m´as peque˜ no. Para poder comparar los resultados obtenidos con el m´etodo num´erico, el valor exacto de la integral, calculada mediante series, es igual a Z 1 Z 1 4x log x 1 −4x log x − 4 dx = dx 100 x + 100 1 + x4 /100 0 0 Z 1 ∞ X x4k 1 (−4x log x) dx (−1)k = 100 0 100k k=0 Z ∞ −4 X (−1)k 1 4k+1 = x log xdx 100 100k 0 k=0 ∞
1 1 X (−1)k , k 100 (2k + 1)2 100 k=0
lo que es igual con 16 cifras de precisi´ on a Z 1 4x log x dx = 9.9889286860336184 × 10−03 . − 4 x + 100 0 Aplicando el procedimiento mencionado m´as arriba, se obtiene la tabla VI.3.2. Tabla VI.3.2. C´alculo Integral. Sk
Error Exacto
Sk
Error Exacto
S0
1.748733098830973E − 07
S7
1.067342048077790E − 11
1.092958187148829E − 08
S9
6.830988674016991E − 10
S11
4.269368018838815E − 11
S13
S1 S2 S3 S4 S5 S6
4.371832748595316E − 08
S8
2.732395467872073E − 09
S10
1.707747172841056E − 10
S12
2.668355120194476E − 12 6.670896474103571E − 13 1.667728455334582E − 13 4.169407874510255E − 14 1.042395336714463E − 14 2.605554660917164E − 15
´ n Num´ VI.3 Implementacio erica
275
Se puede observar inmediatamente, que la convergencia para calcular la integral es muy lenta, es necesario, efectuar 13 subdivisiones para obtener un error igual o inferior a 2.61 × 10−15 . Cada utilizaci´ on del programa GAUINT requiere 15 evaluaciones de la funci´on f , por consiguiente para obtener el error mencionado, es necesario por lo menos 14 × 15 evaluaciones de la funci´on f . Para evitar tantas evaluaciones de la funci´on f , es necesario construir un algoritmo que permita acelerar la convergencia. Una forma de hacerlo es utilizar procedimientos de extrapolaci´ on al l´ımite dado en el cap´ıtulo III.3. Ahora bien, el m´etodo que ser´ a estudiado para acelerar la convergencia en el c´ alculo de estas integrales ser´ a tratado con un procedimiento equivalente, el cual consiste en utilizar diferencias finitas. A partir de la tabla precedente puede observarse, el siguiente hecho: Den´otese por S el valor exacto de la integral, entonces Sn+1 − S ≈
1 (Sn − S), 4
es decir Sn+1 − S ≈ ρ(Sn − S).
(VI.3.11)
Sup´ongase, que se conoce tres valores consecutivos de la sucesi´on {Sk }, por decir: Sn , Sn+1 y Sn+1 , utilizando la notaci´on de diferencias finitas dada en el cap´ıtulo III.1, se tiene el siguiente sistema lineal ( Sn+1 − S = ρ(Sn − S) , (VI.3.12) Sn+2 − S = ρ(Sn+1 − S) de donde sustrayendo ambas ecuaciones, se obtiene ∆Sn+1 = ρ∆Sn , por consiguiente ρ=
∆Sn+1 . ∆Sn
(VI.3.13)
Despejando S de la segunda ecuaci´on de (VI.3.12), se tiene 1 ∆Sn+1 ρ−1 ∆Sn ∆Sn+1 , =Sn+1 − ∆Sn+1 − ∆Sn
S =Sn+1 −
obteniendo as´ı Sn′ = Sn+1 −
∆Sn ∆Sn+1 . ∆2 Sn
(VI.3.14)
´ n Num´ VI Integracio erica
276
El m´etodo que acaba de ser formulado por (VI.3.14), es conocido por el procedimiento ∆2 de Aitken. En la tabla VI.3.3, se dan los valores obtenidos por este procedimiento, para el ejemplo precedente. Tabla VI.3.3. Procedimiento ∆ de Aitken. Sk′
Valor integral
Error Exacto
S0′
9.988928686033609E − 03
0.35E − 14
9.988928686033618E − 03
0.26E − 14
S1′ S2′
9.988928686033618E − 03
0.26E − 14
Con la finalidad de comparar la eficiencia, del procedimiento ∆2 de Aitken, para obtener un error del orden de 0.26 × 10−14 solo se necesitan 3 evaluaciones de integrales de f , mientras que, sin el procedimiento de aceleraci´ on es necesario 14 evaluaciones de integral. El siguiente paso en lograr una convergencia m´as rapida en el c´ alculo de integrales, consiste en generalizar el procedimiento ∆2 de Aitken, para tal efecto se supuso que Sn+1 − S = ρ(Sn − S), por consiguiente Sn − S = Cρn . Ahora bien, para ser m´as precisos se puede suponer que S n − S = C 1 ρ1 + C 2 ρ2 + · · · C k ρk ,
(VI.3.15)
con los ρi diferentes dos a dos, de donde la diferencia µn = Sn − S satisface una ecuaci´on de diferencias finitas o relaci´on recursiva de la forma µn+k + a1 µn+k−1 + · · · + ak µn = 0.
(VI.3.16)
La teor´ıa de ecuaciones de diferencias finitas, tiene como resultado central, que los ρi , i = 1, . . . , k; son raices del polinomio caracter´ıstico de (VI.3.16) dado por λk + a1 λk−1 + · · · + ak . (VI.3.17) Se tiene un problema inverso, pues no se conocen los valores de los ak , pero si los valores de µn , los cuales pueden servir para determinar los valores de los ak a partir del sistema lineal Sn − S · · · Sn+k − S ak .. .. .. = 0. (VI.3.18) . . . Sn+k − S
· · · Sn+2k − S
a1
´ n Num´ VI.3 Implementacio erica
277
Este sistema tiene soluciones no triviales para el sistema lineal homogeneo, por lo tanto el determinante de la matriz es nulo. Efectuando sustracciones sobre las filas de la matriz, se obtiene S −S S − S ··· S −S det
n
n+1
∆Sn .. .
∆Sn+1
···
∆Sn+k−1
···
···
luego, se tiene Sn ∆Sn .. . ∆Sn+k−1
Sn+1 ∆Sn+1 ···
··· ···
n+k
Sn+k ∆Sn+k .. .
∆Sn+k = 0, .. .
∆Sn−k−1 =
· · · ∆Sn−k−1 1 ∆Sn = S .. . ∆Sn+k−1
1 ∆Sn+1 ···
··· ···
1 ∆Sn+k .. .
· · · ∆Sn−k−1
,
efectuando sustracciones sobre la columna de la matriz del lado derecho de la ecuaci´on, se obtiene finalmente Sn Sn+1 · · · Sn+k ∆Sn+1 · · · ∆Sn+k ∆Sn .. .. . . ∆Sn+k−1 ··· · · · ∆Sn−k−1 S= (VI.3.19) ∆2 Sn · · · ∆2 Sn+k−1 .. .. . . ∆2 Sn+k−1 · · · ∆2 Sn+k−2 Por ultimo la relaci´on (VI.3.19), puede mejorarse si al determinante del numerador se agrega la primera linea a la segunda linea, la segunda linea a la tercera y as´ı sucesivamente, convirtiendose en Sn+1 · · · Sn+k Sn Sn+1 Sn+1 · · · Sn+k+1 . .. . . . Sn+k · · · · · · Sn−k (k) (VI.3.20) S = 2 · · · ∆2 Sn+k−1 ∆ Sn .. .. . . . ∆2 Sn+k−1 · · · ∆2 Sn+k−2
´ n Num´ VI Integracio erica
278
Este resultado constituye una joya desde el punto de vista te´ orico, pero es una cat´ astrofe, si se quiere implementar num´ericamente, las razones son obvias. Por lo tanto es necesario construir un algoritmo que permita determinar S (k) , sin necesidad de calcular expl´ıcitamente los determinantes encontrados en la u ´ltima expresi´ on. El m´etodo que ser´ a explicado constituye el algoritmo epsilon o m´as simplemente ǫ-algoritmo. Algoritmo Epsilon El siguiente teorema formulado por Wynn en 1956, permite calcular S (k) . (n)
Teorema VI.3.1.- Dados S0 , S1 , S2 , . . . , se define la sucesi´on ǫk −1, 0, . . . ; n = 0, 1, . . . , de manera recursiva, como
k =
(n)
ǫ−1 = 0, (n)
ǫ0
= Sn ,
(n) ǫk+1
=
(n+1) ǫk−1
(n)
= Sn′′ ,
entonces (n)
ǫ2
= Sn′ ,
ǫ4
+
(VI.3.21)
1 (n+1)
ǫk
(n)
− ǫk
(n)
ǫ6
;
= Sn(3) , . . .
(VI.3.22)
Demostraci´ on.- Una demostraci´on completa y una explicaci´on detallada puede encontrarse en Brezinski. La sucesi´on definida por el teorema precedente permite formular el ǫalgoritmo en forma de una tablero, ver la figura VI.3.1.
ǫ(0) −1
ǫ(0) 0
ց ǫ(1) −−−−−→ ǫ(0) −1 − 1 ր ց (1) ǫ0 −−−−−−→ ǫ(0) 2 ց ց (1) ր (2) ǫ−1 −−−−−−→ ǫ1 −−−−−−→ ǫ(0) 3 ր ր ց ց −−−−−→ ǫ(0) −−−−−−→ ǫ(1) ǫ(2) 4 2 − 0 ց (2) ր ց (1) ր ց (3) ǫ−1 −−−−−−→ ǫ1 −−−−−−→ ǫ3 −−−−−−→ ǫ(0) 5 ր ր ց ց (1) ր ց (2) (3) ǫ0 −−−−−−→ ǫ2 −−−−−−→ ǫ4 −−−−−−→ǫ(0) 6 ր ր ր Figura VI.3.1. Esquema ǫ-algoritmo.
´ n Num´ VI.3 Implementacio erica
279
En la figura VI.3.4, podr´ a apreciarse la verdadera potencia del ǫalgoritmo. La sucesi´on definida por Sn = 4
n X (−1)k , 2k + 1
(VI.3.23)
k=0
converge hacia π, sin embargo la convergencia de esta sucesi´on es muy lenta. Para obtener una precisi´ on de 10−35 , son necesarias por lo menos 1035 evaluaciones de esta sucesi´on, lo cual es imposible: por el tiempo de c´ alculo y por el error de redondeo. Aplicando el epsilon-algoritmo, se obtiene la (n) precisi´ on requerida, los errores de ǫk son dados en la figura VI.3.4. 100
k=0
10−2
k=2 10−4 10−6
k=4
10−8
k=6
10−10
k=8
10−12
k=10
10−14 10−16 10−18 10−20 0
k=24 1
2
k=22 3
4
5
6
7
8
9
Figura VI.3.4. Error de
10 (n) ǫk
11
12
13
14
15
en funci´on de n.
Otro medio para acelerar la convergencia en el c´ alculo de integrales impropias, consiste en efectuar un cambio de variable conveniente. A continuaci´ on se presentar´a algunos ejemplos donde el c´ alculo de la integral converge con mas rapidez o mayor lentitud dependiendo del cambio de variable elegido. Ejemplos
´ n Num´ VI Integracio erica
280 a) Consid´erese, la integral impropia Z 1 0
log x dx. x2 + 100
Se observa inmediatamente que f (x) no est´ a acotada en las proximidades del origen. Aplicando la funci´on GAUINT con una tolerancia igual a TOL = 10−14 . Si se desea obtener el valor exacto de esta integral con un error exacto inferior a 10−13 son necesarias 69 × 15 evaluaciones de la funci´on f . Efectuando el cambio de variable x = t2 , se obtiene la integral Z 1 4t log t dt, 4 0 t + 100 integral que ha sido ya evaluada, ver la tabla VI.3.2. La funci´on a integrar es acotada, y son necesarias 27 × 15 evaluaciones de la funci´on integrada. Si nuevamente se realiza otro cambio de variable, como por ejemplo, t = s2 , se obtiene la integral Z 1 16s3 log s ds, 8 0 s + 100 denotando por h(s) a la funci´on integrada, se puede mostrar que h(s) es dos veces continuamente diferenciable. Resolviendo por la funci´on GAUINT son necesarias 7 × 15 evaluaciones de h. b) Las integrales de la forma Z 1 f (x) √ dx, x 0 pueden ser calculadas con menos evaluaciones, si se hace el cambio de variable x = t2 , obteniendo as´ı Z 1 2 f (t2 )dt. 0
c) Las integrales impropias del tipo Z ∞
f (x)dx,
1
mediante el cambio de variable x = 1/t se convierten en Z 1 1 f (1/t) 2 dt. t 0
´ n Num´ VI.3 Implementacio erica
281
Por lo tanto, para acelerar la convergencia, puede utilizarse de manera combinada el ǫ-algoritmo, con un cambio de variable adecuado. Vale la pena recalcar que el objetivo principal del cambio de variable es volver la funci´on integrada m´as lisa, es decir que sea lo suficientemente derivable para poder aplicar la subrutina GAUINT en el m´aximo de su eficiencia. Sin embargo el cambio de variable puede volver m´as complicada la funci´on a integrar, motivo por el cual la ganancia obtenida en una disminuci´ on de evaluaciones de la funci´ on integrada puede perderse con las mismas evaluaciones de la funci´on. Uno de los tipos de integral donde mejor se ajusta los m´etodos de aceleraci´ on propuestos, como el cambio de variable conveniente o el algoritmo epsilon consiste en: Funciones con Oscilaciones Escapando un poco a la rutina del libro de presentar las bases te´ oricas de la soluci´on de un problema, para luego tratar algunos ejemplos, se analizar´ a este tipo de evaluaci´ on de integral impropia con un ejemplo. Consid´erese la integral de Fresnel, dada por Z
∞
0
1 sin(x )dx = 2 2
r
π . 2
La funci´ on sin(x2 ) se anula en x2 = kπ con k ∈ N, definiendo as´ı una sucesi´on de n´ umeros positivos {xk }, dada por xk = Planteando Ik =
Z
xk+1
√ kπ.
sin(x2 )dx,
k = 0, 1, 2, . . . ;
xk
donde Ik pueden ser calculadas por GAUINT se define la sucesi´on {Sk }, por Sk =
k X
Ij ,
j=0
teniendo como resultado Z
0
∞
sin(x2 )dx = lim Sk . k→∞
Ahora bien la convergencia de Sk es muy lenta, utilizando ǫ-algoritmo la velocidad de la convergencia hacia la integral, se aumenta de manera ostensible. Ver la tabla VI.3.4.
´ n Num´ VI Integracio erica
282
Tabla VI.3.4. C´alculo de la integral de Fresnel k
Sk′
Sk
Sk′′
S (3)
S (4)
S (5)
0 .89483147 .63252334 .62682808 .62666213 .62665722 .62665721 1 .43040772 .62447449 .62660885 .62665582 .62665582 2 .78825896 .62773451 .62667509 .62665746 .62665746 3 .48624702 .62603581 .62664903 .62665692 4 .75244267 .62705261 .62666112 .62665713 5 .51172983 .62638728 .62665483 6 .73311637 .62685063 .62665838 7 .52703834 .62651269 8 .72060138 .62676812 9 .53751806 10 .71165881
Ejercicios 1.- Para una sucesi´on {Sn }n≥0 , el ǫ-algoritmo est´ a definido por: (n)
ǫ−1 = 0, (n)
ǫ0
= Sn ,
(n)
(n+1)
ǫk+1 = ǫk−1 +
1 (n+1) ǫk
.
(n)
− ǫk
Si la aplicaci´ on del ǫ-algoritmo a {Sn }n≥0 y a {Sˆn }n≥0 = {aSn + b} (n) (n) proporciona respectivamente las cantidades ǫk y ǫˆk . Mostrar que (n)
(n)
ǫˆ2l = aǫ2l + b,
1 (n) ǫ . a 2l+1
(n)
ǫˆ2l+1 =
2.- Utilizar el ǫ-algoritmo para el c´ alculo de las integrales: a)
1 100
Z
0
1
x−0.99 dx,
b)
Z
0
1
log x √ dx. x
.
´ n Num´ VI.3 Implementacio erica
283
3.- Sup´ongase que la sucesi´on {Sn } satisface Sn+1 − S = (ρ + αn )(Sn − S) con |ρ| < 1, lim αn = 0 y consid´erese el procedimiento ∆2 de Aitken n→∞
Sn′ = Sn+1 −
∆Sn ∆Sn+1 , ∆2 Sn
n = 0, 1, . . . .
Demostrar que la sucesi´on {Sn′ } converge m´as r´apidamente hacia S que la sucesi´on {Sn }; es decir Sn′ − S = 0. n→∞ Sn − S lim
Indicaci´ on.- Verificar que ∆Sn = (ρ − 1 + αn )(Sn − S) y encontrar una f´ormula similar para ∆2 Sn
VI.4 Transformaci´ on de Fourier
En est´ a secci´on ser´ a abordado el c´ alculo num´erico de las transformadas de Fourier, es decir los coeficientes de las series de Fourier para una determinada funci´ on. Se iniciar´ a un repaso te´ orico sobre las series de Fourier, luego se introducir´ a la transformada discreta de Fourier, cuya abreviaci´on usual es T DF , para finalmente ver la transformaci´on r´apida de Fourier m´as conocida como F F T . Las motivaciones de la utilizaci´ on de series de Fourier est´ an dadas por sus diferentes aplicaciones en numerosas ´areas de la ciencia, como de la tecnolog´ıa; para citar algunas de ellas, se tiene el tratamiento de se˜ nales, la resoluci´ on de ecuaciones diferenciales, la construcci´on de m´etodos espectrales en la resoluci´on de ecuaciones a derivadas parciales, etc. La teor´ıa de la transformaci´on de Fourier est´ a ´ıntimamente ligada a las funciones 2π-peri´odicas e integrables. En este libro se supondr´ a que las funciones son integrables en el sentido de Riemann, y no se considerar´ a el caso m´as general. Recordando la: Definici´ on VI.4.1.- La serie de Fourier de una funci´on 2π- peri´odica e integrable, est´ a dada de manera formal por f (x) ∼
X
fˆ(k)eikx ,
(VI.4.1)
k∈Z
donde los coeficientes de Fourier est´ an definidos por 1 fˆ(k) = 2π
Z
2π
f (x)e−ikx dx.
(VI.4.2)
0
Denotando por E, el espacio de las funciones 2π-peri´odicas, tales que Z
2π 0
f (x)f (x)dx < ∞,
∀f ∈ E,
se tiene que E es un espacio vectorial provisto del producto sesquilinial, dado por Z 2π f (x)g(x)dx. hf, gi = (VI.4.3) 0
Una simple verificaci´ on muestra que las funciones definidas por ϕk (x) = eikx ,
(VI.4.4)
´ n de Fourier VI.4 Transformacio
285
constituyen una familia ortogonal de funciones, es decir hϕk , ϕj i = 0,
si j 6= k.
Para conocer m´as respecto a las propiedades de espacios de Hilbert, familias ortonormales y series de Fourier existe una ambundante bibliograf´ıa, por ejemplo Rudin. La definici´on VII.4.1 es una definici´on formal, es decir la serie de Fourier de una funci´on dada, no necesariamente debe converger hacia la funci´on. Sin embargo existen condiciones suficientes sobre la funci´ on f , para que la serie de Fourier converga hacia f o por lo menos en casi todos los puntos. A continuaci´on se enunciar´ a estas condiciones suficientes y el tipo de convergencia que uno puede esperar obtener. Teorema VI.4.2.- Dirichlet. Sea f : R → C una funci´on de clase C 1 por trozos y peri´odica de periodo 2π. La serie de Fourier de f es convergente en todo punto de R. En un punto x donde la funci´on es continua, el l´ımite de la serie es f (x). En un punto x donde f no es continua, la suma de la serie es 1 (f (x− ) + f (x+ )). (VI.4.5) 2 Adem´ as, la convergencia de la serie de Fourier de f es uniforme en todo intervalo compacto que no contiene ning´ un punto de discontinuidad de f . Demostraci´ on.- Una demostraci´on de este teorema puede encontrarse en Gramain. Con la formulaci´on de este teorema, se conoce la clase de funciones de las cuales la serie de Fourier es igual a la funci´on, en todo caso en los puntos donde la funci´on es continua. Es prop´ osito de esta secci´on estudiar los m´etodos num´ericos que permitan calcular los coeficientes de Fourier, y por ende la serie de Fourier asociada. Una primera alternativa de c´ alculo de estos coeficientes consiste en utilizar un m´etodo de integraci´on propuesto en las secciones precedentes de este cap´ıtulo. Sin embargo existen alternativas menos costosas y m´as simples que dan excelentes resultados. Sea f : [0, 2π] → C, sup´ ongase que la funci´on f (x) es conocida para los x dados por la subdivisi´on equidistante xl =
2πl , N
l = 0, 1, . . . , N.
(VI.4.6)
Como f (xN ) = f (x0 ) por hip´otesis, el c´ alculo de (VI.4.2) puede realizarse mediante la regla del trapecio, obteniendo como aproximaci´on de fˆ(k) N −1 1 X f (xl )e−ikxl . fˆN (k) = N l=0
(VI.4.7)
´ n Num´ VI Integracio erica
286
Ahora bien, (VI.4.7) induce las definiciones siguientes. Consid´erese, el espacio de las sucesiones N -peri´odicas PN = {(yk )k∈Z |yk ∈ C, yk+N = yk }.
(VI.4.8)
Definici´ on VI.4.3.- La transformada discreta de Fourier (DFT) de y ∈ PN es la sucesi´on (zk )k∈Z , donde N −1 N −1 1 X 1 X −ikxl yl e yl ω −kl , = zk = N N l=0
con
ω = e2iπ/N .
l=0
Se la denota z = FN y. Proposici´ on VI.4.4.- La transformada discreta de Fourier satisface las siguientes propiedades: a) Para y ∈ PN , se tiene que FN y ∈ PN . b) La aplicaci´ on Fn : PN → PN es lineal y biyectiva. c) La aplicaci´ on inversa de FN est´ a dada por −1 FN = N · F¯N ,
donde
(VI.4.9)
N −1 1 X ¯ (FN z)k := (FN z¯)k = zl ω kl . N
(VI.4.10)
l=0
Demostraci´ on.- Utilizando el hecho que ω N = e2πi = 1 y ω −lN = N −l (ω ) = 1, se obtiene zk+N =
N −1 N −1 1 X 1 X yl ω −(k+N )l = yl ω −kl = zk , N N l=0
l=0
mostrando as´ı la periocidad de zk . La linearidad de FN resulta de una verificaci´ on inmediata. Para mostrar la biyectividad y al mismo tiempo la f´ormula (VI.4.10), se calcula N −1 1 X ¯ (FN FN y)j = (FN y)k ω kj N k=0
=
N −1 N −1 1 X X yl ω −kl ω kj N 2 k=0 l=0
N −1 1 X = 2 yl N l=0
1 = yj . N
N −1 1 X k(j−l) ω N k=0
!
´ n de Fourier VI.4 Transformacio
287
La u ´ltima igualdad de este c´ alculo, es consecuencia de N −1 X
ω
km
k=0
=
N −1 X
m k
(ω ) =
k=0
ω mN −1 ω m −1
N =0
si m = 0modN si no.
Hay que remarcar que ω m = 1 si m = 0modN .
Estudio del Error Sup´ongase que yl = f (xl ),
xl =
2πl , N
l = 0, 1, . . . , N ;
para una funci´on f : R → C que es 2π-peri´odica. La f´ormula siguiente describe c´ omo la transformada de Fourier discreta dada por (VI.4.7) aproxima los coeficientes de Fourier dados por (VI.4.2). X Teorema VI.4.5.- Si la serie fˆ(k) es absolutamente convergente, enk∈Z
tonces
fˆn (k) − fˆ(k) =
X
fˆ(k + jN ).
(VI.4.11)
j∈Z j6=0
Demostraci´ on.- La hip´otesis sobre los coeficientes de Fourier implica que se tenga igualdad en la f´ormula (VI.4.1), ver Gramain. Por lo tanto, se tiene N −1 1 X X ˆ fˆN (k) = f (n)einxl N l=0
n∈Z
!
ω
−kl
! N −1 X 1 (n−k)l fˆ(n) = ω N n∈Z l=0 | {z } 1 si n = k((mod)N = 0 si no X = fˆ(k + jN ) X
j∈Z
Corolario VI.4.6.- Sea f : R → C, p veces continuamente derivable (p ≥ 2) y 2π-peri´ odica. Entonces, fˆN (k) − fˆ(k) = O(N −p ),
para
|k| ≤
N . 2
(VI.4.12)
´ n Num´ VI Integracio erica
288 En particular, con h = 2π/N , se tiene
Z 2π N −1 h X 1 f (xj ) − f (x)dx = O(hp ), 2π j=0 2π 0
(VI.4.13)
lo que significa que, para funciones lisas y peri´odicas, la f´ormula del trapecio es muy precisa. Demostraci´ on.- Se mostrar´ a primero que los coeficientes de Fourier satisfacen ˆ (VI.4.14) f (k) ≤ C.k−p . En efecto, varias integraciones por partes dan 1 fˆ(k) = 2π
Z
2π
f (x)e−ikx dx
0
2π Z e−ikx (iπ)−1 2π ′ = f (x) f (x)e−ikx dx + −ik 0 2π 0 | {z } 0
.. .
=
(ik)−p 2π
Z
2π
f (p) (x)e−ikx dx
0
Z 2π 1 (p) f (x) dx. 2π 0 Para |k| ≤ N/2 y j = 6 0 se tiene que |k + jN | ≥ (|j| − 1/2)N , utilizando (VI.4.11), se obtiene X ˆ C(j − 1/2)−p N −p = C1 · N −p . fN (k) − fˆ(k) ≤ teniendo as´ı, (VI.4.14) con C =
j≥1
Obs´ervese que la serie en esta f´ormula converge para p > 1. Es muy importante remarcar que fˆn (k) es una sucesi´on N -peri´odica, propiedad de la transformada discreta de Fourier, y que por otro lado fˆ(k) converge muy rapidamente hacia 0 por (VI.4.14). Por consiguiente para k grande, por ejemplo k ≈ N , fˆN es una mala aproximaci´on de fˆ(k); mientras que para |k| ≤ N/2 la aproximaci´on es en general muy buena.
Interpolaci´ on Trigonom´ etrica Para la divisi´on equidistante (VI.4.6) del intervalo [0, 2π] y para y0 , y1 , . . . , yN −1 dados, se busca un polinomio trigonom´etrico, es decir una
´ n de Fourier VI.4 Transformacio
289
combinaci´on lineal finita de funciones eikx , que pase por (xl , yl ), para l = 0, 1, . . . , N − 1. La existencia de tal polinomio trigonom´etrico est´ a asegurada por el siguiente: Teorema VI.4.7.- Sea y ∈ PN y z = FN y su transformada discreta de Fourier. Entonces, el polinomio trigonom´etrico N/2
pN (x) =
X
′
zk eikx :=
X 1 zk eikx , z−N/2 e−iN x/2 + zN/2 eiN x/2 + 2 |k|
k=−N/2
(VI.4.15)
satisface pn (xl ) = yl para l = 0, 1, . . . , N − 1. Hay que remarcar que si los yk son reales, {zk } es una sucesi´on herm´ıtica, es decir z−k = z¯k y por lo tanto el polinomio pN (x) es un polinomio a coeficientes reales. Demostraci´ on.- Para l fijo, la sucesi´on {zk eikxl } es N -peri´odica, por consiguiente pN (xl ) =
N −1 X k=0
zk eikxl = N · (F¯N z)l = N (F¯N FN y)l = yl .
El siguiente teorema a ser enunciado provee una estimaci´on del error de la interpolaci´ on trigonom´etrica con consecuencias importantes, que ser´ an explicadas posteriormente. X Teorema VI.4.8.- Sea f : R → C una funci´on 2π-peri´odica tal que fˆ(k) k∈Z
sea absolutamente convergente. Entonces, el polinomio trigonom´etrico dado por (VI.4.15), para yl = f (xl ) satisface para todo x ∈ R |pN (x) − f (x)| ≤ 2pN (x) =
X
|k|≥N/2
′
ˆ f (k) .
(VI.4.16)
Demostraci´ on.- Restando (VI.4.1) de (VI.4.15) se obtiene N/2
pN (x) − f (x) =
X
k=−N/2
′
X fˆN (k) − fˆ(k) eikx −
′
fˆ(k)eikx .
|k|≥N/2
La aserci´ on es pues consecuencia de (VI.4.11) y de la desigualdad del tri´angulo
´ n Num´ VI Integracio erica
290
Este teorema permite una interpretaci´on interesante. Consid´erese una funci´ on 2π-peri´odica de frecuencia maximal M , es decir fˆ(k) = 0 para |k| > M . Entonces, el polinomio trigonom´etrico da el resultado exacto pN (x) = f (x) para todo x, si N > 2M.
(VI.4.17)
Este resultado, el Teorema del Muestreo, da una f´ormula para el n´ umero de muestras necesarias para obtener una representaci´on exacta de una funci´on. La evaluaci´ on de FN requiere N 2 multiplicaciones y adiciones, si se la realiza directamente. Sin embargo existe un procedimiento que permite descender el costo en operaciones a N log2 N . Este procedimiento ser´ a visto en la siguiente subsecci´ on.
Transformaci´ on R´ apida de Fourier (FFT) El algoritmo que ser´ a estudiado, se debe a Cooley & Tukey en 1965, se basa sobre las ideas de Runge 1925. Para poder formular ´este, es necesario la siguiente: Proposici´ on VI.4.9.- Sean u = (u0 , u1 , . . . , uN −1 ) ∈ PN , v = (v0 , v1 , . . . , vN −1 ) ∈ PN y def´ınase y = (u0 , v0 , u1 , v1 . . . . , uN −1 , vN −1 ) ∈ P2N .
(VI.4.18)
Entonces, para k = 0, 1, . . . , N − 1, se tiene (ω2N = e2iπ/2N = eπi/N ) −k 2N (F2N y)k = N (FN u)k + ω2N N (FN v)k ,
(VI.4.18)
−k 2N (F2N y)k+N = N (FN u)k − ω2N N (FN v)k .
2 Demostraci´ on.- Utilizando el hecho que ω2N = ωN , un c´ alculo directo da para k arbitrario
2N (F2N y)k =
2N −1 X
yj e−2πijk/2n
j=0
=
2N −1 X
−jk yj ω2N
j=0
=
N −1 X l=0
−2lk y2l ω2N + |{z} | {z } ul
−lk ωN
N −1 X l=0
−(2l+1)k
y2l+1 ω2N | {z } | {z vl
}
−k −lk ω2N ···ωN
−k = N (FN u)k + ω2N N (FN v)k.
´ n de Fourier VI.4 Transformacio
291
−N La segunda f´ormula de (VI.4.18) resulta de ω2N = −1.
La f´ormula (VI.4.18) permite calcular, con N multiplicaciones y 2N adiciones, la transformada discreta de Fourier de y ∈ P2N a partir de FN u y FN v. El mismo procedimiento puede ser aplicado recursivamente a las sucesiones u y v, si ´estas tienen una longitud par. Si se supone que N = 2m , se obtiene el algoritmo presentado en el esquema siguiente (para N = 8 = 23 ). FN/4
y0 y1 y2 * y FN 3 y4 y5 y6 y7
FN/2
y0 y4
* FN/8 y0 = y0
y1 y5
* FN/8 y1 = y1
FN/8 y4 = y4 y0 * y2 * FN/8 y2 = y2 y4 y2 FN/4 y6 y6 FN/8 y6 = y6
FN/4 FN/2
(VI.4.19)
FN/8 y5 = y5 y1 * y3 * FN/8 y3 = y3 y5 y3 FN/4 y7 y7 FN/8 y7 = y7
Figura VI.4.1. Esquema para C´alculo de FFT. La programaci´ on de este algoritmo se la realiza en dos ´etapas. La primera, se ordena los yi en el orden exigido por (VI.4.19), es decir es necesario invertir los bits en la representaci´on binaria de los indices: 0=(0, 0, 0) 1=(0, 0, 1) 2=(0, 1, 0) 3=(0, 1, 1) 4=(1, 0, 0) 5=(1, 0, 1) 6=(1, 1, 0) 7=(1, 1, 1)
←→
0=(0,0,0) 4=(1,0,0) 2=(0,1,0) 6=(1,1,0 1=(0,0,1) 5=(1,0,1) 3=(0,1,1) 7=(1,1,1)
Despu´es, se efectua las operaciones de (VI.4.18) de la manera como indica el esquema (VI.4.19).
´ n Num´ VI Integracio erica
292
Para pasar de una columna a otra en el esquema (VI.4.19) son necesarias N/2 multiplicaciones complejas y de otras N adiciones o sustracciones. Como m = log2 N pasajes son necesarios, entonces se tiene el: Teorema VI.4.10.- Para N = 2m , el c´ alculo de FN y puede ser realizado con: N log2 N multiplicaciones complejas y 2 N log2 N adiciones complejas. Para ilustrar mejor la importancia de este algoritmo, ver la tabla VI.4.1 para comparar el c´ alculo de FN y con o sin FFT. Tabla VI.4.1. Comparaci´ on de FFT con DFT. N
N2
25 = 32
≈ 103
10
2
20
2
3
≈ 10
6
≈ 10
N log2 N cociente 6
≈ 10
12
≈ 10
≈ 6.4
160 4
≈ 10
100
7
≈ 2 · 10
5· ≈ 104
Aplicaciones de la FFT La transformada r´apida de Fourier, tiene una gran cantidad de aplicaciones, desde el c´ alculo de espectrogramas, resoluci´on de ecuaciones diferenciales ordinarias o a derivadas parciales, hasta la soluci´on de sistemas lineales. Definiendo el producto de convoluci´on de dos sucesiones N -peri´odicas y ∈ PN y z ∈ Pn , por N −1 X (y ∗ z)k = yk−l zl . (VI.4.20) l=0
Se tiene la siguiente propiedad, ver ejercicio 1,
FN (y ∗ z) = N · FN y · FN z,
(VI.4.21)
de donde (VI.4.20) puede ser calculado mediante O(N log2 N ) operaciones. La resoluci´on de un sistema lineal con una matriz de Toeplitz circular puede ser resuelto utilizando FFT. En efecto, un tal sistema es de la forma
a0 a1 a2 .. .
aN −1 a0 a1 .. .
aN −2 aN −1 a0 .. .
aN −1
aN −2
aN −3
x0 · · · a1 · · · a 2 x1 · · · a 3 x2 . . · · · .. .. · · · a0
xN −1
=
b0 b1 b2 .. . bN −1
.
(VI.4.22)
´ n de Fourier VI.4 Transformacio
293
Evidentemente, el sistema lineal (VI.4.22) es equivalente a a ∗ x = b, si se considera (ai ), (xi ) y (bi ) como sucesiones de PN . La multiplicaci´on de una matriz de Toeplitz arbitraria con un vector a 0 a1 a2 . . .
aN −1
a−1 a0 a1 .. .
a−2 a−1 a0 .. .
aN −2
aN −3
· · · a−N +1 x0 b0 · · · a−N +2 x1 b1 · · · aN +3 x2 = b2 , (VI.4.23) .. .. .. . . ··· . bN −1 xN −1 ··· a0
puede ser resuelta utilizando FFT, considerando las sucesiones en P2N a = (a0 , a1 , . . . , aN −1 , 0, a−N +1 , a−N +2 , . . . , a−1 ), x = (x0 , x1 , . . . , xN −1 , 0, 0, . . . , 0). Se puede verificar facilmente que el resultado del producto (VI.4.23) es la primera mitad del producto de convoluci´on a ∗ x. Por consiguiente, el c´ alculo con FFT da un algoritmo r´apido para efectuar el producto (VI.4.23).
Ejercicios 1.- Mostrar que Fn (y ∗ z) = N · FN y · FN z, para el producto de convoluci´on (y ∗ z)k =
N −1 X
yk−l zl ,
l=0
de dos suceciones N -peri´odicas. Deducir que −1 y ∗ z = N · FN (FN y · FN z).
2.- Resolver la ecuaci´on diferencial con valores en la frontera u′′ (x) = −1 graficar la soluci´on.
u(0) = u(2π) = 0,
Cap´ıtulo VII Ecuaciones Diferenciales
El estudio de una gran cantidad de fen´ omenos de las m´as diversas caracter´ısticas se traducen en ecuaciones diferenciales. La descripci´on de un fen´ omeno mediante ecuaciones diferenciales tiene un proposito primordial que es la predecibilidad. Por otro lado, permite obtener conclusiones de car´ acter local, que ser´ an extrapoladas para tener informaciones globales del modelo estudiado. El ´enfasis que se hace a la resoluci´on anal´ıtica de las ecuaciones diferenciales en los cursos de Ecuaciones Diferenciales que se dictan en los primeros niveles de las universidades, tienen el objetivo de encontrar soluciones generales a los diversos problemas diferenciales que se encuentran en el transcurso de los estudios universitarios, como tambi´en en el ejercicio profecional. Este hecho se debe fundamentalmente que hasta hace no mucho, no se contaban con los medios tecn´ologicos que permitan resolver ecuaciones diferenciales con la precisi´ on que se requer´ıa. Por consiguiente, el objetivo de estos cursos eran esencialemte obtener las soluciones en forma de f´ormulas, perdiendose as´ı el car´ acter esencial de las ecuaciones diferenciales que es el estudio local de los fen´ omenos. Adem´ as cuestiones como existencia y unicidad no son abordadas por falta de tiempo. Este cap´ıtulo tiene como objetivo principal la formulaci´on de m´etodos num´ericos de resoluci´on de problemas diferenciales a valores iniciales o problemas de Cauchy. La primera parte tratar´a sobre cuestiones de existencia y unicidad de las ecuaciones diferenciales. Luego se abordar´a los m´etodos a un paso y como expresi´ on de estos; los m´etodos de Runge-Kutta, desde la construcci´on de estos, estimaciones de error y como corolario los metodos encajonados del tipo Dormand & Prince. La tercera parte de este cap´ıtulo tratar´a los m´etodos num´ericos a paso m´ ultiple, se ver´ a la construcci´on de estos, cuestiones de estabilidad y convergencia.
VII.1 Generalidades
En este cap´ıtulo I, I0 designan intervalos abiertos de R no reducidos a un punto y t0 un punto fijo de I0 ; se da una funci´on f definida y continua sobre I0 × Rm con valores en Rm , un elemento y0 ∈ Rm , y se desea encontrar una funci´ on y continua y derivable sobre el intervalo I0 , con valores en Rm , tal que: y ′ (t) = f (t, y(t)), y(t0 ) = y0 .
∀t ∈ I0 ;
(VII.1.1) (VII.1.2)
Este problema se lo conoce con el nombre de problema de Cauchy para el sistema diferencial (VII.1.1); la condici´ on (VII.1.2) se llama una condici´ on de Cauchy. Una funci´on y que satisface el sistema (VII.1.1) es llamada una integral del sistema (VII.1.1). En numerosos ejemplos f´ısicos, la variable t representa el tiempo, el instante t0 , es por consiguiente, llamado instante inicial y la condici´ on (VII.1.2) llamada condici´ on inicial. Se puede remarcar que si se denota por y1 , y2 , . . . , ym las componentes de y, por f1 (t, y1 , . . . , ym ), . . . , fm (t, y1 , . . . , ym ) las componentes de f (t, y) la ecuaci´on (VII.1.1) es equivalente al sistema ′ y1 (t) = f1 (t, y1 (t), . . . , ym (t)) y2′ (t) = f2 (t, y1 (t), . . . , ym (t)) . (VII.1.3) .. . ′ ym (t) = fm (t, y1 (t), . . . , ym (t))
Las ecuaciones del sistema VII.1.3 son de primer orden, pues en ´estas, el orden de derivaci´on m´as alto que aparece es el primero. Consid´erese ahora un problema diferencial de orden p, de la forma y (p) (t) = f (t, y(t), y ′ (t), . . . , y (p−1) ),
(VII.1.4)
el cual puede convertirse en problema de la forma (VII.1.1), planteando z1 (t) = y(t),
z2 (t) = y ′ (t), . . . , zp (t) = y (p−1) (t);
el problema diferencial (VII.1.4), por consiguiente es equivalente al sistema z1′ (t) = z2 (t) .. . . ′ (t) = zp (t) z p−1 zp′ (t) = f (t, z1 (t), . . . , zp (t))
297
VII.1 Generalidades de donde planteando z = (z1 , z2 , . . . , zp )t se tiene
y
F (t, z) = (z2 , . . . , zp , f (t, z1 , . . . , zp ))t ,
z ′ (t) = F (t, z(t)).
(VII.1.5)
La condici´ on de Cauchy para el problema (VII.1.5) est´ a dada por y(t0 ), y ′ (t0 ), . . . , y (p−1) (t0 ). Ahora bien, en este cap´ıtulo no ser´ a tratado el problema diferencial general de orden p, dado por F (t, y(t), y ′ (t), . . . , y (n) (t)) = 0,
∀t ∈ I0 .
(VII.1.6)
Cuando se puede aplicar el teorema de las funciones implicitas, (VII.1.6) es localmente equivalente a la ecuaci´on de la forma (VII.1.4) y la teor´ıa que ser´ a desarrollada en este cap´ıtulo podr´ a ser aplicada a este tipo de problema sin inconvenientes. Si el teorema de las funciones implicitas no es aplicable, serias dificultades matem´aticas y num´ericas pueden aparecer, en este caso se habla de ecuaciones diferenciales algebraicas, para saber m´as sobre este tipo de ecuaciones referirse a Hairer & Wanner. Finalmente es necesario remarcar que, si bien I0 es un intervalo abierto, el estudio de las soluciones de los problemas diferenciales permite considerar los intervalos de la forma [t0 , t0 + T ) y (t0 − T, t0 ], obteniendo el intervalo abierto por recolamiento de ambos subintervalos semiabiertos.
Teoremas de Existencia y Unicidad En esta subsecci´ on se supondr´ a que la terminolog´ıa b´ asica es conocida por el lector. No obstante, se enunciar´ a dos teoremas muy importantes en lo que concierne el an´alisis num´erico de ecuaciones diferenciales. El primer teorema a enunciarse da condici´ ones suficientes para asegurar la existencia y unicidad de las soluciones de los problemas a valores iniciales. El segundo teorema est´ a relacionado con la condici´ on misma del problema, pues cuando se trata num´ericamente un problema es de suponer que se trabaja con una soluci´on aproximada del problema. Teorema VII.1.1.- Cauchy-Lipschitz. Sup´ongase que f es continua sobre I0 × Rm y que satisface una condici´ on de Lipschitz, es decir que existe un real L tal que kf (t, z) − f (t, y)k ≤ L kz − yk
∀(t, y) y (t, z) ∈ I0 × Rm ;
(VII.1.7)
entonces el problema (VII.1.1,2) admite una soluci´on y una sola. Demostraci´ on.- Se dar´a una demostraci´on directa que tiene la ventaja de ser valida cuando se remplaza Rn por un espacio de Banach.
298
VII Ecuaciones Diferenciales
Paa fijar las ideas, sup´ ongase que I0 = [t0 , t + t0 ] y consid´erese la aplicaci´ on Φ que a y ∈ C 0 ([t0 , t + t0 ]) asocia Φ(y) ∈ C 0 ([t0 , t + t0 ]) definida por Z t
f (s, y(s))ds.
Φ(y)(t) = y0 +
t0
Introduciendo la norma
kykL = max(e−2L(s−t0 ) ky(s)k) s∈I0
que dota C 0 (I0 ) de una estructura de espacio de Banach. Se tiene Z t kf (s, y(s)) − f (s, y ∗ (s))k ds k(Φ(y) − Φ(y ∗ ))(t)k ≤ ≤
Z
t0 t
t0
Le2L(s−t0 ) ds ky − y ∗ kL
1 ≤ e2L(t−t0 ) ky − y ∗ kL , 2 deduciendose
1 ky − y ∗ kL . 2 El teorema del punto fijo implica que Φ tiene un solo punto fijo en C 0 (I0 ), de donde se tiene el resultado. kΦ(y) − Φ(y ∗ )kL ≤
Teorema VII.1.2.- Sea f : V → Rn continua, donde V ⊂ Rn+1 abierto. Sup´ ongase que: y(x) es una soluci´ on de y ′ = f (x, y) sobre [x0 , x ¯], tal que y(x0 ) = y0 ; v(x) una soluci´ on aproximada de la ecuaci´ on diferencial sobre [x0 , x ¯0 ] tal que kv ′ (x) − f (x, v(x))k l ≤ δ (VII.1.8) y f satisface una condici´ on de Lipschitz sobre un conjunto que contenga {(x, y(x)), (x, z(x))}, es decir kf (x, y) − f (x, z)k ≤ L ky − zk .
(VII.1.9)
Entonces ky(x) − v(x)k ≤ ky0 − v(x0 )k eL(x−x0 ) + Demostraci´ on.- Se tiene:
Z
x
δ L(x−x0 ) e −1 . L
(VII.1.10)
(y ′ (s) − v ′ (s))ds y(x) − v(x) = y(x0 ) − v(x0 ) + x0 Z x (f (s, y(s)) − f (s, v(s)) + f (s, v(s)) − v ′ (s)) ds, = y(x0 ) − v(x0 ) + x0
299
VII.1 Generalidades
pasando a las normas y aplicando las hip´otesis (VII.1.8) y (VII.1.9), se obtiene Z x (L ky(s) − v(s)k + δ) ds. ky(x) − v(x)k ≤ ky0 − v(x0 )k + x0
Planteando u(x) = ky0 − v(x0 )k + se deduce
Z
x
x0
(L ky(s) − v(s)k + δ) ds,
u′ (x) = L ky(x) − v(x)k + δ ≤ Lu(x) + δ,
de esta manera se obtiene la desigualdad diferencial u′ (x) ≤ Lu(x) + δ u(x0 ) = ky0 − v(x0 )k .
(VII.1.11)
Para resolver este desigualdad, se considera la familia de ecuaciones: wn′ (x) = Lwn (x) + δ,
wn (x0 ) = u(x0 ) +
1 , n
(VII.1.12)
cuyas soluciones est´ an dadas por: wn (x) = wn (x0 )eL(x−x0 ) +
δ L(x−x0 ) e − 1) . L
El siguiente paso en la demostraci´on es mostrar que u(x) ≤ wn (x).
(VII.1.13)
Sup´ongase lo contrario, es decir que existe un n y s > x0 , tales que u(s) > wn (s). Consid´erese el conjunto A = {x > x0 |u(x) > wn (x)} y sea x1 = inf A. Por continuidad se tiene u(x1 ) = wn (x1 ). De donde: wn (x1 ) − wn (x0 ) = ≥
Z
Z
x1 x0 x1 x0
wn′ (s)ds
Z
x1
(Lwn (s) + δ)ds Z x1 (Lu(s) + δ)ds ≥ u′ (s)ds =
= u(x1 ) − u(x0 ),
x0
x0
300
VII Ecuaciones Diferenciales
por lo tanto w(x0 ) ≤ u(x0 ), llegando a una contradicci´on con −1/n ≥ 0.
Problemas con Valores en la Frontera La teor´ıa de existencia y unicidad de ecuaciones diferenciales son generalmente formuladas para problemas de Cauchy o problemas a valores iniciales, sin embargo existe una gran variedad de problemas diferenciales de otras caracter´ısticas que ser´ an tratados en esta subsecci´ on. Toda ecuaci´on diferencial puede expresarse como un sistema de ecuaciones diferenciales de primer orden de la manera siguiente y ′ = f (x, y),
(VII.1.14)
donde f : R × Rn → Rn . Un problema diferencial con valores en la frontera es darse una ecuaci´on diferencial del tipo (VII.1.14) con n condiciones para y(a) y y(b), donde a, b ∈ R. Existe una gama de problemas diferenciales con valores en la frontera. A continuaci´on se mostrar´ a los ejemplos m´as representativos. Ejemplos a) Problemas a valores iniciales. Son de la forma y ′ = f (x, y), y(x0 ) = y0 . Este tipo de problema tiene soluci´on u ´nica si f es continua y verifica las condiciones de Lipschitz. b) Consid´erese el problema y ′′ = y;
y(a) = A, y(b) = B.
La ecuacion diferencial de segundo orden puede reducirse al siguiente sistema de primer orden y1′ = y2 , y2′ = y1 ; con condiciones de borde dadas por y1 (a) = A y y1 (b) = B. Este problema siempre tiene soluci´on u ´nica cuando a 6= b.
301
VII.1 Generalidades
c) Encontrar una soluci´on T peri´odica de una ecuaci´on diferencial, por ejemplo y ′ = y + cos x. Es muy facil deducir que T = 2πk, con k entero. El problema es encontrar una soluci´on de la ecuaci´on diferencial que satisfaga y(x) = y(x + T ). d) Determinar el par´ametro λ ∈ Rp de la ecuaci´on y ′ = f (x, y, λ), donde la soluci´on buscada verifica y(a) = ya y g(y(a)) con g : Rn → Rp . Ahora bien, este problema puede expresarse como el problema diferencial equivalente y ′ = f (x, y, λ), λ′ = 0, con condiciones de frontera y(a) = ya , g(y(b)) = 0. e) Problemas a frontera libre, son de la forma y(0) = A, y(l) = B, y ′ (l) = 0;
y ′′ = f (x, y, y ′ );
con l desconocido. Este problema mediante una transformaci´on af´ın de x, puede expresarse de la siguiente forma z′ ′′ 2 z = l f lt, z, , l l′ = 0,
con condiciones de borde dadas por z(0) = A,
z(1) = B,
z ′ (1) = 0.
En base a los ejemplos expuestos m´as arriba, el problema diferencial con valores en la frontera puede expresarse como y ′ = f (x, y), r(y(a), y(b)),
(VII.1.15)
302
VII Ecuaciones Diferenciales
donde f : R × Rn → R y r : Rn × Rn → Rn . Por consiguiente la funci´on r en los diferentes ejemplos, ser´ a igual a: r(y(a), y(b)) = y(a) − ya y1 (a) y1 (b) y1 (a) − A r , = y2 (a) y2 (b) y1 (b) − B r(y(x0 ), y(x0 + T )) = y(x0 ) − y(x0 + T )
ejemplo a), ejemplo b), ejemplo c),
Introduciendo la notaci´on siguiente y(x, a, ya )
(VII.1.16)
para expresar la soluci´on y(x) que satisface y(a) = ya , el problema diferencial con condiciones en la frontera consiste en encontrar ya , tal que r(ya , y(b, a, ya )) = 0.
(VII1.17)
Definiendo la funci´on F : Rn → Rn por F (ya ) = r(ya , y(b, a, ya )),
(VII.1.18)
resumiendose el problema diferencial con valores en la frontera a encontrar ya tal que y ′ = f (x, y), (VII.1.19) F (ya ) = 0. Sup´ongase que y ∗ (x) sea una soluci´on de (VII.1.19), es decir ya∗ = y ∗ (a), adem´ as que F ′ (ya∗ ) sea inversible, por el teorema de la inversi´on local la ´nica y por consiguiente y ∗ (x) lo es tambi´en. soluci´on ya∗ es localmente u La ecuaci´on F (ya ) se resuelve generalmente por un m´etodo iterativo, si F no es lineal, se utiliza por ejemplo el m´etodo de Newton. Para poder aplicar el m´etodo de Newton es necesario conocer F ′ (ya ). Ahora bien, se tiene F ′ (ya ) =
∂r ∂r ∂y (ya , y(b, a, ya )) + (ya , y(b, a, ya )) (b, a, ya ). (VII.1.20) ∂ya ∂yb ∂ya
Diferenciabilidad respecto a los Valores Iniciales En la expresi´ on (VII.1.20) puede observarse que existe una expresi´ on que es derivada respecto al valor inicial ya . Retomando la notaci´on de la secci´on precedente se tiene y(x, x0 , y0 ) es la soluci´on que pasa por (x0 , y0 ) de la
303
VII.1 Generalidades
ecuaci´on diferencial y ′ = f (x, y), donde f : R × Rn → Rn . El problema consiste en determinar ∂y (x, x0 , y0 ). (VII.1.21) ∂y0 En el caso lineal, se tiene que la ecuaci´on diferencial es de la forma y ′ = A(x)y
(VII.1.22)
donde A(x) es una matriz de coeficientes (aij (x) continuos. La soluci´on general de (VII.1.22) est´ a dada por y(x, x0 , y0 ) =
n X
y(x, x0 , ei )y0i = R(x, x0 )y0
(VII.1.23)
i=1
donde los ei son los vectores de la base can´ onica de Rn . La matriz R(x, x0 ) se llama el nucleo resolvente o la resolvente de la ecuacion (VII.1.22). Es facil de verificar que ∂y (x, x0 , y0 ) = R(x, x0 ) (VII.1.24) ∂y0 Para el caso no lineal la situaci´on es un poco m´as complicada. Se tiene ∂y (x, x0 , y0 ) = f (x, y(x, x0 , y0 )) ∂x
(VII.1.25)
suponiendo que ∂y/∂y0 existe y el orden de derivaci´on conmuta, se obtiene ∂ ∂y ∂f ∂y (x, x0 , y0 ) = (x, y(x, x0 , y0 )) (x, x0 , y0 ) ∂x ∂y0 ∂y ∂y0 con
de donde
∂y (x0 , x0 , y0 ) = I, ∂y0 ∂y (x, x0 , y0 ) es la resolvente de la ecuaci´on diferencial lineal ∂y0 Ψ′ =
∂f (x, y(x, x0 , y0 ))Ψ. ∂y
(VII.1.26)
Shooting Simple Retomando el problema con valores en la frontera formulado bajo la forma de las ecuaciones (VII.1.18) y (VII.1.19) puede ser resuelto utilizando el m´etodo conocido como shooting simple, que en s´ıntesis es utilizar un m´etodo
304
VII Ecuaciones Diferenciales
n´ umerico para resolver (VII.1.19). Este m´etodo puede ser Newton u otro m´etodo num´erico adaptado al problema. Sin pretender dar una teor´ıa que justifique tal m´etodo, para tal efecto referirse a Stoer, se mostrar´ a este m´etodo implementado en ejemplos. Ejemplos a) Consid´erese el problema con valores en la frontera dado por: y ′′ = −ey ,
y(0) = 1, (VII.1.27) 1 y(1) = . 2 Utilizando la notaci´on de la subsecci´ on precedente, se plantea y(x, α), la soluci´on del problema diferencial a valores iniciales y ′′ = −ey ,
y(0) = 1, y ′ (0) = α.
(VII.1.27b)
El problema (VII.1.27) se traduce en encontrar α, tal que 1 . 2 En la figura VII.1.1, puede observarse en la gr´afica los valores de y(1) en funci´ on de α. y(1, α) =
2
y(1)
1
0 0
2
4
6
8
10 α
−1
Figura VII.1.1. Valores de y(1) en funci´on de α.
305
VII.1 Generalidades
Observando la gr´afica, se puede deducir que el problema (VII.1.27) tiene dos soluciones. El siguiente paso es aplicar el m´etodo del shooting simple, obteniendo de esta manera dos soluciones. La primera con α = 0.9708369956661049, la segunda soluci´on con α = 7.93719815816973. Puede apreciarse las graficas de las dos soluciones, en la figura (VII.1.2) 5
5
4
4
3
3
2
2
1
1
0
0
0
1
Figura VII.1.2. Soluciones del Problema (VII.1.26). b) En este ejemplo se analizar´ a un problema de soluciones peri´odicas. Consid´erese la ecuaci´on diferencial de Van der Pol, dada por y ′′ = (1 − y 2 )y ′ − y.
(VII.1.28)
El problema consiste en determinar si existe una soluci´on peri´odica y sobre todo c´ omo es ´esta. Ahora bien, (VII.1.28) puede escribirse como el sistema de ecuaciones diferenciales y1′ = y2 , y2′ = (1 − y12 )y2 − y1 .
(VII.1.29)
Planteando y(x) = (y1 (x), y2 (x)), el problema se resume en encontrar T > 0, tal que y(T ) = y(0), que puede formularse de la siguiente manera F (T, y0 ) = y(T, 0, y0 ) − y0 = 0.
(VII.1.30)
306
VII Ecuaciones Diferenciales Sup´ongase que T, y0 sean una aproximaci´on de la soluci´on del problema (VII.1.30), de donde F (T + ∆T, y0 + ∆y0 ) = 0, con ∆T , ∆y0 escogidos convenientemente. Desarrollando en serie de Taylor, se deduce: ∂F ∂F (T, y0 )∆T + (T, y0 )∆y0 = 0, ∂T ∂y0 ∂y y(T, 0, y0 ) − y0 + f (y(T, 0, y0 ))∆T + (T, 0, y0 ) − I ∆y0 = 0. ∂y0 F (T, y0 ) +
Por consiguiente, se tiene n ecuaciones lineales, con n + 1 incognitas, agregando la condici´ on suplementaria ∆y0 ⊥ f (y(T, 0, y0 )),
(VII.1.31)
se obtiene
∂y (T, 0, y0 ) − I ∂y0 t f (y(T, 0, y0 ))
f (y(T, 0, y0 )) 0
∆y0 ∆T
=−
y(T, 0, y0 ) − y0 . 0 (VII.1.32)
Partiendo de los valores iniciales y1 (0) = 1., y2 (0) = 2., T = 7.; luego de 14 iteraciones se obtiene con una precisi´ on del orden de 10−13 , los valores iniciales y el periodo y1 (0) = 2.00861986087296, y2 (0) = 0., T = 6.66328685933633. La soluci´on peri´odica de la ecuaci´on Van der Pol puede apreciarse en la
307
VII.1 Generalidades figura VII.1.3 3
2
1
−3
−2
−1
0 0
1
2
3
−1
−2
−3
Figura VII.1.3. Soluciones Periodica de Van der Pol.
Shooting M´ ultiple La soluci´on del problema con valores en la frontera y ′ = f (x, y),
r(y(a), y(b)) = 0,
requiere que para todo punto x de la regi´on donde est´ a definida la soluci´on y se tenga una aproximaci´on num´erica de y(x). En el m´etodo shooting descrito en la anterior subsecci´ on, solamente el valor inicial y(a) = yˆa es determinado. En muchos problemas es suficiente conocer este valor, sin embargo en una gran variedad de problemas con valores en la frontera conocer este valor no es nada fiable. Para ilustrar esto, consid´erese la ecuaci´on diferencial. y ′′ − y ′ + 110y = 0,
(VII.1.33)
cuya soluci´on general est´ a dada por y(x) = C1 e−10x + C2 e11x ,
(VII.1.34)
308
VII Ecuaciones Diferenciales
donde C1 y C2 son constantes reales arbitrarias. El problema a valor inicial y(0) = y0 y y ′ (0) = y0′ tiene como soluci´on y(x) =
11y0 − y0′ −10x y0′ + 10y0 11x e + e . 21 21
(VII.1.35)
Ahora bien, consid´erese el problema con valores en la frontera dado por y(0) = 1,
y(10) = 1;
la soluci´on de este problema consiste en determinar y0′ de la f´ormula (VII.1.35). Por consiguiente, resolviendo la ecuaci´on lineal 11 − y0′ −100 10 + y0′ 110 e + e = 1; 21 21 se obtiene y0′ =
21 − 10e110 − 11e−100 . e110 − e100
Debido a la aritm´etica de punto flotante que las computadoras poseen, en lugar de y0′ , se manipula la cantidad y¯0′ = −10(1 + ǫ), con |ǫ| ≤ eps.
(VII.1.36)
Suponiendo que los c´ alculos se hacen en doble precisi´ on, se puede tomar por ejemplo ǫ = 10−16 . Remplazando y0′ en (VII.1.35), se obtiene y(100) ≈
10−15 110 e ≈ 2.8 × 1031 . 21
Otra de las dificultades mayores en la implementaci´on del m´etodo shooting en su versi´on simple, es la necesidad de contar con una buena aproximaci´on de ya , lo que en general no sucede. Por otra lado, los valores que pueden tomar los ya , en muchas situaciones, est´ an confinados a regiones demasiado peque˜ nas; por ejemplo considerese el problema y ′′ = y 3 , y(0) = 1, y(100) = 2;
(VII.1.37)
los valores que puede tomar y ′ (0), para que y(x) est´e definida en el intervalo [0, 100], est´ an restringidos a un intervalo de longitudo no mayor a 10−6 . Por este motivo puede deducirse la dificultad de implementar el m´etodo shooting simple.
VII.1 Generalidades
309
El remedio a estas dificultades enumeradas m´as arriba est´ a en la implementaci´on del m´etodo shooting m´ ultiple, que consiste en subdividir el intervalo [a, b] en subintervalos de extremidades xi , es decir tomar una subdivisi´on a = x0 < x1 · · · < xn = b. Luego, se denota por yi = y(xi ). De esta manera se obtiene el sistema de ecuaciones y(x1 , x0 , y0 ) − y1 = 0 y(x2 , x1 , y1 ) − y2 = 0 .. (VII.1.38) . y(xn , xn−1 , yn−1 ) = 0 r(y0 , yn ) = 0. La soluci´on de (VII.1.38) se la encuentra utilizando un m´etodo iterativo, que puede ser Newton si el problema no es lineal. Como ilustraci´ on de este M´etodo se tiene los siguientes dos ejemplos. Ejemplos a) Consid´erese el problema (VII.1.37). Para su resoluci´on se ha subdividido equidistantemente en 100 subintervalos. La soluci´on del sistema (VII.1.38) se la hecho utilizando el m´etodo de Newton. Las iteraciones y las gr´aficas pueden apreciarse en la figura VII.1.4.
310
VII Ecuaciones Diferenciales
3
iter=0
2 1 0
0
20
40
60
3
80
100
iter=1
2 1 0
0
20
40
60
3
80
100
iter=2
2 1 0
0
20
40
60
3
80
100
iter=3
2 1 0
0
20
40
60
3
80
100
iter=4
2 1 0
0
20
40
60
3
80
100
iter=11
2 1 0
0
20
40
60
80
100
Figura VII.1.4. Implementaci´on M´ ultiple Shooting. b) Este ejemplo est´ a relacionado con un problema ingen´ıeril. Un granjero desea un silo cuya base sea un c´ırculo de radio 5 m, de altura 10 m y el techo sea un c´ırculo de radio 2.5 m, la capacidad del silo debe ser exactamente de 550 m3 . Suponiendo que el costo es proporcional al ´area del silo. ¿C´ ual es la forma de ´este? Matem´ aticamente el problema puede ser formulado como: area lateral −→ min, v´olumen = 550. Por la simetr´ıa del problema, se puede deducir que el silo es una superficie de revoluci´on, por lo tanto el problema puede expresarse de la manera
311
VII.1 Generalidades siguiente: Encontrar una funci´on y(x), tal que
Z
10
y
0
p 1 + y ′2 dx −→ min, π
Z
10
y 2 dx = 550,
0
y(0) = 5, y(10) = 2.5.
Planteando L(λ, y, y ′ ) = y
p 55 1 + y ′2 − λ y 2 − , π
el problema es equivalente, por los Multiplicadores de Lagrange a Z
0
10
L(λ, y, y ′ )dx → min .
Este problema es de tipo variacional. Aplicando las ecuaciones de EulerLagrange se convierte en el problema diferencial siguiente
d dx
∂ ∂y ′
p 55 2 ′2 y 1 + y − λ(y − − π p ∂ 55 2 ′2 y 1 + y − λ(y − ) = 0. ∂y π
La soluci´on de este problema ha sido efectuada utilizando el m´eto de shooting m´ ultiple. Como soluci´on inicial se ha utilizado una par´abola que satisfaga las condiciones de contorno y la condici´ on de v´olumen. El intervalo [0, 10] ha sido subdivido en 10 subintervalos de igual longitud. Despues de 5 iteraciones se llega a una precisi´ on de 10−10 . Las iteraciones
312
VII Ecuaciones Diferenciales del m´etodo pueden apreciarse en la figura VII.1.5. 8 7 6 5 4 3 2 1 0 0 8 7 6 5 4 3 2 1 0 0 8 7 6 5 4 3 2 1 0 0
iter=0
10
iter=2
10
iter=4
10
8 7 6 5 4 3 2 1 0 0 8 7 6 5 4 3 2 1 0 0 8 7 6 5 4 3 2 1 0 0
iter=1
10
iter=3
10
iter=5
10
Figura VII.1.4. Determinaci´ on del Silo ´optimo. A continuaci´on se presenta una serie de ejercicios, cuya finalidad es recordar las nociones b´ asicas sobre las ecuaciones diferenciales.
Ejercicios 1.- Resolver:
p y ′ = −x signo(y) |x|, y ′ = exp(y) sin(x), y ′ = (x − y + 3)2 .
Dibujar los campos de vectores. 2.- Dibujar el campo de vectores de la ecuaci´on xy ′ =
p x2 − y 2 + y.
313
VII.1 Generalidades Encontrar una f´ormula explicita para las soluciones. 3.- La ecuaci´on de un cuerpo en caida libre est´ a dada por r ′′ = −
γM , r2
r ′ (0) = v0 .
r(0) = R,
(VII.1.39)
Plantear r ′ = p(r), deducir una ecuaci´on diferencial para p y resolverla. Encontrar una condici´ on para v0 , tal que r(t) → ∞ si t → ∞. Calcular las soluciones de (VII.1.39) que tienen la forma a(b ± x)α . 4.- Transformar la ecuaci´on de Bernoulli y′ +
y + (1 + x)y 4 = 0, 1+x
en una ecuaci´on lineal. Plantear y(x) = z(x)q con q conveniente. 5.- Resolver la ecuaci´on de Riccati y ′ = y 2 + 1 − x2 .
(VII.1.40)
Dibujar el campo de vectores considerando las curvas donde y ′ = cons, las isoclinas. Deducir una soluci´on particular φ(x) de (VII.1.40). Calcular las otras soluciones mediante la transformaci´on z(x) = y(x) − φ(x). 6.- Encontrar la soluci´on de ′′
′
y − 3y − 4y = g(x),
g(x) =
cos x, 0,
0 ≤ x ≤ π/2; π/2 ≤ x;
que satisface y(0) = y ′ (0) = 0. 7.- Resolver las ecuaciones lineales 3 6 ′ y = y, −2 −3
′
y =
1 4
−1 −3
.
VII.2 M´ etodo de Euler
En esta secci´on ser´ a estudiado el m´etodo m´as sencillo de resoluci´on de ecuaciones diferenciales con valores iniciales. Se considera el problema a valor inicial o problema de Cauchy dado por ( y ′ = f (x, y), (VII.2.1) y(t0 ) = y0 , donde f : V → Rn continua, con V ⊂ R × Rn . Se desea determinar y(t0 + T ), para eso se considera la subdivisi´on del intervalo [t0 , t0 + T ] dada por t0 < t1 < t2 < · · · < tn = t0 + T, definiendo hi = xi+1 − xi ,
i = 0, . . . , n − 1.
(VII.2.2)
La idea fundamental del m´etodo de Euler consiste en aproximar la soluci´on exacta en x1 , utilizando una tangente que pase por (x0 , y0 ), es decir y1 = y0 + h0 f (x0 , y0 ).
(VII.2.3)
xi+1 = xi + hi , yi+1 = yi + hi f (xi , yi ).
(VII.2.4)
De manera general
La soluci´on num´erica proporcionada por el m´etodo de Euler es, por consiguiente una funci´on poligonal, ver figura VI.2.1, denotada por yh (x), llamada pol´ıgono de Euler; esta funci´on esta definida por: h = (h0 , . . . , hn ), ( x ∈ [xk , xk+1 ],
yh (x) = yk + (x − xk )f (xk , yk ).
y1 y0
y2 y3
y4 y5
y6 y(x)
x1
x2 x3
x4
x5
x6
Figura VII.2.1. El Pol´ıgono de Euler
(VII.2.5)
VII.2 M´ etodo de Euler
315
Una pregunta muy natural, que uno puede plantearse, consiste en determinar bajo que condiciones el m´etodo de Euler converge hacia la soluci´on exacta del problema diferencial de Cauchy, cuando n → ∞. Consid´erese el problema y ′ = f (x, y), y(x0 ) = y0 ,
(VII.2.6)
donde f : U → Rn , con U ⊂ R × Rn abierto. Se define |h| =
max
i=0,...,n−1
hi .
(VII.2.7)
Proposici´ on VII.2.1.- Sea D = {(x, y)|x ∈ [x0 , x0 + a], ky − y0 k ≤ b} ⊂ U. Sup´ongase que f |{D continua, A = max kf (x, y)k, α = min(a, b/A). (x,y)∈D
Entonces para cada divisi´on h del intervalo [x0 , x0 + α] se tiene: a) kyh (x) − yh (¯ x)k ≤ A kx − x ¯k; x, x ¯ ∈ [x0 , x0 + α]. b) si kf (x, y) − f (x0 , y0 )k ≤ ǫ sobre D, entonces kyh (x) − (y0 + (x − x0 )f (x0 , y0 ))k ≤ ǫ |x − x0 | . Demostraci´ on.-El punto a) es trivial, ya que es consecuencia de la definici´on de yh , A y la desigualdad del tri´angulo aplicada una cantidad finita de veces. La demostraci´on del punto b) es la siguiente. Sea x ∈ [x0 , x0 + α], por consiguiente x ∈ [xk−1 , xk ], de donde yh (x) = yk + (x − xk−1 )f (xk−1 , yk−1 ) = y0 + h0 f (x0 , y0 ) + h1 f (x1 , y1 ) + · · · + hk−2 f (xk−2 , yk−2 ) + (x − xk−1 )f (xk−1 , yk−1 ). Ahora bien, y0 + (x − x0 )f (x0 , y0 ) = y0 + h0 f (x0 , y0 ) + . . . hk−2 f (x0 , y0 ) + (x − xk−1 )f (xk−1 , yk−1 ), obteniendo finalmente b).
Proposici´ on VII.2.2.- Sea h una divisi´on del intervalo I. Sean yh (x) el pol´ıgono de Euler para (x0 , y0 ) y zk (x) el pol´ıgono de Euler para (x0 , z0 ). Si kf (x, y) − f (x, z)k ≤ L ky − zk ,
∀(x, y), (x, z) ∈ D;
(VII.2.8)
entonces kyh (x) − zh (x)k ≤ kx0 − z0 k eL(x−x0 ) .
(VII.2.9)
316
VII Ecuaciones Diferenciales
Antes de demostrar esta proposici´ on vale la pena recalcar que si f satisface una condici´ on de Lipschitz, es decir (VII.2.8), el pol´ıgono de Euler es u ´nico paa h dado. Demostraci´ on.- Se tiene: y1 = y0 + h0 f (x0 , y0 ), z1 = z0 + h0 f (x0 , z0 ), obteniendo como desigualdad ky1 − z1 k ≤ ky0 − z0 k + h0 L ky0 − z0 k ≤ (1 + h0 L) ky0 − z0 k ≤ eh0 L ,
procediendo de manera recursiva, se obtiene kyk − zk k ≤ eLhk−1 kyk−1 − zk−1 k ≤ eL(x−x0 ) ky0 − z0 k .
Teorema VII.2.3.- Cauchy. Sea D = {(x, y)|x0 ≤ x ≤ x0 + a, ky − y0 k} ⊂ U; sup´ ongase: i) f |D continua, A = max kf (x, y)k, α = min(a, b/A), (x,y)∈D
ii) kf (x, y) − f (x, z)k ≤ L ky − zk si (x, y), (x, z) ∈ D; entonces: a) Si |h| → 0, entonces los pol´ıgonos de Euler yh (x) convergen uniformemente sobre [x0 , x0 + α] hacia una funci´on ϕ(x). b) ϕ(x) es soluci´on de y ′ = f (x, y), y(x0 ) = y0 . c) La soluci´on es u ´nica sobre [x0 , x0 + α]. Demostraci´ on.- Inicialmente se mostrar´ a, que si hk es una sucesi´on de subdivisiones de [x0 , x0 + α] con |hk | → 0, entonces la sucesi´on de poligonos de Euler asociada, es una sucesi´on de Cauchy para la norma de la convergencia uniforme. Para tal efecto, se mostrar´ a que ˆ ∀ǫ > 0∃δ > 0 tal que |h| < δ, h <δ
=⇒ ∀x ∈ [x0 , x0 + α] se tiene yh (x) − yhˆ (x) < ǫ.
ˆ una divisi´on m´as fina que h. donde h es una divisi´on con |h| < δ y h
VII.2 M´ etodo de Euler
317
Sea ǫ > 0 dado, entonces existe δ > 0 tal que si |x − x ¯| ≤ δ y ky − y¯k ≤ Aδ implica que kf (x, y) − f (¯ x, y¯)k ≤ ǫ. Esto es cierto por que f es uniformemente continua sobre D. Por la proposici´ on VII.2.1, se tiene kyh (x) − {y0 + (x − x0 )f (x0 , y0 )}k ≤ ǫ |x − x0 | , de donde i h
yh (x) − yˆ (x) ≤ ǫ (x1 − x0 )eL(x−x1 ) + · · · + (x − xk )eL(x−xk ) h Z x eL(x−x0 ) − 1 eL(x−s) ds = ǫ ≤ L x0 ≤ǫ
eLα − 1 , L
por consiguiente, {yh (x)} es una sucesi´on de Cauchy, con δ que no depende de x. Como consecuencia inmediata, se tiene que la sucesi´on converge hacia una funci´ on ϕ(x) que adem´ as es continua. La demostraci´on del punto b) se basa en los siguientes hechos: yh (x0 ) = y0 implica que ϕ(x0 ) = y0 , se considera el m´odulo de continuidad de f , definido por ǫ(δ) = sup{kf (x, y) − f (¯ x, y¯)k | |x − x ¯| ≤ δ, ky − y¯k ≤ Aδ}, se observa inmediatamente, que ǫ(δ) → 0 si δ → 0. Utilizando la proposici´ on VII.2.2, se obtiene kyh (x + δ) − yh (x) − δf (x, yh (x))k ≤ δǫ(δ), de donde, se tiene kϕ(x + δ) − ϕ(x) − δf (x, ϕ(x))k ≤ δǫ(δ), efectuando el pasaje al l´ımite, se obtiene ϕ′ (x) = f (x, ϕ(x)). La unicidad del punto c) ha sido ya demostrada en el corolario VII.1.12 Corolario VII.2.4.- f : U → Rn (U ⊂ ×Rn ) continuamente diferenciable. D = {(x, y)|x0 ≤ x ≤ x0 + α, ky − y0 k ≤ b} ⊂ U.
318
VII Ecuaciones Diferenciales
∂f
≤ L, ∂f (x, y) ≤ M . (x, y) Sobre D se tiene kf (x, y)k ≤ A,
∂x
∂y Entonces M + AL L(x−x0 ) e − 1 |h| , (VII.2.10) ky(x) − yh (x)k ≤ L donde y(x) es soluci´on de y ′ = f (x, y), y(x0 ) = y0 .
Demostraci´ on.- Remontando la demostraci´on del teorema precedente, se tiene eL(x−x0 ) − 1 kyh (x) − y(x)k ≤ ǫ . L Puesto que f es diferenciable, se tiene kf (x, y) − f (¯ x, y¯)k ≤ L ky − y¯k + M |x − x ¯| ≤ A |h| + |h| , de donde planteando ǫ = (LA + M ) |h| se tiene (VII.2.10).
Efectos de los Errores de Redondeo Generalmente no se puede calcular la soluci´on exacta del esquema (VII.2.4); se calcula solamente la soluci´on del esquema perturbado dado por ∗ yn+1 = yn∗ + hn f (tn , yn∗ ) + hn µn + ̺n
(VII.2.11)
donde µn designa el error con el cual es calculado la funci´on f y ̺n los errores de redondeo cometidos por la computadora. Se supondr´ a que |µn | ≤ µ y |̺n | ≤ ̺. Con la hip´otesis suplementaria que f es continuamente diferenciable, como en en el corolario VII.2.4, se tiene planteando en = yn∗ − yn y sustrayendo (VII.2.11) con (VII.2.4), e∗n+1 = e∗n + hn [f (tn , yn∗ ) − f (tn , yn )] + hn µn + ̺n .
(VII.2.12)
Puesto que f es diferenciable, se obtiene de (VII.2.12) el siguiente esquema e∗n+1 = e∗n + hn [
∂f 2 (tn , yn )e∗n ] + hn µn + ̺n + O(ke∗n k ). ∂y
(VII.2.13)
2
Planteando zn = hn e∗n , despreciando O(ke∗n k ) y suponiendo que hn = h constante, se obtiene el siguiente esquema para zn , con zn+1 = zn + h[
∂f (tn , yn )zn ] + h(hµn + ̺n ), ∂y
(VII.2.14)
VII.2 M´ etodo de Euler
319
de donde zn es la soluci´on num´erica exacta obtenida a partir del m´etodo de Euler de la ecuaci´on z ′ (t) = [
∂f (t, y(t))]z(t) + (hµ(t) + ̺(t)). ∂y
(VII.2.15)
En lugar de estudiar la soluci´on num´erica de (VII.2.15), se estudiar´ a la soluci´on de este problema cuando h tiende a 0. Qualquier soluci´on de la ecuaci´on diferencial (VII.2.15) no puede ser identicamente nula por la existencia del t´ermino no homogeneo no nulo, para h suficientemente peque˜ no este t´ermino no homogeneo es no nulo. Sea C = max kz(t)k cuando h = 0, por otro lado denotando zh (t) la soluci´on de (VII.2.15) para un h fijo, se tiene que zh (t) converge uniformente hacia z0 (t) cuando h tiende a 0. Por lo tanto, existe un intervalo cerrado J ⊂ [t0 , t0 + T ] y h0 para los cuales kzh (t)k ≥
C 2
∀t ∈ J, ∀h ≤ h0 .
Puesto que e∗n ≈ z(tn )/h, se tiene que lim e∗n = ∞.
h→0
Error
Acaba de observarse que cuando la longitud de paso hn tiende a 0, el error debido al redondeo toma un lugar preponderante, distorsionando completamente cualquier resultado num´erico. En la figura VII.2.2 puede verse un comportamiento aproximado del error de redondeo en funci´on de h.
h
Figura VII.2.2. Error de Redondeo en el M´etodo de Euler. La pregunta natural que surge es: ¿C´ ual es el h m´ınimo que se puede tomar sin que el error de redondeo sea preponderante? La respuesta a esta
320
VII Ecuaciones Diferenciales
pregunta tiene dos fuentes, la primera que radica en la pr´ actica num´erica, y la segunda en un an´alisis sobre el origen de los otros errores que ocurren durante la implementaci´on del m´etodo. Ambos estudios llegan a la conclusi´ on de √ hmin ≥ C eps, (VII.2.16) donde eps es la precisi´ on de la computadora. Las mayoraciones que se acaban de dar son por lo general demasiado pesimistas, por ser rigurosos matem´aticamente, uno se situa en la situaci´on m´as desfavorable posible. Por otro lado si se toma h muy peque˜ no, inferior a eps, el algoritmo se mantiene estacionario.
Estabilidad del M´ etodo de Euler En la anterior subsecci´ on se pudo observar la incidencia directa del error de redondeo. En esta parte se analizar´ a la propagaci´on del error de redondeo en la soluci´on num´erica. Consid´erese el problema siguiente y ′ = λy,
y(0) = y0 .
(VII.2.17)
El m´etodo de Euler con paso constante, da el siguiente esquema yn+1 = yn + hλyn ,
(VII.2.18)
sup´ ongase que en lugar de y0 , se introduce una aproximaci´on y¯0 , planteando en = y¯n − yn donde y¯n es la soluci´on num´erica de la ecuci´on (VII.2.17) con valor inicial y¯0 . Los en verifican la siguiente relaci´on: en+1 = en + hλen ,
e0 = (¯ y0 − y0 ),
de donde en = (λh + 1)n e0 .
(VII.2.19)
Por consiguiente, el esquema (VII.2.17) ser´ a estable siempre y cuando lim en = 0,
n→∞
situaci´on que sucede cuando |λh + 1| < 1. Por consiguiente, para obtener un m´etodo estable es necesario que hmax =
2 . |λ|
(VII.2.20)
Por lo expuesto en la anterior subsecci´ on y en ´esta, se tiene necesariamente que la longitud de paso est´ a acotada inferiormente e superiormente. La cota inferior impide que el error de redondeo distorsione completamente
VII.2 M´ etodo de Euler
321
la soluci´on num´erica del problema, mientras que la cota superior en los problemas lineales impide que el m´etodo diverga. La idea de estabilidad puede generalizarse a problemas diferenciales lineales de mayor dimensi´on. Por ejemplo, consid´erese el problema y ′ = Ay,
y(0) = y0 .
Con el procedimiento utilizado anterioremente e introduciendo normas en los lugares apropiados es facil mostrar que el m´etodo de Euler es estable si ρ(A + I)h < 1,
(VII.2.21)
donde ρ(A + I) es el radio espectral de la matriz A + I. Planteando z = λh, se tiene estabilidad en el m´etodo, si y solamente si |z + 1| < 1. De donde, se tiene definida una regi´on de estabilidad, dada en la figura VII.2.3, la parte achurada del c´ırculo corresponde a la regi´on donde el m´etodo es estable.
i
1
−1
−i
Figura VII.2.3. Regi´on de Estabilidad del M´etodo de Euler El siguiente ejemplo ilustra, que el m´etodo de Euler no es un m´etodo muy apropiado para resolver ciertos problemas diferenciales a valor inicial. Consid´erese, el problema y ′ (x) = −100y(x) + cos x, y(0) = 0.
(VII.2.22)
La soluci´on de este problema, est´ a dada por y(x) =
1 100 cos x + sin x + Ce−100x , 10001 10001
con C una constante determinada por la condici´ on inicial. Puede observarse que para x = π, se tiene y(π) ≈ −
100 ≈ −0, 01. 10001
(VII.2.23)
322
VII Ecuaciones Diferenciales
Aplicando el m´etodo de Euler con paso constante se tiene: π → yh (π) = −9.999 × 10−3 , 165 π → yh (π) = −60.101. h2 = 155 h1 =
No obstante que h2 − h1 ≈ 1.2 × 10−3 , la diferencia de los resultados es abismal. La explicaci´on de este fen´ omeno de inestabilidad ha sido explicado m´as arriba. El problema dado por (VII.2.22) est´ a dentro una categor´ıa de problemas diferenciales conocidos con el nombre de ecuaciones diferenciales rigidas, ver Hairer & Wanner. Para evitar aberraciones en los resultados num´ericos en la resoluci´on num´erica de esta clase de problemas, el m´etodo de Euler puede modificarse, obteniendo as´ı el:
M´ etodo de Euler Impl´ıcito En lugar de utilizar el esquema dado por (VII.2.4); el m´etodo de Euler impl´ıcito, est´ a dado por el esquema yk+1 = yk + hk f (xk+1 , yk+1 ).
(VII.2.24)
Puede observarse inmediatamente, que para determinar yk+1 se debe resolver una ecuaci´on, que en lo general no es lineal. Comparando con la versi´on expl´ıcita del m´etodo de Euler, ´esto constituye una dificultad adicional, pues para evaluar yk+1 debe utilizarse un m´etodo de resoluci´on de ecuaciones, como ser el m´etodo de Newton. Puede mostrarse, ver Hairer & Wanner, que si hk es lo suficientemente peque˜ no, la convergencia del m´etodo de Newton, o de otro m´etodo de resoluci´on est´ a asegurada. Se ha expuesto la desventaja principal del m´etodo de Euler impl´ıcito, respecto al m´etodo de Euler expl´ıcito. A continuaci´on se expondr´ a la principal motivaci´on de utilizar la versi´on impl´ıcita en determinadas situaciones. La principal desventaja del m´etodo de Euler expl´ıcito en radica en la falta de estabilidad cuando h no es los suficientemente peque˜ no, ver el ejemplo en el cual para 2 pasos muy proximos, las soluciones numericas del problema (VII.2.22) difieren de manera significativa. El an´alisis de estabilidad del m´etodo de Euler impl´ıcito es muy similar a la del m´etodo de Euler expl´ıcito, en efecto considerando el problema (VII.2.18), se tiene que el m´etodo impl´ıcito satisface la siguiente relaci´on recursiva para el error en+1 = en + λhen+1 ,
(VII.2.25)
de donde, se obtiene de manera expl´ıcita en+1 =
1 en , 1 − λh
(VII.2.26)
VII.2 M´ etodo de Euler
323
teniendo de esta manera estabilidad en la propagaci´on de los errores de redondeo, si y solamente si |1 − λh| > 1.
(VII.2.27)
|z − 1| > 1,
(VII.2.28)
′
Para los problemas de la forma y = Ay, (VII.2.27) y remplazando z = λh, se obtiene el dominio de estabilidad dado por el cual est´ a dado en la figura VII.2.3.
1
Figura VII.2.3. Regi´on de Estabilidad del M´etodo de Euler Impl´ıcito.
Ejercicios 1.- Aplicar el m´etodo de Euler al problema y′ = y2 ,
y(0) = 1.
Evaluar y(1/4). Utilizar pasos constantes, (por ejemplo h=1/6). Estimar el error con el corolario VII.2.4. Comparar esta estimaci´on con el error exacto. 2.- Demostrar el resultado siguiente: Si el problema y ′ = f (x, y), n
y(x0 ) = y0 , n
con f : U → R continua, U ⊂ ×R abierto y (x0 , y0 ) ∈ U posee una y una sola soluci´on sobre el intervalo I, entonces los pol´ıgonos de Euler yh (x) convergen uniformemente sobre I hacia esta soluci´on. 3.- Aplicar el m´etodo de Euler al sistema y1′ = −y2 , y1 (0) = 1, y2 (0) = 0. y2′ = y1 , Utilizar pasos constantes para encontrar una aproximaci´on de la soluci´on en el punto x = 0.4. Estimar el error como en el ejercicio 1 y compararla con el error exacto. La soluci´on exacta es y1 (x) = cos x, y2 (x) = − sin x.
VII.3 M´ etodos de Runge-Kutta
En la anterior secci´on se formul´o el m´etodo de Euler en su versi´on expl´ıcita como en su versi´on impl´ıcita. Uno de los grandes problemas con el cual se debe confrontar en la utilizaci´ on de este m´etodo, consiste en la falta de precisi´ on de ´este, ver el corolario VII.2.4, motivo por el cual, los pasos de integraci´on deben ser demasiado peque˜ nos, induciendo de esta manera grandes perturbaciones debido al error de redondeo. En esta secci´on se pretende construir m´etodos cuya precisi´ on sea m´as elevada, permitiendo as´ı menos evaluaciones y una menor incidencia del error de redondeo en los c´ alculos. Se estudiar´ a los m´etodos conocidos como m´etodos a un paso, en contraposici´ on a los m´etodos multipasos que ser´ an tratados en la siguiente secci´on. Se pretende calcular una aproximaci´on de la soluci´on de y ′ = f (x, y),
y(x0 ) = y0 ,
(VII.3.1)
sobre el intervalo [x0 , xe ]. Se procede como sigue: De la misma manera que en el m´etodo de Euler, se particiona [x0 , xe ] en subintevalos x0 < x1 < · · · < xN = xe , se denota hn = xn+1 − xn y se calcula yn ≈ y(xn ) por una f´ormula de la forma yn+1 = yn + hn Φ(hn , xn , yn ). (VII.3.2) Una tal f´ormula se llama m´etodo a un paso, por que el c´ alculo de yn+1 utiliza los valores de hn , xn , yn de un paso solamente. Puede observarse facilmente que el m´etodo de Euler corresponde bien a esta categor´ıa de m´etodos a un paso. Vale la pena recalcar que los m´etodos de la forma (VII.3.2) no solamente son m´etodos a un paso, si no que tambi´en expl´ıcitos. Para saber m´as referirse a Hairer & Wanner. Para simplificar la notaci´on, solamente se considerar´ a el primer paso, es decir cuando n = 0 en (VII.3.2) y escribir h en lugar de h0 . Para obtener otros m´etodos num´ericos se integra (VII.3.1) de x0 a x0 +h. La expresi´ on que se obtiene, est´ a dada por y(x0 + h) = y0 +
Z
x0 +h
f (t, y(t))dt.
(VII.3.3)
x0
La idea central consiste en remplazar la integral de (VII.3.3) por una expresi´ on que la aproxime. Por ejemplo, si se utiliza h(f (x0 , y0 )) como aproximaci´on se tiene el m´etodo de Euler Expl´ıcito. Por consiguiente, la idea ser´ a utilizar f´ormulas de cuadratura que tienen un orden m´as elevado.
VII.3 M´ etodos de Runge-Kutta
325
Como ejemplo de la utilizaci´ on de este ingenioso argumento, se tiene el m´etodo de Runge. Se toma la f´ormula del punto medio que es una f´ormula de cuadratura de orden 2. Obteniendo as´ı y(x0 + h) ≈ y0 + hf
h h x0 + , y(x0 + ) , 2 2
(VII.3.4)
obteniendo posteriormente el valor desconocido y(x0 + h/2) mediante el m´etodo de Euler. Esto da h h y1 = y0 + hf x0 + , y0 + f (x0 , y0 ) . 2 2
(VII.3.5)
La interpretaci´on geom´etrica del m´etodo de Runge, ver figura VII.3.1, consiste en hacer pasar una recta tangente por el punto m´edio de las curvas integrales de la ecuaci´on diferencial, obteniendo este punto medio mediante una tangente que sale de (x0 , y0 ). Ver la figura VII.3.1.
x0
x0 +h/2
x 0 +h
Figura VII.3.1 M´etodo de Runge Kutta en 1901, generaliz´ o la idea de Runge, conduciendo a la definici´on siguiente de los m´etodos que llevan sus nombres. Definici´ on VII.3.1.- Un m´etodo de Runge-Kutta a s pisos, est´ a dada por: k1 = f (x0 , y0 ), k2 = f (x0 + c2 h, y0 + ha21 k1 ), k3 = f (x0 + c3 h, y0 + h(a31 k1 + a32 k2 )), .. . ks = f (x0 + cs h, y0 + h(as1 k1 + · · · + as,s−1 ks−1 )); y1 = y0 + h(b1 k1 + · · · + bs ks );
(VII.3.6)
326
VII Ecuaciones Diferenciales
donde los ci , aij , bj son coeficientes. El m´etodo se representa por el esquema c1 = 0 c2
a21
c3 .. .
a31 .. .
a32 .. .
..
cs
as1
as2
· · · as,s−1
b1
b2
···
(VII.3.7)
.
bs−1
bs
Los m´etodos de Euler, como tambi´en los m´etodos de Runge y Heun est´ an dados en la tabla III.3.1 Tabla III.3.1. Primeros m´etodos de Runge-Kutta 0 0 0
1/2 1
1/2 0
Euler
1/3
1/3
2/3
0
2/3
1/4
0
1
Runge
3/4
Heun
Por razones de cuadratura, se supondr´ a siempre que los ci satisfacen siempre c1 = 0,
ci =
i−1 X
aij , i = 2, . . . , s.
(VII.3.8)
j=1
La definici´on de orden de cuadratura para las f´ormulas de cuadratura, puede extenderse a los m´etodos de Runge-Kutta de la siguiente manera. Definici´ on VII.3.2.- Se dice que el m´etodo de Runge-Kutta dado por (VII.3.6) tiene el orden p si, para cada problema y ′ = f (x, y), y(x0 ) = y0 con f suficientemente derivable, el error despu´es de un paso satisface y1 − y(x0 + h) = O(hp+1 ),
cuando h → 0.
(VII.3.9)
La diferencia (VII.3.9) se llama error local del m´etodo. El m´etodo de Euler es un m´etodo de orden 1, por que y(x0 + h) = y0 + hy ′ (x0 ) + O(h2 ) = y0 + hf (x0 , y0 ) + O(h2 ) = y1 + O(h2 ).
VII.3 M´ etodos de Runge-Kutta
327
El m´etodo de Runge est´ a basado sobre la f´ormula del punto medio que es una f´ormula de cuadratura de orden 2: y(x0 + h) = y0 + hf (x0 + h/2, y(x0 + h/2)) + O(h3 ). Remplazando y(x0 + h/2) por el valor y0 + (h/2)f (x0 , y0 ) del m´etodo de Euler, se agrega un t´ermino de tama˜ no O(h3 ). Entonces, este m´etodo tiene orden p = 2. El m´etodo de Heun, ver tabla VII.3.1, se obtiene a partir de la f´ormula de cuadratura h 2h 2h y(x0 + h) = y0 + f (x0 , y0 ) + 3f x0 + , y(x0 + ) + O(h4 ), 4 3 3 si se remplaza y(x0 + 2h/3) por la aproximaci´on del m´etodo de Runge. De donde el m´etodo de Heun tiene el orden p = 3. Utilizando la suposici´ on (VII.3,8) que es una condici´ on simplificadora, se tiene la siguiente proposici´ on. Proposici´ on VII.3.3.- La condici´ on (VII.3.8) implica que es suficiente considerar problemas aut´onomos de la forma y ′ = f (y) para verificar la condici´ on de orden. Demostraci´ on.- Se supone que (VII.3.9) es satisfecha para los problemas autonomos de la forma y ′ = F (y), y(x0 ) = y0 . Consid´erese un problema de la forma y ′ = f (x, y), y(x0 ) = y0 , el cual es equivalente al problema y˙ = f (x, y), x˙ = 1, obteniendo as´ı ′
Y = F (Y ),
y(0) = y0 , x(0) = 0,
1 x , F (Y ) = Y = f (x, y), y
donde
(VII.3.10)
con valor inicial Y0 = (x0 , y0 )t . La aplicaci´ on del m´etodo de Runge-Kutta al problema (VII.3.10) da s i−1 X X 1 x1 , Y1 = Y0 + h bi Ki = , aij Kj = Ki = F Y0 + h ki y1 i=1
j=1
lo que es equivalente a (VII.3.6), por que Y0 + h
i−1 X j=1
aij Kj =
x0 y0
+h
i−1 X j=1
aij
1 kj
=
x0P + ci h i−1 y0 + h j=1 aij kj
.
328
VII Ecuaciones Diferenciales
El siguiente paso, es de estudiar un procedimiento que permita determinar m´etodos de Runge-Kutta de ordenes m´as elevados. Un buen ejercicio ser´ a construir el m´etodo de Kutta que es de orden 4.
Construcci´ on de un m´ etodo de orden 4 La idea principal de la construcci´on del m´etodo de Runge, es considerar los desarrollos en serie de Taylor de la soluci´on exacta y(x0 +h), como tambi´en de la soluci´on num´erica obtenida a partir del m´etodo, que se la denota por y1 (h). Luego comparar las series, para obtener condiciones sobre los coeficientes del m´etodo. Serie de Taylor de la soluci´ on exacta Consid´erese el problema de Cauchy y ′ = f (y),
y(x0 ) = y0 .
(VII.3.11)
derivando la ecuaci´on (VII.3.11), se obtiene para la soluci´on exacta y ′′ =fy′ y ′ = fy′ f (y) y ′′′ =fy′′ (y ′ , f (y)) + fy′ fy′ y ′ = fy′′ (f (y), f (y)) + fy′ fy′ f (y) y (4) =fy′′′ (f (y), f (y), f (y)) + 3fy′′ (fy′ f (y), f (y) + fy′ fy′′ (f (y), f (y)) + fy′ fy′ fy′ f (y), de donde la serie de Taylor de la soluci´on exacta est´ a dada por y(x0 + h) = y0 + hf (y0 ) + + +
h2 ′ f f (y0 ) 2! y
h3 ′′ fy (f (y0 ), f (y0 )) + fy′ fy′ f (y0 ) 3! fy′′′ (f (y), f (y), f (y)) +
(VII.3.12)
3fy′′ (fy′ f (y), f (y)
+ fy′ fy′′ (f (y), f (y)) + fy′ fy′ fy′ f (y) + O(h5 ). Serie de Taylor de la soluci´ on num´ erica Para calcular la serie de Taylor de y1 , es suficiente determinar las series de los i−1 X ki = f (x0 + h aij kj ). (VII.3.13) j=1
Ahora bien, se puede considerar (VII.3.13) como una ecuaci´ on a punto fijo, pudiendo as´ı aproximar los ki por el m´etodo de las aproximaciones sucesivas. Comenzando la primera aproximaci´on de ki , se tiene ki = f (y0 ) + O(h),
VII.3 M´ etodos de Runge-Kutta
329
utilizando (VII.3.8), se obtiene ki = f (y0 ) + ci hfy f (y0 ) + O(h2 ). La segunda iteraci´on da como resultado X aij cj fy f (y0 ) + O(h3 )) ki = f (y0 + hci f (y0 ) + h2 j
= f (y0 ) + ci hfy f (y0 ) + h2
X
aij cj fy fy f (y0 ) +
j
3
+ O(h ).
h2 2 ′′ c f (f (y0 ), f (y0 )) 2 i y
Efectuando todav´ıa una vez m´as una iteraci´on, e introduciendo los valores obtenidos en la definici´on (VII.3.5) de yi , se obtiene ! ! X X h2 bi ci (f ′ f )0 (VII.3.14) 2 bi f0 + y1 = y0 + h 2 i i ! X h3 X 2 bi aij cj (f ′ f ′ f )0 bi ci (f ′′ (f, f ))0 + 6 3 + 3! ij i ! X h4 X 3 + bi ci aij cj (f ′′ (f ′ f ′ f ))0 bi ci (f ′′′ (f, f, f ))0 + 8 4! ij i X bi aij ajk ck (f ′ f ′ f ′ f )0 + O(h5 ), + 24 ijk
donde el sub´ındice 0 indica que las evaluaciones deben ser hechas en el punto y0 . Comparando los coeficientes de (VII.3.12) y (VII.3.14), se encuentran las condiciones que deben satisfacer los coeficientes ci , bi y aij para contar con un m´etodo de orden 4. Estas condiciones se las enuncia en el:
Teorema VII.3.4.- Condiciones de Orden. El m´etodo de Runge-Kutta (VII.3.6) tiene el orden 4 si los coeficientes satisfacen (VII.3.8) y X bi = 1, (VII.3.15a) i
X
bi ci =
1 , 2
(VII.3.15b)
bi c2i =
1 , 3
(VII.3.15c)
i
X i
330
VII Ecuaciones Diferenciales X
1 , 6
(VII.3.15d)
bi c3i =
1 , 4
(VII.3.15e)
bi ci aij cj =
1 , 8
(VII.3.15f )
bi aij c2j =
1 , 12
(VII.3.15g)
bi aij ajk bk =
1 . 24
(VII.3.15h)
bi aij =
ij
X
X i
ij
X ij
X ijk
Es necesario remarcar que si el m´etodo satisface solamente (VII.3.15a), (VII.3.15a,b) o (VII.3.15,a,b,c) tiene el orden 1, 2 o 3 respectivamente. El siguiente paso es la resoluci´on del sistema (VII.3.15), para s = 4. Este sistema consiste de 8 ecuaciones no lineales para 10 param´etros bi , aij ; los ci est´ an determinados por la condici´ on (VII.3.8). Las condiciones (VII.3.15a,b,c,e) traducen el hecho que (bi , ci ) es una f´ormula de cuadratura de orden 4. Por consiguiente los bi pueden ser determinados si los ci son conocidos. En particular, se obtiene b3 c3 (c3 − c2 )(c4 − c3 ) = −
c2 c4 c2 + c3 1 + − . 2 3 4
(VII.3.16)
Por otro lado (VII.3.15g)−c2 ·(VII.3.15d) da b4 a43 c3 (c3 − c2 ) =
1 c2 − , 12 6
(VII.3.17)
1 c4 − . 6 8
(VII.3.18)
y c4 ·(VII.3.15d)−(VII.3.15f) implica que b3 (c4 − c3 )a3 2c2 =
Si se multiplica (VII.3.17) con (VII.3.18), luego (VII.3.16) con (VII.3.15h), se obtiene para la misma expresi´ on, las dos f´ormulas: 1 c4 c2 1 b4 a43 a32 c2 · b3 c3 (c3 − c2 )(c4 − c3 ) = , − − 12 6 6 8 −c2 c4 c2 + c3 1 b4 a43 a32 c2 · b3 c3 (c3 − c2 )(c4 − c3 ) = /24, + − 2 3 4 lo que es equivalente a c2 (1 − c4 ) = 0.
VII.3 M´ etodos de Runge-Kutta
331
Puesto que c2 6= 0, consecuencia de la condici´ on (VII.3.15h), se tiene necesariamente que c4 = 1. La soluci´on general del sistema (VII.3.16), se la obtiene de la manera siguiente. M´ etodo de Resoluci´ on.- Plantear c1 = 0, c4 = 1; c2 y c3 son param´etros libres; calcular b1 , b2 , b3 , b4 tales que la f´ormula de cuadratura sea de orden 4; calcular a32 utilizando (VII.3.18), a43 utilizando (VII.3.19) y a42 proviene de (V II.3.15d); finalmente calcular a21 , a31 , a41 de (VII.3.8) para i = 2, 3, 4. Entre los m´etodos de orden 4, los m´as conocidos est´ an dados en la tabla VII.3.2. Tabla VII.3.2. M´etodos de Kutta 0
0 1/2
1/2
1/2
0
1/2
1
0
0
1
1/6 2/6 2/6 1/6 M´etodo de Runge-Kutta
1/3
1/3
2/3
−1/3
1
1
1/8
1 −1
1
3/8 3/8 1/8
Regla 3/8
M´ etodos Encajonados Para resolver un problema realista, un c´ alculo a paso constante es en general ineficiente. Existen diversas causas para esta ineficiencia: la primera es que se debe conocer a priori una estimaci´on del error local cometido, lo cual es complicado en general ocasionando una perdida de generalidad en los programas a implementarse. La otra raz´ on fundamental que existen intervalos donde los pasos de integraci´on pueden ser de longitud mayor. El principal problema reside en como escoger los pasos de integraci´on. La idea que puede resolver satisfactoriamente estos problemas consiste en escoger pasos de integraci´on de manera que el error local sea en todo caso inferior o igual a T ol dado por el utilizador. Motivo por el cual es necesario conocer una estimaci´on del error local. Inspirados en el programa GAUINT descrito en VI.3, se construye un m´etodo de Runge-Kutta con yˆ1 como aproximaci´on num´erica, y se utiliza la diferencia yˆ1 − y1 como estimaci´on del error local del m´etodo menos preciso. Se da un m´etodo de orden p a s pisos, con coeficientes ci , aij , bj . Se busca un m´etodo de orden pˆ < p que utiliza las mismas evaluaciones de f , es decir yˆ1 = y0 + h(ˆb1 k1 + · · · + ˆbs ks ),
(VII.3.19)
332
VII Ecuaciones Diferenciales
donde los ki est´ an dados por (VII.3.3). Para tener m´as libertad, se agrega a menudo un termino que contenga f (x1 , y1 ) a la f´ormula (VII.3.19), de todas maneras se debe calcular f (x1 , y1 ) para el paso siguiente, determinando as´ı yˆ1 , como yˆ1 = y0 + h(ˆb1 k1 + · · · + ˆbs ks + ˆbs+1 f (x1 , y1 )).
(VII.3.20)
Un tal m´etodo encajonado puede ser representado en forma de un esquema, ver la tabla VII.3.3. Tabla VII.3.3. M´etodos encajonados c1 = 0 c2
a21
c3 .. .
a31 .. .
a32 .. .
..
cs
as1
as2
· · · as,s−1
(1)
b1 ˆb1
b2 ˆb2
···
.
···
bs−1 ˆbs−1
bs ˆbs
(ˆbs+1 )
El siguiente paso es la determinaci´ on del h optimal. Si se aplica el m´etodo con un valor h, la estimaci´on del error satisface ˆ ˆ y1 − yˆ1 = (y1 − y(x0 + h)) + (y(x0 + h) − yˆ1 ) = O(hp+1 ) + O(hp+1 ) ≈ Chp+1 . (VII.3.21) El h optimal, denotado por hopt , es ´aquel donde esta estimaci´on es pr´ oxima de T ol, es decir ˆ T ol ≈ Chp+1 (VII.3.22) opt .
Eliminando C de las dos u ´ltimas f´ormulas, se obtiene s T ol p+1 ˆ hopt = 0.9 · h · . ky1 − yˆ1 k
(VII.3.23)
El factor 0.9 se lo agrega para volver el programa m´as seguro. Algoritmo para la selecci´ on autom´ atica de paso. Al iniciar los c´ alculos, el utilizador provee una subrutina que calcule el valor de f (x, y), los valores iniciales x0 , y0 y una primera elecci´on de h. A) Con h, calcular y1 , err = ky1 − yˆ1 k y hopt dado por (VII.3.23). B) Si err ≤ T ol, el paso es aceptado, entonces x0 := x0 + h,
y0 := y1 ,
h := min(hopt , xend − x0 );
VII.3 M´ etodos de Runge-Kutta
333
si no el paso es rechazado h := hopt . C) Si x0 = xend se ha terminado, si no se recomienza por (A) y se calcula el paso siguiente. La pr´ actica num´erica muestra que es aconsejable remplazar (VII.3.23) por ˆ . hopt = h · min 5, max(0.2, 0.9(T ol/err)1/p+1 Para la norma dada en la relaci´on (VII.3.23), se utiliza en general v u n u 1 X yi1 − yˆi1 2 ky1 − yˆ1 k = t , donde sci = 1 + max(|yi0 | , |yi1 |). n i=1 sci
(VII.3.24) En la literatura especializada, estos m´etodos encajonados con control de paso autom´atico, se los denota por RKpˆp donde RK son las iniciales de Runge-Kutta y p, pˆ son los ordenes de los m´etodos encajonados. En la actualidad la utilizaci´ on de tales m´etodos es muy com´ un. En la tabla VII.3.4 se da el esquema del m´etodo de Dormand-Prince RK54 ; este m´etodo es analizado minuciosamente en Hairer & Wanner. Tabla VII.3.4. M´etodo Dormand-Prince 5(4) 0 1 5
1 5
3 10
3 40
4 5
44 45
8 9
19372 6561
1
9017 3187
1
9 40 56 15
32 9
25360 2187
64448 6561
355 33
46732 5247
49 176
−
35 384
0
500 1113
125 192
−
2187 6784
11 84
y1
35 384
0
500 1113
125 192
−
2187 6784
11 84
0
yˆ1
5179 57600
0
7571 16695
393 640
92097 339200
187 2100
1 40
− −
−
−
212 729
−
5103 18656
334
VII Ecuaciones Diferenciales
En el ejemplo siguiente se detallar´ a la construcci´on de un m´etodo encajonado con selecci´on de paso autom´atico. Por razones de simplicidad, se considerar´ a un m´etodo RK32 . Ejemplo T´ omese un m´etodo de orden p = 3 a s = 3 pisos, que en este caso ser´ a el m´etodo de Heun, ver tabla VII.1.1 y se buscar´a un m´etodo encajonado de orden pˆ = 2 de la forma (VII.3.20), es decir se aumenta s de 1, agregando un (s + 1)-emo piso con los coeficientes as+1,i , para i = 1, . . . , s. De esta manera se obtiene el siguiente sistema de ecuaciones para los coeficientes ˆbi , el cual est´ a dado por: ˆb1 + ˆb2 + ˆb3 + ˆb4 = 1 1ˆ 2 1 b2 + ˆb3 + ˆb4 = . 3 3 2 Puedo observarse que para que el m´etodo encajonado tenga un orden igual a 2, se requieren 2 condiciones, quedando as´ı dos grados de libertad. Al igual que en el m´etodo de Heun, puede plantearse ˆb2 = 0, ˆb4 puede escogerse libremente, por ejemplo ˆb4 = 1/2 de donde por la segunda ecuaci´on se deduce facilmente que ˆb3 = 0 y por la primera ecuaci´on ˆb1 = 1/2. Por lo tanto se obtiene el esquema dado en la tabla VII.3.5.
Tabla VII.3.5. Ejemplo de M´etodo Encajonado 0 1/3
1/3
2/3
0
2/3
1
1/4
0
3/4
1/2
0
0
1/2
Soluciones Continuas Uno de los incovenientes mayores de los m´etodos formulados en esta secci´on consiste en el hecho que estos dan las soluciones en un conjunto discreto de puntos. Una primera alternativa es unir estas soluciones con pol´ıgonos, si los puntos donde el m´etodo ha dado las soluciones. El resultado no es satisfactorio desde varios puntos de vista. Si el m´etodo es de orden elevado la interpolaci´ on lineal, vista en el Cap´ıtulo III, tiene como efecto la perdida de precisi´ on. Desde el punto de vista gr´afico las soluciones dejan de ser
VII.3 M´ etodos de Runge-Kutta
335
lisas. Debido a estas dos razones expuestas es necesario complementar estos m´etodos con alternativas que permitan dar soluciones densas. Existen varias alternativas validas que permiten subsanar esta falencia de los m´etodos de Runge-Kutta. La primera consiste en la construcci´on de los m´etodos de Runge-Kutta Continuos. Para tal efecto, se considera un m´etodo de Runge-Kutta dado de antemano. Se desea evaluar utilizando este esquema en el punto x∗ = x0 + θh con 0 < θ ≤ 1. Los coeficientes de este m´etodo se los denota por ci (θ), aij (θ), bj (θ). Ahora bien, el m´etodo ser´ a interesante desde el punto de vista num´erico, si los coeficientes ci (θ), aij (θ) no dependen de θ coincidiendo de esta manera con los del m´etodo dado de antemano. Sin embargo no es nada raro que el m´etodo obtenido a partir de los bi (θ) tenga un orden inferior. Esto se debe a que los aij , ci ya est´ an prescritos. Para ilustrar esta construcci´on consid´erese el ejemplo siguiente. Ejemplo Se considera nuevamente el m´etodo de Heun dado en la tabla VII.3.1. Utilizando el teorema VII.3.4, remplazando y(x0 + h) por y(x0 + θh) se obtienen las siguientes condiciones de orden para los coeficientes bi (θ): b1 + b2 + b3 = θ, 1 b2 + 3 1 b2 + 9
2 θ2 b3 = , 3 2 4 θ3 b3 = , 9 3 θ3 4 b3 = . 9 6
Como puede observarse es imposible que los coeficientes bi puedan satisfacer las condiciones para obtener un m´etodo de orden 3, por lo tanto, uno debe contentarse con obtener un m´etodo de orden 2 para θ diferente de 1 y para θ = 1 un m´etodo de orden 3. Tomando las dos primeras ecuaciones y planteando b2 = 0, como en el m´etodo de Heun, 3 3 se tiene para b3 = θ 2 y para b1 = θ(θ − θ). obteniendo as´ı, el esquema 4 4 dado en la tabla VII.5.6.
Tabla VII.5.6. Ejemplo de M´etodo Continuo. 0 1/3
1/3
2/3
0
2/3 3
θ(θ − 4 θ)
0
3 2
4θ
336
VII Ecuaciones Diferenciales
La segunda estrategia para construir soluciones continuas, consiste en utilizar la interpolaci´ on de Hermite con polinomios c´ ubicos, tomando como extremidades y0 , y1 y como derivadas f (x0 , y0 ) y f (x1 , y1 ). Es facil ver, que a diferencia de la primera alternativa es necesario evaluar y1 . Viendo el cap´ıtulo III, la interpolaci´ on de Hermite tiene un error del orden O(h4 ), equivalente a un m´etodo de tercen orden.
Convergencia de los M´ etodos de Runge-Kutta En las subsecciones precedentes, se ha hecho un an´alisis del error local, intimamente ligado al orden del m´etodo. Pero no se ha analizado que sucede con el error global de la soluci´on num´erica. Para analizar este tipo de error es necesario introducir alguna notaci´on adicional. Consid´erese un m´etodo a un paso yn=1 = yn + hn Φ(xn , yn , hn ),
(VII.3.25)
aplicado a una ecuaci´on diferencial y ′ = f (x, y), con valor inicial y(x0 ) = y0 . Es natural plantearse sobre la magnitud del tama˜ no del error global y(xn ) − yn . A continuaci´on se enunciar´ a un teorema general sobre esta clase de error. Teorema VII.3.5.- Sea y(x) la soluci´on de y ′ = f (x, y), y(x0 ) = y0 sobre el intervalo [x0 , xe ]. Sup´ongase que: a) el error local satisface para x ∈ [x0 , xe ] y h ≤ hmax ky(x + h) − y(x) − hΦ(x, y(x), h)k ≤ C · hp+1 ,
(VII.3.26)
b) la funci´on Φ(x, y, z) satisface una condici´ on de Lipschitz kΦ(x, y, h) − Φ(x, z, h)k ≤ Λ ky − zk ,
(VII.3.27)
para h ≤ hmax y (x, y), (x, z) en un vecindario de la soluci´on. Entonces , el error global admite para xn ≤ xe la estimaci´on C Λ(xn −x0 ) ky(xn ) − yn k ≤ hp e −1 , (VII.3.28) Λ
donde h = max hi , bajo la condici´ on que h sea lo suficientemente pequ˜ no. i
Demostraci´ on.- La idea central de la demostraci´on es estudiar la influencia del error local, cometido en el paso i-esimo a la propagaci´on de yn . Enseguida, adicionar los errores acumulados. Ver figura VII.3.2. Sean {yn } y {zn } dos soluciones num´ericas obtenidas por (VII.3.25) con valores iniciales y0 y z0 respectivamente. Utilizando la condici´ on de Lipschitz dada por (VII.3.27), su diferencia puede ser estimada como kyn+1 − zn+1 k ≤ kyn − zn k + hn Λ kyn − zn k
= (1 + Λhn ) kyn − zn k ≤ ehn Λ kyn − zn k .(VII.3.29)
VII.3 M´ etodos de Runge-Kutta
337
Recursivamente, se obtiene kyn − zn k ≤ ehn−1 Λ ehn−2 Λ · · · ehi Λ kyi − zi k . y el error propagado Ei , ver figura VII.3.2, satisface Λ(xn −xi ) kEi k ≤ eΛ(xn −xi ) kei k ≤ Chp+1 , i−1 e
y0
y(xn ) En E n−1
e n−1
e1 e
(VII.3.30)
2
E1 y
x0
x1
x2 x 3
xn
Figura VII.3.2. Estimaci´on del error global. La desigualdad del tri´angulo, as´ı como (VII.3.30) da, ver la figura VII.3.3, para la estimaci´on de la suma ky(xn ) − yn k ≤
n X i=1
kEi k ≤
n X
Λ(xn −xi ) hp+1 i−1 e
i=1
≤ Chp h0 eΛ(xn −x1 ) + · · · + hn−2 eΛ(xn −xn−1 ) + hn−1 Z xn Chp Λ(xn −x0 ) p eΛ(xn −t) dt = ≤ Ch e −1 . Λ x0
e
Λ( x n −x)
x x0
x1
x2
x n−1
xn
Figura VII.3.3. Estimaci´on de la suma de Riemann.
338
VII Ecuaciones Diferenciales
Solo queda justificar la implicaci´on de (VII.3.25) en (VII.3.27), ya que la estimaci´on (VII.3.25) es valida solamente en un vecindario U = {(x, y)| ky − y(x)k ≤ b} de la soluci´on exacta. Si se supone que h es lo suficientemente peque˜ no, m´as precisamente, si h es tal que Chp Λ(xe −x0 ) e − 1 ≤ b, Λ se estar´ a seguro que todas las soluciones num´ericas de la figura VII.3.2 se quedar´ an en U.
Sup´ongase que (VII.3.25) representa un m´etodo de Runge-Kutta, se verificar´ a las hip´otesis del teorema precedente. La condici´ on (VII.3.26) es satisfecha para un m´etodo de orden p. Solo queda por verificar la condici´ on de Lipschitz (VII.3.27), para la funci´on Φ(x, y, h) =
s X
bi ki (y),
(VII.3.31)
i=1
donde
ki (y) = f x + ci h, y + h
i−1 X j=1
aij kj (y) .
(VII.3.32)
Proposici´ on VII.3.6.- Si f (x, y) satisface una condici´ on de Lipschitz kf (x, y) − f (x, z)k ≤ L ky − zk en un vecindario de la soluci´on de y ′ = f (x, y), la expresi´ on Φ(x, y, h) de (VII.3.31) verifica la condici´ on (VII.3.27) con X X X |bi aij | + (hmax L)2 |bi aij ajk | + · · · . |bi | + (hmax L Λ = L i
ij
ijk
(VII.3.33)
Demostraci´ on.- La condici´ on de Lipschitz para f (x, y) aplicado a (VII.3.32) da kk1 (y) − k1 (z)k = kf (x, y) − f (x, z)k ≤ L ky − zk kk2 (y) − k2 (z)k ≤ L ky − z + ha21 (k1 (y) − k1 (z))k ≤ L(1 + hmax L |a21 |) ky − zk , etc. Las estimaciones (VII.3.34) introducidas en kΦ(x, y, h) − Φ(x, z, h)k ≤
s X i=1
|bi | kki (y) − ki (z)k ,
(VII.3.34)
VII.3 M´ etodos de Runge-Kutta
339
implican (VII.3.27) con Λ dado por (VII.3.33).
Experiencias Num´ ericas En esta subsecci´ on se mostrar´ a varios ejemplos donde los m´etodos de RungeKutta act´ uan. Se comparar´a varios m´etodos. 1.- Se considera la ecuaci´on diferencial, con valor inicial, y ′ = −y + sin x,
y(0) = 1;
(VII.3.35)
la soluci´on de este problema, est´ a dada por y(x) =
1 3 −x 1 e − cos x + sin x. 2 2 2
(VII.3.36)
En la figura VII.3.4, se muestra las gr´aficas de diferentes m´etodos de Runge-Kutta. El intervalo de integraci´on es [0, 10]. Puede comprobarse, que al igual que en los m´etodos de integraci´on, existe una relaci´on lineal entre − log10 (Error Global) y el n´ umero de evaluaciones de la funci´on, fe. Esta relaci´on lineal tiene una pendiente 1/p, donde p es el orden del m´etodo. 106
fe
105
104
103
102
101
100 0 10
err glob 10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
Metodo de Euler Metodo de Runge Metodo de Heun Metodo de Kutta Metodo 3/8
Figura VII.3.4. Relaci´on del error global vs fe.
340
VII Ecuaciones Diferenciales
2.- En esta experiencia num´erica, se implementa un m´etodo encajonado, para este efecto, se toma el m´etodo dado en uno de los ejemplos precedentes. La ecuaci´on diferencial sobre la cual es examinada tal m´etodo, es una ecuaci´on diferencial de una reacci´on qu´ımica, conocida como Brusselator. Por consiguiente, se debe resolver: y1′ = 1 + y12 y2 − 4y1 , y2′
= 3y1 −
y1 (0) = 1.5, y2 (0)3,
y12 y2 ,
(VII.3.37)
sobre el intervalo [0, 10]. Los resultados obtenidos con T ol = 10−5 son presentados en la figura VII.3.5. En la gr´afica superior, las dos componentes de la soluci´on utilizando la soluci´on continua del m´etodo de Heun, ver m´etodos continuos. En la gr´afica del medio, la longitud de los pasos, los pasos aceptados est´ an ligados, mientras que los pasos rechazados indicados por ×. En la gr´afica inferior, la estimaci´on del error local, como tambi´en los valores exactos del error local y global. 6
y2
5 4 3 2
y1
1
100
0
5
10
10−1
10−2 0 10−3
5
Error global
10
10
−4
10−5 10−6 10−7 10−8
Error local exacto
Error local estimado
Figura VII.3.5. Experiencia num´erica de un m´etodo encajonado.
VII.3 M´ etodos de Runge-Kutta
341
Ejercicios 1.- Aplicar el m´etodo de Runge al sistema y1′ = −y2 , y2′ = y1 ,
y1 (0) = 1, y2 (0) = 0,
con h = 1/5. Comparar el trabajo necesario y la precisi´ on del resultado con el m´etodo de Euler. 2.- Consid´erese un m´etodo de Runge-Kutta a s pisos y de orden p. Mostrar que s X 1 bi cq−1 = para q = 1, . . . , p. i q i=1
es decir, la f´ormula de cuadratura asociada tiene al menos el orden p. 3.- Aplicar un m´etodo de Runge-Kutta de orden p = s, s es el n´ umero de pisos, al problema y ′ = λy, donde λ es una constante compleja. Mostrar que la soluci´on num´erica est´ a dada por s j X z y0 , z = λh. y1 = j! j=0 4.- Construir todos los m´etodos de Runge-Kutta de orden 3 con s = 3 pisos. 5.- Consid´erese el problema y′ =
λ y + g(x), x
y(0) = 0
con g(x) suficientemente derivable y λ ≤ 0. Mostrar que este problema admite una y una sola soluci´on. Las derivadas de la soluci´on en el punto x = 0 son −1 λ (j) y (0) = 1 − g (j−1) (0). j 6.- Aplicar un m´etodo de Runge-Kutta al problema del ejercicio anterior, −1 utilizar la definici´on f (x, y) = 1 − jλ g(0), para x = 0. a) Mostrar que el error del primer paso satisface
y(h) − y1 = C2 h2 g ′ (0) + O(h3 ) donde C2 depende solamente de los coeficientes del m´etodo. c) Calcular C2 para uno de los m´etodos de Kutta.
VII.4 M´ etodos Multipasos
Los m´etodos a un paso calculan un valor aproximado yn+1 , en el instante tn+1 , utilizando u ´nicamente el valor aproximado yn . La utilizaci´ on de varios valores aproximados yn , yn−1 , . . ., permite obtener a precisi´ on igual m´etodos de costo menos elevado; estos m´etodos son com´ unmente llamados multipasos, m´as precisamente cuando los c´ alculos utilizan r valores precedentes: yn , yn−1 , . . . , yn−r+1 , es decir concernientes los r pasos: hn , hn−1 , . . . , hn−r+1 , se habla de m´etodos a r pasos. Entre estos m´etodos, los m´etodos de Adams son aqu´ellos que parecen ser a la hora actual los m´as eficaces cuando el problema diferencial es bien condicionado, ser´ an estudiados en esta subsecci´ on. Los algoritmos modernos utilizan estos m´etodos con un n´ umero variable de pasos y un tama˜ no de paso variables. La variaci´ on del n´ umero de pasos y la longitud de los pasos permite adaptar el m´etodo a la regularidad de la soluci´on, permite tambi´en de levantar las dificultades de arranque que presentan los m´etodos a n´ umero de pasos fijo.
M´ etodos de Adams Expl´ıcitos Sea una divisi´on x0 < x1 < · · · < xn = xe del intervalo sobre el cual se busca resolver la ecuaci´on diferencial y ′ = f (x, y) y sup´ ongase que se conoce aproximaciones yn , yn−1 , . . . , yn−k−1 de la soluci´on para k pasos consecutivos (yi ≈ y(xj )). De la misma forma que para la derivaci´on de los m´etodos de Runge-Kutta, se integra la ecuaci´on diferencial, para obtener Z xn+1 f (t, y(t))dt. (VII.4.1) y(xn+1 ) = y(xn ) + xn
Pero en lugar de aplicar una f´ormula de cuadratura st´andard a la integral (VII.4.1), se remplaza f (t, y(t)) por el polinomiio de grado k−1, que satisfaga p(xj ) = fj ,
para j = n, n − 1, . . . , n − k + 1;
donde fj = f (xj , yj ). Ver la figura VII.4.1. f n−k+1
x n−k+1
f n−1
x n−1
fn
xn
p(t)
x n+1
Figura VII.4.1. M´etodo de Adams.
(VII.4.2)
VII.4 M´ etodos Multipasos
343
Por consiguiente, la aproximaci´on de y(xn+1 ) est´ a definida por yn+1 = yn +
Z
xn+1
p(t)dt.
(VII.4.3)
xn
Si se representa el polinomio p(t) por la f´ormula de Newton, ver el teorema III.1.9, p(t) =
k−1 X j=0
!
j−1 Y i=0
(t − xn−i ) f [xn , xn−1 , . . . , xn−j ],
(VII.4.4)
el m´etodo (VII.4.3) se convierte en yn+1 = yn +
k−1 X j=0
Z
!
xn+1 j−1 Y
xn
i=0
(t − xn−i ) f [xn , xn−1 , . . . , xn−j ]. (VII.4.5)
El caso m´as simple de estas f´ormulas de Adams expl´ıcitas consiste cuando la divisi´on es equidistante. En esta situaci´on se tiene xj = x0 + jh, las diferencias divididas pueden ser expresadas bajo la forma f [xn , xn−1 , . . . , xn−j ] =
∇j fn , j!hh
(VII.4.6)
donde ∇0 fn = fn , ∇fn = fn − fn−1 , ∇2 fn = ∇(∇fn ), . . . son las diferencias finitas regresivas. La f´ormula (VII.4.5), planteando t = xn + sh, se convierte en yn+1 = yn + h
k−1 X j=0
donde 1 γj = j!
Z
0
1 j−1 Y
(i + s)ds =
Z
γj ∇j fn ,
1
0
i=0
s+j−1 j
(VII.4.7)
ds.
Los primeros coeficientes γj est´ an dados en la tabla VII.4.1. Tabla VII.4.1. Coeficientes para los m´etodos de Adams Expl´ıcitos. j 0 1 γj 1
2
3
4
5
6
7
8
1 5 3 251 95 19087 5257 1070017 2 12 8 720 288 60480 17280 3628800
344
VII Ecuaciones Diferenciales Casos particulares de los m´etodos de Adams expl´ıcitos son: k = 1 : yn+1 = yn + hfn , (m´etodo de Euler); 2 1 k = 2 : yn+1 = yn + h fn − fn−1 ; 3 2 16 5 23 k = 3 : yn+1 = yn + h fn − fn−1 + fn−2 ; 12 12 12 59 37 9 55 k = 4 : yn+1 = yn + h fn − fn−1 + fn−2 − fn−3 . 24 24 24 24
Si se quiere aplicar este m´etodo, por ejemplo para k=4, a la resoluci´on de y ′ = f (x, y), y(x0 ) = y0 , es necesario conocer y0 , y1 , y2 y y3 . Despu´es se puede utilizar la f´ormula de recurrencia para determinar y4 , y5 , . . .. Al f´ormular Adams sus m´etodos, el utilizaba la serie de Taylor de la soluci´on en el punto inicial, sin embargo es m´as c´ omodo empezar con un m´etodo a un paso del tipo de Runge-Kutta y luego utilizar el m´etodo multipaso correspondiente. En la construcci´on del m´etodo de Adams expl´ıcito dado por (VII.4.5), se ha utilizado el polinomio de interpolaci´ on p(t) fuera del intervalo [xn−k+1 , xn ]. Esta situaci´on puede provocar grandes errores, ver nuevamente III.1. Por lo tanto, este inconveniente puede modificarse considerando los:
M´ etodos de Adams Impl´ıcitos La idea central de estos m´etodos consiste en considerar el polinomio p∗ (t) de grado k, que satisface p∗ (t) = fj
j = n + 1, n, n − 1, . . . , n − k + 1.
para,
(VII.4.9)
A diferencia de la versi´on expl´ıcita fn+1 = f (xn+1 , yn+1 ) es todav´ıa desconocido. El siguiente paso es definir la aproximaci´on num´erica por Z xn+1 p∗ (t)dt. (VII.4.10) yn+1 = yn + xn
De la misma manera que en el caso expl´ıcito, la f´ormula de Newton da ! j−1 k Y X ∗ (t − xn−i+1 )dt f [xn+1 , xn , . . . , xn−j+1 ], (VII.4.11) p (t) = j=0
i=0
de donde el m´etodo est´ a dado por yn+1 = yn +
Z k X j=0
xn+1 j−1 Y
xn
i=0
!
(t − xn−i+1 ) f [xn+1 , xn , . . . , xn−j+1 ]. (VII.4.12)
VII.4 M´ etodos Multipasos
345
El caso m´as simple de estas f´ormulas de Adams impl´ıcitas consiste cuando la divisi´on es equidistante, el m´etodo est´ a dado por yn+1 = yn + h
k X
γj∗ ∇j fn+1 ,
Z
j=0
(VII.4.13)
donde 1 j!
γj∗ =
Z
0
1 j−1 Y i=0
(i + s − 1)ds =
0
1
s+j−2 j
ds.
(VII.4.14)
an dados en la tabla VII.4.2. Los primeros coeficientes γj∗ est´ Tabla VII.4.2. Coeficientes para los m´etodos de Adams Impl´ıcitos. j
0
1
γj∗ 1 −
2
3
4
5
6
7
8
1 1 1 19 3 863 375 33953 − − − − − − − 2 12 24 720 160 60480 24192 3628800
Casos particulares de los m´etodos de Adams impl´ıcitos son: k = 0 : yn+1 = yn + hfn+1 = yn + hf (xn+1 , yn+1 ); 1 1 k = 1 : yn+1 = yn + h fn+1 + fn ; 2 2 8 1 5 k = 2 : yn+1 = yn + h fn+1 + fn − fn−1 ; 12 12 12 19 5 1 9 k = 2 : yn+1 = yn + h fn+1 + fn − fn−1 + fn−2 . 24 24 24 24 Cada una de estas f´ormulas representa una ecuaci´on no lineal para yn+1 , que es de la forma yn+1 = ηn + hβf (xn+1 , yn+1 ). (VII.4.15) que puede ser resuelta por el m´etodo de Newton o simplemente por el m´etodo iterativo simple.
M´ etodos Predictor-Corrector Los m´etodos de Adams impl´ıcitos tienen la gran ventaja sobre la versi´on expl´ıcita, por que las soluciones provistas son m´as realistas. Sin embargo la gran dificultad de estos m´etodos es la resoluci´on de (VII.4.15). En algunos casos particulares, como en el caso de los sistemas lineales, esta resoluci´on
346
VII Ecuaciones Diferenciales
podr´ a hacerse directamente, pero en el caso general la utilizaci´ on de un m´etodo iterativo para resolver el sistema no lineal es necesaria. Por otro lado, es necesario recalcar que yn+1 es una aproximaci´on de la soluci´on exacta, motivo por el cual es natural pensar que un c´ alculo muy preciso de yn+1 tal vez no sea necesario. Es por eso, que una mejora de esta situaci´on puede darse de la manera siguiente. Primero calcular una primera aproximaci´on por un m´etodo expl´ıcito, luego corregir este valor, una o varias veces, utilizando la f´ormula (VII.4.15). Con este algoritmo, un paso de este m´etodo toma la forma siguiente: Pk−1 P: se calcula el predictor yˆn+1 = yˆn + h j=0 γj ∇j fn por el m´etodo de Adams expl´ıcito; yˆn+1 es ya una aproximaci´on de y(xn+1 ). E: evaluaci´ on de la funci´on: se calcula fˆn+1 = f (xn+1 , yˆn+1 ). C: la aproximaci´on corregida est´ a dada por yn+1 = ηn + hβ fˆn+1 . E: calcular fn+1 = f (xn+1 , yn+1 ). Este procedimiento, que se lo denota PECE, es el m´as utilizado. Otras posibilidades son: efectuar varias iteraciones, por ejemplo PECECE, o de omitir la u ´ltima evaluaci´ on de f , es decir PEC, y de tomar fˆn+1 en el lugar de fn+1 para el paso siguiente.
Metodos BDF Se ha visto que los m´etodos de Adams, tanto en su versi´on expl´ıcita, como en su versi´on impl´ıcita consideran polinomios de interpolaci´ on que pasan por los fj . Esta manera de abordar el problema de la aproximaci´on de las soluciones de un problema diferencial es eficaz cuando el problema diferencial es bien condicionado, pero ´estos pueden volverse muy costosos desde el punto de vista computacional para los problemas diferenciales r´ıgidos. Por consiguiente, puede ser interesante de utilizar el m´etodo de las diferencias retr´ ogradas que ser´ a descrito en esta subseccion. La idea central de los m´etodos BDF consiste en considerar el polinomio q(t) de grado k, ver figura VII.4.2, definido por q(xj ) = yj ,
para
j = n + 1, n, . . . , n − k + 1;
(VII.4.16)
y se determina yn+1 , de manera que q ′ (xn+1 ) = f (xn+1 , q(xn+1 )).
(VII.4.17)
Como en la f´ormula (VII.4.11), la f´ormula de Newton da q(t) =
k X j=0
j−1 Y i=0
!
(t − xn−i+1 ) y[xn+1 , xn , . . . , xn−j+1 ].
(VII.4.18)
VII.4 M´ etodos Multipasos
347
Cada t´ermino de esta suma contiene el factor (t − xn+1 ), de donde es muy facil calcular q ′ (xn+1 ), obteniendo as´ı k X j=0
!
j−1 Y i=1
(xn+1 − xn−i+1 ) y[xn+1 , xn , . . . , xn−j+1 ] = f (xn+1 , yn+1 ). (VII.4.19) yn+1
yn−k+1
x n−k+1
q(t)
yn yn−1
xn
x n−1
x n+1
Figura VII.4.2. M´etodo de tipo BDF Para el caso equidistante, (VII.4.19) utilizando (VII.4.6) se convierte en k X 1 j=1
j
∇j yn+1 = hfn+1 .
(VII.4.20)
Obteniendo de esta manera, los siguientes casos particulares: k = 1 : yn+1 − yn = hfn+1 ; 3 1 k=2: yn+1 − 2yn + yn−1 = hfn+1 ; 2 2 11 3 1 k=3: yn+1 − 3yn + yn−1 − yn−2 = hfn+1 ; 6 2 3 4 1 25 yn+1 − 4yn + 3yn−1 − yn−2 + yn−3 = hfn+1 . k=4: 12 3 4 De nuevo, cada f´ormula define impl´ıcitamente la aproximaci´on num´erica yn+1 .
Estudio del Error Local Al igual de los m´etodos a un paso, como los m´etodos de Runge-Kutta, existe la noci´ on de orden para los m´etodos multipasos, el cual est´ a ´ıntimamente ligado al estudio del error local.
348
VII Ecuaciones Diferenciales Los m´etodos multipasos pueden expresarse bajo la forma siguiente k X
αi yn+i = h
k X
βi fn+i ,
(VII.4.21)
i=0
i=0
donde αk 6= 0 y |α0 | + |β0 | > 0. El m´etodo es expl´ıcito si βk = 0, si no el m´etodo es impl´ıcito. Definici´ on VII.4.1.- Sea y(x) una soluci´on de y ′ = f (x, y(x)) y sea yn+k el valor obtenido por el m´etodo (VII.4.21) utilizando yi = y(xi ) para i = n, . . . , n + k − 1, ver figurar VII.4.3. Entonces error local = y(xn+k ) − yn+k .
(VII.4.22)
Se dice que el m´etodo (VII.4.21) tiene el orden p si el error local es O(hp+1 ). yn+k−1
y(x)
y n+1 yn
xn
yn+k
x n+k−1
xn+1
x n+k
Figura VII.4.3. Definici´on del error local. Para estudiar el error local de un m´etodo multipaso, se utiliza el operador L definido por: L(y, x, h) =
k X i=0
(αi y(x + ih) − hβi y ′ (x + ih)) .
(VII.4.23)
Como yi = y(xi ), para i = n, . . . , n + k − 1 en la definici´on dada m´as arriba, se tiene que fi = f (xi , y(xi )) = y ′ (xi ) para i = n, . . . , n + k − 1 y la f´ormula (VII.4.21) puede ser expresada bajo la forma k X i=0
αi y(xn + ih) + αk (yn+k − y(xn+k )) =h
k X
βi y ′ (xn + ih)
i=0
+ hβ(fn+k − f (xn+k , y(xn+k ))),
lo que es equivalente a ∂f L(y, xn , h) = αk I − hβk (. . .) (y(xn+k ) − yn+k ), ∂y
(VII.4.24)
VII.4 M´ etodos Multipasos
349
el argumento de ∂f /∂y puede ser diferente para cada linea de esta matriz, ver el teorema del valor medio o incrementos finitos. La f´ormula muestra que el error local del m´etodo (VII.4.21) es O(hp+1 ) si y solamente si L(y, x, h) = O(hp+1 ) para toda funci´on y(x) que es suficientemente derivable. Teorema VII.4.2.- Un m´etodo multipaso tiene el orden p, si y solamente si sus coeficientes satisfacen k X
k X
αi = 0 y
i=0
αi iq = q
i=0
k X
βiq−1 para q = 1, . . . , p.
(VII.4.25)
i=0
Demostraci´ on.- En la f´ormula (VII.4.23), se desarrolla las expresiones y(x + ih) y y ′ (x + ih) en serie de Taylor y obteniendo L(y, x, h) =
k X
αi
i=0
X
y (q) (x)
g≥0
= y(x)
k X i=0
αi
!
k X X (ih)q (ih)r βi y (r+1) (x) −h q! r! i=0 r≥0
+
X g≥1
y
(q)
hq (x) q!
k X i=0
q
αi i − q
k X i=0
La condici´ on L(y, x, h) = O(hp+1 ) da la condici´ on (VII.4.25).
q−1
βi
!
.
Ejemplo Consid´erese el m´etodo de Adams expl´ıcito a k pasos. Para q ≤ k, se considera la ecuaci´on diferencial y ′ = qxq−1 cuya soluci´on es y(x) = xq . En esta situaci´on, el polinomio p(t) de (VII.4.2) es igual a f (t, y(t)) y el m´etodo de Adams expl´ıcito da el resultado exacto. Por consiguiente, se tiene L(y, x, h) = 0, ver la f´ormula (VII.4.24) lo que implica k X i=0
αi (x + ih)q − qβi (x + ih)q−1 h = 0
y por lo tanto (VII.4.25), planteando x = 0. Entonces, el orden de este m´etodo es ≥ k. Se puede mostrar que efectivamente el orden es igual a k. De la misma manera, se muestra que el m´etodo de Adams impl´ıcito tiene el orden p = k + 1 y el m´etodo BDF el orden p = k.
Estabilidad A simple vista la relaci´on (VII.4.25) permite formular m´etodos multipaso con un n´ umero dado de pasos con un orden optimal. Sin embargo la experiencia
350
VII Ecuaciones Diferenciales
num´erica mostr´o que los resultados obtenidos no siempre eran v´alidos. Es por eso necesario introducir una nueva noci´on en el estudio de estos m´etodos. Esta noci´on est´ a intimamente ligada a la estabilidad del m´etodo. Para comprender mejor el problema que se plantea con los m´etodos multipaso, es necesario referirse al siguiente ejemplo enunciado por Dahlquist en 1956. Se plantea k = 2 y se construye un m´etodo explicito, β2 = 0, α2 = 1 con un orden maximal. Utilizando las condiciones dadas por (VII.4.25) con p = 3, se llega al siguiente esquema: yn+2 + 4yn+1 − 5yn = h(4fn+1 + 2fn ).
(VII.4.26)
yn+2 + 4(1 − h)yn+1 + (5 + 2h)yn = 0.
(VII.4.27)
′
Una aplicaci´ on a la ecuaci´on diferencial y = y con y(0) = 1 da la f´ormula de recurrencia Para resolver la ecuaci´on precedente, se calcula el polinomio caracter´ıstico de ´esta, obteniendo ζ 2 + 4(1 − h)ζ − (5 + 2h) = 0,
(VII.4.28)
ecuaci´on de segundo grado cuyas soluciones son ζ1 = 1 + h + O(h2 ),
La soluci´on de (VII.4.27) tiene la forma
ζ2 = −5 + O(h).
yn = C1 ζ1n + C2 ζ2n
(VII.4.29)
donde las constantes C1 y C2 est´ an determinadas por y0 = 1 y y1 = eh . Para n n grande, el t´ermino C2 ζ2 ≈ C2 (−5)n es dominante y ser´ a muy dificil que la soluci´on num´erica converga hacia la soluci´on exacta. Ver figura VII.4.4.
3.0
h=0.01
h=0.05
2.0
1.0 .0
h=0.025 .5
h=0.1 1.0
Figura VII.4.4. Inestabilidad del m´etodo VII.4.26.
VII.4 M´ etodos Multipasos
351
La raz´ on de la divergencia de la soluci´on num´erica en el ejemplo precedente, es que el polinomio k X αi ζ i , (VII.4.30) ̺(ζ) = i=0
tiene una raiz que es m´as grande que 1 en valor absoluto. Para encontrar una condici´ on necesaria para la convergencia, se considerar´ a el problema y ′ = 0 con valores iniciales y0 , y1 , . . . , yk−1 perturbados. La soluci´on num´erica yn satisface: αk yn+k + · · · + α0 yn = 0,
(VII.4.31)
y est´ a dada por una combinaci´on lineal de: ζ n . . . . . . . . . . . . . . . . . . . . si ζ es una raiz simple de ̺(ζ) = 0, ζ n , nζ n . . . . . . . . . . . . . . . si ζ es una raiz doble de ̺(ζ) = 0, ζ n , nζ n , . . . , nl ζ l . . . . . . si ζ es una raiz de multiplicidad l. Para que la soluci´on num´erica quede acotada, es necesario que las condiciones de la definici´on siguiente sean satisfechas. Definici´ on VII.4.3.- Un m´etodo multipaso es estable, si las raices del polinomio ̺(ζ) satisfacen ˆ = 0 entonces ζˆ ≤ 1, i) si ̺(ζ) ˆ = 0 y ζˆ = 1 entonces ζˆ es una raiz simple de ̺(ζ). ii) si ̺(ζ) Se puede mostrar facilmente que los m´etodos de Adams tienen como polinomio caracter´ıstico ̺(ζ) = ζ k−1 (ζ − 1). Por consiguiente los m´etodos de Adams son estables para la definici´on que acaba de ser enunciada. Por otro lado se muestra igualmente que los m´etodos BDF son estables solamente para k ≤ 6. Existe un resultado muy importante en la teor´ıa de la estabilidad de los m´etodos multipaso, cuya demostraci´on escapa a los objetivos del libro. Este resultado es conocido como la primera barrera de Dahlsquist. Teorema VII.4.4.- Primera barrera de Dahlsquist. Para un m´etodo multipaso estable, el orden k satisface p ≤ k + 2 si k es par, p ≤ k + 1 si k es impar y p ≤ k si el m´etodo es expl´ıcito.
Convergencia de los M´ etodos Multipaso Debido a la complejidad de la demostraci´on, en esta subsecci´ on se tratar´a, solamente el caso equidistante.
352
VII Ecuaciones Diferenciales
Teorema VII.4.5.- Sup´ongase que los k valores de partida satisfagan ky(xi ) − yi k ≤ C0 hp , para i = 0, 1, . . . , k − 1. Si el m´etodo multipaso (VII.4.21) es de orden p y estable, entonces el m´etodo es convergente de orden p, es decir el error global satisface ky(xn ) − yn k ≤ Chp ,
para xn − x0 = nh ≤ Const.
(VII.4.34)
Demostraci´ on.- El punto esencial de la demostraci´on es el siguiente: Se escribe formalmente el m´etodo multipaso (VII.4.21) bajo la forma de un m´etodo a un paso. El m´etodo multipaso es de la forma, suponiendo αk = 1 yn+k = −
k−1 X
αi yn+i + hΨ(xn , yn , . . . , yn+k−1 , h).
(VII.4.35)
i=0
Para un m´etodo expl´ıcito βk = 0, Ψ est´ a dada por Ψ(xn , yn , . . . , yn+k−1 , h) =
k−1 X
βi f (xn+i , yn+i ),
i=0
y para un m´etodo general, Ψ est´ a definida impl´ıcitamente por Ψ(xn , yn , . . . , yn+k−1 , h) =
k−1 X
βi f (xn+i , yn+i )
(VII.4.36)
i=0
+ βk f
xn+k , hΨ(xn , yn , . . . , yn+k−1 , h) −
k−1 X
αi yn+i
i=0
Luego se considera los supervectores Yn = (yn+k−1 , . . . , yn+1 , yn )t , pudiendo de esta manera escribir el m´etodo dado por (VII.4.35), bajo la forma Yn+1 = AYn + hΦ(xn , Yn , h), (VII.4.37) donde
−αk−1 1 −αk−2 1 0 1 A = 1
· · · −α1 1 ··· 0 .. . .. .. . .
1
−α0 1 Ψ(x, Y, h) 0 0 . 0 O , Φ(x, Y, h) = . .. .. . 0 0 (VII.4.37)
!
.
VII.4 M´ etodos Multipasos
353
El siguiente paso en la demostraci´on es introducir el error local. Se considera los valores yn , . . . , yn+k−1 sobre la soluci´on exacta, denotando Y (xn ) = (y(xn+k−1 , . . . , y(xn+1 ), y(xn ))t ,
(VII.4.38)
y aplicando una vez el m´etodo multipaso. Esto da Yˆn+1 = AY (xn ) + hΦ(xn , Y (xn ), h). La primera componente de Yˆn+1 − Y (xn+1 ) es exactamente el error local dado por (VII.4.22), mientras que las otras componentes son iguales a cero. Como el m´etodo es de orden p, por hip´otesis, se tiene
ˆ
Yn+1 − Y (xn+1 ) ≤ C1 hp+1 ,
xn+1 − x0 = (n + 1)h ≤ Const. (VII.4.39) A continuaci´on se debe analizar la propagaci´on del error, es decir introducir la estabilidad del m´etodo. Consid´erese una segunda soluci´on num´erica, definida por Zn+1 = AZn + hΦ(xn , Zn , h) para
y estimar la diferencia Yn+1 − Zn+1 . Como ilustraci´ on del siguiente paso en la demostraci´on se considerar´ a solamente los m´etodos de Adams, pues el caso general requiere de la utilizaci´ on de otra norma, cuyo estudio escapa el alcanze de este libro. Por consiguiente yn+k − zn+k yn+k−1 − zn+k−1 .. yn+k−1 − zn+k−1 . = . .. yn+1 − zn+1 yn − zn yn+1 − zn+1 Ψ(xn , Yn , h) − Ψ(xn , Zn , h) 0 . +h .. .
0
Utilizando la norma infinita y condici´ on de Lipschitz para Ψ que es consecuencia de la de f (x, y), se obtiene kYn+1 − Zn+1 k ≤ (1 + hΛ) kYn − Zn k .
(VII.4.40)
Ahora se ver´ a la acumulaci´on de los errores propagados. Esta parte de la demostraci´on es exactamente igual que para los m´etodos a un paso, ver el
354
VII Ecuaciones Diferenciales
paragrafo VII.3 y la figura VII.4.5.
y0
y(xn ) En E n−1
e n−1
e1 e
2
E1 y
x0
x1
x2 x 3
xn
Figura VII.3.2. Estimaci´on del error global para m´etodos multipaso.
Ejercicios 1.- Para los coeficientes del m´etodo de Adams expl´ıcito, demostrar la f´ormula de recurrencia siguiente: 1 1 1 γm + γm−1 + γm−2 + · · · + γ0 = 1. 2 3 m+1 Indicaci´ on.-Introducir la serie G(t) =
∞ X
γj tj ,
γj = (−1)j
Z
0
j=0
1
−s j
ds
y demostrar que G(t) =
Z
0
1
(1 − t)−s ds
y
−
log(1 − t) 1 G(t) = , t 1−t
enseguida, desarrollar la segunda f´ormula en serie de Taylor y comparar los coeficients de tm . 2.- Consid´erese la identidad y(xn+1 ) = y(xn−1 +
Z
xn+1
f (t, y(t))dt
xn−1
para la soluci´on de la ecuaci´on diferencial y ′ = f (x, y).
VII.4 M´ etodos Multipasos
355
a) Remplazar en la identidad la funci´on desconocida f (t, y(t)) por el polinomio p(t), como se ha hecho para construir el m´etodo de Adams expl´ıcito. Deducir la f´ormula de Nystr¨on yn+1 = yn−1 + h
k−1 X j=0
κj ∇j fn .
b) Calcular los primeros κj . c) Verificar la identidad κj = 2γj − γj−1 , donde γj son los coeficientes del m´etodo de Adams expl´ıcito. 3.- Mostrar que el m´etodo BDF a k pasos tiene orden k. 4.- Calcular el orden para la f´ormula de Nystr¨on, ver ejercicio 2. 5.- Un m´etodo multipaso se dice sim´etrico, si αj = −αk−j ,
βj = βk−j .
Mostrar que un m´etodo sim´etrico siempre tiene un orden par. 6.- Dado un predictor de orden p − 1 k X
αiP yn+1 = h
k−1 X
βiP fn+1 ,
(P )
βi fn+1 .
(C)
i=0
i=0
y un corrector de orden p k X i=0
αi yn+1 = h
k X i=0
a) Escribir el m´etodo P (EC)M E bajo la forma Yn+1 = AYn + hΦ(xn , Yn , h). b) Mostrar que este m´etodo es convergente de orden p, si el corrector es estable, no es necesario que el predictor sea estable.
Bibliograf´ıa
Al final de cada libro o art´ıculo, se indica entre corchetes y car´ acteres it´alicos el cap´ıtulo y/o secci´on al que hace referencia. J.H Ahlberg, E.N. Nilson & J.L. Walsh (1967): The Theory of Splines and Their Applications. Academic Press, New York. [III.2] G. Arfken (1985): Mathematical Methods for Physicists. Academic Press, London. [I.3], [VI.2]. V.I. Arnol’d (1992): Ordinary Differential Equations. Springer-Textbook. [VII.1]. K.E. Atkinson (1978): An Introduction to Numerical Analysis. John Wiley & Sons. [I], [III], [VI]. O.A Axelsson (1976): A class of iterative methods for finite element equations. Comp. Math. in Appl. Mech. and Eng. 9. [II.4]. N. Bakhbalov (1976): M´ethodes Num´eriques. Editions Mir, Moscou. [I], [III], [VI]. C. de Boor (1978): A Practical Guide to Splines. Springer-Verlag, Berlin. [III.2]. C. Br´ezinski (1977): Acc´el´eration de la Convergence en Analyse Num´erique. Lectures Notes in Mathematics, Nr. 584, Springer-Verlag. [III.3], [VI.3]. J.C Butcher (1987): The Numerical Analysis of Ordinary Differential Equations. John Wiley & Sons. [VII]. H. Cartan (1977): Cours de Calcul Diff´erentiel. Hermann, Paris. [IV.2], [IV.3]. P.G Ciarlet (1982): Introduction a ` l’analyse num´erique matricielle et a ` l’optimisation. Mason, Paris. [II]. M. Crouzeix & A.L. Mignot (1984): Analyse Num´erique des Equations Differentielles. Mason, Paris. [III], [VI] , [VII]. G. Dahlquist & A. Bj¨ orck (1974): Numerical Methods. Prentice-Hall. [I], [III], [VI]. R. Dautray & J.L. Lions (1988): Mathematical Analysis and Numerical Methods for Science and Technology, volume 2, Functional and Variational Methods. Springer-Verlag. [VI.4]. P.J. Davis & P. Rabinowitz (1975): Methods of Numerical Integration. Academic Press, New York. [VI].
358
Bibliograf´ıa
J. Dieudonn´e (1980): Calcul Infin´etisimal. Hermann, Paris. [IV.1], [IV.2], [VI.4]. J.J. Dongarra, C.B. Moler, J.R. Bunch & G.W. Stewart (1979): LINPACK Users’ Guide. SIAM, Philadelphia. [II]. A. Gramain (1988): Integration. Hermann, Paris. [VI.1], [VI.4]. R.P. Grimaldi (1989): Discrete and Combinatorial Mathematics. Addison-Wesley Publishing Company. [II.3]. E. Hairer, S.P. Nørsett & G. Wanner (1987): Solving Ordinary Differential Equations I. Nonstiff Problems. Springer Series in Comput. Math., vol. 8. it [VII]. E. Hairer & G. Wanner. Solving Ordinary Differential Equations. Stiff Problems. Springer Series in Comput. Math., vol. 11. [VII]. P. Henrici (1962): Discrete Variable Methods in Ordinary Differential Equations. John Wiley & Sons. [VII]. R.A. Horn & C.R. Johnson (1985): Matrix Analysis. Cambridge University Press. [II.1], [V.1]. G.H Golub & C.F. Van Loan (1989): Matrix Computations. The Johns Hopkins University Press, Baltimore and London. [II]. K.L. Kantorovitch & G. Akilov (1981): Analyse Fonctionnelle, Volume2. Editions Mir, Moscou. [IV.2], [IV.3] V.I. Krylov (1962): Approximate calculation of integrals. Macmillan, New Yor. [VI]. S. Lang (1987): Linear Algebra. Springer-Verlag. [II], [V]. M. Marden (1966): Geometry of Polinomials. American Mathematical Society, Providence, Rhede Island, 2nd Edition. [IV.1] J.M. Ortega & W.C. Rheinboldt (1970): Iterative Solution of Nonlinear Equations in Several Variables. Academic Press, New York. [IV]. A.M. Ostrowski (1966): Solution of Equations and Systems of Equations. Academic Press, New York, 2nd edition. [IV]. B.N. Parlett (1980): The Simmetric Eigenvalue Problem. Prentice-Hall, Englewood Cliffs, New Jersey. [V]. ¨ R. Piessens, E. de Doncker-Kapenga, C.W. Uberhuber & D.K. Kahaner (1983): QUAD-PACK. A Subroutine Package for Automatic Integration. Springer Series in Comput. Math., vol. 1. [VI]. W.H Press, B.R. Flannery, S.A Teukolsky & W.T Vetterling (1989): Numerical Recipies. The Art of Scientific Computing (Versi´on FORTRAN). Cambridge University Press, Cambridge. [VI.4]. C.R. Rao: (1973): Linear Statistical Inference and Its Applications. John Wiley & Sons. [II.5]
Bibliograf´ıa
359
W. Rudin (1976): Principles of Mathematical Analysis. MacGraw Hill, trird edition. [IV.2], [VI.1]. A.A Samarski & E.S. Nikolaev (1982): M´etodos de soluci´on de las ecuaciones reticulares, Tomo I y II. Editorial Mir, Moscou. [III.3], [III.4] B.T. Smith, J.M. Boyle, Y. Ikebe, V.C. Klema & C.B Moler (1970): Matrix Eigensystem Routines: EISPACK Guide. 2nd ed., Springer-Verlag, New York. [V] J. Stoer & R. Bulirsch (1980): Introduction to Numerical Analysis. Springer-Verlag, New York. [I], [III], [VI]. G.H. Stewart (1973): Introduction to Matrix Computations. Academic Press, New York. [II]. L. Swhwartz (1970): Analyse, Topologie g´enerale et analyse fonctionnelle. Hermann, Paris. [IV.2]. R.A. De Vore & G.G. Lorentz (1991): Constructive Approximation. Springer-Verlag. [III.2]. J.H. Wilkinson (1963): The Algebraic Eigenvalue Problem. Clarendon Press, Oxfordd. [V]. J.H. Wilkinson (1965): Rounding Errors in Algebraic Process. PrenticeHall, New York. [I]. J.H. Wilkinson (1969): Rundungsfehler. Springer-Verlag, Berlin. [I], [II]. J.H. Wilkinson & C. Reinsch (1971): Handbook for Automatic Computation, Volume II, Linear Algebra. Springer-Verlag, New York. [II], [V]. FORTRAN/9000 Reference (1991): Hewlett-Packard Company. [I.2].
Indice de S´ımbolos
Los s´ımbolos matem´aticos que aparecen en el libro, est´ an enunciados en este glosaria de la manera siguiente. En la primera columna el s´ımbolo mismo, al medio el nombre de ´este y a la derecha la pagina donde est´ a definido. P(x) arr(x) eps kk kk
problema, 2. redondeo de x, 8. precisi´ on de la computadora, 8. norma de vector, 25. norma de matriz, 26. 1 vector 1, 29. cond(A) condici´ on de la matriz A, 29. LR descomposici´ on de Gauss, 37. diag(r1 , r2 , . . . , rn ) matriz diagonal, 45. D1/2 matriz raiz cuadrada, 45. ω coeficiente de relajaci´ on, 56. ⊗ producto tensorial de matrices, 60. kxkA norma natural, 72. Q matriz ortogonal, 87. A+ pseudo inversa de una matriz, 93. y[xi0 , . . . , xik ] diferencia dividida de orden k, 107. ∇k yi diferencia finita progresiva, 109. ¯ k yi ∇ diferencia finita regresiva, 109. Tn (x) polinomio de Chebichef, 113. li (x) polinomio de Lagrange, 116. Λn constante de Lebesgue, 116. fx′ aplicaci´ on derivada, 168. ρ(A) radio espectral, 171. ker nucleo de una aplicaci´ on lineal, 214. χA (λ) polinomio caracter´ıstico, 214. A∗ matriz adjunta, 215. U matriz unitaria, 215. Pk (τ ) nucleo de Peano de orden k, 251. Pk (x) polinomio de Legendre, 262. FN transformada discreta de Fourier, 286. y∗k producto de convoluci´on, 292.
Indice Alf´ abetico
acelerador de convergencia, 147, 276 Adams m´etodo expl´ıcito, 341 m´etodo impl´ıcito, 343 Aitken, 276 algoritmo, 2 bisecci´on, 161, 164 Cholesky, 43 epsilon, 278 Euclides, 157 Gauss, 37 H¨ orner, 3,7 aplicaci´ on de spline, 142 aproximaci´on de Broyden, 198 arm´onica, sucesi´on, 148 axiomas de Moore-Penrose, 96 BDF, m´etodos, 345 Broyden, 198 Brusselator, 339 Bulirsch, sucesi´on, 148 busqueda de Fibonacci, 129 de pivote parcial, 41 c´ alculo derivada, 177 c´ alculo variacional, 310 Cardano, 154 Cauchy, 297 cero localizaci´on, 155 multiplicidad, 105 Chebichef polinomio, 73, 113 puntos, 116 teorema, 74 cociente de Rayleigh, 223, 227 constante de Lebesgue, 116
condici´ on del problema a valores propios, 217 del problema lineal,30,33 de un problema, 10 de una matriz, 29,30 Lipschitz, 297,298 construcci´on polinomio de interpolaci´ on, 106 m´etodo de orden 4, 327 spline, 133 convergencia acelerador, 147 interpolaci´ on, 119 m´etodo de Gauss-Newton, 204 m´etodo de Gauss-Seidel, 49 m´etodo de Jacobi, 49 m´etodos de Runge-Kutta, 335 m´etodos multipaso, 350 spline, 133 costo, 3 descomposici´ on LR, 39 descomposici´ on QR, 90 transformada r´apida de Fourier, 291 Cramer, regla de, 35 Dahlsquist, primera barrera, 350 descomposici´ on Cholesky, 44, 45 Jordan, 219 LR, 37, 38, 39 QR, 87 Schur, 215, 234 valores singulares, 94 diferencias divididas, 107 finitas, 109 direcci´on conjugada, 69, 70 Newton, 194 dispositivo ideal de c´ alculo, 2 material de c´ alculo, 8 Dormand & Prince, 332
364 ecuaciones con derivadas parciales, 59 cuadr´aticas, 152 c´ ubicas, 153 de grado cuarto, 154 diferenciales, 296 Euler-Lagrange, 310 no resolubles por radicales, 155 resolubles por radicales, 152 eficiencia, 3 ǫ-algoritmo, 278 error de aproximaci´on, 5 de la aproximaci´on spline, 136 de interpolaci´ on, 111 del m´etodo, 5 de truncaci´on, 4 f´ormula de cuadratura, 250 extrapolaci´ on, 149 m´etodo gradiente, 68 m´etodo gradiente condicionado, 72 m´etodo Gauss-Newton, 205, m´etodo Multipaso, 346 m´etodo Newton, 176 transformada discreta de Fourier, 287 errores de redondeo, 115 estabilidad algoritmo de Gauss, 41,42,43 backward analysis, 13 forward analysis, 12 m´etodo de Euler, 319 m´etodo de Euler expl´ıcito, 322 m´etodo multipaso, 348 num´ericamente estable, 12 Euler efecto de los errores de redondeo, 317 estabilidad, 319 m´etodo, 313 m´etodo impl´ıcito, 321 pol´ıgono, 313 extrapolaci´ on polinomial, 145 tablero, 147 error, 149
´ betico Indice Alfa
factorizaci´ on, incompleta de Cholesky, 77 fen´ omeno de Runge, 124 FFT, 290 Fibonacci, busqueda, 129 formas tridiagonales, 227 f´ormula de Cardano, 154 de Newton, 107 de Nystr¨om, 354 de Rodr´ıguez, 262 f´ormula de cuadratura, 248 error, 250 Gauss, 264–266 orden, 249 orden elevado, 259 sim´etrica, 249 Fourier error, 287 serie de, 284 transformada, 284 transformada discreta, 286 transformada r´apida, 290 funcion integrable, 244 modelo, 83 ortogonal, 260 peso, 259 funciones con oscilaciones, 281 Galois, teorema, 155 GAUINT, 272 Gauss, algoritmo de eliminaci´on, 36, 37 f´ormulas de cuadratura, 264–266 convergencia Gauss-Newton, 204 m´etodo Gauss-Newton, 203 Gerschgorin, teorema, 156, 232 grado de aproximaci´on, 120 grafo dirigido, 49 Hermite, 104, 138 Heun, 325
´ betico Indice Alfa
Interpolaci´ on convergencia, 119 de Lagrange, 104–108 de Hermite, 104 trigonom´etrica, 289 Kantorovich, ver teorema Konrad, 271 Lagrange, 104 λ-estrategia, 194 Lebesgue, 116 Levenberg-Marquandt, 210 Lipschitz, 297 mantisa, 8 matriz adjunta, 215 definida positiva, 43 Frobenius, 155, 221 Hessenberg, 227 Hilbert, 31, 87 Householder, 88, 228 irreducible, 49, 50 no-negativa, 50 normal, 216 ortogonal, 30 pseudo-inversa de una, 92 sim´etrica, 43 tridiagonal, 227 Toeplitz, 292 unitaria, 215 Vandermonde, 31 m´etodo, Adamas expl´ıcitos, 341 Adamas impl´ıcitos, 343 a un paso, 323 BDF, 345 de la bisecci´on, 229 de la potencia, 223 de la potencia generalizada, 233 de la potencia inversa, 225 Dormand & Prince, 332 encajonados, 330 Euler, 313, 325 falsa posici´ on, 165 Gauss Newton, 203-205 Gauss Seidel, 48–56 Gradiente, 67 Gradiente Conjugado, 69 Gradiente Conjugado Precondicionado, 75
365 Heun, 325 iterativos, 163–172 iterativo simple, 169 Jacobi,48–56 Levenberg-Marquandt, 210 Maehly, 158 Multipaso, 341 Newton, 157, 174–199 Newton con Relajaci´ on, 193 Newton Simplificado, 184 predictor-corrector, 344 QR, 237 QR con shift, 238 Sobrerelajaci´ on SOR, 56, 58 Runge-Kutta, ver Runge-Kutta SSOR precondicionado, 78 m´ınicmos cuadrados, 83 interpretaci´on estad´ıstica, 84 interpretaci´on geom´etrica, 85 Misovski, ver teorema Newton-Misovski modificaciones de Gauss-Newton, 207 m´odulo de continuidad, 121 Newton direcci´on, 194 Kantorovich, 185 m´etodo, 157, 174–199 m´etodo con Relajaci´ on, 193 m´etodo simplificado, 184 Misovski, 179 regla de, 247 norma, absoluta, 26 ciudad-bloque, 25 de la convergencia uniforme, 25 de una matriz, 26 de un vector, 25 euclidiana, 25 Frobenius, 33 mon´otona, 26 natural, 72 Nucleo de Peano, 251–254 nucleo resolvente, 303 operaci´ on elemental, 2 orden f´ormula de cuadratura, 249 m´etodo de Runge-Kutta, 325 construcci´on de un m´etodo de orden 4, 327
366
´ betico Indice Alfa
Peano, 251–254 regi´on de estabilidad, 320 Pearson, 99 regla Perron-Frobenius, 52 del punto medio, 246 pivote, 40 del trapecio, 246 pol´ıgono de Euler, 313 de Newton, 247 polinomio de Simpson, 247 caracter´ıstico, 214 Cramer, 35 Chebichef, 73, 113, 262 resolvente, 303 Rodriguez, 262 Hermite, 104 interpolaci´ on de Hermite, 104, 138, 262 Romberg, 148 Runge-Kutta interpolaci´ on de Lagrange, 104 condiciones de orden, 327,328 Jacobi, 262 convergencia, 335 ortonormales, 260 error glogal, 335 Lagrange, 104, 105 error local, 325 Laguerre, 262 Dormand-Prince, 332 Legendre, 262, 263 esquema, 325 precisi´ on de la computadora, 8 Euler, 325 primitiva, 245 Heun, 325 problema, 2 Kutta, 330 a valor inicial, 296 m´etodos, 324 bien condicionado, 10 m´etodos encajonados, 330 con valores en la frontera, 300 orden, 325 de Cauchy, 296 regla 3/8, 330 de minimizaci´on, 66 Runge, 325 mal condicionado, 10 soluciones continuas, 333 potencia inversa de Wielandt, 225 procedimienteo ∆2 de Aitken, 276 Schur, 215,234 producto serie de Fourier, 284 de Kronecker, 65 Shooting escalar de funciones, 260 m´ ultiple, 307 sesquilineal, 284 simple, 303 tensorial de matrices, 60 soluciones continuas, 333 Property A de Young, 55 SOR, 56 punto Spline flotante, 8 aplicaci´ on,142 de Chebichef, 117 construcci´on, 133 punto fijo, 169 c´ ubico, 131,132 pseudo-inversa de una matriz, 92 error, 136 fijo en los bordes, 132 QUADPACK, 271 natural, 132 SSOR precondicionado, 78 Rayleigh, 223,227 radio espectral, 58 redondeado, 8
´ betico Indice Alfa
ω optimal, 58 Sturm, 159 sucesiones arm´onica, 148 Bulirsch, 148 Romberg, 148 Sturm, 159 Sylvester, 232 tablero de extrapolaci´ on, 147 teorema Cauchy-Lipschitz, 297, 315 Chebichef, 74 Dirichlet, 285 del Muestreo, 289 Fundamental del Algebra, 152 Galois, 155 Gerschgorin, 156, 232 Jordan, 219 Newton-Kantorovich, 185 Newton-Misovski, 179 Pearson, 99 Perron-Frobenius, 52 punto fijo, 169 Schur, 215 Sylvester, 232 Weirstrass, 124 Wilkinson, 42 Wynn, 278 transformada discreta de Fourier, 286 r´ apida de Fourier, 290 valor absoluto de un vector, 26 valor propio, 215 valores singulares, 94 Van der Pol, 305 vector propio, 215 Weirstrass, 124 Wilkinson, 42 Wynn, 278
367
368
´ betico Indice Alfa
Una Introducci´ on al An´ alisis Num´ erico es un libro que pretende dar un enfoque moderno de los t´opicos introductorios de esta disciplina. Las nociones de estabilidad y error son analizadas minuciosamente en cada tema. La formulaci´on de m´etodos y algoritmos es tratada de una manera construccionista, evitando de esta manera las recetas y trucos que aperecen en otros libros. El libro cuenta con siete cap´ıtulos que dan una idea de lo que constituye actualmente el An´ alisis Num´erico. Estos son: Preliminares, Sistemas Lineales, Interpolaci´ on, Ecuaciones No Lineales, C´alculo de Valores Propios, Integraci´on Num´erica y Ecuaciones Diferenciales. Por sus caracter´ısticas, este libro puede utilizarse como texto base, o bien como un complemento bibliogr´afico. Est´a destinado a alumnos o profesionales interesados en el An´ alisis Num´erico. Como prerequisito para una buena utilizaci´ on de este libro, se requiere tener los conocimientos b´ asicos de an´alisis y ´algebra lineal