779 145 2MB
Spanish Pages [376]
Hans C. Muller S.C.
Una Introduccion al Analisis Numerico
i
Hans C. Muller S.C.
Una Introduccion al Analisis Numerico Con 55 guras
ii
Hans C. Muller Santa Cruz Departamento de Matematicas Facultad de Ciencias y Tecnologa Universidad Mayor de San Simon Casilla 992, Cochabamba, Bolivia e-mail [email protected]
Prologo La Facultad de Ciencias y Tecnologa tiene 17 a~nos de vida, perodo que ha sido fructfero en el ambito universitario, porque se han creado carreras tecnologicas, como cient cas, haciendo enfasis a una investigacion cient ca seria como un mecanismo de garantizar una excelencia academica. La Carrera de Matematicas, una de nuestras Carreras de reciente creacion, esta inscrita dentro este marco. Ahora bien, la Universidad Mayor de San Simon consciente de esta situacion, ha conseguido convenios de cooperacion internacional, como es el caso del Programa MEMI, Programa de Mejoramiento de la Ense~nanza de la Matematica y la Informatica. De los objetivos principales de este programa es fortalecer el area de las matematicas, incentivar la difusion de las diferentes ramas de las matematicas en el medio universitario y fuera de este. La Universidad y sus autoridades, dentro de sus polticas academicas y de investigacion, han tenido la vision de conseguir los servicios de los mejores profesionales en esta disciplina y Hans Muller es uno de ellos. El autor del libro, Hans Muller Santa Cruz, es un joven matematico boliviano que ha regresado a su pas para compartir los conocimientos adquiridos en en la Universidad de Ginebra, Suiza. Actualmente es el Coordinador del Programa Magister en Matematicas, programa implementado de manera conjunta entre la Universidad Mayor de San Simon y la Universidad Catolica del Norte, Chile. Ha dictado un curso de Elementos Finitos, destinado a los docentes en nuestra superior Casa de Estudios; en La Paz, bajo invitacion ha impartido cursos tutoriales en la Academia de Ciencias en temas relacionados a las matematicas aplicadas. El y otros profesionales de su area, estan transformando la manera de hacer matematicas en la Facultad de Ciencias y Tecnologa. Los topicos tratados en este libro estan muy relacionados con los cambios estructurales que ha ocasionado la introduccion masiva de sistemas informaticos. En efecto, la utilizacion masiva del computador ha permitido al Hombre efectuar calculos que en otra epoca hubiese sido impensable realizarlos. En la actualidad es muy corriente simular numericamente experiencias, que en laboratorio son muy complicadas, costosas o peligrosas, o simplemente imposible de experimentarlas. Los problemas de optimizacion son abordables gracias a la utilizacion del ordenador y no faltan situaciones en las cuales el uso de estos dispositivos de calculo, no solamente son de gran ayuda, sino indispensables. El Analisis Numerico es la rama de las Matematicas, cuyo campo de accion es el estudio y analisis de los diferentes algoritmos
iv
Pro logo
y metodos numericos que se utilizan para resolver los problemas mediante computadoras. El libro \Una Intruduccion al Analisis Numerico" presenta los temas basicos del Analisis Numerico de una manera rigurosa, permitiendo que el lector pueda adquirir los conocimientos matematicos necesarios para profundizar en topicos mas especializados o simplemente pueda concebir e implementar metodos numericos 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 academica. Cochabamba, septiembre de 1996
Ing. Alberto Rodrguez Mendez Rector de la Universidad Mayor de San Simon
Prefacio Este libro nace ante el vacio existente de una bibliografa en espa~nol que trate los temas capitales del Analisis Numerico. El nombre que lleva, \Una Introduccion al Analisis Numerico", se debe esencialmente al caracter que deseo que tenga este libro. El Analisis Numerico es una disciplina de las Matematicas en gran crecimiento gracias a la utilizacion masiva de medios informaticos. Da que pasa es mas corriente el tratamiento numerico en las Ciencias, como en la Tecnologa; el modelaje, la simulacion numerica son moneda corriente. Ahora bien, toda persona que pretenda tener como herramienta de trabajo, los metodos numericos, debe conocer los topicos introductorios del Analisis Numerico que son: Sistemas Lineales, Interpolacion, Resolucion de Ecuaciones no Lineales, Calculo de Valores Propios y Solucion Numerica de Ecuaciones Diferenciales, porque tarde o temprano se topara con alguno de estos temas. Siguiendo la lnea trazada por este libro, este contiene siete captulos: el primero de caracter introductorio, donde se da los conceptos basicos de error y estabilidad, seguido de un ejemplo mostrando que la aritmetica del punto
otante no es un impedimento para efectuar calculos de precision arbitraria; el segundo captulo trata sobre los problemas lineales mas comunes y los metodos de solucion de estos; el tercer captulo aborda el tema de interpolacion numerica y extrapolacion, introduciendo el estudio de los splines cubicos; el captulo IV analiza los problemas no lineales y los metodos mas e cientes de resolucion de estos; en el captulo V se estudia el problema de valores propios y la implementacion de metodos numericos para el calculo de valores propios; el captulo sexto trata de la integracion numerica y la transformada rapida de Fourier y nalmente el captulo VII estudia los problemas diferenciales y los metodos numericos de resolucion mas usuales de estos problemas. Practicamente el contenido de este libro ven los estudiantes de segundo a~no de las Carreras de Matematicas e Informatica 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 basicos del Analisis Real y Complejo, como tambien tener una buena base de Algebra Lineal. Por consiguiente, este libro esta destinado a estudiantes universitarios que siguen la asignatura de Analisis Numerico, como as mismo toda persona interesada en Analisis Numerico 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 bibliogra co. Debo agredecer a mis profesores de la Universidad de Ginebra, E. Hairer y G. Wanner cuyos cursos han servido de base para la elaboracion 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 Matematicas e Informatica, de la Universidad Mayor de San Simon este libro no habra existido. As mismo agradezco a mi familia, mis colegas y amigos que seguieron con inters la elaboracion de este libro. El libro ha sido transcrito en TEX y las gra cas realidas en las subrutinas gra cas FORTRAN que G. Wanner me las cedio muy gentilmente. La transcripcion, como la ejecucion de los programas en sido realizados sobre una WorkStation HP-9000. Posiblemente este libro contenga muchos errores, me gustara que los hagan conocer, para que en una segunda edicion estos sean corregidos. Octubre, 1995
Hans C. Muller S.C.
Contenido I. Preliminares
I.1 Algoritmos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6
I.2 Estabilidad : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 I.3 Un ejemplo: Calculo de PI : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15
II. Sistemas Lineales
II.1 Condicion del Problema Lineal : : : : : : : : : : : : : : : : : : : : : : : : : : 25 II.2 II.3
II.4
II.5
Normas de Vectores y Matrices : : : : : : : : : : : : : : : : : : : : : : : : : : : : La Condicion de una Matriz : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos Directos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : El Algoritmo de Gauss : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : El Algoritmo de Cholesky : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos Iterativos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos de Jacobi y Gauss-Seidel : : : : : : : : : : : : : : : : : : : : : : : : : El Teorema de Perron-Frobenius : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo de Sobrerelajacion SOR : : : : : : : : : : : : : : : : : : : : : : : : : : : Estudio de un Problema Modelo : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos Minimizantes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo del Gradiente : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo del Gradiente Conjugado : : : : : : : : : : : : : : : : : : : : : : : : : : Polinomios de Chebichef : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo del Gradiente Conjugado Precondicionado : : : : : : : : : Resultados Numericos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Mnimos Cuadrados : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : La descomposicion QR : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : La Pseudo-Inversa de una Matriz : : : : : : : : : : : : : : : : : : : : : : : : : : Error del Metodo de los Mnimos Cuadrados : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
25 29 33 35 36 43 47 48 48 52 56 59 64 66 68 69 73 75 78 81 83 87 92 96 101
viii
Contenido
III. Interpolacion
III.1 Interpolacion de Lagrange : : : : : : : : : : : : : : : : : : : : : : : : : : : : 104 Bases Teoricas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Construccion del Polinomio de Interpolacion : : : : : : : : : : : : : : El Error de Interpolacion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Polinomios de Chebichef : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Estudio de los Errores de Redondeo : : : : : : : : : : : : : : : : : : : : : : Convergencia de la Interpolacion : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : III.2 Splines Cubicos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Construccion del Spline Interpolante : : : : : : : : : : : : : : : : : : : : : : El Error de la Aproximacion Spline : : : : : : : : : : : : : : : : : : : : : : : Aplicacion de Spline : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : III.3 Extrapolacion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
104 106 111 113 115 119 129 131 133 136 142 143 145 150
IV. Ecuaciones No Lineales
IV.1 Ecuaciones Polinomiales : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152 Ecuaciones Resolubles por Radicales : : : : : : : : : : : : : : : : : : : : : : Ecuaciones No Resolubles por Radicales : : : : : : : : : : : : : : : : : : Localizacion de Ceros : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo de Newton : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Sucesiones de Sturm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : IV.2 Metodos Iterativos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Posicion del Problema : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo de la Falsa Posicion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Sistema de Ecuaciones : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Un Metodo Iterativo Simple : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : IV.3 Metodo de Newton : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : El Teorema de Newton-Misovski : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo de Newton Simpli cado : : : : : : : : : : : : : : : : : : : : : : : : : : Metodo de Newton con Relajacion : : : : : : : : : : : : : : : : : : : : : : : : Aproximacion de Broyden : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : IV.4 Metodo de Gauss Newton : : : : : : : : : : : : : : : : : : : : : : : : : : : : Convergencia del Metodo de Gauss-Newton : : : : : : : : : : : : : : : Modi caciones del Metodo de Gauss-Newton : : : : : : : : : : : : : El Metodo de Levenber-Marquandt : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
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. Calculo de Valores Propios
V.1 Teora Clasica y Condicion del Problema : : : : : : : : : : 214 La Condicion del Problema a Valores Propios : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : V.2 Determinacion de Valores Propios : : : : : : : : : : : : : : : : : : : El Metodo de la Potencia : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Formas Tridiagonales y Formas de Hessenberg : : : : : : : : : : : : Teorema de Sturm y el Algoritmo de la Biseccion : : : : : : : : : Generalizacion del Metodo de la Potencia : : : : : : : : : : : : : : : : : El Metodo QR : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
217 221 223 223 227 229 233 237 241
VI. Integracion Numerica
VI.1 Bases Teoricas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 244 Formulas de Cuadratura : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : El Orden de una Formula de Cuadratura : : : : : : : : : : : : : : : : : Estimacion del Error : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : VI.2 Cuadraturas de Orden Elevado : : : : : : : : : : : : : : : : : : : : : : Polinomios Ortogonales : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Los Polinomios de Legendre : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Las Formulas de Cuadratura de Gauss : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : VI.3 Implementacion Numerica : : : : : : : : : : : : : : : : : : : : : : : : : : : : Tratamiento de Singularidades : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : VI.4 Transformacion de Fourier : : : : : : : : : : : : : : : : : : : : : : : : : : : : Estudio del Error : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Interpolacion Trigonometrica : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Transformacion Rapida de Fourier FFT : : : : : : : : : : : : : : : : : : Aplicaciones de FFT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
248 249 250 256 258 259 263 264 267 269 273 282 284 287 288 290 292 293
VII. Ecuaciones Diferenciales
VII.1 Generalidades : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 296 Teoremas de Existencia y Unicidad : : : : : : : : : : : : : : : : : : : : : : : Problemas con Valores en la Frontera : : : : : : : : : : : : : : : : : : : : : Diferenciabilidad respecto a los Valores Iniciales : : : : : : : : : : Simple Shooting : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Shooting Multiple : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
297 300 300 303 307 311
x
Contenido
VII.2 Metodo de Euler : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 313 Efectos de los Errores de Redondeo : : : : : : : : : : : : : : : : : : : : : : : Estabilidad del Metodo de Euler : : : : : : : : : : : : : : : : : : : : : : : : : Metodo de Euler Impcito : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : VII.3 Metodos de Runge-Kutta : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Construccion de un Metodo de Orden 4 : : : : : : : : : : : : : : : : : : Metodos Encajonados : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Soluciones Continuas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Convergencia de los Metodos de Runge-Kutta : : : : : : : : : : : : Experiencias Numericas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : VII.3 Metodos Multipasos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos de Adams Explcitos : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos de Adams Implcitos : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos Predictor-Corrector : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Metodos BDF : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Estudio del Error Local : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Estabilidad : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Convergencia de los Metodos Multipaso : : : : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
317 319 321 322 323 327 330 333 335 338 340 341 341 343 344 345 346 348 350 353
Bibliografa : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 355 Indice de Smbolos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 359 Indice Alfabetico : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 361
Captulo I Preliminares Con la utilizacion masiva de sistemas informaticos en la resolucion de problemas a todo nivel, el Analisis Numerico ha tenido un gran desarrollo en las ultimas decadas, como una rama integrante de las Matematicas. En este primer captulo se expondra las nociones de base que sustentan el Analisis Numerico, para ser utilizadas en los captulos posteriores. La primera seccion estara dedicada a estudiar los algoritmos como una composicion de operaciones elementales, partiendo de un dispositivo ideal de calculo. Se analizara las nociones de e ciencia y error de un algoritmo. En la segunda seccion se analizara el problema algortmico a partir de los dispositivos materiales con que se cuenta en la actualidad, es decir ordenadores o computadoras. En esta seccion se estudiara la representacion en punto otante de un numero real y su redondeo en la computadora. Se introducira la nocion de precision de una computadora y la relacion de esta con el concepto de estabilidad, en sus diferentes versiones, de un algoritmo. En la tercera y ultima seccion de este captulo, se vera que las limitaciones impuestas por la representacion en punto otante, no es una restriccion para calcular con la precision que se requiera. Prueba de esto, sera calculado, como un ejemplo ilustrativo, con 10000 decimales de precision.
I.1 Algoritmos En esta seccion se supondra que se cuenta con un dispositivo ideal de calculo, es decir una computadora de precision exacta, situacion que no sucede en la realidad. El cuerpo de base sera R, a menos que se especi que lo contrario. Este dispositivo esta provisto de ciertas operaciones cuya accion se efectua en un tiempo nito, por ejemplo es capaz de realizar las 4 operaciones aritmeticas elementales, mas algunas como la radicacion, la exponenciacion y las otras funciones elementales que se estudian en un curso de Calculo I. Por consiguiente, se tiene la primera de nicion. De nicion I.1.1.- Una operacion elemental es una operacion matematica o funcion cuya accion se la efectua en un tiempo nito y que ademas el dispositivo ideal la puede realizar. Inicialmente se supondra que las cuatro operaciones aritmeticas como: la adicion, la multiplicacion, la sustraccion y la division son posibles en este dispositivo de calculo. De esta manera es posible evaluar toda funcion polinomial, toda funcion racional, en una cantidad nita de pasos o composicion de operaciones elementales. De nicion I.1.2.- Un algoritmo es una sucesion nita de operaciones elementales. Si se denota por fi una operacion elemental, un algoritmo es la composicion de n operaciones elementales, es decir
f = fn fn;1 f2 f1 :
(I:1:1)
Por otro lado, el dispositivo de calculo con el que se cuenta tiene la nalidad de evaluar la o las soluciones de un problema matematico, siempre que sea posible hacerlo. Ahora bien, lo que cuenta en este estudio es el resultado, de donde la: De nicion I.1.3.- Un problema es darse un dato x 2 Rn y obtener un resultado P (x) 2 R. En consecuencia, son problemas todas las funciones cuyo dominio es un espacio vectorial real de dimension nita, cuya imagen esta incluida en la recta real. Una funcion cuya imagen esta incluida en un espacio de dimension mas grande que 1, puede ser interpretada como un conjunto de problemas, donde cada problema es la funcion proyeccion correspondiente. Las ecuaciones pueden ser vistas como problemas, pero antes aclarando cual de las soluciones se esta tomando.
3
I.1 Algoritmos
Es necesario recalcar que problema y algoritmo son conceptos diferentes, aunque de alguna manera ligados. Considerese 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 esta de nido, con la convencion 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 Horner, el cual esta 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 evaluan el polinomio P (x), sin embargo en el primero se requiere: 1 + + n ; 1 multiplicaciones para evaluar las potencias, n multiplicaciones para evaluar los terminos de la forma ai xi y nalmente n adiciones, lo cual hace un total de
n(n + 3) operaciones elementales. (I:1:5) 2 El algoritmo de Horner requiere a cada paso de una multiplicacion y una adicion lo cual es igual a 2n operaciones elementales.
(I:2:6)
Por lo tanto, puede observarse claramente que el algoritmo de Horner es mas e ciente que el primero, pues la implementacion de este efectua menos operaciones elementales. El concepto de e ciencia de un algoritmo esta 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 adicion que para una multiplicacion. Cada operacion elemental toma cierto tiempo en efectuarse, que en general depende de la computadora y el lenguaje en el que esta escrito el programa. Es
4
I Preliminares
por eso, que es mas conveniente medir la e ciencia en terminos de tiempo ejecutado, en lugar del numero de operaciones elementales ejecutadas. Con lo argumentado se puede formular una primera de nicion de e ciencia. De nicion I.1.4.- El costo del algoritmo fn fn, esta dado por
C = m1 + m2 + : : : + mn ; (I:1:7) donde mi es el tiempo de ejecucion de fi . Si C1 y C2 son los costos en tiempo de dos algoritmos que resuelven el mismo problema, se dira que el primer algoritmo es mas e ciente que el segundo si C1 C2 . Tal como se dijo al inicio de esta seccion, el dispositivo ideal con el que se cuenta, puede efectuar una cantidad nita de operaciones elementales. Suponiendo nuevamente, que solamente se cuenta con las cuatro operaciones aritmeticas, las unicas 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 ningun algoritmo que sea la composicion de adiciones, multiplicaciones, sustracciones o divisiones, que permita calcular una raiz cuadrada; evaluar funciones trigonometricas, exponenciales o logartmicas. Sin embargo, existen procedimientos matematicos que permiten aproximar estas funciones de manera arbitraria. Los mas comunmente utilizados: son las series de Taylor, las fracciones continuas y algunos metodos iterativos. Todos estos metodos estan sustentados en las nociones de lmite, de continuidad, derivabilidad dados en los cursos de Calculo y Analisis. A continuacion se vera un ejemplo ilustrativo, donde se introducira la nocion del error de truncacion. Considerese la funcion exponencial, cuyo desarrollo en serie de Taylor esta dada por ex =
1 xk X k=0 k !
:
(I:1:8)
Es evidente que ex no puede evaluarse en un numero nito de pasos, para un x dado, sin embargo en lugar de evaluar ex , uno se puede contentar evaluando una cantidad nita de terminos de la serie de Taylor, es decir
p(x) =
n xk X
k=0 k !
;
(I:1:9)
para un n jado de antemano. La diferencia entre ex y p(x) es el error de truncacion de ex respecto a p(x). Este error de truncacion es del orden O(xn+1 ) cuando x tiende a 0. El nombre de truncacion proviene del hecho que para evaluar ex se ha despreciado una parte de la serie. Por consiguiente, el error de truncacion puede de nirse como:
I.1 Algoritmos
5
De nicion I.1.5.- Sean P (x), P 0(x) dos problemas. El error de truncacion de P (x), respecto de P 0 (x) esta dado por P (x) ; P 0 (x): (I:1:10) El nombre que tiene este error, como se dijo mas arriba, es debido a que la la serie de Taylor es truncada a un numero nito de terminos. No obstante, existe una gran diversidad de metodos que aproximan a la solucion del problema utilizando otro tipo de argumentos, en este caso es mas conveniente utilizar el nombre de error de aproximacion o error del metodo; de todas formas es cuestion de gusto. El concepto de e ciencia ha sido de nido para aquellos problemas donde se puede encontrar la solucion mediante un algoritmo. Para aquellos problemas, donde no es posible encontrar un algoritmo que de la solucion y suponiendo que es posible aproximar la solucion de manera arbitraria mediante un metodo algortmico, la e ciencia esta ligada al costo en operaciones, como tambien al error del metodo. En esta situacion la e ciencia es un concepto mas subjetivo que depende de alguna manera del usuario, pues existen problemas donde el error de aproximacion debe ser lo mas peque~no posible, y otros problemas donde la exactitud no es un requisito primordial.
Ejemplos
1.- Considerese el problema, determinar . Utilizando la identidad arctan 1 = 4 y que la serie de Taylor en el origen esta dada por 1 (;1)k X arctan x = 2k + 1 x2k+1 ; (I:1:11) k=0 se puede obtener un metodo que aproxime , pero el problema de este metodo es su convergencia demasiado lenta; es mas, para x = 1 la serie (I.1.11) no es absolutamente convergente. Otro metodo que permitira aproximar , consiste en utilizar el hecho que arccos(1=2) = 3 y desarrollando arccos en serie de Taylor, se obtiene un metodo cuya convergencia es mucho mas rapida. p 2.- Consid p 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 mas 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 metodo.
6
I Preliminares Iteracion 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 sucesion de nida recursivamente por: a0 = 1; an+1 = 12 an + a1 : n Esta sucesion es convergente py se deja al lector la demostracion para que veri que que el lmite es 2. En la tabla siguiente se tiene los seis primeros terminos de la sucesion. Efectuando unas cuantas iteraciones se obtiene: Iteracion 0 1 2 3 4 5
an
1.0 1.5 1.41666666666667 1.41421568627451 1.41421356237469 1.4142135623731
Puede p observarse inmediatamente, que el segundo metodo para determinar 2 es mas e ciente que el primer algoritmo.
Ejercicios 1.- Supongase que, el dispositivo de calculo, con el que se cuenta, puede efectuar la division 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 comun divisor de a y b. b) Utilizando el inciso precedente, implementar otro algoritmo que permita calcular m; n 2 Z, tales que mcd(a; b) = ma + nb:
7
I.1 Algoritmos
c) Estudiar la situacion mas desfavorable, aquella donde el costo en operaciones es el mas alto. Deducir una estimacion de la e ciencia del algoritmo. 2.- Suponiendo que, el dispositivo de calculo puede efectuar la division con resto, con la particularidad siguiente:
a = pb + r
y
; j2bj < r j2bj :
a) Mostrar que el algoritmo implementado en el ejercicio 1a), puede implementarse para esta nueva division con resto. b) Veri car que, el nuevo algoritmo es mas e ciente que aquel con division con resto normal. Encontrar una estimacion de costo del algoritmo. 3.- Para el polinomio p(x) = a0 + a1 x + + an xn , el algoritmo de Horner (I.1.9) esta de nido 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 p0 (x0 ) = q(x0 ). Veri car que p(x) = b0 + (x ; x0 )q(x). b) Generalizar el algoritmo de Horner, de tal forma que se pueda calcular p(x0 ) y p0 (x0 ) al mismo tiempo. 4.- Una regla y compas constituyen un dispositivo de calculo. Supongase que se conocen dos puntos O y P tales que OP sea de longitud 1. a) Mostrar que, ademas de las 4 operaciones aritmeticas elementales, la radicacion puede obtenerse a partir de un numero nito de manipulaciones de reglapy compas. p b) Construir 1 + p 10. c) Intentar construir 3 2. >Es posible?
I.2 Estabilidad En esta seccion, a diferencia de la precedente, se analizara el problema de los algoritmos y metodos numericos desde el punto de vista de un dispositivo material real, mas conocido como computadora. Para comenzar existen esencialmente dos tipos de numeros en la aritmetica de un ordenador: el tipo entero cuya aritmetica es igual a la de los numeros enteros, con la diferencia que el tipo entero de un ordenador es un conjunto nito, motivo por el cual se tiene que tener cuidado con los over ows en las operaciones aritmeticas; el segundo tipo de numero es el real, en sus diferentes versiones, la idea de este tipo de numero es la representacion de un numero real en punto otante, es decir todo numero real no nulo x se puede escribir de manera unica como
x = a 10b ;
donde jaj < 1; b 2 Z;
(I:2:1)
a se llama mantisa y b el exponente. Los numeros reales solo tienen una representacion parcial en el tipo real de un ordenador por limitaciones fsicas del dispositivo, por consiguiente un numero real estara en una clase de equivalencia de tipo de numero real. Esta representacion de numero real esta dada por la precision de la computadora. Cuando se trabaja sobre un computador, se tiene a disposicion un numero nito de cifras, por ejemplo l, para la mantisa, Si a denota el redondeado de a, se trabaja en realidad con arr(x) = a 10b
p
(I:2:2)
en lugar de x. De esta manera, el numero 2 = 1:414213562 : : : esta representado por p arr( 2) = 0:141421356 101 ; si se calcula con l = 8 cifras en base 10. Como se dijo mas arriba, el redondeo esta determinado por la precision de la computadora. Esta precision esta dada por un numero dado por la: De nicion I.2.1.- Se denota por eps, el numero positivo mas peque~no tal que arr(1 + eps) > 1: (I:2:3) Este numero eps llamado precision de la computadora esta dado por los siguientes hechos: si los calculos 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 | {z: : : 1} 101 > 1; l
l
deduciendose, por consiguiente
eps = 5:10;l;
(I:2:4)
si se realiza el mismo calculo 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:
eps = 2;24 5:96 10;8; eps = 2;55 1:39 10;17; eps = 2;113 9:63 10;35: Ahora bien, un numero real y su representacion en punto otante en una computadora estan relacionados por el: Teorema I.2.2.- Para x 6= 0, se tiene jarr(x) ; xj eps: (I:2:6) jxj REAL4; REAL8; REAL16;
Demostracion.- Sea x = a 10b y arr(x) = a 10b. Si se redondea a l cifras signi cativas se tiene ja ; aj 5 10;l;1; de donde
jarr(x) ; xj = ja ; aj 10b 5:10;l;1 = 5 10;l = eps jxj 10;1 jaj 10b por que jaj 1=10:
La estimacion dada por (I.2.6) puede ser escrita bajo la forma
arr(x) = x(1 + ); donde jj eps:
(I:2:7)
Como se vera mas adelante, la relacion (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 solucion de los problemas, pues ya no se resuelve con los datos exactos, si no con los datos redondeados. Considerese la ecuacion de segundo grado p x2 ; 2 2x + 2 = 0; p cuya solucion x = 2 es un cero de multiplicidad 2. Resolviendo en simple precision, la computadora da un mensaje de error, debido a que p arr( 2) = 0:141421 10; p arr(arr( 2)2 ; 2) = ;0:119209 10;6 : Como puede observarse, la manipulacion de ciertos problemas utilizando la aritmetica del punto otante puede ocasionar grandes di cultades, como en el ejemplo anterior. Es por eso necesario introducir el concepto de condicion de un problema, el cual esta dado en la: De nicion I.2.3.- Sea P (x) un problema dado por P : Rn ! R. La condicion del problema P es el numero mas peque~no positivo , tal que jxi ; xi j eps ) jP (x) ; P (x)j eps: (I:2:8) jxi j jP (x)j Se dice que el problema P es bien condicionado si no es demasiado grande, sino el problema es mal condicionado. En la de nicion, eps representa un numero peque~no. Si eps es la precision de la computadora entonces xi 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 mas sobre la condicion de un problema se analizara los siguientes dos ejemplos.
Ejemplos
1.- Multiplicacion de dos numeros reales. Sean x1 y x2 reales, considerese el problema calcular P (x1 ; x2 ) = x1 x2 . Para los dos valores perturbados x1 = x1 (1 + 1 ); x2 = x2 (1 + 2 ); ji j eps; (I:2:9) se obtiene x1 x2 ; x1 x2 = (1 + )(1 + ) ; 1 = + + : 1 2 1 2 1 2 x1 x2 Puesto que eps es un numero peque~no, el producto 1 : 2 es despreciable respecto a j1 j + j2 j, de donde x x ; x x 1 2 1 2 2 eps: (I:2:10) x1 x2
I.2 Estabilidad
11
Por consiguiente, = 2. El problema es bien condicionado. 2.- Adicion de numeros reales. Para el problema P (x1 ; x2 ) = x1 + x2 , por analoga al ejemplo precedente, se obtiene (x + x ) ; (x + x ) x ; x jx j + jx j 1 2 1 2 = 1 1 2 2 1 1 eps: (I:2:11) x1 + x2 x1 + x2 jx1 + x2 j Si x1 y x2 son de signos iguales, se tiene = 1, de donde el problema es bien condicionado. + jx1 j se convierte en Pero, si x1 ;x2 , la condicion = jjxx1 j + 1 x2 j una cantidad muy grande. Motivo por el cual el problema esta mal condicionado. Para mejor ilustrar el efecto de condicion muy grande, considerese el siguiente ejemplo numerico. 1; 1 ; para el cual 2=50 = 100: x1 = 51 x2 = ; 52 (1=50)2 Realizando el calculo con 3 cifras signi cativas en base 10, se obtiene x1 = :196 10;1, x2 = ;:192 10;1 y x1 + x2 = :400 10;1. Como las dos primeras cifras son las mismas para x1 y x2 , la adicion las ha hecho desaparecer y no hay mas que una cifra que es signi cativa. El resultado exacto es 1=(51 52) = 0:377 10;3. Respecto a la de nicion de condicion, se debe observar dos situaciones. La primera, si uno de los xi = 0, entonces se tiene xi = 0; la segunda sucede cuando P (x) = 0, la condicion se la calcula pasando al lmite. Una vez de nida la condicion de un problema, el siguiente paso es ver la incidencia que tienen los errores de redondeo en la implementacion de un algoritmo para resolver un problema dado. Tal como se dijo en la seccion precedente, un algoritmo es una sucesion nita de operaciones elementales, es decir P (x) = fn(fn;1 (: : : f2 (f1 (x)) : : :)): (I:2:12) La ampli cacion del error, efectuando la operacion fi , esta dada por la condicion (fi ). Por consiguiente: Proposicion I.2.4.- El algoritmo que resuelve el problema dado por (I.2.12), tiene la estimacion siguiente (P ) (f1 ) (f2 ) (fn ): (I:2:13)
Demostracion.- Por induccion sobre n. Para n = 1, el resultado es trivial. Supongase, 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 0 (x));
utilizando la de nicion de condicion se tiene jP 0 (x) ; P 0 (x)j (P 0 )eps jP 0 (x)j 0 0 ) jfn+1 (Pjf(x)) (;P 0f(nx+1))j(P (x))j (fn+1 )(P 0 )eps: n+1 Finalmente utilizando la hipotesis de induccion, se tiene (I.2.13). De nicion I.2.5.- Un algoritmo es numericamente estable, en el sentido de forward analysis, si
(f1 ) (f2 ) (fn ) Const (P )
(I:2:14)
donde Const no es demasiado grande. La formula (I.2.14) expresa el hecho de que la in uencia de los errores de redondeo durante el calculo de P (x) no es mucho mas grande que la in uencia de los errores en los datos, lo que en realidad es inevitable.
Ejemplo
Sea x = 104 y considerese el problema de calcular 1=(x(1 + x)). Se examinara los dos algoritmos siguientes: El primero de nido por % x & x x(x + 1) ;! x(x 1+ 1) : & % x+1 Las operaciones efectuadas son muy bien condicionadas, por consiguiente, este algoritmo es numericamente estable. El segundo algoritmo de nido 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 ultima operacion, la sustraccion, es muy
13
I.2 Estabilidad
mal condicionada, porque 1=x 1=(x + 1). Entonces, este algoritmo es numericamente inestable. La veri cacion, si un algoritmo es estable en el sentido de forward analysis, sobre todo si el numero de operaciones es elevado, es a menudo muy compleja y di cil. Por esta razon, Wilkinson introdujo otra de nicion de la estabilidad de un algoritmo. De nicion I.2.6.- Un algoritmo para resolver el problema P (x) es numericamente estable en el sentido de backward analysis si el resultado numerico y puede ser interpretado como un resultado exacto para los datos perturbados x, es decir y = P (x), y si
jxi ; xi j Const eps; jxi j
(I:2:15)
donde Const no es demasiado grande y eps es la precision de la computadora. De la de nicion 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 condicion del problema.
Ejemplo
Considerese el problema de calcular el producto escalar x1 x2 + x3 x4 . Para calcular este, se utiliza el algoritmo x x % 1 2& (x1 ; x2 ; x3 ; x4 ) x1 x2 + x3 x4 : (I:2:16) & x1 x2 % El resultado numerico bajo la in uencia de los errores de redondeo es
;x (1 + ) x (1 + )(1 + ) + x (1 + ) x (1 + )(1 + )(1 + ); 1
1
2
2
1
3
3
4
4
2
3
donde ji j ; jj j eps. Este resultado es igual a x1 x2 + x3 x4 , si se plantea
x1 = x1 (1 + 1 )(1 + 1 ); x2 = x2 (1 + 2 )(1 + 3 );
x3 = x3 (1 + 3 )(1 + 2 ); x4 = x4 (1 + 4 )(1 + 3 ):
Despreciando los productos de la forma i j , la relacion (I.2.15) es satisfecha con Const = 2. Por lo tanto, el algoritmo (I.2.16) siempre es numericamente estable en el sentido de backward analysis. El ejemplo precedente muestra que un algoritmo puede ser estable, incluso si el problema esta mal condicionado. En consecuencia, es necesario bien distinguir las nociones de estabilidad y condicion.
14
I Preliminares
Ejercicios 1.- >Cual es la condicion de la sustraccion de dos numeros? 2.- Determinar la condicion del problema P (x1 ; x2 ) = x1 =x2 con x2 6= 0. 3.- Hallar la condicion del calculo del producto escalar
hx; yi =
n X i=1
xi yi :
4.- Mostrar que el sistema lineal
(
ax + by = 1 ; con ad 6= bc cx + dy = 0
es numericamente estable en el sentido de backward analysis. 5.- Las raices del polinomio x2 ; 2px ; q = 0 son:
p
1 = p + p2 + q;
p
2 = p ; p2 + q:
Mostrar que para p > 0, grande, y q 0, muy peque~no, este algoritmo es numericamente inestable. Utilizando la relacion 1 2 = q, encontrar un algoritmo que es numericamente estable en el sentido de backward analysis.
I.3 Un ejemplo: Calculo de Pi En las seccion precedente se ha visto que el dispositivo material que efectua los calculos numericos tiene en general dos tipos de numeros: los enteros que se asemejan mucho a los enteros matematicos y el tipo real que es una representacion del numero real. Tal como se mostro, ambos tipos de numero presentan ciertas particularidades, por ejemplo son en cantidad nita, para el tipo real existe el redondeo de los numeros. Por consiguiente si se utiliza el tipo real para determinar , se tendra una precision de 8 decimales; para doble precision se obtendra 16 decimales de precision; para cuadruple precision, que algunos lenguajes de programacion cuentan, se obtendra 32 decimales de precision. Por lo tanto, la precision para obtener esta determinada por el lenguaje de programacion y en algunos casos por el tipo de computadora con que se cuenta. En esta seccion se pretende mostrar que estas limitaciones no constituyen necesariamente un impedimento para determinar un numero, en particular , con la precision que se desee. Una de las maneras mas usuales de determinar es utilizar el desarrollo en serie de Taylor en el origen de arctan x, el cual esta dado por arctan x =
1 (;1)k X
2k+1 :
x k=0 2k + 1
(1:3:1)
De (I.3.1) se deduce, para x = 1, que
=4
1 (;1)k X
k=0 2k + 1
:
(I:3:2)
Como se recalco en la seccion I.2, utilizar la serie (I.3.2) no es conveniente, por que la convergencia de esta serie es muy lenta. Utilizando la relacion
+ tan tan( + ) = 1tan ; tan tan ; una veri cacion inmediata conduce a = 12 arctan 1 + 8 arctan 1 ; 5 arctan 1 : 4 18 57 239 Remplazando (I.3.1) en (I.3.3), da como resultado
(I:3:3)
16
I Preliminares
= 48
|
1 (;1)k X
1 )2k+1 ( 18 2 k + 1 k=0 + 32
|
{z } A 1 (;1)k 1 X k=0
2k+1 2k + 1 ( 57 ) ; 20
} |
{z B
1 (;1)k X
1 )2k+1 : ( 239 2 k + 1 k=0
{z C
}
(I:3:4)
Ahora bien, se desea obtener una representacion de en notacion decimal con N decimales de precision. Si cada serie del lado derecho de (I.3.4) es calculada con una precision de 10;(N +1) se tiene largamente la precision deseada. Denotando por A^, el valor calculado de A; B^ , el valor calculado de B y C^ , el valor calculado de C , se tiene: MA (;1)k 1 X ^ A = 48 2k + 1 ( 18 )2k+1 ; k=0
B^ = 32
De donde:
MB (;1)k X
1 )2k+1 ; ( 57 2 k + 1 k=0
MC 1)k 1 X 2k+1 C^ = 20 2(; k + 1 ( 239 ) : k=0
1 (;1)k 1 X 48 (1=18)2MA+3 ; 2 k +1 ( ) A^ ; A = 48 1 ; (1=18)2 k=MA +1 2k + 1 18 1 (;1)k 1 X 32 (1=57)2MB+3 ; 2 k +1 ^ ( ) B ; B = 32 1 ; (1=57)2 k=MB +1 2k + 1 57 1 (;1)k 1 X 20 (1=239)2MC +3 : 2 k +1 ^ ( ) C ; C = 20 1 ; (1=239)2 k=MC +1 2k + 1 239 Por hipotesis, se tiene por ejemplo que A ; A^ 10;(N +1), por lo tanto para asegurar esta precision es su ciente que 2MA+3 48 (1=18) 2 10;(N +1); 1 ; (1=18) remplazando el signo por =, se tiene 2MA+3 48 (1=18) 2 = 10;(N +1); 1 ; (1=18)
(I:3:5)
17
I.3 Un ejemplo: Calculo de Pi
obteniendo de esta manera log10 (48) ; (2MA + 3) log10 (18) ; log10 (1 ; (1=18)2) = ;(N + 1): Despejando MA, se obtiene
; 3 log10 (18) + (1=18) : MA = N + 1 + log10 (48) 2 log (18) 2
10
(I:3:6)
Del mismo modo se llega a:
; 3 log10 (57) + (1=57) ; MB = N + 1 + log10 (32) (I:3:7) 2 log10 (57) ; 3 log10 (239) + (1=239)2 : (I:3:8) MC = N + 1 + log10 (20) 2 log10 (239) Una vez determinada la cantidad de terminos en cada serie para calcular A^, B^ y C^ , es necesario de nir una representacion de los numeros reales y su respectiva aritmetica que permita calcular A^, B^ y C^ con la precision requerida. Sea b > 1, entonces todo numero positivo x se escribe de manera unica como 1 X x = ak 1k ; (I:3:9) k=0 b donde 0 ak < b para k 1. Suponiendo que b = 10m, para obtener una representacion de x con N decimales de precision, es su ciente conocer ak para 0 k N=m + 2. Se suma 2 a la cota anterior por seguridad. Por lo tanto, para todo numero positivo x,el redondeado x^ con N cifras decimales de precision puede escribirse como 2
x^ =
N=m X+2 k=0
ak =10mk ;
(I:3:10)
con 0 ak < 10m para k 1. Comparando (I.3.9) con (I.3.10) se tiene que ak = ak para 0 k N=m + 1 y jak ; ak j 1 para k = N=m + 2, deduciendose de esta manera la: Proposicion I.3.1.- Sea x un numero no negativo y x su representacion dada por (I.3.10), entonces
jx^ ; xj 10;(N +2m):
(I:3:11)
18
I Preliminares
Con los elementos presentados, se esta en la capacidad de formular un algoritmo que permita calcular A^, B^ , y C^ ; por razones obvias el algoritmo sera el mismo. Por consiguiente, es su ciente dar el metodo que permita calcular A^ con la precision requerida. De la formula (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 aritmetica sera consiguientemente de nida en tres pasos o etapas. El primer paso sera de nir 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
X+2 mk xb = N=m (I:3:12) q k=0 bk =10 ; donde los bk se los de ne de manera recursiva, utilizando la division 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 sera de nir la adicion y la sustraccion para dos reales positivos x y y. Si se denota los redondeados por x^ y y^, sus representaciones en punto jo estan dadas por: N=m X+2
N=m X+2
x^ = ak =10mk ; y^ = bk =10mk : k=0 k=0 La suma redondeada se escribe por lo tanto N=m X+2
x^[ y^ = ck =10mk ; (I:3:14) k=0 donde los ck estan de nidos recursivamente, utilizando la division 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 sera de nir la multiplicacion de un real positivo con un entero q. Sea el productovskip-3pt qcx^ =
N=m X+2 k=0
bk =10mk ;
(I:3:16)
I.3 Un ejemplo: Calculo de Pi
19
donde x^ esta dado por (I.3.10), los coe cientes bk estan de nidos recursivamente, utilizando la division 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; (I:3:17) .. . b0 = qa0 + d1 : Habiendo de nido las operaciones requeridas para calcular con la precision requerida, se puede de nir el algoritmo que calculara A^, y por consiguiente ^ .
Algoritmo
1.- Se de ne 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 analisis de la propagacion de errores de redondeo, cometidos en el calculo de A^, para asegurar que el resultado que de la computadora corresponde con lo esperado. Este estudio se lo efectuara en tres partes. Sea x^2k+1 el resultado realizado por el algoritmo al calcular x2k+1 para x = 1=18. Utilizando la proposicion I.3.1, se tiene, x^ = x + ; jj 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 geometricas, se obtiene x^2k+1 ; x2k+1 1 10;N ;2m: (I:3:20) 1 ; (1=18)2 La segunda operacion, que aparece en el algoritmo, es la division por los enteros de la forma 2k + 1. Por el mismo procedimiento que antes, se llega a
2k+1\ x =(2k + 1) ; x2k+1 =(2k + 1) 2 10;N ;2m:
(I:3:21)
20
I Preliminares
Por ultimo para obtener A^, se tiene una suma de MA + 1 terminos y un producto por 48. En cada suma se comete un error menor a 2 10;N ;2m, de donde se tiene como estimacion del error acumulado
A^ ; A 192(MA + 1)10;N ;2m
(I:3:22)
Ahora bien, si 192(MA +1) es mas peque~no que 102m;1, entonces el objetivo es satisfecho largamente. Como ilustracion de lo expuesto, se ha calculado con 10000 decimales de precision, utilizando una HP-9000. con 10000 decimales 3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 5759591953 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 8912279381 8301194912 9833673362 4406566430 8602139494 6395224737 1907021798 6094370277 0539217176 2931767523 8467481846 7669405132 0005681271 4526356082 7785771342 7577896091 7363717872 1468440901 2249534301 4654958537 1050792279 6892589235 4201995611 2129021960 8640344181 5981362977 4771309960 5187072113 4999999837 2978049951 0597317328 1609631859 5024459455 3469083026 4252230825 3344685035 2619311881 7101000313 7838752886 5875332083 8142061717 7669147303 5982534904 2875546873 1159562863 8823537875 9375195778 1857780532 1712268066 1300192787 6611195909 2164201989 3809525720 1065485863 2788659361 5338182796 8230301952 0353018529 6899577362 2599413891 2497217752 8347913151 5574857242 4541506959 5082953311 6861727855 8890750983 8175463746 4939319255 0604009277 0167113900 9848824012 8583616035 6370766010 4710181942 9555961989 4676783744 9448255379 7747268471 0404753464 6208046684 2590694912 9331367702 8989152104 7521620569 6602405803 8150193511 2533824300 3558764024 7496473263 9141992726 0426992279 6782354781 6360093417 2164121992 4586315030 2861829745 5570674983 8505494588 5869269956 9092721079 7509302955 3211653449 8720275596 0236480665 4991198818 3479775356 6369807426 5425278625 5181841757 4672890977 7727938000 8164706001 6145249192 1732172147 7235014144 1973568548 1613611573 5255213347 5741849468 4385233239 0739414333 4547762416 8625189835 6948556209 9219222184 2725502542 5688767179 0494601653 4668049886 2723279178 6085784383 8279679766 8145410095 3883786360 9506800642 2512520511 7392984896 0841284886 2694560424 1965285022 2106611863 0674427862 2039194945 0471237137 8696095636 4371917287 4677646575 7396241389 0865832645 9958133904 7802759009 9465764078 9512694683 9835259570 9825822620 5224894077 2671947826 8482601476 9909026401 3639443745 5305068203 4962524517 4939965143 1429809190 6592509372 2169646151 5709858387 4105978859 5977297549 8930161753 9284681382 6868386894 2774155991 8559252459 5395943104 9972524680 8459872736 4469584865 3836736222 6260991246 0805124388 4390451244 1365497627 8079771569 1435997700 1296160894 4169486855 5848406353 4220722258 2848864815 8456028506 0168427394 5226746767 8895252138 5225499546 6672782398 6456596116 3548862305 7745649803 5593634568 1743241125 1507606947 9451096596 0940252288 7971089314 5669136867 2287489405 6010150330 8617928680 9208747609 1782493858 9009714909 6759852613 6554978189 3129784821 6829989487 2265880485 7564014270 4775551323 7964145152 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
21
I.3 Un ejemplo: Calculo de Pi 5428584447 9526586782 1051141354 7357395231 1342716610 2135969536 2314429524 8493718711 0145765403 5902799344 0374200731 0578539062 1983874478 0847848968 3321445713 8687519435 0643021845 3191048481 0053706146 8067491927 8191197939 9520614196 6342875444 0643745123 7181921799 9839101591 9561814675 1426912397 4894090718 6494231961 5679452080 9514655022 5231603881 9301420937 6213785595 6638937787 0830390697 9207734672 2182562599 6615014215 0306803844 7734549202 6054146659 2520149744 2850732518 6660021324 3408819071 0486331734 6496514539 0579626856 1005508106 6587969981 6357473638 4052571459 1028970641 4011097120 6280439039 7595156771 5770042033 7869936007 2305587631 7635942187 3125147120 5329281918 2618612586 7321579198 4148488291 6447060957 5270695722 0917567116 7229109816 9091528017 3506712748 5832228718 3520935396 5725121083 5791513698 8209144421 0067510334 6711031412 6711136990 8658516398 3150197016 5151168517 1437657618 3515565088 4909989859 9823873455 2833163550 7647918535 8932261854 8963213293 3089857064 2046752590 7091548141 6549859461 6371802709 8199430992 4488957571 2828905923 2332609729 9712084433 5732654893 8239119325 9746366730 5836041428 1388303203 8249037589 8524374417 0291327656 1809377344 4030707469 2112019130 2033038019 7621101100 4492932151 6084244485 9637669838 9522868478 3123552658 2131449576 8572624334 4189303968 6426243410 7732269780 2807318915 4411010446 8232527162 0105265227 2111660396 6655730925 4711055785 3763466820 6531098965 2691862056 4769312570 5863566201 8558100729 3606598764 8611791045 3348850346 1136576867 5324944166 8039626579 7877185560 8455296541 2665408530 6143444318 5867697514 5661406800 7002378776 5913440171 2749470420 5622305389 9456131407 1127000407 8547332699 3908145466 4645880797 2708266830 6343285878 5698305235 8089330657 5740679545 7163775254 2021149557 6158140025 0126228594 1302164715 5097925923 0990796547 3761255176 5675135751 7829666454 7791745011 2996148903 0463994713 2962107340 4375189573 5961458901 9389713111 7904297828 5647503203 1986915140 2870808599 0480109412 1472213179 4764777262 2414254854 5403321571 8530614228 8137585043 0633217518 2979866223 7172159160 7716692547 4873898665 4949450114 6540628433 6639379003 9769265672 1463853067 3609657120 9180763832 7166416274 8888007869 2560290228 4721040317 2118608204 1900042296 6171196377 9213375751 1495950156 6049631862 9472654736 4252308177 0367515906 7350235072 8354056704 0386743513 6222247715 8915049530 9844489333 0963408780 7693259939 7805419341 4473774418 4263129860 8099888687 4132604721 5695162396 5864573021 6315981931 9516735381 2974167729 4786724229 2465436680 0980676928 2382806899 6400482435 4037014163 1496589794 0924323789 6907069779 4223625082 2168895738 3798623001 5937764716 5122893578 6015881617 5578297352 3344604281 5126272037 3431465319 7777416031 9906655418 7639792933 4419521541 3418994854 4473456738 3162499341 9131814809 2777710386 3877343177 2075456545 3220777092 1201905166 0962804909 2636019759 8828161332 3166636528 6193266863 3606273567 6303544776 2803504507 7723554710 5859548702 7908143562 4014517180 6246436267 9456127531 8134078330 3362542327 8394497538 2437205835 3114771199 2606381334 6776879695 9703098339 1307710987 0408591337 4641442822 7726346594 7047458784 7787201927 7152807317 6790770715 7213444730 6057007334 9243693113 8350493163 1284042512 1925651798 0694113528 0131470130 4781643788 5185290928 5452011658 3934196562 1349143415 9562586586 5570552690 4965209858 0338507224 2648293972 8584783163 0577775606 8887644624 8246857926 0395352773 4803048029 0058760758 2510474709 1643961362 6760449256 2742042083 2085661190 6254543372 1315359584 5068772460 2901618766 7952406163 4252257719 5429162991 9306455377 9914037340 4328752628 8896399587 9475729174 6426357455 2540790914 5135711136 9410911939 3251910760 2082520261 8798531887 7058429725 9167781314 9699009019 2116971737 2784768472 6860849003 3770242429 1651300500 5168323364 3503895170 2989392233 4517220138 1280696501 1784408745 1960121228 5993716231 3017114448 4640903890 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 8516026327 5052983491 8740786680 8818338510 2283345085 0486082503 9302133219 7155184306 3545500766 8282949304 1377655279 3975175461 3953984683 3936383047 4611996653 8581538420 5685338621 8672523340 2830871123 2827892125 0771262946 3229563989 8989358211 6745627010 2183564622 0134967151 8819097303 8119800497 3407239610 3685406643 1939509790 1906996395 5245300545 0580685501 9567302292 1913933918 5680344903 9820595510 0226353536 1920419947 4553859381 0234395544 9597783779 0237421617 2711172364 3435439478 2218185286 2408514006 6604433258 8856986705 4315470696 5747458550 3323233421 0730154594 0516553790 6866273337 9958511562 5784322988 2737231989 8757141595 7811196358 3300594087 3068121602 8764962867 4460477464 9159950549 7374256269 0104903778 1986835938 1465741268 0492564879 8556145372 3478673303 9046883834 3634655379 4986419270 5638729317 4872332083 7601123029 9113679386 2708943879 9362016295 1541337142 4892830722 0126901475 4668476535 7616477379 4675200490 7571555278 1965362132 3926406160 1363581559 0742202020 3187277605 2772190055 6148425551 8792530343 5139844253 2234157623 3610642506 3904975008 6562710953 5919465897 5141310348 2276930624 7435363256 9160781547 8181152843 6679570611 0861533150 4452127473 9245449454 2368288606 1340841486 3776700961 2071512491 4043027253 8607648236 3414334623 5189757664 5216413767 9690314950 1910857598 4423919862 9164219399 4907236234 6468441173 9403265918 4044378051 3338945257 4239950829 6591228508 5558215725 0310712570 1266830240 2929525220 1187267675 6220415420 5161841634 8475651699 9811614101 0029960783 8690929160 3028840026 9104140792 8862150784 2451670908 7000699282 1206604183 7180653556 7252532567 5328612910 4248776182 5829765157 9598470356 2226293486 0034158722 9805349896 5022629174 8788202734 2092222453 3985626476 6914905562 8425039127 5771028402 7998066365 8254889264 8802545661 0172967026 6407655904 2909945681 5065265305 3718294127 0336931378 5178609040 7086671149 6558343434 7693385781 7113864558 7367812301 4587687126 6034891390 9562009939 3610310291 6161528813 8437909904 2317473363 9480457593 1493140529 7634757481 1935670911 0137751721 0080315590 2485309066 9203767192 2033229094 3346768514 2214477379 3937517034 4366199104 0337511173 5471918550 4644902636 5512816228 8244625759 1633303910 7225383742 1821408835 0865739177 1509682887 4782656995 9957449066 1758344137 5223970968 3408005355 9849175417 3818839994 4697486762 6551658276 5848358845 3142775687 9002909517 0283529716 3445621296 4043523117 6006651012 4120065975 5851276178 5838292041 9748442360 8007193045 7618932349 2292796501 9875187212 7267507981 2554709589 0455635792 1221033346 6974992356 3025494780 2490114195 2123828153 0911407907 3860251522 7429958180 7247162591 6685451333 1239480494 7079119153 2673430282 4418604142 6363954800 0448002670 4962482017 9289647669 7583183271 3142517029 6923488962 7668440323 2609275249 6035799646 9256504936 8183609003 2380929345 9588970695 3653494060 3402166544 3755890045 6328822505 4525564056 4482465151 8754711962 1844396582 5337543885 6909411303 1509526179 3780029741 2076651479 3942590298 9695946995 5657612186 5619673378 6236256125 2163208628 6922210327 4889218654 3648022967 8070576561 5144632046 9279068212 0738837781 4233562823 6089632080 6822246801 2248261177 1858963814 0918390367 3672220888 3215137556 0037279839 4004152970 0287830766 7094447456 0134556417 2543709069 7939612257 1429894671 5435784687 8861444581 2314593571 9849225284 7160504922 1242470141 2147805734 5510500801 9086996033 0276347870 8108175450 1193071412 2339086639 3833952942 5786905076 4310063835 1983438934 1596131854 3475464955 6978103829 3097164651 4384070070 7360411237 3599843452 2516105070 2705623526 6012764848 3084076118 3013052793 2054274628 6540360367 4532865105 7065874882 2569815793 6789766974 2205750596 8344086973 5020141020 6723585020 0724522563 2651341055 9240190274 2162484391 4035998953 5394590944 0704691209 1409387001 2645600162 3742880210 9276457931 0657922955 2498872758 4610126483 6999892256 9596881592 0560010165 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
Captulo II Sistemas Lineales Una gran cantidad de problemas implica la resolucion de sistemas lineales de la forma Ax = b; donde
0 a11 a1n 1 .. A ; A = @ ... .
0 b1 1 b = @ ... A
an1 ann bn con coe cientes reales o complejos. Por esta necesidad es importante la construccion de algoritmos que permitan su resolucion en un tiempo razonable y con el menor error posible. Cada problema tiene su particularidad, motivo por el cual no existe un metodo general mediante el cual se pueda resolver e cazmente todos los problemas. Es verdad que existen metodos casi generales, que con peque~nas modi caciones pueden servir para encontrar la solucion de un problema particular. A lo largo de este captulo se expondran estos metodos, dando criterios de estabilidad y estimaciones de error. En la primera seccion se tratara la condicion del problema lineal, para este efecto sera necesario introducir elementos de la teora de normas en las matrices, para luego introducir las nociones relativas a la condicion del problema lineal. En la segunda seccion se abordara los metodos de resolucion como son: el Algoritmo de Eliminacion de Gauss, la Descomposicion de Cholesky y algunas modi caciones de estos metodos. En esta seccion se estudiara la implementacion de tales metodos, como tambien la estabilidad de estos. La tercera seccion tratara, la teora e implementacion de los metodos iterativos lineales como: Jacobi, Gauss-Seidel y SOR. As mismo se analizaran algunos problemas tipos y se haran comparaciones de tales metodos. En la cuarta seccion, se vera los metodos de tipo gradiente cuyo enfoque es diferente a los metodos de las dos secciones precedentes, en efecto, son metodos que encuentran la solucion a partir de problemas de minimizacion. Se resolveran ejemplos tipos y se comparara la e ciencia de estos con otros metodos.
24
II Sistemas Lineales
La ultima seccion describira el Metodo de los Mnimos Cuadrados, como una generalizacion de lo anteriormente expuesto, introduciendo como corolario la nocion de Pseudo-Inversa. As mismo se analizara la implementacion del metodo QR, incluyendo una estimacion del error de tal metodo.
II.1 Condicion del Problema lineal Normas de Vectores y Matrices
La nocion de norma y espacio normado es un instrumento matematico muy util en el estudio de las magnitudes que se manipulan, como tambien un instrumento en el estudio de la convergencia y los lmites. Se empezara de niendo el concepto de norma en espacios Rn , para luego de nir en el algebra de las matrices a coe cientes reales. De nicion II.1.1.- Una norma sobre Rn es una aplicacion
k k : Rn ;! R; con las siguientes propiedades:
kxk 0; kxk = 0 () x = 0; kxk = jj kxk ; donde 2 R; kx + yk = kxk + kyk :
i) ii) iii)
La primera condicion 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 condicion es mas conocida como desigualdad del triangulo. Las normas mas usuales en Rn son las siguientes:
kxk1 = kxk2 = kxkp =
n X
jxi j ;
i=1 n X
i=1 n X i=1
jxi
j2
jxi j2
! 12 ! p1
kxk1 = i=1max jx j ; ;:::;n i
norma ciudad-bloque;
;
norma euclidiana;
; p > 1; norma de la convergencia uniforme:
Estas normas, que son las usualmente utilizadas, tienen algunas propiedades en comun. La mas 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
De nicion II.1.2.- Si x = (x1 ; : : : ; xn ) 2 Rn , se de ne el valor absoluto de x como jxj = (jx1 j ; : : : ; jxn j). Se dice que jxj jyj, si jxi j jyi j para todo i = 1; : : : ; n. Una norma k k sobre Rn se dice que es: (a) Monotona, si jxj jyj implica que kxk kyk para todo x; y 2 Rn . (b) Absoluta, si kxk = kjxjk para todo x 2 Rn . Proposicion II.1.3.- Una norma k k sobre Rn es monotona, si y solamente
si es absoluta.
Demostracion.- Si la norma k k es monotona, sea x 2 Rn , llamenos y = jxj. Como jxj jyj, y jyj jxj se tiene inmediatamente, porque la norma es monotona, que kxk = kyk. Si la normak k es absoluta, sea x 2 Rn , considerese x = (x1 ; : : : ; xk;1 ; xk ; xk+1 ; : : : ; xn ), con 2 [0; 1]. Utilizando el hecho
que la norma sea absoluta, desigualdad del triangulo y efectuando calculos algebraicos se tiene:
1
1
kxk = 2 (1 ; )(x1 ; : : : ; xk;1 ; ;xk ; xk+1 ; : : : ; xn ) + 2 (1 ; )x + x
12 (1 ; ) k(x1 ; : : : ; xk;1 ; ;xk ; xk+1 ; : : : ; xn )k + 21 (1 ; ) kxk + x = 12 (1 ; ) kxk + 21 (1 ; ) kxk + kxk = kxk :
Ahora bien, si x = (x1 ; : : : ; xk ; : : : ; xn ) y y = (x1 ; : : : ; xk1 ; yk ; xk+1 ; : : : ; xn ), con jyk j jxk j, utilizando la desigualdad anterior se tiene kxk kyk. Para demostrar que jxj jyj 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 de nir la norma de una matriz como la de un vector, pero se perdera as muchas de las propiedades que tiene una aplicacion lineal. Es por eso la: De nicion II.1.4.- Sea A una matriz de m n, se de ne su norma como
k = sup kAxk : kAk = sup kkAx xk x6=0
kxk=1
(II:1:1)
La de nicion de la norma de una matriz depende evidentemente de las normas elegidas para kxk y kAxk. Sin embargo puede ser veri cado sin ningun problema, que la norma de una matriz, veri ca las condiciones de norma de un vector. La demostracion es una simple veri cacion de estas condiciones, utilizando la de nicion de supremo. Ademas si las norma de los espacios Rn y Rm son monotonas o absolutas, es facil veri car que la norma
27
II.1 Condicio n del Problema lineal
de matriz inducida por estas, es todava monotona; es su ciente utilizar la de nicion para probar esta a rmacion. Por otro lado kAk es el numero positivo mas peque~no que satisface kAxk kxk, por lo tanto
kAxk kAkkxk ;
8x 2 Rn :
(II:1:2)
Una norma sobre el espacio de matrices veri ca las siguientes propiedades, dada por la: Proposicion II.1.5.- Cualquier norma sobre el espacio de las matrices Mm (R) satisface las propiedades adicionales siguientes:
kI k = 1; kAB k kAk kB k :
(II:1:3) (II:1:4)
Demostracion.- La relacion (II.1.3) de la proposicion es consecuencia inmediata de la de nicion de la norma de una matriz. La relacion (II.1.4) es consecuencia de las observaciones hechas despues de la de nicion, en efecto
kABxk kAk kBxk kAk kB kkxk ; kABxk kAkkB k ; kxk kAB k kAk kB k :
Se ha dado las propiedades esenciales de la norma de matrices, pero es necesario conocer algunas de estas por su utilizacion frecuente. Utilizando la misma notacion que en las normas de los vectores de nidas al inicio de la seccion, se puede utilizar la misma notacion en los ndices de las normas de las matrices, con la convencion que las normas de los vectores tienen los mismos ndices. Teorema II.1.6.- Sea A una matriz de n m, entonces:
kAk1 = j=1max ;:::;m
n X
jaij j ;
(II:1:5)
kAk2 = valor propio mas grande de At A; m X kAk1 = i=1max jaij j : ;:::;n
(II:1:6)
p
i=1
j =1
(II:1:7)
28
II Sistemas Lineales
Demostracion.- Se comenzara por kAk1 , se tiene:
m n m n X X X X ja j jx j kAxk1 = aij xj i=1 j=1 ij j i=1 j =1 ! m X n n X X
por lo tanto
j =1 i=1
kAk1 j=1max ;:::;m
jaij j jxj j
n X i=1
!
max ja j j =1;:::;m i=1 ij
kxk1 ;
jaij j :
Se mostrara, que la igualdad se cumple, en efecto, sea jo tal que:
n X
jaijo j = j=1max ;:::;m
n X
jaij j ; y x tal que xjo = 1; xi = 0 si i 6= jo ;
0 a 1
n
1.jo C
X de esta manera kAxk =
B @ .. A
= jaijo j kxk1 :
amjo 1 i=1 i=1
i=1
Para la k k2 se tiene:
kAxk22 = hAx; Axi = xt At Ax;
ahora bien At A es una matriz simetrica de nida positiva, de donde los valores propios son reales no negativos, ademas es posible formar una base de vectores propios ortonormales. Sea fe1 ; : : : ; em g una base de vectores propios m m X X ortonormales, entonces x = i ei y Ax = i i ei , donde los i 0 son i=1 i=1 los valores propios de A. Por lo tanto, se tiene
kAxk22 =
m X i=1
2i 2i i=1max ;:::;m i
m X i=1
2i = i=1max kxk2 : ;:::;m i
Para obtener la igualdad, es su ciente tomar x = ejo , donde jo es el autovalor mas grande. Para la k k1 se tiene:
m 0m 1 X X a x max @ ja j jx jA kAxk1 = i=1max ;:::;n j =1 ij j i=1;:::;n j =1 ij j 0m 1 0 1 m X X @ jaij j j=1max i=1 max jx jA @i=1max jaij jA kxk1 ; :::;n ;:::;m j ;:::;n j =1
as kAk1 j=1max ;:::;m
m X j =1
jaij j :
j =1
29
II.1 Condicio n del Problema lineal
Para obtener la igualdad es su ciente tomar x = 1, donde 1 = (1; : : : ; 1)t .
La Condicion de una Matriz La resolucion de un sistema lineal de ecuaciones debe hacer meditar sobre muchos aspectos relacionados, como ser la existencia de la solucion, si el problema a resolver esta bien condicionado, conocer una estimacion del error cometido en la solucion numerica, etc. Se tiene inicialmente el sistema de ecuaciones Ax = b; donde A 2 Mn (R), y b 2 Rn ; (II:1:8) el problema es encontrar x 2 R que sea solucion del sistema (II.1.8), esta situacion puede escribirse formalmente como
P (A; b) = x: De esta manera la condicion del problema esta dada por P (A; b) ; P (A; b) cond eps; jP (A; b)j donde:
aij = aij (1 + ij ); jij j eps; bi = bi (1 + i ); ji j eps:
(II:1:9) (II:1:10) (II:1:100)
b) = x, se tiene kx ; xk cond eps. Por otro lado, Si se plantea P (A; kxk considerando que solamente normas mononotas son utilizadas, se tiene:
0 a1111 a1nn1 1
@ .. .. .. A
eps kAk ; . .
.
an1 n1 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 de nicion es necesaria. De nicion II.1.7.- La condicion de una matriz A inversible se de ne como
cond(A) = kAk A;1 :
(II:1:12)
30
II Sistemas Lineales
Teorema
A ; A
II.1.8. Sea A una matriz con det A 6= 0, supongase que kAk A , b ; b kbk b . Si A cond(A) < 1, entonces kx ; xk cond(A) ( + ): (II:1:13) kxk 1 ; cond(A) A b A
1,
Si ademas se tiene A cond(A) < 2 entonces la condicion del problema resolver Ax = b es 2cond(A). Demostracion.- Se tiene Ax = b y Ax = b, de donde: ; Ax = b ; b; Ax ; Ax = b ; b y Ax ; Ax + 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:
kx ; xk A;1 A ; A kxk + A;1 b ; b
A;1 (kAk A (kxk + kx ; xk) + kbk b )
A;1 kAk (A (kxk + kx ; xk) + kxk b ) ; A) de esta manera kxk;xkxk 1 ;cond( cond(A) (A + b ): A
Como la condicion del problema lineal esta ntimamente ligada a la condicion de la matriz, es importante conocer algunas de sus propiedades, dadas por la: Proposicion II.1.9.- La condicion de una matriz satisface las siguientes propiedades: cond(A) 1; (II:1:14) cond(I ) = 1; (II:1:15) cond(A) = cond(A); 2 R: (II:1:16)
Demostracion.- Veri cacion inmediata. Ejemplos
1.- Q ortogonal, es decir Qt Q = I , la condicion respecto a la norma k k2 esta dada por cond2 (Q) = 1: (II:1:17) 2.- Sea la matriz A dada por 0 4 1 0 0 1 BB 1 4 1 0 CC 1 A= hB BB .... . . . . . . ... ... CCC ; @ .. 1 4 1 A 1 4
II.1 Condicio n del Problema lineal
entonces kAk1 = h6 , ademas A = h4 (I + N ) donde 0 0 1 0 01 BB 41 40 41 0 CC 1 N =B @ ... . . . . . . ... CA ; kN k1 = 2 < 1: 0 0 41 0 Se deduce que A;1 = h4 (I + N );1 = h4 (I ; N + N 2 ; N 3 + );
A;1
h (1 + kN k +
N 2
+ ) 1 4 h4 1 ; 1kN k h2 ;
31
entonces cond1 (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, de nida por hij = i + j1 ; 1 ; i; j = 1; : : : ; n: H es una matriz simetrica de nida positiva, motivo por el cual la condicion respecto a la norma euclidiana esta 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 de nida por 0 1 1 1 1 B c1 c2 cn CC ; V =B .. . @ ... . .. A cn1 ;1 cn2 ;1 cnn;1
32
II Sistemas Lineales
donde los ci son diferentes. Se puede mostrar que la cond2 V bn , donde b > 1. Ahora bien, la estimacion kkx;xkxk 2cond(A)eps puede ser demasiada pesimista, para ver esto, considerese 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, esta dado por: 1 + 1 + x 1 2 0 108(1 + 3 ) = y = ( 2(1 + 4 ) 1 + 5 ) ; 5 ;8 y = 108 11 + + 3 ' 10 (1 + 5 ; 3); jy ; yj 2eps: de donde jyj Calculando x; se tiene x = 2(1 + 41) +; (1 + 2 )y 1
=
2 ; 10;8 + 24 ; 10;8(2 + 5 ; 3)
=
x + 21 ; 10;8(2 + 5 ; 3 )
1 + 1
1 + 1 ' x(1 + 4eps); jx ; xj 4eps: por lo tanto, jxj El problema es bien condicionado, aunque la matriz A tenga una gran condicion. 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 ; xk 2cond(DA)eps; si cond(DA)eps < 1 : kxk 2 En el ejemplo anterior, se plantea D = 10 100;8 ; as DA = 10 11 ;
33
II.1 Condicio n del Problema lineal
obteniendo el:
Corolario II.1.10.-1 Con las misma hipotesis del teorema II.1.8, y ademas si cond(DA)eps < 2 , se tiene
La condicion del problema 2 D diagonal inf cond(DA):
(II:1:19)
Ejercicios
1.- a) Sea k k de nida en Rn . La bola unitaria cerrada se de ne como B = x 2 Rn kxk 1 ; mostrar que la bola unitaria es un conjunto convexo. b) Sea D un conjunto convexo acotado, en cuyo interior esta 0. Si se supone que D es equilibrado, es decir si x 2 D implica que ;x 2 D. Mostrar que se puede de nir una norma cuya bola unitaria cerrada sea precisamente D. 2.- >Es la funcion f (x) = jx1 ; x2 j + jx2 j una norma sobre R2 ? Si lo es, >es monotona? Dibujar la bola unitaria. 3.- Dar las condiciones para que una norma sea monotona, observando su bola unitaria cerrada. 4.- Para una matriz A se de ne la norma de Frobenius como
v u n X n uX kAkF = t jaij j2 : i=1 j =1
a) Mostrar que kAkF es una norma sobre Rnn . b) Veri car la desigualdad
kAk2 kAkF pn kAk2 :
5.- Veri car la desigualdad max ja j kAk2 n: max ja j : i;j ij i;j ij 6.- Sea A una matriz con det A 6= 0. Mostrar que
A;1
= min kAxk : kxk=1
34
II Sistemas Lineales
7.- Sea R una matriz triangular inversible. Mostrar que:
jrii j kRkp ; jrii j;1 R;1 p ;
Deducir que
para p = 1; 2; 1:
jrii j : condp (R) max i;k jr j kk
8.- Sea
02 1 + 1 0 BB h0 1 h1 1 1 1 2 h1 + h2 h2 A=B BB h1 ... ... ... @ 0 0
0
1
1
0 CC 0 CC .. 1 . 1 CA 2 hn;2 + hn;1
hn;2 la matriz, que se encuentra en la interpolacion spline. Mostrar: a) cond1 (A) puede ser arbitrariamente grande. (Si max hi = min hi ;! 1). b) Existe una matriz diagonal D tal que cond1 (DA) 3.
II.2 Metodos Directos En esta seccion se desarrollara los algoritmos de resolucion directa de sistemas lineales mas comunes en la actualidad. El problema a resolver es
Ax = b;
(II:2:1)
donde A 2 Mn (R), x; b 2 Rn . Por los resultados obtenidos en la teora del Algebra Lineal, este sistema de ecuaciones lineales tiene una sola solucion, si y solamente si det A 6= 0. Para mostrar la importancia de contar con algoritmos cuyo costo en operaciones sea mnimo, vale la pena dar el siguiente ejemplo de resolucion de este sistema de ecuaciones lineales. El ejemplo consiste en la utilizacion de la regla de Cramer, que en si misma constituye uno de los resultados teoricos mas hermosos que se ha obtenido. Para ilustrar el metodo de Cramer, se debe hacer algunas convenciones sobre la notacion. 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 2 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 solucion del sistema (II.2.1) esta dada por (i)
A xi = det det A ; donde x = (x1 ; : : : ; xn ). Por lo tanto, la resolucion del sistema implica el calculo de n+1 determinantes. Si para encontrar el valor de los determinantes se utiliza la siguiente relacion
X
2Sn
signo()
Yn
i=1
ai(i) ;
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 numero de incognitas, suponiendo que cada suma se efectua en 10;9 segundos, se tardara aproximadamente 6:75 1049 a~nos en llegar a la solucion del
36
II Sistemas Lineales
problema. Como conclusion se puede decir que existen metodos cuyo valor teorico es importante, pero su ejecucion numerica es desastrosa, razon por la cual es imprescindible implementar algoritmos cuyo costo no sea muy elevado.
El Algoritmo de Gauss
Uno de los algoritmos mas utilizados, precisamente por su relativo bajo costo, es el Algoritmo de Eliminacion de Gauss. Considerese el sistema de ecuaciones dado por
8 a11x1 > < a21x1 . > : a .. x
n1 1
+ a12 x2 + +a1nxn = b1 + a22 x2 + +a2nxn = b2 : .. . + an2 x2 + +annxn = 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
8 a11 x1 > < > :
+ a(1) 12 x2 + + a1n xn a22 x2 + + a(1) 2n xn .. . (1) a(1) n2 x2 + + ann xn
= b(1) 1 = b2 : .. . (1) = bn
(1)
i2 , para i = 3; : : : ; n. Paso 2 Si a(1) li1 = a(1) 22 6= 0, a22 Se calcula lineai ; li2 linea2 , para i = 3; : : : ; n. Si a22 = 0 se intercambia lineas. Se repite el procedimiento hasta obtener un sistema triangular de ecuaciones como el siguiente
8 r11x1 > < > :
+ +
r1;n;1 xn;1 + r1n xn .. . rn;1;n;1 xn;1 + rn;1;n xn rnn xn
= c1 .. . : = cn;1 = cn
37
II.2 Metodos Directos
De donde se tiene:
xn = rcn ; nn c n xn;1 = ;1r; rn;1;n xn ; n1 ;n;1 .. . x1 = c1 ; r12 x2 r; ; r1n xn :
(II:2:2)
11
Si se utiliza la notacion matricial, se obtiene el siguiente esquema del algoritmo de Gauss, con las matrices aumentadas:
(A; b)
0 1 0 BB . CC ! B 0 BB CC BB .. @ A B@ 0 0 (n;1) (n;1) A ;b 0 1 0 C ;! B B B C: 0 0 C B @ ... ... . . . . . . CA
A(1) ; b(1)
1 0 C CC ! BBB 00 .. . C B A @ ... 0
A(2) ; b(2)
1 C CC 0 C .. .
0
A
0 0 0
Teorema II.2.1.- Sea det A 6= 0. El algoritmo de Gauss da la descomposicion siguiente:
PA = LR;
donde:
0 r11 r1n 1 . . . ... A ; R=@ 0
rnn
y P es una matriz de permutacion.
(II:2:3)
01 B l21 L=B @ .. .
1
01 ...
ln1 ln2 1
CC ; A
(II:2:4)
Demostracion.- Supongase, que las permutaciones necesarias han sido efectuadas al principio, es decir se aplica el Algoritmo de Gauss a la matriz
38
II Sistemas Lineales
PA. Para no complicar la notacion se escribe A, en vez de PA. Utilizando el mismo esquema dado mas arriba, se obtiene: A ;! A(1) ;! ;! A(n;1) = R; donde: 0 1 0 0 01 BB ;l21 1 0 0 CC (1) A =B B@ ;l..31 0.. .1. 0.. 0 CCA = L1A; . . . . 0;1ln1 00 0 0 011 BB 0 1 0 0 CC (2) A =B B@ 0.. ;l..32 1 0.. 0 CCA = L2A; . . . 0 ;ln2 0 1 por lo tanto R = Ln;1 Ln;2 L2 L1A: Lo unico que falta mostrar, es que L;1 = Ln;1 Ln;2 L2 L1 ; y para eso, se tiene: 00 01 BB 0 CC ... BB CC B CC : 0 Li = I ; Vi ; donde Vi = B BB CC li+1;i 0 B@ .. .. . . . C A . . lni 0 0 Se puede veri car facilmente que Vi Vj = 0 para i = 1; : : : ; n; de donde se obtiene nalemente: L;i 1 = I + Vi ; L = I + V1 + V2 + + Vn;1 : Muchas veces, es necesario calcular sistemas de la forma:
Ax1 = b1 ; Ax2 = b2 :
(II:2:5)
39
II.2 Metodos Directos
Se calcula una vez la descomposicion LR y se resuelve de la manera siguiente:
Ly = b; Rx = y:
(II:2:6)
Teorema II.2.2.- La descomposicion LR da el siguiente resultado, det A = r11 r22 rnn ; (II:2:7) donde los rii son coe cientes de la diagonal de R. Demostracion.- Utilizando identidades en los determinantes se tiene det P det A = det L det R:
El costo de la descomposicion LR.
Para evaluar cuantas operaciones son necesarias para llegar a la descomposicion LR de una matriz A 2 Mn (R), se procede de la manera siguiente:
A ;! A(1)
Calculo de los li1 : n ; 1 divisiones Para cada la 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 numero de operaciones en cada etapa del algoritmo, se tiene # operaciones (n ; 1)2 + (n ; 2)2 + + 22 + 12 =
nX ;1
Zi=1n 0 n3
= 3:
i2 x2 dx (II:2:8)
2 La resolucion de LRx = b, implica aproximadamente n2 multiplicaciones mas adiciones en la solucion de Ly = b. Igual numero de operaciones se tiene para la resolucion de Rx = y, lo que hace un total aproximado de n2 operaciones.
40
II Sistemas Lineales
La eleccion del pivote
De nicion II.2.3.- Sea A una matriz, se llama pivote de la matriz A al
coe ciente a11 . Para ilustrar la necesidad en elegir un buen pivote, considerese el siguiente ejemplo. La precision de los calculos tienen tres cifras signi cativas en base 10. Sea el sistema de ecuaciones dado por 10;4x + x = 1 1 2 (II:2:9) x1 + x2 = 2 : La solucion exacta de este sistema de ecuaciones esta dada por: x1 = 1; 000100010001000 ; (II:2:10) x2 = 0; 999899989998999 : Ahora bien, aplicando el algoritmo de Gauss con 10;4 como pivote, se tiene: l21 = aa21 = 0; 100 105 ; 11 La segunda linea del sistema se convierte en ;0; 100 105x2 = ;0; 100 105; de donde x2 = 0; 100 101; resolviendo x1 se tiene 0; 100 10;3 x1 = 0; 100 101 ; 0; 100 101; por lo tanto x1 = 0: (II:2:11) Ahora, aplquese el algoritmo de Gauss con 1 como pivote, es decir intercambiando la primera ecuacion con la segunda, se tiene: l21 = aa21 = 0; 100 10;5 ; 11 La segunda linea del sistema se convierte en ;0; 100 101x2 = 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 x1 = 0:100 101: (II:2:12)
41
II.2 Metodos Directos
La explicacion de este fenomeno consiste en que la sustraccion es una operacion mal condicionada, cuando las cantidades a restar son muy parecidas; en efecto, considerese el siguiente sistema a x + a x = b 11 1 12 2 1 (II:2:13) a21 x1 + a22 x2 = b2 ; al aplicar el algoritmo de Gauss se obtiene:
l21 = aa21
11
Si jl21 j 1 se tiene:
a(1) 22 = a22 ; l21 a12 ; b(1) 2 = b2 ; l21 b1 ; (1) a22 x2 = b(1) 2 :
a(1) b(1) 22 ;l21 a12 ; 2 ;l21 b1 ; x2 ab1 ; 12 1 x1 = a (b1 ; a12 x2 ) a1 (b1 ; b1 ) : 11 11 Para solucionar este problema, se realiza una busqueda de pivote parcial, que consiste en: Se escoge el pivote ai1 tal que jai1 j jaj1 j 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 descomposicion A = LR. No se considera las permutaciones, puesto que no se comete error de redondeo. Si se aplica el algoritmo de Gauss, se obtiene las matrices L^ y R^ , llamese ^ la descomposicion exacta de A: ^ A^ = L^ R; Para saber, si el algoritmo es numericamente estable, se utiliza la nocion de baackward analysis dada en captulo I. Es decir encontrar una constante que veri que: ja^ij ; aij j C eps: (II:2:14) ja j ij
42
II Sistemas Lineales
Por consiguiente, es necesario estimar la diferencia A ; A^ elemento por elemento. Se tiene el siguiente: Teorema II.2.4.- Wilkinson. Sea det A 6= 0; L^, R^ el resultado numerico de la descomposicion LR con busqueda de pivote jlij j 1. Entonces
00 BB 1 B A ; L^ R^ 2a eps BB 11 B@ ..
0 1 2 2 . . .. 1 2
a(k) y donde a = max i;j;k ij
3
0 1 2 3
.. . 3 n;1
1 CC CC ; CC A
(II:2:15)
A(0) ;! A(1) ;! ;! A(n;1) : Como resultado de este teorema, el algoritmo de Gauss es numericamente estable, siempre y cuando n no sea demasiado grande. La experiencia numerica indica que es aconsejable utilizar la descomposicion de Gauss para sistemas no mayores a 1000 ecuaciones. Demostracion.- Al efectuar la descomposicion 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
0 1 BB ;^l21 ^ L^ 1 = B B@ ;l..31 .
1 0 1
;^ln1 0
Por otro lado, se tiene obteniendo
.. .
1
1 CC CC ; A
es la matriz L1 con los errores de redondeo.
L^ = L^ ;1 1 L^ ;2 1 L;n;1 1;
A ; L^ R^ =L^ ;1 1 L^ 1 A ; A^(1) + L^ ;1 1L^ ;2 1 L^ 2 A^(1) ; A^(2) + L;1 1 L^ ;2 1 L;n;1 1 L^ n;1 A^(n;2) ; A^(n;1) :
43
II.2 Metodos Directos
Ahora bien, los coe cientes de la matriz obtenida en el primer paso, estan dadas por a^(1) ij = aij ; ^li1 a1j (1 + 1 ) (1 + 2 ); i 1; que da como consecuencia ^ L1 A ; A^(1) =^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 = ; a^(1) ij 2 + ^li1 a1j 1 + ^li1 a1j 1 2 ;
obteniendo as: (k) L^ 1A ; A^(1) 2a eps donde a = max a ; i 2: i;j;k ij Bajo forma matricial, el resultado anterior esta dado por 00 01 B C L^ 1A ; A^(1) 2a eps B@ 1... 1... CA : 1 1 Continuando con el mismo procedimiento en la demostracion, se obtiene 00 0 01 BB 0 0 0 CC (1) (2) L^ 2A^ ; A^ 2a eps BB 0. 1. 1. CC ; @ .. .. .. A 0 1 1 resultados similares tambien se obtienen para los demas 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: De nicion II.2.5.- Una matriz A 2 Mn(R) es simetrica y de nida positiva, si cumple las siguientes dos condiciones: (II:2:16) At = A; (II:2:17) xt Ax > 0; 8x 2 Rn ; x 6= 0:
44
II Sistemas Lineales
Teorema II.2.6.- Sea A simetrica y de nida positiva, entonces: a) El algoritmo de Gauss es posible sin busqueda de pivote. b) La descomposicion A = LR satisface
R = DLt ; con D = diag(r11 ; r22 ; ; rnn ):
(II:2:17)
Demostracion.- Sea A simetrica y de nida positiva, dada por 0 a11 a1n 1
.. A : A = @ ... . an1 ann El coe ciente a11 de la matriz A es diferente de 0, porque la matriz A es de nida positiva y a11 = et1 Ae1 donde et1 = (1; 0; ; 0). Despues del primer paso del algoritmo de Gauss, se obtiene:
0 a11 a12 a1n 1 B 0. CC ; A(1) = B (1) @ .. A C 0
de donde se tiene
li1 = aai1 ; 11
ai1 a1j c(1) ij = aij ; li1 a1j = aij ; a : 11
Por lo tanto es su ciente mostrar que C (1) es simetrica y de nida positiva. En efecto, expresando la matriz A como
a
11
z
se tiene Hay que mostrar que
zt ; C
C (1) = C ; a1 zz t: 11
; yt C (1) y = yt Cy ; a11 yt z 2 > 0; 8y 6= 0: 1 Por hipotesis la matriz A es de nida positiva, de donde
t ( x1 yt ) az11 zC
x 1
y
= a11 x21 + x1 z t y + yt zx1 + yt Cy > 0;
45
II.2 Metodos Directos
para x1 2 R y y 2 Rn;1 los dos no nulos al mismo tiempo. t Planteando x1 = ; ya11z , se tiene (yt z )2 ; 2 (z ty)2 + yt Cy > 0; a11 a11 por consiguiente
; yt Cy ; a1 yt z 2 > 0: 11
La descomposicion LR es unica, si esta existe, en efecto, si
A = L1 R1 = L2 R2 ; dos descomposiciones de A. Se tiene
L;2 1 L1 = R2 R1;1 ; las matrices del tipo L, como aquellas de tipo R forman subgrupos dentro el grupo de las matrices inversibles, deduciendose que
L;2 1 L1 = I; por lo tanto L1 = L2 y R1 = R2 . Para demostrar la parte b) del teorema, se de ne la matriz L1 , como Lt1 = D;1 R; donde D = diag(r11 ; ; rnn ), hay veri car que L1 = L. Las siguientes identidades se cumplen:
A = LR = LDLt1; At = L1DLt ; como A es simetrica y por la unicidad de la descomposicion LR, se deduce L = L1 . . De nicion II.2.7.- Sea D una matriz diagonal a coe cientes no negativos, entonces: p p D 21 = diag d11 ; ; dnn : (II:2:18) Si se de ne L = LD 21 , se tiene
A = L L t; que es la descomposicion de Cholesky de la matriz A simetrica y de nida positiva. Para simpli car notacion, se escribe L, en lugar de L . Entonces los
46
II Sistemas Lineales
coe cientes de la matriz L de la descomposicion de Cholesky de A, estan dados por: para k = 1; : : : ; n:
q
2 lkk = akk ; lk21 ; lk22 ; ; lk;k ;1 ;
(II:2:19) a ; l l ; ; l l ik i 1 k 1 i;k ; 1 k;k ; 1 ; i = 1; : : : ; k ; 1: lik = lkk El costo en operaciones, despreciando el calculo de las raices cuadradas, para obtener la descomposicion de Cholesky, esta dado por n X k=1
k(n ; k)
Zn 0
3
x(n ; x)dx = n6 :
(II:2:20)
La resolucion de la ecuacion Ax = b, donde A es una matriz simetrica y de nida positiva, se puede efectuar en dos pasos utilizando la descomposicion 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 descomposicion de Cholesky esta dada por el siguiente: Teorema II.2.8.- Sea A una matriz simetrica y de nida positiva. L^ el resultado numerico de la descomposicion de Cholesky, entonces
01 BB 1 t ^ ^ A ; LL a eps BB 1. @ ..
1 2 2 .. . 1 2
donde a = max j a j. ij ij
1 2 3 .. . 3
11 2C CC ; 3C n
A
(II:2:21)
Demostracion.- Se demuesta de la misma manera que el teorema II.2.4 referente a la estabilidad de la descomposicion LR.
47
II.2 Metodos Directos
Ejercicios 1.- Escribir una subrutina DEC(N,NDIM,A,B,IP,IER) que calcule la descomposicion LR, tomando en cuenta la busqueda 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 0 5 2 ;1 3 1 0 9 1 B@ 1 20 3 4 CA x = B@ 28 CA : 0 1 1 30 32 2 8 ;25 4 ;11 b) Calcular la inversa de la matriz de Hilbert dada por
n 1 H = i+j i;j =1
para n = 2; 3; 4; 5:
2.- a) Calcular la descomposicion de Cholesky LLt para la matriz de Hilbert
n 1 H = i+j ; i;j =1
n = 15:
b) Comparar el resultado numerico con los valores exactos,
p
(j ; 1)! (j ; 1)! : ljk = 2k(j;;1 k )!( (II:2:22) j + k ; 1)! >Cuantas cifras son exactas? c) Si L^ es el resultado numerico, calcular el residuo A ; L^ L^ t; calcular tambien el residuo A ; LLt para la matriz L dada por (II.2.22). 3.- Calcular cond1 (An ) para las matrices: a) de Hilbert b) de Vandermonde (aij ) = cji ;1 ; i; j = 1 n con ci = ni , para n = 1; 2; 3; : : :; 15. Calcular tambien n1 log10 (cond1 (An )) y encontrar una formula que aproxime cond1 (An ). 4.- Sea A una matriz-banda, simetrica y de nida positiva, p el grosor de la banda. Mostrar que, L de la descomposicion de Cholesky es tambien una matriz-banda. Si n es el orden de la matriz, sabiendo que n p, >Cuantas multiplicaciones son necesarias para calcular L?
II.3 Metodos Iterativos En la seccion II.2, se analizo dos metodos para resolver directamente sistemas de ecuaciones lineales. Un metodo directo de resolucion de un sistema de ecuaciones debera dar el resultado numerico igual a la solucion exacta, si no se considerase los errores de redondeo, es decir, si se contase con un dispositivo de calculo con una precision in nita, desgraciadamente este no es el caso. Si bien, un metodo directo da una solucion 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 propagacion del error de redondeo es muy grande, desvirtuando su valor; ademas, en muchos casos no se toma en cuenta muchas de las particularidades que pudiese tener la matriz del sistema lineal, o nalmente no es necesario obtener una solucion exacta, si no una aproximacion de esta. Los metodos que seran estudiados en esta seccion, son iterativos en el sentido en que se utilizan las soluciones anteriores para obtener la siguiente. Entre los metodos que seran analizados se tiene: Jacobi, Gauss-Seidel, SOR.
Metodos de Jacobi y Gauss-Seidel
Estos metodos son utilizados para resolver el sistema de ecuaciones, dado por u = Au + b: (II:3:1) El metodo de Jacobi consiste en la utilizacion de la solucion anterior para calcular la nueva solucion, es decir
u(k+1) = Au(k) + b:
(II:3:2)
Obviamente las soluciones obtenidas por el metodo de Jacobi no son exactas, pero son aproximaciones de estas. Para la formulacion del metodo de Gauss-Seidel, considerese la matriz A como A = L + U; (II:3:3) donde:
00 B a21 L=B @ .. .
0
...
an1 an;n;1
01 0C ; .. C .A 0
0 a11 a12 a1n 1 B 0 a22 a2n CC : U =B . . . ... A @ ... 0
0 ann
49
II.3 Metodos Iterativos
El metodo de Gauss-Seidel esta dado por: u(k+1) = Lu(k+1) + Uu(k) + b; (II:3:4) cuya formulacion equivalente es u(k+1) = (I ; L);1 Uu(k) + (I ; L);1 b: (II:3:5) Una vez formulados estos metodos, es importante, saber que condiciones tiene que cumplir la matriz A, para que estos sean convergentes. Si se denota por u la solucion exacta de (II.3.1), se de ne e(k) = u(k) ; u; (IV:3:6) el error cometido en la k-esima iteracion. Por consiguiente, e(k) son los resultados obtenidos en las iteraciones de uno de los metodos de nidos mas arriba del problema e = Ae; (IV:3:7) de donde el metodo sera convergente, siempre y cuando lim e(n) = 0: (IV:3:8) n!1 Existe una clase de matrices, para las cuales estos metodos son convergentes. Una de sus caractersticas esta dada por la: De nicion II.3.1.- Una matriz A es irreducible si para cada (i; j ), existe una sucesion l0 = i; l1 ; ; lm = j tal que alk ;lk+1 6= 0:
Gra camente se puede visualizar mediante la nocion de grafo dirigido, en Grimaldi se puede encontrar una explicacion bastante detallada sobre las aplicaciones de la teora de grafos. Considerese el grafo G compuesto del conjunto de vertices V y el conjunto de aristas A, de nido por: i) V = f1; 2; : : : ; ng, ii) (i; j ) 2 A () aij 6= 0. Para comprender esta de nicion, considerese los dos siguientes ejemplos, sean:
00 B1 A=B @0
1
2 0 0 0 0
1
2 0 0 1 2
01 0C 1C 2A 0
1
2
3
4
GA
50
II Sistemas Lineales
00 B=B @ 10
1 0 1 0 0
01 0C 1A
1
2
3
4
0 1 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 de nicion anterior se puede formular el siguiente teorema que da una condicion su ciente, para que los metodos 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 i) aij 1; i = 1; : : : ; n; j =1
ii) Existe io, tal que
n X j =1
aio j < 1;
iii) A es irreducible; entonces los metodos de Jacobi y Gauus-Seidel convergen hacia una solucion unica, ademas existe < 1, tal que
(k)
e 1 Ck;1
e(0)
1 :
Demostracion.- Se mostrara para el metodo de Jacobi. Se tiene
sea = max e(0) i , de donde
e(k+1) = Ae(k) ;
(1) X (0) ei aij ej ; | {z } j
con desigualdad estricta para i = io .
(II:3:9)
51
II.3 Metodos Iterativos
Puesto que la matriz A es irreducible, entonces los coe cientes de An son todos no nulos, en efecto (An )ij =
X X
|k1 {z kn;}1 n;1 veces
aik1 ak1 k2 akn;1 j
tiene un termino no nulo. Ademas para l jo, se tiene
X k
(A2 )lk = =
XX k
X j
X j
j
alj
alj ajk
X ! ajk
k
alj 1:
Por induccion matematica, se deduce la desigualdad anterior para todas las potencias de A, e incluso
X k
(An+1 )lk = =
0 respecto a un valor propio r > 0. ii) Todos los otros valores i2propios de A son jj < r. Sola excepcion posible = re n valor propio simple. iii) r depende de manera estrictamente monotona de todos los elementos de A. Demostracion.- Se comenzara por el punto i). Sea u 2 Rn , tal que ui > 0; entonces v = Au; de niendo ri = vu1 ; i si los ri son todos iguales, el punto i) esta demostrado; sino es posible variar el vector u de manera que
; rmax}]; [|rmin{z ; rmax}] 6= [|rmin{z nuevo antiguo obteniendo una sucesion de intervalos estrictamente encajonados, siendo el lmite r. No hay otro vector propio con ui > 0. Sea el cono
K = f(u1 ; : : : ; un )jui 0g : Como la matriz A es no negativa, se tiene
A(K) K: No es posible tener: Au = u; Av = v;
u 2 K; v 2 K;
con 6= :
53
II.3 Metodos Iterativos
En efecto, supongase que < y sea w = ;u + tv, tal que t sea lo mas peque~no posible, de manera que w 2 K, entonces Aw = ;u + tv 62 K; por consiguiente, no puede haber mas de un valor propio cuyo vector propio este en el interior del cono. Ademas, r es un valor propio simple, ya que si no lo fuera, una peque~na perturbacion en la matriz A llevara al caso de los valores propios simples, caso que ha sido ya estudiado mas arriba. Por otro lado, no hay vectores propios en el borde del cono K. Efectivamente, sea u 2 @ K, vector propio. Por hipotesis, 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 aNijo > 0; 8i; j ; por lo tanto (An u)j > 0; 8j ; conduciendo a una contradiccion. ii) Sean otro valor propio de A, v su vector propio respectivo, supongase que 2 R, se de ne
w = u + tv; donde u 2 K vector propio, t sea lo mas grande posible de manera que w 2 K, ver la gura IV.3.1.
w
Κ
v u
Figura IV.3.1. Demostracion, Teorema Perron-Frobenius.
54
II Sistemas Lineales
Si jj > 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 coe cientes reales. Por lo tanto: Av1 = v1 ; v2 ; Av2 = v1 + v2 ; el mismo analisis que para el caso real, da el mismo resultado. iii) La monotona de r se muestra, despues de hacer un analisis sobre el polinomio caracterstico. 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 mas grande en modulo que los otros. Si la suma de las lineas de la matriz A fuese igual a 1 se tendra que r = 1, pero existe una la 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 metodos de Jacobi y Gauss-Seidel. Continuando el estudio de los metodos 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 modulo y el valor propio mas grande en modulo de (I ; L);1 U: (II:3:10) Si < 1, entonces < , para toda matriz A irreducible no negativa. Demostracion.- Se tiene (I ; L);1 = I + L + L2 + + Lm; de donde (I ; L);1 U es una matriz no negativa. Supongase que x es vector propio respecto a , por consiguiente (I ; L);1 Ux = x; Ux = x ; Lx; (L + U ) = x; por el teorema de Perron-Frobenius, 0; si = 0 no hay nada que demostrar, si no U L + x = x:
55
II.3 Metodos Iterativos
Utilizando nuevamente el teorema de Perron-Frobenius, es necesario que < 1, por que de lo contrario algunos coe cientes de L + U seran mas 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 metodo de GaussSeidel converge mas rapidamente a la solucion que el metodo de Jacobi, si la matriz A es no negativa, irreducible y con valor propio maximal mas peque~no que 1. Una propiedad muy importante de algunas matrices, esta dada por la: De nicion 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 de nida por
1 L + 1 U = L U
(II:3:11)
son independientes de .
Ejemplos
1.- La matriz A de nida por
0 B A= C 0 ;
donde B y C son matrices x cuadradas del mismo orden. A posee la property A. En efecto, si y es un vector propio de A se tiene:
B
x
x C y = y ; x 1 x B = C y y : 2.- La matriz tridiagonal con coe cientes diagonales nulos, dada por
00 a BB b 0 c @ d 0 e ...
...
1 CC A
56
II Sistemas Lineales
posee la property A. Pues, se tiene: 00 a 10x1 0x1 BB b 0 c CBy C By C @ d 0 e CA B@ z. CA = B@ z. CA ; ... ... .. ..
0 0 1a BB b 0 1 c B@ d 0 1 e . ..
...
10 1 0 1 CC B yx C B yx C CA B@ 2 z CA = B@ 2 z CA : . . ..
..
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 mas grande de la matriz inducida por el metodo de Gauss-Seidel. Demostracion.- Sea x el vector propio respecto a , de donde (L + U )x = x; dividiendo esta expresion por p y aplicando la property A, se tiene p L + p1 U x = px; de donde p es el valor propio maximal de A. Si la matriz A es irreducible, no negativa, con valor propio maximal menor a 1 y ademas con la property A, se tiene: | Metodo de Gauss-Seidel converge 2 veces mas rapido que el de Jacobi. | Metodo de Gauss-Seidel ocupa la mitad de sitio de memoria. | Metodo de Gauss-Seidel ocupa la mitad de plaza de calculo. | Pero Jacobi puede ser paralelizado, en cambio Gauss-Seidel no.
Metodo de Sobrerelajacion SOR
Las siglas SOR signi can en ingles Successive over relaxations. Es una modi cacion del metodo de Gauss-Seidel. Consiste en utilizar un factor de sobrerelajacion !. Primero se efectua una iteracion de Gauss-Seidel para luego corregir con !, en sntesis el metodo SOR esta dado por: u(k+ 21 ) = Lu(k+1) + Uu(k) + b; (II:3:13) u(k+1) = u(k) + ! u(k+ 21 ) ; u(k) ; ! > 1:
57
II.3 Metodos Iterativos
Haciendo el calculo de u, componente por componente, se tiene:
uauxi =
X j 3; excepto en los casos: r=1p; para un grafo; r= 2; p para un grafo; r=(1 + 5 = 2) ; para un grafo; p r= 3; para dos grafos. 4.- Demostrar que la matriz bloque 00 B 1 A = @C 0 DA E 0 veri ca la property A. 5.- (Producto de Kronecker). Sea B = (bij ) una matriz de n n y C = (cij ) una matriz m m. Se de ne A = B C , una matriz nm nm, por 0 b11C b1nC 1 .. A : A = B C = @ ... . bn1C bnn C a) Mostrar: si x es un vector propio de dimension n e y es un vector de dimension m, entonces (Bx) (Cy) = (B C )(x y) donde x y esta de nido 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 Metodos Minimizantes Otra clase de metodos comunmente utilizados en la resolucion de grandes sistemas lineales, son los metodos de tipo gradiente que consisten en la resolucion un problema de minimizacion equivalente. Esta clase de metodos se aplica a la resolucion de Ax = b; (II:4:1) donde A es una matriz simetrica de nida positiva. La equivalencia con el problema de minimizacion, esta dada por la siguiente: Proposicion II.4.1.- Si A es simetrica y de nida positiva, los dos problemas siguientes son equivalentes:
f (x) = 12 xt Ax ; xt b + c ! min; Ax = b:
(II:4:2) (II:4:2)
Demostracion.- El primer problema puede ser escrito como 1 X x a x ; X x b + c ! min : 2 i;j i ij j j j j
(II:4:4)
El procedimiento para encontrar el mnimo, consiste en derivar f , de donde
@f = 1 X a x + 1 X x a ; b = 0: @xk 2 j kj j 2 i i ik k
Puesto que A es simetrica, se tiene
X j
akj xj ; bk = 0:
Si x es solucion de (II.4.2), se tiene que x es solucion del problema (II.4.3). Ahora bien, si x es solucion de (II.4.3), es un punto crtico de la funcion f , pero como A es de nida positiva, se tiene que f posee x como un mnimo.
67
II.4 Metodos Minimizantes
Metodo del Gradiente
El gradiente de f , utilizando la demostracion de la anterior proposicion, esta dado por rf (x) = Ax ; b: (II:4:5) Sea xo un punto de partida, se tiene: f (x) = f (xo ) + hrf (xo ); x ; xo i + 21 (x ; xo )t A(x ; xo ); = f (xo ) + kx ; x0 k krf (xo )k cos + 12 (x ; xo )t A(x ; xo );
donde es el angulo entre rf (xo ) y x ; x0 . Como se busca que f (x) sea mnimo, rf (xo ) y x ; xo deben tener la misma direccion y el mismo sentido. Supongase que se ha encontrado este x, que se lo denota por x1 , se puede plantear para k 0, obteniendo as, el metodo del gradiente
xk+1 = xk ; k gk ; (II:4:6) donde gk = rf (xk ). El problema, por consiguiente, es determinar k teniendo en cuenta las observaciones anteriores, se de ne la funcion G( ) por G( ) = 21 (xk ; gk )t A(xk ; gk ) ; (xk ; gk )tb; (II:4:7) de donde, el mnimo de G esta en k , dado por kt k (II:4:8) k = gk t g k : g Ag Una ilustracion de las iteraciones del metodo del gradiente esta dada en la gura II.4.1.
x1
x 3ó x
2
x
o
Figura II.4.1 Ilustracion metodo del gradiente.
68
II Sistemas Lineales
Planteando hk = Agk , se tiene la version algortmica del metodo del gradiente: 1 x := xo ; 2 g := Ax ; b; 3 Si jgj TOL, entonces FIN; 4 h := Ag; g; gi ; 5 := hhg; hi 6 x := x ; g; 7 retornar al paso 2. La velocidad de convergencia del metodo del gradiente, esta dada por el teorema siguiente, que sera enunciado sin demostracion. Teorema II.4.2.- Sean, A simetrica y de nida positiva, max el valor propio mas grande, min el valor propio mas peque~no de A, por lo tanto = max = cond2 A; min entonces
xk ; x
; 1 k
x0 ; x
; (II:4:9) +1 donde x es la solucion exacta. Ademas, se tiene el: Teorema II.4.3.- Existe, x0 tal que
xk ; x
= ; 1 k
x0 ; x
: +1
(II:4:10)
Demostracion.- En un referencial con un origen adecuado y una base de
vectores propios de A, el problema (II.4.2) puede formularse como 1 x^t Ax^ ; c ! min; 2 es decir Ax^ = 0; (II:4:11) donde A = diag(min ; : : : ; max). Dividiendo (II.4.11) por max , se obtiene el sistema equivalente 01 1 A^x^ = @ . . . A x^ = 0: (II:4:12)
II.4 Metodos Minimizantes
69
Por lo tanto, se puede suponer que A tiene la forma de A^. Planteando x0i = 0; para i = 2; : : : ; n ; 1; el problema se reduce a resolver 1 0 x 0 (II:4:13) 0 y = 0 : El siguiente paso, es encontrar (x0 ; y0)t , que al aplicar el metodo del gradiente, se tenga x1 qx0 y1 = ;qy0 : Ahora bien, una iteracion del metodo del gradiente da: x0 0 g = 0 ; x1 y x0 (1 ; )x0 0 x y1 = y0 ; y0 = (1 ; )y0 ) ; de donde: q = 1 ; ; ;q = 1 ; ; despejando q, se obtiene 1 q = ; + 1:
Puesto que la oscilacion encontrada no depende del punto inicial, las iteraciones siguientes presentaran el mismo fenomeno. Con lo que se ha mostrado el teorema.
Metodo del Gradiente Conjugado
La ultima demostracion muestra que en determinadas ocasiones el metodo del gradiente conduce a una oscilacion en torno a la solucion, haciendo que la convergencia no sea tan rapida como se espera, pudiendo mejorar esta situacion, tomando aparte de la direccion del gradiente otra direccion alternativa. El metodo del gradiente conjugado consiste en tomar tambien la direccion conjugada al gradiente. Para poder enunciar tal metodo es necesario dar los elementos teoricos para su comprension. Proposicion II.4.4.- Sea f (x) = 21 xtAx ; xt b, donde A es una matriz simetrica y de nida positiva. Sea d una direccion, entonces los mnimos 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
Demostracion.- Si x pertenece a una recta de direccion d, es de la forma x = a + d; donde 2 R: Se de ne la funcion g, como g(t) = f (a + td), por lo tanto esta funcion tiene un mnimo en t0 , si g0 (to ) = dt f 0 (a + to d) = 0; es decir, si se cumple
dt (A(a + to d) ; b) = 0:
De nicion II.4.5.- Dos direcciones d1 y d2 son conjugadas respecto a A si d1 t Ad2 = 0:
(II:4:15)
Con lo enunciado anteriormente, se puede formular el metodo del gradiente conjugado. Sea x0 un punto de partida, el gradiente inicial esta dado por
g0 = Ax0 ; b; se de ne
d0 = ;g0: Supongase, que se ha efectuado k iteraciones, es decir, se conoce dk , gk y xk ; entonces se de ne:
dk ; gk k = ; k k ; d ; Ad k +1 x = xk + k dk ; (II:4:16) k +1 k +1 k k g = Ax ; b = g + k Ad ; dk+1 = ;gk+1 + k dk : Para determinar k , se impone la condicion que dk+1 y dk sean conjugados, por consiguiente gk+1 t Adk = k dk t Adk ; de donde
gk+1 ; Adk = k k : (II:4:17) d ; Ad
71
II.4 Metodos Minimizantes
La version algortmica esta dada por: 1 x := punto de partida; 2 g := Ax ; b; 3 d := ;g; 4 h := Ad; d; gi ; 5 := hhd; hi 6 x := x + d; 7 g := g + h; 8 si jgj 10;6, entonces n algoritmo; hi 9 ; = hhg; d; hi ; 10 d := ;g + d; 11 Retornar al paso 4. Teorema II.4.6.- Con el algoritmo del Gradiente Conjugado se tiene:
dk ; Adl = 0; l < k; (II:4:18)
gk ; gl = 0; l < k:
Demostracion.- Por inducci
on sobre k.
Para k = 1 se tiene d0 ; Ad1 = 0 por construccion del metodo,
g1; g0 = g0; g0 ; Ag0; g0 0 = 0:
Supongase cierto para k, por la construccion de gk+1 , se tiene gk+1 ; dk = 0, entonces:
gk+1; gk = gk+1; dk + gk+1; dk;1 k;1
| {z } 0
= k;1 gk ; dk;1 +k k;1 Adk ; dk;1 ; | {z } | {z } 0
0
hip. ind
gk+1 ; gl = gk ; gl + Adk ; dl | {z } k = 0;
0
dk+1 ; Adl = c gk+1; Adl + c dk ; Adl 1 2 | {z } 0 hip. ind
= c gk+1 ; gl = 0: 1
72
II Sistemas Lineales
En el ejercicio 4, se tiene otras formulas para k ; k De nicion II.4.7.- Se de ne la norma natural del problema por p (II:4:19) kxkA = xt Ax:
Teorema II.4.8.- El error del metodo del Gradiente Conjugado, despues de l iteraciones satisface
x ; xl
M
x ; x0
; (II:4:20) A A donde ! M = inf2R i
sup 1 + 1 + 2 2 + + l l : v.p. A
(II:4:21)
Corolario II.4.9.- Si A tiene solamente l valores propios diferentes, en-
tonces el metodo del Gradiente Conjugado da la solucion exacta despues de l iteraciones. Demostracion del teorema.- Se puede suponer por traslacion, que b = 0, de donde la solucion exacta es x = 0, por lo tanto el error cometidos es el = xl . Se tiene d0 = ;g0 , de niendo 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 = xjx = x0 + 1 d0 + 2 d1 = xjx = (I + 1 A + 2 A2 )x0 : x2 minimiza f (x) en E2 . Continuando se llega a El = xjx = (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 = x0 t Ax0 = =
n X i=1
X i;j X
i vi ; i vit Avj j 2i i
i
= x0 A :
73
II.4 Metodos Minimizantes
Por otro lado, se tiene
xk = (I + 1 A + + l Al ) =
xl Axl = de donde
xl
2 A
n X i=1
n X i=1
n X i=1
i vi
i (1 + 1 i + + l li )vi ; 2i i (1 + 1 i + + l li );
1 + 1i + + l li 2 x0 2A : max ;:::; 1
n
Polinomios de Chebichef
Supongase, que se conoce los valores propios de la matriz A simetrica y de nida 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 intervalo [min ; max ] exactamente l + 1 veces, | es igual a en max . La razon puede apreciarse en la gura II.4.2, para el caso l = 2. 1
ε λ min
λ max
−ε
Figura II.4.2 Polinomio minimizante para l = 2.
74
II Sistemas Lineales
De nicion 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 mnimos y maximos relativos son 1 y pertenecen a (;; 1; 1). Teorema II.4.11.- Chebichef. Tn(x) esta dado por
n p n p Tn (x) = 12 x + x2 ; 1 + x ; x2 ; 1 :
(II:4:22)
Demostracion.- Este teorema sera abordado en el Captulo IV, motivo por
el cual la demostracion no es necesaria por el momento. Lo unico que puede decirse, es que la de nicion moderna de los polinomios de Chebichef esta dada por
Tn (x) = cos n; donde x = cos :
(II:4:23)
Teorema II.4.12.- La constante M del teorema II.4.8, esta dada por M=
max1+min :
Tl ; max min
(II:4:24)
Demostracion.- Se utiliza la transformacion afn dada por x = + ; donde:
2
; max ; min + min : = ; max ;
=
max
min
por consiguiente tomando 1=M = Tl ( ) se tiene el resultado deseado. Teorema II.4.13.- Para el metodo del Gradiente Conjugado, se tiene la estimacion
xl ; x
2 pp ; 1 l
x0 ; x
; (II:4:25) A A +1 donde = cond2 (A), x la solucion exacta.
75
II.4 Metodos Minimizantes
Demostracion.- Para x 1, se tiene
p
l
jTl (x)j 21 x + x2 ; 1 ; de donde
2 l ; para x 1; x + x2 ; 1
M
p
(II:4:26)
particularmente para
min = + 1 ; x = max + 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 metodo del gradiente, como para el metodo del gradiente conjugado, se puede estimar el numero de iteraciones necesarias para conseguir una precision relativa de 10;b . Para el metodo 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 metodo del gradiente, el metodo del gradiente conjugado necesita aproximadamente l iteraciones, de donde
p
l b :
(II:4:28)
Metodo del Gradiente Conjugado Precondicionado
El corolario II.4.9 indica claramente, que el metodo del Gradiente Conjugado converge a la solucion exacta despues de l iteraciones, siendo l el numero 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) = 21 xt Ax ; xt b: Se de ne x^ como x^ = E t x;
76
II Sistemas Lineales
donde E es una matriz inversible con ciertas condiciones a cumplir que seran dadas mas adelante. Para no recargar la notacion, se denota
E t ;1 = E ;t : Por consiguiente, el problema se convierte en
f (^x) = 21 x^t E ;1 AE ;t x^ ; x^E ;1 b:
(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 metodo del gradiente conjugado a (II.4.29) se tiene la solucion exacta despues de una sola iteracion, en este caso, la matriz E es la descomposicion de Cholesky de A. Ahora bien, realizar la descomposicion de Cholesky signi ca que se puede calcular directamente la solucion, lo que implica un gran numero de operaciones a ejecutar. La determinacion de E se la realiza utilizando dos metodos que seran analizados mas adelante. El algoritmo del gradiente conjugado para el problema condicionado esta dado por: 1 x^ := punto de partida; 2 g^ := E ;1 AE ;t x^ ; E ;1 b; 3 d^ := ;g^; ;t d^; 4 h^ := ED ;1 AE E d;^ g^ 5 ^ := D E ; d;^ h^ 6 x^ := x^ + ^d^; 7 g^ := g^ + ^h^ ; 8 si jg^j D 10E;6, entonces n algoritmo; g^; h^ 9 ^; = D E ; d;^ ^h 10 d^ := ;g^ + ^d^; 11 Retornar al paso 4. La implementacion del metodo 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 metodo del gradiente conjugado para el problema condicionado y utilizando las identidades para k y k dadas en el ejercicio 4, uno se
77
II.4 Metodos Minimizantes
dara cuenta de las sutilezas empleadas. Por consiguiente, la formulacion algortmica esta dada por: 1 x := punto de partida; 2 g := Ax ; b; 3 := C ;1 g; 4 o := hg; i; 5 d := ;; 6 h := Ad; 7 := 0 =hd; hi; 8 x := x + d; 9 g := g + h; 10 si jgj 10;6, entonces n algoritmo; 11 := C ;1 g; 12 1 := hg; i; 13 ; = 1 =0; 14 d := ; + d; 15 0 := hd; gi; 16 Retornar al paso 6. Esta formulacion presenta algunas novedades respecto a la formulacion del metodo del gradiente conjugado. La mas importante es la aparicion 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 mas parecida a la matriz A o a un multiplo de esta. Ademas, se debe resolver la ecuacion C = g; motivo por el cual la matriz C debe ser la mas simple posible. Actualmente existen dos metodos muy utilizados para determinar C , dependiendo sobre todo de las caractersticas de A. Estos son:
1.- Factorizacion Incompleta de Cholesky
La descomposicion de Cholesky incompleta de la matriz A, esta dada por EE t . Los coe cientes de E son nulos en el lugar donde los coe cientes de A son nulos; para los otros coe cientes, los valores estan dados por las formulas obtenidas para la descomposicion de Cholesky dada en la seccion II.2, es decir: v
u i;1 X u t eii = aii ; e2ji ; 0 jk=1;1 1 X @aki ; ekj eji A
eki =
j =1 eii
(II:4:30a)
:
(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 metodo SSOR consiste en de nir la matriz E , como una matriz triangular inferior, cuyos coe cientes de la diagonal son iguales a la raiz cuadrada de los coe cientes de la diagonal de A. Los coe cientes de la parte inferior de la matriz E son iguales a los coe cientes de la parte inferior de la matriz A multiplicados por un factor de relajacion positivo !, es decir: eii = paii ; (II:4:31a) eki = !aki ; ! 0: (II:4:31b) Luego se resulve: E g^ = g; E t = g^: La determinacion del ! optimal se realiza al tanteo, dependiendo del problema a resolver, pues por el momento no existe un criterio analitico para determinar este valor optimal.
Resultados Numericos
El estudio teorico y la formulacion de metodos de resolucion de sistemas lineales por si solo constituye un hermoso ejercicio mental. Un metodo no es bueno, hasta que ha sido probado numericamente en problemas concretos, por eso es importante poder comparar la e ciencia de los diferentes metodos formulados en esta seccion, en diferentes tipos de problemas. Al igual que la seccion II.3, se considerara una ecuacion a derivadas parciales de tipo elptico, pues este tipo de problema, se presta mucho a la resolucion de grandes sistemas lineales. Sea, 4u = ;1; sobre = [0; 1] [0; 1]; (II:4:32) uj@ = 0: De la misma manera, que la seccion precedente, se subdivide el dominio
en una malla uniforme de longitud 1=n + 1, planteando:
)
xi = ih ; h = n +1 1 ; yj = jh
(II:4:33)
79
II.4 Metodos Minimizantes
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 Au = h2 1; (II:4:34) donde A = 4I + B In + I B , con producto tensorial de matrices de nido en la anterior seccion, In la matriz identidad de orden n n y
00 B=B @1
1
1 ... ... C : A ... 0
A es una matriz de nida positiva y simetrica de orden n2 n2 . El problema (II.4.34) sera resuelto tomando valores aleatorios para u1 . Se vera el costo en iteraciones para diferentes valores de n. Una vez efectuados los experimentos numericos, las gra cas de las iteraciones del metodo del gradiente conjugado precondicionado SSOR, pueden ser observadas en la gura 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
iter=18
Figura II.4.3. Solucion del problema (II.4.34).
80
II Sistemas Lineales
En la gura II.4.4 se observa en una gra ca el costo en iteraciones para alcanzar una precision de 10;6 para los diferentes metodos de tipo gradiente. 104
iter
103
Gradiante.
102
Gradiante Conjugado. Grad. Conj. Chols. Incom. 101
Gradiante Conjugado SSOR.
100 1 10
102
n
Figura II.4.4. Numero de iteraciones vs n.
Finalmente la tabla II.4.1, da el numero de iteraciones para alcanzar una precision de 10;6 utilizando el metodo del gradiante conjugado precondicionado para diferentes valores de n y el factor de relajacion !. En la ultima columna se agrega, ! optimal en funcion de n. Tabla II.4.1. Determinacion de ! optimal.
nn! 10
0:6 10
:65 9
:7 8
:75 7
:8 8
:85 :9 :95 !op 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
81
II.4 Metodos Minimizantes
Ejercicios 1.- Mostrar que una matriz simetrica A es de nida positiva si y solamente si det(Ak ) > 0
0 a11 a1k 1 .. A k = 1; 2; : : : ; n donde Ak = @ ... . ak1 akk
son los menores principales. Indicacion: Intentar con la descomposicion de Cholesky. 2.- Calcular el mnimo de
1 (x ; x ) 93 24 f (x) = 50 1 2 24 107
x 1 x2
; 51 (42; 21) xx12
por el metodo del gradiente conjugado partiendo del valor inicial x0 = 0. Hacer un buen gra co de los puntos x0 , x1 , x2 , de los vectores g0, g1 , d0 , d1 , y de las curvas de nivel de la funcion f (x). 3.- Aplicar el metodo del gradiente conjugado al sistema lineal
02 @1
1
0 1
1 1 3 2 1Ax = @2A 1 1 2 3
partiendo de x0 = 0. El metodo converge en 2 pasos. >Por que? 4.- Mostrar, utilizando las formulas y las relaciones de ortogonalidad del teorema II.4.6, las expresiones siguientes para k y k :
gk+1 ; gk+1 k = k k ; g ;g
gk ; gk k = k k : d ; Ad
5.- Demostrar que la funcion de la forma
f (x) = xn + 1 xn;1 + 2 xn;2 + + n se separa lo menos posible de cero entre los lmites x = ;1 y x = +1, esta dada por f (x) = Tn2(nx) :
82
II Sistemas Lineales
6.- Demostrar las relaciones de ortogonalidad
80 Z +1 Tn(x)Tm (x) > < p 2 dx = > 2 ;1 1;x :
si n 6= m; si n = m 6= 0; si n = m = 0:
7.- (Modi cacion del metodo del gradiante conjugado para matrices no simetricas o no de nidas 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 simetrica y de nida positiva. Aplicar el metodo 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 simetrico y de nido positivo.
II.5 Mnimos Cuadrados Hasta la seccion precedente, se estudiaron problemas inherentes a la resolucion de sistemas de ecuaciones lineales donde la solucion existe y es unica. En esta seccion se estudiaran problemas mas generales, donde la existencia y unicidad no juegan un rol tan preponderante. El problema que se estudiara consiste basicamente en el siguiente. Se tiene como datos: (tj ; yj ); j = 1; : : : ; m; (m grande); (II:5:1) donde tj 2 R, yj 2 R; y una funcion de modelo y = ' ((t; x1 ; : : : ; xn )) ; n m; (II:5:2) donde t 2 R, y 2 R y xi 2 R. Un ejemplo de funcion de modelo, es la siguiente funcion: ' ((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 mnimos cuadrados.
Supongase 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 0 c1(t1 ) c2(t1 ) cn(t1) 1 0 1 0 y1 1 x1 c1 (t2 ) c2 (t2 ) cn (t2 ) C B B y2 CC; B C (II:5:5) .. A @ ... A B @ ... @ ... A . xn | c1(tm ) c2(tm{z) cn(tm) } | {zx } | y{zm } b A por consiguiente, resolver Ax b: (II:5:6) Planteando: ej = '(tj ; x) ; yj ; j = 1; : : : ; m; (II:5:7) la solucion del problema (II.5.6), mediante el metodo de los mnimos cuadrados, sera aquella en la que m X
es decir
i=1
emi ;! min;
(II:5:8)
kAx ; bk ;! min :
(II:5:9) La justi cacion del metodo de los mnimos cuadrados, esta dada por dos interpretaciones. La primera:
Interpretacion estadstica
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 hipotesis siguientes, para determinar la solucion del problema (II.5.6): H1: El valor yi de (II.5.5) es la realizacion 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 simpli car el problema, se supondra que los i son iguales y conocidos de antemano. H2: El sistema sobredeterminado (II.5.6) posee una solucion unica, si se remplaza los yi por los numeros i ; es decir, que existe 2 Rn unico tal que A = donde = (1 ; : : : ; m )t . La funcion de distribucion de Yi , en Yi = yi , es igual a ; fi (yi ) = p 1 exp ; 21 ( yi ; i )2 : 2
85
II.5 Mnimos Cuadrados
Como los Yi son independientes, el vector aleatorio Y = (Y1 ; : : : ; Ym )t tiene la funcion de distribucion m Y ; f (y) = p 1 exp ; 21 ( yi ; i )2 ; i=1 2 donde y = (y1 ; : : : ; ym)t . Efectuando calculos, se obtiene m ;y ; ! X 1 i i 2 : f (y) = C exp ; 2 i=1 Aplicando el principio de maxima presuncion, la probabilidad de medir yi en lugar de i , para i = 1; : : : ; m; esta dada por f (y) ! max : (II:5:10) Por lo tanto, (II.5.10) sucede si m ;y ; X i i 2 ! min; (II:5:11) i=1 es decir 0 12 m X @ i=1
yi ;
n X j =1
ai jxj A ! min :
(II:5:12)
con lo que se ha justi cado (II.5.7).
Interpretacion geometrica
Se de ne el subespacio vectorial de Rm de dimension n dado por E = fAxjx 2 Rn g Rm ;
la solucion de (II.5.9) esta dada por el vector x0 , tal que Ax0 ; b es mnima, es decir Ax0 es el vector mas proximo perteneciente a E al vector b, de donde el vector Ax0 ; b es ortogonal al espacio E , ver gura II.5.2. b
E
Figura II.5.2 Interpretacion geometrica.
86
II Sistemas Lineales
Teorema II.5.1.- Sea A una matriz de orden m n, b 2 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 mnimos cuadrados. Demostracion.- Utilizando la interpretacion geometrica del metodo de mnimos cuadrados se tiene:
kAx ; bk2 ;! min () b ; Ax ? Ay; 8y 2 Rn () hAy; b ; Axi = 0; 8y 2 Rn () yt At (b ; Ax) = 0; 8y 2 Rn () At (b ; Ax) = 0 () At Ax = At b:
Se remarca inmediatamente que la matriz At A es simetrica y semide nida positiva, es decir xt At Ax 0. La matriz At A sera de nida positiva si y solamente las columnas de A son linealmente independientes. Si este es el caso, se puede utilizar la descomposicion de Cholesky para resolver
At Ax = At b; pero en la mayora de los casos At A es una matriz mal condicionada. Como ejemplo vale la pena citar el siguiente ejemplo: Se tiene, la funcion de modelo dada por
'(t) =
n X i=1
= xi ti;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 2 Rn , tal que
kAx ; bk2 ;! min; donde:
0 1 t1 tn1 ;1 1 B 1 t2 tn2 ;1 CC ; A=B .. A @ ... . 1 tm tnm;1
0 y1 1 B y2 CC : b=B @ .. A . ym
87
II.5 Mnimos Cuadrados
Por lo tanto
0 m P ti P t P t2 B i i t B A A = @ .. P t.n;1 P tn 0i 1 i P 1=m ti B 1 B = m@ .. . P 1=m tni ;1 01 1=2 1 = 2 1=2 B mB @ ..
PPtni ;1 1 tni C C
.. A . P Pt2i n;1 P 1=m P ti 1=m Ptni ;1 1 1=m t2i 1=m tni C CA .. . P P 1=m tni 1=m t2i n;1 1=n 1 1=(n + 1) C .. C A;
. 1=n 1=(n + 1)
puesto que
Z1 0
. 1=2n
X tk dt m1 tki :
De donde, la matriz At A se aproxima a una matriz de tipo Hilbert, la cual es una matriz mal condicionada, resultado visto en la primera seccion de este captulo. Por lo tanto se debe formular un algoritmo donde la matriz At A no aparezca directamente.
La descomposicion 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
9 z0 }|n {1> r11 r1n > > > = ... B C B C R= @ m; 0 rnn A> > > O > ;
con
A = QR:
m n;
(II:5:14)
88
II Sistemas Lineales
Puesto que la matriz Q es ortogonal, para todo vector c 2 Rm , se tiene
Qtc
= kck ; 2
de donde
kAx ; bk2 =
Qt (Ax ; b ) 2 = Rx ; Qt b 2 ;! min :
(II:5:15)
Por otro lado, la matriz R y el vector Qt b pueden escribirse como: R = R01 ; Qt b = cc1 ; 2 donde R1 es una matriz triangular de orden nn y c1 2 Rn . Por consiguiente, resolver el problema (II.5.6) es resolver la ecuacion
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 metodos consiste en la utilizacion de matrices de Householder.
Matrices de Householder (1958) Sea u 2 Rm , con kuk2 = 1. Se de ne la matriz Q por Q = I ; 2uut;
(II:5:17)
matriz que es simetrica y ortogonal. En efecto:
;
Qt = I ; 2uut t ; = I ; 2uut ; ; ; Qt Q = I ; 2uut t I ; 2uut = I ; 2uut ; 2uut + 4uutuut = I: La manera como actua Q sobre Rm es la siguiente, sea x 2 Rm , Qx = x ; 2uutx; si ut x = 0, se tiene inmediatamente que Qx = x, de donde Q es una simetra respecto al hiperplano fxjut x = 0g, en efecto ; Qu = I ; 2uut u = ;u:
89
II.5 Mnimos Cuadrados
En base a estas matrices se construira un metodo que permita descomponer la matriz A en QR en n ; 1 pasos a lo maximo. Se busca una matriz Q1 = I ; 2u1ut1 con ku1 k2 = 1, tal que 0 1 1 B 0. . . CC : Q1 A = B @ .. .. .. 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; 2 R: (II:5:18) Por las propiedades de norma se tiene j1 j = kA1 k2 , por consiguiente 1 = kA1 k2 ; (II:5:19) Q1 es una matriz de Householder, por lo tanto: A1 ; 2u1 ut1A1 = 1 e1 ; 2u1(u| t1{zA1}) = A1 ; 1 e1 ; 2R
de donde u1 tiene la misma direccion que A1 ; 1 e1 . En consecuencia, u1 = kAA1 ;;1ee1k : (II:5:20) 1 1 1 2 Sabiendo que la sustraccion es una operacion 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, de niendo v1 = A1 ; 1 e1 , se tiene: v1t v1 = 1 (At ; et )(A ; e ) 2 2 1 11 1 11 ; = 12 kA1 k22 ;1 a11 ; 1 a11 + 21
| {z2 } 1
= 1 (1 ; a11 ); Q1Aj = Aj ; 2u1ut1 Aj = Aj ; t2 v1 v1t Aj v1 v1 = Aj ; ( 1; a ) v1 v1t Aj : 1 1
11
(II:5:22)
90
II Sistemas Lineales
Despues del primer paso de la descomposicion QR, se ha obtenido
0 1 B 0. Q1 A = B @ .. A(1)
1
0
CC : A
El segundo paso es determinar Q 2 matriz de Householder, como en el primer paso, de manera que
0 1 1 0 1 BB 0 2 B C 0 B C Q2 Q1 A = @ .. Q A(1) A = B B@ 0.. 0.. 2 . A(2) . . 0 0
donde
01 B 0. Q2 = B @.
0 0
. 0
Q 2
0
1 C C
CC ; A
1 CC : A
Costo de la descomposicion QR
La descomposicion se la realiza en n ; 1 etapas,
Q | n;1 {z Q2Q}1 A = R; 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.
Programacion
La descomposicion QR presenta la ventaja que se puede utilizar las plazas ocupadas por los coe cientes de la matriz A, con los coe cientes de la matriz
91
II.5 Mnimos Cuadrados
R y los vectores v1 . En lo que se sigue, se tiene un esquema del metodo de descomposicion QR. R A
!
v1
R
A(1)
!
1
v1 v2
A(2)
1 2
Al nal de la descomposicion 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 llegara a la situacion de obtener un i = 0, y la descomposicion en este caso sera numericamente inestable. Para evitar esta situacion, se puede modi car la descomposicion QR de la manera siguiente. Sea A la matriz a descomponer, se considera kAjo k22 = j=1max kA k2 ; (II:5:23) ;:::;n j 2
se intercambia la primera columna A1 con Ajo y se procede el primer paso de la descomposicion QR, para el segundo paso se procede de la misma manera y as sucesivamente. Por consiguiente, con esta modi cacion se obtiene la sucesion decreciente, 1 2 k > 0: (II:5:24) Si hay vectores linealmente dependientes se llega por lo tanto al siguiente resultado 0 1 r1n 1 R R . . . ... A : (II:5:25) R = 01 02 con R1 = @ {z k } | k = rangA
92
II Sistemas Lineales
La descomposicion QR es un instrumento numerico 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 sucesion decreciente (II.5.24) . Se remarca inmediatamente que, si k+1 = 0, entonces k+i = 0 para i > 2. Se de ne la matriz R^ el resultado numerico obtenido despues de k pasos como 0 1 1 B ... R^2 C CA : R^ = B (II:5:26) @ k 0 0 Planteando ^ A^ = QR; (II:5:27) se tiene la: De nicion II.5.2.- k+1 es despreciable, si y solamente si
A ; A^
2 eps kAk2 :
(II:5:28)
Se tiene, por consiguiente:
A ; A^ = Q(R ; R^);
kA
k2 = k
Rk2 ;
A ; A^ 2 = R ; R^ 2 ; de donde
k+1 despreciable ()
R ; R^
2 eps kRk2 ;
k+1 es una buena aproximacion de
R ; R^
2 , y 1 es una buena aproximacion 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 solucion unica, si el rango de la matriz A es igual a n y esta dada por
x = (At A);1 At b:
(II:5:30)
II.5 Mnimos Cuadrados
93
La matriz
A+ = (At A);1 At ; (II:5:31) sera la matriz inversa para el problema (II.5.6). Para el problema mas general, donde le rango de A es n, la descomposicion QR da el siguiente resultado 0 1 r1k 1 R R ... A; R = 01 02 ; con R1 = @ 0 k t k planteando x = (x1 ; x2 ) , con x1 2 R , se tiene
kAx ; bk22 = Rx ; Qt b 22
R x + R x ; c
2
1 1 ;c2 2 1
2 2 2 kR1 x1 + R2 x2 ; c1 k2 + kc2 k22 ; de donde el: Teorema II.5.3.- x = (x1 ; x2)t es solucion 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 solucion es unica; si no las soluciones del problema (II.5.6) constituyen un espacio afn. Sea por consiguiente F = fxjx es solucion de (II.5.6)g ; de donde, para obtener una solucion unica, el problema (II.5.6) se convierte en kAx ; bk2 ;! min ; (II:5:33) kxk2 ;! min De nicion 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 solucion x para todo b 2 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 esta dada por la formula (II.5.31). Para el caso mas general se tiene los siguientes resultados: F = xx12 xx2 =arbitrario ; ;1 1 R1 (c1 ; R2 x2 ) kxk22 = kx1 k22 + kx2 k22
= R1;1 (c1 ; R2 x2 ) 22 + kx2 k22 ;! min : (II:5:35)
94
II Sistemas Lineales
Derivando (II.5.35), se obtiene
;I + (Rt R;t)R;1R x = Rt R;tR;1c : 2 1 1 1 2 {z 1 1 2} 2 |
(II:3:36)
simetrica y de nida positiva
Se ha de nido la pseudo-inversa de la matriz A, su existencia esta asegurada por el hecho que el problema (II.5.33) tiene solucion unica, en lo que sigue se determinara de manera explcita esta pseudo-inversa con algunas de sus propiedades mas interesantes. Teorema II.5.5.- Sea A una matriz de m n, entonces existe dos matrices ortogonales U y V tales que
0 1 BB B U t AV = B BB @
... 0
1 CC n C CC CA
con:
1 k > 0; k+1 = = n = 0:
(II:3:37)
(II.3.37) se llama la descomposicion a valores singulares de la matriz A y 1 ; : : : ; n son los valores singulares de la matriz A. Demostracion.- La matriz At A es simetrica y semi de nida positiva, por consiguiente existe una matriz V ortogonal tal que
0 2 1 B t t V A AV = @
...
n2
1 CA ;
con 1 n 0. Se busca una matriz U ortogonal tal que
0 1 BB B AV = U B BB @
... 0
1 CC n C CC ; CA
suponiendo k > 0 y k+1 = 0, se de ne D la matriz diagonal de k k con coe cientes i , i = 1; : : : ; k; por consiguiente si
AV = ( U1 U2 ) D0 00 = ( U1 D 0 ) ;
95
II.5 Mnimos Cuadrados
donde U1 esta constituida por las primeras k columnas de U . Sean (AV )1 las primeras k columnas de AV; (AV )2 las otras n ; k columnas de AV; (AV )2 = 0, en efecto, sea x = (0| ; :{z: : ; 0}; x^)t , donde x^ 2 Rn;k , obteniendo: k
0 2 1 xt V t At AV x = xt B @
Se de ne U1 por
...
1 CA x = 0;
n2 kAV xk22 = k(AV )2 x^k22 ; 8x^:
U1 = (AV )1 D;1 ; obteniendo columnas ortonormales, ya que ; U1tU1 = 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 0 1 1 B ... 0C C; U t AV = = B (II:5:38) @ k A 0 la descomposicion en valores singulares. Entonces la pseudo-inversa de A esta dada por 0 1;1 1 ... B 0C CA U t: A+ = V B (II:5:39) @ ; 1 k 0
Demostracion.- Se tiene
kAx ; bk22 = U V t x ; b 22
2
= U (V t x ; U t b) 22 =
|{z} V t ; |{z} U t b
y c
Dy c
2 2 = ky ; ck22 =
0 1 ; c1
2 2 = kDy1 ; c1 k22 + kc2 k22 :
96
II Sistemas Lineales
Para que la expresion 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
D ;1 c 0
1
D;1 0 c = V 0 0 c1 D ;1 0 2 =V
=A+ b;
0
t 0 V b 8b:
Finalmente se tiene: Teorema II.5.7.- La pseudo-inversa de una matriz veri ca las siguientes propiedades: a) b) c) d)
(A+ A)t = A+ A; (AA+ )t = AA+ ; A+ AA+ = A+ ; AA+ A = A;
llamados axiomas de Moore-Penrose, ademas la pseudo-inversa esta unicamente determinada por estos axiomas. Demostracion.- Veri cacion inmediata utilizando (II.5.39).
Error del Metodo de los Mnimos Cuadrados
Retomando la interpretacion estadstica del metodo de los mnimos cuadrados. Se han dado dos hipotesis de partida, para determinar la solucion: la primera sobre los yi de la ecuacion (II.5.5); la segunda concerniente a la compatibilidad de la funcion modelo (II.5.2) con los datos (II.5.1). Suponiendo validas estas dos hipotesis, se tiene
A = ;
(II:5:40)
donde = (1 ; : : : ; m )t es la esperanza del vector aleatorio Y . Ahora bien, el metodo de los mnimos cuadrados da como solucion (x1 ; : : : ; xn )t , que por (II.5.30), es igual a x = (At A);1 At b:
97
II.5 Mnimos Cuadrados
Por lo tanto
x ; = (At A);1 At (b ; ) o xi ; i =
m X
ij (bj ; j ); (II:5:41) j =1 donde ij es el elemento (i; j ) de la matriz (At A);1 At . Se supondra, por lo tanto, que xi es una realizacion de una variable aleatoria Xi de nida por m X Xi ; i = ij (Yj ; j ): (II:5:42) j =1
Teorema II.5.8.- Sean X1; X2; : : : ; Xm variables aleatorias independientes,
con esperanza i y varianza i = 1. Entonces, la variable aleatoria Xi , de nida 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 . Demostracion.- Se tiene, utilizando la linearidad de la esperanza,
E (Xi ) =
m X
j =1 = i :
ij E (Yj ; j ) + 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 canonica, se tiene V ar(Xi ) = V ar(Xi ; i ) = =
m X j =1 m X
2ij V ar(Yj ; j ) 2ij
j =1
= (At A);1 At ei 22
= eti (At A);1 At 22
= 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 solucion exacta existe, entonces se tiene una probabilidad de 95% que
i = xi 2Xi :
(II:5:44)
La formula (II.5.43) da los valores de Xi , sin embargo se ha visto que la determinacion de At A puede representar una cantidad grande de calculo. Utilizando la descomposicion QR, se tiene
At A = Rt QtQR = Rt R:
(II:5:45)
Como las ultimas las de ceros no incide en el calculo del producto Rt R, se puede considerar R como una matriz de n n, obteniendo as la descomposicion de Choleski de (At A). Una vez determinados los parametros x de la funcion modelo (II.5.2) corresponde saber, si los (II.5.1) son compatibles con tal modelo. Por la descomposicion QR, el problema (II.5.6) se convierte, ver (II.5.15), en
R
C1 C1 t 0 x = C2 ; donde C2 = Q b:
(II:5:46)
Denotando los elementos de Qt por qij , los elementos del vector C , satisfacen
ci =
m X j =1
qij bj ;
y las componentes del vector C2 satisfacen tambien
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 continuacion, se da la proposicion siguiente, sin demostracion. Proposicion II.5.9.- Sean Y1; : : : ; Ym variables aleatorias independientes siguiendo N (0; 1). Entonces las variables aleatorias Zn+1 ; : : : ; Zm , de nidas por (II.5.47) son independientes y siguen tambien una ley normal N (0; 1). El error cometido, por el metodo de los mnimos cuadrados, es equivalente a estudiar kC2 k22 de donde el teorema, sin demostracion:
99
II.5 Mnimos Cuadrados
Teorema II.5.10.- Pearson. Sean Z1; Z2; : : : ; Zn variables aleatorias inde-
pendientes siguiendo la ley normal N (0; 1). Entonces, la distribucion de la variable aleatoria Z12 + + Zn2 ; (II:5:48) esta dada por fn(x) = n=2 1 xn=2;1 e;x=2; x > 0; (II:5:49) 2 ;(n=2) 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 funcion 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 realizacion de una variablea aleatoria siguiendo una ley normal N (0; ) con = 0:1.
Tabla II.5.1. Valores de bi en funcion de i. i 0 1 2 3 4
bi 0:11158 1:2972 2:07201 2:4744 3:963
i 5 6 7 8 9
bi 5:5158 6:0119 6:6802 7:9294 9:4129
Se considera, la funcion de modelo
'(t) = xt + y sin(t=2):
(II:5:50)
Obteniendo por la descomposicion QR:
x = 1:00074; y = 0:413516: El siguiente paso sera estimar el intervalo de con anza para x y y. Para tal efecto, se considera el problema 4) bi x t + y sin(t= = ; 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 esta dada por
2 3:57143 10;5 ;3:57143 10;5 xy = x 2 ;5 ;3 : xy y
;3:57143 10
2:03571 10
Por consiguiente:
x = 1:00074 0:012; y = 0:41352 0:09: El metodo QR, con la notacion 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 distribucion 2 , se deduce que este valor es lo su cientemente peque~no para ser probable. Ahora bien, si se hubiese considerado la funcion de modelo '(t) = xt + y; se hubiera encontrado
kC2 k22 = 90:5225;
(II:5:51)
2 valor demasiado grande para ser probable. La conclusion es que, para los valores de la tabla II.5.1, la ley (II.5.50) es mas probable que la ley (II.5.51). En la gura II.5.3, puede observarse en linea continua la gra ca de la funcion modelo dada por (II.5.50) y con lineas segmentadas la gra ca de la funcion modelo (II.5.1).
101
II.5 Mnimos Cuadrados 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 metodo de los mnimos cuadrados.
Ejercicios 1.- Sea A una matriz inversible de n n. Mostrar que la descomposicion QR es unica, si se supone que rjj > 0 para j = 1; : : : ; n. 2.- Aplicar el algoritmo de Golub-Householder a la matrice de rotacion
sin A = ;cos sin cos : Dar una interpretacion geometrica. 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 transformacion ortogonal de Rn es una sucesion de al menos n re exiones. 4.- Escribir una subrutina DECQR(N,M,MDIM,A,ALPH), (A(MDIM,N),ALPH(N)), que calcula la descomposicion QR de una matriz m n, m n. Escribir tambien una subrutina SOLQR(N,M,MDIM,A,ALPH,B) que calcula la solucion del problema
kAX ; bk2 ;! min : Determinar la parabola x1 + x2 t + x2 t2 , que ajusta lo mejor posible:
102
II Sistemas Lineales
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 t ;1 t A+ = lim !0+ (A A + I ) A :
Captulo III Interpolacion Uno de los mayores problemas con que se tropieza, radica en la evaluacion de las funciones en determinados puntos. Las causas principales de estas di cultades estan esencialmente en la di cil manipulacion de estas funciones; una funcion tan inocente como la logaritmo presenta di cultades en su evaluacion y se debe recurrir a utiles matematicos como series, etc. Por otro lado, la sola informacion que se conoce de esta funcion, son determinados puntos, e incluso suponiendo que esta es lo bastante regular, la evaluacion en otros puntos es de gran di cultad. De donde un metodo de facil manipulacion consiste en la aproximacion de las funciones a evaluar por polinomios. Existen dos enfoques diferentes, el primero radica en la aproximacion mediante polinomios de interpolacion y el otro mediante la mejor aproximacion polinomial respecto a una norma. Este captulo abordara sobre todo la aproximacion mediante polinomios. La primera parte tratara sobre la interpolacion de Lagrange y Hermite, la formulacion de algoritmos para calcular estos polinomios sera hecha, las estimaciones de error cometido seran tambien estudiadas a fondo, como as mismo los problemas de estabilidad inherentes a la interpolacion de Lagrange seran abordados con resultados y ejemplos, como elementos teoricos los polinomios de Chebichef seran vistos dando como consecuencia resultados interesantes sobre la eleccion de los puntos de interpolacion. Un segundo topico a ver sera los splines, polinomios que operan como serchas, por su facil manipulacion, como por su gran utilidad seran estudiados en la formulacion de los metodos, el calculo de error y sus diferentes aplicaciones. Un tercer tema de gran interes por las grandes utilidades que puede dar, consiste en los metodos de extrapolacion tanto como en su valor teorico, como tambien por su propiedad de acelerar la convergencia de muchas sucesiones.
III.1 Interpolacion de Lagrange En la introduccion del captulo, se menciono la interpolacion como un instrumento de aproximacion de una funcion determinada. Sea f una funcion de la que se conoce las imagenes en una cantidad nita de puntos, es decir
f (xi ) = yi i = 1; : : : ; n; la funcion interpolante p sera por de nicion igual a f (xi ) para i = 1; : : : ; n. Se hablara de interpolacion cuando se evalua en el punto x con
x 2 [min xi ; max xi ]; y de extrapolacion si no. Por su facil manipulacion, pues solo se efectua multiplicaciones y adiciones, es conveniente que la funcion interpolante p sea un polinomio. De nicion 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 veri ca p(nli ) (xi ) = yili : (III:1:1) Si los i = 0 para i = 0; : : : ; k, pn se llama Polinomio de Lagrange. De nicion III.1.2.- Cuando los puntos yili satisfacen
yili = fn(li) (xi );
(III:1:2)
para una determinada funcion f , pn es el polinomio de interpolacion de Hermite, y si los i son nulos, se hablara del polinomio de interpolacion de Lagrange. Estas dos de niciones dan las condiciones que deben cumplir los polinomios de interpolacion, sin embargo la existencia, como la unicidad no estan dadas, podra suceder que no existiesen en algun caso. Por eso es necesario insistir en la base teorica que asegure la existencia y la unicidad de estos, ademas, para que la construccion de estos pueda ser relativamente facil.
Bases Teoricas
Sin querer dar un tratado sobre la teora de los polinomios, existen resultados que deben formularse para la mejor comprension de la interpolacion polinomial. Aunque en Algebra se hace distincion entre polinomio y su funcion
105
III.1 Interpolacio n de Lagrange
polinomial asociada, no se hara distincion entre estos, por que son polinomios a coe cientes reales o complejos los que se utilizan en la mayor parte de los problemas a resolverse numericamente. De nicion III.1.3.- Sea p(x) 2 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:
Proposicion 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):
Demostracion.-Ver en cualquier libro de Algebra. Corolario III.1.5.- Un polinomio pn(x) de grado n tiene a lo mas 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
p(nli ) (xi ) = yili ; donde yili 2 R, 0 li i . Demostracion.- Sean pn y qn dos polinomios de Hermite que satisfacen las hipotesis 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 proposicion anterior se tiene
pn ; qn =
Yk i=0
(x ; xi )i +1
!
r(x);
sumando los grados, la unica 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
p(nli ) (xi ) = yili ; donde yili 2 R, 0 li i . Demostracion.- Es su ciente mostrar que existe un polinomio de Hermite de grado n tal que para i 2 f0; : : :; kg y l 2 f0; : : :; i g se tenga:
p(l) (xi ) = 1; p(m) (xj ) = 0 para m 6= l oj 6= i;
106
III Interpolacio n
denotese por pi;l este polinomio. xj para j 6= i es un cero de multiplicidad j + 1, de donde:
0 1 Y pi;l = r(x) @ (x ; xj )j +1 )A ; j 6=i 0 1 Y pi;i = Ci;i (x ; xi )i @ (x ; xj )j +1 )A ; j 6=i
i ) (x ) = 1. Los polinomios la constante Ci;i es escogida de manera que p(i; i i pi;l se los de ne recursivamente de la siguiente manera
0 0 1 1 Y X pi;l = Ci;l @(x ; xi )i @ (x ; xj )j +1 )A ; cil;m pi;m A ; j 6=i
m>l
donde las constantes cil;m son escogidas de manera que p(i;lm)(xi ) = 0 para m > l y Ci;l de manera que p(i;ll) = 1. Para construir el polinomio de interpolacion no debe utilizarse los polinomios de nidos en la demostracion, uno porque el costo en operaciones es demasiado elevado y otro por la sensibilidad de estos polinomios as de nidos a los errores de redondeo.
Construccion del Polinomio de Interpolacion
Inicialmente se considerara polinomios de interpolacion 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 mas sencillo es para n = 1 y luego para n = 2. Para n = 1 la recta de interpolacion esta dada por
y1 ; y0
p(x) = y0 + x ; x (x ; x0 ); 1 0 para n = 2 la parabola de interpolacion esta dada por
; y0 p(x) = y0 + xy1 ; (x ; x0 ) + a(x ; x0 )(x ; x1 ); 1 x0
107
III.1 Interpolacio n de Lagrange
este ultimo polinomio veri ca p(x0 ) = y0 y p(x1 ) = y1 , por consiguiente es necesario determinar a de manera que p(x2 ) = y2 . Unos simples calculos algebraicos dan y2 ; y1 y1 ; y0 1 a= x ;x x ;x ; x ;x : 2
0
2
1
1
2
Para n = 3 se puede continuar con el mismo esquema, pero antes es necesario dar la nocion de diferencias divididas. De nicion III.1.8.- (Diferencias Divididas) Sean (x0 ; y0); : : : ; (xn ; yn), los xi diferentes entre si. Entonces las diferencias divididas de orden k se de nen de manera recursiva por:
y[xi ] = yi ; yi ; y[xi ; xj ] = xyj ; j ; xi y[xi1 ; : : : ; xik ] ; y[xi0 ; : : : ; xik;1 ] : y[xi0 ; : : : ; xik ] = xik ; xi0
(III:1:4a) (III:1:4b) (III:1:4c)
Teorema III.1.9.- (Formula de Newton). El polinomio de interpolacion de grado n que pasa por (xi ; yi ), i = 0; : : : ; n, esta dado por p(x) = con la convencion
;1 Y
n X i=0
y[x0 ; : : : ; xi ]
iY ;1 k=0
(x ; xk );
(III:1:5)
(x ; xk ) = 1.
k=0
Demostracion.- Por induccion sobre n. Para n = 1 y n = 2 la formula de Newton es correcta, ver mas arriba. Se supone que la formula 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 interpolacion de grado n ; 1 que pasa por (xi ; yi ) i = 0; : : : ; n ; 1. Por hipotesis de induccion se tiene
p1 (x) =
nX ;1 i=0
y[x0 ; : : : ; xi ]
iY ;1
k=0
(x ; xk );
por lo tanto hay que demostrar que
a = y[x0 ; x1 ; : : : ; xn ]:
108
III Interpolacio n
Sea, p2 (x) el polinomio de interpolacion de grado n ; 1 que pasa por (xi ; yi ), i = 1; : : : ; n; de niendo el polinomio q(x) por
q(x) = p2 (x) ((xx ;;xx0 )) + p1 (x) ((xxn ;;xx)) ; n
0
n
0
q(x) es un polinomio de grado a lo sumo n, ademas q(xi ) = yi , i = 0; : : : ; n. Por la unicidad del polinomio de interpolacion se tiene que p(x) = q(x). Comparando los coe cientes del termino de grado n se obtiene a = y[x1 ; : : : ; xnx] ;;yx[x0 ; : : : ; xn;1 = y[x0 ; : : : ; xn ] n
0
La formula de Newton es muy simple y facil de implementar en un programa para determinar el polinomio de interpolacion de tipo Lagrange, ver la gura III.1.1 donde se muestra un esquema del algoritmo de Newton.
x0 y[x0 ]
& y[x ; x ] % 0 1& y[x0 ; x1 ; x2 ] x1 y[x1 ] & % & y[x1 ; x2 ] y[x0 ; : : : ; x3 ] % & % & x2 y[x2 ] y[x1 ; x2 ; x3 ] y[x ; : : : ; x ] & % & % 0 ... 4 . . . y[x ; x ] y[x ; :.: : ; x ] % 2 3& % 1 .. 4 . . . x3 y[x3 ] y[x ; x. ; x ] & % 2 .. 3 4 . . . y[x ; x ] % 3... 4 . . . x4 y[x4 ] .. .. . . . . .
Figura III.1.1. Esquema de la Formula de Newton.
La programacion del polinomio de interpolacion es muy facil, ademas 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 ultimas 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 ].
109
III.1 Interpolacio n de Lagrange
Un caso particular en la determinacion del polinomio de interpolacion ocurre cuando la subdivision 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 subdivision es necesario, las siguientes dos de niciones. De nicion III.1.10.- (Diferencias Finitas Progresivas) Sea y0; y1; : : : ; una sucesion de numeros reales, se de ne el operador de diferencias nitas progresivas de orden k de manera recursiva como sigue: r0 yi = yi ; (III:1:7a) ryi = yi+1 ; yi ; (III:1:7b) rk+1 yi = rk yi+1 ; rk yi : (III:1:7b)
De nicion III.1.11.- (Diferencias Finitas Retrogradas) Sea y0; y1; : : : ; una
sucesion de numeros reales, se de ne el operador de diferencias nitas retrograda de orden k de manera recursiva como sigue: r 0 yi = yi ; (III:1:8a) r yi = yi ; yi;1 ; (III:1:8b) k +1 k k r yi = r yi ; r yi;1 : (III:1:8b) Ahora bien, tomando una subdivision uniforme x0 < : : : < xn se tiene los dos resultados equivalentes para el polinomio de interpolacion de Lagrange que pasa por los puntos (xi ; yi ). Utilizando las diferencias nitas progresivas se tiene
p(x) =
n ri y iY ;1 X 0
(x ; xk ); i i=0 i!h k=0
(III:1:9)
;1 Y
donde h = (xn ; x0 )=n y con la convencion (x ; xk ) = 1. Utilizando las k=0 diferencias retrogradas se tiene
p(x) = ;1 Y
;1 n r X i yn iY
i i=0 i!h k=0
(x ; xn;k );
(III:1:10)
con la convencion (x ; xn;k ) = 1. La programacion es la misma que para k=0 el caso general, con la unica diferencia que no se efectuan divisiones. Por
110
III Interpolacio n
consiguiente, se tiene el mismo esquema de resolucion para una subdivision uniforme. En la gura III.1.2 se observa los esquemas para las diferencias nitas progresivas y las diferencias nitas retrogradas. xn r 0 yn & & ry ry 0 % n & 2 % & 2 0 0 x r y r yn n ; 1 n ; 1 x1 r y1 & % & 3 & %r y0 & 3 ryn;1 r yn r y1 r y0 % & % &4 % & 2 % & 4 r 2 yn;1 1 ry x2 r0 y2 r y1 r y0 xn;2 r 0 yn;2 & % &3 % n & % & 3 % ry ry % ry2 & 2 %r y1 % n;2 & 2 % n;1 0 x3 r0 y3 r y2 x r y r y n;3 n;3 & ry % & % n;2 3 r y n ; 3 % % x4 r0 y4 xn;4 r 0 yn;4 . .
x0 r0 y0
.. .. . . .
.. .. . . . . . Figura III.1.2. Esquemas para Diferencias Finitas
La evaluacion del polinomio de interpolacion en un punto x 2 [x0 ; xn ] se la realiza utilizando el algoritmo de Horner, ver ejemplo seccion I.1. Para ver la simplicidad de la determinacion del polinomio de interpolacion utilizando diferencias divididas, y si la subdivision es uniforme, diferencias nitas; se tiene el siguiente:
Ejemplo
Se desea evaluar la raiz cuadrada de un numero positivo, por ejemplo 1; 4. Para mostrar le e cacia y simplicidad, se va construir un polinomio de interpolacion de grado 3, y con tal efecto se utiliza los puntos donde la raiz cuadrada es exacta como una expresion 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 interpolacion, esta dado por 1;00 1;00
&;4762 % &;;0941 1;21 1;10 &;4348% &;0313 % & % 1;44 1;20 & ;400 %;;0725 % 1;69 1;30
III.1 Interpolacio n de Lagrange
111
de donde el polinomio de interpolacion 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 Interpolacion
Sea f (x) una funcion que cumple ciertas condiciones, se supone que se hace pasar un polinomio de interpolacion por los puntos (xi ; f (xi )), la pregunta natural es saber que error se comete con el calculo del polinomio de interpolacion, es decir p(x) ; f (x) vale cuanto, para un x determinado. Es por esta razon que los siguientes teoremas seran 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 2 (min xi ; max xi ) tal que (n) y[x0 ; x1 ; : : : ; xn ] = f n!( ) : (III:1:11)
Demostracion.- Se de ne la funcion r(x) por r(x) = f (x) ; p(x); donde p(x) es el polinomio de interpolacion 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 r0 (x) se anula al menos una vez en cada subintervalo [xi ; xi+1 ], es decir existe i1 2 (xi ; xi+1 ), para i = 0; : : : ; n. Aplicando una vez mas Rolle se deduce que r00 (x) tiene n ; 1 ceros en el intervalo [x0 ; xn ], nalmente aplicando el teorema de Rolle las veces que sean necesarias se llega a la conclusion 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 interpolacion de grado n de nido por (xi ; f (xi )), i = 0; : : : ; n y xi = 6 xj si i 6= j . Entonces 8x, 9 2 (min(x0 ; : : : ; xn ; x); max(x0 ; : : : ; xn ; x)), tal que
(n+1) ( ) : f (x) ; p(x) = (x ; x0 )(x ; x1 ) (x ; xn ) f(n + 1)!
(III:1:12)
112
III Interpolacio n
Demostracion.- Se deja x jo, se plantea xn+1 = x. Sea p(x) el polinomio de interpolacion de grado n + 1 que pasa por (xi ; f (xi )), i = 0; : : : ; n + 1. Por consiguiente
p(x) = p(x) +
n Y
k=0
por el teorema anterior, se tiene
p(x) = p(x) +
(x ; xk )y[x0 ; : : : ; xn+1 ];
n Y k=0
(n+1) ( ) (x ; xk ) f(n + 1)! ;
p(x) = f (x), de donde el teorema queda demostrado.
Ejemplo
Para el ejemplo de la implementaci on del metodo de diferencias divididas p p para calcular el valor 1; 4, la funcion interpolada es x. El intervalo de estudio del polinomio de interpolacion de grado 3 esta dado por [1; 1; 69], x0 = 1, x1 = 1; 21, x2 = 1; 44 y x3 = 1; 69. Por lo tanto
p
f (x) = x; f 0 (x) = ; 12 x; 12 ; f 00 (x) = 41 x; 32 ; f (3) (x) = ; 38 x; 52 ; 15 x; 72 ; f (4) (x) = 16 por consiguiente f (4) (x) 15 16 ppara x 2 [1; 1; 69], lo cual implica que el error cometido en el calculo de x esta dado por: px ; p(x) 15 j(x ; 1)(x ; 1; 21)(x ; 1; 44)(x ; 1; 69)j ; p 16 4! ;5 1; 4 ; p(1; 4) 3; 45:10 : El teorema II.1.13 da un resultado sobre el error cometido durante el proceso de interpolacion. Este error depende de la derivada numero n + 1 de la funcion f , este depende por lo tanto de la funcion a interpolar y esta
113
III.1 Interpolacio n de Lagrange
fuera de alcanze. Pero tambien el error depende de la subdivision x0 ; : : : ; xn , por lo tanto en cierta manera es controlable. De ah una pregunta natural surge: Sea [a; b] un intervalo. >Como escoger x0 ; x1 ; : : : ; xn , tales que max j(x ; x0 )(x ; x1 ) (x ; xn )j ;! min ?
x2[a;b]
(III:1:13)
Polinomios de Chebichef
La respuesta de la anterior interrogante, esta en el estudio de los polinomios de Chebichef, que ya fueron tratados en la seccion II.4. De nicion III.1.14.- El n-simo polinomio de Chebichef esta de nido en el intevalo [;1; 1] por la siguiente relacion
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 proposicion. Proposicion 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:
x)j 1; para x 2 [;1; 1]; jTkn( Tn cos n = (;1)k ; 2k + 1
Tn cos
2n
= 0;
(III:1:16) (III:1:17) (III:1:18)
para k = 0; 1; : : : ; n ; 1: Demostracion.- 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 de nicion del n-simo polinomio de Chebichef. Las dos ultimas relaciones provienen de las ecuaciones cos n' = 0 y jcos n'j = 1.
114
III Interpolacio n
Finalmente, es facil observar que el coe ciente del termino dominante de Tn para n > 0 es igual a 2n;1 : Los polinomios de Chebichef T0 ; T1; T2 y T3 pueden observarse en la gura 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 coe ciente dominante 2n;1 para n 1 y q(x) diferente a Tn(x). Entonces max jq(x)j > x2max jT (x)j = 1: (III:1:19) x2[;1;1] [;1;1] n
Demostracion.- La demostracion se la realiza por el absurdo. Se supone que existe un polinomio q(x) de grado n, tal que jq(x)j 1 para jxj 1;
III.1 Interpolacio n de Lagrange
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 2(n + 1) , entonces max j(x ; x0 ) (x ; xn )j
x2[;1;1]
es minimal respecto a todas las divisiones x0 < x1 < : : : < xn con xi 2 [;1; 1]. Demostracion.- Se tiene: (x ; x0 ) (x ; xn ) = Tn+1 (x)2;n ; (x ; x0 ) (x ; xn ) = q(x)2;n :
Para construir una division optima para cualquier intervalo [a; b], se toma los puntos x^k de nidos por
x^k = a +2 b + b ;2 a xk ;
(III:1:20)
donde los xk son los ceros del n + 1-simo polinomio de Chebichef.
Estudio de los Errores de Redondeo
En esta subseccion, se estudiara la incidencia de los errores de redondeo en la determinacion del polinomio de interpolacion, mas precisamente en los polinomios de interpolacion de tipo Lagrange. Hay que recalcar que los errores de redondeo en el calculo del polinomio interpolante esta muy relacionado con el concepto de estabilidad del algoritmo de determinacion del polinomio de interpolacion. El problema es el siguiente: Dada una subdivision x0 ; : : : ; xn , determinar p(x) de grado n tal que p(xi ) = yi , i = 0; : : : ; n. En el calculo se cometen errores de redondeo por un lado, y por otro lado los datos iniciales tienen una parte de error de redondeo. Para simpli car el estudio de la estabilidad del polinomio de interpolacion, los errores de redondeo a considerar son aquellos presentes en los yi , y se supone que no se comete errores de redondeo en los calculos propiamente dichos y que los xi son considerados por su valor exacto. El teorema III.1.7 a rma la existencia de un polinomio de interpolacion de grado n de tipo Lagrange para (xi ; yi ), i = 0; : : : ; n y los xi diferentes,
116
III Interpolacio n
durante la demostracion de este teorema se vio de manera explcita la forma que deba 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
yi li (x); i=0 Yn (x ; xj ) li (x) = (x ; x ) : j j=0 i
(III:1:21) (III:1:22)
j6=i
Como se dijo al inicio de esta subseccion, se considerara los errores de redondeo cometidos en los yi , es decir yi = yi (1 + i ); donde ji j eps: De niendo el polinomio p(x) por p(xi ) = yi , i = 0; : : : ; n. Realizando calculos y mayoraciones se obtiene:
p(x) ; p(x) =
n X
(yi ; y}i )li (x); i=0 |;{z i yi n X jp(x) ; p(x)j ji j jyi j jli (x)j i=0 n X eps jyjmax jli (x)j ; i=0 n X jp(x) ; p(x)j eps jl (x)j : i jyjmax i=0
De nicion III.1.19.- La constante de Lebesgue asociada a la subdivision x0 < x1 < < xn , esta dada por n = [xmax ;x ]
n X
0 n i=0
Ejemplos
jli (x)j :
(III:1:23)
a) Para la division equidistante xj = ;1 + 2nj , j = 0; : : : ; n. Se puede mostrar que la constante de Lebesgue se comporta asintoticamente, cuando n ;! 1, como n+1 n en2 log n ; (III:1:24)
117
III.1 Interpolacio n de Lagrange
En el ejercicio 7 de esta seccion, se indica como se calcula numericamente estas constantes, en la tabla III.1.1 estan los resultados deestos calculos. 1 , se b) Para la division con puntos de Chebichef xj = ; cos 22nj + +2 puede mostrar que la constante de Lebesgue se comporta asintoticamente, cuando n ;! 1, como n 2 log n:
(III:1:25)
Tabla III.1.1. Constantes de Lebesgue n
Division Equidistante
10 20 30 40 50 60 70 80 90 100
29:900 10987: 6:6011 106 4:6925 109 3:6398 1012 2:9788 1015 2:5281 1018 2:2026 1021 1:9575 1024 1:7668 1027
Division de Chebichef 2:0687 2:4792 2:7267 2:9044 3:0432 3:1571 3:2537 3:3375 3:4115 3:4779
Por los valores dados en la tabla, no se debe utilizar polinomios de interpolacion de grado superior a 20, si la division utilizada es equidistante. Tratar en lo posible de utilizar los puntos de Chebichef para interpolacion. En la gura III.1.4 se tienen las gra cas de l11 para n = 18 para las divisiones equidistantes y de Chebichef. En la gura III.1.5, se ve claramente los errores cometidos por redondeo utilizando puntos equidistantes al interpolar la funcion sin(x).
118
III Interpolacio n 5
0
−1
0
1
−1
0
puntos equidistantes
−5
1
puntos Chebichef
Figura III.1.4. Gra ca de un Polinomio de Lagrange. 1
1
n=15
−1
n=20
0 0
1
−1
−1
1
−1
1
1
n=30
−1
0 0
n=40
0 0
−1
1
−1
0 0
−1
Figura III.1.5. Interpolacion de sin(x).
1
119
III.1 Interpolacio n de Lagrange
Convergencia de la Interpolacion
En esta subseccion, se analizara el problema de la convergencia de la interpolacion. Sea f : [a; b] ;! R, para cada entero natural se considera una subdivision de [a; b] dada por
x(0n) < x(2n) < < x(nn) ; pn (x) el polinomio de interpolacion respecto a esta subdivision. Se deseara saber que sucede cuando n ;! 1, es decir n!1! ?: jf (x) ; p(x)j ;;;;;
Teorema III.1.20.- Sea f 2 Cn1[a; b] tal que f (n)(x) o M para todo x 2 [a; b] y para todo n 2 N , sea x(0n) < x(2n) < < x(nn) una sucesion de
subdivisiones de [a; b]. Entonces
n!1! 0; max jf (x) ; pn(x)j ;;;;;
x2[a;b]
(III:1:25)
donde pn(x) es el polinomio de interpolacion de grado n, respecto a las subdivisiones dadas. Demostracion.- Utilizando el teorema III.1.13 y la hipotesis que las derivadas de cualquier orden son acotadas se tiene
f (n+1)() ( n ) ( n ) jf (x) ; pn (x)j = (x ; x0 ) (x ; xn ) (n + 1)! n!1! 0: M (b(n;+a)1)! ;;;;; n+1
Las funciones exponencial , senos y cosenos son acotadas y sus derivadas lo son tambien, motivo por el cual estas funciones pueden ser aproximadas por polinomios de interpolacion teniendo asegurada la convergencia de la interpolacion. El teorema III.1.20 da condiciones su cientes para asegurar la convergencia, no obstante existen muchas otras funciones cuyas derivadas de orden superior no estan 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 interpolacion. Para poder comprender mas aspectos de la convergencia o divergencia de la interpolacion es necesario introducir algunas de niciones y resultados importantes en el estudio de la aproximacion de funciones por polinomios.
120
III Interpolacio n
Considerese la aplicacion Ln que a la funcion f asocia su polinomio de interpolacion en los puntos x0 ; x1 ; : : : ; xn : Ln (f ) = pn . Se remarca inmediatamente que esta aplicacion es lineal, ademas si Pn es el espacio de los polinomios de grado igual o menor a n se tiene
8q 2 Pn; Ln (q) = q: Se puede mostrar, ver ejercicios, que
kLn (g)k1 ; n = g2Cmax 0 [a;b] kg k g6=0
1
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 mayoracion sobre el error de interpolacion. Teorema III.1.21.- Dados una funcion f 2 C 0[a; b] y su polinomio de interpolacion de Lagrange en los puntos x0 ; : : : ; xn , se tiene
kf ; pn k1 (1 + n )En (f );
(III:1:26)
donde En (f ) = qinf kf ; qk1 . 2P n
Demostracion.- Para todo q 2 Pn, se tiene f ; pn = (f ; q) ; (pn ; q) = (f ; q) ; Ln (f ; q);
por consiguiente kf ; pn k1 kf ; qk1 + kLn (f ; q)k1 (1 + n) kf ; qk1 ; el resultado se obtiene tomando la cota inferior sobre los q 2 Pn :
De nicion III.1.22.- La cantidad En(f ) se llama el grado de aproximacion de la funcion f por los polinomios de grado n, respecto a la norma de la
convergencia uniforme. Examinando los diferentes factores de la mayoracion dada por el anterior teorema, la cantidad n depende solamente de la subdivision tomada del intervalo [a; b], mientras que En (f ) depende solamente de la funcion f . En el estudio de la estabilidad se vio n para dos tipos de subdivision, 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 = 1: n!1 n
121
III.1 Interpolacio n de Lagrange
Como n es la norma del operador Ln , consecuencia del teorema de Banach-Steinhauss, se tiene que, cualquiera sea la sucesion de subdivisiones x(0n) ; : : : ; x(nn) , existe una funcion continua f , tal que Ln (f ) no converge uniformente hacia f cuando n ! 1. El siguiene paso es estudiar el comportamiento de En (f ), cuando n ! 1; esto esta intimamente ligado a la regularidad de la funcion f y mas particularmente a su modulo de continuidad, denotado por !(f; h), de nido por 0 !(f; h) = t;tmax (III:1:27) 0 2[a;b] jf (t) ; f (t )j : jt;t0 jh
Se veri ca facilmente las propiedades siguientes del modulo de continuidad: i) la funcion h ! !(f; h) de nida sobre R+ es positiva, creciente y subaditiva, es decir: 8h1 ; h2 0; !(f; h1 + h2 ) !(f; h1 ) + !(f; h2 ), ii) si n 2 N , !(f; nh) n!(f; h); si 2 R+ , !(f; h) (1 + )!(f; h), iii) si f 2 C 0 [a; b], hlim !(f; h) = 0 y la funcion h ! !(f; h) es continua ! 0 sobre R+ , iv) si f 2 C 1 [a; b], !(f; h) h kf 0 k1 . Teorema III.1.23.- Existe un real M , independientemente de n, a y b, tal que para todo n 1 y toda f 2 C 0 [a; b], se tiene
b ; a En (f ) M! f; : n
(III:1:28)
Demostracion. El cambio de variable s = (x ; a)=(b ; a) permite de trasladarse al caso en que a = 0; b = 1; f 2 C 0 [0; 1], lo que se supondra a continuacion. Considerese primero el caso en que n = 2p es par, y planteando
0 (p+1)t 14 !4 n sin 2 C X 1 ( p ; 2 k ) t 1 B jn (t) = @ cos 2 ; t A = n n sin 2
k=0
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 (jcos tj), esta claro que g es una funcion par, continua sobre R y periodica de periodo , ademas !(g; h) !(f; h) porque jt ; t0 j
122
III Interpolacio n
h ) jjcos tj ; jcos tjj h. Continuando con la demostracion se introduce la funcion Z Z 'n (s) = g(t)jn (s ; t)dt = g(s ; t)jn (t)dt; se tiene
;
g(s) ; 'n (s) =
de donde
jg(s) ; 'n (s)j
Z Z;
2
;Z 0
Z ;
;
(g(s) ; g(s ; t))jn (t)dt;
j(g(s) ; g(s ; t))j jn (t)dt !(g; jtj)jn (t)dt = 2
Z 0
!(g; t)gn(t)dt
(1 + nt)jn (t)dt !(g; 1=n); por la propiedad ii:
Utilizando las mayoraciones 2 sinx x 1 para x 2 [0; =2], se obtiene Z tjn (t)dt Cn ; 0 ver ejercicio 12, por lo tanto se tiene
jg(s) ; 'n (s)j 2(1 + C )!(g; n1 ): Se remarca que
Z
g(t) cos(k(s ; t))dt = cos ks
;
= cos ks
Z
g(t) cos(kt)dt + sin ks
Z;
Z
g(t) sin(kt)dt
;
g(t) cos(kt)dt;
;
puesto que g es una funcion par. Resulta de (III.1.29) y de la de nicion de 'n que existe pn 2 Pn tal que para todo s 2 R, 'n (s) = pn (cos s), por consiguiente se tiene max jf (x) ; pn (x)j max jf (jcos sj) ; pn (cos s)j = max jg(s) ; 'n (s)j s2R s2R
x2[0;1]
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)).
III.1 Interpolacio n de Lagrange
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 topologa de la convergencia uniforme Demostracion.- En efecto, por la propiedad iii) del modulo de continuidad, se tiene que b ; a = 0; lim ! f; n 0 por consiguiente nlim !1 En (f ) = 0. para toda funcion f 2 C [a; b]. Corolario III.1.25.- Se supone que f 2 C p[a; b], p 0, entonces para todo n > p se tiene b;a p ( b ; a ) p +1 En (f ) M n(n ; 1) (n ; p + 1) ! f (p) ; n ; p : (III:1:30) n!1
Demostracion.- Por el teorema III.1.23, el corolario es cierto para p = 0, supongase cierto el enunciado del corolorio para p y sea f 2 C p+1 [a; b], se tiene por lo tanto f 0 2 C p [a; b], de donde 8n > p + 1 (b ; a) (p+1) ; b ; a En;1 (f 0 ) M p+1 (n ; 1) ! f (n ; p ) n;1;p : Se puede mostrar, ver Crouzeix, Captulo I.3, que existe q 2R xPn;1 tal que kf 0 ; qk1 = En;1 (f 0 ). Planteando por lo tanto p(x) = a q(t)dt y '(x) = f (x) ; p(x), se tiene p 2 Pn , entonces En (f ) = En ('), ademas k'0 k1 = kf 0 ; qk1 = En;1 (f 0 ). Aplicando el teorema III.1.23 a la funcion ' y la propiedad iv) del modulo de continuidad, se obtiene b ; a b ; a En (f ) = En (') M! '; n M n k'0 k1 ; de donde p+1 b ; a ( b ; a ) ( p +1) p +2 ; n;p;1 : En (f ) M n(n ; 1) (n ; p) ! f
Utilizando las estimaciones dadas para las constantes de Lebesgue y el teorema III.1.21, se obtiene las mayoraciones siguientes del error de interpolacion de Lagrange si f 2 C p [a; b]: a) En el caso que los xi son equidistantes, )p 2n ! f (p) ; b ; a ; kf ; pn k1 Cp (nbp;+1alog n;p n
124
III Interpolacio n
b) En el caso de los puntos de interpolacion de Chebichef n ! f (p) ; b ; a ; kf ; pn k1 Cp (b ; a)p log 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 hlim !(f; h) log h = 0, que es el caso si f 2 C 1 [a; b]. !0
Teorema III.1.26.- Si la funcion f 2 C 1[a; b], si los puntos utilizados durante el proceso de interpolacion son puntos de Chebichef, entonces lim p = f: n!1 n
La utilizacion de los puntos de Chebichef en la aproximacion de una funcion continuamente diferenciable en un intervalo [a; b], no implica necesariamente convergencia numerica, pues el calculo del polinomio interpolante por medio de computadoras esta imbuido de errores de redondeo. Por lo tanto hay que tener mucho cuidado cuando se utilizan muchos puntos de interpolacion.
Fenomeno de Runge
Hasta ahora, se ha visto condiciones su cientes para asegurar la convergencia de la interpolacion de una funcion por polinomios. Tambien se ha mostrado que la utilizacion de puntos de Chebichef en la interpolacion de una funcion continuamente derivable permita la convergencia. En esta parte, se vera que tener una funcion continuamente derivable y una division equidistante no es una condicion su ciente de convergencia. Con el siguiente ejemplo se ilustrara el conocido fenomeno de Runge. En la gura III.1.6, puede apreciarse que la interpolacion de Lagrange diverge cuando la division es equidistante. Mientras, que en la gura III.1.7. utilizando subdivisiones de Chebichef se tiene convergencia. En lineas punteadas se tiene la gra ca de la funcion a interpolar. 1
−1
0 0 n=5
1
1 −1
0 0 n=10
1
1 −1
0 0 n=15
1
1 −1
0 0 n=20
Figura III.1.6. Interpolacion con puntos equidistantes.
1
125
III.1 Interpolacio n de Lagrange
1
−1
0 0 n=5
1
1 −1
1
0 0
1 −1
n=10
0 0
1
0 0
1 −1
n=15
1
n=20
Figura III.1.7. Interpolacion con puntos de Chebichef. Sea f : [;1; 1] ;! R, de nida por f (x) =
1 ; 1 + 25x2
funcion que es inde nidamente derivable. Sean x(0n) ; : : : ; x(nn) la division equidistante de [;1; 1], pn (x) el polinomio de interpolacion de grado n de la funcion f respecto a la subdivision dada anteriormente. Prolongando f (x) al plano complejo, se tiene que f (z ) tiene polos simples en z = 51 i y en z = ; 15 i. Se considera un camino cerrado simple C tal que [;1; 1] interior de C , y los polos esten en el exterior de C . Por consiguiente se puede aplicar la formula de Cauchy para integrales complejas, de donde
Z f (z ) 1 f (x) = 2i z ; x dz: C
c −1
1
Se de ne el polinomio n (x) de grado n por
n (x) = (x ; x(0n) )(x ; x(1n) ) (x ; x(nn) ); Por otro lado se comprueba facilmente que la expresion (n (z ) ; n (x))=(z ; x) es un polinomio de grado n respecto a x, de niendo el polinomio de grado n, q(x) por Z f (z) (n(z) ; n(x)) 1 dz; (III:1:31) q(x) = 2i z ; x n (z ) C se veri ca que q(x(in) ) = f (x(in) ), de donde se ha mostrado el teorema siguiente.
126
III Interpolacio n
Teorema III.1.27.- Si f es una funcion racional con polos fuera de C .
Entonces el error de interpolacion esta dado por Z n (x) dz; f (x) ; pn (x) = 21i zf;(z )x (III:1:32) n (z ) C donde pn es el polinomio de interpolacion. Introduciendo valores absolutos, se obtiene Z jf (z)j n(x) 1 jf (x) ; pn (x)j 2 jz ; xj (z ) jdz j ; n C por consiguiente se debe analizar el comportamiento cuando n ;! 1 de la expresiones que aparecen en la integral precedente. Se tiene convergencia si (x) n < n; n (z ) con < 1, de lo contrario cuando n ;! 1 jf (x) ; pn (x)j diverge. Por consiguiente hay convergencia en x 2 [;1; 1] si y solamente si
s n n (x) < 1: lim n!1 n (z )
(III:1:33)
En lugar de la expresion (III.1.33), se puede utilizar p ln n jn (z )j = n1 ln (jn (z )j) n X = 22n ln jz ; xj j ; j =0
como los xj son equidistantes, cuando n ;! 1 se tiene
Z1 1 lim ln jn (z )j = 2 ln jz ; tj dt n!1 ;1 Z1 1 = 2 < log(z ; t)dt ;1 1 = 2 < f(z + 1) log(z + 1) + (1 ; z ) log(z ; 1)g ; 1: p n
De niendo G(z ) por G(z ) = exp 21 < f(z + 1) log(z + 1) + (1 ; z ) log(z ; 1)g ; 1 ; (III:1:34)
127
III.1 Interpolacio n de Lagrange
p
se obtiene que
lim n jn (z )j = G(z ): n!1 Si x 2 R, la funcion G es igual a G(x) = exp 12 ln(x + 1)(x+1) + 21 ln(1 ; x)(1;x) ; 1 p = (1 + x)1+x (1 ; x)1;x =e: Para decidir si la interpolacion converge para un x dado se debe tener necesariamente G(z )=G(x) < 1, esto sucede solamente si jxj < 0; 72668. La gura III.1.8 muestra una gra ca de G(x) y en la gura III.1.7 estan 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. Gra ca de G(x): Fig. III.1.9. Curvas de nivel de G(z):
Ejercicios 1.- Demostrar por induccion
n Y X
1 ; x ; j =0 i6=j j xi n n X 4ny0 = yj (;1)n;j : j j =0
y[x0 ; : : : ; xn ] =
yj
2.- Supongase conocidos los valores de la funcion de Bessel Z J0 (x) = 1 cos(x sin t)dt: 0
128
III Interpolacio n
para los puntos equidistantes xi = x + 0 + ih, i 2 Z. a) >Para que h, el error de la interpolacion lineal es menor a 10;11? b) La misma pregunta para la interpolacion cuadratica. 3.- Calcular el polinomio de interpolacion de grado n = 10 y n = 20, que pasa por (xi ; f (xi )), i = 0; 1; : : : ; n, donde f (x) = 1=(1 + 25x2 ). a) xi = ;1 + 2ni . b) xi = cos( 22ni ++ 12 ). Hacer gra cas, estudiar los errores. 4.- Sea p(x) el polinomio de interpolacion de grado 1 de una funcion f dos veces continuamente derivable. Mostrar que el error satisface con
f (x) ; p(x) =
Z x1 x0
G(x; t)f 00 (t)dt
81 > < h (x ; x0 )(t ; x1) G(x; t) = > : h1 (t ; x0)(x ; x1)
si x t si x t
()
:
Dibujar la funcion G(x; ). Deducir de () el resultado del teorema III.1.13. n Y 5.- Sean x0 < x1 < < xn y li (x) = ((xx ;; xxj )) . j j=0 i j6=i Veri car que la funcion
n (x) =
n X i=0
jli (x)j
tiene un solo maximo local sobre cada [xi;1 ; xi ] n X Indicacion: Sobre [xj;1 ; xj ] se tiene a n (x) = i li (x) con = 1. i=0
6.- Si la funcion f : [x0 ; x1 ] ;! R tiene solamente un maximo local y si x0 < a < b < x1 , entonces
f (a) f (b) =) x 2 [a; x1 ]; f (a) f (b) =) x 2 [x0 ; b]; donde f (x ) = x2max f (x). [x ;x ] 0 1
129
III.1 Interpolacio n de Lagrange
7.- Calcular las constantes de Lebesque n = x2max [;1;1]
n X i=0
jli (x)j ;
n = 10; 20; : : :; 100;
a) para la division equidistante xi = ;1 + 2i=n, i = 0; 1; : : :; n; b) para los puntos de Chebichef. n X
Calcular el maximo de f (x) = jli (x)j sobre [xj;1 ; xj ] con la busqueda i=0 de Fibonacci:
p
10
x1 = xj ; x0 = xj;1 ; = ( 5 ; 1)=2; d = (x1 ; x0 ); a = x1 ; d; b = x0 + d; a x d = d; si (f (a) f (b)) entonces x x0 = a; a = b; b = x0 + d si no x a x1 = b; b = a; a = x1 ; d; si (x1 ; x0 10;14 ) vaya a 10 si no, nal. 0
0
0
b
x1
a
b
b
x1
x1
8.- Sean dados (xi ; yi ; yi0 ), i = 0; 1; : : :; n, los xi distintos entre si. Mostrar que existe un unico polinomio q(x) de grado 2n + 1 tal que
q(xi ) = yi ; q(xi ) = yi0 (i = 0; : : : ; n): Utilizar la formula de Newton con (x0 ; y0 ), (x0 +; y0 +y00 ); : : : y estudiar su lmite cuando ! 0: >Que formula se obtiene para n = 2?, utilizar y[xi ; xi ] = yi0 , Generalizar el ejercicio para cualquier polinomio de Hermite y obtener un esquema de calculo semejante a la gura III.1.1. 9.- Se considera la funcion f (s) = js(s ; 1) (s ; n)j de nida para s 2 [0; n]. a) Mostrar que f alcanza su maximo en un punto sn 2 (0; 1=2) y que sn ln1n cuando n ! 1. b) Mostrar que nlim !1 [f (1= ln n)(ln n=n!)] = 1=e, deducir que existe c1 > 0 tal que 8n > 1; f (sn ) cln1 nn! .
130
III Interpolacio n
Sean fx0 ; x1 ; : : : ; xn g n + 1 puntos equidistantes sobre el intervalo [a; b] con x0 = a y xn = b. Mostrar que existe C2 tal que Y una constante n (x ; xi ) pC2 e;n (b ; a)(n+1): 8n > 1: xmax n ln n 2[a;b] i=0 10.- Conservando las notaciones, construir una funcion f 2 C 0 [a; b] tal que kLn (f )k1 = kf k1 y kf ; Ln(f )k1 = (1 + n ) kf k1 . 11.- Se considera el conjunto fx0 ; : : : ; xn g de n + 1 puntos diferentes del intervalo [a; b] y n la constante de Lebesgue correspondiente a la interpolacion de Lagrange en estos puntos. Se plantea n ^li () = Y cos ; cos j con i = arccos((2xi ; (a + b))=(b ; a)); j=0 cos i ; cos j j6=i
i = 0; : : : ; n. a) Mostrar que: n = max 2R cos k( ; ') + cos k( + ') =
n X i=0
! n X ^li() ; i=o
[cos k(i ; ') + cos k(i + ')] ^li ();
0 k n: n h i X ^li ( + i ) + ^li ( ; i ) ; ^li () , mostrar que: b) Planteando 'n () =
'n () = 1 + 2
n X k=1
i=0
n + 1=2)) ; cos k = sin((sin( =2)
Z si F () = 21 signo('n ( ; s))'n (s)ds; entonces ; Z Z (n+1=2) jj 2 1 j'n (s)j d 3n kF k1 = d = n ; ; 0
n ; n;1 = 4 2 + O 13 cuando n ! 1; n n 4
n 2 ln n cuando n ! 1: 12.- Sea jn la funcion de nida en la demostracion del teorema III.1.23. con n = 2p. Mostrar que 8p Z 1, tk jn (t)dt ck =nk ; 0 para k = 1 y 2.
III.2 Splines Cubicos En la seccion precedente, se ha visto como determinar el polinomio de interpolacion. Existen dos problemas de gran magnitud cuando se requiere encontrar un polinomio de interpolacion dado un conjunto (xi ; yi ), i = 0; : : : ; n; el primero consiste en la inestabilidad de la interpolacion 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 interpolacion, este no re eja la verdadera forma de la funcion a interpolar, por ejemplo, para una funcion racional, se deseara que el interpolante tenga la menor curvatura promedio, tal como se gra ca con una sercha. Por consiguiente, dados los puntos a = x0 < x1 < < xn = b y los reales yi con i = 0; : : : ; n se busca una funcion spline s, tal que: (i) s(xi ) = yi i = 0; : : : ; n (ii) s 2 C 2 ([a; b]); (iii) s de curvatura peque~na. La curvatura de s esta dada por (s00 (x) ; (x) = (1 + (s0 (x))2 ) 32 suponiendo que s0 (x) es despreciable, se obtiene s00 (x) = (x), por consiguiente la condicion, se expresa de la siguiente forma Z xn (s00 (x))2 dx ;! min : (III.2:1) x0
En la gura III.2.1 se observa dos gra cas: la de la izquierda es de un polinomio de interpolacion de tipo Lagrange; mientras que en la derecha es la gra ca del spline interpolante que pasa por los mismos puntos.
Figura III.2.1. Spline de Interpolacion
132
III Interpolacio n
De nicion III.2.1.- Un spline cubico es una funcion s : [a; b] ;! R con a = x0 < x1 < < xn = b, que satisface: s 2 C 2 [a; b]; (III:2:2a) sj[xj;1 ;xj ] polinomio de grado 3: (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 funcion con f (xi ) = yi , si s00 (b)[f 0 (b) ; s0 (b)] = s00 (a)[f 0 (a) ; s0 (a)]; (III:2:3) entonces
Zb a
Zb
[s00 (x)]2 dx
a
[f 00 (x)]2 dx:
La condicion (III.2.3) es satisfecha si por ejemplo s00 (a) = s00 (b) = 0, o por ejemplo si f 0 (a) = s0 (a) y f 0 (b) = s0 (b). De nicion III.2.3.- Si s00(a) = s00 (b) = 0, el spline se llama spline natural. Si f 0 (a) = s0 (a) y f 0 (b) = s0 (b) el spline se dice jo en los bordes. Demostracion.- Calculando las integrales, se obtiene
Zb a
[f 00 (x)]2 dx ;
Zb a
[s00 (x)]2 dx =
Zb |a
[f 00 (x) ; s00 (x)]2 dx
Zb
{z
0
}
s00 (x)[f 00 (x) ; s00 (x)]dx: a Para demostrar la a rmacion del teorema, es su ciente mostrar que la segunda integral del miembro derecho de la ecuacion es nula. En efecto, integrando por partes, se tiene +2
Zb
s00 (x)[f 00 (x) ; s00 (x)]dx = |s00 (x)[f 0 (x{z) ; s0 (x)]jba} a = 0 por (III:2:2)
; =; =;
Zb
a n X j =1 n X j =1
s000 (x)[f 0 (x) ; s0 (x)]dx j
Z xj
xj;1
[f 0 (x) ; s0 (x)]dx
j [f (x) ; s(x)]jxxjj;1 = 0:
133
III.2 Splines Cubicos
Construccion del Spline Interpolante
En este paragrafo, se determinara explcitamente el spline interpolante. Para tal efecto sea a = x0 < x1 < < xn = b una division cualquiera del intervalo [a; b]; y sean y0 ; y1 ; : : : ; yn numeros reales. Se desea construir s : [a; b] ;! R, el spline tal que s(xi ) = yi . Llamando si = sj[ xi;1 ; xi ] : [xi;1 ; xi ] ;! R. Por consiguiente se busca una representacion de si , utilizando los siguientes datos:
yi;1 ;
yi ;
pi;1 = s0i (xi;1 );
pi = s0i (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) 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:
pi;1 = s0 (xi;1 ) = y[xi;1 ; xi ] + h2i b; pi = s0 (xi ) = y[xi;1 ; xi ] + h2i b;
(III:2:6) (III:2:7)
de donde
si (x) =yi;1 + y[xi;1 ; xi ](x ; xi;1 ) + (x ; xi;12)(x ; xi ) (pi ; y[xi;1 ; xi ])(x ; xi;1 ) hi + (pi;1 ; y[xi;1 ; xi ])(x ; xi ) :
(III:2:8)
Ahora bien, se debe determinar los pi , i = 0; : : : ; n de manera que s 2 C 2 [a; b]. Por consiguiente:
s00i (xi ) = s00i+1 (xi ) i = 1; : : : ; n ; 1; Utilizando la regla de Leibnitz (fg)00 (x) = f 00 (x)g(x) + 2f 0 (x)g0 (x) + f (x)g00 (x); se obtiene:
d2 ;(x ; x )2 (x ; x ) = 4h ; i;1 i i dx2 x=xi d2 ;(x ; x )(x ; x )2 = 2h ; i;1 i i dx2 x=xi
134
III Interpolacio n
de donde:
s00i (xi ) = h1 4(pi ; y[xi;1 ; xi ]) + 2(pi;1 ; y[xi;1 ; xi ]) ; i 00 si+1 (xi ) = h 1 2(pi+1 ; y[xi ; xi+1 ]) + 4(pi ; y[xi ; xi+1 ]) i+1 por lo tanto, pi;1 + 2p 1 + 1 + pi+1 = 3 y[xi;1 ; xi ] + y[xi ; xi+1 ] ; (III:2:9) i h hi hi+1 hi hi+1 i 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 s00 (a) = s00 (b) = 0, obteniendo: 2 hp0 + hp1 = 3 y[xh0 ; x1 ] (III:2:10a) 1 1 0 (III:2:10b) 2 phn;1 + hpn = 3 y[xnh;1 ; xn ] n
n
n
Si el spline esta jado en los bordes, se tiene s0 (a) = f 0 (a) y s0 (b) = f 0 (b), obteniendo: p0 = f 0 (a); (III:2:11a) pn = f 0 (b): (III:2:11b) Existen muchos otros tipos de spline, como por ejemplo periodicos, de Bezier, etc. Las condiciones de borde son diferentes, pero las ecuaciones dadas por (III.2.9) son esencialmente las mismas, estos aspectos seran desarrollados con mas detalle posteriormente o en la parte de los ejercicios. Por otro lado, las ecuaciones que determinan los pi pueden escribirse de manera matricial. A continuacion, se daran las notaciones matriciales para los splines natural y jo.
02 1 10 p 1 0 1 0 0C h1 h1 h31 y[x0 ;x1 ] B BBh11 2( h11 + h12 ) h12 CCBB p1 CC BB h31 y[x0;x1]+ h32 y[x1;x2] CC BB 0 h1 2( h1 + h1 ) h1 CCBB p CC BB h3 y[x1;x2]+ h3 y[x2;x3] CC 2 2 3 3 3 BB CCBB 2 CC=BB 2 CC . . . . . BB B C B .. .. .. C . . CBB . CC B@ 3 y[x ;x . ]+ 3 y[x ;x CCA] 1 1 + 1 ) 1A @ 2( hn;1 hn;1 hn hn @pn;1A hn;1 n;2 n;1 hn n;1 n 1 3 2 hn
hn
pn
Matriz del spline natural.
hn y[xn;1 ;xn ]
III.2 Splines Cubicos
02( 1 + 1 ) 1 BB h1h12 h2 2( h12h+2 h13 ) BB ... @ ... hn1;1
h13
0 1B p1 CCBB p2 CBB .. . .C A. BB . 1 @
2( hn1;1 + hn )
135
1 CC 0 h31 y[x0;x1]+ h32 y[x1;x2]; hp01 1 CC 3 3 CC BB h2 y[x1 ;x2 ]+ h3 y[x2 ;x3 ] CC CC=BB .. A CA @ 3 . 3 y[xn;1 ;xn ]; pn pn;1 y [ x ;x ]+ n ; 2 n ; 1 hn;1 hn hn
Matriz del spline jo en los bordes. Denotando A, la matriz del spline natural como jo en los bordes, se tiene el siguiente teorema. Teorema III.2.4.- La matriz A es inversible, es decir det A 6= 0:
Demostracion.- Se mostrara que la siguiente implicacion es cierta Ap = 0 =) p = 0: Supongase que Ap = 0, entonces pi;1 + 2p ( 1 + 1 ) + pi+1 = 0; i h hi hi+1 i hi+1 se denota por pio a por consiguiente
jpio j = max jp j ; i i 2 jpio j ( h1 + h 1 ) jhpio j + hjpio j ; io io +1 io io +1
de donde 2 jpio j jpio j :
En uno de los ejercicios de la seccion II.1, se muestra que el problema de encontrar los pi es un problema bien condicionado. Por otra lado la resolucion de este sistema se procede facilmente con el algoritmo de Eliminacion de Gauss, si n no es muy grande; en el caso contrario con un metodo iterativo utilizando el hecho que A es simetrica y de nida positiva.
136
III Interpolacio n
El Error de la Aproximacion Spline
Se ha visto en el paragrafo anterior, que la construccion del spline interpolante es muy simple, solo se requiere resolver un sistema tridiagonal de ecuaciones lineales. En esta parte, se insistira en las estimaciones del error cometido en el proceso de interpolacion spline. Sean f : [a; b] ;! R una funcion, a = x0 < x1 < < xn = b una subdivision del intervalo [a; b] y nalmente s(x) el spline jo en los bordes que interpola f , es decir
s(xi ) = f (xi ); i = 0; : : : ; n; s0 (x0 ) = f 0 (x0 ); s0 (xn ) = f 0 (xn ); se deseara saber que error se comete, en otras palabras
jf (x) ; s(x)j ?
Teorema III.2.5.- Si f 2 C 4[a; b], a = x0 < x1 : : : < xn = b una subdivision, hi = xi ; xi;1 , los pi derivadas en los nudos del spline jo en los bordes. Entonces
jf 0(xi ) ; pi j h24
f (4)
1 ; 3
(III:2:12)
donde h = max hi . Si ademas, la division es equidistante, se tiene
jf 0(xi ) ; pi j h60
f (5)
1 : 4
(III:2:13)
Ademas del interes del resultado del teorema que servira para la estimacion del error, se tiene un medio simple para calcular las derivadas de f en los puntos xi . Demostracion.- La demostracion del caso general es muy similar a la del caso de los puntos equidistantes, aqu se mostrara el caso equidistante, dejando al lector el caso general. La construccion del spline esta dada por las ecuaciones 1 3 h (pi;1 + 4pi + pi+1 ) ; h2 (f (xi+1 ) ; f (xi;1 )) = 0: (III:2:14) Se de ne qi , i = 1; : : : ; n ; 1, por ; ; qi = h1 f 0 (xi;1 ) + 4f 0 (xi ) + f 0 (xi+1 ) ; 32 f (xi+1 ) ; f (xi;1 ) (III:2:15) h
137
III.2 Splines Cubicos
Por otra lado, utilizando el teorema de Taylor con resto en el punto xi se tiene: 2 3 f (xi+1 ) = f (xi ) + hf 0(xi ) + h2! f 00 (xi ) + h3! f (3)(xi ) Z1 4 4 + h4! f (4) (xi ) + h5 (1 ;4! t) f (5)(xi + th)dt; 0
2 3 f 0 (xi+1 ) = f 0 (xi ) + hf 00 (xi ) + h f (3) (xi ) + h f (4) (xi )
Z 1 (12! ; t)3
3! (5) + h4 3! f (xi + th)dt; 0 de donde, introduciendo en (III.2.15), se obtiene
Z 1 (1 ; t)3
4
(1 ; t) (5) 3! ; 3 4! f (xi + th)dt 0 Z 1 (1 ; t)3 (1 ; t)4 + h3 ;3 f (5)(x ; th)dt:
qi =h3
i 3! 4! Utilizando el teorema del valor medio y calculando la integral 0
Z 1 (1 ; t)3 0
3!
4 ; 3 (1 ;4! t) dt = 601 ;
se obtiene nalmente que
1 h3 f (5) ( ) + f (5)( ) ; qi = 60 i i
con i 2 [xi;1 ; xi ] y i 2 [xi ; xi+1 ], por consiguiente
3 qi h20
f (5)
1 :
Restando (III.2.14) con (III.2.15), se tiene
ei = f 0 (xi ) ; pi ; que es solucion del sistema de ecuaciones 1 [e + 4e + e ] = q ; i = 1; : : : ; n ; 1: i i+1 i h i;1 Sea io tal que jeio j = i=1max je j ; ;:::;n i
(III:2:16)
138 en consecuencia, se tiene: 4eio = hqio ; eio ;1 ; eio +1 ; 4 jeio j h jqio j + jeio ;1 j + jeio +1 j h jqio j + jeio j + jeio j ; de donde nalmente jei j jeio j h2 jqio j :
III Interpolacio n
Antes de poder estimar el error cometido por el polinomio de interpolacion spline, es necesario el siguiente teorema. Teorema III.2.6.- Si xi = x0 + ih, con h = (b ; a)=n, f 2 C 5[a; b]; s(x) el spline jo en los bordes, y p(x) el polinomio de interpolacion de Hermite sobre el intervalo [xi;1 ; xi ], tal que p(xj ) = s(xj ); p0 (xj ) = f 0 (xj ); j = i ; 1; i: Entonces h5
f (5)
para x 2 [x ; x ]: jp(x) ; s(x)j 240 (III:2:17) i;1 i 1
Demostracion.- El polinomio de Hermite, utilizando (III.2.8), esta dado por
p(x) =yi;1 + y[xi;1 ; xi ](x ; xi;1 ) + (x ; xi;12)(x ; xi ) (f 0 (xi ) ; y[xi;1 ; xi ])(x ; xi;1 ) hi + (f 0 (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) = (x ; xi;12)(x ; xi ) (f 0 (xi ) ; pi )(x ; xi;1 ) hi + (f 0 (xi;1 ) ; pi;1 )(x ; xi ) ; por lo tanto
h4 f (5) 1 jp(x) ; s(x)j jx ; xi;1 j jx ; xi j 60 [jx ; xi j + jx ; xi;1 j] h5
f (5)
: 240 1
139
III.2 Splines Cubicos
Ahora bien, para tener una estimacion del error de la interpolacion spline, solo falta conocer el error cometido por el polinomio de interpolacion de Hermite, estimacion que esta dada en el siguiente teorema. Teorema III.2.7.- Sean, f 2 [x0 ; x1 ], h = x1 ; x0 , p(x) el polinomio de interpolacion de Hermite que satisface:
p(xi ) = f (xi ); p0 (xi ) = f 0 (xi ); entonces
i = 0; 1; i = 0; 1;
h
f (4)
: jf (x) ; p(x)j 384 1 4
(III:2:19)
Demostracion.- Sean > 0 su cientemente peque~no, p(x) el polinomio de interpolacion que satisface:
p (x0 ) = f (x0 ); p (x1 ) = f (x1 );
p (x0 + ) = f (x0 + ); p (x1 ; ) = f (x1 ; ):
Por el teorema (III.1.13), se tiene para todo .
f (4)
jf (x) ; p (x)j j(x ; x0 )(x ; x0 ; )(x ; x1 = )(x ; x1 )j 4! ; haciendo tender hacia 0, se obtiene
f (4)
2 2 jf (x) ; p(x)j (x ; x0 ) (x ; x1 ) 4!
4 h
f (4)
: 384
Finalmente, con los anteriores teoremas se puede dar la siguiente estimacion del error del spline jo en los bordes. Teorema III.2.8.- Sean, f 2 C 5[a; b], xi = x0 + ih, i = 0; : : : ; n, con h = (b ; a)=n, s(x) el spline jo en los bordes de la funcion f respecto a la subdivision equidistante, entonces
h max f (4) (x) + h f (5) : jf (x) ; s(x)j 384 240 1 x2[xi;1 ;xi ] 4
5
(III:2:20)
140
III Interpolacio n
Demostracion.- Su ciente utilizar la desigualdad del triangulo en los dos anteriores teoremas, es decir
jf (x) ; s(x)j jf (x) ; p(x)j + jp(x) ; s(x)j :
Los resultados obtenidos en los teoremas de esta subseccion han sido demostrados para el caso de divisiones equidistantes, no obstante modi cando las demostraciones para divisiones mas generales se puede obtener resultados similares en la mayoracion del error de la interpolacion spline, no hay que sorprenderse que las mayoraciones sean muy parecidas al del caso equidistante, con la diferencia que h este elevado a una potencia de un grado menor. Por otro lado, los teoremas enunciados consideran el caso del spline jo en los bordes, para los otros tipos de spline, las mayoraciones del error de interpolacion se deben efectuar utilizando los resultados anteriores mas un error debido al cambio de tipo de spline. Teorema III.2.9.- Sean, f 2 C 5[a; b], xi = x0 + ih, i = 0; : : : ; n; con h = (b ; a)=n, s^(x) el spline jo en los bordes, s(x) es el spline natural. Entonces
2 00 (x)j + h5
f (5)
; js^(x) ; s(x)j h8 x2max j f (III:2:21) I1 [In 240 1 donde I1 = [x0 ; xn ] y In = [xn;1 ; xn ]. Demostracion.- Sustrayendo los sistemas lineales que determinan p^i y pi en la construccion de los splines jo 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 ) + (^p1 ; p1 ) = 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 2 f0; 1; : : :; ng, tal que
jp^io ; pio j = max jp^ ; p j: i i i Ahora bien,io = 0, o bien io = n, por que de lo contrario se tendra 4 jp^io ; pio j jp^io ;1 ; pio ;1 j + jp^io +1 ; pio +1 j 2 jp^io ; pio j :
141
III.2 Splines Cubicos
Suponiendo que io = 0, se tiene la siguiente mayoracion
jp^i ; pi j jp^0 ; p0 j C0 ; en el otro caso, se obtiene
jp^i ; pi j jp^n ; pn j Cn : Utilizando la formula de Taylor, con resto en forma de integral, se obtiene para la funcion f en el punto x0 , los siguientes resultados:
f (x1 ) ; f (x0 ) = hf 0(x0 ) + h2 f 0 (x1 ) = f 0 (x0 ) + h
Zt
Z1 0
0
f 00 (x0 + th)dt;
y en el punto xn los siguientes resultados:
f (xn;1 ) ; f (xn ) = ;hf 0(xn ) + h2 f 0 (xn;1 ) = f 0 (xn ) ; h
Z1 0
(1 ; t)f 00 (x0 + th)dt; (III:3:22)
Zt 0
(III:3:23)
(1 ; t)f 00 (xn ; th)dt;
f 00 (xn ; th)dt:
La formula (III.3.13) del teorema III.3.5, conduce a las estimaciones:
4 p^1 = f 0 (x1 ) + h60
f (5)
1 ; con jj 1; (III:3:24)
4 p^n;1 = f 0 (xn;1 ) + 0 h60
f (5)
1 ; con j0 j 1: Suponiendo que io = 0, introduciendo (III.3.22-24) en C0 , se obtiene C0 = 3f 0 (x0 ) + h
;h = ;h de donde
Z1
Z 10 0
Z1 0
(1 ; t)f 00 (x0 + th)dt ; 2f 0(x0 ) ; f 0 (x0 )
4 f 00 (x0 + th)dt ; h60
f (5)
1
4 tf 00 (x0 + th)dt ; h60
f (5)
1 ;
jC0 j 12 h max jf 00 (x)j + h60
f (5)
1 : x2I1 4
142
III Interpolacio n
Si io = n, se obtiene similarmente
00 (x)j + h4
f (5)
: jCn j 12 h max j f x2In 60 1 La diferencia de ambos splines esta mayorada por lo tanto por
(x ; x )(x ; x ) i ; 1 i jp^(x) ; p(x)j = [(^pi ; pi )(x ; xi;1 ) + (^pi;1 ; pi;1 )(x ; xi )] 2 h h 1 max jf 00 (x)j + h5
f (5)
(jx ; x ; x j + jx ; x j) i;1 i 4 2 x2I1 [In 60 1
2 5 h max jf 00 (x)j + h
f (5)
: 8 x2I1 [In
240
1
El spline jo en los bordes es mas preciso que el natural, siempre y cuando se conozca los valores de la derivada de la funcion interpolada en los bordes. En la demostracion del ultimo teorema puede observarse que la diferencias de los pi veri can una ecuacion de diferencias nitas con valores en la frontera, resolviendo esta ecuacion puede observarse que la diferencia entre los pi es mucho menor en los nudos centrales, que en aquellos que estan cerca de los bordes. Por consiguiente la estimacion del teorema (III.2.9) es muy pesimista, en la practica la diferencia de los errores es menor.
Aplicacion de spline
Al inicio de esta seccion, los splines fueron abordados como un instrumento numerico de aproximacion, como una alternativa a la interpolacion polinomial de tipo Lagrange. Esto debido a sus propiedades de no presentar problemas de inestabilidad numerica, por sus cualidades de convergencia y por la poca curvatura que presentan.
Figura III.2.1. Aplicacion gra ca de los splines
143
III.2 Splines Cubicos
Ahora bien, los splines son utilizados tambien como un instrumento gra co. Una gran cantidad de los algoritmos desarrollados en gra smo asistido por computadora, utilizan ampliamente los splines en sus diferentes versiones. En la gura III.2.2, se observa con claridad la potencia de la interpolacion 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 unico spline llamado B-spline, tal que para un j jo se tiene:
s(xj ) = 1; s(x) = 0 si jx ; xj j 2h: Dibujar. 2.- Desarrollar una formula para los splines periodicos. Mostrar la existencia y la unicidad del spline que pasa por (xi ; yi ), i = 0; : : : ; n, tal que
s0 (x0 ) = s0 (xn );
s00 (x0 ) = s00 (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 eleccion. 5.- Sea xi = x0 + ih, i = 0; : : : ; n, una division equidistante y lj (x) el spline de tipo Lagrange que satisface
(
1; si i = j ; 0; sino;
y lj0 (x0 ) = 0, lj0 (xn ) = 0. Para las pendientes pi = lj (xi ) mostrar:
; h3 < pj < h2 ;
: : : ; pj;3 > 0; pj;2 < 0; pj;1 > 0; pj+1 < 0; pj+2 > 0; : : : :
144
III Interpolacio n
6.- Los splines lj (x) del anterior ejercicio no cambian de signo en ningun intervalo [xi;1 ; xi ]. 7.- Sobre el intervalo [xi;1 ; xi ] n X i=0
jlj (x)j = 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 xi = i=n, n = 20: a) el spline l7 (x), b) la funcion
n X i=0
SPLIVA
de los ejercicios 3 y 4. Calcular para
jli (x)j,
hacer dibujos. Veri car las propiedades de los ejercicios 5, 6 y 7.
III.3 Extrapolacion En las dos primeras secciones, se ha abordado la interpolacion polinomial y la interpolacion spline como un medio de aproximacion dentro un intervalo cerrado y acotado [a,b]. Sin embargo estos procedimientos no sirven cuando se trata de determinar el valor de una funcion o el lmite de una funcion de nida en un intervalo abierto (a; b) o mas aun si la funcion esta de nida en un intervalo no compacto. En esta seccion, se estudiara la extrapolacion por medio de funciones polinomiales, como una consecuencia natural de los resultados obtenidos en la primera seccion de este captulo. Por otro lado, se vera que la extrapolacion polinomial, no es solamente un instrumento para determinar valores fuera de cierto rango, si no tambien 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 ningun problema f (h) para h > 0. Los otros casos de determinacion de lmite se convierten el primer caso por traslacion afn, o planteando h = 1=x si se desea determinar el lmite cuando x ! 1. Por consiguiente se supondra que f tiene un desarrollo asimtotico 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 subdivision 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 interpolacion 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 proposicion. Proposicion III.3.1.- Sean (xi ; yi), i = 0; 1; : : :; n, los xi diferentes entre si, p1 (x) el polinomio de interpolacion de grado n ; 1 que pasa por (xi ; yi ), i = 0; : : : ; n ; 1, y p2 (x) el polinomio de interpolacion 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; esta dado por p(x) = p1 (x) xxn ;;xx + p2 (x) xx ;;xx0 : (III:3:4) n 0 n 0
146
III Interpolacio n
Demostracion.- 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
p(xi ) = xxn ;; xxi p1 (xi ) + xxi ;; xx0 n 0 n 0 x ; x ; x i n i = yi x ; x + x ; xx0 ; n 0 n 0 para i = 0 y i = n veri cacion inmediata. Corolario III.3.2.- Con las mismas hipotesis del teorema precedente, se tiene p2 (0)x0 p(0) = p1 (0)xxn ; ; n x0 (III:3:5) = p1 (0) + p1x(0)=x; p;2 (0) : n 0 1
Demostracion.- Veri cacion inmediata.
Ahora bien, volviendo al problema de extrapolacion, sea f : (0; 1] ;! R; 1 h0 > h1 > > hn > 0 una subdivision decreciente del intervalo (0; 1]. Suponiendo que f admite el desarrollo asintotico por derecha, dado por
f (h) = a0 + a1 h + + an hn + O(hn+1 ); p(x) el polinomio de interpolacion que pasa por (xi ; f (xi )), i = 0; : : : ; n; entonces se puede suponer lim f (x) p(0):
h!0+
De niendo pj;k el polinomio de interpolacion 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 proposicion III.3.1 y el corolario III.3.2 se tiene las siguientes relaciones recursivas para determinar p(0):
pj0 (0) =f (hj ); pj;1;k (0) : pj;k+1 (0) =pj;k (0) + pj;kh (0) ; =h ;1 j ;k;1 j
(III:3:7a) (III:3:7b)
147
III.3 Extrapolacio n
De donde estas relaciones recursivas pueden expresarse en un tablero, con la convencion de llamar pj;k = Tj;k . Tabla III.3.1. Tablero de Extrapolacion.
h0 h1 h2 h3 h4
T00 T10 T11 T20 T21 T22 T30 T31 T32 T33 T40 T41 T42 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 la que Tk;l .
Ejemplo
Un procedimiento para calcular , es considerar la serie
=4
1 X k=0
(;1)k 2k 1+ 1 :
Lastimosamente esta serie converge muy lentamente para obtener una precision deseada de , pero se puede acelerar la convergencia de esta serie utilizando el procedimiento de extrapolacion de Richardson, formulado anterioremente. Se de ne hk = 1=(2k + 1),
f (hk ) = 4
k X j =0
(;1)j 2j 1+ 1 ;
obteniendo as el tablero siguiente 2.6667 2.8952 2.9760 3.0171 3.0418 3.0584 3.0703 3.0792 3.0861 3.0916 3.0962
3.2381 3.1781 3.1607 3.1533 3.1495 3.1473 3.1459 3.1450 3.1443 3.1438
3.1030 3.1302 3.1367 3.1391 3.1401 3.1407 3.1410 3.1411 3.1413
3.1619 3.1465 3.1434 3.1424 3.1420 3.1418 3.1417 3.1417
3.1292 3.1391 3.1500 3.1408 3.1431 3.1413 3.1420 3.1414 3.1417 3.1415 3.1417 3.1416 3.1416
3.1356 3.1407 3.1461 3.1414 3.1422 3.1381 3.1415 3.1417 3.1412 3.1444 3.1416 3.1416 3.1415 3.1419 3.1393
148
III Interpolacio n
La practica en la extrapolacion numerica muestra que es practico y conveniente utilizar sucesiones de la forma hj = 1=nj , donde fnj g1 j =0 es una sucesion creciente de numeros naturales, por consiguiente la formula (III.3.7) se convierte en pj0 (0) = f (hj ); (III:3:8) pj;1;k (0) : pj;k+1 (0) = pj;k (0) + pj;kn (0) ; =n j ;k ;1 j ; 1 Las tres sucesiones de enteros positivos crecientes son: i) Armonica: 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, supongase que f tiene el desarrollo asintotico por derecha en x = 0, para k = 0; 1; 2; : : :; ko ; dado por
f (x) = a0 + a1 x + + ak xk + Rk+1 (x); con jRk+1 (x)j Ck+1 xk+1 , para x > 0. Sea hj = 1=nj , con nj una sucesion creciente de naturales, entonces el procedimiento de extrapolacion de nido por (III.3.8) veri ca la siguiente propiedad: Si para todo j > 0 se tiene hj+1 =hj r < 1, entonces
8k con 0 k ko ; Tm;k = a0 + O(hkm+1;k ):
(III:3:9)
Demostracion.- Escribiendo el polinomio de interpolacion de grado k, se tiene
f (x) = pmk (x) + Rk+1 (x);
de donde
pmk (x) ; f (x) = con lm;k;i (h) =
m X i=m;k
Rk+1 (hi )lm;k;i (x);
m h;h Y j . Para x = 0, se deduce que
j=m;k hi ; hj j6=i
Tmk ; a0 =
m m X Y
hj =hi R (h ): k+1 i i=m;k j=m;k hj =hi ; 1 j6=i
(III:3:10)
III.3 Extrapolacio n
149
Si j < i, se mayora h h=hj =h;i 1 por 1 i;j , mientras que j hi =h 1 ; rrj;i si i < j , se mayora h =hj ;i 1 por , nalmente jRk+1 (hi )j por 1 ; r j ;i j i ; Ck+1 ri;m+k hm;k k+1 , deduciendo jTm;k ; a0 j C (k; r)Ck+1 hkm+1;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 esta dada por O(h2m;1 ), y para la k-esima columna la velocidad de convergencia es igual a O(hkm+1 ;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 sucesion utilizada ampliamente en las extrapolaciones numericas como ser la armonica no cumple el requisito que hj+1 =hj r < 1. No obstante se tiene a disposicion el siguiente teorema. Teorema III.3.4.- Mismas hipotesis del teorema III.3.3 para la funcion f , se de ne hn = 1=n. Entonces se tiene:
8k con 0 2k ko Tmk = a0 + O(hkm+1 ):
(III:3:11)
Demostracion.- 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 qk (hi )lm;k;i (0) + R2k+1 (hi )lm;k;i (0) :
i=m;k
Por el teorema III.1.13, se tiene
qk (0) ;
m X i=m;k
m Y qk (hi )lm;k;i (0) = (k +1 1)! (;hj )qk(k+1) ( ); j =m;k
150
III Interpolacio n
lo que muestra que
Por otro lado
m X i=m;k
qk (hi )lm;k;i (0) = O(hkm+1 ):
lm;k;i (0) =
m Y j=m;k j6=i
m Y i ; = hj ; hi j=m;k i ; j
hj
j= 6 i 2 k +1 h ik
de donde jR2k+1 (hi )lm;k;i (0)j C2k+1 i C2k+1 y0k yik+1 ; deduciendo facilmente el teorema. Debido al error de redondeo que se comete en el calculo del polinomio de interpolacion, y por consiguiente en el proceso de extrapolacion, se debe evitar la utilizacion de polinomios de interpolacion de grado muy elevado, la practica aconseja no pasar de 10. Por otro lado, la extrapolacion numerica es muy utilizada en la construccion de metodos de integracion, como tambien en la construccion de metodos de resolucion de ecuaciones diferenciales.
Ejercicios 1.- Sea f : (0; 1] ;! R una funcion cuyo desarrollo asintotico por derecha en x = 0 esta dado por f (x) = a0 + a1 x2 + + ak x2k + O(x2k+2 ): Modi car el algoritmo de Aitken-Naville, es decir el proceso de extrapolacion, de manera que el numero de operaciones se redusca ostensiblemente. 2.- En esta seccion, se da un ejemplo de como acelerar la convergencia de una sucesion para calcular . Suponiendo que el desarrollo asintotico es par, como en el ejercicio 1, recalcule y compare. 3.- Utilizando el procedimiento de la seccion III.1 para determinar la in uencia de los errores de redondeo en la determinacion del polinomio de interpolacion. Estudie la in uencia de los errores de redondeo en la extrapolacion, suponiendo que los unicos errores de redondeo que se comete son aquellos relativos a la evaluacion de la funcion f a ser extrapolada. p 4.- p Calcule p 2, utilizando unpprocedimiento p de extrapolaciop n, por ejemplo 1 = 1, 1 ; 21 = 1 ; 1, 1 ; 44 = 1 ; 2, 1 ; 69 = 1 ; 3; 1; 96 = 1; 4; p1; 9881 = 1; 41, : : :.
Captulo IV Ecuaciones No Lineales En el captulo II, se vio diferentes metodos para resolver problemas lineales, pero tambien existen problemas no lineales, como por ejemplo ecuaciones cuadraticas, polinomiales, trigonometricas y muchas otras mas. La Historia de las Matematicas muestra que los problemas lineales fueron estudiados y resueltos en tiempos inmemoriables, pero luego el hombre confronto otros tipos de problemas cuya caracterstica no era precisamente lineal. En el caso lineal la solucion de un problema puede darse de manera explcita, es su ciente determinar la inversa de la matriz del sistema y multiplicar para obtener la solucion de este problema. En el caso no lineal se continuo con esta optica, lo cual es siempre posible bajo ciertas condiciones, como ejemplo se tiene el teorema de la funcion inversa, pero lastimosamente en la mayor parte de los casos esta funcion inversa no puede ser expresada como una combinacion de funciones elementales, entendiendose como funcion elemental aquellas que uno estudia en colegio y los primeros semestres de universidad. En este captulo, se intentara de cierta manera seguir este desarrollo historico, dejando sobrentendido que el estudio de los problemas lineales en todas sus variantes es conocido por el lector. Por consiguiente, una primera parte sera dedicada al estudio de las soluciones de ecuaciones polinomiales, teniendo como eplogo el Teorema de Galois. Despues se abordara los metodos iterativos para encontrar la solucion o soluciones de una ecuacion, dando condiciones para asegurar la existencia, la unicidad local y la convergencia de tales metodos. Como una clase de metodo iterativo, se estudiara el Metodo de Newton, enunciando: teoremas de convergencia, existencia y unicidad de soluciones, algunos problemas frecuentes que se encuentran en la implementacion de tal metodo; como tambien modi caciones para simpli car su utilizacion en determinadas situaciones. Finalmente, se vera el equivalente del Metodo de los Mnimos Cuadrados, en los problemas no lineales, que es el Metodo 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 numeros reales o complejos. Como C es una extension del cuerpo R, se puede suponer que el problema consiste en determinar las raices o ceros de un polinomio p(x) 2 C [x]. La existencia de las soluciones de una ecuaci on polinomial esta dada por el Teorema Fundamental del Algebra que se lo enuncia sin demostracion. Teorema IV.1.1.- Fundamental del Algebra. Sea p(x) 2 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 coe entes 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 funcion de C en C , ahora bien toda funcion 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 2 C tal que 0 < jxj < r. Ademas, la utilizacion del teorema de Rouche permite de determinar los discos donde se encuentran los ceros y complementando esta informacion el numero exacto de ceros.
Ecuaciones Resolubles por Radicales
Tal como se dijo en la introduccion de este captulo, se ha buscado inicialmente la manera de expresar la solucion de una ecuacion por medio de funciones elementales. En esta subseccion, se vera precisamente esta manera de expresar las soluciones. Se comenzara con el caso mas simple, las ecuaciones cuadraticas.
Ecuaciones cuadraticas
Una ecuacion cuadratica o ecuacion polinomial de segundo grado es de la forma ax2 + bx + c = 0; con a 6= 0; ecuacion que es equivalente a
x2 + bx + c = 0;
(IV:1:2)
153
IV.1 Ecuaciones Polinomiales
completando cuadrados se tiene
x + 2b
2
2 + c ; b4 = 0;
obteniendo, as dos raices:
r
r
2 2 x1 = ; 2b + b4 ; c; x2 = ; 2b ; b4 ; c:
(IV:1:3)
Si b42 ; c 0, se utiliza la determinacion usual de la raiz cuadrada. En caso contrario, una determinacion donde las raices cuadradas de numeros negativos este de nida.
Ecuaciones Cubicas
Las ecuaciones cubicas o ecuaciones polinomiales de tercer grado son de la forma ax3 + bx2 + cx + d = 0; con a 6= 0; (IV:1:4) esta ecuacion dividiendo por a se reduce a una ecuacion de la forma
x3 + ax2 + bx + c = 0;
(IV:1:5)
planteando x = x + a=3, la ecuacion se convierte en una ecuacion de la forma
x3 ; 3px ; 2q = 0:
(IV:1:6)
Ahora bien, si se plantea x = u + v, se obtiene
u3 + 3u2v + 3uv2 + v3 ; 3p(u + v) ; 2q = 0; de donde
u3 + v3 + (u + v)(3uv ; 3p) ; 2q = 0; deduciendose, dos ecuaciones para u y v:
(
uv = p;
u3 + v3 = 2q; por consiguiente u3v3 = p3 , mostrando as que u3; v3 son las raices del polinomio de segundo grado
2 ; 2q + p3 ;
(IV:1:7)
154
IV Ecuaciones No Lineales
por lo tanto:
p
u3 = q + q2 ; p3 ;
p
v 3 = q ; q 2 ; p3 ;
para obtener nalmente la formula de Cardano
q3 p 2
x = q + q
q p 2
; p3 + 3
q ; q ; p3 :
(IV:1:8)
teniendo cuidado de veri car 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 ecuacion se convierte en una ecuacion de la forma x4 ; px2 ; 2qx ; r = 0; (IV:1:10) introduciendo z 2 C en la anterior ecuacion, se obtiene la siguiente ecuacion equivalente (x2 + z )2 = (2z + p)x2 + 2qx + z 2 + r; se elige z de manera que el segundo miembro de la ecuacion precedente sea una cuadrado perfecto, y eso ocurrre, si y solamente si (2z + p)(z 2 + r) ; q2 = 0;
(IV:1:11)
de donde z es raiz de una ecuacion 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; 2 (x + x + z + )(x2 ; x + z ; ) = 0; por consiguiente, las cuatro raices de la ecuacion estan dadas por:
p
2 x1 = ; + 2; 4(z + ) ; p2 ; 4(z + ) ; ; x = ; 2
x3 = x4 =
(IV:1:12a) (IV:1:12b)
p 2 ; + 2 ; 4(z ; )
;
(IV:1:12c)
2
:
(IV:1:12d)
p 2 ; ; 2 ; 4(z ; )
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 composicion de radicales. Las formulas desarrolladas en el anterior paragrafo fueron estudiadas y comprendidas hasta mediados del siglo XVI, posteriormente se ataco al problema de las ecuaciones de grado superior, en particular a las ecuaciones de grado quinto. Todos los intentos iban en la direccion de encontrar una formula general que estuviese expresada con radicales. Pero a principios del siglo pasado Galois mostro su famoso teorema que trastorno en cierta manera el mundo matematico de aquella epoca. Se enunciara este teorema sin dar la demostracion. Teorema IV.1.2.- Galois. No existe una formula 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 constituyo un aporte, ya que se ataco el problema utilizando metodos analticos que estaban emergiendo con gran fuerza a principios y mediados del siglo pasado. Por otro lado se abandono la idea de encontrar una formula general, para insistir sobre la posible ubicacion de los ceros de un polinomio. Se desarrollaron metodos iterativos para la solucion de estos problemas cuyo alcanze es mas vasto que el de las ecuaciones polinomiales.
Localizacion de Ceros
Como se dijo anteriormente, al no poder calcular explcitamente las raices de un polinomio, es importante determinar en que region se encuentran estas raices de manera de poder aplicar un metodo iterativo. Sea, p(x) un polinomio a coe cientes complejos de grado n, es decir
p(x) = a0 xn + a1 xn;1 + + an ; si x es una raiz, se tiene
xn = ; aa1 xn;1 ; aa2 xn;2 + ; aan : 0
0
0
Introduciendo la matriz de Frobenius de esta ecuacion, se tiene
0 xn;1 1 0 ; aa10 ; aa20 ; aan0 1 0 xn;1 1 CC B xn;2 C BB 1 B xn;2 C CC B@ .. CA ; B C B 1 x @ .. A = B . .x A .x @ .. 1 1 | {z 1 0 } F matriz de Frobenius
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 localizacion de ceros de p(x) es equivalente a localizar los valores propios de la matriz F . A continuacion se da un teorema cuya demostracion sera hecha en el captulo 5. Teorema IV.1.3.- Gerschgorin. Sean A una matriz, un valor propio de A, entonces existe i tal que
j ; aii j
X j 6=i
jaij j :
(IV:1:13)
Aplicando este teorema a la matrix F se tiene la siguiente estimacion: Corolario IV.1.4.- La raices del polinomio p(x) = a0xn + + an, con a0 6= 0 veri can n a ! X jxj max 1; a i : (IV:1:14) i=1
0
Uno de los resultados practicos e importantes en el algebra de valores propios, es que la propiedad de valor propio es invariante por trasposicion, por consiguiente, el: Corolario IV.1.5.- Las mismas hipotesis del corolario precedente, dan la estimacion siguiente a jxj 0max 1 + a i : (IV:1:15) in 0
Utilizando el teorema de Rouche y otros, se puede encontrar mas estimaciones sobre la localizacion de los ceros de un polinomio. Por ejemplo, en los ejercicios se debe mostrar la siguiente estimacion
jxj 2 1max in;1
s s ! i ai ; n an : a0 2a0
(IV:1:16)
Con el siguiente ejemplo se vera que existen mejores estimaciones que otras, esto depende sobre todo del tipo de polinomio que se tiene.
Ejemplo
Se considera la ecuacion
xn ; 2 = 0; la primera estimacion, como la segunda dan jxj 2n, mientras que, la tercera da jxj 2. Debido a la aritmetica de los ordenadores, el tipo REAL es un conjunto nito, que se asemeja mucho mas a los numeros racionales que los reales,
IV.1 Ecuaciones Polinomiales
157
por eso que se puede suponer que p(x) 2 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 caractersticas propias de los metodos empleados. Sea p(x) 2 Q [x], p0 (x) su derivada, se de ne el polinomio q(x) utilizando el algoritmo de Euclides, por q(x) = mcd(p; p0 ); (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.
Metodo de Newton
Uno de los metodos comunmente utilizados en la determinacion de raices de un polinomio, consiste en el uso del metodo de Newton. Aqu se formulara este metodo, sin estudiar la convergencia y el calculo de error, dejando esto para el siguiente paragrafo. Por lo tanto, el metodo esta dado por la relacion recursiva siguiente | x0 arbitrario, proximo a una solucion. | xk+1 = xk ; pp0((xxk )) , donde p(x) es el polinomio a determinar k sus raices. El problema consiste en determinar todas las raices reales de p(x) = 0, suponiendo que se ha encontrado la primera raiz, se podra utilizar nuevamente el metodo de Newton utilizando otra valor, pero existe la posibilidad de encontrar nuevamente la primera solucion. Para evitar esta situacion se puede proceder basicamente de dos maneras. La primera, una vez que se ha encontrado la raiz 1 , se de ne el polinomio q(x) = xp;(x) ; (IV:1:18) 1 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 propagacion de errores de redondeo puede dar resultados completamente alejados de la realidad. El segundo procedimiento consiste en aplicar el metodo de Newton a q(x), pero sin calcular los coe cientes 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 (IV:1:19) q(x) = (x ; )p(x)(x ; ) : 1 k
158
IV Ecuaciones No Lineales
Introduciendo el logaritmo y derivando se obtiene: log q(x) = log p(x) ;
k X i=1
log(x ; i );
k q0 (x) = p0 (x) ; X 1 q(x) p(x) i=1 (x ; i ) :
(IV:1:20)
Aplicando el metodo de Newton a (IV.1.19), utilizando (IV.1.20), se obtiene como m-sima iteracion. p(xm ) xm+1 = xm ; : (IV:1:21) k X 1 p0 (xm ) ; p(xm ) (x ; ) i=1 m i Este ultimo procedimiento se conoce como el metodo de Maehly. Este metodo es numericamente estable, en efecto considerando el siguiente ejemplo dado por Stoer.
Ejemplo
Se considera el polinomio p(x) de nido por
p(x) =
12 Y
j =0
(x ; 2;j ) = x13 + a1 x12 + + a12 :
Calculando los coe cientes en simple precision e utilizando el metodo de Newton en sus dos variantes se obtiene la tabla IV.1.1. As mismo, el metodo de Newton permite encontrar las raices complejas, mas precisamente las raices no reales, de una ecuacion polinomial. Para tal efecto, el punto de partida debe ser un numero complejo no real, pues puede observarse que partiendo de un punto real, los valores obtenidos por el metodo 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 producira un fenomeno de oscilacion con el metodo de Newton. Por lo tanto hay que agregar al algoritmo que a partir de un numero 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 veri car si todas las raices reales han sido calculadas, para luego comenzar con un numero 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 calculo de raices para un caso extremo. SOL EXAC 1=1 1=2 1=22 1=23 1=24 1=25 1=26 1=27 1=28 1=29 1=210 1=211 1=212
METODO DIVISION
METODO MAEHLY
SOL NUM ERROR 1:00 0:0 0:500 0:950 10;4 ;0:15 0:400 ;0:426 0:551 0:560 0:498 ;0:132 0:163 0:266 0:250 0:157 0:149 ; 1 ;0:237 10 0:028 ;0:740 0:742 0:865 0:864 0:140 0:140 ;0:179 10;1 0:181 10;1
SOL NUM ERROR 1:000 0:0 0:5000 0:894 10;7 0:2500 0:894 10;7 0:1250 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:2441 10;3 0:728 10;10
Sucesiones de Sturm
La utilizacion de sucesiones de Sturm en la resolucion 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 resolucion de ecuaciones polinomiales De nicion IV.1.6.- Una sucesion ff0; f1; : : : ; fng de funciones de nidas en R con valores reales, continuamente derivables es una sucesi on de Sturm, si: a) f00 (x )f1 (x ) < 0 si f0 (x ) = 0, x 2 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 ff0; f1; : : : ; fng una sucesion de Sturm, w(x) se denota al numero de cambios de signo de ff0(x); f1 (x); : : : ; fn (x)g. Entonces la funcion f0 (x) tiene exactamente w(b) ; w(a) ceros en el intervalo [a; b].
160
IV Ecuaciones No Lineales
Demostracion.- w(x) puede cambiar de valor solamente si uno de los fj (x) = 0. Por consiguiente, sea x un tal numero y supongase que 1 j n ; 1. Estudiando en un vecindario de x , la funcion w estara determinada por los valores de las siguientes tablas:
x ; x x + x ; fj ;1 + + + fj;1 ; fj 0 fj fj+1 ; ; ; fj+1 + x ; x x + fn;1 fn + 0 +
x x +
; 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:
f0 f1
x ; x x + + 0 ;
;
;
;
f0 f1
x ; x x + ; 0 + ; + + +
de donde w(x + ) = w(x ; ) + 1. Volviendo al problema original de encontrar los ceros reales de un polinomio p(x) con raices simples, a coe cientes reales (racionales), el objetivo es construir una sucesion de Sturm de tal manera que f0 = p. Se de ne la siguiente sucesion de polinomios de manera recursiva utilizando la division con resto, por
8 f (x) := p(x); > 0 > 0 > f 1 (x) := ;p (x); > > < f0(x) = g1(x)f1 (x) ; 12f2(x); f1 (x) = g2 (x)f2 (x) ; 22 f3 (x); > > > .. > . > : fn;1(x) = gn(x)fn(x):
(IV:1:22)
La de nicion de la sucesion (IV.1.22) es el algoritmo de Euclides para determinar el mcd(p(x); p0 (x)). Se tiene el siguiente teorema.
IV.1 Ecuaciones Polinomiales
161
Teorema IV.1.8.- Supongase que p(x) solamente tiene raices simples, entonces la sucesion de nida por (IV.1.22) es una sucesion de Sturm. Demostracion.- Puesto que p(x) tiene raices simples, si p0(x ) = 0, se tiene p(x ) 6= 0, de donde la condicion a) es satisfecha, a) f00 (x )f1 (x ) = ;(f00 (x ))2 < 0:. b) Se cumple esta condicion por construccion de la sucesion. c) fn = mcd(p; p0 ) = C .
Algoritmo
Con el algoritmo de biseccion 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 biseccion hasta lograr la precision deseada, o si no se mejora el resultado utilizando el metodo de Newton.
Ejercicios 1.- El polinomio x4 ; 8x3 + 24x2 ; 32x + a0 ; a0 = 16 posee una raiz de multiplicidad 4 en el punto x = 2. >Como cambian las raices del polinomio si se remplaza a0 por a0 = a0 (1 + ) con jj eps? Calcular las raices de este polinomio, >es un problema bien condicionado? 2.- Sea p(x) un polinomio de grado n a coe cientes reales. Supongase que todas las raices 1 2 n sean reales. a) Mostrar que el metodo de Newton converge hacia 1 , si x0 > 1 . Indicacion.- Para x > 1 los valores de p(x); p0 (x); p00 (x) tienen el mismo signo que xlim !1 p(x). Mostrar que fxk g es una sucesion monotona. b) Si x0 es mucho mas grande que 1 , entonces el metodo de Newton converge muy lentamente. (xk+1 xk (1 ; 1=h)) 3.- Considerese el polinomio
f (x) = x6 ; 3x5 + 6x3 ; 3x2 ; 3x + 2: Sin calcular las raices de este polinomio, determinar el numero de raices distintas de f (x). 4.- Encontrar un algoritmo que, para un polinomio arbitrario f 2 Q [x], permita calcular la factorizacion
; ; ; f (x) = f1 (x) (f2 (x) 2 (f3 (x) 3 (fk (x) k ;
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 coe cientes en C , mostrar que todas las raices satisfacen la estimacion s s ) ( s a a 1 1 n ; j j 2 max a ; a ; : : : ; 1 ana;1 ; n 2aan : (IV:1:23) 0 0 0 0 Encontrar, para cada n, un polinomio tal que se tenga igualdad en (IV.1.23) 6.- Considerese el polinomio f (x) = x5 ; 5x4 + 3x3 + 3x2 + 2x + 8: a) Determinar el numero de raices reales. b) >Cuantas raices son complejas? c)>Cuantas raices son reales y positivas? Indicacion.- Utilizar una sucesion de Sturm. 7.- Sea f (p + 1) veces continuamente diferenciable en un vecindario de 2 R y sea una raiz de multiplicidad p. Mostrar que la sucesion fxk g, de nida por xk+1 = xk ; p ff0((xxk )) ; k
converge hacia , si x0 es su cientemente proximo de , y que se tiene xk+1 ; ;! f (p+1) ( ) : (xk ; )2 p(p + 1)f (p+2) ( )
8.- El metodo de Newton, aplicado a z 3 ; 1 = 0, da la iteracion 3 3 zk+1 = (zk ); con (z ) = z ; z ;2 1 = 2z +2 1 : 3z 3z 2 ij= 3 Denotese por Aj = z0 2 C ; zk ! e , j = 0; 1; 2; los canales de atraccion. Mostrar: a)A0 \ R = R ; f0 ; 1 ; : : :g donde 0 = 0 y k;1 = (k ), b)Aj+1 = e2i=3 Aj , c)Calcular ;1 (0) y ;2 (0) con la formula de Cardano. Esto muestra que el sector fz 2 C j j arg(z )j < =3g contiene puntos que no convergen hacia 1. d) Supongase que k (z ) = 0 para un k 2 N . Mostrar que U \ Aj 6= ; (j = 0; 1; 2) para cada vecindario U de z.
IV.2 Metodos Iterativos En la seccion precedente, se ha visto que la mayor parte de las ecuaciones a resolver no pueden ser resueltas de manera explcita, es decir mediante una formula magica. Es por esta razon, que el estudio de los metodos iterativos es una necesidad imperiosa para poder encontrar las soluciones de una ecuacion. Para tal efecto es tambien importante conocer el tipo de funciones con las que se esta trabajando. En lo que sigue, se estudiara varios aspectos que son fundamentales para la comprension del tema.
Posicion del Problema
Uno de los problemas mas comunes, se trata del siguiente. Supongase, que se tiene la funcion f : I ;! R; donde I R intervalo. El problema, se trata de obtener con una aproximacion arbitraria las raices de la ecuacion
f (x) = 0:
(IV:2:1)
Esta claro, que sera ridculo esperar obtener, en general, formulas de resolucion de (IV.2.1), del tipo de formulas clasicas 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 mas razonable planteado aqu , no existe un metodo general conduciendo al resultado buscado, los procedimientos teoricos de aproximacion pueden conducir, sin hipotesis adecuadas para la funcion f a calculos numericos inextricables, incluso para los ordenadores mas potentes que existen en la actualidad. Por otro lado, incluso si el intervalo I es acotado, puede suceder que la ecuacion (IV.2.1) tenga una in nidad de raices, por ejemplo, cuando f es identicamente nula en un subintervalo. El ejemplo
f (x) = x3 sin x1 ;
(IV:2:2)
muestra que puede existir una in nidad 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 numero nito o in nito de puntos de subdivision, en subintervalos en cada uno de los cuales se sepa que, la ecuacion no tiene raiz, o la ecuacion tenga una y una sola solucion. Se estara seguro, que es as cuando la funcion
164
IV Ecuaciones No Lineales
es monotona 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 hipotesis suplementaria la continuidad en tal subintervalo.
Ejemplo
La funcion
(IV:2:3) f (x) = x ;b1a + x ;b2a + + x ;bna ; 1 2 n donde a1 < a2 < < an y los bj son todos diferentes a 0 y del mismo signo, esta de nida en cada uno de los subintervalos abiertos ]1; a1 [; ]a1 ; a2 [; : : : ; ]an;1 ; an [; ]an ; +1[; en cada uno de estos subintervalos es monotona, 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 1 y cuando x tiende por izquierda a uno de los aj , f (x) tiende en valor absoluto a 1, pero con signo opuesto que el lmite por derecha. Por lo tanto, se concluye que la funcion f tiene exactamente una raiz en cada subintervalo. Para obtener una descomposicion de I en intervalos del tipo considerado anteriormente, es decir para separar las raices, se necesitara teoricamente estudiar el sentido de variacion de la funcion f , agregando otra hipotesis suplementaria respecto a f , como que f sea continuamente derivable, esto signi cara estudiar el signo de f 0 (x), por consiguiente se estara obligado a encontrar las raices de la ecuacion f 0 (x) = 0, que salvo algunos casos, su resolucion presenta las mismas di cultades que la ecuacion original. Por lo expuesto mas arriba, se esta en la capacidad de enunciar el siguiente teorema de existencia y unicidad de la solucion de una ecuacion con su algoritmo de resolucion incluido. Teorema IV.2.1.- Sea f : I ;! R continua y monotona, entonces la ecuacion f (x) = 0 tiene () existen a < b 2 I , tales que f (a)f (b) < 0. una y una sola solucion Ademas si existiese la solucion, esta puede ser aproximada de manera arbitraria con el algoritmo de la biseccion. La primera observacion que se puede hacer al algoritmo de la biseccion consiste en que este algoritmo construye subintervalos encajonados reduciendo la longitud de cada subintervalo de la mitad en cada iteracion. Pero una de las interrogantes que uno se plantea, es cuando detener el algoritmo. En general, esto sucede cuando el valor absoluto de la funcion f evaluada en las extremidades es menor a un valor de tolerancia pre jado con anterioridad. Ahora bien, si solamente se exige que f sea mononota y continua puede pasar situaciones, como las del siguiente ejemplo.
165
IV.2 Metodos Iterativos
Ejemplo
Sea f : (;1; 1) ;! R de nida por f (x) = x100 g(x); (IV:2:4) donde g es una funcion continua que no se anula en (;1; 1). Es evidente que, x = 0 es una raiz de la ecuacion f (x) = 0. Aplicando el algoritmo de la biseccion con una tolerancia de 10;6 y tomando como puntos de partida a = ;0; 9 y b = 0:9 puede suceder que jf (x)j < TOL, dejando una gran eleccion para escoger la raiz de f (x). Por lo tanto, si no se tiene la hipotesis que f (x) sea derivable y que f 0 (x) 6= 0 para x raiz de la ecuacion f (x) = 0, se debe tener mucho cuidado en la determinacion de la solucion numerica del problema, para no cometer grandes errores.
Metodo de la Falsa Posicion
En este paragrafo, se supondra que f : [a; b] ;! R es dos veces continuamente derivable, que f 0 (x) no se anula en el intervalo ]a; b[ y ademas f (a)f (b) < 0. La idea para obtener una valor aproximado de la raiz 0 de la ecuacion 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 seccion de este captulo, las ecuaciones polinomiales mas simples de resolver son las ecuaciones de primer grado y las ecuaciones cuadraticas. Por razones de simplicidad en la formulacion, el metodo de la falsa posicion sera estudiado tomando como polinomio, uno de primer grado. Sea L(x) el polinomio de interpolacion de primer grado, tal que: L(a) = f (a); L(b) = f (b); (IV:2:5) ver en la gura IV.2.1.
y=L(x)
a
ξ
y=f(x)
b
ξ0
Figura IV.2.1 Metodo de la Falsa Posicion.
166
IV Ecuaciones No Lineales
Las hipotesis implican que L(x) se anula en un punto 2 I , que se toma como valor aproximado de 0 . Por consiguiente se trata de mayorar el error cometido j ; 0 j; para tal efecto se recordara el teorema III.1.13 que da el siguiente resultado f (x) ; L(x) = 12 f 00 ( )(x ; x0 )(x ; x1 ) (IV:2:6) con 2 I , deduciendo la siguiente proposicion. Proposicion IV.2.2.- Si f 0 no se anula en el intervalo I , y si f (0) = 0, L( ) = 0 para ; 0 2 I , entonces se tiene 00 ; 0 = 12 ff 0 ((0)) ( ; a)( ; b);
(IV:2:7)
donde y 0 son numeros que pertenecen a I . Demostracion.- Por (IV.2.6), se tiene
f ( ) = 12 f 00 ( )( ; a)( ; b); por el teorema del valor medio se tiene
f ( ) = f 0 ( 0 )( ; 0 ) con 0 que pertenece al intervalo cuyas extremidades son 0 y . Combinando ambos resultados se obtiene el resultado de la proposicion. Corolario IV.2.3.- Mismas hipotesis de la proposicion precedente, y ademas jf 0 (x)j m > 0, y jf 00 (x)j M para todo x 2 I , entonces
j ; 0 j 8Mm (b ; a)2 :
(IV:2:8)
Si el error j ; 0 j evaluado por la estimacion (IV.2.8) no es lo su cientemente 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 metodo obteniendo as un segundo valor aproximado 0 . Teoricamente, se puede aplicar inde nidamente este procedimiento, y se muestra facilmente que la sucesion de los numeros obtenidos converge hacia , ver ejercicios. Como se dijo al abordar el metodo de la falsa posicion, se puede aproximar la raiz de la ecuacion f (x) = 0 con un polinomio de segundo grado. Con la misma notacion que antes 0 es la raiz de la ecuacion, suponiendo
167
IV.2 Metodos Iterativos
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 0 (x) no cambia de signo en este intervalo, f (c) es positivo o negativo. Sea L(x) el polinomio de interpolacion de grado 2, tal que
L(a) = f (a)
L(c) = f (c)
L(b) = f (b);
(IV:2:9)
utilizando la formula de Newton del captulo III, se tiene
; f (a) (x ; a) L(x) = f (a) + f (cc) ; a f ( b ) ; 2f (c) + f (a) (x ; a)(x ; c); +2 (b ; a)2
IV:2:10)
resolviendo esta ecuacion, sea 2 I la raiz del polinomio de segundo grado, la cual puede ser determinada utilizando el metodo de resolucion 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 estimacion
f (x) ; L(x) = 16 f 000 ( )(x ; a)(x ; c)(x ; b);
(IV:2:11)
donde 2 [a; b]. deduciendo la siguiente proposicion. Proposicion IV.2.4.- Si f 0 no se anula en el intervalo I , y si f (0) = 0, L( ) = 0 para ; 0 2 [a; b], entonces se tiene 000 ; 0 = 16 ff 0 ((0 )) ( ; a)( ; c)( ; b)
(IV:2:12)
donde y 0 son numeros que pertenecen a [a; b]. Demostracion.- Por (IV.2.11), se tiene
f ( ) = 61 f 00 ( )( ; a)( ; c)( ; b); por el teorema del valor medio, se tiene
f ( ) = f 0 ( 0 )( ; 0 ); con 0 que pertenece al intervalo cuyas extremidades son 0 y . Combinando ambos resultados se obtiene el resultado de la proposicion.
168
IV Ecuaciones No Lineales
Corolario IV.2.5.- Mismas hipotesis de la proposicion precedente, y ademas jf 0 (x)j m > 0, y jf 000 (x)j M para todo x 2 [a; b], entonces j ; 0 j 24Mm (b ; a)3 :
(IV:2:13)
Si el error j ; 0 j evaluado por la estimacion (IV.2.13) no es lo su cientemente 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 metodo obteniendo as un segundo valor aproximado 0 . Teoricamente, se puede aplicar inde nidamente este procedimiento, y se muestra facilmente que la sucesion de los numeros obtenidos converge hacia 0 , ver ejercicios. El metodo de la Falsa Posicion es un claro ejemplo de un metodo iterativo, pues utiliza soluciones anteriormente obtenidas para calcular una nueva solucion. En general, se dira que un metodo iterativo es de orden k o de k pasos, si la iteracion puede expresarse de la forma:
xn+1 = (xn ; xn;1 ; : : : ; xn;k+1 ):
(IV:2:14)
Por lo tanto, los metodos descritos anteriormente son metodos iterativos de dos pasos, pues se sirven de 2 valores para calcular el valor de la iteracion siguiente.
Sistemas de Ecuaciones
Los problemas que han sido estudiados mas 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 posicion del problema es por consiguiente: Dada f : U Rn ;! Rn , encontrar 2 U tal que
f ( ) = 0 :
(IV:2:15)
Reiterando lo que se dijo al inicio de esta seccion no se puede esperar de obtener una formula milagrosa para determinar , lo que se debe buscar es por consiguiente una aproximacion de esta solucion con la precision que se desee. La continuidad no es una condicion su ciente para determinar la existencia de ceros, hipotesis 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 inversion local que sera enunciado sin demostracion, para el lector interesado, puede encontrarla en cualquier libro de Analisis, por ejemplo en Rudin.
169
IV.2 Metodos Iterativos
Teorema IV.2.6.- Sean D Rn abierto, f : D ;! Rn continuamente
diferenciable. Si: a) f (x ) = 0; b) fx0 es inversible, entonces, existe dos vecindarios, U de x y V de 0, tales que para todo v 2 V existe un unico x 2 U , tal que f (x) = v y la aplicacion
g :V ;! U v ;! x(v) es continuamente diferenciable y ademas gv0 = (fx0 );1 . Consecuencias de este teorema son: la unicidad local de la solucion; si x^ es solucion numerica obtenida mediante un metodo cualquiera se tiene la siguiente estimacion del error
x^ ; x = (fx0 );1 f (^x) + O(kf (^x)k2 ); de donde si (fx0 );1 es casi singular, x^ ; x puede ser muy grande, aun si f (^x) es peque~no.
Un metodo Iterativo simple
Existe otra clase de ecuaciones que pueden ser escritas de la forma
f (x) = x;
(IV:2:17)
donde f es una funcion de varias variables con las condiciones dadas al inicio de este paragrafo. Cabe remarcar que la ecuacion (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 jo en espacios metricos. Para saber mas sobre espacios metricos ver Schawartz. A continuacion, se enunciara el teorema del punto jo. Teorema IV.2.7.- Sean X un espacio metrico completo, f : X ;! X una aplicacion veri cando
d(f (x); f (y)) Cd(x; y); C < 1; donde d denota la distancia en X . Entonces la ecuacion f (x) = x admite una y una sola solucion. Demostracion.- Sea x0 2 X un punto arbitrario, se de ne la sucesion fxk g de manera recursiva por xk+1 = f (xk );
170
IV Ecuaciones No Lineales
esta sucesion 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 m d(xn ; xm ) 1C; C ;
que tiende a cero, cuando n; m tienden a 1. Sea x = nlim !1 xn , se deduce que f (x ) = x . Con esto se ha demostrado la existencia de la solucion. 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 unica 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 contraccion, con solamente esta hipotesis se mantiene la unicidad, pero esta vez localmente, la existencia no esta asegurada. Por lo expuesto, se puede formular el metodo iterativo dado en la demostracion del teorema precedente para el siguiente problema: Sea : Rn ;! Rn continua, determinar x 2 Rn tal que (x) = x. El metodo iterativo esta dado por: ( x0 ; arbitrario; (IV:2:18) xn = (xn;1 ):
Teorema IV.2.8.- Si fxng converge hacia x , y es continua en x,
entonces x es solucion de x = (x) Demostracion.- Se deja al lector. El anterior teorema se~nala claramente que si la funcion es continua, y la sucesion de nida por (IV.2.18) es convergente, entonces el lmite de esta sucesion es la solucion del problema (x) = x. Por consiguiente, la pregunta natural que uno puede plantearse es cuando existen condiciones su cientes para tener convergencia. De niendo el error en como en = xn ; x ; donde x es la solucion exacta, y xn la n-sima iteracion, se obtiene: en+1 = xn+1 ; x = (xn ) ; (x ) = 0 (x )(xn ; x ) + O kxn ; x k2 ; en+1 0 (x )en : (IV:2:19)
IV.2 Metodos Iterativos
171
Si ken+1 k q ken k para q < 1, entonces en ! 0 cuando n ! 1. Por consiguiente la sucesion es convergente, si existe una norma tal que k0 (x )k = q < 1. Teorema IV.2.9.- a) Sea (x) = Ax + b, con A matriz, entonces el metodo iterativo (IV.2.18) converge para todo x, si y solamente si (A) < 1, donde (A) = max jj j es un valor propio de A : b) Si (x) es no lineal y dos veces continuamente diferenciable, entonces se tiene convergencia si: (0 (x )) < 1; x0 ; x es su cientemente peque~no:
Demostracion.- Se mostrara solamente el inciso a), dejando al lector el inciso b) con las observaciones hechas antes de enunciar el teorema. ) Se supone que el metodo converge 8x0 2 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 jj < 1. ( Se supone que (A) < 1, sea e0 2 Rn arbitrario, de donde en = An e0 . Por el teorema de Jordan, existe una matriz T no singular tal que 0 .. 1 . 1 BB . . CC 0 . 1 BB CC 1 BB CC ... CC : T ;1AT = B 2 BB CC . 0 BB .. 1 CC B@ 2 A ... Sea D = diag(1; ; 2; : : : ; n;1 ), por consiguiente 0 .. 1 . 1 BB . . CC 0 . BB CC 1 BB CC . CC = J; . D;1 T ;1ATD = B 2 . BB CC . 0 BB .. CC B@ 2 A ...
172
IV Ecuaciones No Lineales
si es su cientemente peque~no, se tiene kJ k1 < 1, de donde el metodo es convergente. Para el problema f (x) = 0, se vio antes que se puede convertir en problema de punto jo, 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 (0 (x )) < 1, motivo por el cual es su ciente A (f 0 (x ));1 para que 0 (x ) 0.
Ejemplo
Considerese la ecuacion siguiente
x2 + y 2 ; 1 = 0 ; sin x + sin y = 12 se desea determinar las soluciones de esta ecuacion. Convirtiendo en un problema de punto jo se tiene
x
(x; y) = y
x2 + y2 ; 1 ;A 1 sin x + sin y ; 2
donde la A es una matriz de 2 2. La derivada de f en el punto (x; y), esta dada por 2x 2y f(0x;y) = cos x cos y ; la inversa de la derivada de f , esta dada por (f 0
(x;y)
);1 =
cos y ;2y 2(x cos y ; y cos x) ; cos x 2x : 1
Recorriendo a travez de la circunferencia de radio 1 dada por la primera ecuacion se escogen los valores de x, y para los cuales remplazando en la segunda ecuacion se tiene valores muy cerca a 1=2. Una vez determinados estos valores se consigue una aproximacion de la matriz A para poder aplicar el metodo iterativo. Las soluciones obtenidas con una precision del orden de 10;10 son: x = 0:3176821764792814; y = ;0; 948197255188055; x = ;0:948197255188055; y = 0; 3176821764792814:
173
IV.2 Metodos Iterativos
Ejercicios 1.- Sea A una matriz que es diagonal dominante, es decir
jaii j >
X j 6=i
jaij j ; i = 1; : : : ; n;
entonces el metodo de Jacobi, formulado en el captulo II, para resolver Ax = b es convergente. 2.- Considerese la ecuacion integral
y(x) = f (x) +
Zb a
K (x; s; y(s))ds;
()
donde a; b; f; K estan dados, se busca y(x). Mostrar, si el nucleo K es degenerado, es decir
K (x; s; y) =
n X i=1
ai (x)bi (s; y);
entonces la solucion de () esta dada por
y(x) = f (x) +
n X i=1
ci ai (x)
donde las constantes c1 ; : : : ; cn satisfacen
ci =
Zb a
bi (s; f (s) +
n X j =1
cj aj (s))ds i = 1; : : : ; n:
3.- Calcular la solucion de
y(x) = 1 +
Z 0
1: (2 sin x sin s + sin 2x sin 2s)ey(s) ds; = 10
Resolver el sistema no lineal para c1 ; c2 con el metodo iterativo. 4.- Sean J = [a; b] un intervalo de R en el cual la funcion dos veces continuamente diferenciable f veri ca las relaciones jf 0 (x)j m, jf 00 (x)j M , f (a)f (b) < 0. Mostrar que si 4Mm (b ; a) = q < 1 se puede, por n aplicaciones sucesivas del metodo de la falsa posicion, encontrar un intervalo de extremidades an , bn conteniendo la unica raiz de f (x) = 0 en [a; b], con jbn ; an j 4Mm q2n :
IV.3 Metodo de Newton En lo que va este captulo, se ha visto dos enfoques para resolver sistemas de ecuaciones, el primero mediante una formula que de el resultado de manera explcita en funcion de los datos del problema. El segundo enfoque consiste en utilizar metodos iterativos que permitan aproximar a la solucion de una manera arbitraria. En la seccion 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 sera cambiar el orden de convergencia, por ejemplo a una reduccion cuadratica del error. Recordando el metodo de la Falsa Pendiente, en lugar de tomar una secante para determinar una aproximacion del cero de la funcion estudiada, se podra tomar la tangente en un punto de la curva inducida por la funcion. El metodo iterativo formulado en la seccion precedente estaba basado en el teorema del punto jo y el problema a resolver era de la forma (x) = x, para el caso de las ecuaciones de la forma f (x) = 0, era su ciente considerar la funcion (x) = x ; Af (x), donde A es una matriz constante, ahora bien suponiendo que f 0 (x) es inversible en un vecindario de una de las soluciones de la ecuacion, en lugar de tomar A constante, se puede plantear A = (f 0 (x));1 . Las motivaciones estan dadas para formular un nuevo metodo, cuya velocidad de convergencia sea superior a los metodos anteriormente formulados. Para tal efecto, considerese la funcion f : U Rn ;! Rn , U un abierto de Rn , se supone ademas 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 unicas, por el teorema de las funciones inversas, dado en la seccion precedente. Supongase que este problema tiene al menos una solucion, denotandola por x . Sea x 2 U bastante proximo de x , aplicando la de nicion de la derivada en el punto x se obtiene f (x ) = f (x) + f 0 (x)(x ; x) + O(kx ; xk2 ); de donde despreciando el termino que contiene O se obtiene la ecuacion lineal dada por f 0 (x)(x ; x) = ;f (x); que por hipotesis tiene solucion y es unica. De donde, el metodo de Newton tiene la formulacion siguiente, sea x0 un punto bastante proximo de la
175
IV.3 Metodo de Newton
solucion buscada x , xm se de ne recursivamente, por las ecuaciones f 0 (xm;1 )(xm ; xm;1 ) = ;f (xm;1 ): (IV:3:2)
Ejemplos
1.- Considerese la ecuacion de una sola variable dada por f (x) = 2x ; tan x; para aplicar el metodo de Newton la derivada esta dada por f 0 (x) = 2 ; 12 ; cos x partiendo del punto inicial x0 = 1; 2 se obtiene los siguientes valores mediante el metodo de Newton. Tabla IV.3.1. Valores obtenidos por el metodo de Newton.
k 0 1 2 3 4
xk 1; 2 1:16934 1:16561 1:16556 1:16556
f (xk ) ;0:172152 ;1:69993 10;2 ;0:213431 10;3 ;0:347355 10;07 ;:133227 10;14
e2k =ek;1
;3:97664 ;3:44610 ;3:38337
2.- Considerese el sistema de ecuaciones dado por ( 2 2 x +y ;4=0 : xy ; 4 = 0 Las soluciones de este sistema de ecuaciones estan dadas por la interseccion de una circunferencia de radio 2 y centro en el origen y una hiperbola inclinada. Realizando un gra co se puede observar que una de las raices esta proxima al punto (0:5; 2) que sera tomado como punto inicial. La matriz derivada es igual a f 0 (x; y) = 2yx 2xy ; utilizando el metodo de eliminacion de Gauss para calcular los valores de (xk ; yk ) se obtiene la siguiente tabla con las primeras 23 iteraciones del metodo de Newton.
176
IV Ecuaciones No Lineales
Tabla IV.3.2. Valores obtenidos por el metodo de Newton. k 0 1 2 3 22 23
xk 0:5 :516666 0:526332 0:532042 0:540690 0:540690
yk 2: 1:96666 1:94921 1:93948 1:92553 1:92553
kf (xk )k2
0:25 0:134722 0:764322 10;1 0:446506 10;1 0:345530 10;5 0:210661 10;5
kek k22 = kek;1 k2 14:3688 28:3211 446885: 732995:
En las tablas IV.3.1 y IV.3.2, se observa que el metodo de Newton converge cuadraticamente. Es importante poder con rmar teoricamente este resultado. Analizando el caso de una variable, se supone que f : I ;! R es dos veces continuamente derivable, x una solucion del problema f (x) = 0, ademas f 0 (x ) 6= 0. Sea xk el valor de la k-esima iteracion obtenida del metodo de Newton. El desarrollo de Taylor en xk de la funcion f y el metodo de Newton para obtener xk+1 estan dados por: 0 = f (xk ) + f 0 (xk )(x ; xk ) + 21 f 00 (xk ) (|x ;{zxk )}2 +O((x ; xk )3 ); e2k 0 = f (xk ) + f 0 (xk )(xk+1 ; xk ); sustrayendo ambas cantidades se obtiene 0 = f 0 (xk ) (|xk+1{z; x}) ; 21 f 00 (xk )e2k + O((ek )3 ); e2k+1 de donde 00 ek+1 = 12 ff 0 ((xxk)) e2k + O((ek )3 ); k
mostrando as el teorema siguiente: Teorema IV.3.1.- Sea f : I ;! R, tres veces continuamente diferenciable, x una solucion de la ecuacion f (x) = 0. Si f 0 (x) 6= 0 en un vecindario de x , x0 bastante proximo de x , entonces 00 ek+1 = 12 ff 0 ((xxk)) e2k + O((ek )3 ); (IV:3:3) k
IV.3 Metodo de Newton
177
donde ek = x ; xk . Para el caso de una funcion de varias variables, la situacion es bastante similar, en efecto sea f : U Rn ;! Rn ; donde U es un abierto de Rn , f es una funcion tres veces continuamente derivable, cuya derivada es inversible para todo x 2 U . La derivada de f en el punto x 2 U es una aplicacion lineal, cuya matriz respecto a la base canonica esta dada por
0 @f1 @f1 1 @xn C B @x.. 1 .. C ; f 0 (x ) = B . A @ @f.n @fn
@x1 @xn donde f1 ; : : : ; fn son las componentes de la funcion f ; la segunda derivada de f en el punto x 2 U es una aplicacion bilineal simetrica, que respecto a la base canonica, esta dada por X 2f (x)hi ; kj ; f 00 (x)(h; k) = @x@ @x i;j i j donde h; k 2 Rn y los hi ; kj son las componentes de h y k respecto a las bases naturales. Para mas detalle ver Cartan. El desarrollo de Taylor en x esta dado por f (x + h) = f (x) + f 0 (x)h + 12 f 00 (x)(h; h) + O(khk3 ):
Teorema IV.3.2.- Sean f : U Rn ;! Rn tres veces diferenciable, con derivada inversible y x 2 U con f (x ) = 0. Si fxk g es la sucesion de nida por el metodo de Newton, entonces el error ek = xk ; x satisface
; ek+1 = 12 f 0 (xk ) ;1 f 00 (xk )(ek ; ek ) + O(khk3 ):
Demostracion.- Similar a la del caso de una sola variable. Calculo de la Derivada
(IV:3:4)
Al implementar el metodo de Newton, se debe calcular la derivada de f en cada punto. La primera forma de determinar la matriz f 0 (xk ) es de manera analtica, construyendo as una subrutina para evaluar los coe cientes de la matriz jacobiana en cada iteracion. Pero lastimosamente, no siempre
178
IV Ecuaciones No Lineales
es posible calcular las derivadas parciales de manera analtica por varias razones: funciones muy complicadas para derivar, calculos muy largos, etc. Otra manera de evaluar los coe cientes de f 0 (xk ) consiste en hacerlo numericamente. Utilizando un esquema de primer orden para evaluar la derivada parcial de fj respecto a xi , se tiene
@fj (x) = lim fj (x + tei ) ; fj (x) ; t!0 @xi t donde t 2 R, ei es el i-esimo vector de la base canonica. Ahora bien, se plantea g(t) = fj (x + tei ) dejando jo x, se tiene
@fj (x) = g0 (0): @xi De donde, el problema consiste en calcular g0 (0); con un esquema de primer orden se obtiene (IV:3:5) g0 (0) g(t) ;t g(0) :
Cabe recalcar, que se puede aproximar g0 (0) con una mejor aproximacion, para eso se puede utilizar los polinomios de interpolacion. Una pregunta natural surge, >cual t escoger?, para obtener la mejor aproximacion de g0 (0). El error de aproximacion esta dado por
g(t) ; g(0) = g0 (0) + 1 g00 (0)t + O(t2 ); t 2 mientras que los errores de redondeo, suponiendo que g es una funcion bien condicionada, esta dado por los siguientes resultados, suponiendo que g0 (t) g0 (0):
g(t(1 + 1 ))(1 + 2 ) ; g(0)(1 + 3 ) ; g(t) ; g(0) t t n o 1 t g(t) + g0 (0)1 t(1 + 2 ) ; g(0)(1 + 3 ) ; g(t) + g(0) n o 1t 2g(t) + g0 (0)1 t ; 3 g(0) ; donde ji j eps, por consiguiente
error de redondeo j1tj 2 jg(0)j + jg0 (0)tj eps:
(IV:3:6)
179
IV.3 Metodo de Newton
Lo ideal sera, por lo tanto escoger un valor de t de manera que los errores de aproximacion y de redondeo se aproximen, ver gura IV.3.1.
Err de aprox
Err de redon.
Figura IV.3.1. Error de Aproximacion vs Error de Redondeo. Observando la gura, se tiene que el error de aproximacion 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 funcion f .
El Teorema de Newton-Misovski
Se ha formulado el metodo de Newton de una manera general, dando inclusive una estimacion del error cometido, deduciendo que si el metodo converge, la convergencia es cuadratica. Pero sin embargo, no se enuncio las condiciones su cientes para obtener convergencia de este metodo. El siguiente teorema dara las condiciones su cientes para asegurar la convergencia del metodo, cuando la funcion f cumple ciertas condiciones. Teorema IV.3.3.- Newton-Misovski. Sean D Rn abierto y convexo, f : D ;! Rn continuamente diferenciable, f 0 (x) inversible para todo x 2 D, x0 2 D satisfaciendo las siguientes condiciones: a) k4x0k , ;
b)
(f 0 (y);1 f 0 x + t(x ; y) ; f 0 (x) (y ; x)
!t ky ; xk2 , 8x; y 2 D, t 2 [0; 1]; c) := 21 ! < 1; d) := 1 ; < 1; e) B (x0 ; ) = fx 2 Rn j kx ; x0 k g.
180
IV Ecuaciones No Lineales
Entonces: i) La sucesion fxk g de nida por el metodo de Newton se queda dentro B (x0 ; ) y converge hacia una solucion x de f (x) = 0. ii) Se tiene la estimacion k4xk k !2 k4xk;1 k2 . ! 2 iii) kxk ; x k k k4xk;1 k : 2 2(1 ; ) Demostracion.- Es claro por la de nicion del metodo de Newton que si fxk g es convergente, entonces el lmite de la sucesion es igual a x , donde f (x ) = 0. Se mostraras la conclusiones por induccion. Se supone que xk ; xk;1 2 D, para k 1, entonces k4xk k !2 k4xk;1 k2 ; en efecto
= (f 0 (xk ));1 f (xk ) ; f (xk;1 ) ; f 0 (xk1 )4xk;1
Z 1 0 0 0
= f (xk ) f (xk;1 + t4xk;1 ) ; f (xk;1 ) 4xk;1 dt
0 Z 1
f 0 (xk ) f 0 (xk;1 + t4xk;1 ) ; f 0 (xk;1 ) 4xk;1
dt Z01 ! 2 2
k4xk k =
(f 0 (xk ));1 f (xk )
0
!t k4xk;1 k dt = 2 k4xk;1 k :
Se de ne k recursivamente por
k = k2;1 ; Si x0 ; x1 ; : : : ; xk 2 D, entonces
0 = !2 = :
! k4x k ; k k 2 es cierto para k = 0, supongase cierto para k ; 1, por consiguiente ! k4x k ! k4x k2 2 = : k k;1 k k;1 2 2
como 0 = , se tiene k = 2k , puesto que < 1; lim = 0: k!1 k
181
IV.3 Metodo de Newton
El siguiente paso es mostrar que fxk g es una sucesion de Cauchy y que satisface el punto i). Se supone nuevamente, que x0 ; : : : ; xk 2 D, 0 l k, obteniendo kxk+1 ; xl k k| xk+1{z; xk k} + + k| xk+1{z; xl k} 2 2 k ! ! l !2 (1 + l2 + l4 + ) 2 !2 1 ;l 2 : l 2 Para l = 0, se tiene kxk+1 ; x0 k !2 2 < !2 1 ; = 1 ; = ; de 1; donde xk+1 2 B (x0 ; ). Por otro lado, 2 kxk+1 ; xl k !2 1 ;l 2 ;! 0; cuando k l ! 1: l de donde la sucesion fxk g es una sucesion 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 ultimo punto. Se tiene
kxl+1 ; xk k kxl+1 ; xl k + + kxk+1 ; xk k ; se plantea:
^k;1 = !2 k4xk;1 k ;
^l = ^l2;1 ;
de donde ^k;1 k;1 y ^k k ; 2k , ademas ! k4x k ^ para l l ; 1: l l 2 De donde 2 kxl+1 ; xk k !2 k4xk;21kk ; 1; haciendo tender l al in nito queda demostrado el punto iii) Es necesario remarcar el siguiente hecho concerniente a la hipotesis b) del teorema que se acaba de demostrar. Si f es 3 veces derivable, utilizando la formula de Taylor se tiene
;
[f 0 x + t(x ; y)) ; f 0 (x) ](y ; x) = f 00 (x)(t(y ; x); y ; x) + O(ky ; xk3 );
182
IV Ecuaciones No Lineales
por consiguiente
;
(f 0 (y));1 [f 0 x + t(x ; y)) ; f 0(x) ](y ; x) = t(f 0 (y));1 f 00 (x)(y ; x; y ; x)+ O(ky ; xk3 ); si D es bastante peque~no, entonces se puede despreciar O(ky ; xk3 ), de donde
(f 0 (y));1[f 0;x + t(x ; y)) ; f 0(x)](y ; x)
t
(f 0(y));1 f 00(x)
ky ; xk2 ;
por consiguiente
! sup (f 0 (y));1 f 00 (x) x;y2D
(IV:3:8)
Para comprender el teorema, puede ser util estudiar en un ejemplo tipo, las hipotesis del teorema y deducir las conclusiones que conducen estas hipotesis
Ejemplo
Sea, f : R2 ;! R2 de nida por
f (x) =
x2 + x2 ; 1 1
2
x2 ; x21
;
la solucion del problema f (x) = 0 esta dada por la interseccion de una circunferencia de centro en el origen y radio 1 y una parabola cuyo vertice se encuentra tambien en el origen. Este problema puede ser resuelto gra camente, substituyendo x2 , pero el proposito del ejemplo es estudiar el teorema de Misovski. La derivada de f 0 esta dada por la matriz jacobiana
f 0 (x) = ;22xx1 2x1 2 ; 1 cuya inversa es igual a (f 0 (x));1 =
1 1 ;2x2 2x1 (1 + 2x2 ) 2x1 2x1 :
Observando una gra ca del problema se escoge como dominio D a n o D = (x1 ; x2 )j 12 < x1 ; x2 < 2 : Analizando las condiciones del teorema se tiene:
183
IV.3 Metodo de Newton
a) Se escoge como valor inicial (1; 1) 2 D, obteniendo 4x0 = (;1=6; ;1=3), de donde p k4x0 k = 65 0; 37 = : b) El estudio de la segunda condicion da: (f 0 (y));1 f 0 (x + t(x ; y)) ; f 0 (x) (y ; x) x 1 = 2y (1 1+ 2y ) 21y ;22yy2 ;22t(ty(y1 ;;xx1 )) 2t(y20; x2 ) yy1 ; 1 1 1 1 2 ; x2 1 2 2 2 = 2y (1 t+ 2y ) (1 + y2 )(2y1y ;(yx1;) x+)(2y2 ; x2 ) : 1 2 2 1 2 Se observa inmediatamente que las componentes son positivas, mayorando respecto a y, se obtiene 0 ;1 0 (f (y)) f (x + t(x ; y)) ; f 0(x) (y ; x) 3(y ; x )2 + (y ; x )2 t 2 1 4(1y2 ; x2 )22 2 ; pasando a la norma de la convergencia uniforme, se obtiene
0 ;1 0
(f (y)) f (x + t(x ; y)) ; f 0(x) (y ; x)
1 2t ky ; xk infty2 ; de donde: b) ! = 2. c) = 0; 37 < 1. d) = 1 ;0; 037; 37 21 . Ahora bien, B (x0 ; ) 6 D, de donde no se puede garantizar las conclusiones del teorema. Sin embargo, tomando como x0 el valor de la primera iteracion a partir del valor inicial del ejemplo se tiene 5 2 t x0 = 6 ; 3 ; obteniendo de donde
213 ; k4x k = 0; 066 = ; 4x0 = ;;191==21 0
= 0; 066; = 0; 07; B (x0 ; ) D: Por lo tanto, las tres condiciones del teorema son veri cadas, teniendo garantizada de esta manera la convergencia del metodo de Newton. El teorema de Newton-Misovski da las ventajas de utilizar el metodo de Newton para resolver el problema f (x) = 0, sin embargo:
184
IV Ecuaciones No Lineales
Desventajas del metodo de Newton
| Cada iteracion del metodo es costosa en operaciones. En efecto el calculo de f 0 (x) y la resolucion del sistema lineal adyacente cuestan mucho si la dimension del sistema es grande. Resolver el sistema LR cuesta aproximadamente n3 =3 operaciones. | Convergencia local. El metodo converge solamente si x0 esta su cientemente proximo de la solucion x .
Metodo de Newton Simpli cado
Una de las mayores desventajas que tiene el metodo de Newton, consiste en el hecho de calcular en cada iteracion la matriz derivada y el sistema lineal asociado. Se puede simpli car el metodo de Newton de la siguiente manera: x0 arbitrario; ; (IV:3:9) 4xk = ; f 0(x0 ) ;1 f (xk ); xk+1 = xk + 4xk : Por consiguiente se debe calcular una sola vez f 0 (x0 ) y calcular una vez la descomposicion LR. Por lo tanto, la primera iteracion consume aproximadamente n3 =3 en el calculo de la descomposicion, y las demas iteraciones necesitan aproximadamente n2 operaciones. La desventaja de utilizar el metodo de Newton simpli cado reside en el hecho en que se pierde la convergencia cuadratica, obteniendo una convergencia lineal. En efecto, considerando este metodo como un metodo iterativo simple, dado en la seccion precedente se tiene:
;
xk+1 = (xk ); donde (x) = x ; f 0 (x0 ) ;1 f (x); ; 0 (x) = I ; f 0 (x0 ) ;1 f 0 (x): Ahora bien, se tiene convergencia local, si y solamente si
;
(I ; f 0 (x0 ) ;1 f 0 (x)) < 1; por el teorema IV.2.9 y la convergencia lineal es consecuencia directa del teorema citado. Tanto el metodo de Newton, como su version simpli cada, de nen iteraciones de la forma 4xk = ;(M (xk ));1 f (xk ); (IV:3:10) xk+1 = xk + 4xk ; donde M (x), es una matriz que depende de x. Para el metodo de Newton se tiene M (x) = f 0 (x) y para la version simpli cada M (x) = f 0 (x0 ). En
185
IV.3 Metodo de Newton
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 0 (x) puede tener una estructura de matriz banda, con algunos elementos no nulos fuera de la banda, es decir 0 1
B f 0 (x) = B @ ...
...
CC ; A
planteando M (x) la matriz cuyos elementos estan dados por la banda principal de f 0 (x) se tiene una buena aproximacion de f 0 (x), disminuyendo de esta manera el costo en operaciones. Las bases teoricas de utilizar la matriz M en lugar de f 0 (x), estan 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 2 D. Ademas:
a)
M (x0 );1 f (x0 ) ; b)
M (x0 );1 (f 0 (y) ; f 0 (x))
! ky ; xk ; 8x; y 2 D; c)
M (x0 );1 (f 0 (x) ; M (x))
0 + ; 1 kx ; x0 k,
M (x0 );1(M (x) ; M (x0) kx ; x0k; d) 0 < 1, := max(!; + 1 ) y
h= e) B (x0 ; ) D, con
1 ; (1 ; 0 )2 2
p
= 1 ; h1 ; 2h 1 ; ; 0
entonces: i) M (x) es inversible para x 2 B (x0 ; ), ii) La sucesion fxk g de nida por (IV.3.10) se queda en B (x0 ; ) y converge hacia una solucion x de f (x) = 0, iii) Se de ne h = ! 2 = ! h, (1 ; 0 )
p
= 1 h1 ; 2h 1 ; ; 0 entonces x 2 B (x0 ; ;) y no hay otra solucion de f (x) = 0 en B (x0 ; + ) \ D.
186
IV Ecuaciones No Lineales
Antes de demostrar el teorema hay que remarcar que h h cuya veri cacion es inmediata y tambien ; ; en efecto considerando los desarrollos en serie de Taylor se tiene:
p
1;x=
con los cj 0,
X 1=2 j
j 0
(;x)j = 1 ; x2 ; c2 x2 ; c3 x3 ; ;
p
1 ; 1 ; 2h = 1 + 4c h + 8c h2 + 16c h3 + ; 2 2 4 h de donde ; . Ver la gura IV.3.2.
D
ρ_ ρ
x0
ρ
+
Figura IV.3.2. Resultado del Teorema de Newton-Kantorovich. Demostracion.- Demostrando el punto i), se tiene:
;1 M (x) = M (x0 ) I + M | (x0 ) (M{z(x) ; M (x0))} ; B k B k k x ; x k < ; 0 p 1 ; 2h (1 ; )62 (1 ; ) 1; = 1 ;h! 0 0 1 ; 0
de donde kB k < 1, por lo tanto (I + B ) es inversible y su inversa esta dada por 1 X (I + B );1 = (;1)k B k ; k=0
187
IV.3 Metodo de Newton
la norma de (I + B );1 , esta mayorada por
(I + B);1
1 1 1 ; kB k 1 ; kx ; x0 k ; por consiguiente
M (x);1 M (x )
1 0 1 ; kx ; x0 k kx ; x0 k < :
(IV:3:11)
La demostracion del punto ii) se efectua por induccion. Si xk;1 ; xk 2 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 0(xk;1 )(xk ; x k1 ) + M (xk );1 f 0 (xk;1 ; M (xk;1 ) (xk ; xk;1 )
M (xk );1 f (xk ) ; f (xk;1 ) ; f 0(xk;1 )(xk ; xk1 ) ; + 1 ; kx1 ; x k 0 + 1 kxk;1 ; x0 k kxk ; x0 k
Z 1h k 0 i ; 1 0 0
M (xk ) f (xk;1 + t(xk ; xk;1 )) ; f (xk ; 1) dt(xk ; xk;1 )
0 ; + kx ; x k kx ; x k 1 + k 0 1 ; kxk ; x0 k 0 1 k;1 0 1 ; kx1 ; x k !2 kxk ; xk;1 k2 k 0 ; 1 + 1 ; kx ; x k 0 + 1 kxk;1 ; x0 k kxk ; x0 k : k
0
De donde
kxk+1 ; xk k
n o 1 2 +( +( ; kx k x ; x k ; x k ) k x ; x k : k k ; 1 0 k ; 1 0 k k ; 1 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 smbolo de desigualdad por el de igualdad, de niendo as una sucesion ftk g R, que veri ca:
t0 = 0; t1 = ; tk+1 ; tk = 1 ;1t (tk ; tk;1 )2 + (0 + ( ; )tk;1 )(tk ; tk;1 ) ; k
188
IV Ecuaciones No Lineales
Se demuestra facilmente, por induccion que:
kxk+1 ; xk k tk+1 ; tk ; kxk ; x0 k tk ; en efecto, para k = 0 se cumple, supongase cierto para k ; 1, por consiguiente
kxk ; x0 k kxk ; xk;1 k + + kx1 ; x0 k tk ; tk;1 + + t0 = tk ; n o kxk+1 ; xk k 1 ;1t 2 (tk ; tk;1 )2 + 0 + ( ; )tk;1 (tk ; tk ; tk;1 ) k = tk+1 ; tk : El siguiente paso es estudiar la sucesion ftk g, se tiene (1 ; tk )(tk+1 ; tk ) = 2 (t2k ; 2tk tk;1 + t2k;1 ) + 0 (tk ; tk;1 ) + 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 t2k + (1 ; 0 )tk = (1 ; tk;1 )(tk ; tk;1 ) ; 2 t2k;1 + (1 ; 0 )tk;1 = ; expresion que es constante por que no depende de k. Expresando t2 ; (1 ; )t + tk+1 = tk + 2 k 1 ; t0 k = tk + uv((ttk)) = (tk ); k k
donde las funciones u y v estan dadas por u(t) = 2 t2 ; (1 ; 0 )t + ; v(t) = 1 ; t: Se debe mostrar por consiguiente que tk converge y eso sucede si y solamente si tiene un punto jo, y el radio expectral de 0 en las proximidades del punto jo es estrictamente menor a 1. Se tiene: (t) = t () u(t) = 0 () t = 1;2 = 1 ; 0
s
1 ; 0
2
; 2 ;
189
IV.3 Metodo de Newton
donde 1;2 son las raices de u(t). Expresando ambas raices en funcion de h, se obtiene p 1;2 = 1 h1 ; 2h 1 ; ; 0
puesto que h 1=2, las dos raices de u son positivas, siendo 1 la raiz mas 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 funcion (t) se tiene tres casos, que se observan en la gura IV.3.3.
α
α ρ1
α 1/µ
ρ2 1/µ
1 2 1
1 < 1 < 2
1/µ
2 = 1
Figura IV.3.3. Gra cas de la funcion :
Para 0 < t < 1 , se tiene que 0 (t) > 0, en efecto: (t) = t + uv((tt)) ; 0 0 0 (t) = v(t)v+(t)u (t) + u(t) v2(t) ; |v {z(t)} >0 v(t) + u0 (t) = 1 ; t + t ; (1 ; 0 ) = 0 + ( ; )t 0: Por consiguiente, es creciente sobre el intervalo (0; 1 ), y ademas tk < 1 ; para k = 0 es cierto, supongase cierto para k, entonces tk+1 = (tk ) < (1 ) = 1 ;
190
IV Ecuaciones No Lineales
La sucesion ftk g es creciente y mayorada, por lo tanto es convergente y converge al primer punto jo de , el cual es 1 . De aqu, se deduce que xk 2 B (x0 ; 1 ): Ahora se esta en condiciones de mostrar que fxk g es una sucesion convergente, para tal motivo se debe demostrar antes que es una sucesion 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 ;! 1: De donde klim = x y como M (xk ) es acotada se deduce inmediata!1 mente f (x ) = 0; mostrando as el punto ii). Para la demostracion del punto iii) son necesarias algunas convenciones sobre la escritura de los smbolos utilizados. La sucesion fxk g esta de nida por xk+1 = xk ; M (x0 );1 f (xk ); planteando: M (x) = M (x0 ); = ; ! = !; = 0: Por otro lado,
M (x0);1 (f 0(x) ; M (x))
M (x0);1(f 0(x) ; M (x))
+
M (x0 );1 (M (x) ; M (x))
0 + 1 kx ; x0 k + kx ; x0 k =0 + 1 kx ; x0 k con 0 = 0 , 1 = 1 + y = . De niendo G(x) = x ; M (x0 );1 f (x), se tiene:
G0 (x) =I ; M (x0 );1 f 0 (x); kG(y) ; G(xk;1 )k kG (;y) ; G(xk;1 ) ; G0 (xk;1 )(y ; x k;1 )k + G0 (xk;1 ) ; G0 (x0 ) (y ; xk;1 ) + kG0 (x0 )(y ; xk;1 )k
; M (x0 );1 ; f (y) + f (xk;1 ) + f 0 (xk;1 )(x ; yk;1 ) + M (x0 );1 (f 0 (xk;1 ) ; f 0 (x0 ))(y ; xk;1 )
+ M (x0 );1 (M (x0 ) ; f 0 (x0 ))(y ; xk;1 )
IV.3 Metodo de Newton
191
utilizando una integral como en el punto ii), se obtiene kG(y) ; G(xk;1 k !2 ky ; xk;1 k +! kxk;1 ; x0 kky ; xk;1 k + 0 ky ; xk;1 k ; Sea y 2 D \ B (x0 ; + ), remplazando y por y en la ultima desigualdad, se obtiene ky ; xk;1 k !2 ky ; xk;1 k +! kxk;1 ; x0 k ky ; xk;1 k + 0 ky ; xk;1 k ; y planteando tambien y = xk , se obtiene kxk ; xk;1 k !2 kxk ; xk;1 k +! 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 smbolo por la igualdad, obteniendo as:
tk+1 ; tk = !2 (tk ; tk;1 )2 + !tk;1 (tk ; tk;1 ) + 0 (tk ; tk;1 ); t0 = 0; t1 = ; ! 2 sk ; tk = 2 (sk;1 ; tk;1 ) + !tk;1 (sk;1 ; tk;1 ) + 0 (sk;1 ; tk;1 ); s0 = ky ; x0 k < + :
Se demuestra por induccion que:
kxk+1 ; xk k tk+1 ; tk ; kxk ; x0 k tk ; ky ; xk k sk ; tk El siguiente paso en la demostracion consiste en estudiar las sucesiones ftk g y sk . Se tiene: tk+1 ; tk = !2 (t2k ; 2tk tk;1 + t2k+1 ) + !tk;1 (tk ; tk;1 ) + 0 (tk ; tk;1 ); tk+1 ; !2 t2k ; 0 tk = tk ; !2 t2k;1 ; 0 tk;1 = ; sk ; tk = !2 (s2k;1 ; 2sk;1tk;1 + t2k;1 )+ !tk;1 (sk;1 ; tk;1 )+ 0(sk;1 ; tk;1 ) sk ; !2 s2k;1 ; 0 sk;1 = tk ; !2 t2k;1 ; 0 tk;1 = :
192
IV Ecuaciones No Lineales
De niendo la funcion (t) por (t) = !2 t2 + 0 t + ; 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, 0 (t) = !t + 0 0; si t 0, para estudiar la convergencia de las sucesiones, se debe determinar los puntos jos de , es decir resolver la ecuacion ! t2 + ( ; 1)t + = 0; 0 2 las raices de esta, estan dadas por:
p
= 1 h1 ; 2h ; se puede observar, que la sucesion tk es creciente y tiende hacia ; , por otro lado la sucesion sk es decrecientre y tiende hacia ;. Ver la gura IV.3.4
Ψ (t)
α ρ −
ρ +
t
Figura IV.3.4. Gra ca de la funcion : Como en el punto ii) se muestra que la sucesion fxk g es de Cauchy, por consiguiente xk ;! x y f (x ) = 0, ademas se tiene kx ; x0 k ; ; ky ;x k sk ; tk ;! 0; y = x :
193
IV.3 Metodo de Newton
el:
Para ilustrar la utilizacion del teorema de Newton-Kantorovich, se tiene
Ejemplo
Considerese, la funcion f dada por
2 2 f (x) = x1x+ ;x2x;2 1 ; 2 1
partiendo del punto (1; 1) y tomando como dominio D = R2 , M (x) = f 0 (x), es decir el metodo de Newton en su version no modi cada, se tiene:
= 0; 37;
! = 1; 2;
0 = 0; 1 = 0; = !; = 1; 2: Veri cando y efectuando calculos se obtiene: h = 0; 444 1=2; = ; = 0; 554; + = 0; 981:
Metodo de Newton con Relajacion
Una de las principales desventajas del metodo de Newton, tanto en su version original, como en su version simpli cada, es que es necesario estar cerca de la solucion del problema. Lamentablemente, en una gran mayora de casos eso no es posible. Por lo tanto, es necesario modi car el metodo de manera a que la convergencia sea una preocupacion menor. El metodo de Newton esta dado, por las iteraciones
xk+1 = xk ; (f 0 (xk ));1 f (xk ); se tiene convergencia si kx1 ; x0 k su cientemente peque~no, sin embargo esta condicion no se cumple en general. Una solucion alternativa sera modi car el metodo de la manera siguiente: pk = ;(f 0 (xk ));1 f (xk ); xk+1 = xk + k pk ; con 0 < 1. La base teorica de esta modi cacion esta dada por la: Proposicion IV.3.5.- Sean D Rn , f : D ! Rn continuamente diferen; 1 0 ciable, x0 2 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
Demostracion.- Se de ne la funcion g : R ;! R para una matriz A ja e inversible, como
g() = kAf (x0 + p0 )k22 = f (x0 + p0 )t At Af (x0 + p0 ); calculando la derivada de g, se obtiene:
g0 () = 2f (x0 + p0 )t At Af 0 (x0 + p0 )p0 ; g0 (0) = ;2f (x0)t At Af 0 (x0 )(f 0 (x0 ));1 f (x0 ) = ;2 kAf (x0 )k22 < 0; por consiguiente, existe 0 con las conclusiones requeridas por la proposicion.
Otra de las motivaciones para modi car el metodo de Newton consiste en el siguiente hecho. Sean D Rn , f : D ;! Rn continuamente diferenciable con derivada inversible para todo x 2 D. Llamando p(x) = ;(f 0 (x));1 f (x) la direccion de Newton para la funcion f , se obtiene la siguiente ecuacion diferencial
x0 = p(x):
(IV:3:12)
Una manera de resolver numericamente esta ecuacion, ver Captulo VII, consiste en aproximar la solucion mediante segmentos poligonales, es decir, de nir una sucesion de vertices, dados por
xk+1 = xk ; k p(xk );
(IV:3:13)
este metodo de resolucion de ecuaciones diferenciales es conocido como el metodo de Euler. El metodo modi cado se lo conococe como -estrategia y su formulacion es la siguiente: xk = ;(f 0 (xk ));1 f (xk ); (IV:3:14) xk+1 = xk + k xk : Si k = 1 para todo k, se tiene el metodo de Newton usual. La otra situacion es escoger k , tal que
g() = kAf (xk + k xk )k ;! min; presentandose dos interrogantes: >Como escoger la matriz A?
(IV:3:15)
195
IV.3 Metodo de Newton
>Como calcular el mnimo de g()? La eleccion de A, se la realiza considerando los siguientes hechos. Se desea que kxk + k xk ; x k ;! min; donde x es la solucion 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 0 (x )(x ; x ) f 0 (xk )(x ; x ) con x = xk + k xk , de donde
xk + k xk ; x = (f 0 (xk ));1 f (xk + xk ); escogiendo, de esta manera
A = (f 0 (xk ));1 ;
(IV:3:16)
Por lo tanto (IV.3.15), se convierte en g() =
(f 0 (xk ));1 f (xk + xk )
y el problema radica en determinar , para que g() sea mnimo. A continuacion se da un algoritmo simple que permite determinar este : Supongase que se conoce xk y una aproximacion ^k de k . Se tiene dos casos: a) g(^k ) 0, es decir xk + ^k es peor que xk . Se busca el mas peque~no de los j > 1, tal que
g(^k 2;j ) < g(0); se plantea k = ^k 2;j . b) g(^k ) < 0. Se busca el j > 0 mas peque~no tal que
g(2j+1 ^k ) > g(2j ^k ) y se plantea k = 2j ^k . En ambos casos k no debe ser mas grande que 1. Finalmente surge la ultima interrogante, >Como determinar ^k ? Utilizando un desarrollo de Taylor se tiene: (f 0 (xk ));1 f (xk + xk ))
2
= (f 0 (xk ));1 f (xk ) + f 0 (xk )xk + 2 f 00 (xk )(xk ; xk ) + O(3 )
196
IV Ecuaciones No Lineales
Por otro lado f (xk ) + f 0 (xk )xk = (1 ; )xk y (f 0 (xk ));1 f (xk ) = xk , de donde utilizando el desarrollo de Taylor, la desigualdad del triangulo y las observaciones anteriores, se tiene 2
g() kxk k (1 ; + 2 hk + O(3 ))
donde hk = (f 0 (xk ));1 f 00 (xk )(xk ; xk ) = kxk k : Despreciando el termino O(3 ), se obtiene un polinomio de grado 2, cuyo mnimo se encuentra en (IV:3:17) ^k = h1 ; k
faltando determinar hk . Como es practicamente imposible determinar con exactitud hk solo se requiere encontrar una buena aproximacion de hk . Para tal efecto, se supone que se ha efectuado k ; 1 iteraciones, teniendo: xk = ;(f 0(xk ));1 f (xk ); d xk = ;(f 0(xk;1 ));1 f (xk ); d xk ; xk = (f 0 (xk;1 ));1 (f 0 (xk ) ; f 0 (xk;1 ))d xk 0 ; 1 00 d (f (xk;1 )) f (xk )(xk ; xk;1 ; xk ): Pasando a las normas se obtiene la siguiente relacion:
dxk ; xk
khxkk k k;1 kxk;1 k
dxk
;
de donde
0 1 ^k = min @1; k;1
kxk;1 k k
xk k
A :
dxk ; xk dxk
(IV:3:18)
Ejemplo
Considerese, la funcion f de nida por
((5 ; x2 ) ; 2) f (x) = ;29;+13xx1 ++ xx2((1 1 2 + x2 )x2 ; 14)
Tomando como valor inicial x1 = 0; 5 y x2 = 2; 24, se resolvera el problema f (x) = 0, utilizando la -estrategia, el metodo de Newton en su version original. A continuacion se presentan los resultados obtenidos para ambos:
197
IV.3 Metodo de Newton
Tabla IV.3.3. Resultados con -estrategia. Iteracion x1 x2 kxk 1 ;8:5849058 3:94357758 1183:1361 7:8125 10;3 2 3 4 5
4:989738 4:0012650 13:574766 4:9999949 4:0000006 1:03345 10;2 4:9999999 4:000000 5:08213 10;6 5:0 4:0 0:0
Tabla IV.3.4. Resultados sin -estrategia. Iteracion x1 x2 kxk 1 ;1162:367 220:297 1183:1 2 ;47637:0 147:095 46474:7 3 ;21035:69 98:296 26601:42 4 ;9256:28 65:77062 11779:45 5 ;4049:98 44:09533 5206:34 6 ;1755:45 29:658 2294:57 7 ;748:669 20:056 1006:82 8 ;310:0149 13:688 438:7011 9 ;121:126 9:5002 188:934 10 ;41:5288 6:8016 79:6434 11 ;9:51218 5:16002 32:05875 12 13 14 15 16 17
1:887 4:7248 4:9968 4:9999 4:9999 5:0
4:3114 11:4307 4:03167 2:8516 4:0003 0:27378 4:0000 3:149 10;3 4:0 4:566 10;7 4:0 0:0
1:0 1:0 1:0 1:0
198
IV Ecuaciones No Lineales
Aproximacion de Broyden
Uno de los principales problemas en la implementacion del metodo de Newton, tanto en su version con relajacion, como en su version original, es el calculo de la matriz jacobiana f 0 (xk ) en cada iteracion y por consiguiente mediante el algoritmo de eliminacion de Gauss determinar la descomposicion LR de esta matriz. Existen muchas alternativas para evitar el calculo de la matriz jacobiana y su descomposicion LR en cada iteracion. El siguiente analisis permitira encontrar algunas de estas alternativas. Utilizando las relaciones dadas por (IV.3.17) y (IV.3.18) respecto a la determinacion de los coe cientes de relajacion, la experiencia numerica indica que, si k hk 10;1 se puede tomar en el lugar de f 0 (xk+1 ) f 0 (xk ). En este caso se tiene la version simpli cada del metodo de Newton. Sin embargo, existe otra alternativa descubierta por Broyden en 1965. Se supone, que se conoce una aproximacion Jk de f 0(xk ), es decir
Jk f 0 (xk )
(IV:3:19)
de donde el metodo de Newton esta dado por xk = ;Jk ;1 f (xk ); xk+1 = xk + xk el objetivo es por consiguiente, encontrar Jk+1 una aproximacion simple de calcular de f 0 (xk+1 ). Para tal efecto, la matriz Jk debe permanecer igual en las direcciones ortogonales a xk , es decir:
Jk+1 p = Jk p 8p?xk ; Jk+1 xk = Jk xk + q;
(IV:3:20)
por lo tanto
q = Jk+1 xk ; Jk xk = f (xk ) +
|
J| k+1{zxk} ; f{z0 (xk+1 )xk} f (xk+1 ) + O kxk2
de donde
Jk+1 xk = Jk xk + f (xk+1 ): (IV:3:20)
Proposicion IV.3.6.- Si Jk es inversible y xk+1 < kxk k, donde xk = ;Jk;1f (xk )
xk+1 = ;Jk;1f (xk+1 );
199
IV.3 Metodo de Newton
entonces Jk+1 es inversible. Demostracion.- Sean, 2 R y p?xk , se va mostrar que ker Jk+1 = f0g. En efecto: 0 = Jk+1 (x + p) = (Jk xk + f (xk+1 ) + Jk p = Jk (xk + p) + f (xk+1 ) = xk + p ; xk+1 ; introduciendo el producto escalar, multiplicando por xk , se obtiene:
kxk k2 ; xk+1 ; xk = 0;
por la desigualdad de Cauchy-Schwartz, se tiene
x ; x
x
kx k < kx k2 ; k+1 k k+1 k k
de donde = 0 y por consiguiente p = 0. La determinacion de xk+1 y xk se propone en los ejercicios.
Ejercicios 1.- Utilizando el teorema de Newton-Kantorovich encontrar > 0 tal que la iteracion zk+1 = zk ; ff0((zzk )) f (z ) = z 3 ; 1 k converge hacia 1, si z0 2 C satisface jz0 ; 1j < . 2.- Sea D Rn y f : D ! Rn continuamente diferenciable. Para x0 2 D supongase que f (x0 ) 6= 0 y que f 0 (x0 ) sea inversible. Mostrar que
p0 = ;f 0 (x0 );1 f (x0 ) es la unica direccion 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 artculo 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 modi cacion siguiente del metodo de Newton:
f 0 (xk )xk = ;f (xk ) + k xk+1 = x + l + xk :
(IV:3:22)
Las perturbaciones k pueden ser interpretadas como la in uencia de los errores de redondeo, como el error debido a una aproximacion de f 0 (xk ),... Supongase 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 condicion (IV.3.23) es satisfecha con < 1 y si kx0 k es su cientemente peque~no, entonces la iteracion (IV.3.21) converge hacia una solucion de f (x) = 0. b) El teorema precedente no es cierto, en general, si se remplaza < 1 por 1. Mostrarlo. Indicacion. Encontrar una matriz M (x) tal que la iteracion (IV.3.21) se vuelva equivalente a
M (xk )xk = ;f (xk ); y aplicar el teorema de Newton-Kantorovich. Utilizar la norma
kukJ = kf 0 (x0 )uk : 4.- (U. Ascher & Osborne 1987). Considerar una funcion f : R2 ! R2 que satisfaga
p
1 4 p3 ; 3 ; f (0) = ; 10 ;4 3 ; 3 1 4 f (u) = 5 ;3 ;
f 0 (0) = 10 01 1=p3 ;1=p3 0 f (u) = 1 1
donde u = ;f (0). Aplicar el metodo de Newton con el valor inicial x0 = 0. Para la sucesion fxk g obtenida de esta manera mostrar: a) xk+2 = xk para todo k 0; b) el test de monotonocidad
0 ;1
(f (xk )) f (xk+1 )
2 <
(f 0 (xk ));1f (xk )
2
201
IV.3 Metodo de Newton
es satisfecho en cada iteracion. 5.- Sea f : Rn ! Rn dos veces diferenciable. Mostrar que
kf 00 (x)(h; k)k1 M khk1 kkk1
donde M = max i
X X @ 2fi (x) . j l @xj @xl x
6.- Sea f : D ! R2 dada por D =
1 x2
j ; 1 < x1 ; x2 < 3 ,
f (x) = (xx1;;8)x2x ; 1 2
x0 = 00::125 125 :
Calcular los valores y ! del teorema de Newton-Misovski. Mostrar que el metodo de Newton converge hacia una solucion de f (x) = 0: 7.- Sean f : D ! Rn 3 veces continuamente diferenciable, Jk una aproximacion de la matriz f 0 (xk ) y p 2 Rn ; p 6= 0. Para la aproximacion de Broyden t Jk+1 = Jk + (f (xk + p) ; f (xk ) ; Jk p): pt pp se tiene: a) (Jk+1 ; f 0 (x0 + p))p = (1 ; )(Jk ; f 0(xk ))p +( 2 ; 1)f 00 (xk )(p; p) + O(kpk3 ): b) para 2 [0; 2] kJk+1 ; f 0 (x0 + p)k2 kJk ; f 0 (xk )k2 + kf 00 (xk )(p; :)k2 + O(kpk2 ): 8.- Supongase que se conoce una aproximacion J0 de f 0 (x0 ), y su descomposicion LR. Considere la iteracion
Jk xk ; = f (xk ) xk+1 = xk + xk donde Jk+1 (aproximacion de Broyden), esta de nido 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 formulas para x1 y x2 .
202
IV Ecuaciones No Lineales
9.- Considerese una funcion f : Rn ! Rm donde m < n. El conjunto
E = fxjg(x) = 0g representa una super cie en Rn . Dado x^ 2 Rn . Proponer un algoritmo para calcular el punto de E el mas proximo de x^. Estudiar las hipotesis para que el algoritmo converga. 10.- Considerese la ecuacion integrale de Fredholm (cf. Ejercicio 3 seccion IV.3)
Z y(x) = 2 (3 sin x sin t + 2 sin(2x) sin(2t))(y(t) + (y(t))3 )dt 0 (IV:3:24) y(x) = 0 es solucion de (IV.3.24) para todo 2 R. Con las ideas del ejercicio 3 de la anterior seccion se puede escribir (IV.3.24) bajo la forma G(c1 ; c2 ; ) = 0: @G (C; 0) = 0: Calcular los , donde det @C Interpretar estos puntos con el teorema de las funciones implicitas. (Soluciones: 1 = 2; 2 = 3) 11.- Mostrar numericamente que para 1 = 1 + ( > 0) el problema (IV.3.24) posee al menos 3 soluciones, para 1 > 2 al menos 5 soluciones. Calcular tambien todas las soluciones de (IV.3.24) para = 10, (hay 13).
IV.4 Metodo de Gauss Newton El estudio de las ecuaciones realizados en las secciones precedentes, consistan en problemas de la forma f (x) = 0 o su variante del punto jo 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 determinacion de parametros en el analisis de datos. El problema puede formularse de la siguiente manera. Sea
f : D Rn ! Rm con n m; el problema consiste en encontrar x 2 D, tal que
kf (x)k2 ;! min :
(IV:4:1)
En el captulo II.5, se abordo el problema bajo su forma lineal, se formulo el metodo QR para resolver este problema, y as mismo se introdujo la nocion de pseudo-inversa de una matriz. Para el problema no lineal, se sigue el mismo esquema. Pero antes de continuar en esa direccion, existe una alternativa de solucion. Se de ne la funcion g : D ! Rn de la manera siguiente g(x) = kf (x)k22 ; (IV:4:2) de donde g0 (x) = 2(f 0 (x))t f (x); (IV:4:3) se busca, por consiguiente, los x 2 D tales que (f 0 (x))t f (x) = 0. En principio se podra utilizar el metodo de Newton para resolver este problema, pero la principal desventaja, consiste en calcular la segunda derivada de f . Este algoritmo da los mnimos locales. La otra alternativa de solucion de este problema, se la dio mas arriba, es el metodo de Gauss-Newton. Al igual que en el metodo de Newton, la idea principal de este metodo consiste en linearizar el problema. Sea x0 2 D un valor inicial. Utilizando un desarrollo de Taylor en x0 se obtiene
kf (x)k22 = kf (x0 ) + f 0 (x0 )(x ; x0 ) + k22 ; considerando los terminos lineales del segundo miembro de la ecuacion se obtiene, al igual que en el captulo II.5,
x ; x0 = ;f 0 (x0 )+ f (x0 ); donde f 0(x0 )+ es la pseudo inversa de f 0 (x).
(IV:4:4)
204
IV Ecuaciones No Lineales
Por lo tanto, se puede formular el metodo de Gauss-Newton, como: xk = ;f 0 (xk )+ f (xk ); xk+1 = xk + xk :
(IV:4:5)
El calculo de xk se lo realiza, utilizando la descomposicion QR dada en el captulo II.5. Como se puede observar, la implementacion del metodo de Gauss-Newton es muy simple, y al igual que el metodo de Newton existen muchas variantes o modi caciones de este.
Convergencia del Metodo de Gauss-Newton
Sea, fxk g la sucesion de nida por el metodo de Gauss-Newton, si esta sucesion es convergente cuando k ! 1, se tiene
f 0(x)+ f (xk ) ;! 0;
xk ;! 0;
supongase que klim x = x , que el rango de f 0 (x) es constante en un !1 k vecindario de x , por que si no f 0 (x)+ no sera continua, ver teorema II.5.6, entonces f 0(x )+ f (x ) = 0: (IV:4:6) Por otro lado, si x 2 D es un mnimo local de g(x) = kf (x)k22 , se tiene
!
m m @ X 2 = 2 X @fi (x) f (x) = 0; 8j ; f ( x ) i i @xj i=1 i=1 @xj
de donde
f 0 (x)t f (x) = 0: (IV:4:7) Los resultados (IV.4.6) y (IV.4.7) estan relacionados por el siguiente: Proposicion IV.4.1.- Se tiene f 0 (x)+ f (x) = 0 () f 0 (x)t f (x):
(IV:4:8)
Demostracion.- Por el teorema II.5.5 existen dos matrices ortogonales U y V , tales que
0 1 B f 0(x) = U B @
... 0
k
1 0C CA V t ; 0
205
IV.4 Metodo de Gauss Newton
remplazando, se tiene
0 1 B f 0 (x)t = V B @
... 0
k
1 0C CA U t = 0; 0
si y solamente si las primeras k componentes de U t f son nulas, si y solamente si 0 1;1 1 ... B 0C CA U t = 0: f 0 (x)+ V B @ ; 1 k 0 0
A la diferencia del metodo de Newton, el metodo de Gauss-Newton ofrece solamente convergencia de tipo lineal, situacion que sera mostrada a continuacion. Como antes, se de ne g(x) = (f 0 (x))t f (x), si x es solucion del problema de minimizacion de la norma euclidiana, se tiene g(x ) = 0. El desarrollo en serie de Taylor en punto x de la funcion g, da el siguiente resultado 0 = g(x) + g0 (x)(x ; x) + O(kx ; xk22 ); por otra lado, la funcion g y sus derivadas parciales satisfacen:
gj (x) =
m @f (x) X i
fi (x); i=1 @xj m @ 2 f (x) m @gj (x) = X i f (x) + X @fi (x) @fi (x); i @xk i=1 @xj @xk i=1 @xj @xk de donde
g0 (x) = B (x)(f (x); ) + f 0 (x)t f 0 (x); con B (x) una forma bilineal simetrica. Por consiguiente el desarrollo de Taylor de g en xk , el k-esimo valor obtenido en la iteracion del metodo de Gauss-Newton, es igual a 0 = f 0 (xk )t f (xk ) + f 0 (xk )t f 0 (xk )(x ; xk ) + B (xk )(f (xk ); x ; xk ) +O(kx ; xk k22 ); y por el metodo de Gauss Newton, se tiene
xk+1 ; xk = ;f 0 (xk )+ f (xk );
206
IV Ecuaciones No Lineales
multiplicando esta ultima expresion por f 0 (xk )t f 0 (xk ) se obtiene 0 = f 0 (xk )t f 0 (xk )f 0 (xk )+ f (xk ) + f 0 (xk )t f 0 (xk )(xk+1 ; xk ); y utilizando el teorema II.5.7, el inciso d), se tiene nalmente
f 0 (xk )t f (xk ) + f 0 (xk )t f 0 (xk )(xk+1 ; xk ); sustrayendo esta ultima expresion con aquella concerniente al desarrollo de Taylor, se obtiene 0 = f 0 (xk )t f 0 (xk )(xk+1 ; x ) + B (xk )(f (xk ); x ; xk ) + O(kx ; xk k22 ): Ahora bien, supongase ademas que rang f 0 (xk ) = n, es decir que el rango sea maximal. De donde se tiene
;1 xk+1 ; x = ; f 0 (xk )t f 0 (xk ) B (xk )(f (xk ); x ; xk ) + O(kx ; xk k22 );
por consiguiente, el metodo de Gauss-Newton converge linealmente si
y diverge si
;1
;1
f 0 (xk )t f 0 (xk ) f 0 (xk )t f 0 (xk )
B (xk )(f (xk ); ) < 1;
B (xk )(f (xk ); ) > 1:
Debe observarse que si f (x )=0, el metodo de Gauss-Newton converge cuadraticamente, 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 solucion encontrada por el metodo de Gauss-Newton de f (x ) bastante peque~no, de manera que el radio espectral sea mas peque~no que 1. Al igual que en el metodo de Newton, el calculo de f 0 (x) se lo realiza en muchas ocaciones numericamente, o en los casos en que se pueda analticamente. Es indudable que la matriz f 0 (x) en las iteraciones del metodo de Gauss-Newton tienen un componente de error, utilizando las relaciones (IV.3.5) y (IV.3.6), este error es del orden de peps, donde eps es la precision del computador. Por consiguiente la k-esima iteracion del metodo de Gauss-Newton, considerando que el error cometido por redondeo se encuentra solamente en el calculo de f 0(x), esta dada por xk = ;(f 0(xk ) + E )+ f (xk );
207
IV.4 Metodo de Gauss Newton
con kE k2 = peps. Efectuando operaciones con la pseudo inversa, dadas en el teorema II.5.7 se obtiene:
xk = ; (f 0 (xk ) + E )t (f 0 (xk ) + E )
;1
(f 0 (xk ) + E )t f (xk );
0 (f (xk ) + E )t (f 0 (xk ) + E ) xk = ;(f 0 (xk ) + E )t f (xk ); 0 t 0 t 0
(f (xk ) + E ) (f (xk ) + E ) xk + (f (xk ) + E ) f (xk ) = 0;
despreciando E en el primer termino de la ultima ecuacion, se obtiene
f 0 (xk )t f 0 (xk ) xk + f 0(xk )t f (xk ) + E t f (xk ) = 0; introduciendo en la serie de Taylor, como se hizo mas arriba, se obtiene ;E t f (xk ) = f 0 (xk )t f 0 (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 precision superior a p eps.
Modi caciones del Metodo de Gauss-Newton
Similarmente al metodo de Newton, existen varias modi caciones del metodo original de Gauss-Newton. Una de las mayores di cultades en la implementacion de este metodo consiste en calcular f 0 (xk ) en cada iteracion. Por consiguiente, una primera modi cacion consiste en utilizar el metodo de Gauss-Newton simpli cado, el cual esta dado por: ( x bastante proximo de la solucion; 0 xk = ;f 0(x0 )+ f 0 (xk ); La principal ventaja de utilizar el metodo de Gauss-Newton simpli cado consiste en calcular por una vez f 0 (x0 ) y luego efectuar la descomposicion QR. Sin embargo existe una desventaja, que no se puede llegar a la solucion x , si f (x ) 6= 0, esto se ha observado al nalizar la anterior subseccion. Otra modi cacion corrientemente utilizada en el metodo de GaussNewton consiste en utilizar coe cientes de relajacion o mas conocido como la -estrategia. Sobre todo, se utiliza la relajacion cuando los valores iniciales utilizados para activar el metodo no estan muy cerca de la solucion buscada, ademas como un medio de aceleracion de convergencia. Por lo tanto el metodo de Gauss-Newton con -estrategia, esta dado por 8 x0 bastante proximo de la solucion; > < xk = ;f 0 (x0 )+ f 0 (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 metodo de Newton, con la unica variacion de utilizar la pseudo-inversa en el lugar de la inversa.
Ejemplos
1.- Este ejemplo esta relacionado con la subseccion concerniente a la convergencia del metodo de Gauss-Newton. Se busca x 2 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 caractersticas de la aplicacion del metodo de Gauss-Newton se tiene: 0 ext1 ; y 1 0 t1 ext1 1 1 B C . .. f (x) = @ f 0 (x) = @ ... A ; A; tm extm extm ; ym continuando con los calculos se tiene:
f 0 (x)t f 0 (x) = B (x)(f (x); ) =
m X i=1
(ti exti )2 ;
m X i=1
t2i exti (exti ; yi ):
Sea por otro lado tal que
exti ; y exti i = 1; : : : ; m; i
obteniendo, la mayoracion siguiente
X m t2i exti (exti ; yi ) i=1 ; m X (ti exti )2 i=1
se tiene convergencia si < 1. 2.- Este ejemplo es una ilustracion numerica de la implementacion del metodo de Gauss-Newton con relajacion. El problema consiste en determinar la circunferencia que pasa lo mas cerca posible de los
209
IV.4 Metodo de Gauss Newton
siguientes puntos: (2; 3), (2; 1), (1; 2), (3; 2) y (2:5; 2:5). Ahora bien la ecuacion de una circunferencia de centro (h; k) y radio r esta dada por (x ; h)2 + (x ; k)2 ; r2 = 0; por consiguiente el problema consiste en determinar h, k y r de manera que se obtenga la circunferencia mas proxima a estos puntos. Para la implementacion del metodo de Gauss-Newton, se tiene que
0 B f (h; k; r) = B B@
(h ; 2)2 + (k ; 3)2 ; r2 1 (h ; 2)2 + (k ; 1)2 ; r2 C (h ; 1)2 + (k ; 2)2 ; r2 C C (h ; 3)2 + (k ; 2)2 ; r2 A (h ; 2:5)2 + (k ; 2:5)2 ; r2
Despues de un simple gra co, se puede tomar como valores iniciales h = 2, k = 2 y r = 1, utilizando el metodo de Gauss-Newton con relajacion despues de 5 iteraciones, se obtiene los siguientes valores:
h =1:95833333333295; k =1:95833333333295; r =0:959239125904873 En la gura IV.4.1, se tiene la gra ca de la circunferencia resultante del metodo 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
4.0
Figura IV.4.1. Circunferencia del metodo de Gauss-Newton.
210
IV Ecuaciones No Lineales
El Metodo de Levenberg-Marquandt
El problema abordado en esta seccion, es resolver kf (x)k ! min, donde f : Rn ! Rm , con n m. El metodo propuesto en el anterior paragrafo fue el metodo 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 proximo de la solucion, por otro lado los analisis hechos se basan en el supuesto que f 0 (x) es de rango igual a n, es decir de rango maximal, ademas si f (x) no es lo su cientemente peque~no el metodo de GaussNewton diverge. Por las razones expuestas es necesario formular un metodo alternativo que permita evitar las situaciones enumeradas anteriormente. El metodo de Levenberg-Marquandt que constituye un metodo alternativo para resolver el problema de encontrar x con kf (x)k mnima, se basa en las siguientes ideas. Al formular el metodo de Gauss-Newton, se considero la serie de Taylor de f (x) en el punto xk , resultado de la k ; 1 iteracion y se planteo
kf (x)k = kf (xk ) + f 0 (xk )(x ; xk ) + O(kx ; xk k)k ;! min; suponiendo que x ; xk es lo su cientemente peque~no, se obtena como formulacion del metodo de Gauss-Newton
kf (xk ) + f 0 (xk )(x ; xk )k ;! min; y como condicion suplementaria deseable
kx ; xk k ;! min; La idea de Levenberg fue de considerar el problema siguiente para determinar el valor de xk+1
kf (xk ) + f 0 (xk )(x ; xk )k22 + p kx ; xk k22 ;! min;
(IV:4:9)
donde p > 0 es un parametro jo. Si se deriva una vez la expresion (IV.4.9), se obtiene: 2f 0(xk )t (f (xk ) + f 0 (xk )(x ; xk )) + 2p(x ; xk ) = 0; f 0 (xk )t f 0 (xk ) + pI (xk+1 ; xk ) = ;f 0(xk )t f (xk ): (IV:4:10)
Dependiendo de la eleccion del parametro p, el metodo de LevenbergMarquandt, tiene los siguientes comportamientos: Si p ;! 0, se tiene el metodo de Gauss-Newton, para ver realmente lo que sucede ver el captulo II, seccion 5, ejercicio 5.
211
IV.4 Metodo de Gauss Newton
Si p es muy grande, entonces xk = ; 1p f 0(xk )t f (xk ); de esta manera, se tiene la direccion de la pendiente mas grande, o llamada tambien del gradiente, pero en este caso la convergencia podra ser muy lenta. La eleccion 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 metodo de Gauss-Newton.
Ejercicios 1.- Encontrar una elipse, una hiperbola, 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 + cy2 + dx + ey + g y encontrar a; b; c; d; e; g tales que m ; X i=1
f (xi ; yi ) 2 ;! min
bajo la condicion ac ; b2 = 1 para la elipse, y ac ; b2 = ;1 para la hiperbola. 2.- Considerese el problema de localizar un barco en el oceano. Para volver el calculo mas simple, se supondra que la curvatura terrestre es despreciable y que todos los puntos estan 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 1 ;3 248
212
IV Ecuaciones No Lineales
Teoricamente, la posicion (x; y) del barco satisface la relacion
y ; yi
arctan x ; x = i 8i: i Encontrar la posicion probable de este. Las coordenadas aproximadas del barco son x0 = 3; y0 = 2. Atencion.- Hacer los calculos en radianes y utilizar siempre la misma rama de la funcion arctan.
Captulo V Calculo de Valores Propios La determinacion de valores propios o autovalores de una matriz A es muy corriente en la resolucion de multiples problemas. Sus aplicaciones van desde problemas de minimizacion y maximizacion, solucion de sistemas de ecuaciones diferenciales, ecuaciones con derivadas parciales, etc. El calculo de valores propios y la determinacion de vectores propios para matriz de un orden inferior o igual a 3 no presenta mayor problema, puesto que su solucion depende del polinomio caracterstico cuyo grado en este caso es inferior o igual a 3. Sin embargo, aquellos 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 metodos y algoritmos, lo mas e cientes posibles, teniendo en cuenta las particularidades de las matrices que son estudiadas. Ahora bien, la mayor parte de los metodos consevidos sirven para matrices simetricas o matrices normales, pues son estas, las que se encuentran en la mayor parte de los problemas. En este captulo, se estudiaran y formularan tales metodos, pero se comenzara haciendo una introduccion teorica del problema de la determinacion de autovalores y vectores propios. Como segunda parte de este captulo, se tendra la formulacion de estos metodos.
V.1 Teora Clasica y Condicion del Problema En esta seccion, se tratara los aspectos teoricos indispensables para la comprension del problema de la evaluacion de valores propios de una matriz A de orden n. De nicion V.1.1.- Sea A una matriz de n n a coe cientes complejos o reales. 2 C es un valor propio, si existe x 2 C n no nulo, tal que
Ax = x:
(V:1:1)
Si este es el caso, x es un vector propio asociado al valor propio . Proposicion V.1.2.- Sea A 2 Mn(C ), 2 C es un valor propio, si y solamente si ker(A ; I ) 6= f0g:
Demostracion.- Resultado inmediato de la de nicion.
Consecuencia de la anterior proposicion, se tiene que es un valor propio si y solamente si det(A ; I ) = 0; (IV:1:2) de donde, se tiene la: De nicion V.1.3.- El polinomio caracterstico de la matriz A 2 Mn(C n ) esta 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 coe cientes complejos, de donde existen n valores propios, contando su multiplicidad, de la matriz A 2 Mn (C ). Proposicion V.1.4.- Valor propio es una propiedad invariante por similaridad, es decir si B = T ;1AT , con T inversible, entonces A y B tienen los mismos valores propios. Demostracion.- En efecto, sea valor propio de A, entonces existe un vector propio asociado a que se lo denota por v, se tiene
BT ;1v = T ;1 ATT ;1v = T ;1Av = T ;1 v; de donde es un valor propio de B con T ;1v valor propio asociado.
V.1 Teora Clasica y Condicio n del Problema
215
De nicion V.1.5.- Sea A 2 Mn(C ), se de ne la adjunta de A por Aij = aji :
De nicion V.1.6.- Se dice que una matriz U es unitaria si U U = I: Vale la pena recalcar, que una matriz ortogonal a coe cientes reales es unitaria, y recprocamente una matriz unitaria a coe cientes reales es ortogonal, en el caso en que existieran coe cientes complejos no reales la situacion cambia. Por otro lado, es facil ver que el conjunto de las matrices unitarias forman un grupo para la multiplicacion de matrices. Teorema V.1.7.- Schur. Para cada matriz A 2 Mn(C ), existe una matriz Q unitaria, tal que
0 1 1 C B 0 2 CA : QAQ = B ... @ n
0
Demostracion.- 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 eleccion es posible con el procedimiento de Gramm-Schmidt en el caso complejo. Se observa inmediatamente, que
0 1 : : : B 0. AQ1 = Q1 B @ .. A(1) 0
1
CC : A
De la misma manera se encuentra una matriz Q 2 de orden n ; 1, tal que
0 2 : : : B 0. A(1) Q 2 = Q2 B @ .. A(2) 0
1
CC ; A
216
V Calculo de Valores Propios
y planteando se tiene
1
Q2 = 0 Q0 ; 2
0 1 BB 0 2 AQ1 Q2 = Q2 Q1 B B@ 0.. A(2) .
1 CC : CA
C
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 mas n pasos. Teorema V.1.8.- Si A es normal, es decir AA = AA , entonces existe una matriz unitaria Q tal que
0 1 Q AQ = @
...
0
0
n
1 A
Demostracion.- Si la matriz A es normal y Q es unitaria, entonces QAQ es normal. En efecto
(Q AQ) (Q AQ) = Q A QQ AQ = Q AA Q = (Q AQ) (Q AQ) :
queda por demostrar, que si
0 1 1 C B 0 2 CA B=B . @ .. n
0
es triangular y normal, entonces
0 1 B=@ 0
Puesto que BB = B B , se tiene
.. .
0
n
1 A:
217
V.1 Teora Clasica y Condicio n del Problema
0 1 0 BB 2 .. @ .
1 0 1 1 0C CA BB@ 0 2 . . CCA . n 0 0 1 n 1 0 1 0 C B 0 2 BB 2 C =B . ... @ A@ .. 0
de donde
n
1 0C CA ;
n
j1 j2 = j1 j2 + jj2 + + jj2 ;
dando como resultado que la primera la fuera del coe ciente de la diagonal es nulo. Se continua con el mismo procedimiento hasta mostrar que B es diagonal.
La condicion del Problema a Valores Propios
Sea, A una matriz cualquiera a coe cientes complejos de orden n. Al igual que en captulo II, es importante conocer la condicion del problema planteado, es decir la determinacion de valores propios. Para tal efecto sea A la matriz con errores de redondeo de A, repasando la seccion II.1, se tiene que los coe cientes de A satisfacen
aij = aij (1 + ij ) jij j eps; donde aij son los coe cientes de A, aij los coe cientes de A y eps la precision de la computadora. Por consiguiente, el estudio de los valores propios de A ij de pueden estudiarse de manera, mas general, para A + C , con cij = eps donde jcij j jaij j. De niendo f (; ) = det(A + C ; I ); se tiene inmediatamente que
f (0; ) = A (): Supongase que 1 es una raiz simple de A (), entonces se tiene
f (0; 1 ) = 0; @f (0; ) 6= 0: @ 1
218
V Calculo de Valores Propios
Por el teorema de las funciones implcitas, se deduce que existe un vecindario de (0; 1 ) en el cual existe una funcion (), tal que
f (; ()) = 0; con
() = 1 + 01 + 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 () = 1 + uu1Cv + O(2 ) (V:1:4) 1 v1 donde Av1 = 1 v1 y u1 A = 1 u1 , u y v no nulos. Demostracion.- Por el teorema, de las funciones implcitas se tiene (A + C )v() = ()v(); mas precisamente (A + C )(v1 + v10 + O(2 )) = (1 + 01 + O(2 ))v1 ; comparando los terminos de igual grado en cada miembro de la ecuacion anterior, se tiene:
0 : Av1 = 1 v1 ; 1 : Av10 + Cv1 = 1 v10 + 01 v1 ; de donde
(A ; 1 I ) v10 = ;Cv1 + 01 v1 ; multiplicando esta ultima por u1 , se obtiene 0 = ;u1 Cv1 + 01 u1 v1 :
Corolario V.1.10.- Si A es normal con valores propios diferentes, entonces
uCv 1 1 kC k ; u1 v1
es decir, el problema esta bien condicionado.
V.1 Teora Clasica y Condicio n del Problema
219
Demostracion.- A es normal, por consiguiente existe una matriz Q unitaria tal que
0 1 Q AQ = @
...
0
1 A;
0 n una veri cacion inmediata muestra que v1 es la primera columna de Q, as mismo u1 es la primera la de Q , de donde v1 = v1 , por lo tanto, se obtiene
uCv juCv j 1 1 1 21 u1 v1 kv1 k
kv1 kkCv2 1 k kv1 k kC k :
Ejemplos
1.- Se considera la matriz A de nida por
1 A= 0 2 :
Es muy simple darse cuenta, que = 1 es un valor propio de A, por consiguiente por simple inspeccion, se obtiene:
v1 = 10 ; 1 1 u1 = p ; 1 + 2 ; de donde
u1 v1 = p 1 2 : 1+ La matriz A es mal condicionada para el calculo de los valores propios cuando ! 1, ya que u1 v1 ! 0. 2.- El teorema de descomposicion 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 ;1AT = J;
220
V Calculo de Valores Propios
donde J es una matriz diagonal por bloques,
0 J (n ; ) 1 1 B J =@
y
...
J (nk ; k )
1 CA ;
0 i J (ni ; i ) = @
1 1 ... ... A : i Ahora bien, supongase que A es similar a la matriz de tipo Jordan, dada por 01 1 0 01 B@ 0 1 1 0 CA ; 0 0 1 1 0 0 0 1 entonces se tiene que det(A + C ; I ) = (1 ; )4 + + O(2 ); donde C es una perturbacion de A. Calculando los valores propios de A + C , ver gura 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. Determinacion de los valores propios de A + C
221
V.1 Teora Clasica y Condicio n del Problema
Ejercicios 1.- Una matriz A es de tipo Frobenius, si es de la forma
0 B A=B @
0 1 0 0 .. .. . . . . 0 . 0 0 1 ;a0 ;a1 ;an;2 ;an;1
1 CC : A
a) Veri car 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
19 > > 0C CC = n: CA > > ;
0a c BB b a c A= B B@ 0 b ab c ...
Las componentes del vector propio (v1 ; v2 ; ; vn )t satisfacen una ecuacion de diferencias nitas con v0 = vn+1 = 0. Veri car que vj = Const(j1 ; j2 ) donde
1 + 2 = a ;c ;
1 2 = bc ;
1 n+1 2
= 1:
3.- Mostrar que los valores propios de una matriz A satisfacen n X i=1
ji
j2
n X i;j =1
jaij j2 :
Se tiene igualdad, si y solamente si, A es diagonalizable con una matriz unitaria. n X
jaij j2 es la traza de A A que es invariante respecto a i;j =1 la transformacion A ! Q AQ. Indicacion.-
222
V Calculo de Valores Propios
4.- Supongase que los valores propios de A con aij 2 R son: + i , ; i ; 3 ; : : : ; n con 6= 0, 3 ; : : : ; n diferentes. Mostrar que existe una matriz T inversible con coe cientes reales tal que
0 BB ; ; 1 T AT = B B@ 0 3
1 CC CC : A
0 ...
n Dar una relacion entre las columnas de T y los vectores propios de A. 5.- Sea A una matriz simetrica y B una matriz cualquiera. Para cada valor propio B de B existe un valor propio de A de A tal que
jA ; B j kA ; B k2 : Indicacion.- Mostrar primero para un cierto v
v = (A ; B I );1 (A ; B )v; deducir que
1 (A ; B I );1 (A ; B ) kA ; B k (A ; B I );1 :
6.- Sea A una matriz simetrica. Para cada ndice i existe un valor propio de A tal que sX 2 j ; aii j jaij j : j 6=i
Indicacion.- Utilizar el ejercicio 5 con una matriz B conveniente.
V.2 Determinacion de Valores Propios En la actualidad, existen muchos metodos numericos para el calculo de valores propios de una matriz. Sin embargo, la mayor parte de las aplicaciones en fsica y otras disciplinas requieren en la mayora de los casos, la utilizacion de matrices normales. Motivo por el cual, existen metodos espec cos a este tipo de matrices. Se comenzara, esta seccion formulando el metodo de la Potencia.
El Metodo de la Potencia
Sea, A una matriz de n n con coe cientes reales o complejos, el objetivo es determinar el valor propio mas grande en valor absoluto. Sea y0 2 Rn (C n ) arbitrario, se de ne la sucesion fyng Rn de manera recursiva, como yn+1 = Ayn ; (V:2:1) es evidente que yn = An y0 . Esta sucesion tiene propiedades interesantes para la determinacion del valor propio mas grande, que estan dadas en el: Teorema V.2.1.- Sea A diagonalizable, es decir que existe una matriz T inversible tal que 0 1 01 ... A; T ;1AT = @ 0 n supongase que los valores propios satisfacen j1 j > j2 j j3 j jn j y e1 T ;1y0 6= 0. !#on fyk g de nida por yk+1 = Ayk satisface: " Entonces la sucesi k a) yk = k1 a1 v1 + O 2 , 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 ! yk Ayk = + O 2 k ; (V.2:2) 1 1 yk yk si ademas, la matriz A es normal, entonces
!
yk Ayk = + O 2 2k : 1 1 yk yk
(V.2:3)
224
V Calculo de Valores Propios
Demostracion.- Los vectores v1 ; ; vn forman una base del espacio C n , de donde y0 = a1 v1 + a2 v2 + + an vn ; deduciendose
por consiguiente
yk = a1 k1 v1 + a2 k2 v2 + + an kn vn ;
yk = a v + a 2 k v + + a n k v ; n n k1 1 1 2 1 2 1 con lo queda demostrado el punto a). Para la demostracion del punto b), se tiene: yk = k1 a1 v1 + k2 a2 v2 + + kn vn ; Ayk = k1+1 a1 v1 + k2+1 a2 v2 + + kn+1 vn ; X yk yk = ki kj vi vj ai aj ; i;j
X y Ayk = k k+1 v vj ai aj ; k
i j
i;j
i
obteniendo el cociente de Rayleigh, dado por
!
yk Ayk = + O 1 2 ; 1 2 yk yk ahora bien si A es normal, se tiene que vi vj = 0, si i 6= j ; obteniendo para
yk Ayk =
X i
i ji j2k vi vi ;
X y yk = ji j2k v vi : k
i
i
Ejemplo
Considerese, la matriz A de nida por 02 1 0 B1 2 1 A=B B@ 0 1 2 0 0 1 0 0 0
0 0 1 2 1
01 0C 0C C; 1A 2
V.2 Determinacio n de Valores Propios
225
utilizando el ejercicio 2 de la seccion V.1, se obtiene que el valor propio mas grande esta dado por p 1 = 2(1 + 23 ) 3; 73205; 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 estan dados por 0 1:07735026 1 B 1:86602540 CC v=B B@ 2:1547005 CA : 1:866025 1:07735026 Uno de los inconvenientes de utilizar el metodo de la potencia es que la convergencia puede ser muy lenta si j1 =2 j 1. Sin embargo, existe una modi cacion del metodo de la potencia para acelerar la convergencia. Este metodo es mas conocido como el:
Metodo de la Potencia Inversa
La modi cacion consiste en aplicar el metodo de la potencia a (I ; A);1 ; donde es una aproximacion del valor propio buscado de la matriz A. La justi cacion teorica esta dada por la siguiente proposicion: Proposicion V.2.2.- es valor propio de A, si y solamente si, 1 (V:2:4) ;
226
V Calculo de Valores Propios
es valor propio de (I ; A);1 . Demostracion.- 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; (I ; A);1 v = ;1 v:
Por otro lado aplicando, el teorema V.2.1 se tiene que la convergencia es del orden ; k ! O ; 1 : 2
Sea el valor propio mas grande de (I ; A);1 , entonces se tiene que
1 = ; 1 :
(V:2:5)
El metodo de la potencia da una relacion recursiva para los yk , que esta dada por yk+1 = (I ; A);1 yk ; pero en lugar de calcular la inversa de la matriz, se puede resolver la ecuacion (I ; A)yk+1 = yk ;
(V:2:6)
utilizando para tal efecto el algoritmo de eliminacion de Gauss. En el anterior ejemplo se tenia como valor de 1 = 3:697 despues de 2 iteraciones del metodo de la potencia inversa. Aplicando el metodo 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 coe cientes reales, sin embargo, el valor propio buscado no sea real si no que contenga una parte imaginaria. Supongase que = + i sea una aproximacion del valor propio buscado. Entonces aplicando el metodo de la potencia inversa, se tiene
;( + i)I ; Ay
k+1 = yk ;
(V:2:7)
227
V.2 Determinacio n de Valores Propios
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 2 Rn ; de donde, se obtiene una nueva formulacion para el metodo de la potencia inversa, dada por I ; A ; I u u k+1 k I I ; A vk+1 = vk ; y el cociente de Rayleigh esta dado por ykyk+1 = (utk ; ivkt )(uk+1 + ivk+1 ) yk yk utk uk + vkt vk t t t t (V:2:8) = (uk uk+1 + vk vkt+1 + i(utk vk+1 ; vk uk+1 ) : uk uk + vk vk
Formas Tridiagonales y Matrices de Hessenberg
El metodo de la potencia y su version de la potencia inversa son metodos aplicables a matrices, donde el valor propio mas grande en valor absoluto lo es estrictamente. Por otro lado es necesario darse un vector inicial cuya proyeccion sobre el espacio propio, respecto a este valor propio sea no nula, es decir se debe tener una idea clara de la posible ubicacion de los vectores propios. Ahora bien, en muchos casos es necesario conocer los diferentes valores propios, situacion que no es posible con las dos versiones del metodo de la potencia estudiados mas arriba. Una gran clase de metodos de calculo de valores propios estan dise~nados para operar con matrices tridiagonales, sobre todo si estas son simetricas. 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 transformacion, T tal que
0 BB ; 1 T AT = H = B BB @
...
...
1
.. C .C .. C : .C .. C A .
H es conocida bajo el nombre de matriz de Hessenberg. A continuacion, se propone como algoritmo de reduccion a la forma de Hessenberg, utilizando matrices de tipo L, del algoritmo de eliminacion de Gauss.
228
V Calculo de Valores Propios
Algoritmo 1.
1.- Sea A una matriz arbitraria, se busca jak1 j = j=2 max j a j, ;:::;n j 1 se intercambia las las k y 2 y tambien las columnas k y 2, se de ne la matriz L2 por 01 01 BB 0 1 CC 0 ; l 1 CC ; li2 = ai1 ; i = 2; : : : ; n; 32 L2 = B B@ .. a21 . .. A . 0 ;ln2 1 se obtiene 1 0
BB L2AL;2 1 = B B@ 0.. .
A(1)
CC CC : A
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 simetrica, H no lo es en general. Recordando el captulo II.5, existe el algoritmo QR para reducir una matriz A a la forma triangular. Es facil veri car que H = Qt AQ es simetrica, si Q es ortogonal y A es simetrica. 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 A = aA110 aA10n ; n 1 0 n ; 1 por consiguiente Ak 2 R . Se de ne Q2 por Q2 = 10 Q00 ; 2
donde Q02 = I ; 2u2 ut2, u2 esta determinado por la condicion, ver Captulo V.2, 0 2 1 B 0. CC ; = signo a kA0 k ; Q02 A01 = B 21 1 2 @ .. A 2 0
229
V.2 Determinacio n de Valores Propios
obteniendo
0 BB ; 1 Q2AQ2 = B B@ 0.. A(1) . 0
1
CC CC : A
2.- Se procede como en 1, hasta obtener la forma de Hessenberg.
Teorema de Sturm y Metodo de la Biseccion
Al utilizar el algoritmo 2, de la anterior subseccion, a una matriz A simetrica se obtiene una matriz tridiagonal simetrica, que se la denota nuevamente por A, para no cargar la notacion. Por consiguiente, A es de la forma
0 d1 e2 BB e2 d2 e3 A=B BB e3 . . . ... @
1 CC CC : C en A
... ... en dn
(V:2:9)
Se de ne, 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
(V:2:11)
A = A0i 0 ; Ai es la matriz formada por las primeras i las y columnas de A. Por lo tanto, se tiene Pn (x) = det(A ; xI ): (V:2:12) Por otro lado, los determinantes que de nen estos polinomios cumplen la siguiente relacion 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)
230
V Calculo de Valores Propios
Teorema V.2.3.- Sea A una matriz tridiagonal y simetrica con los coe cientes ei = 6 0 para i = 2; : : : ; n. Entonces: a) Las raices de pn (x) = A (x) son simples, b) p0n (i ) pn;1 (i ) < 0 si i es una raiz de pn (x), c) pj (x ) = 0 (1 j n ; 1; x 2 R) ) pj;1 (x )pj+1 (x ) < 0, d) p0 (x) 0 para todo x 2 R. Demostracion.- El punto d) se veri ca inmediatamente puesto que p0(x) =
1 por de nicion. La demostracion 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 tendra 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 p0n (i ) 6= 0 conduce a que i sea raiz simple. Solo queda el punto b) por demostrar. Se de ne, los polinomios: qi (x) = (;1)i pi (x) e e 1 e ; i = 1; : : : ; n; 2 3 i+1 q0 (x) = p0 (x); donde en+1 = 1. Efectuando calculos 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 ultima relacion puede escribirse de manera matricial, como
0 d1 ; x e2 1 BB e2 d2 ; x e3 CC 0 qq0((xx)) 1 0 0. 1 ... ... BB CC BB 1 . CC = BB .. CC : e 3 B@ C @ .. A @ 0 A : : : . . . en A qn;1 (x) ;qn (x) | {z } e d ; x n n | {z } q(x) 6= 0
A ; xI Si i es valor propio de A, entonces q(i ) es un vector propio, derivando la relacion matricial, se obtiene
231
V.2 Determinacio n de Valores Propios
0 B ;q(x) + (A ; xI )q0 (x) = B @
0 1 .. C . C; 0 A ;qn0 (x) multiplicando por la traspuesta de q(x), se tiene
0 B ;qt(x)q(x) + q|t (x)(A ;{zxI )q0 (x}) = qt (x) B @ = 0 si x = i
de donde
0 1 .. C . C; 0 A ;qn0 (x)
;qn0 (i )qn;1 (i ) = ; kq(i )k2 < 0;
dando por consiguiente
p0n (i )pn;1 (i ) < 0:
Cabe remarcar que los polinomios pi (x) i = 0; : : : ; n; forman una sucesion de Sturm, cuyo estudio y calculo de raices estan dados en la primera seccion del captulo IV concerniente a la resolucion de ecuaciones polinomiales. Por consiguiente el numero de valores propios de la matriz A en el intervalo [a; b], esta dado por
w(b) ; w(a); donde w(x) indica los cambios de signo de los polinomios pi (x). La determinacion exacta de los valores propios se efectua mediante el algoritmo de la biseccion, ya estudiado en la seccion IV.1. Ahora bien, el problema consiste en encontrar un algoritmo simple que permita evaluar w(x). Algoritmo para calcular w(x) Se de ne la sucesion fi (x), i = 1; : : : ; n; por fi (x) = ppi (x(x) ) ; i;1
(V:2:14)
obteniendo de inmediato, la siguiente relacion recursiva para fi (x):
f1 (x) = (d1 ; x); fi (x) = (di ; x) ; e2i f 1(x) ; i = 2; : : : ; n: i;1
(V:2:15)
232
V Calculo de Valores Propios
Ahora bien, si por azar, existe x 2 R, i = 2; : : : ; n con fi (x) = 0, (V.2.15) puede ser modi cado para evitar la division por 0, de la manera siguiente: 8 1 > < (di ; x) ; e2i fi;1(x) ; si fi;1(x) 6= 0; fi (x) = (V:2:16) jei j ; > : (di ; x) ; eps si fi;1 = 0: La justi cacion de utilizar la sucesion fi (x) esta en la siguiente proposicion. Proposicion V.2.4.- w(x) es igual al numero de elementos negativos de
f (x); f (x); : : : ; f (x) 1 2 n
Demostracion.- La demostracion tiene sus bases teoricas en el Teorema
de Sylvester, que indica que si A es una matriz, T una matriz no singular, entonces la matriz B = T tAT tiene el mismo numero de valores propios negativos que la matriz A. Aplicando este teorema a la proposicion a demostrar, se tiene 0 1 10 f1(x) 1 f2(x) CCBB CC B@ e2=f. .1(x) 1 A ; xI =B . A@ A .. . en =fn;1 1 fn (x) 0 1 e2=f1(x) 1 ... BB CC ; @ 1 en =fn;1(x) A 1 de donde A ; xI tiene el mismo numero de valores propios negativos que el conjunto ff1 (x); f2 (x); : : : ; fn (x)g. Por otro lado este numero esta dado por w(x), quedando demostrada la proposicion. Para poder aplicar el algoritmo de la biseccion 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 j ; aii j jaij j : (V:2:17) j 6=i
Demostracion.- Sea x 6= 0, el vector propio asociado a , por consiguiente
x = (x1 ; x2 ; : : : ; xn )t . Sea i, tal que jxi j jxj j 8j;
V.2 Determinacio n de Valores Propios
233
puesto que x 6= 0, se tiene necesariamente que xi 6= 0. Efectuando calculos se obtiene: n X aij xj = xi ; j =1 X j 6=i
aij xj = ( ; aii )xi ;
pasando a valores absolutos se tiene:
j ; aii j jxi j j ; aii j
X j 6=i
X j 6=i
jaij j jxj j ; jaij j :
Generalizacion del Metodo de la Potencia
Al formular el metodo de la potencia, se buscaba el valor propio, cuyo valor absoluto era maximo, de una matriz A. Ahora bien, existen muchos problemas en los cuales se requiere conocer no solamente el valor propio mas grande en valor absoluto, sino tambien los otros valores propios. El proposito de esta subseccion es formular un metodo que permita calcular los dos valores propios mas grandes en modulo. Para tal efecto, es necesario suponer que 1 ,2 ; : : : ; n valores propios de A satisfacen j1 j > j2 j > j3 j jn j : Recordando el metodo de la potencia, se tiene la sucesion de los fyk g de nida por yj+1 = Ayj ; si y0 cumple ciertas condiciones, se tiene j ! j yj = 1 [a1 v1 + O 2 ; 1 donde v1 es el vector propio asociado a 1 y a1 la componente de y0 respecto a v1 . Para evitar explosiones en los calculos de los yj se puede mejorar el algoritmo de la potencia exigiendo que kyj k2 = 1, y ademas para evitar oscilaciones en los yj , se plantea por consiguiente (Ayj )1 Ay j (V:2:18) yj+1 = kAy k signo (y ) ; j 2 j 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 notacion de yj por qj , dando por consiguiente la siguiente de nicion recursiva para los qj :
234
V Calculo de Valores Propios
q0 arbitrario, tal que kq0 k2 = 1; kqj k2 = 1; (1j+1) qj+1 = Aqj : Por el teorema V.2.1, se tiene que:
(V:2:19)
lim q = v1 ; j !1 j lim (j) = 1 ; j !1 1 con v1 valor propio de norma unitaria respecto a 1;. Por otro lado la velocidad de convergencia de (V.2.19), esta dada por O (2 =1 )j . Por consiguiente, el problema consiste en calcular 1 y 2 , si es posible al mismo tiempo. Supongase que conoce de antemano 1 y v1 . Considerando el subespacio vectorial V de C n de nido por
V = u 2 C n ju v1 = 0 ; espacio de dimension n ; 1. La matriz A induce una aplicacion lineal que se la denota por la letra A tambien, la cual esta de nida por
A : C n ;! C n ; y ;! Ay de niendo la aplicacion lineal f : V ;! V como f = p AjV donde p es la proyeccion ortogonal de C n en V , y AjV es la restriccion de A sobre el espacio V se tiene el: Teorema V.2.6.- Los valores propios de f son: 2; : : : ; n, mas precisamente se tiene 1 0 1 0 0 B 2 r22 r2n CC U v; f (v ) = U B ... A @ n donde v 2 V y
0 1 r12 r1n 1 B ... CC U AU = B B@ CA ...
n es la descomposicion de Schur dada en teorema V.1.7.
235
V.2 Determinacio n de Valores Propios
Demostracion.- Sea U = (u1; u2; : : : ; un) matriz unitaria con u1 = v1, entonces cualquier elemento v 2 V se escribe, como v= por consiguiente
n X i=2
i ui ;
001 B 2 CC ; v = U; con = B @ .. A . n
de donde f (v) = AU. Ahora bien, si U es la matriz unitaria de la descomposicion de Schur de A, se tiene 0 1 r12 r1n 1 B ... CC f (v ) = U B B@ CA U U; ... n como U = v, se tiene despues de una simple veri cacion que
0 1 0 1 0 B 2 r22 r2n CC U v: f (v) = U B ... @ A n
El teorema precedente proporciona un medio teorico para calcular 2 , el cual es el metodo 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; Arj ; j v1 = (2j+1) rj+1 : Es facil veri car que
lim (j) = 2 ; j !1 2 lim r = u2 ; j !1 j
(V:2:20)
236
V Calculo de Valores Propios
donde v2 es el vector propio de norma unitaria respecto a 2 . Sera 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
Aqj = (1j+1) qj+1 ; kqj+1 k = 1;
j+1 = q Arj ; j +1 Arj ; j+1 qj+1 = j2+1 rj+1 ; krj+1 k = 1:
(V:2:22)
Se puede demostrar que tambien lim (j) = 2 ; j !1 2 lim r = u2 ; j !1 j donde u2 es la segunda columna de la matriz U de la descomposicion de Schur de A. Vale la pena recalcar, el siguiente hecho
(j +1) (j +1) A (|qj{z; rj }) = (|qj+1{z; rj+1}) 1 (j +1) ; 0 | {z 2 }
Uj
Uj+1
Rj+1
de donde planteando U0 = (q0 ; r0 ) con U0 U0 = 10 01 , el algoritmo de la potencia generalizada, se expresa de manera matricial como
AUj = Uj+1 Rj+1 ; donde el segundo miembro no es nada mas que la descomposicion QR, pero esta vez utilizando matrices unitarias. Si la matriz A tiene sus n valores propios diferentes, y ademas que veri can ji j > j2 j > > jn j ;
237
V.2 Determinacio n de Valores Propios
el metodo de la potencia puede ser aplicado para calcular de manera simultanea los n autovalores. Se toma U0 una matriz unitaria arbitraria que puede ser por ejemplo U0 = I . Supongase que se ha calculado Rj y Uj , entonces se tiene AUj = Uj+1 Rj+1 : (V:2:23) Se puede demostrar que: 0 1 1 ... A; Rj ;! R = @ n Uj ;! U; cuando j ! 1, donde AU = UR es la descomposicion de Schur.
El Metodo QR
Al nalizar la ultima subseccion, se dio una generalizacion del metodo de la potencia. Por razones de presentacion, se vera en esta seccion un algoritmo equivalente a este ultimo, conocido como el metodo QR. La version simple del algoritmo QR es aplicable a matrices, cuyos valores propios son reales y diferentes en valor absoluto, se lo de ne recursivamente de la siguiente manera: A1 = A = Q1R1 ; (V:2:24) Aj+1 = Rj Qj = Qj+1 Rj+1 ; donde Qj es una matriz ortogonal, y R es una matriz triangular superior. De donde, este algoritmo es equivalente al metodo de la potencia generalizada. En efecto, planteando Uj = Q1 Qj ; se tiene Uj+1 Rj+1 = Q1 Q2 Qj Qj+1 Rj+1 ;
| {z }
llegando nalmente a
Rj Qj
Uj+1 Rj+1 = Q | {z1R}1 Q| 1Q2{z Q}j : A
Uj
Puesto que el metodo QR y el algoritmo de la potencia son equivalentes, es facil ver que 0 1 1 ... A; Rj ;! R = @ n Qj ;! I:
238
V Calculo de Valores Propios
Por otro lado, las matrices Aj+1 y Aj tienen los mismos valores propios, pues
Aj+1 = Qj Aj Qj Indudablemente, el metodo QR es aplicable a toda matriz cuyos valores propios son diferentes en modulo, 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 tambien, ver ejercicio 5, ademas el costo de operaciones es menor. El siguiente resultado, enunciado sin demostracion, indica la velocidad de convergencia del metodo QR donde A es una matriz de tipo Hessenberg. Esta relacion esta dada por
es decir
j +1) a(n;n ;1 n ; j) n;1 a(n;n ;1
(V:2:25)
j ! n : n;n;1 = O n;1
(V:2:26)
a(j)
Uno de los problemas con que se confronta es que la convergencia puede ser demasiado lenta, sobre todo si jn j jn;1 j; 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 esta dada por
a(j)
n;n;1 = O
n ; p j ! n1 ; p
:
(V:2:28)
El algoritmo QR con shift
Antes de comenzar el algoritmo QR, se supone que la matriz A esta expresada bajo la forma de una matriz de Hessenberg. El algoritmo QR con shift, se lo de ne de manera recursiva como:
A1 = A; Qj Rj = Aj ; pj I; Aj+1 = Rj Qj + pj I: Las dos maneras mas corrientes de elegir el shift pk son:
(V:2:29)
239
V.2 Determinacio n de Valores Propios
k) . 1.- Se plantea pk = a(n;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
!
a(nk;) 1;n;1 a(nk;) 1;n ; k) k) a(n;n a(n;n ;1 k) . que es mas proximo al coe ciente a(n;n Una interrogante muy importante surge, cuando detener el algoritmo QR. Uno de los criterios mas usados es el siguiente. Si
(k) an;n;1 eps a(nnk) + a(nk;) 1;n;1 ;
(V:2:30)
se plantea
n = a(nnk) : (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 numerica muestra que el algoritmo QR converge linealmente, mientras que el algoritmo QR con shift tiene convergencia cuadratica.
Ejemplos
1.- Considerese, la matriz A de nida por
0 10 A = @ 0:1
1
7 6 5 3A 0 0:1 1
matriz de tipo Hessenberg. Por lo tanto lista, para ser aplicado el metodo QR y el metodo QR con shift. A continuacion, se mostrara las iteraciones resultantes del metodo 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
240
V Calculo de Valores Propios
Puede observarse que la convergencia es lineal y ademas se tiene a(21k+1) 1 ; a(21k) 2 a(32k+1) 1 ; a(32k) 5 por consiguiente se necesitan por lo menos 10 iteraciones para obtener a(32k) 10;8 y por lo menos 23 iteraciones para tener a(21k) 10;8. Para poder observar la verdadera potencia de aplicar el metodo QR con shift, a continuacion se muestran las 6 iteraciones que son necesarias, para obtener los valores propios de la matriz A. p1 = 1:0 10:078261 7:0950933 5:8540158 A2 = :43358029 ; 001 4:9964769 2:8312527 :00000000 ;:19045643 ; 002 :92526107 p2 = :92526107 10:112141 7:0679606 5:8707690 A3 = :19226871 ; 001 4:9612733 2:8312527 :00000000 ;:62453559 ; 006 :92526107 p3 = :92526107 10:126953 7:0571468 5:8766286 A4 = :84142592 ; 002 4:9464609 2:7929532 :00000000 ;:67414063 ; 013 :92658424 p4 = :84142592 ; 002 :138415 7:0571468 A5 = 10 ;:18617346 ; 004 4:9349986 p5 = ;:18617346 ; 004 :138390 7:0497319 A6 = 10 ;:90446847 ; 010 4:9350238 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 metodo QR con shift es cuadratica, para ilustrar este hecho, considerese A = 2 a1 ;
241
V.2 Determinacio n de Valores Propios
con bastante peque~no. Aplicando el metodo QR con shift se tiene p1 = 1 y 1 a A ; p1 I = 0 ; obteniendo
p
p
p
p
+ 2 ;=p 1 + 2 1 + 2 a= p1 + 2 ; Q1 R1 = 1==p11 + 2 2 1= 1 + 0 ;a= 1 + 2 lo que da A1 = ;2=1 + 2 ; de donde la convergencia es cuadratica, si a es arbitrario. Si la matriz es simetrica, se puede observar que la convergencia sera cubica en este ejemplo, tomar a = .
Ejercicios 1.- Calcular los valores propios y vectores propios de 02 1 1 A=B @ 10 21 122 1 CA ; 1 2 utilizando el metodo de la potencia inversa de Wielandt. 2.- Sea 0 88 ; 7p6 296 ; 169p6 ;2 + 3p6 1 1800p 225 p C B 360 p 169 6 88 + 7 6 ;2 ; 3 6 C A=B B@ 296 +1800 360p 225 C A: p 16 + 6 1 16 ; 6 36 36 9 Calcular ; ; y una matriz T a coe cientes reales, tal que 0 01 T ;1 = @ ; 0 A : 0 0 La matriz A de ne un metodo de Runge-Kutta. 3.- Sea A una matriz de orden s que es diagonalizable, y sea J una matriz de orden n. Se de ne el producto tensorial A J por 0 a11J a1s J 1 .. A : A J = @ ... . as1 J ass J
242
V Calculo de Valores Propios
Encontrar un algoritmo e caz para resolver un sistema lineal con la matriz I ; A J: Indicaciones: a) Mostrar que (A B )(C C ) = (AC ) (BD): b) Supongase que
0 1 T ;1AT = = @
...
s
1 A
y utilizar la descomposicion
I ; A J = (T I )(I ; J )(T ;1 I )
(V2:32)
c) estimar el numero de multiplicaciones necesarias, si: | se calcula la descomposicion LR de I ; A J , | se utiliza (V.2.32); el trabajo principal es el calculo de la descomposicon LR de I ; J . 4.- Calcular todos los valores propios de
0 1 ;1 BB ;1 2 ;1 A= B B@ . . . . . . ;1
19 > CC> = CC n > ;1 A> ;
... 2 ;1 3
para n = 10 y n = 20. Utilizar el metodo de la biseccion. 5.- Mostrar que si la matriz A = A1 es una matriz de Hessenberg, las matrices Ak , k = 2, construidas en el metodo QR son igualmente matrices de Hessenberg.
Captulo VI Integracion Numerica En muchos problemas aparecen integrales, ya sean estas simples, multiples y de otras clases. En los cursos elementales de Calculo, la determinacion de primitivas es un topico de bastante importancia. Por consiguiente, existen los elementos teoricos para evaluar primitivas. Sin embargo la mayor parte de las aplicaciones numericas donde interviene la integracion, presenta integrales cuyo calculo de primitivas es imposible en terminos de funciones elementales, o por las caractersticas propias de los problemas solo se requiere una computo aproximado de estas. En este captulo se tratara las base teoricas de la integral de Riemann, luego se abordara la nocion de formula de cuadratura y como consecuencia logica se de nira el orden de una formula de cuadratura. El segundo tema que sera estudiado, como parte integrante del Analisis Numerico, esta relacionado con la estimacion del error cometido por la utilizacion de metodos numericos de integracion. Se comparara, diferentes formulas de cuadratura haciendo hincapie en aquellas de orden elevado. Las formulas de cuadratura de Gauss seran estudiadas como un caso de formulas de orden elevado y para comprenderlas mejor se introducira la nocion de polinomios ortogonales. Despues, se formulara un metodo adaptativo para determinar integrales y como corolario se hara un tratamiento de singularidades, es decir se implementara metodos para resolver integrales impropias. Como ultimo topico, se vera la interpolacion trigonometrica, es decir se hara un estudio de las Transformadas de Fourier discretas, como tambien la Transformada de Fourier Rapida, mas conocida como FTP.
VI.1 Bases Teoricas En esta seccion, se veran las bases teoricas de la teora de la integracion, pero esta limitada a la integral de Riemann. Por otro lado, tambien seran abordados las motivaciones para tener la integral como un instrumento matematico de Calculo. Uno de los problemas con el cual el hombre ha confortado desde epocas lejanas, ha sido el calculo de areas, volumenes y otros, tanto por la necesidad cotidiana, como tambien dentro el espritu de re exion e investigacion que lo ha caracterizado siempre. La integral mas utilizada, desde el punto de vista de calculo y practico, es la integral de Riemann, cuya de nicion permitio que el calculo integral tuviese bases teoricas cimentadas. En lo que sigue, se hara una presentacion teorica de esta importante nocion. De nicion VI.1.1.- Sea, [a; b] un intervalo compacto de la recta real. Se llama subdivision del intervalo [a; b] un conjunto S [a; b] nito. Por consiguiente S puede ser ordenado, como una sucesion nita de puntos de [a; b] expresada de la manera siguiente
S = x0 < x1 < < xn [a; b]: De nicion VI.1.2.- Sea S una subdivision de [a; b], se llama paso de la subdivision S a (S ) = i=1 max jx ; xi;1 j : ;:::;n i
Ahora bien, la nocion de integral esta de nida para funciones cuyo dominio son intervalos compactos, ademas se exige que la funcion sea acotada. Como no es proposito del libro hacer una exposicion sobre la teora de la integracion, se dara una de las de niciones de una funcion integrable en el sentido de Riemann. De nicion VI.1.3.- Sea f : [a; b] ! R una funcion 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 2 [xi;1 ; xi ], independientemente de S y de los i . Si este es el caso, este lmite se lo denota por Zb f (x)dx: a
245
VI.1 Bases Teo ricas
Se puede demostrar que las funciones monotonas, continuas y en escalera son Riemann integrables. El calculo de la integral como un lmite puede ser bastante tedioso, motivo por el cual, los cursos de Calculo en los niveles basicos universitarios y ultimos cursos de colegio, dan un enfasis al calculo de primitivas, que para recordar es: De nicion VI.1.4.- Dada una funcion ' sobre un intervalo I de R. Se dice que una funcion : I ! R es una primitiva de ' si, en todo punto x de I , la funcion es derivable y si 0 (x) = '(x). Sea f : [a; b] ! R una funcion integrable en el sentido de Riemann, se de ne para todo x 2 [a; b]
F (x) =
Zx a
f (t)dt:
Proposicion VI.1.5.- La funcion F es continua, ademas si la funcion
f es continua en un punto x de [a; b], la funcion F es derivable en x y F 0 (x) = f (x). Corolario VI.1.6.- Una funcion continua sobre un intervalo compacto admite una primitiva. Las demostraciones de la proposicion y el corolario precedentes se las puede encontrar en cualquier libro de Analisis. A continuacion, se enuncia uno de los teoremas fundamentales del calculo. Teorema VI.1.7.- Sea f : [a; b] ! R una funcion integrable en el sentido de Riemann que, ademas admite una primitiva G. Para todo x 2 [a; b], se tiene: Zx G(x) ; G(a) = f (t)dt: a
Ahora bien, desde el punto de vista numerico, el calculo de primitivas no tiene mayor utilidad practica, pues en la mayor parte de los casos la determinacion analtica de estas es costosa en tiempo. El tratamiento numerico que se realiza en el calculo de integrales esta basado en la misma de nicion de integral. Por consiguiente utilizando la de nicion, se tiene que 8 > 0, existe S [a; b] y i 2 [xi;1 ; xi ] tal que
X n f (i )(xi ; xi;1 ) ; Z b f (x)dx < ; i=1 a
de donde el enfoque numerico consiste en aproximar la integral utilizando, sumas nitas de Riemann. Por otro lado, una de las tareas del Analisis Numerico en lo que respecta el calculo de integrales, esta dada en la construccion de formulas de cuadratura con un costo razonable en operaciones, y una precision aceptable en la determinacion de la integral.
246
VI Integracio n Numerica
A continuacion, se mostrara las formulas de cuadratura o de integracion mas rudimentarias.
a) Regla del Punto Medio
Consiste en utilizar la suma de Riemann con i = xi;12+ xi , por consiguiente Zb n x + x X f i;12 i (xi ; xi;1 ) f (x)dx: a i=1 La regla del punto medio, da resultados exactos cuando f es un polinomio de grado menor o igual a 1. Ver gura 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 Z n f (x ) + f (x ) X i;1 i (x ; x ) b f (x)dx; i i;1 2 a i=1 de donde, esta suma puede expresarse de manera mas simple, como Zb f (x)dx f (x0 ) x1 ;2 x0 + f (x1 ) x2 ;2 x0 + a + f (xn;1 ) xn ;2xn;2 + f (xn ) xn ;2xn;1 :
x0
x1
x2
x3
xn-1 xn
Figura VI.1.2. Regla del Trapecio.
247
VI.1 Bases Teo ricas
Esta formula es exacta para polinomios de grado igual o inferior a 1. Ver gura VI.1.2.
c) Regla de Simpson
Consiste en aproximar f (i )(xi;1 ; xi ), con el area de la super cie cuyo lado superior, ver gura VI.1.3, esta dada por la parabola que pasa por los puntos (xi;1 ; f (xi;1 ); ( xi;12+ xi ; f ( xi;12+ xi )) y (xi ; f (xi )). Para simpli car los calculos se toma para x0 , y x1 ; obteniendo como polinomio de interpolacion
p(x) = f (x0 ) + 2 f (x0 ) +xf ((;x0x+ x1 )=2) (x ; x0 ) 1 0 f ( x ) ; 2 f (( x + x 0 1 )=2) + f (x1 ) (x ; (x + x )=2)(x ; x ): +2 0 0 1 1 (x1 ; x0 )2 Ahora bien, integrando este polinomio de segundo grado entre x0 y x1 , se obtiene Z x1 f (x)dx 61 f (x0 ) + 46 f x0 +2 x1 + 61 f (x1 ) h1 ; x0 para nalmente tener
Zb a
f (x)dx
n 1 X i=1
4 hi 1 6 f (xi;1 ) + 6 f xi;1 + 2 + 6 f (xi ) hi :
La formula de Simpson es exacta para polinomios de grado igual o 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 super cie cuyo lado superior, ver gura VI.1.4, esta dada por la parabola cubica que pasa por los puntos (xi;1 ; f (xi;1 ), ( 2xi;13 + xi ; f ( 2xi;13 + xi )),
248
VI Integracio n Numerica
( xi;1 3+ 2xi ; f ( xi;1 3+ 2xi )) y (xi ; f (xi )). De la misma manera que en la regla de Simpson, se calcula esta parabola cubica utilizando por ejemplo la formula de Newton para determinar polinomios de interpolacion, luego se integra para obtener Z x1 f (x)dx 81 f (x0 )+ 38 f x0 + h31 + 83 f x0 + 2h3 1 + 18 f (x1 ) h1 : 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.
Formulas de Cuadratura
En los cuatro ejemplos precedentes de la anterior subseccion, puede observarse claramente que las reglas de integracion formuladas tienen la misma estructura, la cual de ne tacitamente una formula de cuadratura. La mayor parte de los metodos numericos estan basados en este principio. Se desea integrar la funcion f : [a; b] ! R, donde f es Riemann integrable. Para tal efecto se considera una subdivision
S = fa = x0 < x1 < < xn = bg : La integral puede ser aproximada mediante la formula de cuadratura siguiente ! n X s X bi f (xj;1 + ci hj ) ; (VI:1:1) j =1 i=1
los ci se llaman nudos de la formula de cuadratura y los bi son los coe cientes de la formula 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 = j1=6, b = 4=6 y c1 = 0, c2 = 1=2, c3 = 1. Dada una formula de cuadratura, uno de los objetivos principales es medir la precision de esta. Por razones de simplicidad, es preferible estudiar
249
VI.1 Bases Teo ricas
la formula de cuadratura en una funcion f : [0; 1] ! R y considerar h1 = 1, es decir integrar numericamente con un paso de integracion. Por consiguiente, se analizara el problema s X i=0
bi f (ci )
Z1 0
f (x)dx:
El Orden de una Formula de Cuadratura
De nicion VI.1.8.- Una formula de cuadratura tiene orden p, si y solamente si, p es el entero mas grande, tal que s X i=0
bi f (ci ) =
Z1 0
f (x)dx;
(VI:1:2)
donde f es un polinomio de grado p ; 1. Proposicion VI.1.9.- Una formula de cuadratura es de orden p, si y solamente si s X bi cqi ;1 = 1q ; q = 1; : : : ; p: (VI:1:3) i=0
Demostracion. La integracion es una operacion lineal, por lo tanto es su ciente mostrar que (VI.1.2) se cumple para f (x) = xq;1 , donde q = 1; : : : ; p ; 1. Ahora bien,
Z1 0
xp;1 dx = 1q :
Por simple veri cacion, puede comprobarse que la formula de cuadratura de la regla del Trapecio es p = 2, la de la regla de Simpson es p = 4. De nicion VI.1.10.- Una formula de cuadratura se dice simetrica, si:
ci = 1 ; cs+1;i ; i = 1; : : : ; s: bi = bs+1;i ;
(IV:1:3)
Teorema VI.1.11.- Una formula de cuadratura simetrica tiene un orden par.
Demostracion.- Supongase que la formula de cuadratura sea exacta para f (x) polinomio de grado 2k. Por consiguiente se debe demostrar que la
250
VI Integracio n Numerica
formula 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 1 2k+1 f (x) = c x ; 2 + g(x); donde g(x) es un polinomio de grado a lo mas 2k. Por otro lado Z 1 1 2k+1 dx = 0: c x; 2 0 Por consiguiente, es su ciente mostrar que 2k+1 s X bi ci ; 12 = 0; i=1
esto es cierto debido a la simetra de la formula de cuadratura.
Estimacion del Error
Dada una funcion f : [a; b] ! R, se quiere tener una estimacion del error cometido por la utilizacion de una formula de cuadratura. Sea c1 ; : : : ; cs y b1 ; : : : ; bs los coe cientes y los nudos respectivamente, de una formula de cuadratura dada. Por consiguiente, se tiene
Zb a
f (x)dx =
n s X X j =1
hj
i=1
bi f (xj + ci hj ) =
n "Z xj X j =1
h
f (x)dx ; hj
xj;1
s X i=1
#
bi f (xj + ci hj ) :
Para poder determinar el error, es decir la diferencia entre la integral y la formula de cuadratura que aproxima la integral, se de ne
E (f ) =
Z x0+h x0
f (x)dx ; h
s X i=1
bi f (x0 + ci h):
(VI:1:4)
Habiendo de nido E (f ), se puede determinar su valor, el cual esta dado en el siguiente: Teorema VI.1.12.- Sea f 2 C k [a; b], es decir f k veces continuamente derivable. Entonces, se tiene
E (f ) =
kX ;1 hj+1 " 1 j =0
j!
s X
j + 1 ; i=1
#
bi cji + hk+1
Z1 0
Pk (t)f (k) (x0 + th)dt (VI:1:5)
251
VI.1 Bases Teo ricas
donde
!
( k;1 0 k;1 = :
k ;1 + ; Pk (t) = E (x(k;;t)1)!
+
s, por ejemplo m = s + 1. Por otro lado, se pueden elegir los ci restantes de manera que la formula de cuadratura (^ci ; ^bi ), i = 1; : : : ; 2s + 1; tenga un orden igual a 3s + 2. Esta formula de cuadratura lleva el nombre de Konrad, en honor a su descubridor. El metodo QUADPACK, toma como resultado de la integral al resultado numerico proporcionado por la formula de cuadratura de Konrad, es decir 2X s+1 ^bi f (x0 + ci (x1 ; x0 )); res = (x1 ; x0 ) (VI:3:5) i=1
272
VI Integracio n Numerica
la estimacion del error cometido es de la formula de cuadratura de Gauss y no as de la de Konrad. No obstante, se puede obtener una estimacion de este error. En efecto los errores de las formulas de cuadratura estan dados por: errGauss = Ch2s+1 + : : : ; ^ 3s+3 + : : : : errKonrad = Ch Para simpli car los calculos se puede suponer que tanto C , como C^ son iguales y valen 1, obteniendo as, cuando h tiende a 0 ;h2s+13=2 h3s+3 ; de donde la estimacion del error de la formula de cuadratura multiplicada por una constante de seguridad esta dada por: err =
"
2X s+1
(x1 ; x0 )
i=1
^bi f (x0 + ci h) ;
nalmente se tiene resabs = (x1 ; x0 )
2X s+1
i=1
s X i=1
!#3=2
bi f (x0 + ci h)
100; (VI:3:6)
^bi jf (x0 + ci (x1 ; x0 ))j :
(VI:3:7)
El segundo metodo es conocido como GAUINT,GAUSS. Al igual que en el metodo 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 formula de cuadratura de orden al menos s ; 1 obtenida de la formula original, cuyos nudos estan dados por fc^1 ; : : : ; c^s;1 g = fc1 ; : : : ; cs gn f1=2g : Con los mismos argumentos desarrollados para el metodo QUADPACK, pero esta vez tomando el resultado numerico proporcionado por la formula de cuadratura de Gauss, se obtiene: res = (x1 ; x0 ) err =
"
s X i=1
(x1 ; x0 )
bi f (x0 + ci h);
s X
resabs = (x1 ; x0 )
bi f (x0 + ci h) ;
i=1 s X i=1
s X ^ i=1
bi jf (x0 + ci h)j :
!#2
(VI:3:8)
bi f (x0 + c^i h) 100; (VI:3:9) (VI:3:10)
Las experiencias numericas muestran que en la mayora de los casos las estimaciones del error cometido son demasiado pesimistas, ver en la tabla VI.3.1, las experiencias numericas han sido realizadas por el metodo GAUINT. El programa GAUINT, para estas experiencias numericas, utiliza una formula de cuadratura de Gauss de orden 30.
273
VI.3 Implementacio n Numerica
Tabla VI.3.1 Error exacto vs Error estimado. f (x) 1 x4 + x2 + 1
[a; b] [0; 2]
Error exacto 0:23 10;10
0; 90 10;10
25e;25x
[0; 1]
0; 14 10;11
0:23 10;5
px
[0; 1=2]
0; 98 10;5
0:14 10;8
err
Puede observase que la tercera funcion a ser integrada p es una excepcion de la regla anteriormente formulada, eso se debe a que x no es lo su cientemente derivable, y el algoritmo ha sido concebido para funciones lo su cientemente lisas.
Tratamiento de singularidades
Los metodos desarrollados en la anterior subseccion, tal como se puede observar en la tabla precedente, son utilizables para funciones lo su cientemente derivables. Por lo tanto, no son muy e cientes para resolver integrales de nidas de funciones no muy lisas, ademas existen integrales impropias cuyo calculo es frecuente en diversas aplicaciones, como por ejemplo integrales de los tipos: Z 1 f (x ) Z1 px dx; (log x)f (x)dx: 0 0
Ejemplo
Considerese, la funcion
R
f (x) = ; 44x log x ; x + 100
se desea calcular 01 f (x)dx. Esta integral es impropia, no obstante que una formula 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 formula utilizada son diferentes de 0 y que la funcion 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 esta cerca del 5% del
274
VI Integracio n Numerica
valor exacto, valor muy grande. Un procedimiento para obtener un error que este en el orden de TOL, es de nir la sucesion Sk dada por
Sk =
k Z bj X j =0 aj
f (x)dx;
donde bj = 2j;k y aj = bj =2, para j > 0. Con este procedimiento, solamente se debe calcular la integral en el intervalo mas peque~no. Para poder comparar los resultados obtenidos con el metodo numerico, el valor exacto de la integral, calculada mediante series, es igual a
Z1 0
x dx = ; x44x+log100
Z1 0
1 ;4x log x 100 1 + x4 =100 dx
1 4k 1 Z 1 (;4x log x) X = 100 (;1)k x k dx 100 0 k=0 Z 1 1 ;4 X (;1)k x4k+1 log xdx = 100 k k=0 100 0 1 (;1)k 1 X 1 100 k=0 100k (2k + 1)2 ;
lo que es igual con 16 cifras de precision a
Z1 0
x dx = 9:9889286860336184 10;03 : ; x44x+log100
Aplicando el procedimiento mencionado mas arriba, se obtiene la tabla VI.3.2.
Tabla VI.3.2. Calculo Integral. Sk S0 S1 S2 S3 S4 S5 S6
Error Exacto 1:748733098830973E ; 07 4:371832748595316E ; 08 1:092958187148829E ; 08 2:732395467872073E ; 09 6:830988674016991E ; 10 1:707747172841056E ; 10 4:269368018838815E ; 11
Sk S7 S8 S9 S10 S11 S12 S13
Error Exacto 1:067342048077790E ; 11 2:668355120194476E ; 12 6:670896474103571E ; 13 1:667728455334582E ; 13 4:169407874510255E ; 14 1:042395336714463E ; 14 2:605554660917164E ; 15
275
VI.3 Implementacio n Numerica
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 utilizacion del programa GAUINT requiere 15 evaluaciones de la funcion f , por consiguiente para obtener el error mencionado, es necesario por lo menos 14 15 evaluaciones de la funcion f . Para evitar tantas evaluaciones de la funcion f , es necesario construir un algoritmo que permita acelerar la convergencia. Una forma de hacerlo es utilizar procedimientos de extrapolacion al lmite dado en el captulo III.3. Ahora bien, el metodo que sera estudiado para acelerar la convergencia en el calculo de estas integrales sera tratado con un procedimiento equivalente, el cual consiste en utilizar diferencias nitas. A partir de la tabla precedente puede observarse, el siguiente hecho: Denotese por S el valor exacto de la integral, entonces Sn+1 ; S 41 (Sn ; S ); es decir Sn+1 ; S (Sn ; S ): (VI:3:11) Supongase, que se conoce tres valores consecutivos de la sucesion fSk g, por decir: Sn ; Sn+1 y Sn+1 , utilizando la notacion de diferencias nitas dada en el captulo III.1, se tiene el siguiente sistema lineal
(
Sn+1 ; S = (Sn ; S ) ; Sn+2 ; S = (Sn+1 ; S )
(VI:3:12)
de donde sustrayendo ambas ecuaciones, se obtiene Sn+1 = Sn ; por consiguiente
= SSn+1 :
(VI:3:13)
n
Despejando S de la segunda ecuacion de (VI.3.12), se tiene S =Sn+1 ; ;1 1 Sn+1 =Sn+1 ; SSn ;Sn+1S ; n+1
obteniendo as
n
Sn0 = Sn+1 ; Sn 2 Sn+1 : Sn
(VI:3:14)
276
VI Integracio n Numerica
El metodo 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. Sk0 S00 S10 S20
Valor integral 9:988928686033609E ; 03 9:988928686033618E ; 03 9:988928686033618E ; 03
Error Exacto 0:35E ; 14 0:26E ; 14 0:26E ; 14
Con la nalidad de comparar la e ciencia, 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 aceleracion es necesario 14 evaluaciones de integral. El siguiente paso en lograr una convergencia mas rapida en el calculo 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 = Cn : Ahora bien, para ser mas precisos se puede suponer que
Sn ; S = C1 1 + C2 2 + Ck k ; (VI:3:15) con los i diferentes dos a dos, de donde la diferencia n = Sn ; S satisface una ecuacion de diferencias nitas o relacion recursiva de la forma n+k + a1 n+k;1 + + ak n = 0: (VI:3:16) La teora de ecuaciones de diferencias nitas, tiene como resultado central, que los i , i = 1; : : : ; k; son raices del polinomio caracterstico 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 0 S ; S S ; S 10a 1 n+k k B@ n ... C . .. @ . (VI:3:18) A . A = 0: . a Sn+k ; S Sn+2k ; S 1
VI.3 Implementacio n Numerica
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 las de la matriz, se obtiene 0 Sn ; S Sn+1 ; S Sn+k ; S 1 B Sn Sn+1 Sn+k CC = 0; det B .. A @ ... . Sn+k;1 Sn;k;1 luego, se tiene Sn Sn SSnn+1+1 SSnn++kk .. .. = . . Sn+k;1 Sn;k;1 1 Sn S1n+1 S1n+k = S .. .. ; . . Sn+k;1 Sn;k;1 efectuando sustracciones sobre la columna de la matriz del lado derecho de la ecuacion, se obtiene nalmente Sn Sn SSnn+1+1 SSnn++kk .. .. . . S S n + k ; 1 n ;k ;1 S = 2 S (VI:3:19) 2 S n+k;1 . n .. .. . 2Sn+k;1 2 Sn+k;2 Por ultimo la relacion (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 Sn+1 Sn+k Sn+1 Sn+1 Sn+k+1 .. .. . . S S n + k n ;k ( k ) S = 2 S (VI:3:20) 2 Sn+k;1 n . : .. .. . 2Sn+k;1 2Sn+k;2
278
VI Integracio n Numerica
Este resultado constituye una joya desde el punto de vista teorico, pero es una catastrofe, si se quiere implementar numericamente, las razones son obvias. Por lo tanto es necesario construir un algoritmo que permita determinar S (k) , sin necesidad de calcular explcitamente los determinantes encontrados en la ultima expresion. El metodo que sera explicado constituye el algoritmo epsilon o mas simplemente -algoritmo.
Algoritmo Epsilon
El siguiente teorema formulado por Wynn en 1956, permite calcular S (k) . Teorema VI.3.1.- Dados S0 ; S1; S2; : : : ; se de ne la sucesion (kn) k = ;1; 0; : : : ; n = 0; 1; : : : ; de manera recursiva, como (;n1) = 0; (0n) = Sn ; (VI:3:21) 1 ( n ) ( n +1) k+1 = k;1 + (n+1) (n) ; k ; k entonces (2n) = Sn0 ; (4n) = Sn00 ; (6n) = Sn(3) ; : : : (VI:3:22)
Demostracion.- Una demostracion completa y una explicacion detallada puede encontrarse en Brezinski. La sucesion de nida por el teorema precedente permite formular el algoritmo en forma de una tablero, ver la gura VI.3.1.
(0) ;1
(0) 0
& (1) ;1 ;;;;;;! (0) % 1 & (0) (1) 0 ;;;;;;! 2 % & (0) & (1) ;;;;;;! (2) ;1 ;;;;;;! 3 1 % % & & (0) (1) (2) 0 ;;;;;;! 2 ;;;;;;! 4 % & (1) % & (0) & ;;;;;;! (3) 3 ;;;;;;! 5 ;1 ;;;;;;! (2) 1 % % & & (1) % & (0) (2) ;;;;;;! (3) ;;;;;;! 0 2 4 ;;;;;;!6 %
%
Figura VI.3.1. Esquema -algoritmo.
%
279
VI.3 Implementacio n Numerica
En la gura VI.3.4, podra apreciarse la verdadera potencia del algoritmo. La sucesion de nida por
Sn = 4
n (;1)k X
k=0 2k + 1
;
(VI:3:23)
converge hacia , sin embargo la convergencia de esta sucesion es muy lenta. Para obtener una precision de 10;35, son necesarias por lo menos 1035 evaluaciones de esta sucesion, lo cual es imposible: por el tiempo de calculo y por el error de redondeo. Aplicando el epsilon-algoritmo, se obtiene la precision requerida, los errores de (kn) son dados en la gura VI.3.4. 100 10
k=0
−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
10
11
12
13
14
15
Figura VI.3.4. Error de (kn) en funcion de n. Otro medio para acelerar la convergencia en el calculo de integrales impropias, consiste en efectuar un cambio de variable conveniente. A continuacion se presentara algunos ejemplos donde el calculo de la integral converge con mas rapidez o mayor lentitud dependiendo del cambio de variable elegido.
Ejemplos
a) Considerese, la integral impropia
Z1 0
log x
dx: x2 + 100
280
VI Integracio n Numerica
Se observa inmediatamente que f (x) no esta acotada en las proximidades del origen. Aplicando la funcion 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 funcion f . Efectuando el cambio de variable x = t2 , se obtiene la integral
Z 1 4t log t dt;
t4 + 100 integral que ha sido ya evaluada, ver la tabla VI.3.2. La funcion a integrar es acotada, y son necesarias 27 15 evaluaciones de la funcion integrada. Si nuevamente se realiza otro cambio de variable, como por ejemplo, t = s2 , se obtiene la integral 0
Z 1 16s3 log s
ds; s8 + 100 denotando por h(s) a la funcion integrada, se puede mostrar que h(s) es dos veces continuamente diferenciable. Resolviendo por la funcion GAUINT son necesarias 7 15 evaluaciones de h. b) Las integrales de la forma 0
Z 1 f (x)
px dx;
0
pueden ser calculadas con menos evaluaciones, si se hace el cambio de variable x = t2 , obteniendo as 2
Z1 0
f (t2 )dt:
c) Las integrales impropias del tipo
Z1 1
f (x)dx;
mediante el cambio de variable x = 1=t se convierten en
Z1
f (1=t) 12 dt: t 0 Por lo tanto, para acelerar la convergencia, puede utilizarse de manera combinada el -algoritmo, con un cambio de variable adecuado. Vale la pena
281
VI.3 Implementacio n Numerica
recalcar que el objetivo principal del cambio de variable es volver la funcion integrada mas lisa, es decir que sea lo su cientemente derivable para poder aplicar la subrutina GAUINT en el maximo de su e ciencia. Sin embargo el cambio de variable puede volver mas complicada la funcion a integrar, motivo por el cual la ganancia obtenida en una disminucion de evaluaciones de la funcion integrada puede perderse con las mismas evaluaciones de la funcion. Uno de los tipos de integral donde mejor se ajusta los metodos de aceleracion 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 teoricas de la solucion de un problema, para luego tratar algunos ejemplos, se analizara este tipo de evaluacion de integral impropia con un ejemplo. Considerese la integral de Fresnel, dada por
Z1 0
sin(x2 )dx =
r
1 : 2 2
La funcion sin(x2 ) se anula en x2 = k con k 2 N , de niendo as una sucesion de numeros positivos fxk g, dada por
p
xk = k: Planteando
Ik =
Z xk+1 xk
sin(x2 )dx; k = 0; 1; 2; : : : ;
donde Ik pueden ser calculadas por GAUINT se de ne la sucesion fSk g, por
Sk = teniendo como resultado
Z1 0
k X j =0
Ij ;
sin(x2 )dx = klim S: !1 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.
282
VI Integracio n Numerica
Tabla VI.3.4. Calculo de la integral de Fresnel k 0 1 2 3 4 5 6 7 8 9 10
Sk :89483147 :43040772 :78825896 :48624702 :75244267 :51172983 :73311637 :52703834 :72060138 :53751806 :71165881
Sk0 :63252334 :62447449 :62773451 :62603581 :62705261 :62638728 :62685063 :62651269 :62676812
Sk00 :62682808 :62660885 :62667509 :62664903 :62666112 :62665483 :62665838
S (3) S (4) S (5) :62666213 :62665722 :62665721 :62665582 :62665582 :62665746 :62665746 :62665692 :62665713
Ejercicios 1.- Para una sucesion fSn gn0 , el -algoritmo esta de nido por:
(;n1) = 0; (0n) = Sn ; 1 : (kn+1) = (kn;+1) 1 + (n+1) k ; (kn) Si la aplicacion del -algoritmo a fSngn0 y a fS^n gn0 = faSn + bg proporciona respectivamente las cantidades (kn) y ^(kn) . Mostrar que
^(2nl ) = a(2nl ) + b;
) = 1 (n) : ^(2nl+1 a 2l+1
2.- Utilizar el -algoritmo para el calculo de las integrales: 1 Z 1 x;0:99 dx; a) 100 0
b)
Z 1 log x 0
px dx:
:
283
VI.3 Implementacio n Numerica
3.- Supongase que la sucesion fSng satisface
Sn+1 ; S = ( + n )(Sn ; S ) 2 con jj < 1, nlim !1 n = 0 y considerese el procedimiento de Aitken
Sn0 = Sn+1 ; Sn 2 Sn+1 ; n = 0; 1; : : : : Sn Demostrar que la sucesion fSn0 g converge mas rapidamente hacia S que la sucesion fSng; es decir Sn0 ; S = 0: lim n!1 S ; S n
Indicacion.- Veri car que Sn = ( ; 1 + n )(Sn ; S ) y encontrar una formula similar para 2 Sn
VI.4 Transformacion de Fourier En esta seccion sera abordado el calculo numerico de las transformadas de Fourier, es decir los coe cientes de las series de Fourier para una determinada funcion. Se iniciara un repaso teorico sobre las series de Fourier, luego se introducira la transformada discreta de Fourier, cuya abreviacion usual es TDF , para nalmente ver la transformacion rapida de Fourier mas conocida como FFT . Las motivaciones de la utilizacion de series de Fourier estan dadas por sus diferentes aplicaciones en numerosas areas de la ciencia, como de la tecnologa; para citar algunas de ellas, se tiene el tratamiento de se~nales, la resolucion de ecuaciones diferenciales, la construccion de metodos espectrales en la resolucion de ecuaciones a derivadas parciales, etc. La teora de la transformacion de Fourier esta ntimamente ligada a las funciones 2-periodicas e integrables. En este libro se supondra que las funciones son integrables en el sentido de Riemann, y no se considerara el caso mas general. Recordando la: De nicion VI.4.1.- La serie de Fourier de una funcion 2- periodica e integrable, esta dada de manera formal por
f (x)
X^
f (k)eikx ;
k2Z
(VI:4:1)
donde los coe cientes de Fourier estan de nidos por
Z 2 1 ^ f (k) = 2 f (x)e;ikx dx: 0
(VI:4:2)
Denotando por E , el espacio de las funciones 2-periodicas, tales que
Z 2 0
f (x)f (x)dx < 1; 8f 2 E ;
se tiene que E es un espacio vectorial provisto del producto sesquilinial, dado por Z 2 hf; gi = f (x)g(x)dx: (VI:4:3) 0
Una simple veri cacion muestra que las funciones de nidas por
'k (x) = eikx ;
(VI:4:4)
VI.4 Transformacio n de Fourier
285
constituyen una familia ortogonal de funciones, es decir
h'k ; 'j i = 0; si j 6= k: Para conocer mas respecto a las propiedades de espacios de Hilbert, familias ortonormales y series de Fourier existe una ambundante bibliografa, por ejemplo Rudin. La de nicion VII.4.1 es una de nicion formal, es decir la serie de Fourier de una funcion dada, no necesariamente debe converger hacia la funcion. Sin embargo existen condiciones su cientes sobre la funcion f , para que la serie de Fourier converga hacia f o por lo menos en casi todos los puntos. A continuacion se enunciara estas condiciones su cientes y el tipo de convergencia que uno puede esperar obtener. Teorema VI.4.2.- Dirichlet. Sea f : R ! C una funcion de clase C 1 por trozos y periodica de periodo 2. La serie de Fourier de f es convergente en todo punto de R. En un punto x donde la funcion es continua, el lmite de la serie es f (x). En un punto x donde f no es continua, la suma de la serie es 1 (VI:4:5) 2 (f (x; ) + f (x+ )): Ademas, la convergencia de la serie de Fourier de f es uniforme en todo intervalo compacto que no contiene ningun punto de discontinuidad de f . Demostracion.- Una demostracion de este teorema puede encontrarse en Gramain. Con la formulacion de este teorema, se conoce la clase de funciones de las cuales la serie de Fourier es igual a la funcion, en todo caso en los puntos donde la funcion es continua. Es proposito de esta seccion estudiar los metodos numericos que permitan calcular los coe cientes de Fourier, y por ende la serie de Fourier asociada. Una primera alternativa de calculo de estos coe cientes consiste en utilizar un metodo de integracion propuesto en las secciones precedentes de este captulo. Sin embargo existen alternativas menos costosas y mas simples que dan excelentes resultados. Sea f : [0; 2] ! C , supongase que la funcion f (x) es conocida para los x dados por la subdivision equidistante xl = 2Nl ; l = 0; 1; : : : ; N: (VI:4:6) Como f (xN ) = f (x0 ) por hipotesis, el calculo de (VI.4.2) puede realizarse mediante la regla del trapecio, obteniendo como aproximacion de f^(k) NX ;1 f (xl )e;ikxl : f^N (k) = N1 l=0
(VI:4:7)
286
VI Integracio n Numerica
Ahora bien, (VI.4.7) induce las de niciones siguientes. Considerese, el espacio de las sucesiones N -periodicas PN = f(yk )k2Zjyk 2 C ; yk+N = yk g:
(VI:4:8)
De nicion VI.4.3.- La transformada discreta de Fourier (DFT) de y 2 PN es la sucesion (zk )k2Z, donde
NX ;1 NX ;1 1 1 ; ikx l yl e =N yl !;kl ; zk = N l=0 l=0
con
! = e2i=N :
Se la denota z = FN y.
Proposicion VI.4.4.- La transformada discreta de Fourier satisface las siguientes propiedades: a) Para y 2 PN , se tiene que FN y 2 PN . b) La aplicacion Fn : PN ! PN es lineal y biyectiva. c) La aplicacion inversa de FN esta dada por FN;1 = N FN ; (VI:4:9) donde
NX ;1 1 (FN z )k := (FN z)k = N zl !kl : l=0
(VI:4:10)
Demostracion.- Utilizando el hecho que !N = e2i = 1 y !;lN = (!N );l = 1, se obtiene
NX ;1 NX ;1 zk+N = N1 yl !;(k+N )l = N1 yl !;kl = zk ; l=0
l=0
mostrando as la periocidad de zk . La linearidad de FN resulta de una veri cacion inmediata. Para mostrar la biyectividad y al mismo tiempo la formula (VI.4.10), se calcula NX ;1 1 (FN y)k !kj (FN FN y)j = N k=0
NX ;1 NX ;1 y !;kl !kj = 12 N k=0 l=0 l ! NX ;1 NX ;1 1 1 k ( j ; l ) = 2 ! y N l=0 l N k=0 = N1 yj :
287
VI.4 Transformacio n de Fourier
La ultima igualdad de este calculo, es consecuencia de NX ;1 k=0
!km =
NX ;1 k=0
(! m )k =
N
!mN ;1 !m ;1 = 0
si m = 0modN si no.
Hay que remarcar que !m = 1 si m = 0modN .
Estudio del Error
Supongase que
xl = 2Nl ;
yl = f (xl );
l = 0; 1; : : :; N ;
para una funcion f : R ! C que es 2-periodica. La formula siguiente describe como la transformada de Fourier discreta dada por (VI.4.7) aproxima los coe cientes de Fourier dados por (VI.4.2). X Teorema VI.4.5.- Si la serie f^(k) es absolutamente convergente, entonces
k2Z
X f^n (k) ; f^(k) = f^(k + jN ):
Z
j2 j6=0
(VI:4:11)
Demostracion.- La hipotesis sobre los coe cientes de Fourier implica que
se tenga igualdad en la formula (VI.4.1), ver Gramain. Por lo tanto, se tiene
!
!
NX ;1 X NX ;1 X f^(n)einxl !;kl = f^(n) N1 !(n;k)l f^N (k) = N1 l=0 n2Z n2Z l=0 } |1 si n {z= k((mod) N = 0 si no X = f^(k + jN ) j 2Z
Corolario VI.4.6.- Sea f : R ! C , p veces continuamente derivable (p 2) y 2-periodica. Entonces,
f^N (k) ; f^(k) = O(N ;p );
para jkj N2 :
(VI:4:12)
288
VI Integracio n Numerica
En particular, con h = 2=N , se tiene
;1 h NX 1 Z 2 f (x)dx = O(hp ); f ( x ) ; 2 j=0 j 2 0
(VI:4:13)
lo que signi ca que, para funciones lisas y periodicas, la formula del trapecio es muy precisa. Demostracion.- Se mostrara primero que los coe cientes de Fourier satisfacen (VI:4:14) f^(k) C:k;p : En efecto, varias integraciones por partes dan
Z 2 f^(k) = 21 f (x)e;ikx dx 0
;ikx 2 (i);1 Z 2 e = f (x) ;ik + 2 f 0 (x)e;ikx dx 0 0
|
.. .
{z
}
0
;p Z 2 (p) ;ikx f (x)e dx
= (ik2)
0
Z 2 teniendo as, (VI.4.14) con C = 21 f (p) (x) dx: 0 Para jkj N=2 y j 6= 0 se tiene que jk + jN j (jj j ; 1=2)N , utilizando (VI.4.11), se obtiene X f^N (k) ; f^(k) C (j ; 1=2);pN ;p = C1 N ;p: j 1
Observese que la serie en esta formula converge para p > 1. Es muy importante remarcar que f^n (k) es una sucesion N -periodica, 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 aproximacion de f^(k); mientras que para jkj N=2 la aproximacion es en general muy buena.
Interpolacion Trigonometrica
Para la division equidistante (VI.4.6) del intervalo [0; 2] y para y0 ; y1 ; : : : ; yN ;1 dados, se busca un polinomio trigonometrico, es decir una
289
VI.4 Transformacio n de Fourier
combinacion lineal nita de funciones eikx , que pase por (xl ; yl ), para l = 0; 1; : : :; N ; 1: La existencia de tal polinomio trigonometrico esta asegurada por el siguiente: Teorema VI.4.7.- Sea y 2 PN y z = FN y su transformada discreta de Fourier. Entonces, el polinomio trigonometrico
pN (x) =
N= X2 0 k=;N=2
zk eikx := 12 z;N=2e;iNx=2 + zN=2 eiNx=2 +
X jkj M . Entonces, el polinomio trigonometrico 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 formula para el numero de muestras necesarias para obtener una representacion exacta de una funcion. La evaluacion 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 sera visto en la siguiente subseccion.
Transformacion Rapida de Fourier (FFT)
El algoritmo que sera estudiado, se debe a Cooley & Tukey en 1965, se basa sobre las ideas de Runge 1925. Para poder formular este, es necesario la siguiente: Proposicion VI.4.9.- Sean u = (u0; u1; : : : ; uN ;1) 2 PN , v = (v0 ; v1 ; : : : ; vN ;1 ) 2 PN y defnase
y = (u0 ; v0 ; u1 ; v1 : : : : ; uN ;1 ; vN ;1 ) 2 P2N :
(VI:4:18)
Entonces, para k = 0; 1; : : : ; N ; 1; se tiene (!2N = e2i=2N = ei=N ) 2N (F2N y)k = N (FN u)k + !2;Nk N (FN v)k ; 2N (F2N y)k+N = N (FN u)k ; !2;Nk N (FN v)k :
(VI:4:18)
Demostracion.- Utilizando el hecho que !22N = !N , un calculo directo da para k arbitrario
2N (F2N y)k = = =
2X N ;1
j =0 2X N ;1 j =0 NX ;1
yj e;2ijk=2n yj !2;Njk
y2l !| 2;{zN2lk} + |{z}
NX ;1
y| 2{zl+1} !| 2;N(2{zl+1)k}
l=0 ul ;lk l=0 vl ;k ;lk !N !2N !N ; k = N (FN u)k + !2N N (FN v)k:
291
VI.4 Transformacio n de Fourier
La segunda formula de (VI.4.18) resulta de !2;NN = ;1: La formula (VI.4.18) permite calcular, con N multiplicaciones y 2N adiciones, la transformada discreta de Fourier de y 2 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 ). y * FN=8y0 = y0 FN=4 y0 4 0 y0 1* FN=8y4 = y4 y2 C y * FN=8y2 = y2 FN=2 B @ A y 4 0 y0 1 FN=4 y2 y6 6 FN=8y6 = y6 BB y1 C C BB y2 C * C y B C 3 FN B (VI:4:19) BB y4 C C y * FN=8y1 = y1 C B@ y5 C FN=4 y1 5 y6 A 0 y1 1* FN=8y5 = y5 y7 y * FN=8y3 = y3 FN=2 B @ yy35 CA FN=4 y3 y7 7 F y =y N=8 7
7
Figura VI.4.1. Esquema para Calculo de FFT. La programacion 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 representacion binaria de los indices: 0=(0; 0; 0) 0=(0,0,0) 1=(0; 0; 1) 4=(1,0,0) 2=(0; 1; 0) 2=(0,1,0) 3=(0; 1; 1) ! 6=(1,1,0 4=(1; 0; 0) 1=(0,0,1) 5=(1; 0; 1) 5=(1,0,1) 6=(1; 1; 0) 3=(0,1,1) 7=(1; 1; 1) 7=(1,1,1) Despues, se efectua las operaciones de (VI.4.18) de la manera como indica el esquema (VI.4.19).
292
VI Integracio n Numerica
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 calculo de FN y puede ser realizado con: N log N multiplicaciones complejas y 2 2 N log2 N adiciones complejas. Para ilustrar mejor la importancia de este algoritmo, ver la tabla VI.4.1 para comparar el calculo de FN y con o sin FFT.
Tabla VI.4.1. Comparacion de FFT con DFT. N N 2 N log2 N cociente 25 = 32 103 160 6:4 10 3 6 4 2 10 10 10 100 20 6 12 7 2 10 10 2 10 5 104
Aplicaciones de la FFT
La transformada rapida de Fourier, tiene una gran cantidad de aplicaciones, desde el calculo de espectrogramas, resolucion de ecuaciones diferenciales ordinarias o a derivadas parciales, hasta la solucion de sistemas lineales. De niendo el producto de convolucion de dos sucesiones N -periodicas y 2 PN y z 2 Pn , por (y z )k =
NX ;1 l=0
yk;l zl :
(VI:4:20)
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 resolucion de un sistema lineal con una matriz de Toeplitz circular puede ser resuelto utilizando FFT. En efecto, un tal sistema es de la forma 0 a0 aN ;1 aN ;2 a1 1 0 x0 1 0 b0 1 BB a1 a0 aN ;1 a2 CC BB x1 CC BB b1 CC BB a2 a1 a0 a3 CC BB x2 CC = BB b2 CC : (VI:4:22) . . .. .. . @ ... . . .. A @ .. A @ .. A aN ;1 aN ;2 aN ;3 a0 xN ;1 bN ;1
293
VI.4 Transformacio n de Fourier
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 multiplicacion de una matriz de Toeplitz arbitraria con un vector
0 a0 BB a1 BB a2 @ ...
a;1 a;2 a;N +1 1 0 x0 1 0 b0 1 a0 a;1 a;N +2 C B x1 C B b1 C a1 a0 aN +3 C CC BBB x2 CCC = BBB b2 CCC ; (VI:4:23) .. .. .. A @ .. A @ .. A . . . . . xN ;1 bN ;1 aN ;1 aN ;2 aN ;3 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 veri car facilmente que el resultado del producto (VI.4.23) es la primera mitad del producto de convolucion a x. Por consiguiente, el calculo con FFT da un algoritmo rapido para efectuar el producto (VI.4.23).
Ejercicios 1.- Mostrar que
Fn (y z ) = N FN y FN z;
para el producto de convolucion (y z )k =
NX ;1 l=0
yk;l zl ;
de dos suceciones N -periodicas. Deducir que
y z = N FN;1 (FN y FN z ): 2.- Resolver la ecuacion diferencial con valores en la frontera
u00 (x) = ;1 gra car la solucion.
u(0) = u(2) = 0;
Captulo VII Ecuaciones Diferenciales El estudio de una gran cantidad de fenomenos de las mas diversas caractersticas se traducen en ecuaciones diferenciales. La descripcion de un fenomeno mediante ecuaciones diferenciales tiene un proposito primordial que es la predecibilidad. Por otro lado, permite obtener conclusiones de caracter local, que seran extrapoladas para tener informaciones globales del modelo estudiado. El enfasis que se hace a la resolucion analtica 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 tambien en el ejercicio profecional. Este hecho se debe fundamentalmente que hasta hace no mucho, no se contaban con los medios tecnologicos que permitan resolver ecuaciones diferenciales con la precision que se requera. Por consiguiente, el objetivo de estos cursos eran esencialemte obtener las soluciones en forma de formulas, perdiendose as el caracter esencial de las ecuaciones diferenciales que es el estudio local de los fenomenos. Ademas cuestiones como existencia y unicidad no son abordadas por falta de tiempo. Este captulo tiene como objetivo principal la formulacion de metodos numericos de resolucion de problemas diferenciales a valores iniciales o problemas de Cauchy. La primera parte tratara sobre cuestiones de existencia y unicidad de las ecuaciones diferenciales. Luego se abordara los metodos a un paso y como expresion de estos; los metodos de Runge-Kutta, desde la construccion de estos, estimaciones de error y como corolario los metodos encajonados del tipo Dormand & Prince. La tercera parte de este captulo tratara los metodos numericos a paso multiple, se vera la construccion de estos, cuestiones de estabilidad y convergencia.
VII.1 Generalidades En este captulo I , I0 designan intervalos abiertos de R no reducidos a un punto y t0 un punto jo de I0 ; se da una funcion f de nida y continua sobre I0 Rm con valores en Rm , un elemento y0 2 Rm , y se desea encontrar una funcion y continua y derivable sobre el intervalo I0 , con valores en Rm , tal que: y0 (t) = f (t; y(t)); 8t 2 I0 ; (VII:1:1) y(t0 ) = y0 : (VII:1:2) Este problema se lo conoce con el nombre de problema de Cauchy para el sistema diferencial (VII.1.1); la condicion (VII.1.2) se llama una condicion de Cauchy. Una funcion y que satisface el sistema (VII.1.1) es llamada una integral del sistema (VII.1.1). En numerosos ejemplos fsicos, la variable t representa el tiempo, el instante t0 , es por consiguiente, llamado instante inicial y la condicion (VII.1.2) llamada condicion 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 ecuacion (VII.1.1) es equivalente al sistema 8 y10 (t) = f1(t; y1(t); : : : ; ym(t)) > > < y20 (t) = f2(t; y1(t); : : : ; ym(t)) : (VII:1:3) .. > . > : y0 (t) = f (t; y (t); : : : ; y (t)) m 1 m m Las ecuaciones del sistema VII.1.3 son de primer orden, pues en estas, el orden de derivacion mas alto que aparece es el primero. Considerese ahora un problema diferencial de orden p, de la forma y(p) (t) = f (t; y(t); y0 (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) = y0 (t); : : : ; zp (t) = y(p;1) (t); el problema diferencial (VII.1.4), por consiguiente es equivalente al sistema 8 z0 (t) = z (t) > 1 2 > .. < . : 0 > z ( t ) > p ; 1 = zp (t) > : zp0 (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 0(t) = F (t; z (t)): (VII:1:5) La condicion de Cauchy para el problema (VII.1.5) esta dada por y(t0 ); y0 (t0 ); : : : ; y(p;1) (t0 ). Ahora bien, en este captulo no sera tratado el problema diferencial general de orden p, dado por F (t; y(t); y0 (t); : : : ; y(n)(t)) = 0; 8t 2 I0 : (VII:1:6) Cuando se puede aplicar el teorema de las funciones implicitas, (VII.1.6) es localmente equivalente a la ecuacion de la forma (VII.1.4) y la teora que sera desarrollada en este captulo podra ser aplicada a este tipo de problema sin inconvenientes. Si el teorema de las funciones implicitas no es aplicable, serias di cultades matematicas y numericas pueden aparecer, en este caso se habla de ecuaciones diferenciales algebraicas, para saber mas 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 subseccion se supondra que la terminologa basica es conocida por el lector. No obstante, se enunciara dos teoremas muy importantes en lo que concierne el analisis numerico de ecuaciones diferenciales. El primer teorema a enunciarse da condiciones su cientes para asegurar la existencia y unicidad de las soluciones de los problemas a valores iniciales. El segundo teorema esta relacionado con la condicion misma del problema, pues cuando se trata numericamente un problema es de suponer que se trabaja con una solucion aproximada del problema. Teorema VII.1.1.- Cauchy-Lipschitz. Supongase que f es continua sobre I0 Rm y que satisface una condicion de Lipschitz, es decir que existe un real L tal que
kf (t; z ) ; f (t; y)k L kz ; yk 8(t; y) y (t; z ) 2 I0 Rm ;
(VII:1:7)
entonces el problema (VII.1.1,2) admite una solucion y una sola. Demostracion.- Se dara una demostracion directa que tiene la ventaja de ser valida cuando se remplaza Rn por un espacio de Banach.
298
VII Ecuaciones Diferenciales
Paa jar las ideas, supongase que I0 = [t0 ; t + t0 ] y considerese la aplicacion que a y 2 C 0 ([t0 ; t + t0 ]) asocia (y) 2 C 0([t0 ; t + t0 ]) de nida por Zt (y)(t) = y0 + f (s; y(s))ds: t0
Introduciendo la norma kykL = max (e;2L(s;t0 ) ky(s)k) s2I 0
que dota C 0 (I0 ) de una estructura de espacio de Banach. Se tiene
k((y) ; (y ))(t)k deduciendose
Zt Zt0t t0
kf (s; y(s)) ; f (s; y (s))k ds Le2L(s;t0 ) ds ky ; y kL
21 e2L(t;t0) ky ; y kL ; k(y) ; (y )kL 12 ky ; y kL :
El teorema del punto jo implica que tiene un solo punto jo en C 0 (I0 ), de donde se tiene el resultado. n n +1 Teorema VII.1.2.- Sea f : V ! R continua, donde V R abierto. Supongase que: y(x) es una solucion de y0 = f (x; y) sobre [x0 ; x], tal que y(x0 ) = y0 ; v(x) una solucion aproximada de la ecuacion diferencial sobre [x0 ; x0 ] tal que kv0 (x) ; f (x; v(x))k l (VII:1:8) y f satisface una condicion de Lipschitz sobre un conjunto que contenga f(x; y(x)); (x; z (x))g, es decir kf (x; y) ; f (x; z )k L ky ; z k : (VII:1:9) Entonces ky(x) ; v(x)k ky0 ; v(x0 )k eL(x;x0) + L eL(x;x0) ; 1 : (VII:1:10)
Demostracion.- Se tiene: Zx y(x) ; v(x) = y(x0 ) ; v(x0 ) + (y0 (s) ; v0 (s))ds = y(x0 ) ; v(x0 ) +
Zx x0
x0
(f (s; y(s)) ; f (s; v(s)) + f (s; v(s)) ; v0 (s)) ds;
299
VII.1 Generalidades
pasando a las normas y aplicando las hipotesis (VII.1.8) y (VII.1.9), se obtiene
ky(x) ; v(x)k ky0 ; v(x0 )k + Planteando
u(x) = ky0 ; v(x0 )k +
Zx x0
Zx x0
(L ky(s) ; v(s)k + ) ds:
(L ky(s) ; v(s)k + ) ds;
se deduce
u0 (x) = L ky(x) ; v(x)k + Lu(x) + ; de esta manera se obtiene la desigualdad diferencial u0 (x) Lu(x) + u(x0 ) = ky0 ; v(x0 )k :
(VII:1:11)
Para resolver este desigualdad, se considera la familia de ecuaciones: wn0 (x) = Lwn (x) + ; wn (x0 ) = u(x0 ) + n1 ; (VII:1:12) cuyas soluciones estan dadas por:
wn (x) = wn (x0 )eL(x;x0) + L eL(x;x0) ; 1) :
El siguiente paso en la demostracion es mostrar que
u(x) wn (x):
(VII:1:13)
Supongase lo contrario, es decir que existe un n y s > x0 , tales que u(s) > wn (s). Considerese el conjunto
A = fx > x0 ju(x) > wn (x)g y sea x1 = inf A. Por continuidad se tiene u(x1 ) = wn (x1 ). De donde:
wn (x1 ) ; wn (x0 ) =
Z x1 Zxx0 1 x0
w0 (s)ds = n
Z x1 x0
(Lwn (s) + )ds
(Lu(s) + )ds
= u(x1 ) ; u(x0 );
Z x1 x0
u0 (s)ds
300
VII Ecuaciones Diferenciales
por lo tanto
w(x0 ) u(x0 ); llegando a una contradiccion con ;1=n 0.
Problemas con Valores en la Frontera
La teora 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 caractersticas que seran tratados en esta subseccion. Toda ecuacion diferencial puede expresarse como un sistema de ecuaciones diferenciales de primer orden de la manera siguiente
y0 = f (x; y);
(VII:1:14)
donde f : R Rn ! Rn . Un problema diferencial con valores en la frontera es darse una ecuacion diferencial del tipo (VII.1.14) con n condiciones para y(a) y y(b), donde a; b 2 R. Existe una gama de problemas diferenciales con valores en la frontera. A continuacion se mostrara los ejemplos mas representativos.
Ejemplos
a) Problemas a valores iniciales. Son de la forma
y0 = f (x; y); y(x0 ) = y0 : Este tipo de problema tiene solucion unica si f es continua y veri ca las condiciones de Lipschitz. b) Considerese el problema
y00 = y;
y(a) = A; y(b) = B:
La ecuacion diferencial de segundo orden puede reducirse al siguiente sistema de primer orden y10 = y2 ; y20 = y1 ; con condiciones de borde dadas por y1 (a) = A y y1 (b) = B . Este problema siempre tiene solucion unica cuando a 6= b.
VII.1 Generalidades
301
c) Encontrar una solucion T periodica de una ecuacion diferencial, por ejemplo y0 = y + cos x: Es muy facil deducir que T = 2k, con k entero. El problema es encontrar una solucion de la ecuacion diferencial que satisfaga
y(x) = y(x + T ): d) Determinar el parametro 2 Rp de la ecuacion y0 = f (x; y; ); donde la solucion buscada veri ca y(a) = ya y g(y(a)) con g : Rn ! Rp . Ahora bien, este problema puede expresarse como el problema diferencial equivalente y0 = f (x; y; ); 0 = 0; con condiciones de frontera y(a) = ya ; g(y(b)) = 0: e) Problemas a frontera libre, son de la forma y(0) = A; y00 = f (x; y; y0 ); y(l) = B; y0 (l) = 0; con l desconocido. Este problema mediante una transformacion afn de x, puede expresarse de la siguiente forma z0 00 2 z = l f lt; z; l ; l 0 = 0; con condiciones de borde dadas por z (0) = A; z (1) = B; z 0 (1) = 0: En base a los ejemplos expuestos mas arriba, el problema diferencial con valores en la frontera puede expresarse como y0 = f (x; y); (VII:1:15) r(y(a); y(b));
302
VII Ecuaciones Diferenciales
donde f : R Rn ! R y r : Rn Rn ! Rn . Por consiguiente la funcion r en los diferentes ejemplos, sera igual a:
r( y(a); y(b)) =y(a) ; ya y ( a ) y ( b ) y ( a ) ; A 1 1 1 r y (a) ; y (b) = y (b) ; B 2 2 1 r(y(x0 ); y(x0 + T )) = y(x0 ) ; y(x0 + T )
ejemplo a); ejemplo b); ejemplo c);
Introduciendo la notacion siguiente
y(x; a; ya )
(VII:1:16)
para expresar la solucion 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)
De niendo la funcion 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 y0 = f (x; y); (VII:1:19) F (ya ) = 0: Supongase que y(x) sea una solucion de (VII.1.19), es decir ya = y (a), ademas que F 0 (ya ) sea inversible, por el teorema de la inversion local la solucion ya es localmente unica y por consiguiente y (x) lo es tambien. La ecuacion F (ya ) se resuelve generalmente por un metodo iterativo, si F no es lineal, se utiliza por ejemplo el metodo de Newton. Para poder aplicar el metodo de Newton es necesario conocer F 0 (ya ). Ahora bien, se tiene @r (y ; y(b; a; y )) + @r (y ; y(b; a; y )) @y (b; a; y ): (VII:1:20) F 0 (ya ) = @y a a a @y a @yb a a a
Diferenciabilidad respecto a los Valores Iniciales
En la expresion (VII.1.20) puede observarse que existe una expresion que es derivada respecto al valor inicial ya . Retomando la notacion de la seccion precedente se tiene y(x; x0 ; y0 ) es la solucion que pasa por (x0 ; y0 ) de la
303
VII.1 Generalidades
ecuacion diferencial y0 = f (x; y), donde f : R Rn ! Rn . El problema consiste en determinar @y (x; x ; y ): (VII:1:21) @y0 0 0 En el caso lineal, se tiene que la ecuacion diferencial es de la forma
y0 = A(x)y
(VII:1:22)
donde A(x) es una matriz de coe cientes (aij (x) continuos. La solucion general de (VII.1.22) esta dada por
y(x; x0 ; y0 ) =
n X i=1
y(x; x0 ; ei )y0i = R(x; x0 )y0
(VII:1:23)
donde los ei son los vectores de la base canonica de Rn . La matriz R(x; x0 ) se llama el nucleo resolvente o la resolvente de la ecuacion (VII.1.22). Es facil de veri car que @y (x; x ; y ) = R(x; x ) (VII:1:24) 0 0 0 @y 0
Para el caso no lineal la situacion es un poco mas complicada. Se tiene @y (VII:1:25) @x (x; x0 ; y0) = f (x; y(x; x0 ; y0 )) suponiendo que @y=@y0 existe y el orden de derivacion conmuta, se obtiene
@ @y @f @y @x @y0 (x; x0 ; y0 ) = @y (x; y(x; x0 ; y0 )) @y0 (x; x0 ; y0 ) con
@y @y0 (x0 ; x0 ; y0 ) = I;
@y (x; x ; y ) es la resolvente de la ecuacion diferencial lineal de donde @y 0 0 0 0 = @f (VII:1:26) @y (x; y(x; x0 ; y0 )) :
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 metodo conocido como shooting simple, que en sntesis es utilizar un metodo
304
VII Ecuaciones Diferenciales
numerico para resolver (VII.1.19). Este metodo puede ser Newton u otro metodo numerico adaptado al problema. Sin pretender dar una teora que justi que tal metodo, para tal efecto referirse a Stoer, se mostrara este metodo implementado en ejemplos.
Ejemplos
a) Considerese el problema con valores en la frontera dado por:
y00 = ;ey ; y(0) = 1; y(1) = 21 :
(VII:1:27)
Utilizando la notacion de la subseccion precedente, se plantea
y(x; ); la solucion del problema diferencial a valores iniciales
y00 = ;ey ; y(0) = 1; y0 (0) = :
(VII:1:27b)
El problema (VII.1.27) se traduce en encontrar , tal que
y(1; ) = 12 : En la gura VII.1.1, puede observarse en la gra ca los valores de y(1) en funcion de . 2
y(1)
1
0 0
2
4
6
8
10 α
−1
Figura VII.1.1. Valores de y(1) en funcion de .
305
VII.1 Generalidades
Observando la gra ca, se puede deducir que el problema (VII.1.27) tiene dos soluciones. El siguiente paso es aplicar el metodo del shooting simple, obteniendo de esta manera dos soluciones. La primera con = 0:9708369956661049; la segunda solucion con = 7:93719815816973: Puede apreciarse las gra cas de las dos soluciones, en la gura (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 analizara un problema de soluciones periodicas. Considerese la ecuacion diferencial de Van der Pol, dada por y00 = (1 ; y2 )y0 ; y: (VII:1:28) El problema consiste en determinar si existe una solucion periodica y sobre todo como es esta. Ahora bien, (VII.1.28) puede escribirse como el sistema de ecuaciones diferenciales y10 = y2 ; (VII:1:29) y20 = (1 ; y12 )y2 ; y1 : 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) Supongase que T; y0 sean una aproximacion de la solucion del problema (VII.1.30), de donde F (T + T; y0 + y0 ) = 0;
306
VII Ecuaciones Diferenciales
con T , y0 escogidos convenientemente. Desarrollando en serie de Taylor, se deduce: @F F (T; y0 ) + @F @T (T;y0)T + @y0 (T; y0 )y0 = 0; @y (T; 0; y ) ; I y = 0: y(T; 0; y0) ; y0 + f (y(T; 0; y0))T + @y 0 0 0
Por consiguiente, se tiene n ecuaciones lineales, con n + 1 incognitas, agregando la condicion suplementaria y0 ? f (y(T; 0; y0)); (VII:1:31) seobtiene @y @y0t (T; 0; y0) ; I f (y(T; 0; y0)) y0 = ; y(T; 0; y0) ; y0 : T 0 f (y(T; 0; 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 precision del orden de 10;13, los valores iniciales y el periodo y1 (0) = 2:00861986087296; y2 (0) = 0:; T = 6:66328685933633: La solucion periodica de la ecuacion Van der Pol puede apreciarse en la gura 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.
307
VII.1 Generalidades
Shooting Multiple
La solucion del problema con valores en la frontera
y0 = f (x; y); r(y(a); y(b)) = 0; requiere que para todo punto x de la region donde esta de nida la solucion y se tenga una aproximacion numerica de y(x). En el metodo shooting descrito en la anterior subseccion, solamente el valor inicial y(a) = y^a es determinado. En muchos problemas es su ciente conocer este valor, sin embargo en una gran variedad de problemas con valores en la frontera conocer este valor no es nada able. Para ilustrar esto, considerese la ecuacion diferencial. y00 ; y0 + 110y = 0; (VII:1:33) cuya solucion general esta dada por y(x) = C1 e;10x + C2 e11x ; (VII:1:34) donde C1 y C2 son constantes reales arbitrarias. El problema a valor inicial y(0) = y0 y y0 (0) = y00 tiene como solucion 0 0 y(x) = 11y021; y0 e;10x + y0 +2110y0 e11x : (VII:1:35) Ahora bien, considerese el problema con valores en la frontera dado por y(0) = 1; y(10) = 1; la solucion de este problema consiste en determinar y00 de la formula (VII.1.35). Por consiguiente, resolviendo la ecuacion lineal 11 ; y00 e;100 + 10 + y00 e110 = 1; 21 21 se obtiene e110 ; 11e;100 : y00 = 21 ; 10110 e ; e100 Debido a la aritmetica de punto otante que las computadoras poseen, en lugar de y00 , se manipula la cantidad y00 = ;10(1 + ); con jj eps: (VII:1:36) Suponiendo que los calculos se hacen en doble precision, se puede tomar por ejemplo = 10;16. Remplazando y00 en (VII.1.35), se obtiene ;15 y(100) 1021 e110 2:8 1031 :
308
VII Ecuaciones Diferenciales
Otra de las di cultades mayores en la implementacion del metodo shooting en su version simple, es la necesidad de contar con una buena aproximacion de ya , lo que en general no sucede. Por otra lado, los valores que pueden tomar los ya , en muchas situaciones, estan con nados a regiones demasiado peque~nas; por ejemplo considerese el problema
y00 = y3 ; y(0) = 1; y(100) = 2;
(VII:1:37)
los valores que puede tomar y0 (0), para que y(x) este de nida en el intervalo [0; 100], estan restringidos a un intervalo de longitudo no mayor a 10;6. Por este motivo puede deducirse la di cultad de implementar el metodo shooting simple. El remedio a estas di cultades enumeradas mas arriba esta en la implementacion del metodo shooting multiple, que consiste en subdividir el intervalo [a; b] en subintervalos de extremidades xi , es decir tomar una subdivision a = x0 < x1 < xn = b. Luego, se denota por yi = y(xi ). De esta manera se obtiene el sistema de ecuaciones
8 y(x ; x ; y ) ; y = 0 > 1 0 0 1 > > y ( x ; x ; y ) ; y > < 2 1 1 2 .= 0 .. > > > > : y(xn; xn;r1(;yy0n; ;yn1)) == 00:
(VII:1:38)
La solucion de (VII.1.38) se la encuentra utilizando un metodo iterativo, que puede ser Newton si el problema no es lineal. Como ilustracion de este Metodo se tiene los siguientes dos ejemplos.
Ejemplos
a) Considerese el problema (VII.1.37). Para su resolucion se ha subdividido equidistantemente en 100 subintervalos. La solucion del sistema (VII.1.38) se la hecho utilizando el metodo de Newton. Las iteraciones y las gra cas pueden apreciarse en la gura VII.1.4.
309
VII.1 Generalidades
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. Implementacion Multiple Shooting. b) Este ejemplo esta relacionado con un problema ingeneril. Un granjero desea un silo cuya base sea un crculo de radio 5 m, de altura 10 m y el techo sea un crculo 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. >Cual es la forma de este?
310
VII Ecuaciones Diferenciales
Matematicamente el problema puede ser formulado como: area lateral ;! min; volumen = 550: Por la simetra del problema, se puede deducir que el silo es una super cie de revolucion, por lo tanto el problema puede expresarse de la manera siguiente: Encontrar una funcion y(x), tal que
Z 10 p y 1 + y02 dx ;! min; 0 Z 10
Planteando
0
y2 dx = 550; y(0) = 5; y(10) = 2:5:
p L(; y; y0) = y 1 + y02 ; y2 ; 55 ;
el problema es equivalente, por los Multiplicadores de Lagrange a
Z 10 0
L(; y; y0 )dx ! min :
Este problema es de tipo variacional. Aplicando las ecuaciones de EulerLagrange se convierte en el problema diferencial siguiente
d @ yp1 + y02 ; (y2 ; 55 dx @y0
;
@ yp1 + y02 ; (y2 ; 55 ) = 0: @y
La solucion de este problema ha sido efectuada utilizando el meto de shooting multiple. Como solucion inicial se ha utilizado una parabola que satisfaga las condiciones de contorno y la condicion de volumen. El intervalo [0; 10] ha sido subdivido en 10 subintervalos de igual longitud. Despues de 5 iteraciones se llega a una precision de 10;10. Las iteraciones
311
VII.1 Generalidades
del metodo pueden apreciarse en la gura 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
iter=1
10
iter=3
10
iter=5
7 6 5 4 3 2 1 0
0
10
Figura VII.1.4. Determinacion del Silo optimo. A continuacion se presenta una serie de ejercicios, cuya nalidad es recordar las nociones basicas sobre las ecuaciones diferenciales.
Ejercicios 1.- Resolver:
p
y0 = ;x signo(y) jxj; y0 = exp(y) sin(x); y0 = (x ; y + 3)2 : Dibujar los campos de vectores. 2.- Dibujar el campo de vectores de la ecuacion p xy0 = x2 ; y2 + y: Encontrar una formula explicita para las soluciones. 3.- La ecuacion de un cuerpo en caida libre esta dada por r00 = ; M2 ; r(0) = R; r0 (0) = v0 : r
(VII:1:39)
312
VII Ecuaciones Diferenciales
Plantear r0 = p(r), deducir una ecuacion diferencial para p y resolverla. Encontrar una condicion para v0 , tal que r(t) ! 1 si t ! 1. Calcular las soluciones de (VII.1.39) que tienen la forma a(b x) . 4.- Transformar la ecuacion de Bernoulli y0 + 1 +y x + (1 + x)y4 = 0; en una ecuacion lineal. Plantear y(x) = z (x)q con q conveniente. 5.- Resolver la ecuacion de Riccati
y 0 = y 2 + 1 ; x2 :
(VII:1:40)
Dibujar el campo de vectores considerando las curvas donde y0 = cons, las isoclinas. Deducir una solucion particular (x) de (VII.1.40). Calcular las otras soluciones mediante la transformacion z (x) = y(x) ; (x): 6.- Encontrar la solucion de
g(x) = cos0;x;
y00 ; 3y0 ; 4y = g(x); que satisface y(0) = y0(0) = 0. 7.- Resolver las ecuaciones lineales
y0 = ;32 ;63 y;
0 x =2; =2 x;
1 y0 = 14 ; ;3 :
VII.2 Metodo de Euler En esta seccion sera estudiado el metodo mas sencillo de resolucion de ecuaciones diferenciales con valores iniciales. Se considera el problema a valor inicial o problema de Cauchy dado por ( 0 y = f (x; y); (VII:2:1) y(t0 ) = y0 ; donde f : V ! Rn continua, con V R R n . Se desea determinar y(t0 + T ), para eso se considera la subdivision del intervalo [t0 ; t0 + T ] dada por t0 < t1 < t2 < < tn = t0 + T; de niendo hi = xi+1 ; xi ; i = 0; : : : ; n ; 1: (VII:2:2) La idea fundamental del metodo de Euler consiste en aproximar la solucion exacta en x1 , utilizando una tangente que pase por (x0 ; y0 ), es decir y1 = y0 + h0 f (x0 ; y0 ): (VII:2:3) De manera general xi+1 = xi + hi ; (VII:2:4) yi+1 = yi + hi f (xi ; yi ): La solucion numerica proporcionada por el metodo de Euler es, por consiguiente una funcion poligonal, ver gura VI.2.1, denotada por yh (x), llamada polgono de Euler; esta funcion esta de nida por: h = (h0 ; : : : ; hn ); ( x 2 [x ; x ] ; (VII:2:5) k k+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 Polgono de Euler
314
VII Ecuaciones Diferenciales
Una pregunta muy natural, que uno puede plantearse, consiste en determinar bajo que condiciones el metodo de Euler converge hacia la solucion exacta del problema diferencial de Cauchy, cuando n ! 1. Considerese el problema
y0 = f (x; y); y(x0 ) = y0 ;
(VII:2:6)
donde f : U ! Rn , con U R Rn abierto. Se de ne
jhj = i=0max h: ;:::;n;1 i
(VII:2:7)
Proposicion VII.2.1.- Sea D = f(x; y)jx 2 [x0 ; x0 + a]; ky ; y0k bg U . Supongase que f jfD continua, A = (x;y max kf (x; y)k, = min(a; b=A). )2D
Entonces para cada division h del intervalo [x0 ; x0 + ] se tiene: a) kyh (x) ; yh(x)k A kx ; xk; x; x 2 [x0 ; x0 + ]. b) si kf (x; y) ; f (x0 ; y0 )k sobre D, entonces kyh (x) ; (y0 + (x ; x0 )f (x0 ; y0 ))k jx ; x0 j : Demostracion.-El punto a) es trivial, ya que es consecuencia de la de nicion de yh , A y la desigualdad del triangulo aplicada una cantidad nita de veces. La demostracion del punto b) es la siguiente. Sea x 2 [x0 ; x0 + ], por consiguiente x 2 [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 nalmente b). Proposicion VII.2.2.- Sea h una division del intervalo I . Sean yh(x) el polgono de Euler para (x0 ; y0 ) y zk (x) el polgono de Euler para (x0 ; z0 ). Si
kf (x; y) ; f (x; z )k L ky ; z k ; 8(x; y); (x; z ) 2 D; entonces
kyh(x) ; zh(x)k kx0 ; z0 k eL(x;x0) :
(VII:2:8) (VII:2:9)
315
VII.2 Metodo de Euler
Antes de demostrar esta proposicion vale la pena recalcar que si f satisface una condicion de Lipschitz, es decir (VII.2.8), el polgono de Euler es unico paa h dado. Demostracion.- 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 = f(x; y)jx0 x x0 + a; ky ; y0kg U ; supongase: i) f jD continua, A = (x;y max kf (x; y)k, = min(a; b=A), )2D ii) kf (x; y) ; f (x; z )k L ky ; z k si (x; y); (x; z ) 2 D; entonces: a) Si jhj ! 0, entonces los polgonos de Euler yh (x) convergen uniforme-
mente sobre [x0 ; x0 + ] hacia una funcion '(x). b) '(x) es solucion de y0 = f (x; y), y(x0 ) = y0 . c) La solucion es unica sobre [x0 ; x0 + ]. Demostracion.- Inicialmente se mostrara, que si hk es una sucesion de subdivisiones de [x0 ; x0 + ] con jhk j ! 0, entonces la sucesion de poligonos de Euler asociada, es una sucesion de Cauchy para la norma de la convergencia uniforme. Para tal efecto, se mostrara que
8 > 09 > 0 tal que jhj < ; h^ <
=) 8x 2 [x0 ; x0 + ] se tiene yh(x) ; yh^ (x) < : donde h es una division con jhj < y h^ una division mas na que h.
316
VII Ecuaciones Diferenciales
Sea > 0 dado, entonces existe > 0 tal que si jx ; xj y ky ; yk A implica que kf (x; y) ; f (x; y)k . Esto es cierto por que f es uniformemente continua sobre D. Por la proposicion VII.2.1, se tiene
kyh (x) ; fy0 + (x ; x0 )f (x0 ; y0 )gk jx ; x0 j ; de donde
y (x) ; y (x)
h(x ; x )eL(x;x1) + + (x ; x )eL(x;xk)i h 1 0 k h^ Zx eL(x;x0) ; 1
eL(x;s)ds =
x0 eL ; 1
L
L ; por consiguiente, fyh(x)g es una sucesion de Cauchy, con que no depende
de x. Como consecuencia inmediata, se tiene que la sucesion converge hacia una funcion '(x) que ademas es continua. La demostracion del punto b) se basa en los siguientes hechos: yh(x0 ) = y0 implica que '(x0 ) = y0 , se considera el modulo de continuidad de f , de nido por
() = supfkf (x; y) ; f (x; y)kj jx ; xj ; ky ; yk Ag; se observa inmediatamente, que () ! 0 si ! 0. Utilizando la proposicion 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 lmite, se obtiene
'0 (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 = f(x; y)jx0 x x0 + ; ky ; y0 k bg U :
VII.2 Metodo de Euler
317
(x; y)
L,
@f (x; y)
M . Sobre D se tiene kf (x; y)k A,
@f
@x @y Entonces ky(x) ; yh(x)k M +L AL eL(x;x0) ; 1 jhj ; (VII:2:10) donde y(x) es solucion de y0 = f (x; y), y(x0 ) = y0 . Demostracion.- Remontando la demostracion del teorema precedente, se tiene L(x;x0) kyh(x) ; y(x)k e L ; 1 : Puesto que f es diferenciable, se tiene
kf (x; y) ; f (x; y)k L ky ; yk + M jx ; xj A jhj + jhj ; de donde planteando = (LA + M ) jhj se tiene (VII.2.10).
Efectos de los Errores de Redondeo
Generalmente no se puede calcular la solucion exacta del esquema (VII.2.4); se calcula solamente la solucion 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 funcion f y %n los errores de redondeo cometidos por la computadora. Se supondra que jn j y j%n j %. Con la hipotesis 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),
en+1 = en + 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 2 en+1 = en + hn [ @f @y (tn ; yn)en ] + hn n + %n + O(kenk ):
(VII:2:13)
Planteando zn = hn en , despreciando O(ken k2 ) y suponiendo que hn = h constante, se obtiene el siguiente esquema para zn , con zn+1 = zn + h[ @f (VII:2:14) @y (tn ; yn )zn ] + h(hn + %n );
318
VII Ecuaciones Diferenciales
de donde zn es la solucion numerica exacta obtenida a partir del metodo de Euler de la ecuacion z 0 (t) = [ @f (VII:2:15) @y (t; y(t))]z (t) + (h(t) + %(t)): En lugar de estudiar la solucion numerica de (VII.2.15), se estudiara la solucion de este problema cuando h tiende a 0. Qualquier solucion de la ecuacion diferencial (VII.2.15) no puede ser identicamente nula por la existencia del termino no homogeneo no nulo, para h su cientemente peque~no este termino no homogeneo es no nulo. Sea C = max kz (t)k cuando h = 0, por otro lado denotando zh(t) la solucion de (VII.2.15) para un h jo, 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 C2 8t 2 J; 8h h0 : Puesto que en z (tn )=h, se tiene que
lim e = 1: h!0 n
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 numerico. En la gura VII.2.2 puede verse un comportamiento aproximado del error de redondeo en funcion de h.
h
Figura VII.2.2. Error de Redondeo en el Metodo de Euler. La pregunta natural que surge es: >Cual es el h mnimo que se puede tomar sin que el error de redondeo sea preponderante? La respuesta a esta
319
VII.2 Metodo de Euler
pregunta tiene dos fuentes, la primera que radica en la practica numerica, y la segunda en un analisis sobre el origen de los otros errores que ocurren durante la implementacion del metodo. Ambos estudios llegan a la conclusion de hmin C peps; (VII:2:16) donde eps es la precision de la computadora. Las mayoraciones que se acaban de dar son por lo general demasiado pesimistas, por ser rigurosos matematicamente, uno se situa en la situacion mas desfavorable posible. Por otro lado si se toma h muy peque~no, inferior a eps, el algoritmo se mantiene estacionario.
Estabilidad del Metodo de Euler
En la anterior subseccion se pudo observar la incidencia directa del error de redondeo. En esta parte se analizara la propagacion del error de redondeo en la solucion numerica. Considerese el problema siguiente
y0 = y;
y(0) = y0 :
(VII:2:17)
El metodo de Euler con paso constante, da el siguiente esquema
yn+1 = yn + hyn ;
(VII:2:18)
supongase que en lugar de y0 , se introduce una aproximacion y0 , planteando en = yn ; yn donde yn es la solucion numerica de la ecucion (VII.2.17) con valor inicial y0 . Los en veri can la siguiente relacion:
en+1 = en + hen ; e0 = (y0 ; y0 ); de donde
en = (h + 1)n e0 : (VII:2:19) Por consiguiente, el esquema (VII.2.17) sera estable siempre y cuando lim e = 0; n!1 n situacion que sucede cuando jh + 1j < 1. Por consiguiente, para obtener un metodo estable es necesario que hmax = j2j : (VII:2:20) Por lo expuesto en la anterior subseccion y en esta, se tiene necesariamente que la longitud de paso esta acotada inferiormente e superiormente. La cota inferior impide que el error de redondeo distorsione completamente
320
VII Ecuaciones Diferenciales
la solucion numerica del problema, mientras que la cota superior en los problemas lineales impide que el metodo diverga. La idea de estabilidad puede generalizarse a problemas diferenciales lineales de mayor dimension. Por ejemplo, considerese el problema
y0 = Ay; y(0) = y0 : Con el procedimiento utilizado anterioremente e introduciendo normas en los lugares apropiados es facil mostrar que el metodo 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 metodo, si y solamente si jz + 1j < 1. De donde, se tiene de nida una region de estabilidad, dada en la gura VII.2.3, la parte achurada del crculo corresponde a la region donde el metodo es estable. i
1
−1
−i
Figura VII.2.3. Region de Estabilidad del Metodo de Euler El siguiente ejemplo ilustra, que el metodo de Euler no es un metodo muy apropiado para resolver ciertos problemas diferenciales a valor inicial. Considerese, el problema
y0 (x) = ;100y(x) + cos x; (VII:2:22) y(0) = 0: La solucion de este problema, esta dada por 100 cos x + 1 sin x + Ce;100x ; y(x) = 10001 10001 con C una constante determinada por la condicion inicial. Puede observarse que para x = , se tiene 100 ;0; 01: y() ; 10001 (VII:2:23)
VII.2 Metodo de Euler
321
Aplicando el metodo de Euler con paso constante se tiene: ! y () = ;9:999 10;3 ; h1 = 165 h ! y () = ;60:101: h2 = 155 h
No obstante que h2 ; h1 1:2 10;3, la diferencia de los resultados es abismal. La explicacion de este fenomeno de inestabilidad ha sido explicado mas arriba. El problema dado por (VII.2.22) esta dentro una categora de problemas diferenciales conocidos con el nombre de ecuaciones diferenciales rigidas, ver Hairer & Wanner. Para evitar aberraciones en los resultados numericos en la resolucion numerica de esta clase de problemas, el metodo de Euler puede modi carse, obteniendo as el:
Metodo de Euler Implcito
En lugar de utilizar el esquema dado por (VII.2.4); el metodo de Euler implcito, esta 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 ecuacion, que en lo general no es lineal. Comparando con la version explcita del metodo de Euler, esto constituye una di cultad adicional, pues para evaluar yk+1 debe utilizarse un metodo de resolucion de ecuaciones, como ser el metodo de Newton. Puede mostrarse, ver Hairer & Wanner, que si hk es lo su cientemente peque~no, la convergencia del metodo de Newton, o de otro metodo de resolucion esta asegurada. Se ha expuesto la desventaja principal del metodo de Euler implcito, respecto al metodo de Euler explcito. A continuacion se expondra la principal motivacion de utilizar la version implcita en determinadas situaciones. La principal desventaja del metodo de Euler explcito en radica en la falta de estabilidad cuando h no es los su cientemente peque~no, ver el ejemplo en el cual para 2 pasos muy proximos, las soluciones numericas del problema (VII.2.22) di eren de manera signi cativa. El analisis de estabilidad del metodo de Euler implcito es muy similar a la del metodo de Euler explcito, en efecto considerando el problema (VII.2.18), se tiene que el metodo implcito satisface la siguiente relacion recursiva para el error en+1 = en + hen+1 ; (VII:2:25) de donde, se obtiene de manera explcita en+1 = 1 ;1h en; (VII:2:26)
322
VII Ecuaciones Diferenciales
teniendo de esta manera estabilidad en la propagacion de los errores de redondeo, si y solamente si j1 ; hj > 1: (VII:2:27) 0 Para los problemas de la forma y = Ay, (VII.2.27) y remplazando z = h, se obtiene el dominio de estabilidad dado por jz ; 1j > 1; (VII:2:28) el cual esta dado en la gura VII.2.3.
1
Figura VII.2.3. Region de Estabilidad del Metodo de Euler Implcito.
Ejercicios 1.- Aplicar el metodo de Euler al problema y0 = 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 estimacion con el error exacto. 2.- Demostrar el resultado siguiente: Si el problema y0 = f (x; y); y(x0 ) = y0 ; con f : U ! Rn continua, U Rn abierto y (x0 ; y0 ) 2 U posee una y una sola solucion sobre el intervalo I , entonces los polgonos de Euler yh (x) convergen uniformemente sobre I hacia esta solucion. 3.- Aplicar el metodo de Euler al sistema y10 = ;y2; y1 (0) = 1; y20 = y1 ; y2 (0) = 0: Utilizar pasos constantes para encontrar una aproximacion de la solucion en el punto x = 0:4. Estimar el error como en el ejercicio 1 y compararla con el error exacto. La solucion exacta es y1 (x) = cos x, y2 (x) = ; sin x.
VII.3 Metodos de Runge-Kutta En la anterior seccion se formulo el metodo de Euler en su version explcita como en su version implcita. Uno de los grandes problemas con el cual se debe confrontar en la utilizacion de este metodo, consiste en la falta de precision de este, ver el corolario VII.2.4, motivo por el cual, los pasos de integracion deben ser demasiado peque~nos, induciendo de esta manera grandes perturbaciones debido al error de redondeo. En esta seccion se pretende construir metodos cuya precision sea mas elevada, permitiendo as menos evaluaciones y una menor incidencia del error de redondeo en los calculos. Se estudiara los metodos conocidos como metodos a un paso, en contraposicion a los metodos multipasos que seran tratados en la siguiente seccion. Se pretende calcular una aproximacion de la solucion de
y0 = 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 metodo 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 formula de la forma yn+1 = yn + hn (hn ; xn ; yn ): (VII:3:2) Una tal formula se llama metodo a un paso, por que el calculo de yn+1 utiliza los valores de hn ; xn ; yn de un paso solamente. Puede observarse facilmente que el metodo de Euler corresponde bien a esta categora de metodos a un paso. Vale la pena recalcar que los metodos de la forma (VII.3.2) no solamente son metodos a un paso, si no que tambien explcitos. Para saber mas referirse a Hairer & Wanner. Para simpli car la notacion, solamente se considerara el primer paso, es decir cuando n = 0 en (VII.3.2) y escribir h en lugar de h0 . Para obtener otros metodos numericos se integra (VII.3.1) de x0 a x0 + h. La expresion que se obtiene, esta dada por
y(x0 + h) = y0 +
Z x0+h x0
f (t; y(t))dt:
(VII:3:3)
La idea central consiste en remplazar la integral de (VII.3.3) por una expresion que la aproxime. Por ejemplo, si se utiliza h(f (x0 ; y0 )) como aproximacion se tiene el metodo de Euler Explcito. Por consiguiente, la idea sera utilizar formulas de cuadratura que tienen un orden mas elevado.
324
VII Ecuaciones Diferenciales
Como ejemplo de la utilizacion de este ingenioso argumento, se tiene el metodo de Runge. Se toma la formula del punto medio que es una formula de cuadratura de orden 2. Obteniendo as
y(x0 + h) y0 + hf x0 + h2 ; y(x0 + h2 ) ;
(VII:3:4)
obteniendo posteriormente el valor desconocido y(x0 + h=2) mediante el metodo de Euler. Esto da
y1 = y0 + hf x0 + h2 ; y0 + h2 f (x0 ; y0 ) :
(VII:3:5)
La interpretacion geometrica del metodo de Runge, ver gura VII.3.1, consiste en hacer pasar una recta tangente por el punto medio de las curvas integrales de la ecuacion diferencial, obteniendo este punto medio mediante una tangente que sale de (x0 ; y0). Ver la gura VII.3.1.
x0
x0 +h/2
x 0 +h
Figura VII.3.1 Metodo de Runge
Kutta en 1901, generalizo la idea de Runge, conduciendo a la de nicion siguiente de los metodos que llevan sus nombres. De nicion VII.3.1.- Un metodo de Runge-Kutta a s pisos, esta 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)
325
VII.3 Metodos de Runge-Kutta
donde los ci ; aij ; bj son coe cientes. El metodo se representa por el esquema
c1 = 0 c2 a21 c3 a31 a32 .. .. .. . . . . . . cs as1 as2 as;s;1 b1 b2 bs;1 bs
(VII:3:7)
Los metodos de Euler, como tambien los metodos de Runge y Heun estan dados en la tabla III.3.1
Tabla III.3.1. Primeros metodos de Runge-Kutta 0
1
Euler
0 1=2 1=2 0 1
0 1=3 1=3 2=3 0 2=3 1=4 0 3=4
Runge
Heun
Por razones de cuadratura, se supondra siempre que los ci satisfacen siempre
c1 = 0;
ci =
i;1 X j =1
aij ; i = 2; : : : ; s:
(VII:3:8)
La de nicion de orden de cuadratura para las formulas de cuadratura, puede extenderse a los metodos de Runge-Kutta de la siguiente manera. De nicion VII.3.2.- Se dice que el metodo de Runge-Kutta dado por (VII.3.6) tiene el orden p si, para cada problema y0 = f (x; y), y(x0 ) = y0 con f su cientemente derivable, el error despues 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 metodo. El metodo de Euler es un metodo de orden 1, por que
y(x0 + h) = y0 + hy0 (x0 ) + O(h2 ) = y0 + hf (x0 ; y0 ) + O(h2 ) = y1 + O(h2 ):
326
VII Ecuaciones Diferenciales
El metodo de Runge esta basado sobre la formula del punto medio que es una formula 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 metodo de Euler, se agrega un termino de tama~no O(h3 ). Entonces, este metodo tiene orden p = 2. El metodo de Heun, ver tabla VII.3.1, se obtiene a partir de la formula de cuadratura 2h h 2 h y(x0 + h) = y0 + 4 f (x0 ; y0 ) + 3f x0 + 3 ; y(x0 + 3 ) + O(h4 ); si se remplaza y(x0 + 2h=3) por la aproximacion del metodo de Runge. De donde el metodo de Heun tiene el orden p = 3. Utilizando la suposicion (VII.3,8) que es una condicion simpli cadora, se tiene la siguiente proposicion. Proposicion VII.3.3.- La condicion (VII.3.8) implica que es su ciente considerar problemas autonomos de la forma y0 = f (y) para veri car la condicion de orden. Demostracion.- Se supone que (VII.3.9) es satisfecha para los problemas autonomos de la forma y0 = F (y), y(x0 ) = y0 . Considerese un problema de la forma y0 = f (x; y), y(x0 ) = y0 , el cual es equivalente al problema y_ = f (x; y); y(0) = y0 ; x_ = 1; x(0) = 0; obteniendo as x 1 0 Y = F (Y ); donde Y = y ; F (Y ) = f (x; y); (VII:3:10) con valor inicial Y0 = (x0 ; y0 )t . La aplicacion del metodo de Runge-Kutta al problema (VII.3.10) da
0 1 i;1 X Ki = F @Y0 + h aij Kj A = k1 ;
Y 1 = Y0 + h
i
j =1
lo que es equivalente a (VII.3.6), por que
Y0 + h
i;1 X
s X
x
bi Ki = y1 ; 1 i=1
i;1 X aij Kj = xy0 + h aij k1 = y + xh0P+i;ci1ha k : 0 j 0 j =1 ij j j =1 j =1
327
VII.3 Metodos de Runge-Kutta
El siguiente paso, es de estudiar un procedimiento que permita determinar metodos de Runge-Kutta de ordenes mas elevados. Un buen ejercicio sera construir el metodo de Kutta que es de orden 4.
Construccion de un metodo de orden 4
La idea principal de la construccion del metodo de Runge, es considerar los desarrollos en serie de Taylor de la solucion exacta y(x0 +h), como tambien de la solucion numerica obtenida a partir del metodo, que se la denota por y1 (h). Luego comparar las series, para obtener condiciones sobre los coe cientes del metodo.
Serie de Taylor de la solucion exacta
Considerese el problema de Cauchy y0 = f (y); y(x0 ) = y0 : (VII:3:11) derivando la ecuacion (VII.3.11), se obtiene para la solucion exacta y00 =fy0 y0 = fy0 f (y) y000 =fy00 (y0 ; f (y)) + fy0 fy0 y0 = fy00 (f (y); f (y)) + fy0 fy0 f (y) y(4) =fy000 (f (y); f (y); f (y)) + 3fy00(fy0 f (y); f (y) + fy0 fy00 (f (y); f (y)) + fy0 fy0 fy0 f (y); de donde la serie de Taylor de la solucion exacta esta dada por 2 y(x0 + h) = y0 + hf (y0) + h2! fy0 f (y0) 3; + h3! fy00 (f (y0 ); f (y0 )) + fy0 fy0 f (y0 ) (VII:3:12) 000 00 0 + fy (f (y); f (y); f (y)) + 3fy (fy f (y); f (y)
+ fy0 fy00 (f (y); f (y)) + fy0 fy0 fy0 f (y) + O(h5 ):
Serie de Taylor de la solucion numerica
Para calcular la serie de Taylor de y1 , es su ciente 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 ecuacion a punto jo, pudiendo as aproximar los ki por el metodo de las aproximaciones sucesivas. Comenzando la primera aproximacion de ki , se tiene ki = f (y0 ) + O(h);
328
VII Ecuaciones Diferenciales
utilizando (VII.3.8), se obtiene
ki = f (y0 ) + ci hfy f (y0 ) + O(h2 ): La segunda iteracion da como resultado ki = f (y0 + hci f (y0 ) + h2
X j
= f (y0 ) + ci hfy f (y0 ) + h2 + O(h3 ):
aij cj fy f (y0 ) + O(h3 ))
X j
2
aij cj fy fy f (y0 ) + h2 c2i fy00 (f (y0 ); f (y0 ))
Efectuando todava una vez mas una iteracion, e introduciendo los valores obtenidos en la de nicion (VII.3.5) de yi , se obtiene
X !
!
2 X y1 = y0 + h bi f0 + h2 2 bi ci (f 0 f )0 (VII:3:14) i i 0 0 1 1 ! 3 X X h + 3! @ 3 bi c2i (f 00 (f; f ))0 + @6 bi aij cj A (f 0 f 0 f )0 A i ij
0
0
!
1
4 X 3 000 X bi ci (f (f; f; f ))0 + @8 bi ci aij cj A (f 00 (f 0 f 0 f ))0 + h4! @ i ij
0 1 1 X + @24 bi aij ajk ck A (f 0 f 0 f 0 f )0 A + O(h5 ); ijk
donde el subndice 0 indica que las evaluaciones deben ser hechas en el punto y0 . Comparando los coe cientes de (VII.3.12) y (VII.3.14), se encuentran las condiciones que deben satisfacer los coe cientes ci , bi y aij para contar con un metodo de orden 4. Estas condiciones se las enuncia en el: Teorema VII.3.4.- Condiciones de Orden. El metodo de Runge-Kutta (VII.3.6) tiene el orden 4 si los coe cientes satisfacen (VII.3.8) y
X
bi = 1;
(VII:3:15a)
bi ci = 12 ;
(VII:3:15b)
i
X i
X i
bi c2i = 13 ;
(VII:3:15c)
329
VII.3 Metodos de Runge-Kutta
X ij
bi aij = 16 ;
X X ij
bi ci aij cj = 18 ;
X
X ijk
i
bi c3i = 14 ;
ij
1; bi aij c2j = 12
1: bi aij ajk bk = 24
(VII:3:15d) (VII:3:15e) (VII:3:15f ) (VII:3:15g) (VII:3:15h)
Es necesario remarcar que si el metodo 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 resolucion del sistema (VII.3.15), para s = 4. Este sistema consiste de 8 ecuaciones no lineales para 10 parametros bi ; aij ; los ci estan determinados por la condicion (VII.3.8). Las condiciones (VII.3.15a,b,c,e) traducen el hecho que (bi ; ci ) es una formula de cuadratura de orden 4. Por consiguiente los bi pueden ser determinados si los ci son conocidos. En particular, se obtiene b3c3 (c3 ; c2 )(c4 ; c3 ) = ; c22c4 + c2 +3 c3 ; 41 : (VII:3:16) Por otro lado (VII.3.15g);c2(VII.3.15d) da 1 ; c2 ; b4 a43 c3 (c3 ; c2 ) = 12 (VII:3:17) 6 y c4 (VII.3.15d);(VII.3.15f) implica que b3 (c4 ; c3 )a3 2c2 = c64 ; 18 : (VII:3:18) Si se multiplica (VII.3.17) con (VII.3.18), luego (VII.3.16) con (VII.3.15h), se obtiene para la misma expresion, las dos formulas: 1 c2 c4 1 ; ; b4 a43 a32 c2 b3 c3 (c3 ; c2 )(c4 ; c3 ) = 12 ; 6 ;c2c4 c2 +6 c3 8 1 b4 a43 a32 c2 b3 c3 (c3 ; c2 )(c4 ; c3 ) = 2 + 3 ; 4 =24; lo que es equivalente a
c2 (1 ; c4 ) = 0:
330
VII Ecuaciones Diferenciales
Puesto que c2 6= 0, consecuencia de la condicion (VII.3.15h), se tiene necesariamente que c4 = 1. La solucion general del sistema (VII.3.16), se la obtiene de la manera siguiente. Metodo de Resolucion.- Plantear c1 = 0, c4 = 1; c2 y c3 son parametros libres; calcular b1 , b2 , b3 , b4 tales que la formula 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); nalmente calcular a21 ; a31 ; a41 de (VII.3.8) para i = 2; 3; 4: Entre los metodos de orden 4, los mas conocidos estan dados en la tabla VII.3.2.
Tabla VII.3.2. Metodos de Kutta 0 1=2 1=2 1=2 0 1=2 1 0 0 1 1=6 2=6 2=6 1=6
0 1=3 1=3 2=3 ;1=3 1 1 1 ;1 1 1=8 3=8 3=8 1=8
Metodo de Runge-Kutta
Regla 3=8
Metodos Encajonados
Para resolver un problema realista, un calculo a paso constante es en general ine ciente. Existen diversas causas para esta ine ciencia: la primera es que se debe conocer a priori una estimacion del error local cometido, lo cual es complicado en general ocasionando una perdida de generalidad en los programas a implementarse. La otra razon fundamental que existen intervalos donde los pasos de integracion pueden ser de longitud mayor. El principal problema reside en como escoger los pasos de integracion. La idea que puede resolver satisfactoriamente estos problemas consiste en escoger pasos de integracion de manera que el error local sea en todo caso inferior o igual a Tol dado por el utilizador. Motivo por el cual es necesario conocer una estimacion del error local. Inspirados en el programa GAUINT descrito en VI.3, se construye un metodo de Runge-Kutta con y^1 como aproximacion numerica, y se utiliza la diferencia y^1 ; y1 como estimacion del error local del metodo menos preciso. Se da un metodo de orden p a s pisos, con coe cientes ci ; aij ; bj . Se busca un metodo de orden p^ < p que utiliza las mismas evaluaciones de f , es decir
y^1 = y0 + h(^b1 k1 + + ^bs ks );
(VII:3:19)
331
VII.3 Metodos de Runge-Kutta
donde los ki estan dados por (VII.3.3). Para tener mas libertad, se agrega a menudo un termino que contenga f (x1 ; y1 ) a la formula (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 metodo encajonado puede ser representado en forma de un esquema, ver la tabla VII.3.3.
Tabla VII.3.3. Metodos encajonados
c1 = 0 c2 c3 .. . cs (1)
a21 a31 .. . as1 b1 ^b1
a32 .. . as2 b2 ^b2
...
as;s;1 bs;1 bs ^bs;1 ^bs (^bs+1 ) El siguiente paso es la determinacion del h optimal. Si se aplica el metodo con un valor h, la estimacion 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 estimacion es proxima de Tol, es decir ^+1 : Tol Chpopt (VII:3:22) Eliminando C de las dos ultimas formulas, se obtiene hopt = 0:9 h
s
p^+1
Tol : ky1 ; y^1 k
(VII:3:23)
El factor 0:9 se lo agrega para volver el programa mas seguro.
Algoritmo para la seleccion automatica de paso.
Al iniciar los calculos, el utilizador provee una subrutina que calcule el valor de f (x; y), los valores iniciales x0 ; y0 y una primera eleccion de h. A) Con h, calcular y1 , err = ky1 ; y^1 k y hopt dado por (VII.3.23). B) Si err Tol, el paso es aceptado, entonces
x0 := x0 + h; y0 := y1 ; h := min(hopt ; xend ; x0 );
332
VII Ecuaciones Diferenciales
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 practica numerica muestra que es aconsejable remplazar (VII.3.23) por hopt = h min 5; max(0:2; 0:9(Tol=err)1=p^+1 : Para la norma dada en la relacion (VII.3.23), se utiliza en general
v u n y ; y^ 2 u X i1 i1 ; ky1 ; y^1 k = t 1 n i=1
sci
donde sci = 1 + max(jyi0 j ; jyi1 j):
(VII:3:24) En la literatura especializada, estos metodos encajonados con control de paso automatico, se los denota por RKpp^ donde RK son las iniciales de Runge-Kutta y p, p^ son los ordenes de los metodos encajonados. En la actualidad la utilizacion de tales metodos es muy comun. En la tabla VII.3.4 se da el esquema del metodo de Dormand-Prince RK54 ; este metodo es analizado minuciosamente en Hairer & Wanner. Tabla VII.3.4. Metodo Dormand-Prince 5(4) 0 1 1 5 5 3 9 3 10 40 40 4 44 56 32 ; 5 45 15 9 8 19372 ; 25360 64448 ; 212 9 6561 2187 6561 729 355 46732 49 ; 5103 1 9017 3187 ; 33 5247 176 18656 35 500 125 2187 11 1 384 0 1113 192 ; 6784 84 35 500 125 ; 2187 11 0 y1 384 0 1113 192 6784 84 5179 7571 393 92097 187 1 y^1 57600 0 ; 16695 640 339200 2100 40
VII.3 Metodos de Runge-Kutta
333
En el ejemplo siguiente se detallara la construccion de un metodo encajonado con seleccion de paso automatico. Por razones de simplicidad, se considerara un metodo RK32.
Ejemplo
Tomese un metodo de orden p = 3 a s = 3 pisos, que en este caso sera el metodo de Heun, ver tabla VII.1.1 y se buscara un metodo 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 coe cientes as+1;i , para i = 1; : : : ; s. De esta manera se obtiene el siguiente sistema de ecuaciones para los coe cientes ^bi , el cual esta dado por: ^b1 + ^b2 + ^b3 + ^b4 = 1 1 ^b + 2 ^b + ^b = 1 : 32 33 4 2
Puedo observarse que para que el metodo encajonado tenga un orden igual a 2, se requieren 2 condiciones, quedando as dos grados de libertad. Al igual que en el metodo de Heun, puede plantearse ^b2 = 0, ^b4 puede escogerse libremente, por ejemplo ^b4 = 1=2 de donde por la segunda ecuacion se deduce facilmente que ^b3 = 0 y por la primera ecuacion ^b1 = 1=2. Por lo tanto se obtiene el esquema dado en la tabla VII.3.5.
Tabla VII.3.5. Ejemplo de Metodo 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 metodos formulados en esta seccion consiste en el hecho que estos dan las soluciones en un conjunto discreto de puntos. Una primera alternativa es unir estas soluciones con polgonos, si los puntos donde el metodo ha dado las soluciones. El resultado no es satisfactorio desde varios puntos de vista. Si el metodo es de orden elevado la interpolacion lineal, vista en el Captulo III, tiene como efecto la perdida de precision. Desde el punto de vista gra co las soluciones dejan de ser
334
VII Ecuaciones Diferenciales
lisas. Debido a estas dos razones expuestas es necesario complementar estos metodos con alternativas que permitan dar soluciones densas. Existen varias alternativas validas que permiten subsanar esta falencia de los metodos de Runge-Kutta. La primera consiste en la construccion de los metodos de Runge-Kutta Continuos. Para tal efecto, se considera un metodo de Runge-Kutta dado de antemano. Se desea evaluar utilizando este esquema en el punto x = x0 + h con 0 < 1. Los coe cientes de este metodo se los denota por ci (); aij (); bj (). Ahora bien, el metodo sera interesante desde el punto de vista numerico, si los coe cientes ci (), aij () no dependen de coincidiendo de esta manera con los del metodo dado de antemano. Sin embargo no es nada raro que el metodo obtenido a partir de los bi () tenga un orden inferior. Esto se debe a que los aij ; ci ya estan prescritos. Para ilustrar esta construccion considerese el ejemplo siguiente.
Ejemplo
Se considera nuevamente el metodo 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 coe cientes bi ():
b1 + b2 + b3 = ; 1 b + 2 b = 2 ; 32 33 2 1 b + 4 b = 3 ; 92 93 3 4 b = 3 : 93 6 Como puede observarse es imposible que los coe cientes bi puedan satisfacer las condiciones para obtener un metodo de orden 3, por lo tanto, uno debe contentarse con obtener un metodo de orden 2 para diferente de 1 y para = 1 un metodo de orden 3. Tomando las dos primeras ecuaciones y planteando b2 = 0, como en el metodo de Heun, se tiene para b3 = 43 2 y para b1 = ( ; 34 ). obteniendo as, el esquema dado en la tabla VII.5.6.
Tabla VII.5.6. Ejemplo de Metodo Continuo. 0 1=3 2=3
1=3 0
( ; 4
3 )
2=3 0 43 2
VII.3 Metodos de Runge-Kutta
335
La segunda estrategia para construir soluciones continuas, consiste en utilizar la interpolacion de Hermite con polinomios cubicos, 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 captulo III, la interpolacion de Hermite tiene un error del orden O(h4 ), equivalente a un metodo de tercen orden.
Convergencia de los Metodos de Runge-Kutta
En las subsecciones precedentes, se ha hecho un analisis del error local, intimamente ligado al orden del metodo. Pero no se ha analizado que sucede con el error global de la solucion numerica. Para analizar este tipo de error es necesario introducir alguna notacion adicional. Considerese un metodo a un paso yn=1 = yn + hn (xn ; yn ; hn ); (VII:3:25) 0 aplicado a una ecuacion 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 continuacion se enunciara un teorema general sobre esta clase de error. Teorema VII.3.5.- Sea y(x) la solucion de y0 = f (x; y), y(x0 ) = y0 sobre el intervalo [x0 ; xe ]. Supongase que: a) el error local satisface para x 2 [x0 ; xe ] y h hmax ky(x + h) ; y(x) ; h(x; y(x); h)k C hp+1 ; (VII:3:26) b) la funcion (x; y; z ) satisface una condicion de Lipschitz k(x; y; h) ; (x; z; h)k ky ; z k ; (VII:3:27) para h hmax y (x; y); (x; z ) en un vecindario de la solucion. Entonces , el error global admite para xn xe la estimacion ky(xn ) ; yn k hp C e(xn;x0 ) ; 1 ; (VII:3:28) donde h = max h , bajo la condicion que h sea lo su cientemente pequ~no. i i Demostracion.- La idea central de la demostracion es estudiar la in uencia del error local, cometido en el paso i-esimo a la propagacion de yn . Enseguida, adicionar los errores acumulados. Ver gura VII.3.2. Sean fyng y fzng dos soluciones numericas obtenidas por (VII.3.25) con valores iniciales y0 y z0 respectivamente. Utilizando la condicion 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)
336
VII Ecuaciones Diferenciales
Recursivamente, se obtiene
kyn ; znk ehn;1 ehn;2 ehi kyi ; zi k : y el error propagado Ei , ver gura VII.3.2, satisface
kEi k e(xn;xi ) kei k Chpi;+11 e(xn;xi ) ; 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. Estimacion del error global. La desigualdad del triangulo, as como (VII.3.30) da, ver la gura VII.3.3, para la estimacion de la suma
ky(xn ) ; yn k
n X i=1
kEi k
n X i=1
;
hpi;+11 e(xn ;xi )
Chp h0 e(xn;x1 ) + + hn;2 e(xn;xn;1 ) + hn;1 Z xn p p (xn ;x0 ) ; 1 : Ch e(xn;t) dt = Ch e x0
e
Λ( x n −x)
x x0
x1
x2
x n−1
xn
Figura VII.3.3. Estimacion de la suma de Riemann.
337
VII.3 Metodos de Runge-Kutta
Solo queda justi car la implicacion de (VII.3.25) en (VII.3.27), ya que la estimacion (VII.3.25) es valida solamente en un vecindario U = f(x; y)j ky ; y(x)k bg de la solucion exacta. Si se supone que h es lo su cientemente peque~no, mas precisamente, si h es tal que Chp e(xe ;x0 ) ; 1 b; se estara seguro que todas las soluciones numericas de la gura VII.3.2 se quedaran en U . Supongase que (VII.3.25) representa un metodo de Runge-Kutta, se veri cara las hipotesis del teorema precedente. La condicion (VII.3.26) es satisfecha para un metodo de orden p. Solo queda por veri car la condicion de Lipschitz (VII.3.27), para la funcion (x; y; h) = donde
s X i=1
bi ki (y);
(VII:3:31)
0 1 i;1 X ki (y) = f @x + ci h; y + h aij kj (y)A : j =1
(VII:3:32)
Proposicion VII.3.6.- Si f (x; y) satisface una condicion de Lipschitz kf (x; y) ; f (x; z )k L ky ; z k en un vecindario de la solucion de y0 = f (x; y), la expresion (x; y; h) de (VII.3.31) veri ca la condicion (VII.3.27) con
0 1 X X X = L @ jbi j + (hmax L jbi aij j + (hmax L)2 jbi aij ajk j + A : i
ij
ijk
(VII:3:33)
Demostracion.- La condicion 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 ; z k kk2 (y) ; k2 (z )k L ky ; z + ha21 (k1 (y) ; k1 (z ))k L(1 + hmax L ja21 j) ky ; z k ; etc. Las estimaciones (VII.3.34) introducidas en
k(x; y; h) ; (x; z; h)k
s X i=1
jbi j kki (y) ; ki (z )k ;
(VII:3:34)
338
VII Ecuaciones Diferenciales
implican (VII.3.27) con dado por (VII.3.33).
Experiencias Numericas
En esta subseccion se mostrara varios ejemplos donde los metodos de RungeKutta actuan. Se comparara varios metodos. 1.- Se considera la ecuacion diferencial, con valor inicial, y0 = ;y + sin x; y(0) = 1; (VII:3:35) la solucion de este problema, esta dada por y(x) = 32 e;x ; 12 cos x + 12 sin x: (VII:3:36) En la gura VII.3.4, se muestra las gra cas de diferentes metodos de Runge-Kutta. El intervalo de integracion es [0; 10]. Puede comprobarse, que al igual que en los metodos de integracion, existe una relacion lineal entre ; log10 (Error Global) y el numero de evaluaciones de la funcion, fe. Esta relacion lineal tiene una pendiente 1=p, donde p es el orden del metodo. 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. Relacion del error global vs fe.
339
VII.3 Metodos de Runge-Kutta
2.- En esta experiencia numerica, se implementa un metodo encajonado, para este efecto, se toma el metodo dado en uno de los ejemplos precedentes. La ecuacion diferencial sobre la cual es examinada tal metodo, es una ecuacion diferencial de una reaccion qumica, conocida como Brusselator. Por consiguiente, se debe resolver:
y10 = 1 + y12 y2 ; 4y1 ; y20 = 3y1 ; y12 y2 ;
y1 (0) = 1:5; y2 (0)3;
(VII:3:37)
sobre el intervalo [0; 10]. Los resultados obtenidos con Tol = 10;5 son presentados en la gura VII.3.5. En la gra ca superior, las dos componentes de la solucion utilizando la solucion continua del metodo de Heun, ver metodos continuos. En la gra ca del medio, la longitud de los pasos, los pasos aceptados estan ligados, mientras que los pasos rechazados indicados por . En la gra ca inferior, la estimacion del error local, como tambien los valores exactos del error local y global. 6
y2
5 4 3 2
y1
1 0 100
5
10
10−1
10−2 0 10−3 10
5
Error global
10
−4
10−5 10−6 10−7 10−8
Error local exacto
Error local estimado
Figura VII.3.5. Experiencia numerica de un metodo encajonado.
340
VII Ecuaciones Diferenciales
Ejercicios 1.- Aplicar el metodo de Runge al sistema
y10 = ;y2 ; y20 = y1 ;
y1 (0) = 1; y2 (0) = 0;
con h = 1=5. Comparar el trabajo necesario y la precision del resultado con el metodo de Euler. 2.- Considerese un metodo de Runge-Kutta a s pisos y de orden p. Mostrar que s X bi cqi ;1 = 1q para q = 1; : : : ; p: i=1
es decir, la formula de cuadratura asociada tiene al menos el orden p. 3.- Aplicar un metodo de Runge-Kutta de orden p = s, s es el numero de pisos, al problema y0 = y, donde es una constante compleja. Mostrar que la solucion numerica esta dada por
0s 1 X j y1 = @ z A y0 ; j =0 j !
z = h:
4.- Construir todos los metodos de Runge-Kutta de orden 3 con s = 3 pisos. 5.- Considerese el problema y0 = x y + g(x); y(0) = 0 con g(x) su cientemente derivable y 0. Mostrar que este problema admite una y una sola solucion. Las derivadas de la solucion en el punto x = 0 son ;1 ( j ) g(j;1) (0): y (0) = 1 ; j 6.- Aplicar un metodo de Runge-Kutta del ejercicio anterior, al;problema 1 utilizar la de nicion f (x; y) = 1 ; j g(0), para x = 0. a) Mostrar que el error del primer paso satisface
y(h) ; y1 = C2 h2 g0 (0) + O(h3 ) donde C2 depende solamente de los coe cientes del metodo. c) Calcular C2 para uno de los metodos de Kutta.
VII.4 Metodos Multipasos Los metodos a un paso calculan un valor aproximado yn+1 , en el instante tn+1 , utilizando unicamente el valor aproximado yn . La utilizacion de varios valores aproximados yn ; yn;1 ; : : :, permite obtener a precision igual metodos de costo menos elevado; estos metodos son comunmente llamados multipasos, mas precisamente cuando los calculos 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 metodos a r pasos. Entre estos metodos, los metodos de Adams son aquellos que parecen ser a la hora actual los mas e caces cuando el problema diferencial es bien condicionado, seran estudiados en esta subseccion. Los algoritmos modernos utilizan estos metodos con un numero variable de pasos y un tama~no de paso variables. La variacion del numero de pasos y la longitud de los pasos permite adaptar el metodo a la regularidad de la solucion, permite tambien de levantar las di cultades de arranque que presentan los metodos a numero de pasos jo.
Metodos de Adams Explcitos
Sea una division x0 < x1 < < xn = xe del intervalo sobre el cual se busca resolver la ecuacion diferencial y0 = f (x; y) y supongase que se conoce aproximaciones yn ; yn;1 ; : : : ; yn;k;1 de la solucion para k pasos consecutivos (yi y(xj )). De la misma forma que para la derivacion de los metodos de Runge-Kutta, se integra la ecuacion diferencial, para obtener
y(xn+1 ) = y(xn ) +
Z xn+1 xn
f (t; y(t))dt:
(VII:4:1)
Pero en lugar de aplicar una formula de cuadratura standard 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; (VII:4:2) donde fj = f (xj ; yj ). Ver la gura 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. Metodo de Adams:
342
VII Ecuaciones Diferenciales
Por consiguiente, la aproximacion de y(xn+1 ) esta de nida por
yn+1 = yn +
Z xn+1 xn
p(t)dt:
(VII:4:3)
Si se representa el polinomio p(t) por la formula de Newton, ver el teorema III.1.9,
p(t) =
!
;1 kX ;1 jY j =0 i=0
(t ; xn;i ) f [xn ; xn;1 ; : : : ; xn;j ];
el metodo (VII.4.3) se convierte en
yn+1 = yn +
kX ;1 j =0
Z xn+1 jY ;1 xn
i=0
(VII:4:4)
!
(t ; xn;i ) f [xn ; xn;1 ; : : : ; xn;j ]: (VII:4:5)
El caso mas simple de estas formulas de Adams explcitas consiste cuando la division es equidistante. En esta situacion se tiene xj = x0 + jh, las diferencias divididas pueden ser expresadas bajo la forma
f [xn ; xn;1 ; : : : ; xn;j ] = r fhn ; j !h j
(VII:4:6)
donde r0 fn = fn ; rfn = fn ; fn;1 ; r2 fn = r(rfn ); : : : son las diferencias nitas regresivas. La formula (VII.4.5), planteando t = xn + sh, se convierte en
yn+1 = yn + h donde
kX ;1 j =0
j rj fn ;
(VII:4:7)
Z 1 jY Z 1 s+j ;1 ;1 1
j = j ! (i + s)ds = ds: j 0 i=0 0 Los primeros coe cientes j estan dados en la tabla VII.4.1. Tabla VII.4.1. Coe cientes para los metodos de Adams Explcitos. j 0 1 2 3 4 5 6 7 8 5 3 251 95 19087 5257 1070017
j 1 12 12 8 720 288 60480 17280 3628800
343
VII.4 Metodos Multipasos
Casos particulares de los metodos de Adams explcitos son: k = 1 : yn+1 = yn + hfn ; (metodo de Euler); k = 2 : yn+1 = yn + h 23 fn ; 12 fn;1 ; 16 f + 5 f f ; k = 3 : yn+1 = yn + h 23 n 12 n;1 12 n;2 ; 12 59 f + 37 f ; 9 f k = 4 : yn+1 = yn + h 55 f ; 24 n 24 n;1 24 n;2 24 n;3 : Si se quiere aplicar este metodo, por ejemplo para k=4, a la resolucion de y0 = f (x; y), y(x0 ) = y0 , es necesario conocer y0 ; y1 ; y2 y y3 . Despues se puede utilizar la formula de recurrencia para determinar y4 ; y5 ; : : :. Al formular Adams sus metodos, el utilizaba la serie de Taylor de la solucion en el punto inicial, sin embargo es mas comodo empezar con un metodo a un paso del tipo de Runge-Kutta y luego utilizar el metodo multipaso correspondiente. En la construccion del metodo de Adams explcito dado por (VII.4.5), se ha utilizado el polinomio de interpolacion p(t) fuera del intervalo [xn;k+1 ; xn ]. Esta situacion puede provocar grandes errores, ver nuevamente III.1. Por lo tanto, este inconveniente puede modi carse considerando los:
Metodos de Adams Implcitos
La idea central de estos metodos consiste en considerar el polinomio p (t) de grado k, que satisface p (t) = fj para; j = n + 1; n; n ; 1; : : : ; n ; k + 1: (VII:4:9) A diferencia de la version explcita fn+1 = f (xn+1 ; yn+1 ) es todava desconocido. El siguiente paso es de nir la aproximacion numerica por
yn+1 = yn +
Z xn+1 xn
p (t)dt:
(VII:4:10)
De la misma manera que en el caso explcito, la formula de Newton da
X p (t) = k
jY ;1
j =0 i=0
!
(t ; xn;i+1 )dt f [xn+1 ; xn ; : : : ; xn;j+1 ];
de donde el metodo esta dado por
yn+1 = yn +
;1 k Z xn+1 jY X j =0
xn
i=0
(VII:4:11)
!
(t ; xn;i+1 ) f [xn+1 ; xn ; : : : ; xn;j+1 ]: (VII:4:12)
344
VII Ecuaciones Diferenciales
El caso mas simple de estas formulas de Adams implcitas consiste cuando la division es equidistante, el metodo esta dado por
yn+1 = yn + h donde
k X j =0
Z 1 jY Z ;1
j = j1! (i + s ; 1)ds = 0 i=0
0
j rj fn+1 ;
1s +j ;2
j
(VII:4:13)
ds:
(VII:4:14)
Los primeros coe cientes j estan dados en la tabla VII.4.2.
Tabla VII.4.2. Coe cientes para los metodos de Adams Implcitos. j 0 1 2 3 4 5 6 7 8 1 ; 1 ; 19 ; 3 ; 863 ; 375 ; 33953
j 1 ; 12 ; 12 24 720 160 60480 24192 3628800 Casos particulares de los metodos de Adams implcitos son:
k = 0 : yn+1 = yn + hfn+1 = yn + hf (xn+1 ; yn+1 ); k = 1 : yn+1 = yn + h 12 fn+1 + 21 fn ; 5 8f ; 1f k = 2 : yn+1 = yn + h 12 fn+1 + 12 n 12 n;1 ; 9 5f + 1f k = 2 : yn+1 = yn + h 24 fn+1 + 19 f ; 24 n 24 n;1 24 n;2 : Cada una de estas formulas representa una ecuacion 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 metodo de Newton o simplemente por el metodo iterativo simple.
Metodos Predictor-Corrector
Los metodos de Adams implcitos tienen la gran ventaja sobre la version explcita, por que las soluciones provistas son mas realistas. Sin embargo la gran di cultad de estos metodos es la resolucion de (VII.4.15). En algunos casos particulares, como en el caso de los sistemas lineales, esta resolucion
345
VII.4 Metodos Multipasos
podra hacerse directamente, pero en el caso general la utilizacion de un metodo iterativo para resolver el sistema no lineal es necesaria. Por otro lado, es necesario recalcar que yn+1 es una aproximacion de la solucion exacta, motivo por el cual es natural pensar que un calculo muy preciso de yn+1 tal vez no sea necesario. Es por eso, que una mejora de esta situacion puede darse de la manera siguiente. Primero calcular una primera aproximacion por un metodo explcito, luego corregir este valor, una o varias veces, utilizando la formula (VII.4.15). Con este algoritmo, un paso de este metodo toma la forma siguiente: P ;1 rj f por el metodo de P: se calcula el predictor y^n+1 = y^n + h kj=0 j n Adams explcito; y^n+1 es ya una aproximacion de y(xn+1 ). E: evaluacion de la funcion: se calcula f^n+1 = f (xn+1 ; y^n+1). C: la aproximacion corregida esta 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 mas utilizado. Otras posibilidades son: efectuar varias iteraciones, por ejemplo PECECE, o de omitir la ultima evaluacion 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 metodos de Adams, tanto en su version explcita, como en su version implcita consideran polinomios de interpolacion que pasan por los fj . Esta manera de abordar el problema de la aproximacion de las soluciones de un problema diferencial es e caz cuando el problema diferencial es bien condicionado, pero estos pueden volverse muy costosos desde el punto de vista computacional para los problemas diferenciales rgidos. Por consiguiente, puede ser interesante de utilizar el metodo de las diferencias retrogradas que sera descrito en esta subseccion. La idea central de los metodos BDF consiste en considerar el polinomio q(t) de grado k, ver gura VII.4.2, de nido por
q(xj ) = yj ; para j = n + 1; n; : : : ; n ; k + 1;
(VII.4:16)
y se determina yn+1 , de manera que
q0 (xn+1 ) = f (xn+1 ; q(xn+1 )):
(VII.4:17)
Como en la formula (VII.4.11), la formula de Newton da
q(t) =
;1 k jY X j =0 i=0
!
(t ; xn;i+1 ) y[xn+1 ; xn ; : : : ; xn;j+1 ]:
(VII.4:18)
346
VII Ecuaciones Diferenciales
Cada termino de esta suma contiene el factor (t ; xn+1 ), de donde es muy facil calcular q0 (xn+1 ), obteniendo as ;1 k jY X j =0 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
yn
q(t)
yn−1
x n−1
x n−k+1
xn
x n+1
Figura VII.4.2. Metodo de tipo BDF Para el caso equidistante, (VII.4.19) utilizando (VII.4.6) se convierte en k 1 X
j
r yn+1 = hfn+1 : j =1 j
(VII.4:20)
Obteniendo de esta manera, los siguientes casos particulares:
k = 1 : yn+1 ; yn = hfn+1 ; k = 2 : 32 yn+1 ; 2yn + 21 yn;1 = hfn+1 ; 3 1 k = 3 : 11 6 yn+1 ; 3yn + 2 yn;1 ; 3 yn;2 = hfn+1 ; 4 1 k = 4 : 25 12 yn+1 ; 4yn + 3yn;1 ; 3 yn;2 + 4 yn;3 = hfn+1 : De nuevo, cada formula de ne implcitamente la aproximacion numerica yn+1 .
Estudio del Error Local
Al igual de los metodos a un paso, como los metodos de Runge-Kutta, existe la nocion de orden para los metodos multipasos, el cual esta ntimamente ligado al estudio del error local.
347
VII.4 Metodos Multipasos
Los metodos multipasos pueden expresarse bajo la forma siguiente k X i=0
i yn+i = h
k X i=0
i fn+i ;
(VII.4:21)
donde k 6= 0 y j0 j + j 0 j > 0. El metodo es explcito si k = 0, si no el metodo es implcito. De nicion VII.4.1.- Sea y(x) una solucion de y0 = f (x; y(x)) y sea yn+k el valor obtenido por el metodo (VII.4.21) utilizando yi = y(xi ) para i = n; : : : ; n + k ; 1; ver gurar VII.4.3. Entonces
error local = y(xn+k ) ; yn+k : (VII.4:22) Se dice que el metodo (VII.4.21) tiene el orden p si el error local es O(hp+1 ). yn+k−1
y(x)
y n+1 yn
yn+k
xn+1
xn
x n+k−1
x n+k
Figura VII.4.3. De nicion del error local. Para estudiar el error local de un metodo multipaso, se utiliza el operador L de nido por:
L(y; x; h) =
k X i=0
(i y(x + ih) ; h i y0 (x + ih)) :
(VII:4:23)
Como yi = y(xi ), para i = n; : : : ; n + k ; 1 en la de nicion dada mas arriba, se tiene que fi = f (xi ; y(xi )) = y0 (xi ) para i = n; : : : ; n + k ; 1 y la formula (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=0
i y0 (xn + ih)
+ h (fn+k ; f (xn+k ; y(xn+k )));
lo que es equivalente a
( : : : ) (y(xn+k ) ; yn+k ); L(y; xn ; h) = k I ; h k @f @y
(VII:4:24)
348
VII Ecuaciones Diferenciales
el argumento de @f=@y puede ser diferente para cada linea de esta matriz, ver el teorema del valor medio o incrementos nitos. La formula muestra que el error local del metodo (VII.4.21) es O(hp+1 ) si y solamente si L(y; x; h) = O(hp+1 ) para toda funcion y(x) que es su cientemente derivable. Teorema VII.4.2.- Un metodo multipaso tiene el orden p, si y solamente si sus coe cientes satisfacen k X i=0
k X
i = 0 y
i=0
i iq = q
k X i=0
iq;1 para q = 1; : : : ; p:
(VII:4:25)
Demostracion.- En la formula (VII.4.23), se desarrolla las expresiones y(x + ih) y y0 (x + ih) en serie de Taylor y obteniendo L(y; x; h) =
k X X i=0
i
= y(x)
g0 k X i=0
q
y(q) (x) (ihq!) ; h
! X
i +
g1
k X X i=0 hq
y(q) (x)
q!
i
r0 k X
r
y(r+1) (x) (ihr!)
! k X q q ; 1 i i ; q i : i=0 i=0
La condicion L(y; x; h) = O(hp+1 ) da la condicion (VII.4.25).
Ejemplo
Considerese el metodo de Adams explcito a k pasos. Para q k, se considera la ecuacion diferencial y0 = qxq;1 cuya solucion es y(x) = xq . En esta situacion, el polinomio p(t) de (VII.4.2) es igual a f (t; y(t)) y el metodo de Adams explcito da el resultado exacto. Por consiguiente, se tiene L(y; x; h) = 0, ver la formula (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 metodo es k. Se puede mostrar que efectivamente el orden es igual a k. De la misma manera, se muestra que el metodo de Adams implcito tiene el orden p = k + 1 y el metodo BDF el orden p = k.
Estabilidad
A simple vista la relacion (VII.4.25) permite formular metodos multipaso con un numero dado de pasos con un orden optimal. Sin embargo la experiencia
349
VII.4 Metodos Multipasos
numerica mostro que los resultados obtenidos no siempre eran validos. Es por eso necesario introducir una nueva nocion en el estudio de estos metodos. Esta nocion esta intimamente ligada a la estabilidad del metodo. Para comprender mejor el problema que se plantea con los metodos multipaso, es necesario referirse al siguiente ejemplo enunciado por Dahlquist en 1956. Se plantea k = 2 y se construye un metodo 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) 0 Una aplicacion a la ecuacion diferencial y = y con y(0) = 1 da la formula de recurrencia yn+2 + 4(1 ; h)yn+1 + (5 + 2h)yn = 0: (VII:4:27) Para resolver la ecuacion precedente, se calcula el polinomio caracterstico de esta, obteniendo 2 + 4(1 ; h) ; (5 + 2h) = 0; (VII:4:28) ecuacion de segundo grado cuyas soluciones son 1 = 1 + h + O(h2 ); 2 = ;5 + O(h): La solucion de (VII.4.27) tiene la forma yn = C1 1n + C2 2n (VII:4:29) donde las constantes C1 y C2 estan determinadas por y0 = 1 y y1 = eh. Para n grande, el termino C2 2n C2 (;5)n es dominante y sera muy di cil que la solucion numerica converga hacia la solucion exacta. Ver gura 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 metodo VII.4.26:
350
VII Ecuaciones Diferenciales
La razon de la divergencia de la solucion numerica en el ejemplo precedente, es que el polinomio
%( ) =
k X i=0
i i ;
(VII:4:30)
tiene una raiz que es mas grande que 1 en valor absoluto. Para encontrar una condicion necesaria para la convergencia, se considerara el problema y0 = 0 con valores iniciales y0 ; y1 ; : : : ; yk;1 perturbados. La solucion numerica yn satisface:
k yn+k + + 0 yn = 0;
(VII:4:31)
y esta dada por una combinacion 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 solucion numerica quede acotada, es necesario que las condiciones de la de nicion siguiente sean satisfechas. De nicion VII.4.3.- Un metodo multipaso es estable, si las raices del polinomio %( ) satisfacen i) si %(^) = 0 entonces ^ 1, ii) si %(^) = 0 y ^ = 1 entonces ^ es una raiz simple de %( ). Se puede mostrar facilmente que los metodos de Adams tienen como polinomio caracterstico
%( ) = k;1 ( ; 1): Por consiguiente los metodos de Adams son estables para la de nicion que acaba de ser enunciada. Por otro lado se muestra igualmente que los metodos BDF son estables solamente para k 6. Existe un resultado muy importante en la teora de la estabilidad de los metodos multipaso, cuya demostracion 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 metodo 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 metodo es explcito.
Convergencia de los Metodos Multipaso
Debido a la complejidad de la demostracion, en esta subseccion se tratara, solamente el caso equidistante.
351
VII.4 Metodos Multipasos
Teorema VII.4.5.- Supongase que los k valores de partida satisfagan ky(xi ) ; yi k C0 hp , para i = 0; 1; : : : ; k ; 1. Si el metodo multipaso (VII.4.21) es de orden p y estable, entonces el metodo es convergente de orden p, es decir el error global satisface
ky(xn ) ; ynk Chp ; para xn ; x0 = nh Const:
(VII:4:34)
Demostracion.- El punto esencial de la demostracion es el siguiente: Se
escribe formalmente el metodo multipaso (VII.4.21) bajo la forma de un metodo a un paso. El metodo multipaso es de la forma, suponiendo k = 1
yn+k = ;
kX ;1 i=0
i yn+i + h (xn ; yn ; : : : ; yn+k;1 ; h):
(VII:4:35)
Para un metodo explcito k = 0, esta dada por (xn ; yn ; : : : ; yn+k;1 ; h) =
kX ;1 i=0
i f (xn+i ; yn+i );
y para un metodo general, esta de nida implcitamente por (xn ; yn ; : : : ; yn+k;1 ; h) =
kX ;1 i=0
i f (xn+i ; yn+i )
+ k f xn+k ; h (xn ; yn ; : : : ; yn+k;1 ; h) ;
(VII:4:36) kX ;1 i=0
!
i yn+i :
Luego se considera los supervectores
Yn = (yn+k;1 ; : : : ; yn+1 ; yn )t ; pudiendo de esta manera escribir el metodo dado por (VII.4.35), bajo la forma Yn+1 = AYn + h(xn ; Yn ; h); (VII:4:37) donde 0 ;k;1 1 ;k;21 ;11 ;01 1 0 (x; Y; h) 1 BB 1 C 0 0 0 C BB 0 CC . B C . . A =B 1 O C ; (x; Y; h)=B B@ 0.. CCA: B@ .. C ... ... . . A 0 1 0 (VII:4:37)
352
VII Ecuaciones Diferenciales
El siguiente paso en la demostracion es introducir el error local. Se considera los valores yn ; : : : ; yn+k;1 sobre la solucion exacta, denotando
Y (xn ) = (y(xn+k;1 ; : : : ; y(xn+1 ); y(xn ))t ;
(VII:4:38)
y aplicando una vez el metodo 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 metodo es de orden p, por hipotesis, se tiene
Y^n+1 ; Y (xn+1 )
C1 hp+1;
para xn+1 ; x0 = (n + 1)h Const: (VII:4:39) A continuacion se debe analizar la propagacion del error, es decir introducir la estabilidad del metodo. Considerese una segunda solucion numerica, de nida por Zn+1 = AZn + h(xn ; Zn ; h) y estimar la diferencia Yn+1 ; Zn+1 . Como ilustracion del siguiente paso en la demostracion se considerara solamente los metodos de Adams, pues el caso general requiere de la utilizacion de otra norma, cuyo estudio escapa el alcanze de este libro. Por consiguiente
0 yn+k ; zn+k 1 0 yn+k;1 ; zn+k;1 1 .. BB yn+k;1 ; zn+k;1 CC = BB CC . . @ A @ A . . yn+1 ; zn+1
yn+1 ; zn+1 yn ; zn
0 (xn ; Yn; h) ; (xn; Zn; h) 1 B CC : 0 +h B .. A @ . 0
Utilizando la norma in nita y condicion 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 vera la acumulacion de los errores propagados. Esta parte de la demostracion es exactamente igual que para los metodos a un paso, ver el
353
VII.4 Metodos Multipasos
paragrafo VII.3 y la gura VII.4.5. y0
y(xn ) En E n−1
e n−1
e1 e
2
E1 y
x1
x0
x2 x 3
xn
Figura VII.3.2. Estimacion del error global para metodos multipaso.
Ejercicios 1.- Para los coe cientes del metodo de Adams explcito, demostrar la formula de recurrencia siguiente:
m + 21 m;1 + 31 m;2 + + m 1+ 1 0 = 1: Indicacion.-Introducir la serie
G(t) =
1 X j =0
j tj ;
j = (;1)j
Z 1 ;s 0
j
ds
y demostrar que
G(t) =
Z1 0
1 ; (1 ; t);s ds y ; log(1t ; t) G(t) = 1 ; t
enseguida, desarrollar la segunda formula en serie de Taylor y comparar los coe cients de tm . 2.- Considerese la identidad
y(xn+1 ) = y(xn;1 +
Z xn+1 xn;1
f (t; y(t))dt
para la solucion de la ecuacion diferencial y0 = f (x; y).
354
VII Ecuaciones Diferenciales
a) Remplazar en la identidad la funcion desconocida f (t; y(t)) por el polinomio p(t), como se ha hecho para construir el metodo de Adams explcito. Deducir la formula de Nystron
yn+1 = yn;1 + h
kX ;1 j =0
j rj fn :
b) Calcular los primeros j . c) Veri car la identidad j = 2 j ; j;1 , donde j son los coe cientes del metodo de Adams explcito. 3.- Mostrar que el metodo BDF a k pasos tiene orden k. 4.- Calcular el orden para la formula de Nystron, ver ejercicio 2. 5.- Un metodo multipaso se dice simetrico, si
j = ;k;j ; j = k;j : Mostrar que un metodo simetrico siempre tiene un orden par. 6.- Dado un predictor de orden p ; 1 k X i=0
Pi yn+1 = h
kX ;1 i=0
iP fn+1 ;
(P )
i fn+1 :
(C )
y un corrector de orden p k X i=0
i yn+1 = h
k X i=0
a) Escribir el metodo P (EC )M E bajo la forma
Yn+1 = AYn + h(xn ; Yn ; h): b) Mostrar que este metodo es convergente de orden p, si el corrector es estable, no es necesario que el predictor sea estable.
Bibliografa Al nal de cada libro o artculo, se indica entre corchetes y caracteres italicos el captulo y/o seccion 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 Dierential 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 nite element equations. Comp. Math. in Appl. Mech. and Eng. 9. [II.4]. N. Bakhbalov (1976): Methodes Numeriques. Editions Mir, Moscou. [I], [III], [VI]. C. de Boor (1978): A Practical Guide to Splines. Springer-Verlag, Berlin. [III.2]. C. Brezinski (1977): Acceleration de la Convergence en Analyse Numerique. Lectures Notes in Mathematics, Nr. 584, Springer-Verlag. [III.3], [VI.3]. J.C Butcher (1987): The Numerical Analysis of Ordinary Dierential Equations. John Wiley & Sons. [VII]. H. Cartan (1977): Cours de Calcul Dierentiel. Hermann, Paris. [IV.2], [IV.3]. P.G Ciarlet (1982): Introduction a l'analyse numerique matricielle et a l'optimisation. Mason, Paris. [II]. M. Crouzeix & A.L. Mignot (1984): Analyse Numerique des Equations Dierentielles. Mason, Paris. [III], [VI] , [VII]. G. Dahlquist & A. Bjorck (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].
356
Bibliografa
J. Dieudonne (1980): Calcul In netisimal. 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. Nrsett & G. Wanner (1987): Solving Ordinary Dierential Equations I. Nonsti Problems. Springer Series in Comput. Math., vol. 8. it [VII]. E. Hairer & G. Wanner. Solving Ordinary Dierential Equations. Sti Problems. Springer Series in Comput. Math., vol. 11. [VII]. P. Henrici (1962): Discrete Variable Methods in Ordinary Dierential 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 Clis, New Jersey. [V]. R. Piessens, E. de Doncker-Kapenga, C.W. U berhuber & 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 Scienti c Computing (Version FORTRAN). Cambridge University Press, Cambridge. [VI.4]. C.R. Rao: (1973): Linear Statistical Inference and Its Applications. John Wiley & Sons. [II.5]
Bibliografa
357
W. Rudin (1976): Principles of Mathematical Analysis. MacGraw Hill, trird edition. [IV.2], [VI.1]. A.A Samarski & E.S. Nikolaev (1982): Metodos de solucion 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 generale 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 Smbolos Los smbolos matematicos que aparecen en el libro, estan enunciados en este glosaria de la manera siguiente. En la primera columna el smbolo mismo, al medio el nombre de este y a la derecha la pagina donde esta de nido.
P (x )
problema, 2. redondeo de x, 8. precision de la computadora, 8. kk norma de vector, 25. kk norma de matriz, 26. 1 vector 1, 29. cond(A) condicion de la matriz A, 29. LR descomposicion de Gauss, 37. diag(r1 ; r2 ; : : : ; rn ) matriz diagonal, 45. D1=2 matriz raiz cuadrada, 45. ! coe ciente de relajacion, 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. rkk yi diferencia nita progresiva, 109. r yi diferencia nita regresiva, 109. Tn (x) polinomio de Chebichef, 113. li (x) polinomio de Lagrange, 116. n constante de Lebesgue, 116. fx0 aplicacion derivada, 168. (A) radio espectral, 171. ker nucleo de una aplicacion lineal, 214. A () polinomio caracterstico, 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. yk producto de convolucion, 292.
arr(x) eps
Indice Alfabetico acelerador de convergencia, 147, 276 Adams metodo explcito, 341 metodo implcito, 343 Aitken, 276 algoritmo, 2 biseccion, 161, 164 Cholesky, 43 epsilon, 278 Euclides, 157 Gauss, 37 Horner, 3,7 aplicacion de spline, 142 aproximacion de Broyden, 198 armonica, sucesion, 148 axiomas de Moore-Penrose, 96 BDF, metodos, 345 Broyden, 198 Brusselator, 339 Bulirsch, sucesion, 148 busqueda de Fibonacci, 129 de pivote parcial, 41 calculo derivada, 177 calculo variacional, 310 Cardano, 154 Cauchy, 297 cero localizacion, 155 multiplicidad, 105 Chebichef polinomio, 73, 113 puntos, 116 teorema, 74 cociente de Rayleigh, 223, 227 constante de Lebesgue, 116
condicion del problema a valores propios, 217 del problema lineal,30,33 de un problema, 10 de una matriz, 29,30 Lipschitz, 297,298 construccion polinomio de interpolacion, 106 metodo de orden 4, 327 spline, 133 convergencia acelerador, 147 interpolacion, 119 metodo de Gauss-Newton, 204 metodo de Gauss-Seidel, 49 metodo de Jacobi, 49 metodos de Runge-Kutta, 335 metodos multipaso, 350 spline, 133 costo, 3 descomposicion LR, 39 descomposicion QR, 90 transformada rapida de Fourier, 291 Cramer, regla de, 35 Dahlsquist, primera barrera, 350 descomposicion Cholesky, 44, 45 Jordan, 219 LR, 37, 38, 39 QR, 87 Schur, 215, 234 valores singulares, 94 diferencias divididas, 107 nitas, 109 direccion conjugada, 69, 70 Newton, 194 dispositivo ideal de calculo, 2 material de calculo, 8 Dormand & Prince, 332
362 ecuaciones con derivadas parciales, 59 cuadraticas, 152 cubicas, 153 de grado cuarto, 154 diferenciales, 296 Euler-Lagrange, 310 no resolubles por radicales, 155 resolubles por radicales, 152 e ciencia, 3 -algoritmo, 278 error de aproximacion, 5 de la aproximacion spline, 136 de interpolacion, 111 del metodo, 5 de truncacion, 4 formula de cuadratura, 250 extrapolacion, 149 metodo gradiente, 68 metodo gradiente condicionado, 72 metodo Gauss-Newton, 205, metodo Multipaso, 346 metodo Newton, 176 transformada discreta de Fourier, 287 errores de redondeo, 115 estabilidad algoritmo de Gauss, 41,42,43 backward analysis, 13 forward analysis, 12 metodo de Euler, 319 metodo de Euler explcito, 322 metodo multipaso, 348 numericamente estable, 12 Euler efecto de los errores de redondeo, 317 estabilidad, 319 metodo, 313 metodo implcito, 321 polgono, 313 extrapolacion polinomial, 145 tablero, 147 error, 149
Indice Alfabetico
factorizacion, incompleta de Cholesky, 77 fenomeno de Runge, 124 FFT, 290 Fibonacci, busqueda, 129 formas tridiagonales, 227 formula de Cardano, 154 de Newton, 107 de Nystrom, 354 de Rodrguez, 262 formula de cuadratura, 248 error, 250 Gauss, 264{266 orden, 249 orden elevado, 259 simetrica, 249 Fourier error, 287 serie de, 284 transformada, 284 transformada discreta, 286 transformada rapida, 290 funcion integrable, 244 modelo, 83 ortogonal, 260 peso, 259 funciones con oscilaciones, 281 Galois, teorema, 155 GAUINT, 272 Gauss, algoritmo de eliminacion, 36, 37 formulas de cuadratura, 264{266 convergencia Gauss-Newton, 204 metodo Gauss-Newton, 203 Gerschgorin, teorema, 156, 232 grado de aproximacion, 120 grafo dirigido, 49 Hermite, 104, 138 Heun, 325
Indice Alfabetico
Interpolacion convergencia, 119 de Lagrange, 104{108 de Hermite, 104 trigonometrica, 289 Kantorovich, ver teorema Konrad, 271 Lagrange, 104 -estrategia, 194 Lebesgue, 116 Levenberg-Marquandt, 210 Lipschitz, 297 mantisa, 8 matriz adjunta, 215 de nida 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 simetrica, 43 tridiagonal, 227 Toeplitz, 292 unitaria, 215 Vandermonde, 31 metodo, Adamas explcitos, 341 Adamas implcitos, 343 a un paso, 323 BDF, 345 de la biseccion, 229 de la potencia, 223 de la potencia generalizada, 233 de la potencia inversa, 225 Dormand & Prince, 332 encajonados, 330 Euler, 313, 325 falsa posicion, 165 Gauss Newton, 203-205 Gauss Seidel, 48{56 Gradiente, 67 Gradiente Conjugado, 69 Gradiente Conjugado Precondicionado, 75
363 Heun, 325 iterativos, 163{172 iterativo simple, 169 Jacobi,48{56 Levenberg-Marquandt, 210 Maehly, 158 Multipaso, 341 Newton, 157, 174{199 Newton con Relajacion, 193 Newton Simpli cado, 184 predictor-corrector, 344 QR, 237 QR con shift, 238 Sobrerelajacion SOR, 56, 58 Runge-Kutta, ver Runge-Kutta SSOR precondicionado, 78 mnicmos cuadrados, 83 interpretacion estadstica, 84 interpretacion geometrica, 85 Misovski, ver teorema Newton-Misovski modi caciones de Gauss-Newton, 207 modulo de continuidad, 121 Newton direccion, 194 Kantorovich, 185 metodo, 157, 174{199 metodo con Relajacion, 193 metodo simpli cado, 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 monotona, 26 natural, 72 Nucleo de Peano, 251{254 nucleo resolvente, 303 operacion elemental, 2 orden formula de cuadratura, 249 metodo de Runge-Kutta, 325 construccion de un metodo de orden 4, 327
364 Peano, 251{254 Pearson, 99 Perron-Frobenius, 52 pivote, 40 polgono de Euler, 313 polinomio caracterstico, 214 Chebichef, 73, 113, 262 Hermite, 104 interpolacion de Hermite, 104, 138, 262 interpolacion de Lagrange, 104 Jacobi, 262 ortonormales, 260 Lagrange, 104, 105 Laguerre, 262 Legendre, 262, 263 precision de la computadora, 8 primitiva, 245 problema, 2 a valor inicial, 296 bien condicionado, 10 con valores en la frontera, 300 de Cauchy, 296 de minimizacion, 66 mal condicionado, 10 potencia inversa de Wielandt, 225 procedimienteo 2 de Aitken, 276 producto de Kronecker, 65 escalar de funciones, 260 sesquilineal, 284 tensorial de matrices, 60 Property A de Young, 55 punto
otante, 8 de Chebichef, 117 punto jo, 169 pseudo-inversa de una matriz, 92 QUADPACK, 271 Rayleigh, 223,227 redondeado, 8
Indice Alfabetico
region de estabilidad, 320 regla del punto medio, 246 del trapecio, 246 de Newton, 247 de Simpson, 247 Cramer, 35 resolvente, 303 Rodriguez, 262 Romberg, 148 Runge-Kutta condiciones de orden, 327,328 convergencia, 335 error glogal, 335 error local, 325 Dormand-Prince, 332 esquema, 325 Euler, 325 Heun, 325 Kutta, 330 metodos, 324 metodos encajonados, 330 orden, 325 regla 3/8, 330 Runge, 325 soluciones continuas, 333 Schur, 215,234 serie de Fourier, 284 Shooting multiple, 307 simple, 303 soluciones continuas, 333 SOR, 56 Spline aplicacion,142 construccion, 133 cubico, 131,132 error, 136 jo en los bordes, 132 natural, 132 SSOR precondicionado, 78 radio espectral, 58
Indice Alfabetico
! optimal, 58 Sturm, 159 sucesiones armonica, 148 Bulirsch, 148 Romberg, 148 Sturm, 159 Sylvester, 232 tablero de extrapolacion, 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 jo, 169 Schur, 215 Sylvester, 232 Weirstrass, 124 Wilkinson, 42 Wynn, 278 transformada discreta de Fourier, 286 rapida 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
365
366
Indice Alfabetico
Una Introduccion al Analisis Numerico es un libro
que pretende dar un enfoque moderno de los topicos introductorios de esta disciplina. Las nociones de estabilidad y error son analizadas minuciosamente en cada tema. La formulacion de metodos 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 captulos que dan una idea de lo que constituye actualmente el Analisis Numerico. Estos son: Preliminares, Sistemas Lineales, Interpolacion, Ecuaciones No Lineales, Calculo de Valores Propios, Integracion Numerica y Ecuaciones Diferenciales. Por sus caractersticas, este libro puede utilizarse como texto base, o bien como un complemento bibliogra co. Esta destinado a alumnos o profesionales interesados en el Analisis Numerico. Como prerequisito para una buena utilizacion de este libro, se requiere tener los conocimientos basicos de analisis y algebra lineal