Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ii
Hans C. Muller Santa Cruz Departamento de Matematicas Facultad de Ciencias y Tecnolog a Universidad Mayor de San Simon Casilla 992, Cochabamba, Bolivia e-mail hans@mat.umss.bo
Prologo
La Facultad de Ciencias y Tecnolog a tiene 17 a~ nos de vida, per odo que ha sido fruct fero en el ambito universitario, porque se han creado carreras 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 pol ticas 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 pa s 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 Tecnolog a. 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
Prologo
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 Rodr guez Mendez Rector de la Universidad Mayor de San Simon
Prefacio
Este libro nace ante el vacio existente de una bibliograf a 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. D a que pasa es mas corriente el tratamiento numerico en las Ciencias, como en la Tecnolog a 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 l nea trazada por este libro, este contiene siete cap tulos: 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 cap tulo trata sobre los problemas lineales mas comunes y los metodos de solucion de estos el tercer cap tulo aborda el tema de interpolacion numerica y extrapolacion, introduciendo el estudio de los splines cubicos el cap tulo IV analiza los problemas no lineales y los metodos mas e cientes de resolucion de estos en el cap tulo V se estudia el problema de valores propios y la implementacion de metodos numericos para el calculo de valores propios el cap tulo sexto trata de la integracion numerica y la transformada rapida de Fourier y nalmente el cap tulo 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 habr a 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 gustar a 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 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 I.3 Un ejemplo: Calculo de PI : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15 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 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : M nimos Cuadrados : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : La descomposicion QR : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : La Pseudo-Inversa de una Matriz : : : : : : : : : : : : : : : : : : : : : : : : : : Error del Metodo de los M nimos Cuadrados : : : : : : : : : : : : : : : Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
I.2 Estabilidad : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
II.4
II.5
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
104 106 111 113 115 119 129 131 133 136 142 143 145 150 152 155 155 157 159 161 163 163 165 168 169 173 174 179 184 193 197 199 203 204 207 210 211
Contenido
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 297 300 300 303 307 311
Contenido
317 319 321 322 323 327 330 333 335 338 340 341 341 343 344 345 346 348 350 353
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 , 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 n y obtener un resultado P (x) 2 . 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.
I.1 Algoritmos
Es necesario recalcar que problema y algoritmo son conceptos diferentes, aunque de alguna manera ligados. Considerese el problema siguiente,
+ a1 x + a0 :
(I:1:2)
siguientes algoritmos: El primero consiste en evaluar el polinomio (I.1.2) tal como esta de nido, con la convencion que: para n 2:
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
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 logar tmicas. 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 l mite, 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) =
k=0 k !
n xk X
(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
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 algor tmico, 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 permitir a 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.- Considerese el problema, determinar 2. La primera manera de determip nar 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
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
I Preliminares
La segunda posibilidad es utilizar la sucesion de nida recursivamente por: a0 = 1 1 an+1 = 1 2 an + an : Esta sucesion es convergente p y se deja al lector la demostracion para que veri que que el l mite 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 1.0 1.5 1.41666666666667 1.41421568627451 1.41421356237469 1.4142135623731
an
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 , tales que mcd(a b) = ma + nb:
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
bj < r jbj : ; j2 2
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 regla py 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
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 f sicas 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
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
(I:2:1)
(I:2:2)
I.2 Estabilidad
mantisa, se tiene
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: 4 eps = 2;24 5:96 10;8 8 eps = 2;55 1:39 10;17 16 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
REAL REAL REAL
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
jarr(x) ; xj = ja ; aj 10b jxj jaj 10b por que jaj 1=10:
de donde 5:10;l;1 = 5 10;l = eps 10;1
(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 : n ! . 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.
R R
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 ) j i 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 j 1 j + j 2 j, de donde x1 x2 ; x1 x2 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 analog a al ejemplo precedente, se obtiene (x1 + x2 ) ; (x1 + x2 ) = x1 1 ; x2 2 jx1 j + jx1 j 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 l mite. 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)
I Preliminares
utilizando la de nicion de condicion se tiene jP 0 (x) ; P 0 (x)j (P 0 )eps jP 0 (x)j 0 fn+1 (P 0 (x))j ) jfn+1 (Pjf(x)) (; 0 n+1 P (x))j
(fn+1 ) (P 0 )eps:
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
% &
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
I.2 Estabilidad
13
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
(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 +
1
1)
donde j i j j j j plantea
x1 = x1 (1 + 1 )(1 + 1 ) x2 = x2 (1 + 2 )(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 y i =
4.- Mostrar que el sistema lineal
n X i=1
xi yi :
ax + by = 1 cx + dy = 0
con ad 6= bc
es numericamente estable en el sentido de backward analysis. 5.- Las raices del polinomio x2 ; 2px ; q = 0 son:
1
= p + p2 + q
= 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.
x k=0 2k + 1
1 (;1)k X
2k+1 :
(1:3: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 1 + 8 arctan 1 ; 5 arctan 1 : = 12 arctan 4 18 57 239 Remplazando (I.3.1) en (I.3.3), da como resultado (I:3:3)
16 = 48
1 (;1)k X
I Preliminares
1 )2k+1 ( 18 2 k + 1 k=0 + 32
{z } A 1 (;1)k 1 X
k=0
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 ^, el valor calculado de A B ^ , el valor calculado de deseada. Denotando por A ^ B y C , el valor calculado de C , se tiene:
MA (;1)k 1 X ^ A = 48 2k + 1 ( 18 )2k+1 MB (;1)k X k=0
2k+1 2k + 1 ( 57 ) ; 20
1 (;1)k X
C
{z
B
} |
{z
(I:3:4)
^ = 32 B
De donde: ^ ; A = 48 A ^ ; B = 32 B ^ ; C = 20 C
1 )2k+1 ( 57 2 k + 1 k=0
1 (;1)k 1 X ( )2k+1
2k+1 2k + 1 ( 57 )
48 (1=18) 2 1 ; (1=18)
1 X
32 (1=57) 2 1 ; (1=57)
20 (1=239) 2 : 1 ; (1=239)
^ 10;(N +1), por lo tanto Por hipotesis, se tiene por ejemplo que A ; A 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 (I:3:5) 48 (1=18) 2 = 10;(N +1) 1 ; (1=18)
17
obteniendo de esta manera log10 (48) ; (2MA + 3) log10 (18) ; log10 (1 ; (1=18)2) = ;(N + 1): Despejando MA, se obtiene
(I:3:6)
; 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 ^, B ^yC ^ , es necesario de nir una representacion de los numeros reales y A ^, B ^yC ^ con la precision su respectiva aritmetica que permita calcular A 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 ^=
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
X+2 mk x b = 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 ^yy ^, sus representaciones en punto jo estan dadas por:
x ^= ak =10mk y ^= bk =10mk : k=0 k=0 La suma redondeada se escribe por lo tanto 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
N=m X+2 N=m X+2 N=m X+2
Con los elementos presentados, se esta en la capacidad de formular un ^, B ^, y C ^ por razones obvias el algoritmo algoritmo que permita calcular A sera el mismo. Por consiguiente, es su ciente dar el metodo que permita ^ con la precision requerida. De la formula (I.3.4) se puede observar calcular A 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
c q x ^=
bk =10mk
(I:3:16)
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 ^, y por precision requerida, se puede de nir el algoritmo que calculara A consiguiente ^ . 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 ^, para asegurar que el resultado que redondeo, cometidos en el calculo de A 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 2 k +1 x para x = 1=18. Utilizando la proposicion I.3.1, se tiene, x ^=x+ j j 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 1 10;N ;2m: (I:3:20) x ^2k+1 ; x2k+1 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
Algoritmo
2 10;N ;2m:
(I:3:21)
20
I Preliminares
^, se tiene una suma de MA + 1 terminos y un Por ultimo para obtener A producto por 48. En cada suma se comete un error menor a 2 10;N ;2m, de donde se tiene como 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.
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
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
0 b1 1 a1n 1 .. A 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 cap tulo 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 teor a 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 teor a 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.
donde
0 a11 A = @ ...
24
II Sistemas Lineales
La ultima seccion describira el Metodo de los M nimos 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.
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 l mites. Se empezara de niendo el concepto de norma en espacios n , para luego de nir en el algebra de las matrices a coe cientes reales. De nicion II.1.1.- Una norma sobre n es una aplicacion
kk:
i) ii) iii)
R ;! R
n
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 n son las siguientes:
n X
i=1 n X
jxi j jxi j2
! 21 ! p1
i=1 n X i=1
jxi j2
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
De nicion II.1.2.- Si x = (x1 : : : xn ) 2 n , 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 n se dice que es: (a) Monotona, si jxj jyj implica que kxk kyk para todo x y 2 n. (b) Absoluta, si kxk = kjxjk para todo x 2 n . Proposicion II.1.3.- Una norma k k sobre n es monotona, si y solamente
II Sistemas Lineales
que la norma sea absoluta, desigualdad del triangulo y efectuando calculos algebraicos se tiene: 1 (1 ; )x + x (1 ; )( x : : : x ; x x : : : x ) + kxk = 1 1 k ; 1 k k +1 n 2 2 1 (1 ; ) k(x : : : x ;x x : : : x )k + 1 (1 ; ) kxk + x 1 k;1 k k+1 n 2 2 1 1 = 2 (1 ; ) kxk + 2 (1 ; ) kxk + kxk = kxk :
Demostracion.- Si la norma k k es monotona, sea x 2 n , 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 n , considerese x = (x1 : : : xk;1 xk xk+1 : : : xn ), con 2 0 1]. Utilizando el hecho
si es absoluta.
R R
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 mn , de esta manera de nir la norma de una matriz como la de un vector, pero se perder a 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
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 n y m son monotonas o absolutas, es facil veri car que la norma
R R
27
de matriz inducida por estas, es todav a 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 n :
(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 ( ) satisface las propiedades adicionales siguientes:
kI k = 1 kAB k kAk kB k :
(II:1:3) (II:1:4)
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:
n X i=1
kAk2 = valor propio mas grande de At A m X kAk1 = i=1 max jaij j : ::: n
j =1
jaij j
28
II Sistemas Lineales
n X m X n X m X i=1 j =1
aij xj
jaij j jxj j
n X
por lo tanto
n X i=1
kAk1
n X i=1
max j =1 ::: m
n X i=1
kxk1
0a 1 1jo B @ ... C A
amjo
=
1
n X i=1
jaijo j kxk1 :
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
kAxk2 2=
m X i=1
2 2
i i
m X i=1
Para obtener la igualdad, es su ciente tomar x = ejo , donde jo es el autovalor mas grande. Para la k k1 se tiene:
1 0m X kAxk1 = i=1 max a x max @ ja j jx jA ::: n j =1 ij j i=1 ::: n j =1 ij j 0m 1 0 1 m X X max @ jaij j j=1 max jx jA @i=1 max jaij jA kxk1 i=1::: n ::: m j ::: n
m X
as
kAk1
max ja j : j =1 ::: m j =1 ij
m X
j =1
j =1
29
R R
P (A b) = x:
De esta manera la condicion del problema esta dada por
P (A b) ; P (A b) jP (A b)j
donde:
cond eps
xk cond eps. Por otro lado, Si se plantea P (A b) = x, se tiene kxk; xk considerando que solamente normas mononotas son utilizadas, se tiene: 0 a11 11 a1n n1 1 .. .. A eps kAk @ ... . . an 1 n 1 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 II.1.8.- Sea A una matriz con det A 6= 0, supongase que A ; A kAk A , b ; b kbk b . Si A cond(A) < 1, entonces cond(A) ( + ): kx ; xk (II:1:13) kxk 1 ; A cond(A) A b
1 , entonces la condicion del problema Si ademas se tiene A cond(A) < 2 resolver Ax = b es 2cond(A). Demostracion.- Se tiene Ax = b y Ax = b, de donde:
Ax ; Ax = b ; b y Ax ; Ax + Ax ; Ax = b ; b 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 ) xk cond(A) de esta manera kxk; xk 1 ; 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 : (II:1:16)
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 04 1 0 1 0 B 1 4 1 0 C B .. . . . . .. .. C 1 B . . . . C . A= hB C B C @ ... 1 4 1 A 1 4
31
6 , ademas A = 4 (I + N ) donde entonces kAk1 = h h 00 1 0 01 4 1 0 1 B4 0C C kN k1 = 1 < 1: 4 N =B B .. C 2 @ ... . . . . . . .A 1 0 0 4 0 Se deduce que ;1 h 2 3 A;1 = h 4 (I + N ) = 4 (I ; N + N ; N + ) 2 A;1 1 h 4 (1 + kN k + N + ) h 1 4 1 ; kN k h 2 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 1 i j = 1 : : : n: hij = i + j ;1 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 cn C B c1 c2 V =B . . .. C @ .. .. . A n ; 1 n ; 1 n c1 c2 cn;1
32
II Sistemas Lineales
donde los ci son diferentes. Se puede mostrar que la cond2 V donde b > 1.
bn ,
x;xk 2cond(A)eps puede ser demasiada Ahora bien, la estimacion kk xk 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 1+ 2 x 0 108(1 + 3 ) = y = ( 2(1 + 4 ) 1 + 5 ) + 5 ;8 y = 108 1 1 + 3 ' 10 (1 + 5 ; 3) jy ; yj 2eps: de donde jyj Calculando x se tiene ; (1 + 2 )y x = 2(1 + 41) +
;8 ;8 = 2 ; 10 + 2 4 ; 10 ( 2 + 5 ; 3) ;8 = x + 2 1 ; 10 ( 2 + 5 ; 3 )
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 0 1 D= 1 as DA = 1 0 10;8 0 1
33
obteniendo el:
Ejercicios
B = x 2 n 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 2 ? 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 n n . b) Veri car la desigualdad 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
34
II Sistemas Lineales
jrii j kRkp
Deducir que 8.- Sea
jrii j;1
R;1 p
para p = 1 2 1:
h2 ... ... 0 0 hn1;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.
02 1 + 1 h0 h1 B 1 B h1 A=B B B @ 0
1 C C C C C A
Ax = b
(II:2:1)
A = (A1 : : : 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
A xi = det det A
(i)
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
2Sn
signo( )
n Y
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 tardar a 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. 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
El Algoritmo de Gauss
+ a12 x2 + + a22 x2 +
n1 1 +
an2 x2 +
El Algoritmo de Gauss consiste en: ai1 , para i = 2 : : : n. Primer paso Si a11 6= 0, li1 = a 11 Se calcula lineai ; li1 linea1 , para i = 2 : : : n. Si a11 = 0 se intercambia lineas. Obteniendose el sistema equivalente dado por
2 , para i = 3 : : : n. Paso 2 Si a(1) li1 = ai(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
= c1 .. . : = cn;1 = cn
37
De donde se tiene:
Si se utiliza la notacion matricial, se obtiene el siguiente esquema del algoritmo de Gauss, con las matrices aumentadas:
(II:2:2)
0 B B B B @
(A b) .. .
1 0 C 0 !B C B C B C A B @0
0
A(1) b(1)
.. .
1 0 C 0 !B C B C B 0 C A B @ ...
A(2) b(2)
0 .. .
0 0
1 C C C C A
0 0 ;! B B B 0 B @ ...
A(n;1) b(n;1)
0 .. . . . . . . . 0 0 0
1 C C C : C A
PA = LR
(II:2:3) 1 01 ... 1
0 r11 R=@
01 B l21 L=B @ ..
.
ln1 ln2
C C 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 ;l21 1 0 0C B B (1) ; l 0 1 0 0C B C = L1 A A = B .31 . @ .. .. . . . . . . C A ln1 0 0 1 0; 1 0 0 01 0 1 0 0C B B (2) 0 ; l 1 0 0C B C = L2 A 32 A =B. . ... C @ .. .. A 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 B 0 C B C ... B C B C B C 0 : Li = I ; Vi donde Vi = B C B C li+1 i 0 B C B .. .. . . . C @ A . . lni 0 0 Se puede veri car facilmente que Vi Vj = 0 para i = 1 : : : n de donde se obtiene nalemente: 1 L; i = 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
Ly = b Rx = y:
(II:2:6)
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:
Para evaluar cuantas operaciones son necesarias para llegar a la descomposicion LR de una matriz A 2 Mn ( ), 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 + =
n ;1 X i=1 Z n
0 n3
+ 22 + 12
i2 x2 dx
(II:2:8)
= 3:
2 La resolucion de LRx = b, implica aproximadamente n 2 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
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;4x1 + x2 = 1 : (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: 21 5 l21 = a a11 = 0 100 10 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, apl quese el algoritmo de Gauss con 1 como pivote, es decir intercambiando la primera ecuacion con la segunda, se tiene: 21 ;5 l21 = a a11 = 0 100 10 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
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 a11 x1 + a12 x2 = b1 (II:2:13) a21 x1 + a22 x2 = b2 al aplicar el algoritmo de Gauss se obtiene:
21 l21 = a a 11
Si jl21 j
1 se tiene:
a(1) b(1) ;l21 b1 22 ;l21 a12 2 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.
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. ^yR ^ , llamese Si se aplica el algoritmo de Gauss, se obtiene las matrices L ^=L ^R ^ la descomposicion exacta de A: ^ A Para saber, si el algoritmo es numericamente estable, se utiliza la nocion de baackward analysis dada en cap tulo 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
^ elemento por Por consiguiente, es necesario estimar la diferencia A ; A elemento. Se tiene el siguiente: ^, R ^ el resultado numerico de Teorema II.2.4.- Wilkinson. Sea det A 6= 0 L la descomposicion LR con busqueda de pivote jlij j 1. Entonces
00 B 1 B B 1 ^R ^ 2a eps B A;L B 1 B @ ..
0 1 2 2 . . .. 1 2
3 .. . 3
0 1 2 3
n;1
1 C C C C C C 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: ^(0) ;! A ^(1) ;! A ^(n;1) = R ^ ;! A Sin considerar los errores de redondeo se tiene L1 A = A(1) , de donde
0 1 ;^ l21 B B ^ ; ^ B L1 = B l.31 @ ..
1 0 1
;^ ln1 0
.. .
1 C C C C A
1 ^ ;1 ^=L ^; L 1 L 2
1 ^ A;A 1 ^ ;1 L ^(1) ; A ^(2) ^R ^ =L ^; ^(1) + L ^; A;L 1 2 ^2A 1 L 1 L 1 ^ ;1 L;1 ^ n;1 A ^(n;2) ; A ^(n;1) : + L; 1 L 2 n;1 L
43
Ahora bien, los coe cientes de la matriz obtenida en el primer paso, estan dadas por a ^(1) li1 a1j (1 + 1 ) (1 + 2 ) i 1 ij = aij ; ^ que da como consecuencia ^1A ; A ^(1) =^ L li1 a1j ; a ^ij
ij
=^ li1 a1j ; aij ; ^ li1 a1j (1 + 1 ) (1 + 2 ) = ; aij 2 + ^ li1 a1j 2 + ^ li1 a1j 1 + ^ li1 a1j 1 (1) ^ ^ =;a ^ij 2 + li1 a1j 1 + li1 a1j 1 2 2a eps donde a = max a(k) i 2: i j k ij
Bajo forma matricial, el resultado anterior esta dado por 00 01 1 1C ^1A ; A ^(1) 2a eps B B L .. C : @ ... .A 1 1 Continuando con el mismo procedimiento en la demostracion, se obtiene 00 0 01 B0 0 0C ^2A ^(1) ; A ^(2) 2a eps B B C 0 1 1C L B . . . @ .. .. A .. C 0 1 1 resultados similares tambien se obtienen para los demas pasos del algoritmo de Gauss con lo que se obtiene le resultado deseado. Un caso particular de sistema de ecuaciones lineales, es donde la matriz A es: De nicion II.2.5.- Una matriz A 2 Mn( ) 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 n x 6= 0:
El Algoritmo de Cholesky
R R
44
II Sistemas Lineales
R = DLt
rnn ):
(II:2:17)
0 a11 A = @ ...
an1
a1n 1 .. A : . ann
El coe ciente a11 de la matriz A es diferente de 0, porque la matriz A es t 0). Despues del primer de nida positiva y a11 = et 1 Ae1 donde e1 = (1 0 paso del algoritmo de Gauss, se obtiene:
ai1 li1 = a
11
de donde se tiene
Por lo tanto es su ciente mostrar que C (1) es simetrica y de nida positiva. En efecto, expresando la matriz A como
a11 z t z C
se tiene Hay que mostrar que
C (1) = C ; a1 zz t:
11
x1 = a x2 + x z t y + yt zx + yt Cy > 0 11 1 1 1 y
para x1 2 y y 2 n;1 los dos no nulos al mismo tiempo. tz Planteando x1 = ; y a11 , se tiene (yt z )2 ; 2 (z ty)2 + yt Cy > 0 a11 a11 por consiguiente
R R
45
; yt Cy ; a1 yt z 2 > 0:
11
A = L1 R1 = L2 R2
dos descomposiciones de A. Se tiene
1 ;1 L; 2 L1 = R2 R1
las matrices del tipo L, como aquellas de tipo R forman subgrupos dentro el grupo de las matrices inversibles, deduciendose que
1 L; 2 L1 = I
por lo tanto L1 = L2 y R1 = R2 . Para demostrar la parte b) del teorema, se de ne la matriz L1 , como ;1 Lt 1=D R donde D = diag(r11 rnn ), hay veri car que L1 = L. Las siguientes identidades se cumplen:
A = LR = LDLt 1 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 2 = diag D1 d11 dnn : (II:2:18)
1 Si se de ne L = LD 2 , se tiene
A = LLt
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
(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
2 ; lk k;1
k(n ; k)
Zn
0
x(n ; x)dx = n 6:
(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: ^ el Teorema II.2.8.- Sea A una matriz simetrica y de nida positiva. L resultado numerico de la descomposicion de Cholesky, entonces ^L ^t A;L donde a = max ja j. ij ij
01 B 1 B B a eps B 1 @ ...
1 2 2 .. . 1 2
1 2 3 .. . 3
11 2C C 3C C
(II:2:21)
47
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 20 3 4 C B 28 C B @1 0 1 1 30 A x = @ 32 A : 2 8 ;25 4 ;11 b) Calcular la inversa de la matriz de Hilbert dada por 1 H = i+ j i j=1
n n
para n = 2 3 4 5:
2.- a) Calcular la descomposicion de Cholesky LLt para la matriz de Hilbert 1 H = i+ n = 15: j i j=1 b) Comparar el resultado numerico con los valores exactos,
; 1 (j ; 1)! (j ; 1)! : ljk = 2k(j (II:2:22) ; k)!(j + k ; 1)! >Cuantas cifras son exactas? ^ es el resultado numerico, calcular el residuo c) Si L ^L ^t A;L 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 ;1 i j = 1 n con ci = i , b) de Vandermonde (aij ) = cj i n 1 para n = 1 2 3 : : : 15. Calcular tambien n 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?
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 @ ..
.
an 1
an n;1
...
01 0C .. C .A 0
49
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 caracter sticas 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 teor a 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
2 0 0 0 0
2 0 0 1 2
01 0C 1C 2A 0
GA
50
II Sistemas Lineales
00 B=B @1 0
1 0 1 0 0
0 1 0 1 0
01 0C 1A
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
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
(II:3:9)
e(1) i
X
j
aij e(0) j
| {z }
51
Puesto que la matriz A es irreducible, entonces los coe cientes de An son todos no nulos, en efecto (An )ij =
X X
aik1 ak1 k2
akn;1 j
X
k
(A2 )lk = =
XX X X
j j k j
alj ajk
k
alj
X !
ajk
alj 1:
Por induccion matematica, se deduce la desigualdad anterior para todas las potencias de A, e incluso
X
k
(An+1 )lk = =
XX X
j X j k j
alj
X
k
(An )jk
<
alj 1:
Estas desigualdades se vuelven estrictas para No bastante grande, por ejemplo No = n + 1, por lo tanto
planteando
0 (N ) 1 N1o e o = @ (0) 1 A
e
1
52
II Sistemas Lineales
se tiene que < 1, de donde la convergencia. El mismo procedimiento se sigue para mostrar el metodo de Gauss-Seidel. Indudablemente por las consecuencias que implica el teorema de PerronFrobenius, es que vale la pena estudiarlo como un tema aparte. Es un teorema cuya demostracion ha llevado mucho esfuerzo de parte de muchos matematicos. Se enunciara este teorema sin dar una demostracion rigurosa, sino los pasos de esta. Teorema II.3.3.- Sea A una matriz no negativa irreducible, entonces: i) Existe un vector propio u, con ui > 0 respecto a un valor propio r > 0. ii) Todos los otros valores i2 propios de A son j j < 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 n , tal que ui > 0 entonces v = Au de niendo 1 ri = v ui si los ri son todos iguales, el punto i) esta demostrado sino es posible variar el vector u de manera que
El Teorema de Perron-Frobenius
antiguo obteniendo una sucesion de intervalos estrictamente encajonados, siendo el l mite r. No hay otro vector propio con ui > 0. Sea el cono
|rmin{zrmax}] 6= |rmin{zrmax}]
nuevo
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
u2K v2K
con
6= :
53
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 + t v 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 llevar a 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 o aN ij > 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 , 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.
v u
54
II Sistemas Lineales
Si j j > 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 monoton a de r se muestra, despues de hacer un analisis sobre el polinomio caracter stico. Las consecuencias del teorema de Perron-Frobenius son muchas, entre las cuales, la de mayor utilidad para el tema expuesto, reside sobre el teorema II.3.2. En efecto, como la matriz A es no negativa e irreducible existe una valor propio r > 0 mas grande en modulo que los otros. Si la suma de las lineas de la matriz A fuese igual a 1 se tendr a que r = 1, pero existe una 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 ; L x ( L + U) = x por el teorema de Perron-Frobenius, 0 si = 0 no hay nada que demostrar, si no L + U x = x:
55
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
L+ 1U =
son independientes de .
1U
(II:3:11)
Ejemplos
1.- La matriz A de nida por 0 B A= C 0 donde B y C son matrices cuadradas del mismo orden. A posee la property A. En efecto, si x y es un vector propio de A se tiene:
C C
1B
x = y x = y
x y x : y
2.- La matriz tridiagonal con coe cientes diagonales nulos, dada por
00 a B b 0 c B @ d 0 e
...
...
1 C C A
56
II Sistemas Lineales
00 B b B B @
1a
0 d
0 ...
1c
1e
...
10 1 x C B yC C B 2z C C @ A . A=
..
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. 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 s ntesis el metodo SOR esta dado por: 1) u(k+ 2 = Lu(k+1) + Uu(k) + b 1) (II:3:13) ; u(k) u(k+1) = u(k) + ! u(k+ 2 ! > 1:
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 1 U x=p x p L+ p
57
k+1) + aij u( j
uauxi =
i
X
j<i i
X
j i
k) aij u( j + bi
u(k+1) = u(k) + !
k) uauxi ; u( i :
(II:3:14)
Para ver la velocidad de convergencia de este metodo, es necesario hacer un estudio sobre la convergencia. Una iteracion de SOR puede ser escrita como es decir
u(k+1) = u(k) + !Lu(k+1) + (!U ; !I ) u(k) + !b u(k+1) = !Lu(k+1) + (!U + (1 ; !)I ) u(k) + !b
h i por lo tanto u(k+1) = (I ; !L);1 (!U + (1 ; !)I ) u(k) + !b : (II:3:15) ; 1 ( k +1) Sea un valor propio de u = (I ; !L) (!U + (1 ; !)I ) y x el vector propio asociado, entonces:
(I ; !L);1 (!U + (1 ; !)I ) x = x (!U + (1 ; !)I ) x = (I ; !L) x !Ux + (1 ; !)x = x ; !Lx !Ux = ( ; 1 + !)x ; !Lx 1 + !x ( L + U) x = ; !
p L+ p 1 U x = ;p 1 + !x !
de donde, se ha mostrado el siguiente: Teorema II.3.7.- Sea A una matriz irreducible, no negativa y con la property A. Si es un valor propio de la matriz obtenida por SOR, entonces 1+! (II:3:16) = ; !p es valor propio de la matriz A. El problema ahora, es determinar !, de manera que los valores propios sean lo mas peque~ nos posibles. Se tiene:
; 1 + ! = !p ( + (! ; 1))2 = 2 !2
(II:3:17)
58
II Sistemas Lineales
dando la ecuacion de segundo grado 2 + ;2(! ; 1) ; 2 ! 2 + (! ; 1)2 = 0: (II:3:18) Si 1 2 , las dos raices de esta ecuacion, son complejas entonces ambas son conjugadas, de donde j j = j! ; 1j : Por lo tanto, condicion necesaria para la convergencia es ;1 < ! < 2: (II:3:19) Si 1 2 son raices reales de (II.3.18), se tiene que uno de los raices es mas grande que la otra, a menos que 1 = 2 . Esto sucede cuando la parabola !p corta tangencialmente con la recta ; 1 + !. Ver gura II.3.2, por consiguiente, el discriminante de la ecuacion (II.3.18) es nulo, es decir:
De donde, se ha demostrado el: Teorema II.3.8.- El ! optimal esta dado por w = p2 2 1+ 1; y el radio espectral de la matriz SOR correspondiente es p 2 1 ; p1 ; 2 : max = w ; 1 = 1+ 1;
(II:3:20) (II:3:21)
1
raices conjugadas.
59
Una de las aplicaciones mas importantes de la utilizacion de metodos iterativos para resolver sistemas lineales, consiste en la resolucion numerica de ecuaciones con derivadas parciales de tipo el ptico. Considerese el siguiente problema tipo: ;4u = f sobre = 0 1] 0 1] (II:3:22) f j@ = 0: Utilizando el metodo de diferencias nitas, se discretiza la ecuacion de derivadas parciales con un esquema de diferencias centradas. El cuadrado es dividido en una malla uniforme de tama~ no 1 h= n+ 1 se plantea: denotando (II:3:23) (II:3:24)
xi = ih i = 0 : : : n + 1 yj = jh j = 0 : : : n + 1
uij = u(xi yj ) fij = f (xi yj ): (II:3:25) Discretizando la ecuacion para esta malla, se obtiene las siguientes ecuaciones:
i+1 j + ui;1 j ; 4ui j = f ; ui j+1 + ui j;1 + uh ij 2 u0j = 0 j = 0 : : : n + 1 un+1 j = 0 j = 0 : : : n + 1 ui0 = 0 i = 0 : : : n + 1 ui n+1 = 0 i = 0 : : : n + 1:
(i = 1 ::: n
j = 1 ::: n
i = 1 ::: n j = 1 ::: n
(II:3:26)
60 donde:
II Sistemas Lineales
u = (u11 : : : f = (f11 : : : 0B B I B B A= 1 4B @
u1n u21 : : : u2n : : : un1 : : : unn)t f1n f21 : : : f2n : : : fn1 : : : fnn )t 1 I C B I ... ... ... C C C I B IA I B 00 1 1 01 1 B=B @ 1 .. . . . . . C A I = @ ... A : .. 0 1
0p Q 11 B P Q = @ ...
pn1 Q
p1mQ .. C . A pnmQ
1
(II:3:27)
de orden nl mk. Por lo tanto, la matriz A del problema se escribe como 1 (B I + I B ) : A= 4 Para hacer estimaciones del costo de operaciones, al encontrar la solucion con un error jado de antemano, es necesario determinar la condicion de la matriz A, como as mismo el radio espectral de A para determinar la velocidad de convergencia de los metodos de Jacobi, Gauss-Seidel y SOR. Para tal efecto, se tiene la: Proposicion II.3.10.- El producto tensorial de matrices veri ca la siguiente propiedad (B C ) (D E ) = BD CE: (II:3:28) Demostracion.- Se deja como ejercicio Sean, yk y k el vector y el escalar respectivamente, de nidos por: n yk = sin( nki ) + 1 i=1 (II:3:29) k ) = 2 cos( k n+1
61
puede veri carse como ejercicio que yk es un vector propio de B asociado al valor propio k . Se tiene, utilizando (II.3.28)
A(yk yl ) = 1 4 ((B I )(yk yl ) + (I B )(yk yl )) =1 4 ( k + l )(yk yl ) de donde se ha demostrado el: Teorema II.3.11.- Los valores propios de A estan dados por:
1 1 k l 4 ( k + l ) = 2 cos( n + 1 ) + cos( n + 1 ) : (II:3:30)
La matriz B es tridiagonal con los coe cientes de la diagonal nulos, por consiguiente tiene la property A, veri car el segundo ejemplo sobre esta propiedad. Como la matriz A es igual a la suma de dos productos tensoriales entre B y I , esta tambien veri ca la property A. Conociendo los valores propios de A, se esta en la posibilidad de aplicar los teoremas relativos a la convergencia de los metodos de Jacobi, Gauss-Seidel y SOR. Utilizando el anterior teorema, se tiene que el valor propio maximal de A es igual a (II:3:31) max = cos( n + 1 ): Recordando el metodo de Jacobi se tiene:
i = 1 : : : n2
62
II Sistemas Lineales
obteniendose as el numero de iteraciones necesarias para conseguir una precision relativa de 10;m. Por las siguientes relaciones: n 10;m 1 N ln max ;m ln 10
N ln 1 ;
por lo tanto
2(n + 1)2
2
;m ln 10
1 mn2 : N = 2m 22:3 (n + 1)2 2 (II:3:32) Ahora bien, una iteracion equivale mas o menos 4n2 operaciones, de donde el trabajo necesario es 2mn4 operaciones. Considerando, que el metodo de Gauss-Seidel se realiza en la mitad de operaciones respecto al de Jacobi, y por el teorema II.3.6, el numero de iteraciones para llegar a una precision relativa de 10;m es la mitad de Jacobi. Las siguiente tabla indica el numero de operaciones, tiempo para diferentes precisiones requeridas. Tabla II.3.1. Valores para el metodo de Jacobi.
n 10
100 1000
Para el metodo de Gauss-Seidel los valores, se obtienen de la tabla II.3.1, dividiendo por 4 los valores para numero de operaciones y tiempo de calculo. En este tipo de problema es donde se ve la verdadera potencia del metodo SOR, respecto a los metodos de Jacobi y Gauss-Seidel. Para estimar el tiempo de calculo, como el numero de operaciones es necesario estimar ! optimal, como tambien max del teorema II.3.8. Utilizando desarrollos de Taylor para la raiz cuadrada, como para el cociente, se obtiene: umax 1 ; n2+ 1 (II:3:33) !op 2 1 ; n + 1 :
63
Por lo tanto, el numero de iteraciones para obtener una precision relativa de 10;m es approximadamente igual a
N 0:4mn:
Para una precision de 10;6 se tiene la siguiente tabla:
(II:3:34)
!op 1 42
1 93 1 9937
f=
1=4 3=4]
(II:3:34)
64
II Sistemas Lineales
Ejercicios
1.- Para resolver iterativamente el problema Ax = b, se considera la iteracion Mx(k+1) = Nxk + b con A = M ; N: Determinar M y N para los metodos de Jacobi y Gauss-Seidel. Programar los dos metodos y aplicarlos al problema
0 4 ;1 0 ;1 1 0 3 1 1 4 ;1 0 C B ;3 C B @; 0 ;1 4 ;1 A x = @ 7 A
; 1 0 ;1 4
1
la solucion exacta es x = ( 1 0 2 1 ). Estudiar la velocidad de convergencia x(k+1) ; x x(k) ; x para los dos metodos. 2.- (Estudio de la demostracion del Teorema de Perron-Frobenius). Sea
Para un vector positivo u dado, se calcula v = Au y se de ne ri = vi =ui. Para el vector u = (1 1 1 1)t se obtiene de esta manera r1 = 1=2, r2 = r3 = r4 = 1. Modi car este vector con peque~ nas perturbaciones, para llegar a 1 2 < ri < 1 para todo i: 3.- (Un teorema de la teor a de grafos). Se da un grafo conexo de n nudos y se de ne una matriz A por
aij =
65
1
Ejemplo:
2
3 4 5
0 1 B B B () A = B B @
1 1
1 1 1
1 C 1C C 1C C A
Demostrar: Sea r el valor propio maximal de A, entonces se tiene siempre p r> 3 excepto en los casos: r=1 para un grafo p 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 b1n C 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:2) (II:4:2)
@f = 1 X a x + 1 X x a ; b = 0: @xk 2 j kj j 2 i i ik k
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 cr tico de la funcion f , pero como A es de nida positiva, se tiene que f posee x como un m nimo.
67
donde es el angulo entre rf (xo ) y x ; x0 . Como se busca que f (x) sea m nimo, 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
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: 1 (x ; x )t A(x ; x ) f (x) = f (xo ) + hrf (xo ) x ; xo i + 2 o o t = f (xo ) + kx ; x0 k krf (xo )k cos + 1 2 (x ; xo ) A(x ; xo )
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 k kt k k k k G( ) = 1 (II:4:7) 2 (x ; g ) A(x ; g ) ; (x ; g )tb de donde, el m nimo de G esta en k , dado por gk t gk : (II:4:8) = k gk t Agk Una ilustracion de las iteraciones del metodo del gradiente esta dada en la gura II.4.1.
x 3 x
2
x1
68
II Sistemas Lineales
Planteando hk = Agk , se tiene la version algor tmica del metodo del gradiente: 1 x := xo 2 g := Ax ; b 3 Si jgj TOL, entonces FIN 4 h := Ag hg gi 5 := h g 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 = entonces
max min
= cond2 A
xk ; x
;1
+1
x0 ; x
(II:4:9)
donde x es la solucion exacta. Ademas, se tiene el: Teorema II.4.3.- Existe, x0 tal que
xk ; x =
+1
;1
x0 ; x :
(II:4:10)
vectores propios de A, el problema (II.4.2) puede formularse como 1x t ^ ; c ! min 2 ^ Ax 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 ^x A ^ = @ ... A x ^ = 0: (II:4:12)
69
^. Planteando Por lo tanto, se puede suponer que A tiene la forma de A x0 i = 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: 0 g0 = xy0 x1 = x0 ; x0 = (1 ; )x0 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.
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. 1 xt Ax ; xt b, donde A es una matriz Proposicion II.4.4.- Sea f (x) = 2 simetrica y de nida positiva. Sea d una direccion, entonces los m nimos de f (x) sobre las rectas paralelas a d se encuentran en el hiperplano dt (Ax ; b) = 0: (II:4:14)
70
II Sistemas Lineales
dt (A(a + to d) ; b) = 0:
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 g k k =; k d Adk xk+1 = 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
La version algor tmica esta dada por: 1 x := punto de partida 2 g := Ax ; b 3 d := ;g 4 h := Ad hd gi 5 := h d hi 6 x := x + d 7 g := g + h 8 si jgj 10;6, entonces n algoritmo g hi 9 =h hd 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) k l g g =0 l < k: Para k = 1 se tiene d0 Ad1 = 0 por construccion del metodo, g1 g0 = g0 g0 ; 0 Ag0 g0 = 0: Supongase cierto para k, por la construccion de gk+1 , se tiene gk+1 dk = 0, entonces: gk+1 gk = gk+1 dk + k;1 gk+1 dk;1
| {z }
gk+1 gl = gk gl + k Adk dl | {z }
=0
0
72
II Sistemas Lineales
Teorema II.4.8.- El error del metodo del Gradiente Conjugado, despues de l iteraciones satisface x ; xl A M x ; x0 A (II:4:20) donde !
M = inf 2R
i
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:
sup 1 + v.p. A
2+
+ l l :
(II:4:21)
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 : 1 xt Ax: x1 es el punto de E1 que minimiza f (x) = 2 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
X
ij X i
i=1
i vi t Avj j i vi
2
i i
= x0 A :
73 + l Al )
n X i=1 i vi
x k = (I + 1 A +
=
n X n X i=1
n
i=1
i (1 + 1 i +
2
+ l li )vi + l li )
xl Axl =
de donde
i i (1 + 1 i +
1 i+
xl 2 A
max 1+ :::
+ l li 2 x0 2 A:
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
Polinomios de Chebichef
min max
74
II Sistemas Lineales
grado n, Tn(x) tal que: Tn (1) = 1, Tn (;1) = (;1)n , Todos los m nimos y maximos relativos son 1 y pertenecen a (; 1 1). Teorema II.4.11.- Chebichef. Tn(x) esta dado por
Tn (x) = 1 2
x + x2 ; 1 + x ; x2 ; 1
(II:4:22)
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
Demostracion.- Este teorema sera abordado en el Cap tulo IV, motivo por
Tn (x) = cos n
donde x = cos :
(II:4:23)
(II:4:24)
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 p l xl ; x A 2 p ; 1 x 0 ; x A (II:4:25) +1 donde = cond2 (A), x la solucion exacta.
75
l
para x 1
(II:4:26)
particularmente para +1 = ; 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)
x=
Con el mismo procedimiento que para el metodo del gradiente, el metodo del gradiente conjugado necesita aproximadamente l iteraciones, de donde
l b :
(II:4:28)
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 1 xt Ax ; xt b: f (x) = 2 Se de ne x ^ como x ^ = Etx
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 1x f (^ x) = 2 ^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 ^ 1 AE ;t d ^ := E ^ 4 h D; E ^g d ^ 5 ^ := D E ^h ^ d ^ 6 x ^ := x ^ + ^d ^ 7 g ^ := g ^ + ^h ;6, entonces n algoritmo 8 si jg ^j D 10E ^ g ^h ^=D E 9 ^^ 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
dara cuenta de las sutilezas empleadas. Por consiguiente, la formulacion algor tmica 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 g i 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 caracter sticas de A. Estos son: 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
eki =
(II:4:30a)
(II:4:30b)
78 Luego se resuelve:
II Sistemas Lineales
Eg ^=g t E =g ^:
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: Eg ^=g t E =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. 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 el ptico, 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:
Resultados Numericos
xi = ih yj = jh
1 h= n+ 1
(II:4:33)
79
00 B=B @1
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
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
102
101
100 1 10
102
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
20 50 100 180
0:6 10 12 27 43 72
:65 9
12 24 35 59
:7 8
11 22 37 55
:75 7
10 18 31 46
:8 8
9 17 27 40
:8 :9 :95 :95
81
Ejercicios
1.- Mostrar que una matriz simetrica A es de nida positiva si y solamente si det(Ak ) > 0
ak1
a1k 1 .. A . akk
son los menores principales. Indicacion: Intentar con la descomposicion de Cholesky. 2.- Calcular el m nimo de 1 (x x ) 93 24 f (x) = 50 1 2 24 107
x1 ; 1 (42 21) x1 x2 x2 5
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 1 3 2 1Ax = @2A 1 1 2 3
0 1
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 :
k=
gk+1 gk
gk+1 gk
k=
gk gk : dk Adk
+ n
se separa lo menos posible de cero entre los l mites x = ;1 y x = +1, esta dada por (x) f (x) = Tn 2n :
II Sistemas Lineales
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 At Ax = At b
(II:4:35) (II:4:36)
un sistema lineal, donde A es una matriz arbitraria inversible. El sistema 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.
R R R R R
* *
*
*
*
t1
t2
tm
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 x 1 0 y1 1 1 c1 (t2 ) c2 (t2 ) cn (t2 ) C y2 C B .. A B B C B @ (II:5:5) . . @ .. @ ... C A .. A . n } ) cn (tm ) } | x {z m } | y{z | c1(tm ) c2(tm{z x 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 m nimos cuadrados, sera aquella en la que
m X i=1
em i ;! min
(II:5:8)
es decir
(II:5:9) La justi cacion del metodo de los m nimos cuadrados, esta dada por dos interpretaciones. La primera:
kAx ; bk ;! min :
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 n unico tal que A = donde = ( 1 : : : m )t . La funcion de distribucion de Yi , en Yi = yi , es igual a ; 1 ( y i ; i )2 : fi (yi ) = p 1 exp ; 2 2
85
Como los Yi son independientes, el vector aleatorio Y = (Y1 : : : Ym )t tiene la funcion de distribucion m Y ; 1 ( yi ; i )2 f (y) = p 1 exp ; 2 i=1 2 donde y = (y1 : : : ym)t . Efectuando calculos, se obtiene ! m ;y ; X 1 2 i i 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) es decir
0 m X @
i=1
i=1
yi ;
n X j =1
12 ai jxj A ! min :
(II:5:12)
Se de ne el subespacio vectorial de m de dimension n dado por E = fAxjx 2 n g m la solucion de (II.5.9) esta dada por el vector x0 , tal que Ax0 ; b es m nima, 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
Interpretacion geometrica
R R R
86
II Sistemas Lineales
m , entonces:
(II:5:13)
Las ecuaciones de la parte derecha de la equivalencia, son las ecuaciones normales del problema de m nimos cuadrados. Demostracion.- Utilizando la interpretacion geometrica del metodo de m nimos cuadrados se tiene:
RR R
n n
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 mayor a 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 n , tal que
donde:
0 1 t1 B 1 t2 A=B @ ..
. 1 tm
0 y1 1 B y2 C b=B @ .. C A:
. ym
87
Por lo tanto
P tn;1 1 0 m P ti P P Pitn C 2 t t B i i i At A = B .. C @ ... A P tn;1 P tn P t2. n;1 P tn;1 1 0 i 1 i 1=m P tii 1=m P in P P 2 1 =m t 1 =m t 1 =m ti C B i 1 i C = mB .. @ ... A . P P P n ; 1 2 n ; 1 n 1=m ti 1=m ti 1=m ti 01 1=2 1=n 1 1=(n + 1) C B 1=2 1=2 mB .. C @ ... . A
1=n 1=(n + 1) 1=2n
puesto que
1 X tk : tk dt m i 0 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 cap tulo. Por lo tanto se debe formular un algoritmo donde la matriz At A no aparezca directamente. 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
Z1
La descomposicion QR
Qt Q = I
9 n > z }| { 0 r11 r1n 1> > > = ... B C B C R= @ m 0 rnn A> > > O >
A = QR:
m n
con
(II:5:14)
88
II Sistemas Lineales
Qt c 2 = kck
de donde
Por otro lado, la matriz R y el vector Qt b pueden escribirse como: 1 1 R= R Qt b = c 0 c2 donde R1 es una matriz triangular de orden n n y c1 2 n . Por consiguiente, resolver el problema (II.5.6) es resolver la ecuacion
(II:5:15)
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.
(II:5:17)
Qt = I ; 2uut t ; = I ; 2uut ; ; Qt Q = I ; 2uut t I ; 2uut = I ; 2uut ; 2uut + 4uutuut = I: La manera como actua Q sobre m es la siguiente, sea x 2 m , Qx = x ; 2uutx si ut x = 0, se tiene inmediatamente que Qx = x, de donde Q es una simetr a respecto al hiperplano fxjut x = 0g, en efecto ; Qu = I ; 2uut u = ;u:
89
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 ; 2u1ut 1 con ku1 k2 = 1, tal que . . .. . 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 : (II:5:18) Por las propiedades de norma se tiene j 1 j = kA1 k2 , por consiguiente (II:5:19) 1 = kA1 k2 Q1 es una matriz de Householder, por lo tanto: A1 ; 2u1 ut 1 A1 = 1 e1 t 2u1(u A1 | 1{z }) = A1 ; 1e1
0 1 B0 Q1 A = B @ ..
1 C: .. C A
de donde u1 tiene la misma direccion que A1 ; 1 e1 . En consecuencia, A1 ; 1 e1 : u1 = kA (II:5:20) 1 ; 1 e1 k2 Sabiendo que la sustraccion es una operacion mal condicionada cuando las cantidades a restar son cercanas, se plantea (II:5:21) 1 = ;signo(a11 ) kA1 k2 : 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: t v1 1 v1 t t 2 = 2 (A1 ; 1 e1 )(A1 ; 1 e1 ) ; kA k2 ; a ; a + 2 =1 2 1 2 1 11 1 11 1 = 1 ( 1 ; a11 ) Q1Aj = Aj ; 2u1ut 1 Aj
t Aj = Aj ; t2 v1 v1 v1 v1 t Aj : = Aj ; ( 1; a ) v1 v1
1 1 11
2R
| {z } 2
1
(II:5:22)
90
II Sistemas Lineales
0 1 B0 Q1 A = B @ ..
. 0
A(1)
1 C C A:
El segundo paso es determinar Q2 matriz de Householder, como en el primer paso, de manera que
0 1 B0 Q2 Q1 A = B @ ..
. 0 0 0
Q2 A(1)
1 0 1 B 0 C B C B 0 A=B @ ...
0
0 .. . 0
A(2)
1 C C C C A
donde
01 B0 Q2 = B @ ..
. 0
Q2
1 C C A:
Costo de la descomposicion QR
Q 1A =R | n;1 {z Q2Q} 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) + si n m se tiene (m ; n + 1)
2 3 3 n operaciones si n
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
R y los vectores v1 . En lo que se sigue, se tiene un esquema del metodo de descomposicion QR. R A R v1 v1 v2
A(1)
A(2)
1 2
R v1 v2 . . .
1 2
vn
n
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, (II:5:24) 1 2 k > 0: Si hay vectores linealmente dependientes se llega por lo tanto al siguiente resultado 0 1 r1n 1 1 R2 . . . ... A : (II:5:25) R= R con R1 = @ 0 0
Hay que observar que QR es aplicable, si las columnas de A son linealmente independientes. Si no fuesen linealmente independientes se llegar a a la situacion de obtener un i = 0, y la descomposicion en este caso ser a 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 k2 max kA k2 (II:5:23) 2 = j =1 ::: n j 2
k = rangA
{z
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. ^ el resultado numerico obtenido despues de k pasos Se de ne la matriz R como 0 1 1 ... ^2 C R ^=B B C R (II:5:26) @ A: k 0 0 Planteando ^ = QR ^ A (II:5:27) se tiene la: De nicion II.5.2.- k+1 es despreciable, si y solamente si ^ A;A Se tiene, por consiguiente: ^ = Q(R ; R ^) A;A kAk2 = kRk2 ^ = R;R ^ A;A
2 2 2
eps kAk2 :
(II:5:28)
de donde
k+1 despreciable
^ () R ; R
eps kRk2
1
()
k+1
eps 1:
El problema (II.5.6) tiene una solucion unica, si el rango de la matriz A es igual a n y esta dada por
(II:5:30)
93
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 , se tiene t 2 kAx ; bk2 2 = Rx ; Q b 2 R1 x1 + R2 x2 ; c1 2 ;c2 2 2 kR1 x1 + R2 x2 ; c1 k2 + kc2 k2 2 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)
La matriz
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 af n. 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 m 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: 1 x2 arbitrario F= x ;1 (c1 ; R2 x2 ) x2 x1 = R1 2 2 kxk2 2 = kx1 k2 + kx2 k2 ;1 (c1 ; R2 x2 ) 2 + kx2 k2 ;! min : = R1 (II:5:35) 2 2
II Sistemas Lineales
(II:3:36)
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 expl cita 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 B B B t U AV = B B B @
... 0
1 C C C nC C C A
con:
k+1 =
>0 = n = 0:
k
(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 V t At AV = B @ 0 B B B AV = U B B B @
2 1
...
1 C A
con
... 0
1 C C C nC C C A
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 0 AV = ( U1 U2 ) D 0 0 = ( U1 D 0 )
95
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 :: 0 ^)t , donde x ^ 2 n;k , obteniendo: | :{z }x
0 xt V t At AV x = xt B @
2 1
...
Se de ne U1 por
8x ^:
1 C Ax = 0
U1 = (AV )1 D;1 obteniendo columnas ortonormales, ya que ; ;1 U1tU1 = D;1 (AV )t 1 (AV )1 D = I Finalmente se construye U2 , de manera que U sea ortogonal. Teorema II.5.6.- Sea A una matriz de m n, siendo U t AV =
0 B =B @
1
...
1 0C C A
(II:5:38)
B A+ = V B @
...
;1
0C C U t:
(II:5:39)
2 2
= U ( V t x ; U t b) 2 2= = k y ; ck2 2=
V t ; |{z} U tb |{z} y c 2
2 2
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
;1 x =V D 0 c1 ;1 c1 =V D0 0 0 c2 ;1 t =V D0 0 0 V b =A+ 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).
Retomando la interpretacion estad stica del metodo de los m nimos 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 m nimos cuadrados da como solucion (x1 : : : xn )t , que por (II.5.30), es igual a x = (At A);1 At b:
97
m X
Por lo tanto
(II:5:41) ij (bj ; j ) 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 = (II:5:42) ij (Yj ; j ): j =1 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,
x ; = (At A);1 At (b ; ) o xi ; i =
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 j =1
2 V ar(Y
ij
2
j ; j)
ij
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 2 Xi : (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
i = xi
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 x = C1 0 C2 ci =
m X j =1
1 t donde C C2 = Q b:
(II:5:46)
Denotando los elementos de Qt por qij , los elementos del vector C , satisfacen
m X j =1
qij bj
ci =
m X j =1
qij (bj ; j ):
Zi =
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 m nimos cuadrados, es equivalente a estudiar kC2 k2 2 de donde el teorema, sin demostracion:
99
pendientes siguiendo la ley normal N (0 1). Entonces, la distribucion de la variable aleatoria 2 + + Z2 Z1 (II:5:48) n 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.
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 x t + y sin( t=4) = bi 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
xy
Por consiguiente:
xy 2 y
kC2 k2 = 0:0693103
corrigiendo, para el problema normalizado, se tiene
kC2 k2 2 = 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
(II:5:51)
kC2 k2 2 = 90:5225
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
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 cos sin A= ; 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 n 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
102
II Sistemas Lineales
ti 0 02 04 06 08 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 :
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 l) p( (III:1:1) n i (xi ) = yili : Si los i = 0 para i = 0 : : : k, pn se llama Polinomio de Lagrange. De nicion III.1.2.- Cuando los puntos yili satisfacen
(li ) (x ) yili = fn i
(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, podr a 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. Sin querer dar un tratado sobre la teor a 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
Bases Teoricas
105
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 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
donde yili 2 , 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
l) p( n i (xi ) = yili
pn ; qn =
k Y 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 donde yili 2 , 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:
l) p( n i (xi ) = yili
106
III Interpolacion
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) la constante Ci i es escogida de manera que p( i i (xi ) = 1. Los polinomios 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
m) donde las constantes cil m son escogidas de manera que p( i l (xi ) = 0 para l) m > l y Ci l de manera que p( i l = 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.
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 (x ; x ) p(x) = y0 + x 0 1 ; x0
para n = 2 la parabola de interpolacion esta dada por
107
ca p(x0 ) = y0 y p(x1 ) = y1 , por consiguiente es manera que p(x2 ) = y2 . Unos simples calculos
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:
1 y2 ; y1 ; y1 ; y0 : ; x x 2 0 2 ; x1 x1 ; x2
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
k=0 n X i=0
y x 0 : : : xi ]
i ;1 Y k=0
(x ; xk )
(III:1:5)
(x ; xk ) = 1.
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) =
n ;1 X i=0
y x0 : : : xi ]
i ;1 Y
k=0
(x ; xk )
a = y x0 x1 : : : xn ]:
108
III Interpolacion
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) 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
] ; y x0 : : : xn;1 = y x : : : x ] a = y x1 : : : xn 0 n xn ; x0 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 ]
x1 x2 ]
& y x0 % x2 x3 ] & yx % 1
x .. 3 x4 ] . . . .
: : : x3 ]
:..: : x4 ] . . . .
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
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)
sucesion de numeros reales, se de ne el operador de diferencias nitas retrograda de orden k de manera recursiva como sigue: (III:1:8a) (III:1:8b) (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 i ;1 X 0Y
(III:1:9)
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 ri y i X nY
(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 Interpolacion
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.
x0 r0 y0 xn r0 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 r2 yn;1 1 ry x2 r0 y2 r y1 r y0 xn;2 r0 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 r0 yn;4 . .
.. .. . . .
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
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. 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)
El Error de Interpolacion
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
(III:1:12)
112
III Interpolacion
p(x) = p(x) +
n Y
k=0
(x ; xk )y x0 : : : xn+1 ]
p(x) = p(x) +
n Y k=0
Ejemplo
Para el ejemplo de la implementacion 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
f (x) = x ;1 2 f 0 (x) = ; 1 2x 1 x; 3 2 f 00 (x) = 4 ;5 2 f (3) (x) = ; 3 8x 15 x; 7 2 f (4) (x) = 16 para x 2 1 1 69], lo cual implica que el por consiguiente f (4) (x) 15 16 p 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 16 4! p1 4 ; p(1 4) 3 45:10;5:
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
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
x2 a b]
(x ; xn )j ;! min ?
(III:1:13)
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
Polinomios de Chebichef
(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
(III:1:15)
1 Tn cos 2k2+ n
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 Interpolacion
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)
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 > x2 max jT (x)j = 1: (III:1:19) x2 ;1 1] ;1 1] n
T2(x)
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. k + 1) , entonces Teorema III.1.17.- Si xk = cos (2 2(n + 1)
x2 ;1 1]
max j(x ; x0 )
(x ; xn )j
es minimal respecto a todas las divisiones x0 < x1 < : : : < xn con xi 2 ;1 1]. Demostracion.- Se tiene: (x ; x0 ) (x ; x0 ) (x ; xn ) = Tn+1 (x)2;n (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
b + b ; ax x ^k = a + 2 2 k
donde los xk son los ceros del n + 1-simo polinomio de Chebichef.
(III:1:20)
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 Interpolacion
durante la demostracion de este teorema se vio de manera expl cita la forma que deb a tener este polinomio, recordando se enuncia el siguiente teorema: Teorema III.1.18.- Sean (xi yi), i = 0 1 : : : n, los xi diferentes entre si, p(x) el polinomio de grado n que satisface p(xi ) = yi . Entonces
p(x) =
donde
n X
(III:1:21) (III:1:22)
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 j i 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 y i i n X j i j jyi j jli (x)j i=0 n X eps jyjmax jli (x)j i=0 n X eps jli (x)j : i=0
(III:1:23)
Ejemplos
j a) Para la division equidistante xj = ;1 + 2 n , j = 0 : : : n. Se puede mostrar que la constante de Lebesgue se comporta asintoticamente, cuando n ;! 1, como 2n+1 (III:1:24) n en log n
117
En el ejercicio 7 de esta seccion, se indica como se calcula numericamente estas constantes, en la tabla III.1.1 estan los resultados de estos calculos. 2j + 1 , se b) Para la division con puntos de Chebichef xj = ; cos 2 n+2 puede mostrar que la constante de Lebesgue se comporta asintoticamente, cuando n ;! 1, como
n
2 log n:
(III:1:25)
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
5
III Interpolacion
puntos equidistantes 5
puntos Chebichef
0 0
0 0
1 n=30 n=40
0 0
0 0
119
En esta subseccion, se analizara el problema de la convergencia de la interpolacion. Sea f : a b] ;! , para cada entero natural se considera una subdivision de a b] dada por
n) (n) x( 0 < x2 < n) < x( n
Convergencia de la Interpolacion
pn (x) el polinomio de interpolacion respecto a esta subdivision. Se desear a saber que sucede cuando n ;! 1, es decir
n!1 jf (x) ; p(x)j ; ;;;; ! ?:
Teorema III.1.20.- Sea f 2 C a b] tal que f (n) (x) o M para todo n1(n n) n) x 2 a b] y para todo n 2 , sea x0 ) < x( < x( n una sucesion de 2 <
n!1 max jf (x) ; pn(x)j ; ;;;; !0
(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
(n+1) ( ) jf (x) ; pn (x)j = (x ; x(0n) ) (x ; x(nn) ) f(n + 1)! n+1 n!1 ;;;; ! 0: M (b ; a) ;
(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 Interpolacion
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 max n = g2C 0 a b] g6=0
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 )
donde En (f ) = qinf kf ; qk1 . 2P
n
(III:1:26)
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 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
Como n es la norma del operador Ln , consecuencia del teorema de Banach-Steinhauss, se tiene que, cualquiera sea la sucesion de subdivisiones n) (n) x( 0 : : : xn , 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 !(f h) = t max jf (t) ; f (t0 )j : (III:1:27) t0 2 a b]
jt;t0 j h
Se veri ca facilmente las propiedades siguientes del modulo de continuidad: i) la funcion h ! !(f h) de nida sobre + es positiva, creciente y subaditiva, es decir: 8h1 h2 0 !(f h1 + h2 ) !(f h1 ) + !(f h2 ), ii) si n 2 , !(f nh) n!(f h) si 2 + , !(f h) (1 + )!(f h), iii) si f 2 C 0 a b], h lim !(f h) = 0 y la funcion h ! !(f h) es continua ! 0 sobre + , 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
N R
a : En (f ) M! f b ; 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
jn (t) =
0 1 B sin @ n
2 t sin 2
(p+1)t
14 C A =
donde n es escogido de manera que ; jn (t)dt = 1, es evidente que jn puede escribirse bajo la forma Planteando g(t) = f (jcos tj), esta claro que g es una funcion par, continua sobre y periodica de periodo , ademas !(g h) !(f h) porque jt ; t0 j
n X
!4
(III:1:29)
122
III Interpolacion
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 de donde
;
Z
;
Z Z;
2
; Z
0
!(g t)gn(t)dt
tjn (t)dt
C n
ver ejercicio 12, por lo tanto se tiene 1 ): jg(s) ; 'n (s)j 2(1 + C )!(g n Se remarca que
Z Z;
;
Z
;
g(t) sin(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 , 'n (s) = pn (cos s), por consiguiente se tiene
x2 0 1]
max jf (x) ; pn (x)j max jf (jcos sj) ; pn (cos s)j = max jg(s) ; 'n (s)j s2R s2R 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)).
Corolario III.1.24.- Teorema de Weirstrass. Sea a b] un intervalo cerrado y acotado de , entonces el conjunto de las funciones polinomiales es denso en C 0 a b] para la topolog a de la convergencia uniforme Demostracion.- En efecto, por la propiedad iii) del modulo de continuidad, se tiene que lim ! f b ; a = 0
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 (p) b ; a : En (f ) M p+1 n(n ; 1) ! f (III:1:30) (n ; p + 1) n;p
n!1
123
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) (n ; p ) ! f n;1;p : Se puede mostrar, ver Crouzeix, Cap tulo I.3, que existe q 2 R Pn;1 tal que kf 0 ; qk1 = En;1 (f 0 ). Planteando por lo tanto p(x) = ax 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 a M b ; a k'0 k En (f ) = En (') M! ' b ; 1 n n de donde (b ; a)p+1 ! f (p+1) b ; a : En (f ) M p+2 n(n ; 1) (n ; p) n;p;1
Utilizando las estimaciones dadas para las constantes de Lebesgue y el teorema III.1.21, se obtiene las mayoraciones siguientes del error de interpolacion de Lagrange si f 2 C p a b]: a) En el caso que los xi son equidistantes, a)p 2n ! f (p) b ; a kf ; pn k1 Cp (nbp; +1 log n n;p
124
III Interpolacion
b) En el caso de los puntos de interpolacion de Chebichef n (p) b ; a kf ; pn k1 Cp (b ; a)p log np ! f 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 h lim !(f h) log h = 0, que es el caso si f 2 C 1 a b]. !0 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. 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 permit a 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.
Fenomeno de Runge
0 0 n=5
1 1
0 0 n=10
1 1
0 0 n=15
1 1
0 0 n=20
125
0 0 n=5
1 1
0 0 n=10
1 1
0 0 n=15
1 1
0 0 n=20
f (x) =
1 1 + 25x2
n) (n) funcion que es inde nidamente derivable. Sean x( 0 : : : xn 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 1 i y en z = ; 1 i. plano complejo, se tiene que f (z ) tiene polos simples en z = 5 5 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
c 1 1
n) (x ; x( n )
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 n (z ) C z;x
n) (n) se veri ca que q(x( i ) = f (xi ), de donde se ha mostrado el teorema siguiente.
126
III Interpolacion
Entonces el error de interpolacion esta dado por Z f (z) n (x) f (x) ; pn (x) = 21 (III:1:32) i C z ; x n (z ) dz 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 n (x) < 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
n!1
lim
s
n
n (x) n (z )
< 1:
(III:1:33)
De niendo G(z ) por 1 < f(z + 1) log(z + 1) + (1 ; z ) log(z ; 1)g ; 1 G(z ) = exp 2
Z1 1 lim ln j n (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
(III:1:34)
127
se obtiene que
lim n j n (z )j = G(z ): n!1 Si x 2 , la funcion G es igual a (x+1) + 1 ln(1 ; x)(1;x) ; 1 G(x) = exp 1 2 ln(x + 1) 2 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
Ejercicios
1.- Demostrar por induccion
y x0 : : : xn ] =
n Y X n X j =0 j =0
yj
4ny0 =
1 x ; i6=j j xi n y (;1)n;j : j j
2.- Supongase conocidos los valores de la funcion de Bessel Z J (x) = 1 cos(x sin t)dt:
0 0
128
para los puntos equidistantes xi = x + 0 + ih, i 2 . 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 ). i a) xi = ;1 + 2 n. 2i + 1 ). b) xi = cos( 2 n+2 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
III Interpolacion
f (x) ; p(x) =
Z x1
x0
()
Dibujar la funcion G(x ). Deducir de ( ) el resultado del teorema III.1.13. n x;x ) Y j . 5.- Sean x0 < x1 < < xn y li (x) = ((x ; x i j) j=0 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. 6.- Si la funcion f : x0 x1 ] ;! x0 < a < b < x1 , entonces
i=0
129
jli (x)j
n X
n = 10 20 : : : 100
a) para la division equidistante xi = ;1 + 2i=n, i = 0 1 : : : n b) para los puntos de Chebichef. Calcular el maximo de f (x) = jli (x)j sobre xj;1 xj ] con la busqueda i=0 de Fibonacci:
10
= ( 5 ; 1)=2
x0
x1
x0
x1
x0
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): 0 ) : : : y estudiar Utilizar la formula de Newton con (x0 y0 ), (x0 + y0 + y0 su l mite 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 1 n! c1 > 0 tal que 8n > 1 f (sn ) c ln n .
130
III Interpolacion
Sean fx0 x1 : : : xn g n + 1 puntos equidistantes sobre el intervalo a b] con x0 = a y xn = b. Mostrar que existe una constante C2 tal que n Y C2 e;n (b ; a)(n+1) : p 8n > 1: xmax ( x ; x ) i 2 a b] i=0 n ln n 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 cos ; cos Y j con = arccos((2x ; (a + b))=(b ; a)) ^ li ( ) = cos i i ; cos i j j=0
i = 0 : : : n. a) Mostrar que:
n = max 2R n X i=0
j6=i
! n X ^
i=o
li ( )
Z si F ( ) = 21 signo('n ( ; s))'n (s)ds entonces ; Z Z (n+1=2) j j 2 1 j'n (s)j d d = n 3 n kF k1 = ; 0 4 1 n ; n;1 = 2 + O 3 cuando n ! 1 n n 4 ln n cuando n ! 1: n 2
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.
'n ( ) = 1 + 2
n X k=1
i=0
132
III Interpolacion
< 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] ;! un spline con s(xi ) = yi , f : a b] ;! 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 Zb s00 (x)]2 dx f 00 (x)]2 dx:
RR
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
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
{z
Zb
s00 (x) f 00 (x) ; s00 (x)]dx = | s00 (x) f 0 (x ) ; s0 (x)]jb a {z } a = 0 por (III:2:2)
;
=; =;
Zb
a n X j =1 n X j =1
Z xj
xj;1
f 0 (x) ; s0 (x)]dx
133
En este paragrafo, se determinara expl citamente 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] ;! , el spline tal que s(xi ) = yi . Llamando si = sj xi;1 xi ] : xi;1 xi ] ;! . Por consiguiente se busca una representacion de si , utilizando los siguientes datos:
yi;1
yi
pi = s0i (xi ):
(III:2:4)
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:
(III:2:6) (III:2:7)
si (x) =yi;1 + y xi;1 xi ](x ; xi;1 ) )(x ; xi ) (p ; y x x ])(x ; x ) + (x ; xi;12 i i;1 i i;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:
00 s00 i (xi ) = si+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 ) = 4hi i;1 i dx2 x=xi d2 ;(x ; x )(x ; x )2 = 2hi i;1 i dx2 x=xi
134 de donde:
III Interpolacion
1 s00 i (xi ) = hi 4(pi ; y xi;1 xi ]) + 2(pi;1 ; y xi;1 xi ]) 1 s00 i+1 (xi ) = hi+1 2(pi+1 ; y xi xi+1 ]) + 4(pi ; y xi xi+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: p0 + p1 = 3 y x0 x1 ] 2h (III:2:10a) h0 1 h1 n;1 + pn = 3 y xn;1 xn ] (III:2:10b) 2 ph h h
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.
0 10 02 1 1 1 0 p0 C h1 h1 h31 y x0 x1 ] B B C B B C p1 C h11 2( h11 + h12 ) h12 h31 y x0 x1 ]+ h32 y x1 x2 ] B C B C B C B C B C B C 1 1 1 3 1 3 2( + ) y x x ]+ y x x ] 0 B C B C B C 1 2 2 3 h2 h2 h3 h3 h2 h3 p2 C=B B C B C B C B C B C .. .. C B ... ... ... C B B C . . B C B C B C 1 1 + 1 ) 1A 3 y xn;2 xn;1 ]+ 3 y xn;1 xnA B C @ @ 2( ] hn;1 hn;1 hn hn @pn;1A hn;1 hn 1 3 2
hn hn
pn
hn y xn;1 xn ]
h13
2( hn1;1 + hn )
0 1 p1 B B C p2 B C B C .. B . .C . A .B B 1 @
135
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:
jpio j = max jp j i i
2 jpio j ( h1 + h 1 ) io io +1
jpio j + jpio j
hio
hio +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 Interpolacion
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] ;! 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 desear a 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
3 (4) jf 0(xi ) ; pi j h 24 f
(III:2:12)
(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 1 ;f 0 (x ) + 4f 0 (x ) + f 0 (x ) ; 3 ;f (x ) ; f (x ) (III:2:15) qi = h i;1 i i+1 i;1 h2 i+1
137
Por otra lado, utilizando el teorema de Taylor con resto en el punto xi se tiene: 2 00 (xi ) + h3 f (3)(xi ) f (xi+1 ) = f (xi ) + hf 0(xi ) + h f 2! 3! Z 1 (1 ; t)4 4 (4) (x ) + h5 (5) f +h i 4! 4! f (xi + th)dt 3! (5) + h4 3! f (xi + th)dt 0 de donde, introduciendo en (III.2.15), se obtiene
2 3 f 0 (xi+1 ) = f 0 (xi ) + hf 00 (xi ) + h f (3) (xi ) + h f (4) (xi ) 0
2! Z 1 (1 ; t)3
(1 ; t)3 ; 3 (1 ; t)4 f (5) (x + th)dt i 3! 4! 0 Z 1 (1 ; t)3 ; 3 (1 ; t)4 f (5)(x ; th)dt: + h3 i 3! 4! 0 Utilizando el teorema del valor medio y calculando la integral
qi =h3
Z1
(1 ; t)3 ; 3 (1 ; t)4 dt = 1 3! 4! 60 0 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
Z1
(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 h 2 jqio j :
III Interpolacion
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) jp(x) ; s(x)j 240 para x 2 xi;1 xi ]: (III:2:17) 1
p(x) =yi;1 + y xi;1 xi ](x ; xi;1 ) )(x ; xi ) (f 0 (x ) ; y x x ])(x ; x ) + (x ; xi;12 i i;1 i i;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 )(x ; xi ) (f 0 (x ) ; p )(x ; x ) p(x) ; s(x) = (x ; xi;12 i i i;1 hi + (f 0 (xi;1 ) ; pi;1 )(x ; xi ) por lo tanto 4 (5) 1 jx ; xi j + jx ; xi;1 j] jp(x) ; s(x)j jx ; xi;1 j jx ; xi j h f 60 h5 f (5) : 240 1
139
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:
i=0 1 i=0 1
1
(III:2:19)
jf (x) ; p(x)j
(x ; x0 )2 (x ; x1 )2 h4 f (4) : 384
f (4) 4!
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
(III:2:20)
III Interpolacion
C0 = 3y x0 x1 ] ; 2^ p0 ; p ^1
Sea io 2 f0 1 : : : ng, tal que
Cn = 3y xn;1 xn ] ; 2^ pn ; p ^n;1 :
141
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:
Zt
0
Z1
0
f 00 (x0 + th)dt
Zt
0
Z1
0
f 00 (xn ; th)dt:
C0 = 3f 0 (x0 ) + h
Z1
0
;h
Z1
de donde
142
III Interpolacion
Si io = n, se obtiene similarmente 00 (x)j + h4 f (5) : jCn j 1 h max j f 2 x2In 60 1 La diferencia de ambos splines esta mayorada por lo tanto por )(x ; xi ) (^ jp ^(x) ; p(x)j = (x ; xi;12 pi ; pi )(x ; xi;1 ) + (^ pi;1 ; pi;1 )(x ; xi )] h
h 1 max jf 00 (x)j + h5 f (5) (jx ; x ; xi;1 j + jx ; xi j) 4 2 x2I1 In 60 1 h2 max jf 00 (x)j + h5 f (5) : 8 x2I I 240 1
1 n
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. 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.
Aplicacion de spline
143
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:
s0 (x0 ) = s0 (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
: : : pj;3 > 0 pj;2 < 0 pj;1 > 0 pj+1 < 0 pj+2 > 0 : : : :
3 <p < 2 ;h j h
144
III Interpolacion
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
1 si j = i + 2k o j = i ; 2k ; 1 con k = 0 1 : : : ;1 sino.
SPLIVA
jli (x)j,
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 l mite 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 cap tulo. 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] ;! , se desea determinar (III:3:1) lim f (x) 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 xn ; x + p (x) x ; x0 : p(x) = p1 (x) x (III:3:4) 2 x ;x n ; x0 n 0
sabiendo que se puede determinar sin ningun problema f (h) para h > 0. Los otros casos de determinacion de l mite se convierten el primer caso por traslacion af n, o planteando h = 1=x si se desea determinar el l mite 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
+
146
III Interpolacion
xn ; xi p (x ) + xi ; x0 p(xi ) = x 1 i xn ; x0 n ; x0 x x0 x ; x i n i = yi x ; x + x ; ; n 0 n x0
para i = 0 y i = n veri cacion inmediata. Corolario III.3.2.- Con las mismas hipotesis del teorema precedente, se tiene n ; p2 (0)x0 p(0) = p1 (0)x xn ; x0 (III:3:5) ; p2 (0) : = p1 (0) + p1x(0) n =x0 ; 1
Ahora bien, volviendo al problema de extrapolacion, sea f : (0 1] ;! 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
h!0+
De niendo pj k el polinomio de interpolacion de grado (hi f (hi )), j ; k j se tiene por consiguiente
p(x) = pn n (x):
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 ) k (0) ; pj ;1 k (0) : pj k+1 (0) =pj k (0) + pjh =h ; 1
j ;k;1 j
(III:3:7a) (III:3:7b)
III.3 Extrapolacion
147
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.
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 .
h0 h1 h2 h3 h4
Ejemplo
(;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
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 Interpolacion
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) k (0) ; pj ;1 k (0) : pj k+1 (0) = pj k (0) + pjn j ;k;1 =nj ; 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] ;! , 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
+1 8k con 0 k ko Tm k = a0 + O(hk m;k ):
(III:3:9)
(III:3:10)
con lm k i (h) =
j=m;k hi ; hj j6=i
Tmk ; a0 =
m m X Y
III.3 Extrapolacion
149
1 , mientras que j =hi por Si j < i, se mayora h h 1 ; ri;j j =hi ; 1 rj;i , nalmente jR (h )j por j =hi si i < j , se mayora h h por k+1 i 1 ; r j ;i j =hi ; 1 ; Ck+1 ri;m+k hm;k k+1 , deduciendo
+1 jTm k ; a0 j C (k r)Ck+1 hk m;k
donde C (k r) es una constante independiente de m. La convergencia hacia a0 es obtenida en cada una de las columnas del tablero, para la primera columna la convergencia es O(hm ), para la segunda columna la velocidad de convergencia esta dada por O(h2 m;1 ), y para la +1 k-esima columna la velocidad de convergencia es igual a O(hk m;k+1 ). Por consiguiente, si a1 6= 0 la convergencia de la k-esima columna es k veces mas rapida que de la primera columna. Las sucesiones de Romberg y Bulirsch satisfacen las condiciones del teorema III.3.3 con r = 1=2 y r = 3=4. Sin embargo la otra 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:
+1 8k con 0 2k ko Tmk = a0 + O(hk m ):
(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 i=m;k
i=m;k
qk (0) ;
III Interpolacion
lm k i (0) =
m Y
j=m;k j6=i
m Y i = hj ; hi j=m;k i ; j
hj
k y k+1 de donde jR2k+1 (hi )lm k i (0)j C2k+1 i C2k+1 y0 i 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.
j= 6 i 2 k +1 h ik
Ejercicios
1.- Sea f : (0 1] ;! 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 unp procedimiento p de extrapolacion, ejemplo p1por 1 = 1, 1 21 = 1 1, 1 44 = 1 2, 1 69 = 1 3 96 =14 p1 9881 = 1 41, : : :.
xn + a1 xn;1 +
+ an;1 x + an = 0
(IV:1:1)
C C
Tal como se dijo en la introduccion de este cap tulo, 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
2
b x+ 2
obteniendo, as dos raices:
+ c ; b4 = 0
b + b2 ; c x = ; b ; b2 ; c: x1 = ; 2 2 4 2 4
(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 x3 ; 3px ; 2q = 0:
Ahora bien, si se plantea x = u + v, se obtiene
(IV:1:5) (IV:1:6)
u3 + v3 = 2q
por consiguiente u3v3 = p3 , mostrando as que u3 v3 son las raices del polinomio de segundo grado
2 ; 2q
uv = p
+ p3
(IV:1:7)
IV Ecuaciones No Lineales
u3 = q + q2 ; p3 x= q+ q
v 3 = q ; q 2 ; p3
q p2 3
; p3 + 3
q p 2
q ; q ; p3 :
(IV:1:8)
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 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: (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:
2 x1 = ; + 2; 4(z + ) p 2 ; 4(z + ) ; ; x =
x4 =
) ):
155
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 anal ticos 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. Como se dijo anteriormente, al no poder calcular expl citamente 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
Localizacion de Ceros
p(x) = a0 xn + a1 xn;1 +
si x es una raiz, se tiene
+ an
n ;a a :
0
a1 xn;1 ; a2 xn;2 + xn = ; a a
0 0
an 1 0 ;a 0 xn;1 1
1 0 F matriz de Frobenius
C C B xn;2 C C B .. C C @ A .x A 1 }
156
IV Ecuaciones No Lineales
de donde p(x) = 0, si y solamente si x es un valor propio de F . Por lo tanto la 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 cap tulo 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 i jxj max 1 (IV:1:14) a :
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 ai : jxj 0max 1 + (IV:1:15) i n a
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
s
i
ai a0
s
n
an 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
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,
Se considera la ecuacion
por eso que se puede suponer que p(x) 2 x]. Por otro lado, cuando los polinomios tienen raices de multipliciad mayor a 1, la mayor parte de los algoritmos no funcionan, debido a la inestabilidades que se pueden presentar, o a las caracter sticas propias de los metodos empleados. Sea p(x) 2 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.
157
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. p(xk ) , donde p(x) es el polinomio a determinar | xk+1 = xk ; p 0 (xk ) sus raices. El problema consiste en determinar todas las raices reales de p(x) = 0, suponiendo que se ha encontrado la primera raiz, se podr a utilizar nuevamente el 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 (x) q(x) = xp; (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
Metodo de Newton
158
IV Ecuaciones No Lineales
k X i=1
Introduciendo el logaritmo y derivando se obtiene: log q(x) = log p(x) ; log(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
p(x) =
12 Y
j =0
+ 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
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 con valores reales, continuamente derivables es una sucesion de Sturm, si: 0 (x )f1 (x ) < 0 si f0 (x ) = 0, x 2 . a) f0 b) fj;1 (x )fj+1 (x ) < 0 si fj (x ) = 0, 1 j n ; 1. c) fn (x) no cambia de signo sobre 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].
Sucesiones de Sturm
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 ; fj ;1 + fj fj+1 ;
x x + + + 0
fn;1 fn
x ;
+
fj;1 ; fj fj+1 + x x +
0 +
x ;
;
0 +
x +
;
+
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) 2 f (x) f1 (x) = g2 (x)f2 (x) ; 2 3 > > > . .. > > : 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.
161
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 j j 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
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 , mostrar que todas las raices satisfacen la estimacion s s ) ( s a a a 1 1 n ; 1 n ; 1 n an j j 2 max a : : : a0 a0 2a0 : (IV:1:23) 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 y sea una raiz de multiplicidad p. Mostrar que la sucesion fxk g, de nida por f (xk ) xk+1 = xk ; p f 0 (x )
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 1 2z 3 + 1 zk+1 = (zk ) con (z ) = z ; z ; = : 3z 2 3z 2 Denotese por Aj = z0 2 zk ! e2i j=3 , j = 0 1 2 los canales de atraccion. Mostrar: a)A0 \ = ; f 0 1 : : :g donde 0 = 0 y k;1 = ( k ), b)Aj+1 = e2 i=3 Aj , c)Calcular ;1 (0) y ;2 (0) con la formula de Cardano. Esto muestra que el sector fz 2 j j arg(z )j < =3g contiene puntos que no convergen hacia 1. d) Supongase que k (z ) = 0 para un k 2 . Mostrar que U \ Aj 6= (j = 0 1 2) para cada vecindario U de z .
RR
f (x) = 0:
(IV:2:1)
Esta claro, que ser a rid culo 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 1 f (x) = x3 sin x (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
b1 + b2 + + bn (IV:2:3) f (x) = x ; a1 x ; a 2 x ; an 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 l mite 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 necesitar a 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 car a estudiar el signo de f 0 (x), por consiguiente se estar a 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 ;! 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.
La funcion
Ejemplo
Sea f : (;1 1) ;! 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.
165
En este paragrafo, se supondra que f : a b] ;! 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 cap tulo, 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) 0
y=f(x)
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 00 f (x) ; L(x) = 1 (IV:2:6) 2 f ( )(x ; x0 )(x ; x1 ) 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
f () ; 0=1 2 f 0 ( 0 ) ( ; a)( ; b)
donde y 0 son numeros que pertenecen a I . Demostracion.- Por (IV.2.6), se tiene
00 f( ) = 1 2 f ( )( ; a)( ; b) por el teorema del valor medio se tiene
00
(IV:2:7)
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
M (b ; a)2 : j ; 0j 8 m
(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
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 cap tulo III, se tiene ) ; f (a) (x ; a) L(x) = f (a) + f (cc ;a f ( + f (a) (x ; a)(x ; c) +2 b) ; 2f (c) 2 (b ; a)
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
000 f (x) ; L(x) = 1 6 f ( )(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
(IV:2:12)
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
M (b ; a)3 : j ; 0 j 24 m
(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:
(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. 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 n ;! n , encontrar 2 U tal que
Sistemas de Ecuaciones
R R
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.
diferenciable. Si: a) f (x ) = 0 0 es inversible, b) fx 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
n abierto,
f : D ;! n continuamente
169
g :V ;! U v ;! x(v)
0 = ( fx 0 );1 . es continuamente diferenciable y ademas gv 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 0 );1 f (^ x ^ ; x = (fx x) + O(kf (^ x)k2 ) 0 );1 es casi singular, x de donde si (fx ^ ; x puede ser muy grande, aun si f (^ x) es peque~ no.
(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
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 : n ;! n continua, determinar x 2 n tal que (x) = x. El metodo iterativo esta dado por: ( x0 arbitrario (IV:2:18) xn = (xn;1 ):
R R
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 l mite 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 (IV:2:19) en+1 0 (x )en :
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 k 0 (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 j j 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:
T ;1AT = B B
B B B B B B @
... ... 1
Sea D = diag(1
B B B D;1 T ;1ATD = B B B B B B @
...
C C C : C C C C C A
... ...
...
1 C C C C C C C =J C C C C C 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
x2 + y 2 ; 1 = 0 sin x + sin y = 1 2
se desea determinar las soluciones de esta ecuacion. Convirtiendo en un problema de punto jo se tiene
x2 + y2 ; 1 (x y) = x ; A 1 sin x + sin y ; 2 y
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 cos y ;2y (f(0x y));1 = 2(x cos y 1 ; y cos x) ; cos x 2x : 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
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 cap tulo II, para resolver Ax = b es convergente. 2.- Considerese la ecuacion integral
y(x) = f (x) +
Zb
a
K (x s y(s))ds
()
K (x s y) =
n X i=1
ai (x)bi (s y)
n X i=1
y(x) = f (x) +
ci ai (x)
ci = y(x) = 1 +
Zb
a
bi (s f (s) +
n X j =1
cj aj (s))ds i = 1 : : : n:
1: = 10
Resolver el sistema no lineal para c1 c2 con el metodo iterativo. 4.- Sean J = a b] un intervalo de en el cual la funcion dos veces continuamente diferenciable f veri ca las relaciones jf 0 (x)j m, M 00 jf (x)j M , f (a)f (b) < 0. Mostrar que si 4m (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 m 2n jbn ; an j 4 Mq :
R R
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
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
f (xk ) ;0:172152 ;1:69993 10;2 ;0:213431 10;3 ;0:347355 10;07 ;:133227 10;14
e2 k =ek;1
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
kf (xk )k2
kek k2 2 = 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 ;! 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: 00 2 3 0 = f (xk ) + f 0 (xk )(x ; xk ) + 1 |x ; {zxk )} +O((x ; xk ) ) 2 f (xk ) ( e2 k 0 0 = f (xk ) + f (xk )(xk+1 ; xk ) sustrayendo ambas cantidades se obtiene 1 f 00 (x )e2 + O((e )3 ) 0 = f 0 (xk ) ( x ; x ) ; k +1 k | {z } 2 k k e2 k+1 de donde f 00 (xk ) e2 + O((e )3 ) ek+1 = 1 k 2 f 0 (x ) k
mostrando as el teorema siguiente: Teorema IV.3.1.- Sea f : I ;! , 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 f 00 (xk ) e2 + O((e )3 ) ek+1 = 1 (IV:3:3) k 2 f 0 (x k ) k
177
donde ek = x ; xk . Para el caso de una funcion de varias variables, la situacion es bastante similar, en efecto sea f : U n ;! n donde U es un abierto de n , 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
R R R
@xn C .. C . A @fn @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 i j i @xj
donde h k 2 n 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 3 00 f (x + h) = f (x) + f 0 (x)h + 1 2 f (x)(h h) + O(khk ):
0 @f1 1 B @x .. f 0 (x ) = B @ .
@f1
Teorema IV.3.2.- Sean f : U n ;! n 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
R R
(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 anal tica, 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 anal tica 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
donde t 2 , ei es el i-esimo vector de la base canonica. Ahora bien, se plantea g(t) = fj (x + tei ) dejando jo x, se tiene
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(1 + 1 ))(1 + 2 ) ; g(0)(1 + 3 ) ; g(t) ; g(0) t t 1 ng(t) + g0 (0) t(1 + ) ; g(0)(1 + ) ; g(t) + g(0)o 1 2 3 tn o 1 g(t) + g0 (0) t ; g(0) 1 3 t 2
donde j i j eps, por consiguiente error de redondeo 1 2 jg(0)j + jg0 (0)tj eps: jtj (IV:3:6)
179
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.
t = C eps
donde C es una constante elegida de acuerdo a la funcion f .
(IV:3:7)
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. n abierto y convexo, Teorema IV.3.3.- Newton-Misovski. Sean D 0 n f : D ;! continuamente diferenciable, f (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] 1 !<1 c) := 2 d) := 1 ; < 1 e) B (x0 ) = fx 2 n j kx ; x0 k g.
El Teorema de Newton-Misovski
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. k4xk;1 k2 . ii) Se tiene la estimacion k4xk k ! 2 ! 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 l mite 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 2 k4xk k ! 2 k4xk;1 k en efecto
Z1
0
Z1
0
Si x0 x1 : : : xk 2 D, entonces
=! 2 = :
! k4x k k k 2 es cierto para k = 0, supongase cierto para k ; 1, por consiguiente ! k4x k ! k4x k 2 2 = : k k;1 k k;1 2 2
0=
como
, se tiene k =
2k , puesto
que < 1
lim = 0: k!1 k
181
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 }+ +k {z; xl k } |xk+1{z; xk k 2 2 ! k ! l 2 2 4 ! (1 + l + l + ) 2 l2 : ! 1 ; l2 2 2 < 2 Para l = 0, se tiene kxk+1 ; x0 k ! = 1 ; = de 1; 2 !1; donde xk+1 2 B (x0 ). Por otro lado, 2 l2 ;! 0 cuando k l ! 1: kxk+1 ; xl k ! 1 ; l2 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 +
se plantea: de donde ^k;1 De donde ^k;1 = ! 2 k4xk;1 k
k;1 y ^k
+ kxk+1 ; xk k ^l = ^l2;1
! k4x k ^ para l l ; 1: l l 2
k k ; 2 , ademas
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
k4xk;1 k2 kxl+1 ; xk k ! 2 1 ; 2k
IV Ecuaciones No Lineales
(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) por consiguiente
Para comprender el teorema, puede ser util estudiar en un ejemplo tipo, las hipotesis del teorema y deducir las conclusiones que conducen estas hipotesis
x y2D
Ejemplo
Sea, f :
R ;! R
2
de nida por
2 x2 ; 1 2 f (x) = x1x+ ; 2 x2 1
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 2x1 2x2 f 0 (x) = ; 2x1 1 cuya inversa es igual a 1 ;2x2 : (f 0 (x));1 = 2x (1 1 2 x1 2x1 + 2 x ) 1 2 Observando una gra ca del problema se escoge como dominio D a n o D = (x1 x2 )j 1 < x x < 2 : 1 2 2 Analizando las condiciones del teorema se tiene:
183
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) 1 ;2y2 2t(y1 ; x1 ) 2t(y2 ; x2 ) y1 ; x1 = 2y (1 1 ;2t(y1 ; x1 ) 0 y2 ; x2 1 + 2y2 ) 2y1 2y1 2 (1 + y2 )(y1 ; x1 ) + (y2 ; x2 )2 : = 2y (1 t 2y1 (y2 ; x2 )2 1 + 2y2 ) Se observa inmediatamente que las componentes son positivas, mayorando respecto a y, se obtiene (f 0 (y));1 f 0 (x + t(x ; y)) ; f 0 (x) (y ; x) t 3(y1 ; x1 )2 + (y2 ; x2 )2 4(y2 ; x2 )2 2 pasando a la norma de la convergencia uniforme, se obtiene (f 0 (y));1 f 0 (x + t(x ; y)) ; f 0 (x) (y ; x) 1 2t ky ; xk infty2 de donde: b) ! = 2. c) = 0 37 < 1. 0 37 1 d) = 1 ; 0 37 2 . 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 2 t x0 = 5 6 3 obteniendo de donde 19=213 4x0 = ;; 1=21
k4x0k = 0 066 =
= 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
| 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 .
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
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
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
f 0 (x) = B @
...
...
C C 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 n abierto y convexo, f : D ;! n 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 ; x0 k d) 0 < 1, := max(! + 1 ) y
h=
e) B (x0 ) D, con
(1 ;
)2
1 2
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, ! = ! h, iii) Se de ne h = (1 ; 0 )2 1 ; 2h 1; 0 h entonces x 2 B (x0 ;) y no hay otra solucion de f (x) = 0 en B (x0 + ) \ D. =1
1 ; 2h = 1; h 1;
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
con los cj
1;x= 0,
X 1=2 x j 2 3 j (;x) = 1 ; 2 ; c2 x ; c3 x ;
j 0
_ x0
+
Figura IV.3.2. Resultado del Teorema de Newton-Kantorovich. Demostracion.- Demostrando el punto i), se tiene:
;1 (x) ; M (x0 )) M (x) = M (x0 ) I + M | (x0 ) (M{z } B p kB k kx ; x0 k < ; 2h = 1 ;h 1 (1 ; 0 ) 1 ! 1 ; 0 (1 ; 0 )62
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
la norma de (I + B );1 , esta mayorada por 1 (I + B );1 1 ;1 kB k 1 ; kx ; x0 k por consiguiente M (x);1 M (x0 ) 1 ; k1 x ; 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:
M (xk );1 f (xk ) ; f (xk;1 ) ; f 0(xk;1 )(xk ; xk1 ) + 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 + 1 ; kx ; x k 0 + 1 kxk;1 ; x0 k kxk ; x0 k
M (xk );1
Z 1h
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 s mbolo de desigualdad por el de igualdad, de niendo as una sucesion ftk g , que veri ca:
t0 = 0 t1 = tk+1 ; tk = 1 ;1 t k
188
IV Ecuaciones No Lineales
kxk ; x0 k kxk ; xk;1 k + + kx1 ; x0 k tk ; tk;1 + + t0 = tk n o kxk+1 ; xk k 1 ;1 t 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
2 (1 ; tk )(tk+1 ; tk ) = 2 (t2 k ; 2tk tk;1 + tk;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 t2 k + (1 ; 0 )tk = (1 ; tk;1 )(tk ; tk;1 ) ; 2 t2 k;1 + (1 ; 0 )tk;1 =
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 =
12
= 1;
1;
;2
189
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 ; 0 1: 1+ 2 = 1 2 h1; 0 = Estudiando la funcion (t) se tiene tres casos, que se observan en la gura IV.3.3.
donde 1 2 son las raices de u(t). Expresando ambas raices en funcion de h, se obtiene p 1 1 ; 2h = 12 h 1;
0
1 2 1/
1/
1/
<1<
2=
Para 0 < t < 1 , se tiene que 0 (t) > 0, en efecto: (t) (t) = t + u v(t) 0 0 (t) = v(t) + u (t) + u(t) v0 (t) 2 (t) v(t) |v {z } >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 < 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 s mbolos 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) y) ; G(xk;1 ) ; G0 (xk;1 )(y ; xk;1 )k kG(y) ; G(xk;1 )k kG(; + 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 )
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 s mbolo por la igualdad, obteniendo as :
2 tk+1 ; tk = ! 2 (tk ; tk;1 ) + !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 < + :
IV Ecuaciones No Lineales
2 (t) = ! 2 t + 0t +
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: 1 ; 2h h 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 =1
(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
el:
Para ilustrar la utilizacion del teorema de Newton-Kantorovich, se tiene Considerese, la funcion f dada por
2 x2 ; 1 2 f (x) = x1x+ ; 2 x2 1
Ejemplo
partiendo del punto (1 1) y tomando como dominio D = 2 , 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 2:
1=0
h = 0 444 1=2
= ; = 0 554
+=0
981:
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 mayor a 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 ) no, sin embargo se tiene convergencia si kx1 ; x0 k su cientemente peque~ esta condicion no se cumple en general. Una solucion alternativa ser a 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: n continuamente diferenProposicion IV.3.5.- Sean D n , f : D ! ; 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
R R
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 )k2 2<0
por consiguiente, existe
0 con las conclusiones requeridas por la proposicion.
Otra de las motivaciones para modi car el metodo de Newton consiste n , f : D ;! n continuamente en el siguiente hecho. Sean D 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 Cap tulo 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
>Como calcular el m nimo 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:
xk )
(IV:3:16)
A = (f 0 (xk ));1
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 m nimo. 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
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
g( ) k xk k (1 ; + 2 hk + O( 3 )) donde hk = (f 0 (xk ));1 f 00 (xk )( xk xk ) = k xk k : Despreciando el termino O( 3 ), se obtiene un polinomio de grado 2, cuyo m nimo se encuentra en ^k = 1 (IV:3:17) hk 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:
d xk ; xk
de donde
k xk k
hk
k;1 k
xk;1 k
d xk
(IV:3:18)
0 ^k = min @1
k;1
1 k xk;1 k k xk k A : d xk ; xk d xk
Ejemplo
197
Tabla IV.3.3. Resultados con -estrategia. Iteracion x1 x2 k xk 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 1:0 1:0 1:0 1:0
Tabla IV.3.4. Resultados sin -estrategia. Iteracion x1 x2 k xk 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
198
IV Ecuaciones No Lineales
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
Aproximacion de Broyden
Jk f 0 (xk )
de donde el metodo de Newton esta dado por
(IV:3:19)
(IV:3:20)
q = Jk+1 xk ; Jk xk = f (xk ) +
|
de donde
199
entonces Jk+1 es inversible. Demostracion.- Sean, 2 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:
k xk k2 ;
xk+1 xk
por la desigualdad de Cauchy-Schwartz, se tiene 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 f (zk ) f (z ) = z 3 ; 1 zk+1 = zk ; f 0 (zk ) converge hacia 1, si z0 2 satisface jz0 ; 1j < . n y f : D ! n continuamente diferenciable. Para x0 2 D 2.- Sea D supongase que f (x0 ) 6= 0 y que f 0 (x0 ) sea inversible. Mostrar que
CR
200
IV Ecuaciones No Lineales
(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: n abierto, f : D ! n y : D ! n continuamente Sea D diferenciables en D. Si la condicion (IV.3.23) es satisfecha con < 1 y si k x0 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
R !R
2
que
0 f 0 (0) = 1 0 1 p p 1 = 3 ; 1 = 3 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 (f 0 (xk ));1 f (xk+1 ) 2 < (f 0 (xk ));1 f (xk )
2
201
es satisfecho en cada iteracion. 5.- Sea f : n ! n dos veces diferenciable. Mostrar que donde M = max i 6.- Sea f : D !
R R R
2
dada por D =
x1 ; x2 f (x) = (x 1 ; 8)x2
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 ! n 3 veces continuamente diferenciable, Jk una aproximacion de la matriz f 0 (xk ) y p 2 n 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
202
9.- Considerese una funcion f : n ! m donde m < n. El conjunto representa una super cie en n . Dado x ^ 2 n . 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)
E = x g(x) = 0g
R R fj R
IV Ecuaciones No Lineales
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 . 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).
R R
f :D
R !R
n
m con
n m
(IV:4:1)
kf (x)k2 ;! min :
En el cap tulo 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 ! n de la manera siguiente g(x) = kf (x)k2 (IV:4:2) 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 podr a 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 m nimos 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
considerando los terminos lineales del segundo miembro de la ecuacion se obtiene, al igual que en el cap tulo 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
(IV:4:5)
El calculo de xk se lo realiza, utilizando la descomposicion QR dada en el cap tulo 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. Sea, fxk g la sucesion de nida por el metodo de Gauss-Newton, si esta sucesion es convergente cuando k ! 1, se tiene
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 ser a 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 m nimo local de g(x) = kf (x)k2 2 , se tiene
m m @ X 2 = 2 X @fi (x) f (x) = 0 8j f ( x ) i i @xj i=1 i=1 @xj
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):
y V , tales que (IV:4:8)
de donde
0 B f 0(x) = U B @
... 0
1 0C C AVt
0
205
remplazando, se tiene
0 B f 0 (x)t = V B @
... 0
1 0C C A Ut = 0
0
0 B f 0 (x)+ V B @
;1
... 0
;1
1 0C C A U t = 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 ; xk2 2) por otra lado, la funcion g y sus derivadas parciales satisfacen:
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
gj (x) =
m @f (x) X i
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 k2 2) y por el metodo de Gauss Newton, se tiene
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 0 (xk )
y diverge si
;1
f 0 (xk )t f 0 (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 anal ticamente. 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
con kE k2 = peps. Efectuando operaciones con la pseudo inversa, dadas en el teorema II.5.7 se obtiene: (f 0 (xk ) + E )t (f 0 (xk ) + E ) (f 0 (xk ) + E )t (f 0 (xk ) + E )
207
xk = ; (f 0 (xk ) + E )t (f 0 (xk ) + E )
xk + (f 0 (xk ) + E )t 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 k2 2) mostrando as que si f (x ) 6= 0, es inutil buscar una precision superior a p eps.
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 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
de donde, dentro las caracter sticas 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) ) =
Sea por otro lado tal que
m X m X i=1 i=1
(ti exti )2
exti ; yi
m X i=1
exti i = 1 : : : m
(ti exti )2
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
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:
.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
210
IV Ecuaciones No Lineales
El problema abordado en esta seccion, es resolver kf (x)k ! min, donde f : n ! m , 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 m nima, 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
R R
El Metodo de Levenberg-Marquandt
kx ; xk k ;! min
La idea de Levenberg fue de considerar el problema siguiente para determinar el valor de xk+1
2 kf (xk ) + f 0 (xk )(x ; xk )k2 2 + p kx ; xk k2 ;! 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 cap tulo II, seccion 5, ejercicio 5.
211
de esta manera, se tiene la direccion de la pendiente mas grande, o llamada tambien del gradiente, pero en este caso la convergencia podr a 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 (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. yi i xi i 1 8 6 42 2 ;4 5 158 3 1 ;3 248
212
IV Ecuaciones No Lineales
y ; yi = arctan x i 8i: ; xi
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.
Ax = x:
Si este es el caso, x es un vector propio asociado al valor propio . Proposicion V.1.2.- Sea A 2 Mn( ), 2 es un valor propio, si y solamente si ker(A ; I ) 6= f0g:
C C
(V:1:1)
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 caracter stico de la matriz A 2 Mn( n ) esta dado por (IV:1:3) A ( ) = det(A ; I ):
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 ( ). 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
215
0 1 B0 Q AQ = B @
0
...
1 C C A:
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 B0 AQ1 = Q1 B @ ..
. 0
::: A(1)
1 C C A:
0 2 B0 A(1) Q2 = Q2 B @ ..
. 0
::: A(2)
1 C C A
0 .. A(2) . 0 repetiendo el procedimiento las veces que sea necesario, se tiene el resultado deseado. Cabe recalcar que este procedimiento da la descomposicion requerida en a lo mas n pasos. Teorema V.1.8.- Si A es normal, es decir A A = AA , entonces existe una matriz unitaria Q tal que
0 B B AQ1 Q2 = Q2 Q1 B B @
0 Q2 = 1 0 Q2 0
1 2
1 C C C : C A
0 Q AQ = @
...
0
n
1 A
0 1 B0 B=B @
0
...
1 C C A
n
0 B=@
.. .
0
n
1 A:
217
0 B B @
...
10 1 0C B0 C AB @
n
...
1 C C A
n
2
0 1 B0 =B @
0
...
10 C B C AB @
n
...
1 0C C A
n
+ j j2 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. Sea, A una matriz cualquiera a coe cientes complejos de orden n. Al igual que en cap tulo 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
de donde
j 1 j2 = j 1 j2 + j j2 +
aij = aij (1 + ij )
j ij 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
218
Por el teorema de las funciones impl citas, 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
u1 Cv1 + O( 2 ) (V:1:4) u1 v1 donde Av1 = 1 v1 y u1 A = 1 u1 , u y v no nulos. Demostracion.- Por el teorema, de las funciones impl citas se tiene
( )=
1+
comparando los terminos de igual grado en cada miembro de la ecuacion anterior, se tiene:
0: 1:
de donde
0 = ;u1 Cv1 + 01 u1 v1 :
219
0 Q AQ = @
...
1 A
u1 Cv1 u1 v1
Ejemplos
A= 1 0 2 :
Es muy simple darse cuenta, que = 1 es un valor propio de A, por consiguiente por simple inspeccion, se obtiene:
v1 = 1 0 u1 = p 1 1+
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
0 J (n 1 B J =@
1)
...
i
J (nk k )
1 C A
0 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 1 1 0C B @0 0 0 1 1A 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
221
Ejercicios
1.- Una matriz A es de tipo Frobenius, si es de la forma
0 B A=B @
1 C C A:
+ a1 + a0 :
b) Calcular los vectores propios de A. 2.- Calcular los valores propios de la matriz tridiagonal
...
Las componentes del vector propio (v1 v2 vn )t satisfacen una ecuacion de diferencias nitas con v0 = vn+1 = 0. j Veri car que vj = Const( j 1 ; 2 ) donde
1+ 2
= a; c
n X i=1
1 2=
b c
1 2
n+1
= 1:
j2
n X i j =1
jaij j2 :
n X
222
4.- Supongase que los valores propios de A con aij 2 son: + i , ; i 6= 0, 3 : : : n diferentes. Mostrar que existe una 3 : : : n con matriz T inversible con coe cientes reales tal que
0 B ; B ; 1 B T AT = B @ 0
0
3
...
1 C C C : C A
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
j A ; 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
El Metodo de la Potencia
RC
yk Ayk = yk yk
1+O
2 1
2k !
(V.2:3)
224
y0 = a1 v1 + a2 v2 +
k yk = a1 k 1 v1 + a2 2 v2 +
2 1
yk = a v + a 1 1 2 k
v2 +
vn
con lo queda demostrado el punto a). Para la demostracion del punto b), se tiene:
k k yk = k 1 a1 v1 + 2 a2 v2 + + n vn +1 k+1 k+1 Ayk = k 1 a1 v1 + X2 k ak2v2 + + n vn yk yk = i j vi vj ai aj
yk Ayk =
ij X ij
k k+1 v vj ai aj i j i
2!
yk Ayk = yk yk yk Ayk = yk yk =
1+O
1 2 2k v
X
i i
i j ij
i vi
j i j2k vi vi :
Ejemplo
0 0 1 2 1
01 0C 0C C 1A 2
225
utilizando el ejercicio 2 de la seccion V.1, se obtiene que el valor propio mas grande esta dado por p 3 1 = 2(1 + 2 ) 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. Iter. 1 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 C C v=B B C: @ 21::1547005 866025 A 1:07735026 Uno de los inconvenientes de utilizar el metodo de la potencia es que la convergencia puede ser muy lenta si j 1 = 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: 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
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 1 v: ( I ; A);1 v = ; Por otro lado aplicando, el teorema V.2.1 se tiene que la convergencia es del orden k! ; 1 : O ;
2
; 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 ; A yk+1 = yk
(V:2:7)
227
por otro lado los vectores yk pueden ser descompuestos en un vector real y otro imaginario, de la manera siguiente yk = uk + ivk uk vk 2 n de donde, se obtiene una nueva formulacion para el metodo de la potencia inversa, dada por I ;A ; I uk+1 uk I I ; A vk+1 = vk y el cociente de Rayleigh esta dado por t yk yk+1 = (ut k ; ivk )(uk+1 + ivk+1 ) t t vk yk yk uk uk + vk t t t vk+1 ; v t uk+1 ) k k : (V:2:8) = (uk uk+1 + vk vkt+1 + i(u t uk uk + vk vk
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 B B ; 1 T AT = H = B B B @
...
...
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
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 1 B C B0 C ai1 i = 2 : : : n 0 ; l 1 C 32 L2 = B li2 = a B C . . 21 @ .. .. A 0 ;ln2 1 se obtiene 1 0
1 C: 0 L2AL; 2 =B B A @ ... A(1) C 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 cap tulo 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.
B B
C C
Algoritmo 2.
1.- Sea A una matriz arbitraria, que puede escribirse, como a1n 11 A= a A01 A0n por consiguiente A0k 2 n;1 . Se de ne Q2 por 0 Q2 = 1 0 Q0
donde Q02 = I ; 2u2 ut 2 , u2 esta determinado por la condicion, ver Cap tulo V.2,
0 21 B C B0 Q02 A01 = @ .. C A
. 0
229
obteniendo
0 B B0 ; 1 Q2AQ2 = B B @ ...
0
A(1)
1 C C C : C A
2.- Se procede como en 1, hasta obtener la forma de Hessenberg. 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
... ... en dn
(V:2:9)
p0 (x) = 1
y los polinomios pi (x) i = 1 : : : n, como
(V:2:10) (V:2:11)
pi (x) = det(Ai ; xI )
donde
i 0 A= A 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
i = 2 3 ::: n
(V:2:13)
230 a) b) c) d)
Teorema V.2.3.- Sea A una matriz tridiagonal y simetrica con los coe cientes ei = 6 0 para i = 2 : : : n. Entonces:
Las raices de pn (x) = A (x) son simples, p0n ( i ) pn;1 ( i ) < 0 si i es una raiz de pn (x), pj (x ) = 0 (1 j n ; 1 x 2 ) ) pj;1 (x )pj+1 (x ) < 0, p0 (x) 0 para todo x 2 . 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 tendr a p0 (x ) = 0 lo cual contradice el hecho que p0 (x ) = 1. Ahora bien, utilizando nuevamente (V.2.13) se tiene en el caso en que pj (x ) = 0
R R
pj;1 (x ) = ;e2 n;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 i;2 ; e2 i (;1) 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
231
0 1 .. C . C 0 A 0 ( x) ;qn
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)
i = 2 : : : n:
(V:2:15)
232
Ahora bien, si por azar, existe x 2 , 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 > i fi;1 (x) si fi;1 (x) 6= 0 < (di ; x) ; e2 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
f1 (x) f2 (x) : : : fn (x) 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 e2 =f1(x) 1 f2(x) C B C B C B C A ; xI =B . . @ .. A@ A .. en =fn;1 1 fn (x) 0 1 e2=f1(x) 1 ... B C B C @ 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) x = (x1 x2 : : : xn )t . Sea i, tal que jxi j jxj j 8j
j 6=i
233
X X
j 6=i j 6=i
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 j 1j > j 2j > j 3j j nj : 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
yj = j 1 a1 v1 + O
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 signo (Ayj )1 (V:2:18) yj+1 = kAy (yj )1 j k2 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 :
2 1
j!
234
q0 arbitrario, tal que kq0 k2 = 1 kqj k2 = 1 (j +1) q j +1 = Aqj : 1 Por el teorema V.2.1, se tiene que:
lim q = v1 j !1 j lim (j) = 1 j !1 1
(V:2:19)
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 n de nido por
V = u 2 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
de niendo la aplicacion lineal f : V ;! V como f = p AjV donde p es la proyeccion ortogonal de 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 0 1 0 1 0 r2n C B 2 r22 C f (v) = U B . @ AU v ..
n
A : n ;! n y ;! Ay
C C
donde v 2 V y
0 B U AU = B B @
r12 ...
r1n 1
...
n
C C C A
235
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
v=U
con
001 B 2C =B @ .. C 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 r1 n 1 B ... C C f (v ) = U B B C ... @ AU U como U = v, se tiene despues de una simple veri cacion que
n
0 B f (v ) = U B @
r22 ...
1 r2n C C A U v:
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: tal que v1 r0 = 0 y kr0 k2 = 1 = j v1 Arj krj k2 = 1 j +1) r : Arj ; j v1 = ( j +1 2
r0
(V:2:20)
236
donde v2 es el vector propio de norma unitaria respecto a 2 . Ser a interesante poder calcular 1 y 2 al mismo tiempo, sin necesidad de determinar primero 1 y luego 2 , esto es posible mediante el siguiente algoritmo. Se da, como vectores iniciales: q0 y r0 , tales que:
kq0 k = 1 kr0 k = 1 y r0 q0 = 0:
Se supone, que se ha calculado
(V:2:21)
qj con kqj k = 1
j +1) q Aqj = ( j +1 1 kqj+1 k = 1
rj con krj k = 1 y rj qj = 0
j +1 = qj +1 Arj +1 Arj ; j+1 qj+1 = j 2 rj +1 krj+1 k = 1:
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) 1
Rj+1
{z
(j +1) (j +1) 2
0 de donde planteando U0 = (q0 r0 ) con U0 U0 = 1 0 1 , el algoritmo de la potencia generalizada, se expresa de manera matricial como
237
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 Rj ;! R = @
...
1 A
El Metodo QR
| {z }
Rj Qj Uj
llegando nalmente a
Uj+1 Rj+1 = Q 1 R} 1 Q1 Q2 Qj : | {z | {z }
A
Puesto que el metodo QR y el algoritmo de la potencia son equivalentes, es facil ver que 0 1 1 ... A Rj ;! R = @
Qj ;! I:
238
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
j +1) a( n n;1 j) a( n n;1 n n;1 n j!
(V:2:25)
es decir
a(j)
n n;1 = O
n;1
(V:2:26)
Uno de los problemas con que se confronta es que la convergencia puede ser demasiado lenta, sobre todo si j n j j n;1 j pero este inconveniente puede superarse aplicando el algoritmo QR, en lugar de la matriz A, a
A ; pI
j!
(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 n1 ; p
(V:2:28)
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
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 k) (k) a( n;1 n;1 an;1 n k) k) a( a( nn 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) a( n n;1
(k) k) eps a( nn + an;1 n;1
(V:2:30)
se plantea
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
0 10 A = @ 0: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
Puede observarse que la convergencia es lineal y ademas se tiene k+1) 1 a( 21 k) 2 a( 21 k+1) 1 a( 32 k) 5 a( 32 por consiguiente se necesitan por lo menos 10 iteraciones para obtener k) (k ) ;8 ;8 a( 32 10 y por lo menos 23 iteraciones para tener a21 10 . 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
2.- Puede observarse en el ejemplo anterior que la convergencia del metodo QR con shift es cuadratica, para ilustrar este hecho, considerese A= 2 a 1
241
con bastante peque~ no. Aplicando el metodo QR con shift se tiene p1 = 1 y A ; p1 I = 1 a 0 obteniendo
=p1 + Q1 R1 = 1= 1+ lo que da
2 2
p ;= p 1+
1= 1 +
2 2
1+ 0
a= p 1+ 2 ; a= 1 + 2
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 ser a cubica en este ejemplo, tomar a = .
Ejercicios
1.- Calcular los valores propios y vectores propios de 02 1 1 2 12 C A=B @1 0 1 2 1A 1 2 utilizando el metodo de la potencia inversa de Wielandt. 2.- Sea 0 88 ; 7p6 296 ; 169p6 ;2 + 3p6 1 1800 225 p C B 360 p p 296 + 169 6 88 + 7 6 ;2 ; 3 6 C A=B B 360 225 C A: @ 1800 p p 16 + 6 1 16 ; 6 36 36 9 Calcular y una matriz T a coe cientes reales, tal que 0 1 0 T ;1 = @ ; 0A: 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
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
T ;1AT =
y utilizar la descomposicion
0 =@
...
1 A
s
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 B ;1 2 ;1 B ... ... B A= B @ ;1
... 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.
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 teor a 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] ! una funcion acotada sobre un intervalo compacto. Se dira que f es Riemann integrable si
lim (S )!0
n X i=1
con i 2 xi;1 xi ], independientemente de S y de los i . Si este es el caso, este l mite se lo denota por Zb f (x)dx:
a
245
Se puede demostrar que las funciones monotonas, continuas y en escalera son Riemann integrables. El calculo de la integral como un l mite 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 . Se dice que una funcion : I ! es una primitiva de ' si, en todo punto x de I , la funcion es derivable y si 0 (x) = '(x). Sea f : a b] ! una funcion integrable en el sentido de Riemann, se de ne para todo x 2 a b]
F (x) =
Zx
a
f (t)dt:
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] ! 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:
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 anal tica 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
n X i=1
f ( i )(xi ; xi;1 ) ;
Zb
a
f (x)dx <
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 Integracion Numerica
Consiste en utilizar la suma de Riemann con i = xi;12+ xi , por consiguiente Zb n X f (x)dx: f xi;12+ xi (xi ; xi;1 ) 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 Zb n f (x ) + f (x ) X i;1 i (x ; x ) f (x)dx i i;1 2 a i=1 de donde, esta suma puede expresarse de manera mas simple, como Zb x0 + f (x ) x2 ; x0 + f (x)dx f (x0 ) x1 ; 1 2 2 a + f (xn;1 ) xn ;2xn;2 + f (xn ) xn ;2xn;1 :
x0
x1
x2
x3
xn-1 xn
247
c) Regla de Simpson
Esta formula es exacta para polinomios de grado igual o inferior a 1. Ver gura VI.1.2. 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
f ((x0 + x1 )=2) (x ; x ) p(x) = f (x0 ) + 2 f (x0 ) +x 0 1 ; x0 +2 f (x0 ) ; 2f ((x0 + x1 )2=2) + f (x1 ) (x ; (x0 + x1 )=2)(x ; x1 ): (x1 ; x0 )
Ahora bien, integrando este polinomio de segundo grado entre x0 y x1 , se obtiene Z x1 1 f (x ) + 4 f x0 + x1 + 1 f (x ) h f (x)dx 0 6 6 2 6 1 1 x0 para nalmente tener
Zb
a
f (x)dx
n X i=1
x0
x1
248
VI Integracion Numerica
+ 2xi f ( xi;1 + 2xi )) y (xi f (xi )). De la misma manera que en la ( xi;1 3 3 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 1 f (x )+ 3 f x + h1 + 3 f x + 2h1 + 1 f (x ) h : f (x)dx 8 0 8 0 3 8 0 3 8 1 1 x0 La regla de Newton es exacta para polinomios de grado menor o igual a 3.
x0
x1
Formulas de Cuadratura
la formula de cuadratura en una funcion f : 0 1] ! y considerar h1 = 1, es decir integrar numericamente con un paso de integracion. Por consiguiente, se analizara el problema
s X i=0
249
bi f (ci )
Z1
0
f (x)dx:
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
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 ;1 1 bi cq q = 1 : : : p: (VI:1:3) i =q
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 = 1 q:
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 bi = bs+1;i
par.
i = 1 : : : s:
(IV:1:3)
Teorema VI.1.11.- Una formula de cuadratura simetrica tiene un orden 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 Integracion 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 2k+1 f (x) = c x ; 1 + g(x) 2 donde g(x) es un polinomio de grado a lo mas 2k. Por otro lado Z1 1 2k+1dx = 0: c x; 2 0 Por consiguiente, es su ciente mostrar que s 2k+1 X bi ci ; 1 =0 2 i=1 esto es cierto debido a la simetr a de la formula de cuadratura.
Dada una funcion f : a b] ! , 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 ) =
j =1
n "Z xj X
xj;1
f (x)dx ; hj
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 ) =
k ;1 hj+1 " 1 X j =0
j!
j + 1 ; i=1
s X
k+1 bi cj i +h
Z1
0
251
k;1 =
+
donde
;1 ; t)k + Pk (t) = E (x (k ; 1)!
(
0
k;1
0 : <0
E (f ) = h
Z1
0
f (x0 + th)dt ; h
s X i=1
bi f (x0 + ci h)
por otro lado, el desarrollo en serie de Taylor de f (x0 + h) con resto en forma de integral esta dado por
f (x0 + h) =
por lo tanto
k ;1 hj X j =0 k ;1 hj X j =0
(j ) k j ! f (x0 ) + h
Z 1 (1 ;
0
f (x0 + th) =
(j ) j k j ! f (x0 )t + h
Z t (t ;
0
E (f ) =
k ;1 hj+1 X j =0
(j ) j ! f (x0 )
+ hk+1
"Z 1 Z t
0 0
s i hZ 1 j X t dt ; bi cj i i=1 } | 0 {z 1
)k+1
j+1
remplazando en el l mite de integracion t por 1, se tiene que el ultimo termino del lado derecho de la anterior relacion, esta dado por
hk+1
Z 1 "Z 1 (t ;
0 0
La funcion Pk (t) de nida en el teorema, es conocida por el nombre de Nucleo de Peano de la formula de cuadratura c1 : : : cs b1 : : : bs .
252
VI Integracion Numerica
tiene las siguientes propiedades: s (c ; )k;1 k X (1 ; ) i + a) Pk ( ) = k! ; ( k ; 1)! i=1 0 b) Pk ( ) = ;Pk;1 ( ) para k 2 c) Pk (1) = 0 para k 2 si ci 1 d) Pk (0) = 0 para 2 k p si ci 0 y p orden de la f.q. e) Si la formula de cuadratura es 0
s X
c1 < : : : < cs 1 y bi = 1 i=1 entonces P1 ( ) es lineal por trozos, con las siguientes propiedades: P1 (0) = 0, P1 j(ci;1 ci ) (x) = ;x + di , donde di es una constante, ademas P1 (ci + ) ; P1 (ci ; ) = bi , ver gura VI.1.4.
c1
c2
cs
Figura VI.1.5. Gra ca de P1( ) Demostracion.- Para el punto a), se tiene que Z 1 (x ; )k;1 X s (x ; )k;1 + + dx ; bi (k ; 1)! Pk ( ) = 0 (k ; 1)! i=1 Z 1 (x ; )k;1 X s (x ; )k;1 + = dx ; bi (k ; 1)! (k ; 1)! i=1 s ;1 k X ) ; b ( x ; )k + : = (1 ; i k! (k ; 1)! i=1
El punto b), se obtiene del punto a), derivando para k 2. El punto c) es veri cacion inmediata, remplazando en = 1, siempre que los ci 1. La demostracion del punto d) se basa en que la formula de cuadratura, es exacta para los polinomios de grado inferior a p y s ;1 ck 1 ;X i b Pk (0) = k i ! i=1 (k ; 1)! " X # s 1 1 k ; 1 = (k ; 1)! k ; bi ci : i=1
253
Ejemplo
c1 = 0 c2 = 1=2 c3 = 1 b1 = 1 =6 b2 = 4 =6 b3 = 1=6:
Utilizando las propiedades dadas en el teorema precedente, se tiene: 1 1: 2 P2 ( ) se obtiene integrando P1 ( ) por el punto b) del teorema precedente. Por consiguiente 1 2 ) 1< 1: 2 6 2 De la misma manera, se obtiene P3 ( ) de P2 ( ), dando como resultado:
1 2
1: 24 ; 36 2< Ver los gra cos en la gura IV.1.6. Consecuencia inmediata del teorema VI.1.12, se tiene el siguiente: Teorema VI.1.14.- Sean, f 2 C k a b], c1 : : : cs b1 : : : bs una formula de cuadratura cuyo orden p k, entonces
jE (f )j hk+1
Z1
0
jPk ( )j d
x2 x0 x0 +h]
max
f (k) (x) :
(VI:1:6)
254
VI Integracion Numerica
.6 .4 .2 .0 .2 .4 .6 .01 .0 .5 1.0
P1
.1
P2
.0
.0
.5
1.0
.1
P3
P4
.00
.0
.5
1.0
.0
.5
1.0
.01
Z1
jP4 ( )j d = ;2
Z 1=2
Zb
a
f (x)dx ;
n s X X j =1
hj
i=1
bi f (xj;1 + ci hj )
hk (b ; a)
Z1
0
(VI:6:7)
255
Zb
a
f (x)dx ;
"X n s X
j =1
hj
i=1
bi f (xj;1 + ci hj ) =
=
n "Z xj X j =1
+1 hk j
Z1
0
xj;1
f (x)dx ; hj
s X i=1
bi f (xj;1 + ci hj )
n X
n X k +1 hj = hj hk j i=1 i=1
Por lo tanto, la Regla de Simpson da la siguiente estimacion para el error global 4 (b ; a) jerrorj h 2880 max f (4) (x) : x2 a b]
Los teoremas VI.1.13 a VI.1.15 dan estimaciones teoricas del error cometido, cuando se utiliza una formula de cuadratura. Sin embargo, es importante comprobar estas estimaciones teoricas con experimentos numericos. Suponiendo que la subdivision del intervalo a b] es uniforme, de la formula (VI.1.7), suponiendo f su cientemente derivable, se deduce,
Zb
a
f (x)dx =
n X s X j =1 i=1
(VI:1:8)
Error Chp : (VI:1:9) Introduciendo logaritmos, se tiene log10 (Error) = log10 C + p log h denotando fe, la cantidad de evaluaciones de la funcion f (x), en el proceso de integracion numerica, se tiene C0 fe = h
256
VI Integracion Numerica
; log10 (Error) = C + p log10 fe: (VI:1:10) De esta ultima relacion, se deduce que ; log10 (Error) y log10 fe tienen
una relacion lineal de pendiente p, donde p es el orden de la formula de cuadratura. En la gura VI.1.7, se comprueba este hecho, utilizando como integral test Z1 cos( ex )ex dx = 1 sin( e):
0
1010
Err
fe
101 102 103 104
Ejercicios
1.- Calcular el orden de la regla de Newton: 1 2 1) 1 3 3 1 ): (ci ) = (0 3 ( b ) = ( i 3 8 8 8 8 2.- Sean 0 c1 < c2 < < cs 1 dados. Mostrar que existe una formula de cuadratura unica con nudos ci y con un orden s.
257
3.- Mostrar que si la formula de cuadratura satisface ci = 1 ; cs+1;i y si es de orden s, entonces se tiene tambien bi = bs+1;i : 4.- >Como se debe elegir c1 c2 ? para que la formula de cuadratura b1 f (c1 ) + b2 f (c2 ) tenga un orden maximal. >Cual es el orden?, >La formula de cuadratura es simetrica? Z 2 dx 5.- Calcular = ln 2 mediante la regla del trapecio, la regla de Simpson 1 x y la regla de Newton. >Cual formula es la mejor? Hacer un gra co logar tmico para el numero de evaluaciones de la funcion f respecto al error. 6.- Lo mismo que el ejercicio 5, pero para
Z2
0
exp(sin x)dx:
7.- Calcular utilizando Z 1 dx Z 1p =4 y = 4 1 ; x2 dx: 2 0 1+x 0 >Por que el segundo resultado es menos bueno? 8.- Mostrar que el resultado obtenido por la regla del trapecio, o por la regla de Simpson, es una suma de Riemann. 9.- Sean h = (b ; a)=n, xi = a + ih y 1 f (x ) + f (x ) + + f (x ) + 1 f (x ) : T (h) = h 2 0 1 n;1 2 n Demostrar que para f su cientemente derivable Zb 2 0 0 3 f (x)dx ; T (h) = ; h 12 (f (b) ; f (a)) + O(h ): a 10.- Calcular los nucleos de Peano para la formula del ejercicio 4 y hacer sus gra cas. 11.- Calcular la expresion R b f (x)dx ; T (h) a h2 para f (x) = 1=x, a = 1, b = 10 con varios valores de h. Veri car la formula del ejercicio 9.
M (x) = (x ; c1 )(x ; c2 )
(x ; cs )
(VI:2:2)
donde los ci son los nudos de la formula de cuadratura estudiada. Sea f (x) un polinomio de grado s + m ; 1, por la division con resto se tiene que
m ; 1 y deg r
s ; 1. Por
Z1
0
f (x)dx =
Z1
0
q(x)M (x)dx +
Z1
0
r(x)dx:
bi f (ci ) =
s X i=1 |
bi q(ci )M (ci ) +
s X i=1
{z
bi r(ci ) s, se acaba de
259
8 Z1 > > < 0 q(x)M (x)dx = 0 () > >para todo polinomio q(x) :
con deg q m ; 1.
Ejemplo
El ejercicio 4 de la seccion precedente demanda la construccion de una formula de cuadratura del orden mas elevado posible. En consecuencia, se de ne M (x) = (x ; c1 )(x ; c2 ): Se tiene que la formula de cuadratura es de orden 3 si y solamente si
Z1
0
M (x)dx = 0
xM (x)dx = 0 1 ; 1 (c + c ) + 1 c c = 0 4 3 1 2 212 obteniendo as un sistema de dos ecuaciones y dos incognitas. Una vez determinados los ci , el siguiente paso es determinar los bi .
1
Z0
Uno de los mayores inconvenientes en la construccion de formulas de cuadratura de orden elevado utilizando el teorema VI.2.1, consiste en el hecho siguiente: se deben resolver sistemas de ecuaciones no lineales para determinar los nudos de la formula de cuadratura. Esta claro que para formulas de cuadratura con una cantidad no muy grande de nudos esto es posible, sin embargo para s ya mas grande esto presenta una desventaja. En esta subseccion se estudiaran polinomios ortogonales, cuyas raices son precisamente los nudos.
Polinomios Ortogonales
260
Se iniciara esta subseccion, de niendo un conjunto de funciones particulares. Sea ! : (a b) ! una funcion, llamada funcion de peso. Sea
E = f : (a b) ! j
VI Integracion Numerica
Zb
a
(VI:2:3)
Puede mostrarse que E es un espacio vectorial para la adicion de funciones y la multiplicacion por escalares reales. Para las aplicaciones en general, puede suponerse que f es una funcion continua. Suponiendo que !(x) > 0, puede de nirse un producto escalar sobre E , de la siguiente manera,
hf gi =
Zb
a
!(x)f (x)g(x)dx:
(VI:2:4)
Hay que remarcar dos hechos importantes el primero E es en realidad un conjunto de clases de equivalencia de funciones, donde la relacion de equivalencia esta de nida por
hf f i = 0 () f = 0:
hpk qi = 0
deg pj = j
8q polinomio de grado
k ; 1:
Si se supone que pk (x) = xk + r(x) con deg r(x) k ; 1, los polinomios son unicos.
p;1 (x) := 0 p0 (x) = 1 2 pk+1 = (x ; k+1 )pk (x) ; k+1 pk;1 (x)
donde
k+1 =
hxpk pk i hpk pk i
k+1 =
Demostracion.- El primer punto del teorema, se obtiene a partir del proceso de ortogonalizacion de Gramm-Schmidt. Las relaciones entre los diferentes polinomios ortogonales se demuestra por induccion. Por consiguiente, se supone cierto para los polinomios p0 p1 : : : pk . Ahora bien, se tiene
pk+1 (x) = xpk (x) +
k X j =0
cj pj (x)
por que el coe ciente dominante de pk es 1. Aplicando el producto escalar se tiene 0 = hpk+1 pk i = hxpk pk i + de donde
k X
Por otro lado, aplicando nuevamente el producto escalar se tiene 0 = hpk+1 pk;1 i = hxpk pk;1 i +
k X
262
VI Integracion Numerica
con la hipotesis de induccion, se veri ca inmediatamente que hpk xpk;1 i = hpk pk i de donde ki : ck;1 = hp hpk p k;1 pk;1 i Los restantes cj , son nulos, utilizando la hipotesis de induccion sobre la ortogonalidad. Consecuencia de este teorema, es que si los nudos de una formula de cuadratura son las raices del polinomio ps , de nido en el teorema precedente, se tiene M (x) = ps (x) y por el teorema VI.2.1 el orden de la formula de cuadratura es igual o mayor a 2s. Teorema VI.2.4.- Sean los pk , como en el teorema VI.2.3, entonces las raices de pk (x) son reales, simples y estan localizadas en el intervalo (a b). Demostracion.- Se donota por 1 : : : T las raices distintas de pk donde la funcion pk (x) cambia de signo. Se de ne el polinomio g(x) por g(x) = (x ; 1 ) (x ; T ) por consiguiente, se tiene que g(x)pk (x) no cambia de signo, de donde hg(x) pk (x)i 6= 0 por lo tanto deg g k, y por la hipotesis inicial se tiene necesariamente que T = k. En la tabla VI.2.1, se tienen los diferentes tipos de polinomios ortonormales para diferentes tipos de funcion de peso !(x). Tabla VI.2.1. Ejemplos de Polinomios Ortonormales
Notacion Pk (x)
Nombre Polinomios de Legendre Polinomios de Chebichef Jacobi, > ;1 Pol. de Laguerre, > ;1 Polinomios de Hermite
263
Demostracion.- Una veri cacion simple sobre pk (x), muestra que se tratan efectivamente de polinomios. Para la relacion de ortogonalidad con k dado, es su ciente mostrar que si q(x) es un polinomio de grado k ; 1 entonces q ? pk . En efecto
Zb
a
.. .
b k ;1 = d k;1 !(x)x ; a)k (b ; x)k q(x) a |dx {z } =0 Z b dk;1 k k 0 ; dx k;1 ! (x)x ; a) (b ; x) q (x)dx a
Zb
La mayor parte de los calculos de integrales de nidas, tienen como funcion de peso !(x) = 1. A continuacion se estudiara con mayor detalle los polinomios de Legendre. Los polinomios de Legendre son los polinomios ortogonales para la funcion de peso !(x) = 1 de nida en el intervalo (;1 1), ver la tabla VI.2.1. Por otro lado, utilizando la formula de Rodriguez se puede elegir los Ck de manera que Pk (1) = 1. Por consiguiente, se tiene
k 1 = Pk (1) = Ck d k (1 ; x)k (1 + x)k = Ck (;2)k k! dx x=1 de donde 1)k Ck = (; k 2 k!
VI Integracion Numerica
1) d (1 ; x2 )k : (VI:2:8) Pk (x) = (; k 2 k! dxk Los polinomios de Legendre pueden ser calculados mediante la formula de Rodriguez, o mediante una relacion recursiva, ver ejercicio 1. En la tabla VI.2.2, se da los cuatro primeros polinomios de Legendre.
Pk (x)
1
x 3 x2 ; 1 2 2 5 x3 ; 3 x 2 2
Puede observarse que si k es par, entonces Pk (x) = Q(x2 ) donde Q es un polinomio de la misma manera si k es impar, se tiene que Pk (x) = xQ(x2 ). La veri cacion del orden de una formula de cuadratura, se la realiza en el intervalo 0 1]. Efectuando una transformacion af n, se tiene que M (x) del teorema VI.2.1, es igual a
(VI:2:9)
con Ps el s-simo polinomio de Legendre, si se desea que orden de la formula cuadratura sea al menos s. El siguiente teorema, tiene una importancia en lo concerniente al orden de una formula de cuadratura. Teorema VI.2.6.- El orden de una formula de cuadratura dada por (bi ci ), i = 1 : : : s es menor o igual a 2s. Demostracion.- Por el absurdo. Supongase que existe una formula de cuadratura de orden superior o igual a 2s +1, de donde para todo polinomio l(x) de grado s, se tiene Z1 l(x)M (x)dx
0
265
Z1
0
M 2 (x)dx = 0
lo que conduce a una contradiccion El objetivo, sera por consiguiente, encontrar una formula de cuadratura de orden maximo, es decir 2s. Por la observacion hecha al inicio de esta ultima subseccion, los nudos ci de la formula de cuadratura de orden s son las raices de Ps (2x ; 1) polinomio de Legendre. Como consecuencia de lo anteriormente expuesto se tiene el siguiente teorema formulado por Gauss en 1814. Teorema VI.2.7.- Una formula de cuadratura (ci bi), i = 1 : : : s es de orden 2s si y solamente si c1 : : : cs son las raices de Ps (2x ; 1), Ps (t) polinomio de Legendre y los bi estan determinados por
s X i=1
;1 1 bi cq i =q
q = 1 : : : s:
(VI:2:10)
Por otro lado, debe observarse que los coe cientes de una formula de cuadratura de Gauss son extrictamente positivos, en efecto, se de ne
li (x) =
s x;c Y j
j=1 ci ; cj j6=i
el i-esimo polinomio de Lagrange para la subdivsion c1 < de este polinomio es igual a s ; 1 y veri ca
< cs . El grado
li (cj ) =
Ahora bien, se tiene
s X j =1
0 1
j 6= i j = i:
bi =
bj (li (cj
))2
Z1
0
ya que, deg li2 = 2s ; 2 < 2s. El calculo de los coe cientes bi de una formula de cuadratura de Gauss, pueden ser resueltos mediante el sistema lineal dado por (VI.2.10). Sin embargo este procedimiento no es el mejor, debido a la acumulacion de los
266
VI Integracion Numerica
errores de redondeo. Existe un procedimiento que determina los bi de una manera sencilla, el esta dado en el: Teorema VI.2.8.- Para la formula de cuadratura de Gauss de orden 2s, se tiene 1 bi = (VI:2:11) 0 2 i = 1 ::: s (1 ; x2 i )Ps (xi ) donde xi = 2ci ; 1. Demostracion.- Se tiene,
bi =
s X j =1
bj li (cj ) =
Z1
0
li (t)dt
Z 1 x+1 bi = 1 2 ;1 li 2 dx
Ps (x) 1 li x + 2 = C x ; xi
Ps (x) = CP 0 (x ) = 1 lim C x s i ; xi
(VI:2:12)
2
Ademas,
(VI:2:13)
Z 1 P 0 (x ) Ps (x) 1 ; 1 1 s = 0 + + 0 (xi ) (x ; xi )P 0 (xi ) dx P 2(Ps (xi ))2 1 ; xi ;1 ; xi ;1 s | {z s } 1 = li x + 2 s P 0 (x ) X 1 ; 1 +1 = 0 + bj Ps0 (xj ) li xj 2 2(Ps (xi ))2 1 ; x2 s i i j =1 = 0 1 2 ;1 2 + 2bi 2(Ps (xi )) 1 ; xi
267
En el ejercicio 1 de esta seccion, se mostrara que los polinomios de Legendre veri can la siguiente relacion recursiva (1 ; x2 )Ps0 (x) = ;sxPs (x) + sPs;1 (x) de donde 0 (1 ; x2 i )Ps (xi ) = sPs;1 (xi ) obteniendo 2 bi = 2 1 ; xi 2 : (VI:2:14) s (Ps;1 (xi )) En la tabla VI.6.3, se dan las primeras formulas de cuadratura de Gauss. Tabla VI.6.3. Primeras Formulas de Cuadratura de Gauss.
s 1
2 3
c1 1 2 p 1; 3 2 6 p 1 ; 15 2 10
c2
c3
1+ 3 2 6 p 1 1 + 15 2 2 10
b1 b2 b3 1
1 1 2 2 5 8 5 18 18 18
Ejercicios
1.- Para los polinomios de Legendre, demostrar que: (k + 1)Pk+1 (x) = (2k + 1)xPk (x) ; kPk;1 (x) (1 ; x2 )Pk0 (x) = ;kxPk (x) + kPk;1 (x):
268
VI Integracion Numerica
T0 (x) = 1 T1 (x) = x Tk+1 (x) = 2xTk (x) ; Tk;1 (x) Z1 1 p Tk (x)Tj (x) para i 6= j: ;1 1 ; x2
3.- Calcular las raices de P8 (x) con un metodo iterativo, como por ejemplo el metodo de la biseccion. 4.- Mostrar que el nucleo de Peano Pk (t) de una formula de cuadratura satisface Z1 s 1 ;X bi ck Pk (t)dt = k + i: 1
0
i=1
5.- Sea p el orden de una formula de cuadratura y supongase que el nucleo de Peano Pp (t) no cambia de signo sobre 0 1]. Mostrar que
Z x0+h
x0
f (x)dx ; h
s X i=1
bi f (x0 + ci h) = hp+1
con 2 (x0 x0 + h). Indicacion.- Utilizar el teorema VI.1.15 con k = p. 6.- Mostrar que para las formulas de cuadratura de Gauss de orden 2s, el nucleo de Peano P2s (t) no cambia de signo.
Zb
a
f (x)dx
(VI:3:1)
se lo realiza teniendo en cuenta el error que se desea cometer. Generalmente se da una tolerancia que se la denota por TOL, por consiguiente se busca una aproximacion I , tal que
Zb
a
f (x)dx ; I
TOL
Zb
a
jf (x)j dx:
(VI:3:2)
Ahora bien, una manera de conseguir (VI.3.2), es subdividir el intervalo a b] en subintervalos y aplicar el teorema VI.1.16 de manera de obtener un h optimo. Sin embargo este procedimiento presenta dos incovenientes: es necesario conocer de antemano este h optimo ademas de conocer las propiedades de la funcion f a integrar. La segunda manera de resolver (VI.3.2) es de concevir un algoritmo, donde el calculo del error se haga de manera automatica es decir utilizando un metodo adaptativo. Lo primero que se debe tener en la implementacion de un programa que permita evaluar la integral de una funcion f , es una estimacion del error. Sea (bi ci ) i = 1 : : : s, una formula de cuadratura y a = x0 < x1 < < xn = b, una subdivision de a b] se de ne el error en cada subintervalo xi xi+1 ] a
E (f xi xi+1 ) =
Z xi+1
xi
f (x)dx ; (xi+1 ; xi )
s X j =1
(VI:3:3) Por lo tanto, el programa que va calcular numericamente la integral debe tener en cuenta dos aspectos: 1.- Estimacion del error. 2.- Eleccion de la subdivision de a b], x0 < x1 < < xn tal que
n X j =0
jE (f xj xj+1 )j
TOL
Zb
a
jf (x)j dx:
VI Integracion Numerica
Zb
a
jf (x)j dx
err a b]
Zb
a
f (x)dx ; I
Algoritmo
| Calcular: res a b] , resabs a b] y err a b]. err a b] TOL resabs a b] : si es cierto se ha terminado, si no continuar el siguiente paso. b y calcular: | Plantear c = c = a + 2
: si es cierto se ha terminado, si no dividir el subintervalo con error maximal y continuar con el siguiente paso. | Continuar hasta que
;err
res a c] res c b]
a c] + err c b]
err a c] err c b]
resabs a c] resabs c b]
err aj cj ]
TOL
resabs aj cj ]
Una vez planteado el algoritmo, el principal problema consiste en estimar el error cometido en el calculo de la integral, en cada subintervalo xi xi+1 ]. El teorema VI.1.12 da una estimacion cuando la formula de cuadratura tiene un orden p, la cual esta dada por
E (f x0 x1 ) = hp+1
Z1
0
donde Pp (t) es el k-simo nucleo de Peano, para la formula de cuadratura. El principal inconveniente de utilizar esta estimacion radica en que el calculo de la derivada de orden p de f puede ser tan complicado, como encontrar una primitiva de f , y por otro lado, determinar el nucleo de Peano no es una tarea nada simple, motivos por los cuales, la estimacion del teorema VI.1.12 no es nada practica desde el punto de vista computacional. Ahora bien, existen dos metodos numericos que permiten encontrar una estimacion del error cometido en cada subintervalo, sin necesidad de conocer las propiedades del nucleo de Peano y de las derivadas de la funcion a
271
s X i=1
integrar. Por consiguiente sea (ci bi ), una formula de cuadratura dada de orden p, se desea estimar
E (f x0 x1 ) =
Z x1
x0
f (x)dx ; (x1 ; x0 )
El primer metodo para estimar E es conocido como QUADPACK, algoritmo implementado en algunas bibliotecas de programas. La idea central de este ci ^ bi ) con un orden metodo es tomar una segunda formula de cuadratura (^ p ^ > p y estimar E (f x0 x1 ), como
bi f (x0 + ci (x1 ; x0 )) (VI:3:4) Para evitar demasiadas evaluaciones de la funcion f , es deseable que fc1 : : : cs g fc ^1 : : : c ^s ^g es decir fc ^1 : : : c ^s ^g = fc1 : : : cs g fcs+1 : : : cs+m g con s + m = s ^. Sin embargo m debe ser mas grande que s, si la formula de cuadratura (ci bi ) es una de tipo Gauss en efecto, si m s, se tiene:
i=1 i=1 s +m X i=1 s X
E (f x0 x1 )=(x1 ; x0 )
"X s ^ ^
bi f (x0 + c ^i (x1 ; x0 ) ;
s X
;1 1 ^ bi cj i =j
j = 1 ::: s+m j = 1 : : : 2s
i=1
;1 1 bi cj i =j
272
VI Integracion 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 ^ son Para simpli car los calculos se puede suponer que tanto C , como C iguales y valen 1, obteniendo as , cuando h tiende a 0 ;h2s+1 3=2 h3s+3 de donde la estimacion del error de la formula de cuadratura multiplicada por una constante de seguridad esta dada por:
err =
"
(x1 ; x0 )
2X s+1
i=1
^ bi f (x0 + ci h) ;
2 s+1 X
s X i=1
bi f (x0 + ci h)
!#3=2
nalmente se tiene
resabs = (x1 ; x0 )
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 =
i=1
s X i=1
"
bi f (x0 + ci h)
i=1 s X i=1
(x1 ; x0 )
s X
bi f (x0 + ci h) ;
s X ^ i=1
bi f (x0 + c ^i h)
!#2
(VI:3:8)
resabs = (x1 ; x0 )
bi jf (x0 + ci h)j :
Las experiencias numericas muestran que en la mayor a de los casos las estimaciones del error cometido son demasiado pesimistas, ver en la tabla VI.3.1, las experiencias 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
a b] 0 2]
0 1] 0 1=2]
err
px
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. 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
Tratamiento de singularidades
Ejemplo
Considerese, la funcion
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
k Z bj X j =0 aj
VI Integracion 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 =
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
4x log x dx = ;x 4 + 100
Z1
0
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
Z1
0
275
Se puede observar inmediatamente, que la convergencia para calcular la integral es muy lenta, es necesario, efectuar 13 subdivisiones para obtener un error igual o inferior a 2:61 10;15 . Cada 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 l mite dado en el cap tulo 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 1 (S ; S ) Sn+1 ; S 4 n 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 cap tulo III.1, se tiene el siguiente sistema lineal
(VI:3:12)
por consiguiente
(VI:3:13)
obteniendo as
0 = Sn+1 ; Sn Sn+1 : Sn 2S n
(VI:3:14)
276
VI Integracion 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.
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 = C n : 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 (VI:3:16) n+k + a1 n+k;1 + + ak n = 0: La teor a de ecuaciones de diferencias nitas, tiene como resultado central, que los i , i = 1 : : : k son raices del polinomio caracter stico de (VI.3.16) dado por k + a1 k;1 + + ak : (VI:3:17) Se tiene un problema inverso, pues no se conocen los valores de los ak , pero si los valores de n , los cuales pueden servir para determinar los valores de los ak a partir del sistema lineal 0 S ;S 1 Sn+k ; S 0 ak 1 n B C .. (VI:3:18) @ ... A @ ... A = 0: . a Sn+k ; S Sn+2k ; S 1
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 Sn+1 Sn+k C B Sn det B =0 .. C @ ... . A Sn+k;1 Sn;k;1 luego, se tiene Sn Sn+1 Sn+k Sn Sn+1 Sn+k = .. .. . . Sn+k;1 Sn;k;1 1 1 1 Sn Sn+1 Sn+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+1 Sn+k Sn Sn+1 Sn+k .. .. . . S S n + k ; 1 n ;k;1 (VI:3:19) S= 2 Sn 2 Sn+k;1 .. .. . . 2 Sn+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 = (VI:3:20) 2 Sn 2 Sn+k;1 .. .. : . . 2 Sn+k;1 2 Sn+k;2
278
VI Integracion 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 expl citamente 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 (n) = 0 ;1 (n) = S n 0 (VI:3:21) 1 (n) = (n+1) + k+1 k ;1 (n+1) (n) entonces
k
(n) = S 0 n 2
(n) = S 00 n 4
(n) = S (3) n 6
:::
(VI:3:22)
& (0) ;;;;;;! % 1 & (0) (1) ;;;;;;! 0 2 & (1) % & (0) (2) ;;;;;;! ;1 1 ;;;;;;! 3 % & (1) % & (0) (2) ;;;;;;! 0 2 ;;;;;;! 4 % % & (0) & (2) ;;;;;;! & (1) ;;;;;;! (3) ;;;;;;! ;1 1 3 % & (2) % & (1) % 5 & (0) (3) ;;;;;;! ;;;;;;! 4 ;;;;;;! 6 0 % 2 % %
279
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 n) precision requerida, los errores de ( k son dados en la gura VI.3.4.
100 10
2
k=0
k=2
104 106 108 1010 1012 1014 1016 1018
k=4
k=24
1020 0 1 2 3
k=22
4 5 6 7 8 9 10 11 12 13 14 15
(n)
k 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
Z1
0
dx: x2 + 100
log x
280
VI Integracion 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
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 4t log t dt
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 16s3 log s
Z 1 f (x)
0
px dx
pueden ser calculadas con menos evaluaciones, si se hace el cambio de variable x = t2 , obteniendo as 2
Z1
0
f (t2 )dt:
Z1
f (x)dx
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
Z1
281
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:
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 =
1 : 2 2
La funcion sin(x2 ) se anula en x2 = k con k 2 , de niendo as una sucesion de numeros positivos fxk g, dada por
xk = k :
Planteando
Ik =
Z xk+1
xk
sin(x2 )dx
k X j =0
k = 0 1 2 :::
Sk =
teniendo como resultado
Ij
Z1
0
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 Integracion Numerica
S (3) S (4) S (5) :62666213 :62665722 :62665721 :62665582 :62665582 :62665746 :62665746 :62665692 :62665713
Ejercicios
1.- Para una sucesion fSn gn 0 , el -algoritmo esta de nido por:
(n) = 0 ;1 (n) = S n 0 1 (n) = (n+1) + k+1 k;1 (n+1) ; (n) :
^n gn 0 = faSn + bg Si la aplicacion del -algoritmo a fSngn 0 y a fS ( n ) n) proporciona respectivamente las cantidades k y ^( k . Mostrar que
n) (n) ^( 2l = a 2l + b
Z 1 log x
px dx:
283
Sn+1 ; S = ( + n )(Sn ; S )
con j j < 1, nlim !1 n = 0 y considerese el procedimiento
2
de Aitken
0 = Sn+1 ; Sn Sn+1 n = 0 1 : : : : Sn 2S n 0 g converge mas rapidamente hacia S que Demostrar que la sucesion fSn la sucesion fSng es decir 0 ;S Sn = 0: lim n!1 S ; S
n
Indicacion.- Veri car que Sn = ( ; 1 + n )(Sn ; S ) y encontrar una formula similar para 2 Sn
f (x)
k 2Z
X^
f (k)eikx
(VI:4:1)
f^(k) = 21
Z2
0
f (x)e;ikx dx:
(VI:4:2)
Z2
0
se tiene que E es un espacio vectorial provisto del producto sesquilinial, dado por Z2 hf gi = f (x)g(x)dx: (VI:4:3) Una simple veri cacion muestra que las funciones de nidas por
0
(VI:4:4)
285
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 bibliograf a, 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 : ! 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 . En un punto x donde la funcion es continua, el l mite de la serie es f (x). En un punto x donde f no es continua, la suma de la serie es 1 (f (x ) + f (x )): (VI:4:5) + 2 ; 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 cap tulo. Sin embargo existen alternativas menos costosas y mas simples que dan excelentes resultados. Sea f : 0 2 ] ! , supongase que la funcion f (x) es conocida para los x dados por la subdivision equidistante (VI:4:6) xl = 2N l l = 0 1 : : : N: Como f (xN ) = f (x0 ) por hipotesis, el calculo de (VI.4.2) puede realizarse ^(k) mediante la regla del trapecio, obteniendo como aproximacion de f
R C
(VI:4:7)
286
VI Integracion Numerica
Ahora bien, (VI.4.7) induce las de niciones siguientes. Considerese, el espacio de las sucesiones N -periodicas PN = f(yk )k2Zjyk 2 yk+N = yk g:
(VI:4:8)
con
! = e2i =N :
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 ;1 = N FN FN (VI:4:9)
donde
N ;1 X 1 (FN z )k := (FN z)k = N zl !kl : l=0
Se la denota z = FN y.
(VI:4:10)
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
N ;1 X 1 (FN y)k !kj (FN FN y)j = N k=0 N ;1 N ;1 X X y !;kl !kj = 12 N k=0 l=0 l ! N ;1 N ;1 X X 1 1 k ( j ; l ) = 2 ! y N l=0 l N k=0 1y : =N j
!km =
N ;1 X k=0
(!m )k = !mN ;1 =N 0 m
! ;1
yl = f (xl )
para una funcion f : ! 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
R C
xl = 2N l
l = 0 1 ::: N
k2Z
(VI:4:11)
R C
para jkj
N: 2
(VI:4:12)
VI Integracion Numerica
Z2
0
f (x)dx = O(hp )
(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 f^(k) C:k;p : (VI:4:14) En efecto, varias integraciones por partes dan
f^(k) = 21
Z2
0
f (x)e;ikx dx
2 0}
{z
0
;1 Z 2 ( i ) + 2 f 0 (x)e;ikx dx 0
.. .
Z2 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
f^N (k) ; f^(k)
) = (ik 2
;p Z 2
0
f (p) (x)e;ikx dx
X
j 1
C (j ; 1=2);pN ;p = C1 N ;p :
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 ^(k) mientras grande, por ejemplo k N , f^N es una mala aproximacion de f que para jkj N=2 la aproximacion es en general muy buena. 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
Interpolacion Trigonometrica
289
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= 2 0 X k=;N=2
(VI:4:15) satisface pn (xl ) = yl para l = 0 1 : : : N ; 1: Hay que remarcar que si los yk son reales, fzk g es una sucesion herm tica, es decir z;k = zk y por lo tanto el polinomio pN (x) es un polinomio a coe cientes reales. Demostracion.- Para l jo, la sucesion fzk eikxl g es N -periodica, por consiguiente
X
jkj<N=2
zk eikx
p N (x l ) =
N ;1 X k=0
El siguiente teorema a ser enunciado provee una estimacion del error de la interpolacion trigonometrica con consecuencias importantes, que seran explicadas posteriormente. X Teorema VI.4.8.- Sea f : ! una funcion 2 -periodica tal que f^(k) sea absolutamente convergente. Entonces, el polinomio trigonometrico dado por (VI.4.15), para yl = f (xl ) satisface para todo x 2
R C
jkj N=2
0 f ^(k) :
k2Z
(VI:4:16)
X
jkj N=2
0f ^(k)eikx :
290
VI Integracion Numerica
Este teorema permite una interpretacion interesante. Considerese una funcion 2 -periodica de frecuencia maximal M , es decir f^(k) = 0 para 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. 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 def nase (VI:4:18) y = (u0 v0 u1 v1 : : : : uN ;1 vN ;1 ) 2 P2N : Entonces, para k = 0 1 : : : N ; 1 se tiene (!2N = e2i =2N = e i=N )
;k N (FN v)k 2N (F2N y)k = N (FN u)k + !2 N ;k N (FN v)k : 2N (F2N y)k+N = N (FN u)k ; !2 N
(VI:4:18)
para k arbitrario
2N (F2N y)k = = =
2X N ;1
j =0 2X N ;1 j =0 N ;1 X
yj e;2 ijk=2n
;jk yj !2 N
N ;1 X
l=0 ul ;lk l=0 vl ;k ;lk !N !2N !N ; k = N (FN u)k + !2N N (FN v)k:
291
;N = ;1: La segunda formula de (VI.4.18) resulta de !2 N 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 ). * FN=8y0 = y0 y 0 FN=4 y 4 0 y0 1* FN=8y4 = y4 y2 C * FN=8y2 = y2 FN=2 B @ A y y 4 2 0 y0 1 FN=4 y y6 6 FN=8y6 = y6 y1 C B B C y2 C B * B C y B C 3 FN B (VI:4:19) * FN=8y1 = y1 y4 C B C B C 1 B 5C FN=4 y @y A y 5 y6 0 y1 1* FN=8y5 = y5 y7 B y3 C * FN=2 @ y5 A F y3 FN=8y3 = y3 N=4 y7 y7 F y =y
N=8 7
7
292
VI Integracion 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.
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 =
N ;1 X l=0
Aplicaciones de la FFT
yk;l zl :
(VI:4:20)
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 a1 a0 aN ;1 a2 C x1 C b1 C B B B B C B C B C : (VI:4:22) a a a a x B C B C B 2 1 0 3 C B 2 C = B b2 C B .. .. .. A @ .. A @ .. C @ ... . . . . . A aN ;1 aN ;2 aN ;3 a0 xN ;1 bN ;1
293
Evidentemente, el sistema lineal (VI.4.22) es equivalente a a x = b, si se considera (ai ), (xi ) y (bi ) como sucesiones de PN . La multiplicacion de una matriz de Toeplitz arbitraria con un vector
a;1 a;2 a;N +1 1 0 x0 1 0 b0 1 a0 a;1 a;N +2 C x1 C b1 C B B B C B a1 a0 aN +3 C x b2 C C B C B C (VI:4:23) 2 = C B C B .. .. .. A @ .. A @ .. C . . 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):
0 a0 a1 B B a2 B B @ ...
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
(y z )k =
N ;1 X l=0
yk;l zl
u00 (x) = ;1
gra car la solucion.
u(0) = u(2 ) = 0
VII.1 Generalidades
En este cap tulo I , I0 designan intervalos abiertos de no reducidos a un punto y t0 un punto jo de I0 se da una funcion f de nida y continua sobre I0 m con valores en m , un elemento y0 2 m , y se desea encontrar una funcion y continua y derivable sobre el intervalo I0 , con valores en m , 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 f sicos, 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 y1 0 (t) = f1 (t y1 (t) : : : ym (t)) > > 0 (t) = f2 (t y1 (t) : : : ym (t)) < y2 : (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) > : zp 0 (t) = f (t z1(t) : : : zp (t))
VII.1 Generalidades
297 y
de donde planteando
z = (z1 z2 : : : zp )t se tiene
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 cap tulo 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 teor a que sera desarrollada en este cap tulo 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.
En esta subseccion se supondra que la terminolog a 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 m 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
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 n por un espacio de Banach.
(VII:1:7)
298
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: Introduciendo la norma kykL = max (e;2L(s;t0 ) ky(s)k) s2I
0
t0
k( (y) ; (y ))(t)k
Zt Zt0t
kf (s y(s)) ; f (s y (s))k ds
deduciendose
Le2L(s;t0 ) ds ky ; y kL t0 1 e2L(t;t0) ky ; y k L 2
El teorema del punto jo implica que tiene un solo punto jo en C 0 (I0 ), de donde se tiene el resultado. Teorema VII.1.2.- Sea f : V ! n continua, donde V n+1 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
k (y) ; (y )kL 1 2 ky ; y kL :
Zx
x0
x0
VII.1 Generalidades
299
Zx
x0
Zx
x0
(L ky(s) ; v(s)k + ) ds
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: 1 0 (x) = Lwn (x) + wn wn (x0 ) = u(x0 ) + n (VII:1:12) cuyas soluciones estan dadas por:
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
wn (x1 ) ; wn (x0 ) =
Z x1
0 Zxx 1
w0 (s)ds =
n
Z x1
x0
= u(x1 ) ; u(x0 )
x0
(Lu(s) + )ds
Z x1
x0
u0 (s)ds
La teor a de existencia y unicidad de ecuaciones diferenciales son generalmente formuladas para problemas de Cauchy o problemas a valores iniciales, sin embargo existe una gran variedad de problemas diferenciales de otras caracter sticas que seran tratados en esta subseccion. Toda ecuacion diferencial puede expresarse como un sistema de ecuaciones diferenciales de primer orden de la manera siguiente
n ! n. donde f : 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 . Existe una gama de problemas diferenciales con valores en la frontera. A continuacion se mostrara los ejemplos mas representativos.
Ejemplos
RR R
y 0 = f (x y )
(VII:1:14)
y 0 = 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 0 = y2 y1 0 = y1 y2 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 = 2 k, 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 p de la ecuacion y0 = f (x y ) donde la solucion buscada veri ca y(a) = ya y g(y(a)) con g : n ! p . 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 y 0 (l ) = 0 con l desconocido. Este problema mediante una transformacion af n de x, puede expresarse de la siguiente forma 0 z 00 = l2f lt z zl l0 = 0 con condiciones de borde dadas por z (0) = A z (1) = B z 0 (1) = 0:
R R
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
n! yr: n n ! n. donde f : Por consiguiente la funcion r en los diferentes ejemplos, sera igual a:
RR R R R R
r(y(a) y(b)) = y(a) ; ya y1 (b) = y1 (a) ; A 1 (a) r y y2 (a) y2 (b) y1 (b) ; B r(y(x0 ) y(x0 + T )) = y(x0 ) ; y(x0 + T )
Introduciendo la notacion siguiente
y(x a ya )
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 De niendo la funcion F : n ! n por
R R
(VII1:17) (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
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
VII.1 Generalidades
n ! n . El problema ecuacion diferencial y0 = f (x y), donde f : 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
RR R
303
y0 = A(x)y
n X i=1
(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 ) =
donde los ei son los vectores de la base canonica de n . 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 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
0
(VII:1:23)
@y @y0 (x0 x0 y0 ) = I
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 s ntesis es utilizar un metodo
Shooting Simple
304
numerico para resolver (VII.1.19). Este metodo puede ser Newton u otro metodo numerico adaptado al problema. Sin pretender dar una teor a que justi que tal metodo, para tal efecto referirse a Stoer, se mostrara este metodo implementado en ejemplos.
Ejemplos
(VII:1:27)
(VII:1:27b)
y(1 ) = 1 2: En la gura VII.1.1, puede observarse en la gra ca los valores de y(1) en funcion de .
2
y(1)
0 0
10
VII.1 Generalidades
305
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
0 0
0 1
306
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) se obtiene @y (T 0 y0 ) ; I f (y (T 0 y0)) y0 = ; y(T 0 y0) ; y0 : @y0 T 0 f t (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
0 0
VII.1 Generalidades
307
Shooting Multiple
y 0 = 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 0 tiene como solucion y(0) = y0 y y0 (0) = y0 0 0 ; y0 ;10x + y0 + 10y0 e11x : y(x) = 11y0 e (VII:1:35) 21 21 Ahora bien, considerese el problema con valores en la frontera dado por y(0) = 1 y(10) = 1 0 de la formula la solucion de este problema consiste en determinar y0 (VII.1.35). Por consiguiente, resolviendo la ecuacion lineal 0 0 11 ; y0 ;100 + 10 + y0 e110 = 1 e 21 21 se obtiene 0 = 21 ; 10e110 ; 11e;100 : y0 e110 ; e100 Debido a la aritmetica de punto otante que las computadoras poseen, en 0 , se manipula la cantidad lugar de y0 0 = ;10(1 + ) con j j eps: y0 (VII:1:36) Suponiendo que los calculos se hacen en doble precision, se puede tomar por 0 en (VII.1.35), se obtiene ejemplo = 10;16. Remplazando y0 ;15 y(100) 1021 e110 2:8 1031 :
308
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
(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 .. > > > n;1 ) = 0 > : y(xn xn;r1(yy 0 yn ) = 0:
(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.
VII.1 Generalidades
309
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
iter=0
20
40
60
80
100
iter=1
20
40
60
80
100
iter=2
20
40
60
80
100
iter=3
20
40
60
80
100
iter=4
20
40
60
80
100
iter=11
20
40
60
80
100
310
Matematicamente el problema puede ser formulado como: area lateral ;! min volumen = 550: Por la simetr a 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
0
Planteando
p L( y y 0 ) = y 1 + y 02 ; Z 10
0
y2 ; 55
L( y y0 )dx ! min :
Este problema es de tipo variacional. Aplicando las ecuaciones de EulerLagrange se convierte en el problema diferencial siguiente
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
VII.1 Generalidades
311
iter=0
10
iter=2
10
iter=4
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
iter=1
10
iter=3
10
iter=5
10
10
Ejercicios
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 = ; M r(0) = R r0 (0) = v0 : r2
1.- Resolver:
(VII:1:39)
312
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 y + (1 + x)y4 = 0 y0 + 1 + x 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
x g(x) = cos 0
0 x =2 =2 x
3 6 y y0 = ; 2 ;3
;1 y0 = 1 4 ;3 :
RR
y1 y0
y2 y3 y4 y 5 y6 y(x)
x1
x2 x3
x4
x5
x6
314
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
donde f : U ! n , con U
RR
y 0 = f (x y ) y(x0 ) = y0
n abierto. Se de ne
(VII:2:6) (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 = (xmax kf (x y)k, = min(a b=A). y)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 ) + + (x ; xk;1 )f (xk;1 yk;1 ):
Ahora bien, + hk;2 f (xk;2 yk;2 )
kf (x y) ; f (x z )k L ky ; z k
entonces
8(x y) (x z ) 2 D
(VII:2:8) (VII:2:9)
315
Antes de demostrar esta proposicion vale la pena recalcar que si f satisface una condicion de Lipschitz, es decir (VII.2.8), el pol gono 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
Teorema VII.2.3.- Cauchy. Sea D = f(x y)jx0 x x0 + a ky ; y0kg U supongase: i) f jD continua, A = (xmax kf (x y)k, = min(a b=A), y)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 pol gonos 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) < :
^ una division mas na que h. donde h es una division con jhj < y h
316
> 0 dado, entonces existe > 0 tal que si jx ; xj y 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
ky ; yk
Sea
jx ; x0 j
yh (x) ; yh ^ (x)
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 A g
() ()
D = f(x y)jx0 x x0 +
ky ; y0 k bg U :
317
@f Sobre D se tiene kf (x y)k A, @f @y (x y) L, @x (x y) M . Entonces AL eL(x;x0) ; 1 jhj ky(x) ; yh(x)k M + (VII:2:10) L 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
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 j n 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),
(VII:2:12) en+1 = en + hn f (tn yn ) ; f (tn yn )] + hn n + %n : Puesto que f es diferenciable, se obtiene de (VII.2.12) el siguiente esquema 2 en+1 = en + hn @f (VII:2:13) @y (tn yn)en ] + hn n + %n + O(kenk ): 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(h n + %n )
318
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 C 2 8t 2 J 8 h h0 : Puesto que en z (tn )=h, se tiene que lim e = 1: h!0 n 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.
Error
319
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. 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
(VII:2:17) (VII:2:18)
yn+1 = yn + h yn
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 + h en
de donde
e0 = (y0 ; y0 )
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 j h + 1j < 1. Por consiguiente, para obtener un metodo estable es necesario que h = 2: (VII:2:20)
max
jj
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
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 c rculo corresponde a la region donde el metodo es estable.
i
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)
321
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 categor a 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: En lugar de utilizar el esquema dado por (VII.2.4) el metodo de Euler impl cito, 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 expl cita 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 impl cito, respecto al metodo de Euler expl cito. A continuacion se expondra la principal motivacion de utilizar la version impl cita en determinadas situaciones. La principal desventaja del metodo de Euler expl cito 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 impl cito es muy similar a la del metodo de Euler expl cito, en efecto considerando el problema (VII.2.18), se tiene que el metodo impl cito satisface la siguiente relacion recursiva para el error en+1 = en + hen+1 (VII:2:25) de donde, se obtiene de manera expl cita 1 e en+1 = 1 ; (VII:2:26) h n
322
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.
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 y 0 = f (x y ) y(x0 ) = y0 n n con f : U ! continua, U abierto y (x0 y0 ) 2 U posee una y una sola solucion sobre el intervalo I , entonces los pol gonos de Euler yh (x) convergen uniformemente sobre I hacia esta solucion. 3.- Aplicar el metodo de Euler al sistema 0 = ;y2 y1 (0) = 1 y1 0 = y1 y2 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.
y 0 = 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 categor a 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 expl citos. 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 Expl cito. Por consiguiente, la idea sera utilizar formulas de cuadratura que tienen un orden mas elevado.
324
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
h y(x0 + h) y0 + hf x0 + h 2 y(x0 + 2 )
(VII:3:4)
obteniendo posteriormente el valor desconocido y(x0 + h=2) mediante el metodo de Euler. Esto da
h f (x y ) : y + y1 = y0 + hf x0 + h 0 2 2 0 0
(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
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
donde los ci aij bj son coe cientes. El metodo se representa por el esquema
(VII:3:7)
Los metodos de Euler, como tambien los metodos de Runge y Heun estan dados en la tabla III.3.1
Euler
c1 = 0
ci =
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
(VII:3:9)
326
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 2h 4 y(x0 + h) = y0 + h 4 f (x0 y0 ) + 3f x0 + 3 y(x0 + 3 ) + O(h ) 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 1 Y 0 = F (Y ) donde Y = x (VII:3:10) y F (Y ) = f (x y) con valor inicial Y0 = (x0 y0 )t . La aplicacion del metodo de Runge-Kutta al problema (VII.3.10) da
Y1 = Y0 + h
s X
1 bi Ki = x y 1 i=1
327
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. 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. Considerese el problema de Cauchy y 0 = f (y ) y(x0 ) = y0 : (VII:3:11) derivando la ecuacion (VII.3.11), se obtiene para la solucion exacta 0 y0 = f 0 f (y) y00 =fy y 00 (y0 f (y)) + f 0 f 0 y0 = f 00 (f (y) f (y)) + f 0 f 0 f (y) y000 =fy y y y y y 0 f 00 (f (y) f (y)) (4) 000 00 0 y =fy (f (y) f (y) f (y)) + 3fy (fy f (y) f (y) + fy y 0 0 0 + fy fy fy f (y) de donde la serie de Taylor de la solucion exacta esta dada por 2 0 y(x0 + h) = y0 + hf (y0) + h 2! fy f (y0) 3; 00 0 0 +h 3! fy (f (y0 ) f (y0 )) + fy fy f (y0 ) (VII:3:12) 000 00 0 + fy (f (y) f (y) f (y)) + 3fy (fy f (y) f (y)
0 f 00 (f (y) f (y)) + f 0 f 0 f 0 f (y) + O(h5 ): + fy y y y y
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) 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)
ki = f (y0 ) + ci hfy f (y0 ) + O(h2 ): La segunda iteracion da como resultado ki = f (y0 + hci f (y0 ) + h2
X
j
Efectuando todav a una vez mas una iteracion, e introduciendo los valores obtenidos en la de nicion (VII.3.5) de yi , se obtiene
2 X y1 = y0 + h bi f0 + h 2 bi ci (f 0 f )0 (VII:3:14) 2 i i 0 0 1 1 ! 3 X X h 00 0 0 + 3! @ 3 bi c2 i (f (f f ))0 + @6 bi aij cj A (f f f )0 A i ij 4 000 (f f f ))0 + @8 X bi ci aij cj A (f 00 (f 0 f 0 f ))0 @ X bic3 ( f +h i 4! i ij
X !
donde el sub ndice 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
i
X X
i i
bi = 1
1 bi c2 i=3
bi ci = 1 2
X
ij i
X X
ij
bi aij = 1 6
X
ij
bi ci aij cj = 1 8
X
ijk
1: bi aij ajk bk = 24
1 bi aij c2 j = 12
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 c3 1 b3c3 (c3 ; c2 )(c4 ; c3 ) = ; c22c4 + c2 + (VII:3:16) 3 ; 4: 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 ; 1 (VII:3:18) 8: 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 6 8 2 c4 + c2 + c3 ; 1 =24 b4 a43 a32 c2 b3 c3 (c3 ; c2 )(c4 ; c3 ) = ;c2 3 4 lo que es equivalente a
c2 (1 ; c4 ) = 0:
330
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.
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
Metodos Encajonados
y ^1 = y0 + h(^ b1 k1 +
+^ bs ks )
(VII:3:19)
331
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.
a32 .. . . . . as2 as s;1 b2 bs;1 bs ^ ^ b2 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 ^+1 ) Chp ^+1 : y1 ; y ^1 = (y1 ; y(x0 + h)) + (y(x0 + h) ; y ^1) = O(hp+1 ) + O(hp (VII:3:21) El h optimal, denotado por hopt , es aquel donde esta estimacion es proxima de Tol, es decir ^+1 (VII:3:22) Tol Chp opt : Eliminando C de las dos ultimas formulas, se obtiene hopt = 0:9 h
p ^+1
c1 = 0 c2 c3 .. . cs (1)
Tol : ky1 ; y ^1 k
(VII:3:23)
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 )
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 ^+1 : hopt = h min 5 max(0:2 0:9(Tol=err)1=p Para la norma dada en la relacion (VII.3.23), se utiliza en general
v u n y ;y u X i1 ^i1 ky1 ; y ^1 k = t 1
n i=1 sci
(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
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^ 2 1: ^ ^ b + b + b = 2 3 4 3 3 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.
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 pol gonos, 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 Cap tulo III, tiene como efecto la perdida de precision. Desde el punto de vista gra co las soluciones dejan de ser
Soluciones Continuas
334
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 = 1b + 2b = 2 32 33 2 1b + 4b = 3 92 93 3 4b = 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, 3 2 y para b = ( ; 3 ). obteniendo as , el esquema se tiene para b3 = 4 1 4 dado en la tabla VII.5.6.
1=3 0
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 cap tulo III, la interpolacion de Hermite tiene un error del orden O(h4 ), equivalente a un metodo de tercen orden. 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 (VII:3:28) ky(x ) ; y k hp C e (xn;x0 ) ; 1
n n
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)
ehi kyi ; zi k :
(VII:3:30)
y(xn ) En E n1 E1 y
+1 (x ;x ) Chp i;1 e n i
e n1
x0
x1
x2 x 3
xn
ky(xn ) ; yn k
kEi k
+1 (x ;x ) hp i;1 e n i
x) ( x n
x0
x1
x2
x n1
xn
337
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) (VII:3:32)
(VII:3:33)
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
(VII:3:34)
k (x y h) ; (x z h)k
s X i=1
338
implican (VII.3.27) con dado por (VII.3.33). 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 1 ;x 1 y(x) = 3 (VII:3:36) 2 e ; 2 cos x + 2 sin x: 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
Experiencias Numericas
fe
105
104
103
102
101
100 0 10
err glob
101 102 103 104 105 106 107 108 109 1010
Metodo de Euler Metodo de Runge Metodo de Heun Metodo de Kutta Metodo 3/8
339
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 qu mica, conocida como Brusselator. Por consiguiente, se debe resolver:
0 = 1 + y2 y2 ; 4y1 y1 1 0 = 3y1 ; y2 y2 y2 1
(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 5 4 3 2 1 0 100
y2
y1
5 10
101
102 0 103 10
4
Error global
10
105 106 107 108 Error local exacto Error local estimado
340
Ejercicios
1.- Aplicar el metodo de Runge al sistema
0 = ;y2 y1 0 = y1 y2
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 ;1 1 bi cq i = q para q = 1 : : : p: 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
i=1
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 g(j;1) (0): y(j) (0) = 1 ; j 6.- Aplicar un metodo de Runge-Kutta al problema del ejercicio anterior, ;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(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 nk+1 f n1 fn p(t)
x nk+1
x n1
xn
x n+1
342
yn+1 = yn +
Z xn+1
xn
p(t)dt:
(VII:4:3)
p(t) =
;1 k ;1 j X Y
j =0 i=0 k ;1 X j =0
(VII:4:4)
yn+1 = yn +
Z xn+1 jY ;1
xn i=0
El caso mas simple de estas formulas de Adams expl citas consiste cuando la division es equidistante. En esta situacion se tiene xj = x0 + jh, las diferencias divididas pueden ser expresadas bajo la forma
(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
k ;1 X j =0
j rj fn
(VII:4:7)
Z 1 jY Z 1 s+j ;1 ;1 1 (i + s)ds = ds: j = j! 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 Expl citos.
j 0 1 2 3 4 5 6 7 8 1 5 3 251 95 19087 5257 1070017 j 1 2 12 8 720 288 60480 17280 3628800
343
Casos particulares de los metodos de Adams expl citos son: k = 1 : yn+1 = yn + hfn (metodo de Euler) 1 k = 2 : yn+1 = yn + h 2 3 fn ; 2 fn;1 16 5 k = 3 : yn+1 = yn + h 23 12 fn ; 12 fn;1 + 12 fn;2 59 37 9 k = 4 : yn+1 = yn + h 55 24 fn ; 24 fn;1 + 24 fn;2 ; 24 fn;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 expl cito 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: 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 expl cita fn+1 = f (xn+1 yn+1 ) es todav a desconocido. El siguiente paso es de nir la aproximacion numerica por
yn+1 = yn + p (t ) =
;1 k j X Y
j =0 i=0
Z xn+1
xn
p (t)dt:
(VII:4:10)
De la misma manera que en el caso expl cito, la formula de Newton da (t ; xn;i+1 )dt f xn+1 xn : : : xn;j+1 ]
(VII:4:11)
yn+1 = yn +
;1 k Z xn+1 j X Y
j =0 xn i=0
344
El caso mas simple de estas formulas de Adams impl citas consiste cuando la division es equidistante, el metodo esta dado por
yn+1 = yn + h
donde
k X j =0
j j r fn+1
(VII:4:13)
(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 Impl citos.
k = 0 : yn+1 = yn + hfn+1 = yn + hf (xn+1 yn+1 ) 1 k = 1 : yn+1 = yn + h 1 2 fn+1 + 2 fn 5f + 8f ; 1f k = 2 : yn+1 = yn + h 12 n+1 12 n 12 n;1 9 f + 19 f ; 5 f + 1 f k = 2 : yn+1 = yn + h 24 n+1 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. Los metodos de Adams impl citos tienen la gran ventaja sobre la version expl cita, 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
Metodos Predictor-Corrector
345
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 expl cito, 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 k n j =0 j Adams expl cito 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. Se ha visto que los metodos de Adams, tanto en su version expl cita, como en su version impl cita 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 r gidos. 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
Metodos BDF
q(xj ) = yj
para j = n + 1 n : : : n ; k + 1
(VII.4:16) (VII.4:17)
q(t) =
;1 k j X Y
j =0 i=0
(VII.4:18)
346
Cada termino de esta suma contiene el factor (t ; xn+1 ), de donde es muy facil calcular q0 (xn+1 ), obteniendo as
;1 k j X Y
j =0 i=1
x nk+1
x n1
xn
x n+1
r yn+1 = hfn+1 : j =1 j
(VII.4:20)
k = 1 : yn+1 ; yn = hfn+1 1 k=2: 3 2 yn+1 ; 2yn + 2 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 impl citamente la aproximacion numerica yn+1 . 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
k X i=0
(VII.4:21)
donde k 6= 0 y j 0 j + j 0 j > 0. El metodo es expl cito si k = 0, si no el metodo es impl cito. 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+k1 y n+1 yn yn+k y(x)
xn
xn+1
x n+k1
x n+k
L( y x h) =
(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 y 0 (xn + ih)
lo que es equivalente a
L(y xn h) =
k I ; h k @y (: : :) (y (xn+k ) ; yn+k )
@f
(VII:4:24)
348
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 i=0 y k X 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 g 0 k X i=0
k X X i=0 hq i r 0 k X
= y(x)
! X
g 1
y(q) (x)
q!
! k X q q ; 1 i : ii ; q i=0 i=0
Ejemplo
Considerese el metodo de Adams expl cito 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 expl cito 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 impl cito tiene el orden p = k + 1 y el metodo BDF el orden p = k. 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
Estabilidad
349
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 caracter stico de esta, obteniendo 2 + 4(1 ; h) ; (5 + 2h) = 0 (VII:4:28) ecuacion de segundo grado cuyas soluciones son 2 1 = 1 + h + O(h ) 2 = ;5 + O(h): La solucion de (VII.4.27) tiene la forma n + C2 n yn = C1 1 (VII:4:29) 2 donde las constantes C1 y C2 estan determinadas por y0 = 1 y y1 = eh. Para n C2 (;5)n es dominante y sera muy di cil que n grande, el termino C2 2 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
350
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 caracter stico
%( ) = 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 teor a 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 expl cito. Debido a la complejidad de la demostracion, en esta subseccion se tratara, solamente el caso equidistante.
351
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
(VII:4:34)
yn+k = ;
k ;1 X i=0
i yn+i + h (xn yn
: : : yn+k;1 h):
k ;1 X i=0
(VII:4:35)
(VII:4:36)
k ;1 X i=0 i yn+i
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 0 (x Y h) 1 ; 11 ; 01 1 B C 1 0 0 0 C B 0 C B B C . B C . B C . (x Y h)=B 0 : A =B 1 O C C . B C . . . @ A . .. .. A .. @ . 0 1 0 (VII:4:37)
352
El siguiente paso en la demostracion es introducir el error local. Se considera los valores yn : : : yn+k;1 sobre la solucion exacta, denotando
(VII:4:38)
^n+1 ; Y (xn+1 ) es exactamente el error local La primera componente de Y 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 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 ^n+1 ; Y (xn+1 ) Y
C1 hp+1
yn+1 ; zn+1 yn ; zn
0 (xn Yn h) ; (xn Zn h) 1 B C 0 C +h B .. @ A:
. 0 que es conse(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
e n1
y(xn ) En E n1 E1 y
x0
x1
x2 x 3
xn
Ejercicios
1.- Para los coe cientes del metodo de Adams expl cito, demostrar la formula de recurrencia siguiente:
m + 2 m;1 + 3 m;2 +
+ m1 + 1 0 = 1:
Indicacion.-Introducir la serie
G(t) =
y demostrar que
1 X
j =0
j tj
j = (;1)j
Z 1 ;s j ds
0
G(t) =
Z1
0
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
354
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 expl cito. Deducir la formula de Nystron
yn+1 = yn;1 + h
k ;1 X 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 expl cito. 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 k;1 P yn+1 = h X P fn+1 i i i=0 i=0 k X i=0 k X i=0
(P )
y un corrector de orden p
i yn+1 = h i fn+1 :
(C )
Bibliograf a
Al nal de cada libro o art culo, se indica entre corchetes y caracteres italicos el cap tulo 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 Di erential 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 Di erential Equations. John Wiley & Sons. VII]. H. Cartan (1977): Cours de Calcul Di erentiel. 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 Di erentielles. 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
Bibliograf a
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. N rsett & G. Wanner (1987): Solving Ordinary Di erential Equations I. Nonsti Problems. Springer Series in Comput. Math., vol. 8. it VII]. E. Hairer & G. Wanner. Solving Ordinary Di erential Equations. Sti Problems. Springer Series in Comput. Math., vol. 11. VII]. P. Henrici (1962): Discrete Variable Methods in Ordinary Di erential 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 Cli s, New Jersey. V]. R. Piessens, E. de Doncker-Kapenga, C.W. Uberhuber & D.K. Kahaner (1983): QUAD-PACK. A Subroutine Package for Automatic Integration. Springer Series in Comput. Math., vol. 1. VI]. W.H Press, B.R. Flannery, S.A Teukolsky & W.T Vetterling (1989): Numerical Recipies. The Art of 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]
Bibliograf a
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 S mbolos
Los s mbolos matematicos que aparecen en el libro, estan enunciados en este glosaria de la manera siguiente. En la primera columna el s mbolo mismo, al medio el nombre de este y a la derecha la pagina donde 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. diferencia nita progresiva, 109. rk yi rk yi diferencia nita regresiva, 109. Tn (x) polinomio de Chebichef, 113. li (x) polinomio de Lagrange, 116. constante de Lebesgue, 116. n 0 fx aplicacion derivada, 168. (A) radio espectral, 171. ker nucleo de una aplicacion lineal, 214. ( ) polinomio caracter stico, 214. A A matriz adjunta, 215. U matriz unitaria, 215. Pk ( ) nucleo de Peano de orden k, 251. Pk (x) polinomio de Legendre, 262. FN transformada discreta de Fourier, 286. y k producto de convolucion, 292.
arr(x) eps
Indice Alfabetico
acelerador de convergencia, 147, 276 Adams metodo expl cito, 341 metodo impl cito, 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 expl cito, 322 metodo multipaso, 348 numericamente estable, 12 Euler efecto de los errores de redondeo, 317 estabilidad, 319 metodo, 313 metodo impl cito, 321 pol gono, 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 Rodr guez, 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
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 m nicmos cuadrados, 83 interpretacion estad stica, 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
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 expl citos, 341 Adamas impl citos, 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
364 Peano, 251{254 Pearson, 99 Perron-Frobenius, 52 pivote, 40 pol gono de Euler, 313 polinomio caracter stico, 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
365
! 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
366
Indice Alfabetico
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 cap tulos 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 caracter sticas, 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