You are on page 1of 200

Anlisis Numrico

L. Hctor Jurez V. Departamento de Matemticas, Universidad Autnoma Metropolitana. hect@xanum.uam.mx 3 de septiembre de 2008

L. Hctor Jurez V.

ndice general
1. Aritmtica Computacional 1.1. Representacin de nmeros por computadora . . . . . . . . . . . . . . . . . . 9 9

1.1.1. Representacin de nmeros enteros . . . . . . . . . . . . . . . . . . . . 10 1.1.2. Representacin de punto otante . . . . . . . . . . . . . . . . . . . . . 10 1.1.3. Limitacines en la representacin de nmeros en computadora . . . . . 12 1.2. Errores de redondeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.1. Forma normalizada de un nmero . . . . . . . . . . . . . . . . . . . . . 13 1.2.2. Forma de punto otante: truncamiento y redondeo . . . . . . . . . . . 13 1.2.3. Epsilon de mquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3. Aritmtica de punto otante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.1. Sistema de nmeros de punto otante . . . . . . . . . . . . . . . . . . 16 1.3.2. Operaciones de punto otante . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.3. Axioma fundamental de la arimtica de punto otante . . . . . . . . . 17 2. Condicionamiento y Estabilidad 2.1. Normas de matrices 19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1. Normas en espacios vectoriales . . . . . . . . . . . . . . . . . . . . . . 19 2.1.2. Continuidad y equivalencia de normas . . . . . . . . . . . . . . . . . . 21 2.1.3. Normas matriciales inducidas . . . . . . . . . . . . . . . . . . . . . . . 22 2.1.4. Clculo de normas matriciales . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.5. La norma2 de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.6. Propiedades de las normas matriciales . . . . . . . . . . . . . . . . . . 27 2.2. Condicionamiento y estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.1. Condicionamiento de un problema . . . . . . . . . . . . . . . . . . . . 29 2.2.2. Nmero de condicin absoluto . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.3. Nmero de condicin relativo . . . . . . . . . . . . . . . . . . . . . . . 30 3

L. Hctor Jurez V. 2.2.4. Estabilidad de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.5. Estabilidad regresiva (Backward-Stability) . . . . . . . . . . . . . . . . 37 2.2.6. Precisin de un algoritmo estable regresivo . . . . . . . . . . . . . . . . 38

3. Solucin de Sistemas de Ecuaciones Lineales 3.1. Eliminacin de Gauss

41

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2. Factorizacin LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.3. Inestabilidad del mtodo de eliminacin de Gauss . . . . . . . . . . . . . . . . 51 3.4. Tcnicas de pivoteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4.1. Pivoteo completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4.2. Pivoteo parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.4.3. Factorizacin LU con pivoteo parcial . . . . . . . . . . . . . . . . . . . 56 3.5. Clculo de la inversa de una matriz . . . . . . . . . . . . . . . . . . . . . . . . 59 3.6. Estabilidad del mtodo de eliminacin de Gauss con pivoteo . . . . . . . . . . 60 3.7. Mtodo de Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . 62 3.7.1. Matrices denidas positivas . . . . . . . . . . . . . . . . . . . . . . . . 62 3.7.2. Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.7.3. El algoritmo de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.7.4. Estabilidad del algoritmo de Choleski . . . . . . . . . . . . . . . . . . 69 71

4. Problemas de mnimos cuadrados lineales. Factorizacin QR

4.1. Ajuste de curvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2. Ajuste por medio de polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.1. Polinomio de interpolacin . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.2. Mnimos cuadrados polinomiales . . . . . . . . . . . . . . . . . . . . . 75 4.3. Mtodo de ecuaciones normales . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.1. Proyeccin ortogonal sobre el espacio imagen . . . . . . . . . . . . . . 76 4.3.2. Sistema de ecuaciones normales . . . . . . . . . . . . . . . . . . . . . . 77 4.3.3. Algoritmo de ecuaciones normales . . . . . . . . . . . . . . . . . . . . 79 4.4. Mtodo de factorizacin QR por ortogonalizacin de Gram-Schmidt . . . . . . 81 4.4.1. Factorizacin reducida . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.4.2. Factorizacin completa . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.5. Proyecciones en Rn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.5.1. Algunas propiedades de las proyecciones . . . . . . . . . . . . . . . . . 86 4.5.2. Proyecciones ortogonales . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.6. Mtodo de factorizacin QR por reexiones de Householder . . . . . . . . . . 91

Anlisis Numrico

4.6.1. Triangularizacin de Householder . . . . . . . . . . . . . . . . . . . . . 91 4.6.2. Reexiones de Householder . . . . . . . . . . . . . . . . . . . . . . . . 92 4.6.3. La mejor de las dos reexiones . . . . . . . . . . . . . . . . . . . . . . 96 4.6.4. Algoritmo de factorizacin de Householder . . . . . . . . . . . . . . . . 97 5. Solucin de Ecuaciones no Lineales 101

5.1. Mtodo iterativo de punto jo . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.2. Teorema de punto jo de Banach . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3. Cota del error en la iteracin de punto jo . . . . . . . . . . . . . . . . . . . . 106 5.4. Orden de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.5. La convergencia cuadrtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.6. El mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.6.1. Interpretacin geomtrica del mtodo de Newton . . . . . . . . . . . . 116 5.6.2. Teorema de convergencia no-local para el modo de Newton . . . . . . 118 5.6.3. Algunas modicaciones del mtodo de Newton . . . . . . . . . . . . . 119 5.7. Mtodo de punto jo para sistemas de ecuaciones . . . . . . . . . . . . . . . . 121 5.7.1. Aceleracin de tipo Seidel en las iteraciones . . . . . . . . . . . . . . . 125 5.8. Mtodo Newton para sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . 126 6. Interpolacin Polinomial e Integracin Nmerica 129

6.1. Polinomio de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.2. Interpolacin de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.3. Error en el polinomio de interpolacin . . . . . . . . . . . . . . . . . . . . . . 134 6.4. Forma de Newton del polinomio de interpolacin . . . . . . . . . . . . . . . . 137 6.4.1. Clculo de los coecientes a0 , a1 , . . . , an . . . . . . . . . . . . . . . . 138 6.4.2. Nmero de operaciones en la forma de Newton . . . . . . . . . . . . . 141 6.4.3. Interpolacin en un nmero creciente de puntos . . . . . . . . . . . . . 143 6.4.4. El error del polinomio en forma de Newton . . . . . . . . . . . . . . . 143 6.5. Integracin Numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.5.1. Frmulas de NewtonCotes . . . . . . . . . . . . . . . . . . . . . . . . 144 6.5.2. El error en las frmulas de integracin de Newton-Cotes . . . . . . . . 145 6.5.3. Frmulas de integracin numrica ms comunes . . . . . . . . . . . . . 147 6.6. Reglas compuestas de integracin . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.7. Frmulas de cuadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . 155

L. Hctor Jurez V. 161 . 161 . 165 . 166 . 173 . 175 . 179 . 181 . 182 . 185 . 186 . 188 . 196

7. Aproximacin Numrica de Ecuaciones Diferenciales Ordinarias 7.1. Conceptos bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Existencia y unicidad de la solucin . . . . . . . . . . . . . . . . . . . 7.3. Mtodos de aproximacin con series de Taylor . . . . . . . . . . . . . 7.4. Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . 7.5. Mtodos de Runge-Kutta de dos etapas . . . . . . . . . . . . . . . . 7.6. Mtodos de un paso de retapas . . . . . . . . . . . . . . . . . . . . . 7.7. Estabilidad y convergencia de los mtodos de un paso . . . . . . . . 7.7.1. Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.2. Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8. Estudio asinttico del error global . . . . . . . . . . . . . . . . . . . . 7.9. Monitoreo del error y control del paso . . . . . . . . . . . . . . . . . 7.9.1. Mtodo RungeKuttaFehlberg de cuarto orden . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

Anlisis Numrico

Prlogo
Este documento contiene las notas del curso de Anlisis Numrico diseado para los alumnos de la maestra en Ciencias Matemticas Aplicadas e Industriales y del Posgrado de la Divisin de Ciencias Bsicas e Ingeniera de la Universidad Autnoma Metropolitana, plantel Iztapalapa. El material incluye los temas cubiertos en un perido trimestral y equivalente a 50 horas frente a grupo. Se recomienda que un mnimo de 12 horas de las 50 se dediquen a taller de cmputo, en donde los alumnos experimenten con los diferentes algoritmos y mtodos analizados en clase de teora. Cabe aclarar que el material tambin puede utilizarse en cursos con estudiantes avanzados (del ltimo ao) de ciencias e ingenieria de nivel licenciatura. Los prerrequisitos son: clculo en una y varias variables, algebra lineal, y ecuaciones diferenciales ordinarias. Los temas se escogieron para cubrir un mnimo de material que permita introducir al estudiante a este fascinante campo de la matemtica aplicada, con el objeto de que adquiera la formacin y madurez necesaria que le permita abordar otros temas ms avanzados y/ especializados del anlisis numrico. Se hace nfasis en el anlisis y comprensin de los mtodos y algorimtos, as como de los alcances y limitaciones de los mismos. Nuestro propsito es que el estudiante no solo aprenda a utilizar los mtodos, sino que adems sea capaz de elejir y disear la mejor estrategia para algn problema en particular. Por el momento no hemos incluido los ejemplos cubiertos en taller de cmputo, los cdigos de cmputo correspondientes, ni tampoco hemos incluido una lista de ejercicios de cada tema. Estas son tareas pendientes que iremos cubriendo poco a poco. Por lo pronto, a manera de introduccin trataremos de describir de manera general el campo de estudio del anlisis numrico y el propsito general del material que se presenta en este manuscrito. El anlisis numrico trata del estudio, anlisis y desarrollo de algoritmos para obtener soluciones numricas y computacionales de problemas expresados matemticamente. Generalmente estos problemas matemticos son modelos expresados en el lenguaje matemtico de diversos fenmenos estudiados en las ciencias naturales y problemas de la ingeniera, abarcando recientemente otros campos como las nanzas, la economa, la biologa y la medicina, entre otros. A menudo el anlisis numrico es considerado como las matemticas de la computacin cientca (la cual versa sobre la solucin numrica en computadora de problemas matemticos). Los algoritmos que estudiaremos invariablemente son diseados para utilizarlos en computadoras de alta velocidad. Por tanto, un paso crucial antes de obtener la solucin del problema consiste en el desarrollo de un cdigo o programa en algn lenguaje de programacin para comunicarlo a la computadora. Dado que hay varias opciones no solo de lenguajes de

L. Hctor Jurez V.

computacin sino tambien de tipos de computadoras, el tema de programacin se deja fuera de la ciencia del anlisis numrico. Sin embargo, en el presente estudio a menudo haremos uso del ambiente MATLAB para los clculos en algunos ejemplos y aclaramos que el lector puede programar los mtodos en el ambiente o en el lenguaje de programacin que el elija. Existen varias fuentes de error en la solucin de problemas que requieren de computacin matemtica o solucin computacional: 1. Modelacin del proceso. La solucin numrica de problemas no puede ser mejor que el modelo subyacente. Un modelo matemtico de un problema en particular siempre parte de hiptesis simplicadoras y generalmente no describe el fenmeno de manera exacta. 2. Medida de datos para el problema. Los datos observados los parmetros asociados a un problema pocas veces son exactos. Cuando se obtienen datos de un problema generalmente hay limitaciones en los equipos de medicin y los datos son obtenidos con una precisin nita determinada. 3. Errores matemticos de mtodo. Estos estn asociados a la aproximacin matemtica modelo numrico de solucin del problema. Estos errores comunmente son llamados errores de discretizacin y errores de truncamiento, y son inherentes a la metodologa de aproximacin que se utiliza para resolver el problema. 4. Error de redondeo. Aparecen debido al nmero nito de dgitos disponibles en las computadoras o calculadoras utilizadas para el clculo numrico. Los equipos de clculo computo tienen una precisin limitada y no pueden almacenar todos los nmeros de manera exacta, ocasionando prdida de precisin en los clculos. En este curso estudiaremos el diseo e implementacin de cdigos que en lo posible minimizen errores de redondeo, estimen errores de truncamiento y proporcione alguna indicacin de la sensibilidad del problema a errores en los datos y a los errores de redondeo.

Captulo 1

Aritmtica Computacional
La aritmtica realizada en una computadora involucra operaciones con nmeros que tienen un nmero nito de dgitos solamente. As que inevitablemente muchos clculos se realizan con representaciones aproximadas de los nmeros verdaderos. Por ejemplo 1/3 no puede representarse de manera exacta en una computadora, al igual que , e, 2 y muchos otros nmeros.

1.1.

Representacin de nmeros por computadora

En una computadora digital los nmeros generalmente se representan en el sistema binario (base 2). Por ejemplo, (110)2 equivale a 1 22 + 1 21 + 0 20 = 6 en el sistema decimal; (1011,11)2 equivale a 1 23 + 0 22 + 1 21 + 1 20 + 1 21 + 1 22 = 11,75 en el sistema decimal. La longitud nita de la palabra de una computadora impone restricciones sobre la precisin que puede lograrse en la representacin de los nmeros. Por ejemplo, un nmero tan simple como 1/10 no puede almacenarse exactamente en una mquina binaria dado que 1/10 = (0,0001100110011 . . .)2 . Adems, debemos tomar en cuenta que tenemos dos tcnicas de conversin relacionadas al comunicarnos con una computadora binaria: de decimal a binario (al introducir los datos), y de binario a decimal (al obtener los resultados). En cada conversin pueden presentarse errores. 9

10

L. Hctor Jurez V.

1.1.1.

Representacin de nmeros enteros

Los nmeros enteros se pueden representar en una computadora utilizando el mtodo de la magnitud con signo: El primer bit de la palabra se utiliza para indicar el signo: 0 para indicar +, y 1 para indicar . Los bits sobrantes se usan para guardar la magnitud del nmero. Ejemplo 1.1. Si se usan 16 bits para representar los nmeros enteros en la memoria de la computadora, el nmero 173 puede representarse por 1 0 0 0 0 0 0 0 1 27 0 1 25 0 1 23 1 22 0 1 20

signo

Ejemplo 1.2. Rango de enteros. Determinar el rango de enteros que puede representarse en una computadora de 16 bits. Solucin. El 1er bit es para el signo. Sobran 15 bits con los cuales pueden representarse los nmeros del 0 al 111111111111111 = 215 1 = 32767. Adems como el 0 se representa por 0000000000000000, es redundante utilizar 1000000000000000 para representar -0, as que podemos representar un nmero adicional que puede ser 215 215 . Por lo tanto, el rango de enteros que podemos representar con una computadora de 16 bits es de -32768 a 32767 bin de -32767 a 32768

1.1.2.

Representacin de punto otante

Los nmeros reales se representan en la computadora usando la forma de punto otante (o notacin cientca normalizada). Esta consiste de una parte fraccionaria llamada mantisa y una parte entera llamada exponente, como se indica a continuacin: m e = m et t

donde es la base del sistema ( = 10 para el sistema decimal y = 2 para el sistema binario), e representa el exponente y t 1 es la precisin de la mquina. La m se puede escoger 1 m como: t m < 1, (la mantisa es m), 1 m < t , (la mantisa es t ), dependiendo de la arquitectura.

Anlisis Numrico

11

Ejemplo 1.3. La IBM 370 la 3000 consista de un bit indicador del signo, un exponente e de 7 bits en base = 16, y una mantisa m de 24 bits (en total 32 bits), con t=64. Cualquier 1 nmero es de la forma: m16e64 con t m < 1. En esta arquitectura el nmero de mquina 0 1000010 101100110000010000000000

representa el nmero decimal [21 + 23 + 24 + 27 + 28 + 214 ]166664 = 179,015625. donde: el primer bloque (de 1 bit) representa +, el segundo bloque (de 7 bits) representa 26 + 21 = 66, el tercer bloque (de 24 bits) representa 21 + 23 + 24 + 27 + 28 + 214 . El anterior nmero de mquina ms pequeo es: 0 1000010 101100110000001111111111 =179.0156097412109375

El siguiente nmero de mquina ms grande es: 0 1000010 101100110000010000000001 = 179,0156402587890625

Lo anterior signica que el nmero de mquina original debe representar no slo a 179.015625, sino tambin a un nmero innito de nmeros reales que se encuentran entre este nmero y sus nmeros de mquina ms cercanos. Por otro lado, en esta arquitectura, el nmero ms pequeo que se puede representar es: 0 0000000 000100000000000000000000 = 24 16064 = 1665 1078

y el nmero ms grande que se puede representar es: 0 1111111 111111111111111111111111 1 1612764 = 1663 1076

de tal manera que los nmeros que aparecen en los clculos con magnitud menor a 1665 resultan en lo que se denomina como underow, y generalmente se le da el valor de cero. Los nmeros con magnitudes mayores a 1663 resultan en lo que se llama overow, y causa que los clculos se detengan se obtenga un mensaje de error.

12

L. Hctor Jurez V.

1.1.3.

Limitacines en la representacin de nmeros en computadora

Del ejemplo anterior, concluimos que la limitacin ms fuerte para representar nmeros en una computadora digital es que slo se puede contar con un nmero nito de bits para cualquiera de las arquitecturas. De aqu que en una computadora digital 1. Slo se puede representar de manera exacta un nmero nito de nmeros. 2. No se puede representar nmeros arbitrariamente grandes o arbitrariamente pequeos. 3. Existen vacios claros entre los nmeros con representacin exacta. Afortunadamente en las computadoras modernas se pueden representar nmeros sucientemente grandes y nmeros sucientemente pequeos (desde un punto de vista prctico). Por ejemplo, en la aritmtica ms ampliamente usada en la actualidad (IEEE, Institute of Electric and Electronic Engineers) en doble precisin permite nmeros tan grandes como 1,79 10308 (= 21024 ) y nmeros tan pequeos como 2,23 10308 (= 21022 ). Sin embargo el vaco, claro o brecha entre nmeros de mquina es un problema permanente en la computacin. Por ejemplo, el intervalo [1,2] se representa por el conjunto discreto y nito, 1, 1 + 252 , 1 + 2 252 , 1 + 3 252 , . . . , 1 + 252 252 = 2. En la aritmtica IEEE de doble precisin los claros o vacos entre nmeros de mquina adyacentes no son mayores a 252 2,22 1016 , en sentido relativo. Esto puede parecer insignicante, y de hecho lo es para la mayora de algoritmos estables. Sin embargo, resulta catastrco para los algoritmos inestables. Ms adelante precisaremos los conceptos de estabilidad e inestabilidad numrica. En suma, los nmeros de punto otante en una computadora binaria estn distribuidos en forma no uniforme, la mayora de ellos concentrados cerca de cero. Esto es debido a que entre potencias adyacentes de 2 (intervalos binarios) siempre hay la misma cantidad de nmeros de mquina e igual a 2t (con t=52 para doble precisin). Por ejemplo en el intervalo 2e 2e x 2e+1 los nmeros estn igualmente espaciados con un incremento t , donde 2e = 2 longitud del intervalo y 2t = cantidad de nmeros de punto otante en el intervalo binario. Por lo tanto, hay una distribucin no uniforme de punto otante, con una densidad mayor 2e cerca del origen (es decir, el incremento t es cada vez menor conforme el exponente e es 2 ms negativo).

Anlisis Numrico

13

1.2.

Errores de redondeo

Cuando se realiza aritmtica de punto otante frecuentemente el nmero de dgitos en los resultados intermedios es cada vez mayor, mientras que el nmero signicativo de dgitos permanece jo. Por ejemplo, el producto de dos nmeros de punto otante en aritmtica con 8 dgitos despus del punto decimal ser un nmero con 16 dgitos despus del punto decimal, y debemos quitar ocho dgitos para redondear el resultado a 8 dgitos despus del punto decimal. El redondeo es un concepto til y fundamental en la ciencia computacional.

1.2.1.

Forma normalizada de un nmero

Para introducir e ilustrar el concepto de redondeo utilizaremos la forma decimal normalizada, esto con el objeto de simplicar la exposicin. Si x es un nmero real cualquiera, entonces tiene una representacin decimal exacta de la forma x = 0.d1 d2 d3 dt dt+1 10n , con 1 d1 9, 0 di 9, para i = 1, 2, . . . , t, t + 1, . . ., y n un entero positivo o negativo. Ejemplo 1.4. La forma decimal normalizada se ilustra con los siguientes nmeros fraccionarios: 1 = 0,909090 . . . 101 , 11 15 x= = 0,13636363 . . . 101 . 11 x=

1.2.2.

Forma de punto otante: truncamiento y redondeo

La forma de punto otante, denotada por f l(x), se obtiene terminando la mantisa de x en t dgitos decimales, si suponemos que los nmeros de mquina admiten a lo ms t dgitos decimales despus del punto decimal. Existen dos maneras de realizar esta terminacin 1. Truncamiento. Se cortan los dgitos dt+1 , dt+2 , . . . para obtener f l(x) = 0.d1 d2 dt 10n . 2. Redondeo. Se forma la suma d1 d2 dt .dt+1 + 0,5 (donde el punto que est entre dt y dt+1 es un punto decimal). La parte decimal de f l(x) es d1 d2 dt1 t la cual representa la parte entera del resultado de la suma anterior. Ejemplo 1.5. La representacin del nmero x = 15/11 en punto otante con truncamiento

14 a seis y siete cifras decimales es: f l(x) = 0,136363 101 , f l(x) = 0,1363636 101 , si t = 6, si t = 7.

L. Hctor Jurez V.

Por otro lado, para obtener su representacin con redondeo a seis y siete cifras decimales se hace lo siguiente: Si se toman seis cifras decimales (t = 6), entonces, 136363,6 + 0,5 = 136364,1, cuya parte entera es 136364. Por lo tanto f l(x) = 0,136364 101 (con 6 = 4 = d6 = 3 ). Si se toman siete cifras decimales (t = 7), entonces tenemos 1363636,3 + 0,5 = 1363636,8, cuya parte entera es 1363636. Por lo tanto f l(x) = 0,1363636 101 (con 7 = 6 = d7 ).

El error que resulta al reemplazar un nmero real x por su nmero de punto otante se 1 denomina error de redondeo. Este error esta acotado por |x f l(x)| 2 101t |x|p, donde p = 1 cuando se hace redondeo, y p = 2 cuando se hace truncamiento. Demostracin. (Caso por truncamiento). Sea x = 0.d1 d2 dt dt+1 10n , f l(x) = 0.d1 d2 dt 10n , entonces |x f l(x)| = 0. 0 0 dt+1 dt+2 10n
tceros

= 0.dt+1 dt+2 10nt = 0.dt+1 dt+2 10n 10t = Pero |x| |x| 0.dt+1 dt+2 10n 10t |x| 0.d1 d2 dt dt+1 10n

0.dt+1 dt+2 10 0.d1 d2 0.dt+1 dt+2 d1 .d2 d3

ya que

(donde el punto entre d1 y d2 es un punto decimal). Por lo tanto |x f l(x)| 101t |x| cuando se hace truncamiento. Anlogamente puede considerarse el caso de redondeo: 1 |x f l(x)| 101t |x|. 2

Anlisis Numrico

15

Observacin. En las expresiones anteriores la cantidad |x f l(x)| denota el error absoluto que se obtiene al representar el nmero x por su nmero de punto otante, mientras que la cantidad |x f l(x)|/|x| denota el error relativo que se obtiene al reemplazar x por su correspondiente nmero de mquina o punto otante f l(x). Luego entonces el error relativo 1 ser menor a 101t cuando se hace truncamiento y menor a 2 101t cuando se hace redondeo para representar los nmeros en computadora. En el caso ms general cuando la base es en lugar de 10, se tiene que |x f l(x)| 1t |x|, cuando se hace truncamiento y 1 |x f l(x)| 1t |x|, 2 cuando se hace redondeo. (1.2) (1.1)

1.2.3.

Epsilon de mquina

La resolucin del conjunto de nmeros de punto otante nmeros de mquina para representar los nmeros reales se establece a travs del nmero conocido como epsilon de mqina, que se dene como: 1 1t (1.3) maq = 2 el cual representa la mitad de la distancia del nmero 1 a su nmero de mquina mayor ms prximo. Algunos autores lo denen como
maq

= 1t

pero en realidad lo que realmente importa es la propiedad siguiente de este nmero: Propiedad del epsilon de mquina. Para cada nmero real x, existe un nmero de punto otante x tal que |x x |
maq |x|.

En realidad, comparando con las expresiones para el error de truncamiento y redondeo, encontramos que sta es una forma de expresar que para cada nmero real x, existe con | | maq tal que f l(x) = x(1 + ). (1.4)

16

L. Hctor Jurez V.

Es decir, la diferencia entre un nmero real cualquiera y el nmero de punto otante ms cercano a l es siempre menor o igual a maq en sentido relativo. Para los valores de y t que se han usado en la mayora de las computadoras el epsilon de mqina se encuentra en el rango de 1035 maq 106 . En aritmtica IEEE de precisin simple y doble, el epsilon de mquina es 223 1,22 107 y 252 2,2 1016 , respectivamente.

1.3.
1.3.1.

Aritmtica de punto otante


Sistema de nmeros de punto otante

Representemos por F el sistema de nmeros de punto otante denidos por la base 2 y la precisin t 1 (recordemos que = 2, t = 23 para precisin simple y = 2, t = 52 para precisin doble en el estandard IEEE). Entonces podemos escribir F = {x R : x = m e , t 1 m < 1, t emin e emax }. (1.5)

1 Recordemos que el epsilon de mquina se dene por 1t . A continuacin presentamos 2 una tabla de valores para diferentes arquitecturas (la mayora de ellas de la dcada de los 80). MQUINA VAX(simple) VAX(doble) CRAY-1 IBM-3081(simple) IBM-3081(doble) IEEE estadard Simple Doble Cuadruple 2 2 2 2 2 2 16 16 t 23 52 112 t 23 55 48 6 14 min e -128 -128 -16384 -64 -64 min e -126 -1022 -16382 max e 127 127 16383 63 63 max e 127 1023 16383
maq

1,2 107 2,8 1017 3,6 1015 9,5 107 2,2 1016
maq

1,2 107 2,2 1016 1,9 1034

1.3.2.

Operaciones de punto otante

Los clculos matemticos generalmente se reducen a ciertas operaciones matemticas elementales, de las cuales el conjunto clsico es +,,,. Matemticamente estos smbolos representan operaciones en R. Sobre una mquina digital estas operaciones tienen anlogos

Anlisis Numrico

17

llamadas operaciones de punto otante sobre F. Para distingir las operaciones aritmticas usuales de las operaciones de punto otante, a estas ltimas se les denota por los smbolos , , , ,, respectivamente.

1.3.3.

Axioma fundamental de la arimtica de punto otante

Una computadora puede construirse sobre el siguiente principio de diseo: Si x y y son dos nmeros de punto otante cualesquiera (x, y F) y es una de las posibles operaciones +, , , , con su anlogo de punto otante, entonces x y = f l(x y) (Propiedad de diseo). (1.6)

Por la propiedad (1.4) del epsilon de mquina, encontramos que f l(x y) = x y(1 + ) con | |
maq .

Por lo tanto, concluimos que la computadora tiene una propiedad sencilla pero muy til, expresada en el siguiente axioma, denominado el Axioma fundamental de la arimtica de punto otante: Para todo x, y F existe con | | x
maq

tal que (1.7)

y = (x y)(1 + ).

Es decir, cada operacin en la aritmtica de punto otante es exacta salvo un error relativo de a lo ms maq . Por lo tanto, si x, y son nmeros de punto otante x y=(x + y)(1 + x y=(x y)(1 + x y=(x y)(1 + x y=(x y)(1 + ) ) para algn , con | | ) )

maq .

siempre y cuando los resultados se mantengan dentro del sistema de punto otante F. Algunas de las propiedades fundamentales de las operaciones en el sistema de nmeros reales son vlidas para las operaciones en el sistema de punto otante, otras no lo son. Por ejemplo, las leyes conmutativa de suma y multiplicacin si son vlidas en punto otante: x y = y x, xy =yx

18

L. Hctor Jurez V.

Sin embargo, la ley asociativa de la multiplicacin no es vlida en el sistema de punto otante (x y) z = x (y z). Por ejemplo, si x = , y = 3 maq , z = , entonces en el sistema de punto otante 3 11 IEEE de doble precisin, obtenemos en el ambiente MATLAB x (y z) = 9,952403865943302 1049 (x y) z = 9,952403865943303 1049 y se observa una diferencia en el ltimo dgito. La situacin es ms catastrca con la suma y la resta. Puede suceder fcilmente que (x y) z sea muy diferente a x (y z) con aritmtica de baja precisin. De la misma manera la ley distributiva x(y + z) = xy + xz no es vlida en aritmtica de punto otante.
maq maq

Captulo 2

Condicionamiento y Estabilidad
2.1. Normas de matrices

El objeto de esta seccin es introducir el concepto de norma matricial. Este concepto es de fundamental importancia no solo en el anlisis y el algebra lineal y sus aplicaciones, sino tambien en el anlisis numrico. La razn por lo que se ha decidido introducirlo en esta parte del escrito es porque ser muy til a partir de la siguiente seccin, especialmente para ilustrar los conceptos de condicionamiento y estabilidad.

2.1.1.

Normas en espacios vectoriales


:V

Sea V un espacio vectorial real. Una norma en V es una funcin no negativa R que satisface 1. x 0 , x R , 2. x = || x , y x = 0 si y solo si x = 0 x V (desigualdad del tringulo)

R,

3. x + y x + y ,

x, y V

Con V = Rn (espacio de vectores ndimensional) tenemos varias normas denominadas normasp. Sea x = (x1 , . . . , xn )T Rn , entonces denimos las siguientes normas: 1. norma1: 2. norma2: 3. normap : x x x
1 2 p

= = =(

n i=1 |xi | n 2 i=1 |xi |


1 2

1 n p p i=1 |xi | )

(p 1) 19

20 4. norma : forme) x

L. Hctor Jurez V. = mx1in |xi | (tambin llamada norma del mximo o unia

La Figura 2.1 muestra la bolas unitarias bidimensionales (n = 2) en cada una de las normas anteriores. Por la bola unitaria en una norma entendemos el conjunto {x Rn : x 1}. Obviamente la bola unitaria en la norma euclideana es esfrica. Sin embargo, la bola unitaria en las otras normas tienen otra forma. A medida que p aumenta la bola unitaria se tranforma del diamante rombo al cuadrado, pasando por el crculo.
x2
(0,1)

x2
(0,1)

x2
(0,1)

x2
(0,1)

(1,0)

x1

(1,0)

x1

(1,0)

x1

(1,0)

x1

Figura 2.1: Bolas unitarias en la normas1, 2, p, , respectivamente.

Aparte de las normasp, las normas ms tiles en las aplicaciones son las normasp pesadas, en donde cada una de las coordenadas del vector tiene su propio peso. Dada la norma , una norma con peso puede escribirse como x
W

= Wx

donde W = diagonal(w1 , w2 , . . . , wn ) con wi = 0. Se puede generalizar el concepto de normas pesadas permitiendo que W sea una matriz arbitraria no singular, no necesariamente diagonal. No es complicado vericar que las anteriores normas efectivamente satisfacen las propiedades 1, 2 y 3 en la denicin de norma. Para cada una de estas normas las propiedades 1 y 2 se satisfacen trivialmente. Por otro lado, es fcil vericar la desigualdad del tringulo para la norma1 y la norma, pero para la norma euclideana o norma2 es necesario hacer uso de la desigualdad de CauchySchwartz
n

xi yi x
i=1

x = (x1 , . . . , xn )T , y = (y1 , . . . , yn )T .

A la desigualdad del tringulo para las normasp x+y


p

+ y

Anlisis Numrico

21

se le conoce como desigualdad de Minkowski y su demostracin se encuentra en libros de calculo avanzado anlisis matemtico.

2.1.2.

Continuidad y equivalencia de normas

Continuidad de la normas: Cualquier norma vectorial en Rn es una funcin continua de x Rn (ver Isaacson y Keller). Equivalencias de normas: Cualquier par de normas , en Rn son equivalentes. Es decir, para toda x Rn existen constantes positivas m y M tales que m x x M x , x Rn .

Demostracin. Es sufuciente con vericar el resultado cuando una de las normas es , ya que y sern equivalentes si cada una de ellas es equivalente a . Consideremos la esfera unitaria en la norma : S = {x Rn : x

= 1}.

Este es un conjunto cerrado y acotado en Rn . Dado que cualquier norma vectorial es continua en Rn , y en particular sobre S , entonces toma sus valores mximo y mnimo dentro de S . Sean entonces x0 y x1 los puntos sobre la esfera donde se toman el mnimo y el mximo, respectivemente:
xS

m x = x0 , n

xS

mx x = x1 . a

Entonces x0 x x1 , x S .

Ahora considermos un vector arbitrario y Rn , y = 0, donde 0 denota al vector cero en y Rn . Como el vector normalizado se encuentra en S , entonces y x0 Es decir, x0 Por lo tanto, m y

y x1 . y y x1
,

y M y

y Rn

con m = x0 y M = x1 . As que cualquier norma en Rn es equivalente a la norma n . Se concluye que cualesquier dos normas en R son equivalentes.

22

L. Hctor Jurez V.

2.1.3.

Normas matriciales inducidas

Cuando se hace anlisis numrico de problemas donde intervienen matrices es til tener el concepto de norma de una matriz y, en consecuencia, de la distancia entre matrices. Existe una forma geomtrica (y aparentemente natural) que permite denir la norma de una matriz. Esta forma toma en cuenta el comportamieto de la matriz como un operador: Si A Rnn es una matriz de n n, y una norma vectorial en Rn , entonces la norma de A inducida por esta norma vectorial se dene por: A := sup
x=0

Ax = sup Ax x x =1

(2.1)

Ntese que estamos designando con el smbolo tanto la norma vectorial como la norma matricial inducida. Sin embargo, no debe haber confusin cuando se trate de una otra, dado que el argumento ser un vector una matriz y claramente indicar de que caso se trata. De la denicin se inere que para calcular la norma de una matriz dada A, basta con calcular el supremo de Ax sobre la esfera unitaria en la norma correspondiente.

Ejemplo 2.1. La matriz A= 1 2 0 2

mapea R2 en R2 por medio de la transformacin T : R2 R2 , T x = Ax, x = (x1 , x2 )T (la T aqu indica la transpuesta, pues consideraremos que los vectores son vectores columna). Trataremos de ver cul es la accin de A sobre bolas unitarias de R2 en las normas1, 2, : Sean e1 = (1, 0)T y e2 = (0, 1)T los vectores unitarios cannicos en R2 . Entonces, Ae1 = (1, 0)T y Ae2 = (2, 2)T . En la norma1, Ae1 1 = 1 y Ae2 situacin se ilustra en la Figura 2.2
1

= 4, luego el factor de amplicacin es 4. Esta

En la norma el vector unitario x que tiene mayor amplicacin bajo A es x = (1, 1)T su negativo, y el factor de amplicacin es Ax = (3, 2)T = 3. La Figura 2.3 muestra este caso. En la norma2 ( norma Euclideana) el vector unitario que es mayormente amplicado por A es el que se encuentra punteado en la gura de abajo (o su negativo), y el factor de amplicacin es aproximadamente 2.9208, como se muestra en la Figura 2.4

Anlisis Numrico

23

x2
(0,1)

x2
(2,2)

A
(1,0)

x1

(1,0)

x1

Figura 2.2: Norma1,

= 4.

x2
(0,1)

x2
(2,2)

A
(1,0)

x1

(1,0)

x1

Figura 2.3: Norma

= 3.

2.1.4.

Clculo de normas matriciales

A continuacin daremos frmulas para calcular las normas matriciales inducidas por las normas1, 2, . La norma1 de una matriz: Si A es cualquier matriz de n n entonces A la mxima suma por columnas (de los coecientes en valor absoluto) de A.
1

es igual a

Demostracin. Sea A = [a1 | a2 | . . . | an ], donde ai es un vector columna en Rn . Consideremos la bola unitaria en la norma1: {x Rn : n |xj | 1}. Cualquier vector Ax en la j=1 imagen de este conjunto satisface:
n n n n

Ax

=
j=1

xj aj
1

j=1

xj aj

=
j=1

|xj | aj

mx aj a
1jn

1 j=1

|xj |

24

L. Hctor Jurez V.

x2
(0,1)

x2
(2,2)

A
(1,0)

x1

(1,0)

x1

Figura 2.4: Norma2 (Euclideana)

= 2,9208

mx aj a
1jn

Ax

mx aj a
1jn

Escogiendo x = ej = (0, . . . , 1, . . . , 0) (el 1 esta en la jesima entrada), donde j maximiza aj 1 , obtenemos la cota mxima. Por lo tanto
n

= mx aj a
1jn

= mx a

1jn

|aij |
i=1

(mxima suma por columna).

(2.2)

La norma de una matriz: Utilizando un argumento muy similar al anterior, puede demostrarse que la norma- de una matriz A Rnn es igual a la mxima suma por rengln
n

= mx a

1in

|aij |
j=1

(mxima suma por renglon).

(2.3)

Ejemplo 2.2. Dada la matriz 1 2 1 A = 0 0 0 , 1 1 2 encontrar A


1

y A

Solucin. A 1 = mxima suma por columnas (en valor absoluto) = 3; mientras que A = mxima suma por rengln (en valor absoluto) =4.

2.1.5.

La norma2 de una matriz

En este caso es ms complicado hacer el clculo. Para ello necesitamos los conceptos de valor propio, vector propio, as como del radio espectral de una matriz. Por ello revisaremos

Anlisis Numrico brevemente estos conceptos antes de intentar encontrar la frmula general.

25

Valores y vectores propios de una matriz. Dada una matriz A de n n se dice que C es un valor propio de la matriz si existe x Rn tal que x=0 y Ax = x,

y en este caso a x se le conoce como el vector propio asociado a . La condicin hay algn x = 0 tal que Ax = x, es equivalente a cualquiera de las siguientes dos condiciones: 1. La matriz A I es singular, donde I denota a la matriz identidad. 2. det[A I] = 0. Este determinante en la segunda condicin es un polinomio en que se denomina polinomio caracteristico de A, y que denotaremos por p(). Si A es de orden n n, entonces p() es de grado n, y sus raices proporcionan los valores propios de la matriz.

Ejemplo 2.3. Dada la matriz 1 0 1 A= 2 0 1 1 0 2 su polinomio caracterstico es 1 0 1 det[A I] = 2 1 1 0 2 (1 )()(2 ) [( + 1)( + 2) + 1] = [2 + 3 + 3] ,

p()

= = =

3 3i 3 + 3i , 3 = . y sus valores propios son la raices del polinomio: 1 = 0, 2 = 2 2 Radio espectral de una matriz. Dada una matriz A de n n, el radio espectral de A se dene como el mximo de las magnitudes de sus valores propios, y se denota por (A), es decir, (A) = mx{ || : es valor propio de A }. a

26

L. Hctor Jurez V.

Propiedad sobre los vectores propios de una matriz simtrica. Cualquier matriz simtrica A de n n tiene un conjunto completo de vectores propios y este conjunto es ortogonal. Es decir, si A = AT , entonces A tiene n vectores propios u1 , . . . , un Rn tal que uT uj = ij = i 1 si i = j , 0 si i = j .

La norma-2 de una matriz: Si A es cualquier matriz de n n, entonces A


2

(AT A).

(2.4)

Demostracin. Observese que Ax 2 = (Ax)T (Ax) = xT AT Ax. Pero la matriz AT A es 2 una matriz simtrica y, por lo tanto, tiene un conjunto de n vectores propios u1 , . . . , un que generan Rn tales que uT uj = ij i Adems Aui
2 2

y AT Aui = i ui ,

i, j = 1, . . . , n.

= (Aui )T (Aui ) = uT AT Aui = i uT ui = i = 0 i = 1, . . . , n. i i


n i=1 i ui

Dado que x Rn y los vectores propios forman una base, entonces x = algunas constantes i , i = 1, . . . , n, entonces Ax
2 2

para

= = =

(Ax)T (Ax) = xT AT Ax = ( n i ui )T AT A n i ui i=1 i=1 n i uT n i AT Aui = n i uT n i i ui i i i=1 i=1 i=1 i=1 n n 2 2 mx a i i=1 i i=1 i i
2 2

Tomando x

= 1, se tiene que x Ax
2 2

= xT x =

n 2 i=1 i

= 1. As que
2

mx i = (AT A) a

(AT A)

Para obtener la igualdad basta con encontrar algn x R con x 2 = 1 tal que Ax 2 = 2 mx i . Sea x = us el vector propio de AT A correspondiente al mayor valor propio, es decir, a s = mx i . Entonces, claramente us 2 = 1, y adems a Aus
2 2

= (Aus )T Aus = uT AT Aus = uT s us = s us s s = s = mx i = (AT A). a (AT A).

2 2

Concluimos que A

Anlisis Numrico Ejemplo 2.4. Dada la matriz 1 2 1 A = 0 0 0 , 1 1 2 calcular A 2 . Solucin. Primero calculamos 2 1 1 AT A = 1 5 4 . 1 4 5 El polinomio caracterstio de AT A es det AT A I = (6 )()(6 ) + 3(3) = ( 3)( 9), cuyas raices son 1 = 0, 2 = 3, 3 = 9. Por lo tanto A
2

27

(AT A) =

9 = 3.

Observacin: Si A es una matriz simtrica, entonces AT A = A2 y entonces los valores propios de AT A son de la forma 2 , donde i son los valores propios de A, pues i A2 ui = A(Aui ) = A(ui ) = Aui = ui = 2 ui para cualquier valor propio de ui de A. Por lo tanto, si A es una matriz simtrica entonces A
2

(AT A) =

(A2 ) =

[(A)]2 = (A).

Ejemplo 2.5. Dada la matriz simtrica 2 1 0 A = 1 1 1 , 0 1 2 su polinomio caracterstico es p() = det [A I] = (2 )( 3). Por lo tanto (A) = 3. A
2

2.1.6.

Propiedades de las normas matriciales

Dadas dos matrices A y B Rnn y una norma inducida , se satisfacen las siguientes propiedades:

28 1. Ax A 2. (A) A . 3. AB A B . x , x Rn .

L. Hctor Jurez V.

4. A + B A + B (desigualdad del tringulo). La propiedad 1 es consecuencia directa de la denicin de norma matricial inducida. La propiedad 2 se obtiene de A = sup x =1 Ax Aui = i ui = |i | ui = |i | para cualquier vector propio unitario ui de A con valor propio i . La propiedad 3 es consecuencia directa de la propiedad 1. Finalmente la propiedad 4 es simplemente la desigualdad del tringulo para normas matriciales y es consecuencia de la desigualdad del tringulo en la norma vectorial asociada. Una norma matricial no natural (no inducida). La norma matricial no inducida ms conocida es la denominada norma de Hilbert-Schmidt o norma de Frobenius denida por A
F n n

1 |aij |
2

=
i=1 j=1

Por ejemplo, La norma de Frobenius para la matriz 1 2 1 A= 0 0 0 1 1 2 es A F = (1)2 + 22 + (1)2 + 12 + 12 + 22 = 12. No es posible expresar la norma de Frobenius en la forma sup x =1 Ax para alguna norma vectorial .

2.2.

Condicionamiento y estabilidad

En esta seccin discutiremos brevemente dos temas fundamentales del anlisis numrico, a saber el condicionamiento y la estabilidad. Condicionamiento: Se reere al comportamiento bajo perturbacines de un problema expresado matemticamente. Estabilidad: Se reere al comportamiento bajo perturbaciones de un algoritmo utilizado para resolver un problema en una computadora.

Anlisis Numrico

29

2.2.1.

Condicionamiento de un problema

Un problema se puede considerar en forma abstracta como una funcin f : X Y de un espacio normado X (de datos) a un espacio normado Y (de soluciones). La funcin generalmente no es lineal pero casi siempre es continua. Por ejemplo la operacin de suma se puede representar por f : R2 R, f (x) = x1 + x2 , con X = R2 , Y = R y x = (x1 , x2 )T R2 . En la mayora de los casos nos interesa el comportamiento de un problema en un punto especco x X (una instancia del problema). Un problema bin condicionado es aquel en el que cualquier perturbacin pequea de x X ocasiona un pequeo cambio en f (x). En un problema mal condicionado pequeas perturbaciones en los cambios de x X ocasiona grandes cambios en los resultados def (x). El signicado de pequeo o grande en las anteriores oraciones depende del tipo de aplicacin. En particular, en ocasiones es ms apropiado medir perturbaciones en una escala absoluta, y en algunas otras es mejor medir las perturbaciones en forma relativa respecto a la norma del dato perturbado.

2.2.2.

Nmero de condicin absoluto

Sea x una pequea perturbacin del dato x X, y denotemos por f = f (x + x) f (x) la correspondiente perturbacin en el resultado. El nmero de condicin absoluto del problema f en x se dene por f Y K = sup , (2.5) x X x en donde Y y respectivamente.
X

representan normas vectoriales en los espacios normados Y y X,

Ejemplo 2.6. Dada una matriz A Rnn , denimos el producto de esta matriz por un vector x por medio de f : Rn Rn , f (x) = Ax x Rn . Encontrar el nmero de condicin absoluto de este problema. Solucin. En este caso X = Y = Rn y sea = Y = X cualquier norma vectorial en Rn , entonces el nmero de condicin absoluto de este problema es K = sup
x

f f (x + x) f (x) A(x + x) Ax = sup = sup x x x x x

30 = sup
x

L. Hctor Jurez V. Ax = A x

en donde

es la norma matricial inducida por la norma vectorial.

En el caso de que la funcin f (asociada al problema matemtico) sea una funcin diferenciable, entonces dada la perturbacin x en el dato x, se tiene f (x + x) = f (x) + f (x)x + O[ x 2 ], Si denotamos la derivada f (x) por J(x) (el Jacobiano en caso que f sea una funcin de varias variables), entonces f = f (x + x) f (x) = J(x)(x) + O[(x)2 ] . Por lo tanto K = sup
x

f J(x)x = sup = J(x) . x x x

Es decir, para un problema representado por una funcin diferenciable f con Jacobiano J, su nmero de condicin absoluto en x es igual a la norma del Jacobiano en x.

Ejemplo 2.7. Consideremos el problema de la sustraccin de dos nmeros: f : R2 R, f (x1 , x2 ) = x1 x2 , con x = (x1 , x2 )T . Dado que J= f x1 f = [1 x2 1].

El nmero de condicin absoluto en la norma, y en cualquier instancia x = (x1 , x2 )T R2 es constante e igual a K = J(x)

= 2.

2.2.3.

Nmero de condicin relativo

Cuando estamos interesados en cambios relativos, necesitamos la nocin de condicin relativa. Por ejemplo, en el caso simple en el que X=Y con norma vectorial , el nmero de condicin relativo K = K(x) del problema f en x se dene por K = sup
x

f / x f (x) / x

= sup
x

f / f (x) x / x

(2.6)

Anlisis Numrico

31

En el caso en que f sea diferenciable, podemos expresar el nmero de condicin relativo en trminos del Jacobiano J(x) J(x) x K= = . (2.7) f (x) / x f (x)

Tanto el nmero de condicin absoluto como el nmero de condicin relativo tiene sus usos, pero este ltimo es ms importante en el anlisis numrico. Esto es debido a que la aritmrica de punto otante utilizada en las computadoras introduce errores relativos. Por esta razn al nmero de condicin relativo para un problema f se le conoce simplemente como nmero de condicin a secas. Entonces, decimos que un problema es bin condicionado si K (su nmero de condicin) es pequeo, por ejemplo 1, 10, 102 . Decimos que el problema es mal condicionado si K es grande, por ejemplo 106 , 1016 , etc. x para x > 0.

Ejemplo 2.8. Consideremos el problema de calcular f (x) = x,

1 J = f (x) = 2 x

1 ( 2x )x J x 1 K= = = f (x) 2 x

Por lo tanto, el problema es bin condicionado.

Ejemplo 2.9. Consideremos una vez ms el problema de obtener el escalar f (x) = x1 x2 a partir del vector x = (x1 , x2 )T R2 . Utilizando la norma en R2 , anteriormente encontramos que J(x) = [1 1] y J(x) = 2, as que K= J(x) x |f (x)|

2 mx{|x1 |, |x2 |} a |x1 x2 |

y, en consecuencia, el problema es mal condicionado cuando x1 es muy cercano a x2 , pues en este caso |x1 x2 | 0, lo cual coincide con nuestra intuicin sobre el error de cancelacin.

Ejemplo 2.10. La determinacin de las raices de un polinomio dado los coecientes es un ejemplo clsico de un problema mal condicionado. Por ejemplo el polinomio y 2 2y+1 = (y 1)2 tiene una raz doble y = 1. Una pequea perturbacin en los coefecientes puede ocasionar

32

L. Hctor Jurez V.

un cambio drstico en las raices. Por ejemplo, y 2 2y + (1 ) = (y 1 + )(y 1 ) para cualquier > 0. En este caso el dato x = (1, 2, 1)T X = R3 denota los coecientes del polinomio y el resultado f (x) = (1, 1)T Y = C2 denota las raices del mismo. Entonces x = (1, 2, 1 )T (1, 2, 1)T = (0, 0, )T , f = (1 ,1 + )T (1, 1)T = ( , )T .

Utilizando la norma- tanto en X = R3 como en Y = C2 obtenemos f / x / 2 K = sup = sup = sup = . f (x) / x 1/2 >0 x Por lo tanto, no es recomendable construir un algorimto numrico a partir de los coecientes del polinomio para el clculo de sus raices.

Ejemplo 2.11. El problema del clculo de los valores propios de una matriz no simtrica es frecuentemente mal condicionado. Un ejemplo sencillo para darse cuenta de esto es considerar la matriz 1 1000 A= 0 1 cuyos valores propios son 1 = 1, 2 = 1. Si perturbamos uno de los coecientes fuera de la diagonal por 0.001, por ejemplo el coeciente 0, obtenemos la matriz A = 1 1000 0,001 1 ,

cuyos valores propios son ahora 1 = 0, 2 = 2, obteniendo un cambio drstico en los valores propios. De hecho, esto mismo sucede con la matriz 1 10n 0 1 con n N, cuando la perturbamos por 1 10n 10n 1 . ,

Anlisis Numrico

33

Ejemplo 2.12. Consideremos nuevamente el problema de la multiplicacin de una matriz ja A Rnn por un vector x Rn , f (x) = Ax. El nmero de condicin (relativo) de este problema es: Kx = 1 sup
x

f / x f (x) / x

= sup
x

Ax x =2 A x Ax Ax A1 .

x Ax

pero x = 3 A1 Ax A1 Por lo tanto K A1 A K= A A1 . Para ciertos valores de x, = 1 y K = A

Ejemplo 2.13. (Solucin de un sistema lineal de ecuaciones) Dada A Rnn no singular y b Rn , el problema consiste en calcular x Rn tal que Ax = b. Los datos son A y b, y el mapeo en este caso es f : Rnn Rn Rn , f (A, b) = x = A1 b. Con el objeto de simplicar la discusin supongamos A ja, como en el ejemplo anterior, y que slo vara b, es decir, f : Rn Rn , f (b) = x = A1 b. Como el Jacobiano en este caso es J(b) = A1 , entonces el nmero de condicin en b es Kb = J(b) b A1 Ax =4 A1 b x

Dado que hay una correspondencia 1-1 entre x y b (pues A es invertible), podemos calcular el peor nmero de condicin K = sup Kb = sup A1
bRn b=0 bRn b=0

Ax Ax = A1 sup = A1 n x x xR
x=0

y observamos que el mximo nmero de condicin no depende de b.

Nota. En los dos ejemplos anteriores el mximo nmero de condicin del problema fu A1 A . Esta expresin es muy comn en el lgebra lineal numrica, y se le llama nmero de condicin de la matriz A, y se escribe K(A) = A1
1

A .

f = f (x + x) f (x) = A(x + x) Ax = Ax supx Ax = A x 3 Suponiendo que A es no singular 4 b = Ax x = A1 b


2

34 Observacin: Si A Rnn es una matriz simtrica no singular, A y en la norma-2: |mx (A)| a K(A) = cond(A) = |m (A)| n
2

L. Hctor Jurez V. = (A) = mx (A), a

donde mx (A) = mx{|| : es valor propio de A}, y m (A) se dene en forma anloga. a a n EJEMPLOS DE MATRICES MAL CONDICIONADAS Ejemplo 2.14. La matriz de Hilbert Hn =

1
1 2

. . . . . .

1 2 1 3

. . . . . .

... ... .. . ... .. . ...

1 n 1 n+1

. . . . . .

1 i 1 n

1 i+1 1 n+1

1 n+i1 1 2n1

es simtrica e invertible. Su nmero de condicin en la norma euclideana valores de n es: n 10 20 40 K(Hn ) 1,6 1013 2,45 1028 7,65 1058

para diferentes

Estos nmeros de condicin crecen muy rpidamente con n. Un sistema H20 x = b no puede resolverse en forma apropiada en doble precisin ya que K(H20 ) 1028 . La matriz de Hilbert es un prototipo de una matriz mal condicionada y (ver Gantschi) ( 2 + 1)4n+4 1 K(Hn ) = Hn 2 Hn 2 cuando n . 215/4 n En clase de laboratorio consideraremos con ms detalle esta matriz. Ejemplo 2.15. Una matriz 1 t1 1 t2 Vn = . . . . . . de Vandermonde es de la forma t2 tn1 1 1 t2 tn1 2 2 nn , con t1 , t2 , . . . , tn R. . .. . R . . . . . tn1 n

1 tn t2 n

Anlisis Numrico

35

Si los parmetros t1 , t2 , . . . , tn se escogen igualmente espaciados entre 1 y 1, es decir, ti = 1 + 2(i1) , i = 1, . . . , n, entonces (ver Gantschi) n1 K(Vn ) = Vn
1 1 Vn 1

1 /4 n( + 1 ln 2) e e 4 2

cuando

n .

Algunos valores numricos se muestran en la tabla siguiente n 10 20 40 80 K(Vn ) 1,36 104 1,05 109 6,93 1018 3,15 1038

En aritmtica IEEE de doble precisin slo es posible calcular estos nmeros de condicin para n = 10, 20 y 40 como veremos en clase de laboratorio.

2.2.4.

Estabilidad de los algoritmos

Sera deseable que los algoritmos numricos proporcionaran soluciones exactas a los problemas numricos. Sin embargo, debido a que las computadoras solo pueden representar un sistema numrico discreto, esto no es posible en general. Como ya hemos visto anteriormente, el error de redondeo jugar un papel importante en este caso. La nocin de estabilidad es la forma comn de caracterizar lo que es posible, es decir, de obtener la respuesta correcta aunque no sea la respuesta exacta. Algoritmos. Un algoritmo puede verse como un mapeo f : X Y el cual esta asociado a un problema matemtico f : X Y . Para precisar la denicin de algoritmo consideremos: 1. Un problema f : X Y 2. Una computadora cuyo sistema de punto otante satisface el axioma fundamental de la aritmtica de punto otante (1.7). 3. Un algoritmo f , para el poblema f , y su implementacin en computadora (programa). Dado el dato x X, este dato es redondeado en la computadora para obtener en numero de punto otante x = x(1 + ) con maq , y este ltimo nmero despus proporcionado como entrada al programa. Al correr el programa el resultado es una coleccin de nmeros de punto otante que pertenece a Y . Llamemos al resultado f (x), el cual generalmente es

36 distinto a f (x). Esquemticamente Entrada Redondeo x x

L. Hctor Jurez V.

Aritmtica de punto otante Salida Programa (conjunto de f (x) operaciones)

Mnimamente el resultado f (x) debe ser afectado por errores de redondeo, pero tambin, y dependiendo de las circunstacias, puede ser alterado por otras complicaciones, como son otros programas corriendo al mismo tiempo tambin por tolerancias de convergencia. Asi que f (x) puede de hecho tomar valores diferentes, en corridas diferentes, es decir, f puede ser un mapeo multivariado. Precisin. f no ser un mapeo continuo salvo en casos excepcionales. Lo central es que el algoritmo aproxime en forma adecuada el problema f . Para cuanticar la precisin da la aproximacin podemos considerar el error absoluto : el f (x) f (x) f (x) en alguna norma . Nosotros consideramos el error relativo ya que, como hemos dicho anteriormnte, en el anlisis numrico se preeren cantidades relativas para cuanticar errores. Entonces podriamos decir que f es un buen algoritmo para el problema f si el error relativo es de orden del epsilon de mquina, es decir, si error relativo : f (x) f (x) = O( f (x)
maq )

f (x) f (x)

Estabilidad: si el problema f es mal condicionado, entonces el objetivo de precisin O( maq ) es excesivamente ambicioso, dado que cualquier perturbacin en el dato x X ocasionar un gran cambio en el resultado. El error de redondeo es inevitable al utilizar la computadora. As que, en lugar de buscar precisin en todos los casos (lo cual es imposible), a lo ms que podemos aspirar es a mantener cierta estabilidad en los resultados. Denicin: Decimos que un algoritmo f para un problema f es estable si para cada x X f (x) f (x) = O( f (x)
maq )

para algn x tal que

xx = O( x

maq )

(2.8)

Anlisis Numrico

37

En palabras, la anterior denicin puede expresarse como un algoritmo estable proporciona la respuesta casi correcta a la pregunta casi correcta.

2.2.5.

Estabilidad regresiva (Backward-Stability)

Algunos algoritmos en el anlisis numrico satisfacen una condicin que es a la vez ms fuerte y ms simple que estabilidad a secas. Denicin: Decimos que un algoritmo f para un problema f es estable regresivo si para cada x X xx f (x) = f () para algn x con x = O( maq ) (2.9) x Esquemticamente tenemos (exacto) (perturbado) Dato x x
maq .

redondeo + algoritmo solucin analtica

Resultado f (x) f () x

donde x = x(1 + ) con | | correcta x.

Arriba, f () es la respuesta correcta a la pregunta casi x

Ejemplo 2.16. Analizar la estabilidad de la aritmtica de punto otante para el caso de la sustraccin de dos nmeros. Solucin. El problema y el algorimto se pueden escribir de la siguiente manera Problema: f : R2 R, f (x1 , x2 ) = x1 x2 . Algoritmo: f : R R, f (x1 , x2 ) = f l(x1 ) f l(x2 ). Por el axioma fundamental de la aritmtica de punto otante f (x1 , x2 ) = (f l(x1 ) f l(x2 ))(1 + = (x1 (1 + = x1 (1 + = x1 (1 + = x1 x2 = f (1 , x2 ) , x donde | 4 |, | 5 | 2
maq 1 1) 3) 2 ))(1

x2 (1 +
3

3) 2

1 3)

x2 (1 +

2 3)

4)

x2 (1 +

5)

+ O(

2 maq ).

Adems x1 , x2 satisfacen
maq ),

|1 x1 | x = O( |x1 |

|2 x2 | x = O( |x2 |

maq ).

38

L. Hctor Jurez V.

Anlogamente, se puede vericar que los algoritmos , , son todos estable regresivos. Asimismo, en forma anloga tambin mostrarse que el producto interno de dos vectores xT y, x, y Rn es estable regresivo. Por otro lado, el producto externo xy T Rnx es estable, pero no estable regresivo, pues A = xy T es una matriz de rango 1 exactamente, y A, la matriz calculada no puede generalmente escribirse en la forma (x + x)(y + y)T , pues muy probablementese se obtendra una matriz de rango mayor a 1. El uso del polinomio caracteristico p(x) = det[A I] para calcular los valores propios de una matriz A es un algoritmo inestable. De hecho, anteriormente hemos encontrado que el clculo de raices de un polinomio es un problema mal condicionado.

2.2.6.

Precisin de un algoritmo estable regresivo

Supongase que tenemos un algoritmo f para un problema f que es estable regresivo. El resultado proporcionado por el algoritmo f ser adecuado o preciso? La respuesta depende de si el problema f es bin o mal condicionado, es decir, depende del nmero de condicin K = K(x) de f . Si K(x) es pequeo, los resultados sern precisos en sentido relativo, pero si K(x) es grande el error crecer proporcionalmente: Anlisis: El error relativo se dene por f (x) f (x) . f (x) Como el algoritmo se supone estable regresivo, entonces xx f (x) = f () para algn x tal que x = O( x y el error relativo se puede estimar de la siguiente manera f (x) f (x) f () f (x) x f (x) x = = 5 K(x) = K(x)O( f (x) f (x) f (x) x Es decir f (x) f (x) K(x)O( f (x)
maq ). maq ),

maq ) , maq .

(2.10)

y el error crece proporcionalmente a K(x) en trminos del


5

K(x) = supx (

f (x) f (x)

(x) x

Anlisis Numrico

39

El proceso que hemos seguido en el anterior anlisis es conocido como anlisis regresivo del error. Se obtiene una estimacin del error en dos pasos: en el primer paso se investiga la condicin del problema; en el segundo paso se investigar la estabilidad del algoritmo. Podemos entonces concluir que si el algortimo es estable, entonces la precisin nal reeja el nmero de condicin. Es decir, el mejor algoritmo para la mayora de los problemas no produce mejores resultados que calcular la solucin exacta para datos ligeramente perturbados.

40

L. Hctor Jurez V.

Captulo 3

Solucin de Sistemas de Ecuaciones Lineales


Uno de los problemas ms frecuentemente encontrados en la computacin cientca es el de la solucin de sistemas de ecuaciones algebraicas lineales. Este problema consiste en encontrar x = (x1 , x2 , . . . , xn )T Rn tal que Ax = b, donde A es una matriz de n n y b = (b1 , b2 , . . . , bn )T Rn son dados. Este problema aparece muy a menudo en muchas de las aplicaciones de la matemtica, ciencias e ingeniera. Algunos ejemplos son el ajuste de datos, problemas de optimizacin, aproximacin de ecuaciones diferenciales y de ecuaciones integrales. En el presente estudio, salvo en el siguiente captulo, slo consideraremos sistemas de ecuaciones lineales cuadrados que tengan solucin nica. Algunas de las condiciones ms conocidas para que el sistema Ax = b tenga solucin nica son: 1. A es una matriz no-singular (invertible) 2. La nica solucin de Ax = 0 es x = 0 3. det(A) = 0.

3.1.

Eliminacin de Gauss

El mtodo ms conocido (y, en muchos casos, el ms popular) para resolver sistemas de ecuaciones algebraicas lineales es el mtodo de eliminacin de Gauss. La idea bsica de este mtodo consiste en manipular las ecuaciones por medio de operaciones elementales para tranformar el sistema original en un sistema equivalente que sea ms sencillo de resolver. Las operaciones elementales en la eliminacin de Gauss son tres: 41

42 1. Multiplicacin de una ecuacin por una constante no cero. 2. Sustraccin del mltiplo de una ecuacin de otra ecuacin. 3. Intercambio de ecuaciones.

L. Hctor Jurez V.

Si alguna de estas operaciones se aplican a algn sistema de ecuaciones el sistema obtenido ser equivalente al original. Lo mismo sucede cuando se realiza una cadena de estas operaciones. Nuestro objetivo es resolver el sistema Ax = b, donde A = (aij ), 1 i, j n, b = (b1 , b2 , . . . , bn )T , que en forma explcita es: a11 x1 + a12 x2 + + a1n xn a21 x1 + a22 x2 + + a2n xn . . . . . . . . . = b1 = b2 . . .

an1 x1 + an2 x2 + + ann xn = bn Si a este sistema le llamamos A(1) x = b(1) , para indicar el estado original del sistema, entonces el proceso de eliminacin de Gauss es como se muestra a continuacin: 1er Paso de eliminacin. Si a11 = 0, podemos eliminar la incgnita x1 de las dems ecuaciones. El paso tpico es restar de la isima ecuacin (i = 1, 2, . . . , n) la primera multiplicada por mi1 = ai1 /a11
(1) (1) (1)

i = 2, 3, . . . , n

A mi1 se le denomina multiplicador asociado a la isima ecuacin en el primer paso de eliminacin. Despus de realizar esta operacin la isima ecuacin tendr nuevos coecientes (2) (2) aij y bi cuyos valores son: ai1 = 0 aij = aij mi1 a1j bi
(2) (2) (1) (1) (1) (2)

para j = 2, 3, . . . , n
(1)

= bi mi1 b1

Haciendo lo anterior para cada rengln i = 2, . . . , n, obtenemos el nuevo sistema A(2) x = b(2) que es: (1) (1) (1) (1) a11 x1 + a12 x2 + + a1n xn = b1 a22 x2 + + a2n xn = b2 . . . . . . . . .
(2) (2) (2) (2) (2)

an2 x2 + + ann xn = bn

(2)

Anlisis Numrico

43

Nota. Observese que si se va a resolver computacionalmente el problema, para almacenar (1) (2) los coefecientes aij y bi , podemos escribir sobre los aij los nuevos aij justamente calculados. Podemos almacenar tambin los multiplicadores mi1 en donde teniamos los coecientes ai1 , y recordando que todos los elementos debajo de la diagonal de la primera columna de A(2) son realmente cero. Ms adelante veremos porqu es til almacenar los multiplicadores. 2o paso de eliminacin. En este paso el objetivo es eliminar la incgnita x2 de la tercera (2) ecuacin a la ltima ecuacin. Si a22 = 0, primero se calculan los multiplicadores mi2 = ai2 /a22 , Los nuevos coecientes aij y bi
(3) (3) (2) (2) (1)

i = 3, . . . , n .

de la isima ecuacin sern: ai2 = 0


(3)

aij = aij mi2 a2j bi


(3) (2)

(3)

(2)

(2)

para j = 3, . . . , n
(2)

= bi mi2 b2

Haciendo lo anterior para cada rengln i = 3, . . . , n, obtenemos el nuevo sistema A(3) x = b(3) que es: (1) (1) (1) (1) (1) a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1 a22 x2 + a23 x3 + + a2n xn = b2
(3) (3) (2) (2) (2) (2)

a33 x3 + + a3n xn = b3 . . . . . . . . .
(3) (3)

(3)

an3 x3 + + ann xn = bn

(3)

Continuando de esta manera, y despus de n1 pasos de eliminacin, obtenemos un sistema triangular superior a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1 a22 x2 + a23 x3 + + a2n xn = b2
(3) (3) (2) (2) (2) (1) (1) (1) (1) (1) (2) (3)

a33 x3 + + a3n xn = b3 . . . . . . ann xn = bn


(n)

(n)

que denotaremos por A(n) x = b(n) . El proceso anterior se termina sin problemas siempre y (1) (n) cuando ninguno de los coecientes a11 , a2 , . . . , ann , denominados pivotes, sea cero. Cuan22 do se realiza computacionalmente este procedimiento la matriz se rescribe en forma sucesiva,

44
(k)

L. Hctor Jurez V.

en cada paso de eliminacin, almacenando los nuevos coecientes aij y los correspondientes multiplicadores mik en los lugares asociados a las variables eliminadas. Al trmino del proceso de eliminacin obtenemos un sistema triangular superior U x = b (donde U = A(n) , b = b(n) ) el cual es equivalente al sistema original, es decir este nuevo sistema tiene exactamente la misma solucin que el sistema original. Sin embargo, este nuevo sistema puede resolverse muy fcilmente por medio de la tcnica de sustitucin hacia atrs sustitucin regresiva: xn = bn /ann
n

xi = (bi
j=i+1

aij xj )/aii ,

i = n 1, n 2, . . . , 1

en donde hemos suprimido los superndices para simplicar la notacin. Entonces, suponien(i) do que en el proceso de eliminacin ninguno de los pivotes aii es cero, el algoritmo de eliminacin de Gauss puede escribirse de la siguiente manera: Algoritmo de eliminacin de Gauss Dados los coecientes aij de la matriz A, y los coecientes bi de b Para k = 1, 2, . . . , n 1 /* Pasos de eliminacin */ . Para i = k + 1, . . . , n . . m := aik /akk /* Multiplicador asociado al rengln i */ . . Para j = k + 1, . . . , n . . . aij := aij makj . . Fn . . bi := bi mbk . Fn Fn xn = bn /ann /* Sustitucin regresiva */ Para i = n 1, n 2, . . . , 1 . xi := bi . Para j = i + 1, . . . , n . . xi := xi aij xj . Fn . xi := xi /aii Fn

Anlisis Numrico Ejemplo 3.1. Dada la matriz A y el vector b A= 2 4 8 6 1 3 7 7 1 3 9 9 0 1 5 8 , b= 1 8 30 41

45

aplicar el mtodo de eliminacin de Gauss para calcular la solucin del sistema A x = b. La solucin exacta de este sistema es x = (1, 2, 1, 3)T . Solucin. En la prctica, para aplicar el mtodo de eliminacin de Gauss, es til escribir solo los coecientes de la matriz A en el lado izquierdo y los del vector b en el lado derecho, sin incluir las incgnitas. Entonces, el sistema inicial se puede escribir de la siguiente manera: 2 4 8 6 1 3 7 7 1 3 9 9 0 1 5 8 1 8 30 41

A(1) x = b(1) :

El proceso de eliminacin de Gauss se muestra a continuacin: 1er paso de eliminacin. Pivote: a11 = 2. Multiplicadores: 2o rengln: m21 = 3er rengln: m31 4o rengln: m41 a21 4 = =2 a11 2 a31 8 = = =4 a11 2 a41 6 = = =3 a11 2

Entonces, restamos del segundo rengln el primero multiplicado por m21 = 2, restamos del tercer rengln el primero multiplicado por m31 = 4, restamos del cuarto rengln el primero multiplicado por m41 = 3, con lo cual obtenemos:

46 2 1 1 3 4 1 1 5 6 0 1 5 8 1 6 26 38

L. Hctor Jurez V.

A(2) x = b(2) :

2o paso de eliminacin Pivote: a22 = 1. Multiplicadores: 3er rengln: m32 = 4o rengln: m42 a32 3 = =3 a22 1 a42 4 = =4 = a22 1

Entonces restamos del tercer rengln el segundo multiplicado por m32 = 3, restamos del cuarto rengln el segundo multiplicado por m42 = 4, y se obtiene: 2 1 1 0 1 1 1 2 2 2 4 1 6 8 14

A(3) x = b(3) :

3er paso de eliminacin Pivote : a33 = 2. Multiplicadores: 4o rengln: m43 = a43 2 = =1 a33 2

Entonces, restando del cuarto rengln el tercero, pues m43 = 1, se obtiene 2 1 1 0 1 1 1 2 2 2 1 2x1 + x2 + x3 6 x2 + x3 + x4 2x3 + 2x4 8 6 2x4 = = = = 1 6 8 6

A(4) x = b(4) :

Anlisis Numrico

47

Sustitucin regresiva. En el sistema triangular superior obtenido hacemos sustitucin regresiva para encontrar la solucin. 6 =3 2 8 2x4 86 x3 = = =1 2 2 6 x3 x4 613 x2 = = =2 1 1 121 1 x2 x3 x1 = = = 1 2 2 x4 =

3.2.

Factorizacin LU

En la seccin anterior hemos visto como el proceso de eliminacin de Gauss transforma un sistema lineal completo en un sistema triangular superior por medio de la aplicacin de operaciones elementales de eliminacin. Este proceso de eliminacin se puede interpretar desde un punto de vista meramente matricial. Es decir, cada paso de eliminacin se puede escribir en forma compacta por medio de la multiplicacin de una matriz. Por ejemplo, para el sistema Ax = b con A= 2 4 8 6 1 3 7 7 1 3 9 9 0 1 5 8 , b= 1 8 30 41 ,

el primer paso de eliminacin se puede expresar multiplicando el sistema por una matriz triangular inferior. Esta matriz triangular inferior contiene unos en la diagonal y los multiplicadores con signo contrario en sus posiciones correspondientes. El resultado se muestra a continuacin L1 = 1 2 4 3 0 1 0 0 0 0 1 0 0 0 0 1 = L1 A = 2 0 0 0 1 1 3 4 1 1 5 6 0 1 5 8 , L1 b = 1 6 26 38 ,

obteniendo la matriz y lado derecho al nal del primer paso de eliminacin. En forma anloga, el segundo paso de eliminacin equivale a premultiplicar el sistema anterior por la matriz

48

L. Hctor Jurez V.

triangular inferior (con los multiplicadores correspondientes con signo contrario) L2 = 1 0 0 0 1 0 0 3 1 0 4 0 0 0 0 1

En este caso se obtiene L2 L1 A = 2 0 0 0 1 1 0 0 1 1 2 2 0 1 2 4 , L2 L1 b = 1 6 8 14 .

Finalmente, el tercer paso de eliminacin equivale a matriz 1 0 0 0 1 0 L3 = 0 0 1 0 0 1 obteniendo L3 L2 L1 A = 2 0 0 0 1 1 0 0 1 1 2 0 0 1 2 2 ,

premultiplicar el ltimo sistema por la 0 0 0 1

L3 L2 L1 b =

1 6 8 6

Si denotamos esta ltima matriz triangular superior por U , y la matriz L3 L2 L1 por L1 , entonces esta claro que A = LU El clculo de la matriz L es sencillo como veremos a continuacin. Observese que L = (L3 L2 L1 )1 = L1 L1 L1 , y basta con calcular las inversas de las matrices L1 , L2 y L3 . El 1 2 3 clculo de estas inversas es trivial. Por ejemplo L1 1 = 1 2 4 3 0 1 0 0 0 0 1 0 0 0 0 1 1 = 1 2 4 3 0 1 0 0 0 0 1 0 0 0 0 1 .

Anlisis Numrico

49

Anlogamente las inversas de L2 y L3 se obtienen simplemente cambiando el signo de sus coecientes debajo de la diagonal, y su producto es: 1 0 0 0 2 1 0 0 1 1 1 L = L1 L2 L3 = 4 3 1 0 3 4 1 1 La cual es una matriz triangular inferior con unos en la diagonal, y con los multiplicadores debajo de la diagonal. A esta matriz L se le conoce como la matriz de multiplicadores. Podemos generalizar el resultado anterior: Factorizacin LU . Si en el proceso de eliminacin de Gauss ninguno de los pivotes aii es cero, entonces la matriz A se puede factorizar en la forma A = LU . La matriz L es triangular inferior con unos en la diagonal y con los multiplicadores debajo de la diagonal. La matriz U es la matriz triangular superior que se obtiene al nal del proceso de eliminacin (U = A(n) ) y contiene los pivotes en la diagonal. Es decir, (1) (1) (1) a11 a12 . . . a1n a11 . . . a1n 1 (2) (2) a21 . . . a2n l21 1 a22 . . . a2n . = . . . . .. .. .. . . . . . . . . . . (n) an1 . . . ann ln1 . . . ln(n1) 1 ann donde lij = mij para i > 1 son los multiplicadores que se obtienen en el proceso de eliminacin de Gauss. Observacin. Como aii = 0, entonces A es no singular y
n (i) (i)

detA = det(LU ) = (detL)(detU ) = (1)(


i=1

aii ) = producto de los pivotes.

(i)

Solucin del sistema Ax = b utilizando la factorizacin LU Sea el sistema Ax = b con A Rnn invertible, b Rn . Supongase que ya tenemos una factorizacin A = LU . Entonces, el sistema de ecuaciones tambin su puede escribir en la forma LU x = b. Si hacemos U x = y, entonces Ly = b, y por lo tanto el sistema puede resolverse en dos pasos:

50

L. Hctor Jurez V. 1. Se resuelve el sistema triangular inferior Ly = b utilizando Sustitucin hacia adelante progresiva: y1 = b1 ,
i1

yi = bi
j=1

lij yj ,

i = 2, . . . , n.

2. Una vez obtenido y del paso anterior, se resuelve el sistema triangular superiorU x = y utilizando Sustitucin hacia atrs regresiva: xn = yn /ann ,
n

xi = (yi
j=i+1

uij xj )/uii ,

i = n 1, n 2, . . . , 1,

en donde hemos denotado por uij a los coecientes aij , j i, de la matriz U . Ejemplo 3.2. Resolver el sistema del sistema de ecuaciones anterior utilizando factorizacin LU . Solucin. Del proceso de 1 2 L= 4 3 Entonces, Ly = b es elminacin de Gauss obtenemos: 0 0 0 2 1 1 0 1 0 0 U = 0 1 1 1 0 0 2 2 3 1 0 4 1 1 0 0 0 2

(i)

b=

1 8 30 41

1 2 4 3

0 1 3 4

0 0 1 1

0 0 0 1

y1 y2 y3 y4

1 8 30 41

y la solucin por sustitucin progresiva es y1 y2 y3 y4 =1 = 8 2y1 = 8 2 = 6 = 30 4y1 3y2 = 30 4 18 = 8 = 41 3y1 4y2 y3 = 41 3 24 8 = 6

Anlisis Numrico Luego U x = y es

51

2 0 0 0

1 1 0 0

1 1 2 0

0 1 2 2

x1 x2 x3 x4

1 6 8 6

y la solucin por sustitucin regresiva es x4 x3 x2 x1 = 6/2 = 3 = (8 2x4 )/2 = (8 6)/2 = 1 = (6 x3 x4 )/1 = (6 3 1)/1 = 2 = (1 x2 x3 0x4 )/2 = (1 2 1)/2 = 1

Por lo tanto, la solucin es la misma que la obtenida anteriormente.

3.3.

Inestabilidad del mtodo de eliminacin de Gauss

El mtodo de eliminacin de Gauss, como se ha presentado hasta el momento, desafortunadamente no es un buen mtodo prctico de propsito general para resolver sistemas de ecuaciones lineales. Como veremos en esta seccn este no es mtodo estable regresivo. De hecho su posible inestabilidad, en algunos casos, est asociada a una dicultad muy simple: para algunas matrices el mtodo no funciona debido que se corre el peligro de dividir por cero.

Ejemplo 3.3. La matriz A= 0 1 1 1

tiene rango completo (es invertible) y es bin condicionada, debido a que 1 5 p() = det(A I) = (1 ) 1 = 1 1,2 = 2 3 5 |mx | 1+ 5 a = A simtrica K(A) = cond(A) = = 2,618. |m | 2 1 5 n
2

Sin embargo, el mtodo de eliminacin de Gauss falla en el primer paso debido a que el primer pivote es cero.

52

L. Hctor Jurez V.

Al introducir una pequea perturbacin en la matriz anterior se revelan otras dicultades. Por ejemplo, supongase que aplicamos eliminacin de Gauss a la matriz perturbada A= 1020 1 1 1

Ahora el mtodo no fallar en el primer paso de eliminacin. En este caso al segundo rengln le restamos el primero multiplicado por 1020 (pivote = 1020 , multiplicador 1/1020 = 1020 ). Suponiendo que realizamos las anteriores operacines en aritmtica exacta, obtenemos la factorizacin LU con L= 1 0 20 1 10 , U= 1020 1 0 1 1020

Sin embargo, en aritmtica de punto otante IEEE de doble precisin con maq = 2,224 1016 , el nmero 11020 no puede representarse en forma exacta y es redondeado al nmero de punto otante ms cercano: En MATLAB, 1 1020 = 1020 . Tomando en consideracin este hecho las matrices de punto otante en la factorizacin en realidad sern L= 1 0 20 1 10 , U= 1020 1 0 1020

las cuales son cercanas en sentido relativo a las matrices exactas L y U . Esto signica que hemos calculado la factorizacin en forma estable. Sin embargo, cuando multiplicamos L por U aparece un problema inesperado: desgraciadamente A = LU , dado que A= 1020 1 1 1 y LU = 1020 1 1 0 .

La diferencia es el coeciente a22 = 1, el cual es muy grande comparado con el valor de la perturbacin 1020 . Cuando intentamos resolver el sistema Ax = b por medio de la factorizacin LU x = b aparece otro problema: el resultado es muy diferente al exacto. Por ejemplo, con b = (1, 0)T el sistema Ax = b es 0 1 1 1 x1 x2 = 1 0 ,

y la solucin exacta es x = (1, 1)T . Por otro lado, el sistema LU x = b es 1020 1 1 0 x1 x2 = 1 0 ,

Anlisis Numrico La solucin en dos etapas de este sistema proporciona Ly = b : Ux = y : 1 0 20 1 10 1020 1 0 1020 y1 y2 x1 x2 = 1 0 = 1 1020 y = (1, 1020 )T

53

x = (0, 1)T ,

lo cual muestra que la solucin de punto otante x es muy diferente a la solucin exacta x. Un anlisis cuidadoso de lo que ocurre en este ejemplo revela que la eliminacin de Gauss ha calculado la factorizacin LU establemente (L es cercana a L y U es cercana a U ), pero no ha resuelto Ax = b establemente ( no es cercana a x). Una explicacin de este fenmeno x es que a pesar de que la factorizacin LU se ha hecho en forma estable, esta factorizacin no es estable regresiva. Las siguientes lineas muestran esta aseveracin: f : Rnn Rnn Rnn , AA 1020 = O( A 2
maq )

f (A) = LU pero f (A) = f (A) ,

pues f (A) representa la factorizacin exacta de la matriz perturbada A, es decir f (A) = LU = 1 0 20 1 10 1020 1 0 1 1020 ,

y f (A) representa la factorizacin aproximada (de punto otante) de la matriz exacta, dentro de la computadora, es decir f (A) = LU 1 0 20 1 10 1020 1 1 1020 .

En el caso general para matrices A de orden n n con n grande, la situacin empeora. El mtodo de eliminacin de Gauss en no es ni estable regresivo ni tampoco estable como algoritmo general para encontrar factorizaciones del tipo LU . Adems de esto, las normas de las matrices triangulares L y U obtenidas pueden ser mucho mayores que la norma de la matriz misma A, introduciendo fuentes adicionales de inestabilidad en las faces de sustitucin progresiva y regresiva para resolver los sistemas triangulares. En el ejemplo anterior A

= 2 mientras que

= 1020 + 1 y

= 1020 1,

lo cual muestra que, efectivamente, las normas de los factores L y U son desproporcional mente mayores que la de la matriz dada. A.

54

L. Hctor Jurez V.

3.4.

Tcnicas de pivoteo

Si bin no podemos eliminar la inestabilidad completamente, si podemos controlarla permutando el orden de los renglones y columnas de la matriz del sistema de ecuaciones. A esta tcnica se le conoce como pivoteo y ha sido usada desde la aparicin de las computadoras (alrededor de 1950). El propsito del pivoteo es asegurar que los factores L y U no sean tan grandes comparados con la matriz A. Siempre que las cantidades que aparecen en la eliminacin sean manejables, los errores de redondeo se mantendrn controlados y el algoritmo ser estable regresivo.

3.4.1.

Pivoteo completo

La idea es la siguiente: en el ksimo paso de eliminacin debemos escoger un pivote de entre los coecientes del subsistema con matriz (para simplicar la exposicin los superndices se han suprimido) ak,k ak,k+1 . . . ak,n ak+1,k ak+1,k+1 . . . ak+1,n . A(k : n, k : n) . . . .. . . . . . . . an,k an,k+1 ... an,n El pivote no necesariamente es ak,k como lo hemos considerado hasta ahora. Con el objeto de controlar el crecimiento de los coecientes en las matrices de factorizacin L y U es conveniente escoger como pivote a aquel coeciente que tiene valor absoluto mximo: |a| = mx |aij | = |alm | . a
ki,jn

Hecho esto se procede a hacer el intercambio del rengln k con el rengln l, y de la columna k con la columna m, y se continua la eliminacin en la forma usual calculando los multiplicadores y los nuevos coecientes. Los multiplicadores que se obtienen son tales que mi k = ai k 1, |a| i = k + 1, . . . , n

y, en consecuencia, ninguno de los coecientes de la matriz L al nal del proceso de eliminacin ( factorizacin) ser mayor a uno. A esta estrategia se le denomina pivoteo completo. Sin embargo, esta estrategia en muy poco usada por dos razones: 1. En el paso k hay (n k + 1)2 posibilidades para buscar el mximo, y el costo para seleccionar los pivotes en los n 1 pasos de eliminacin implica O(n3 ) operaciones, lo cual es excesivo.

Anlisis Numrico 2. Hay que darle seguimiento al intercambio de renglones y columas.

55

3.4.2.

Pivoteo parcial

En la prctica, es posible encontrar pivotes tan tiles como los encontrados con pivoteo completo realizando un mucho menor nmero de operaciones de busqueda. El mtodo ms comn se denomina pivoteo parcial. En esta estrategia se intercambia solamente dos renglones en cada paso de eliminacin. As, en el ksimo paso de eliminacin se escoge como pivote |a| = mx |aik | = |alk | a
kin

y se intercambian los renglones k y l. En este caso hay n k + 1 posibilidades para el pivoteo en el ksimo paso, y por lo tanto el nmero de operaciones de busqueda en todo el proceso de eliminacin es en total O(n2 ) (en realidad n(n 1)/2). Como es usual con otras operaciones en el lgebra lineal numrica, el intercambio de renglones puede expresarse por medio de un producto de matrices. Como vimos anteriormente un paso de eliminacin corresponde a la multiplicacin izquierda por una matriz triangular inferior Lk en el ksimo paso. El pivoteo parcial complica un poco ms el proceso pues ahora es necesario multiplicar por una matriz de permutacin Pk por la izquierda antes de cada eliminacin. Matrices de permutacin Una matriz de permutacin es una matriz con ceros en todos lados excepto por un coeciente 1 en cada rengln y columna. Por ejemplo la matriz 0 1 0 0 1 0 0 0 P = 0 0 0 1 0 0 1 0 tiene un slo 1 en cada rengln y columna, y en todas las demas entradas tiene ceros. Cualquier matriz de permutacin es el producto de matrices de permutacin elemental. Una matriz de permutacin elemental se obtiene de la matriz identidad permutando dos de sus renglones (o dos de sus columnas) solamente. Por ejemplo, las matrices 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 P12 = y P34 = 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0

56

L. Hctor Jurez V.

son matrices de permutacin elementales que se obtienen de la matriz identidad en R44 permutando los renglones ( columnas) 1 y 2, y permutando los renglones ( columnas) 3 y 4 respectivamente. La matriz de permutacin P dada un poco ms arriba se puede expresar como el producto de estas dos matrices, pues P = P12 P34 = P34 P12 . Dada cualquier matriz A R44 , el producto P12 A intercambia los renglones 1 y 2 de la matriz A, y el producto AP12 intercambia las columnas 1 y 2 de la matriz A: P12 A = AP12 =

0 1 0 0 a11 a21 a31 a41

1 0 0 0

0 0 1 0 a12 a22 a32 a42

0 0 0 1

a11 a21 a31 a41 a14 a24 a34 a44

a12 a22 a32 a42 0 1 0 0

a13 a23 a33 a43 1 0 0 0 0 0 1 0

a14 a24 a34 a44 0 0 0 1

a21 a11 a31 a41 a12 a22 a32 a42

a22 a12 a32 a42 a11 a21 a31 a41

a23 a13 a33 a43 a13 a23 a33 a43

a24 a14 a34 a44 a14 a24 a34 a44

a13 a23 a33 a43

3.4.3.

Factorizacin LU con pivoteo parcial

Tomando en cuenta el intercambio de renglones en cada paso para realizar el pivoteo parcial, encontramos que, para una matriz nosingular A Rnn , al trmino de los n 1 pasos de eliminacin se obtiene la siguiente factorizacn Ln1 Pn1 L2 P2 L1 P1 A = U . El siguiente ejemplo ilustra esta aseveracin. Ejemplo 3.4. Encontrar la factorizacin LU con 2 1 1 0 4 3 3 1 A= 8 7 9 5 6 7 9 8 Solucin. pivoteo parcial para la matriz = A(1)

Anlisis Numrico 1er paso de eliminacin: renglones 1 y 3 0 0 P1 A = 1 0

57 Claramente el pivote debe ser 8 y hay que intercambiar los

0 1 0 0

1 0 0 0

0 0 0 1

2 4 8 6

1 3 7 7

1 3 9 9

0 1 5 8

8 4 2 6

7 3 1 7

9 3 1 9

5 1 0 8

los multiplicadores son: m21 = L1 P1 A = 1 1/2 1/4 3/4 0 1 0 0 0 0 1 0 0 0 0 1

4 1 = , 8 2 8 4 2 6

m31 = 7 3 1 7 9 3 1 9

2 1 = , m41 8 4 5 8 1 0 = 0 0 0 8

6 3 = . Luego 8 4

7 9 5 1/2 3/2 3/2 = A(2) 3/4 5/4 5/4 7/4 9/4 17/4

2o paso de eliminacin: Ahora intercambiar los renglones 2 y 4 1 0 0 0 8 0 0 0 1 0 P2 L1 P1 A = 0 0 1 0 0 0 1 0 0 0

el pivote (para el subsistema 3 3) es 7/4, debemos

7 9 5 1/2 3/2 3/2 3/4 5/4 5/4 7/4 9/4 17/4

8 7 9 5 0 7/4 9/4 17/4 0 3/4 5/4 5/4 0 1/2 3/2 3/2

los multiplicadores ahora son: m32 = L2 P2 L1 P1 A = 1 0 0 0 1 0 0 3/7 1 0 2/7 0 0 0 0 1

3/4 3 1/2 2 = , m42 = = . As que 7/4 7 7/4 7 8 7 9 5 8 7 9 5 0 7/4 9/4 17/4 0 7/4 9/4 17/4 = 0 3/4 5/4 5/4 0 0 2/7 4/7 0 1/2 3/2 3/2 0 0 6/7 2/7

= A(3) 3er paso de eliminacin: El pivote (para el subsistema cambiamos los renglones 3 y 4 1 0 0 0 8 7 9 5 0 1 0 0 0 7/4 9/4 17/4 P3 L2 P2 L1 P1 A = 0 0 0 1 0 0 2/7 4/7 0 0 1 0 0 0 6/7 2/7 2 2) es -6/7. Entonces, inter 8 7 9 5 0 7/4 9/4 17/4 0 0 6/7 2/7 0 0 2/7 4/7

58 El multiplicador es m43 = L3 P3 L2 P2 L1 P1 A = 1 0 0 0 2/7 1 = . Finalmente 6/7 3 8 7 9 5 0 0 0 0 7/4 9/4 17/4 1 0 0 0 1 0 0 0 6/7 2/7 0 0 2/7 4/7 0 1/3 1

L. Hctor Jurez V.

8 7 9 5 0 7/4 9/4 17/4 0 0 6/7 2/7 0 0 0 2/3

=U. En el anterior ejemplo hemos encontrado entonces que L3 P3 L2 P2 L1 P1 A = U. Con un poco ms de trabajo podemos reescribir esta ltima igualdad en forma ms adecuada. Para ello, denimos L3 = L3 ,
1 L2 = P3 L2 P3 , 1 1 L1 = P3 P2 L1 P2 P3 .

Se puede vericar directamente que estas ltimas matrices son triangulares inferiores y que L3 L2 L1 P3 P2 P1 = L3 P3 L2 P2 L1 P1 . Por lo tanto L3 L2 L1 P3 P2 P1 A = U . Entonces, podemos escribir P A = LU Un clculo directo muestra que 0 0 1 0 0 0 P = 0 1 0 1 0 0 con P = P3 P2 P1 , L = (L3 L2 L1 )1 .

0 1 0 0

L=

1 0 0 3/4 1 0 1/2 2/7 1 1/4 3/7 1/3

0 0 0 1

La matriz U ya se calcul al trmino del proceso de eliminacin. A la anterior factorizacin se le denomina factorizacin LU de la matriz A con estrategia de pivoteo simple o parcial. Por supuesto la factorizacin LU corresponde, estrictamente hablando, no a A sino a una permutacin de la matriz A, a saber P A. Este algoritmo se muestra a continuacin:

Anlisis Numrico Algoritmo de factorizacin LU con pivoteo parcial Dados los coecientes aij de A y los coecientes bj de b Para k = 1, 2, . . . , n 1 . Encontrar p k tal que |apk | = mxkin |aik | a . Intercambiar los renglones p y k ( si p = k) . Si |akk | = 0, escribir: la matriz es singular. Parar y salir . Si no, hacer para i = k + 1, . . . , n . . m := aik /akk . . para j = k + 1, . . . , n . . . aij := aij makj . . Fn . . bi := bi mbk . Fn Fn

59

3.5.

Clculo de la inversa de una matriz

Dada la matriz A Rnn no singular, el clculo de su inversa en forma aproximada se puede encontrar resolviendo n sistemas de ecuaciones lineales por medio del mtodo de eliminacin de Gauss con pivoteo parcial, como se indica a continuacin: Sea A1 = [x1 , x2 , . . . , xn ], donde xi Rn es el isimo vector columna de A1 , entonces AA1 = [Ax1 , Ax2 , . . . , Axn ] = I = [e1 , e2 , . . . , en ] donde ei = (0, . . . , 1, . . . , 0)T es el vector columna con 1 en el isimo lugar y 0 en las dems entradas. Luego la igualdad se cumple si Axi = ei , i = 1, 2, . . . , n.

Resolviendo este conjunto de sistema de ecuaciones lineales, encontramos los vectores columna xi de la matriz inversa A1 . Como los n sistemas de ecuaciones lineales tienen la misma matriz, se puede aplicar eliminacin con pivoteo con lado derecho e1 , e2 , . . . , en en forma simultanea. [A|I] eliminacin con pivoteo [U |J]

60

L. Hctor Jurez V.

donde I es la matriz identidad y U es una matriz triangular superior. La inversa se obtiene resolviendo por sustitucin regresiva los sistemas U xi = ji donde ji son los vectores columna de la matriz J, y los xi los vectores solucin, es decir, los vectores columna de A1 .

3.6.

Estabilidad del mtodo de eliminacin de Gauss con pivoteo

El mtodo de eliminacin de Gauss con pivoteo parcial es inestable para ciertas matrices (un nmero pequeo en realidad), pero estable en la prctica (es decir, en la gran mayora de los problemas que aparecen en la aplicaciones). El anlisis de estabilidad de la eliminacin de Gauss con pivoteo parcial es complicado y ha sido uno de los temas ms difciles del anlisis numrico desde 1950. La inestabilidad del mtodo de eliminacin de Gauss, con o sin pivoteo, puede aparecer si uno de los factores L y U es grande comparado con la matriz A. As que el propsito del pivoteo, desde el punto de vista de la estabilidad, es asegurar que L y U no sean muy grandes. De tal manera que cuando las cantidades intermedias en el proceso de eliminacin sean de tamao manejable, los errores de redondeo sern pequeos, y el mtodo ser estable regresivo. Estas ideas se precisan en el siguiente teorema que se establece para la eliminacin de Gauss sin pivoteo, pero tambin puede aplicarse al caso con pivoteo si A representa la matriz original con renglones y columnas permutadas adecuadamente. Teorema 3.5. Si A Rnn tiene una factorizacin LU y esta se realiza utilizando eliminacin de Gauss sin pivoteo en una computadora que satisface el axioma fundamental de la aritmtica de punto otante, entonces las matrices L, U satisfacen LU = A + A con A = O( L U
maq )

para alguna

A Rnn .

Aclaracin: Observese que el denominador es L U y no A en la expresin de arriba. Si L U fuera de tamao comparable con A ( L U = O( A )) entonces la eliminacin de Gauss es un mtodo estable regresivo. Si por el contrario, L U O( A ) entonces el algoritmo es inestable. Crecimiento de factores

Anlisis Numrico

61

Consideremos ahora el caso de la eliminacin de Gauss con pivoteo parcial. En este caso se obtiene que la matriz de multiplicadores L tiene entradas que son menores o iguales a 1 en valor absoluto, es decir, L = O(1) en cualquier norma matricial . Por lo tanto A A = = O( U U
maq ).

De aqu que en este caso se concluye que el algoritmo es estable regresivo si U = O( A ). Para que la norma de U sea comparable con la norma de A basta que los coecientes de U no sean mucho mayornes que los de A. Es decir, hay que considerar como se amplica los coecientes al reducir A a la matriz U en el proceso de eliminacin. En particular, sea = mx |uij | a mx |aij | a

el factor de crecimiento. Si es de orden 1, entonces no hay mucho crecimiento, y el proceso de eliminacin es estable. Por otro lado si es mucho mayor que O(1), entonces podemos esperar que haya inestabilidad en el proceso de eliminacin. Observese que si = O(1), entonces de la igualdad anterior se tiene U = O(( A )). Esto se resume en el siguiente teorema. Teorema 3.6. Supongase que la factorizacin P A = LU se lleva a cabo por medio de eliminacin de Gauss con pivoteo parcial en una computadora que satisface el axioma fundamental de la aritmtica de punto otante. Entonces las matrices calculadas P , L y U satisfacen LU = P A + A con A = O( A
maq )

para alguna A Rnn . Asimismo la eliminacin Gaussiana es un mtodo estable regresivo si = O(1) uniformemente sobre todas las matrices en Rnn , y no lo es en caso contrario. El peor caso de inestabilidad Considere la matriz A= .

1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1

1 1 1 1 1

62 Al aplicar el mtodo de eliminacin de Gauss se tiene U = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 2 0 4 1 8 0 16 .

L. Hctor Jurez V.

Al hacer los clculos detallados el lector puede convencerse que no se hace intercambio de renglones an y cuando se aplique pivoteo parcial. En esta matriz 5 5, el factor de mx |uij | a crecimiento es = mx |aij | = 16/1 = 24 . Por otro lado, para la matriz anloga de orden a n n el factor de crecimiento al hacer eliminacin de Gauss es = 2n1 . As que, de acuerdo al teorema anterior, tendriamos LU = P A + A con A = O( A
maq )

= O(2n1

maq ).

Este resutlado implica que habra una perdida de n 1 bits de precisin al hacer eliminacin de Gauss con pivoteo, lo cual es intolerable para clculos practicos a medida que el tamao n del sistema aumenta. En realidad este es un ejemplo extremo de corte puramente acadmico y, afortunadamente, la gran mayora de las matrices que aparecen como resultado de problemas prcticos no exhiben este tipo de comportamiento. De hecho, en 50 aos de computacin, no se ha visto que aparezcan, bajo circunstancias naturales, problemas matriciales que exhiben una inestabilidad tan dramtica.

3.7.

Mtodo de Factorizacin de Choleski

Para matrices simtricas y denidas positivas el proceso de eliminacin de Gauss, y por tanto la factorizacin LU, puede realizarse en forma ms eciente. El mtodo que se utiliza se denomina factorizacin de Choleski. Este algorimto opera en el lado izquierdo y derecho de la matriz explotando la simetra. Este algoritmo descompone las matrices simtricas y denidas positivas en factores triangulares haciendo la mitad de las operaciones que las necesarias para matrices generales.

3.7.1.

Matrices denidas positivas

Una matriz A Rnn se dice que es denida positiva si xT Ax > 0 para todo x Rn con x = 0. Si A es una matriz denida positiva, algunas de sus propiedades importantes son:

Anlisis Numrico 1. A es no singular. 2. Los valores propios de A son todos reales y positivos. 3. El determinante de la matriz A y de cada uno de sus n menores. a11 . A(1 : k, 1 : k) . . ak1 k = 1, . . . , n, es siempre mayor a cero. 4. Cualquier submatriz principal de A de la forma A(1 : k, 1 : k) de la forma akk . . A(k : n, k : n) . ank k = 1, . . . , n, es denida positiva. akn . . , . ann a1k . . , . akk

63

5. Cada uno de los pivotes obtenidos en el poceso de eliminacin de Gauss aplicado a la matriz A es mayor a cero. Se deja al lector vericar las propiedades 3 y 5. Aqu vericaremos el resto de las propiedades. Vericacin de la propiedad 1. La propiedad 1 es consecuencia directa de la propiedad 3. Vericacin de la propiedad 2. Si es un valor propio de A Rnn y x Rn es el vector propio correspondiente, entonces x = 0 y xT Ax = xT x = x as que = xT Ax > 0. x 2 2
2 2

64

L. Hctor Jurez V.

Vericacin de la propiedad 4. Para todo vector x = [x1 , . . . , xk ]T Rk no cero se tiene x1 . . . x1 . . = [x1 , . . . , xk , 0, . . . , 0]A xk > 0 , [x1 , . . . , xk ]A(1 : k, 1 : k) . 0 . xk . . 0 por ser A denida positiva. Por lo tanto la submatriz A(1 : k, 1 : k) es denida positiva. En forma anloga se puede vericar que la submatriz A(k : n, k : n) es denida positiva si A lo es.

3.7.2.

Factorizacin de Choleski

Sea A Rnn una matriz simtrica y denida positiva. Nuestro propsito es descomponer esta matriz en factores triangulares explotando las propiedades de la matriz. Con el objeto de simplicar la exposicin primero realizaremos un paso de eliminacin para el caso especial en el que a11 = 1, es decir cuando la matriz es de la forma 1 2 . . . n 2 A= . . . A(2 : n, 2 : n) n donde 2 = a12 , 3 = a13 ,. . ., n = a1n y A(2 : n, 2 : n) es la submatriz principal inferior de orden n 1. Al realizar el primer paso de eliminacin sin pivoteo en forma matricial obtenemos 1 2 . . . n 1 0 ... 0 1 2 . . . n 2 2 1 . . . 0 0 . = . . = L1 A(1) A= . . .. . . . . . . M . A(2 : n, 2 : n) .
2

n 0 . . . 1

0 n, 2 : n) T con T el 2 n 3 n . . . n n .

donde 2 , 3 ,..., n son los multiplicadores y M2 = A(2 : producto externo dado por 2 2 . . . 2 . ... . 2 . . . n = 3. 2 .. . . . . n n 2 . . .

Anlisis Numrico

65

Al trmino del primer paso de eliminacin se inducen ceros en la primera columna, pero quisieramos mantener simetra. Observese que la matriz A(1) no es simtrica an y cuando M2 lo es. Para obtener simetra, procedemos en forma anloga haciendo eliminacin derecha en el primer rengln de A(1) (sustraccin de mltiplos de la primera columna de la restante columna). Obtenemos A= = 1 0 1 0 ... 0 2 1 . . . 0 0 . .. . . . . . . . . . 0 n 0 . . . 1 L1
(1)

... M2 A(1) s

1 2 . . . n 0 1 ... 0 . . .. . . . . . 0 0 ... 1 LT 1

Observe que la matriz As ahora si es simtrica, dado que M2 los es. La idea de la fac(1) torizacin de Choleski es continuar este proceso con la submatriz As y as sucesivamente hasta obtener una matriz identidad en el ltimo paso de eliminacin simtrica. Queremos extender el anterior proceso para el caso en que la matriz A denida positiva sea tal que a11 > 0 en lugar de a11 = 1. La generalizacin se obtiene ajustando algunos elementos de las matrices L1 por un factor a11 . Concretamente, si A= a11 2 . . . n 2 . . A(2 : n, 2 : n) . n ,

entonces a11 2 a11 A= . . . n a11 = donde M2 = A(2 : n, 2 : n) 0 ... 0 1 ... 0 . .. . . . 0 0 ... 1 L1 1 0 0 . . . ... M2 0 a11 0 . . . 0 2 a11 1 0 LT 1 T . a11 ... ... .. . ... n a11 0 . . . 1

A(1) s

66
(1)

L. Hctor Jurez V.
(1)

La matriz As es simtrica, pues las submatrices A(2 : n, 2 : n) y T lo son. Adems As tambin es denida positiva, pues si x Rn , x = 0 , entonces y = (L1 )T x = 0 dado que 1 L1 es no singular y, por lo tanto 1 xT A(1) x = xT L1 A(L1 )T x = y T Ay > 0 1 1 Volviendo a aplicar el mismo procedimiento a As
(1)

se obtiene

A = L1 L2 A(2) LT LT s 2 1 donde A(2) s = 1 0 ... 0 0 1 ... 0 , . . . . . . K 0 0

con K matriz simtrica y denida positiva. Luego, el proceso puede continuarse en forma sucesiva (pues todas las submatrices K son denidas positivas y simtricas) hasta obtener A = L1 L2 . . . Ln I LT LT . . . LT . n n1 1
L LT

Lo anterior se resume en el siguiente resultado Teorema 3.7. Cualquier matriz A Rnn simtrica y denida positiva tiene una nica factorizacin de Choleski A = LLT , donde L es una matriz triangular inferior no singular. Nota: Dado que LT = U es una matriz triangular superior, tambin podemos escribir A = UT U

3.7.3.

El algoritmo de Choleski

Cuando el algoritmo de Choleski se programa slo se necesita almacenar la parte triangular superior de A bin la parte triangular inferior. Esta simplicacin permite reducir el nmero de operaciones a la mitad para lograr la factorizacin A = LLT . El algortimo se puede construir realizando comparacin de los coecientes: Sean A = (aij )1i, jn con aij = aji , y L = (lij )1i, jn con lii = 0, i = 1, . . . , n y lij = 0 si j > i. Comparando los coecientes en la ecuacin matricial A = LLT , se obtiene aii = (i-simo rengln de L) (i-sima columna de LT ),

Anlisis Numrico es decir


i i1

67

aii =
k=1

lik lik =
k=1 1/2 2 lik k=1

2 2 lik + lii .

Por lo tanto
i1

lii = Anlogamente

aii

i = 1, . . . , n.

min(i,j)

aij = (i-simo rengln de L) (j-sima columna de L ) =


k=1

lik ljk .

Considerando el caso i > j:


j j1

aij =
k=1

lik ljk =
k=1

lik ljk + lij ljj ,

entonces lij = aij

j1 k=1 lik ljk

ljj

i = j + 1, . . . , n.

Obervese que en este mtodo no hay intercambio de renglones o pivoteo. A continuacin se muestra el algoritmo de factorizacin de Choleski. Algoritmo l11 = a11 Para i = 2, . . . , n li1 = ai1 /l11 Fn Para j = 2, . . . , n 1 ljj = ajj Fn lnn = ann
n1 2 k=1 lnk j1 2 k=1 ljk 1/2

Para i = j + 1, . . . , n lij = aij


j1 k=1 lik ljk

/ljj

Fn
1/2

68

L. Hctor Jurez V.

Ejemplo 3.8. Aplicar el algoritmo de Choleski para factorizar en la forma A = LLT la siguiente matriz, que es simtrica denida positiva. A= 4 2 0 4 2 10 3 2 . 0 3 2 3 4 2 3 29

Solucin. La matriz es simtrica, y puede vericarse (calculando sus valores propios) que es denida positiva. Entonces, aplicando el algoritmo anterior obtenemos l11 = a11 = 4 = 2

......................................................... l21 = a21 /l11 = 2/2 = 1 l31 = a31 /l11 = 0/2 = 0 l41 = a41 /l11 = 4/2 = 1 .........................................................
2 l22 = (a22 l21 )1/2 = (10 (1)2 )1/2 = 3

l32 = (a32 l31 l21 )/l22 = (3 (0)(1))/3 = 1 l42 = (a42 l41 l21 )/l22 = (2 (2)(1))/3 = 0 .........................................................
2 2 l33 = (a33 l31 l32 )1/2 = (2 02 12 )1/2 = 1

l43 = (a43 l41 l31 l42 l32 )/l33 = (3 (2)(0) (0)(1))/1 = 3 .........................................................
2 2 2 l44 = (a44 l41 l42 l43 )1/2 = (29 (2)2 02 32 )1/2 = 4

Luego la factorizacin de Choleski es 4 2 0 4 2 1 2 10 3 2 = 0 3 2 3 0 4 2 3 29 2 A = 0 3 1 0 L 0 0 1 3 0 0 0 4 2 1 0 2 0 3 1 0 0 0 1 3 0 0 0 4 LT .

Anlisis Numrico

69

3.7.4.

Estabilidad del algoritmo de Choleski

Todas las sutilezas que aparecen en el anlisis de estabilidad de la eliminacin de Gauss desparecen cuando se utiliza la factorizacin de Choleski. El algoritmo de Choleski no utiliza ninguna tcnica de pivoteo y siempre es estable. Podemos vericar esta aseveracin estimando el factor de crecimiento al hacer la factorizacin. Sabemos que
i

aii =
k=1

2 lik .

y si suponemos que |lik | 1, entonces |lik | |lik |2 aii mx |aij | i, k. a


1i,jn

Esto implica que mx |lik | mx |aij | . a a Por lo tanto = mx |lik | a 1. mx |aij | a

En consecuencia, el factor de crecimiento es O(1), y el algoritmo siempre es estable regresivo.

70

L. Hctor Jurez V.

Captulo 4

Problemas de mnimos cuadrados lineales. Factorizacin QR


El trmino mnimos cuadrados describe un enfoque frecuentemente usado para resolver sistemas de ecuaciones sobredeterminados especicados inexactamente en algn sentido apropiado. En lugar de resolver las ecuaciones exactamente, buscaremos solamente minimizar la suma de los cuadrados de los residuales. El criterio de mnimos cuadrados tiene interpretaciones estadsticas importantes. Si se hacen suposiciones probabilsticas apropiadas acerca de la distribucin del error, el enfoque de mnimos cuadrados produce lo que se conoce como la estimacin de mxima verisimilitud de los parmetros. Apesar de que ciertas suposiciones probabilsticas no se cumplan, durante aos se ha vericado que los mtodos de mnimos cuadrados producen resultados tiles.

4.1.

Ajuste de curvas

Existen muchos problemas en las aplicaciones que pueden abordarse utilizando el enfoque de mnimos cuadrados. Una fuente comn que da origen a problemas de mnimos cuadrados es el ajuste de curvas a un conjunto de datos dados: Sea x una variable independiente y sea y(x) una funcin desconocida de x la cual queremos aproximar. Suponiendo que tenemos m observaciones (x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ) , donde yi = y(xi ), i = 1, 2, . . . , m, la idea es modelar y(x) por medio de una combinacin de n funciones base 1 (x), 2 (x), . . . , n (x). Es decir, suponer que la funcin que se ajusta a 71

72 los datos es una combinacin lineal de la forma y(x) c1 1 (x) + c2 2 (x) + . . . + cn n (x)

L. Hctor Jurez V.

en donde generalmente el nmero de funciones base n es menor que el nmero de datos m. Es decir, m n. Entonces, los datos deben satisfacer de manera aproximada y(xi ) c1 1 (xi ) + c2 2 (xi ) + . . . + cn n (xi ), i = 1, 2, . . . , m .

La ltima expresin constituye un sistema de m ecuaciones con n incgnitas c1 , c2 ,..., cn , que en forma matricial puede expresarse de la siguiente manera: 1 (x1 ) 1 (x2 ) . . . 2 (x1 ) 2 (x2 ) ... ... .. . n (x1 ) n (x2 ) . . . c1 c2 . . . cn = y1 y2 . . . ym , m n.

1 (xm ) 2 (xm ) . . . n (xm )

A la matriz de este sistema A = (aij ) con aij = j (xi ) se le denomina matriz de diseo. Dado que m n, entonces el sistema tiene ms renglones (ecuaciones) que columnas (ingnitas). A este tipo de sistemas se les denomina sobredeterminados y generalmente no tienen solucin. Las funciones base i (x), i = 1, . . . , n, pueden ser funciones no lineales de x, pero los coecientes y parmetros cj aparecen en el modelo en forma lineal cuando se trata de un ajuste lineal. Dependiendo del problema particular y el objeto de estudio, las funciones base i (x) pueden escogerse de muchas maneras, e incluso pueden depender de ciertos parmetros. Algunas elecciones comunes pueden ser, entre otras Polinomios: i (x) = xi1 . Funciones racionales: i (x) = xi1 /(0 + 1 x + + n1 xn1 ), con 0 , . . . , n1 parmetros dados. Exponenciales: i (x) = ei x , con parmetros de decaimiento i .

Gaussianas: i (x) = e

x i i

, con medias y varianzas i , i .

para i = 1, . . . , n. En el presente estudio solo consideraremos el estudio de ajuste de datos por medio de polinomios.

Anlisis Numrico

73

4.2.
4.2.1.

Ajuste por medio de polinomios


Polinomio de interpolacin

Cuando se tienen m observaciones (x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ), y se escogen funciones base polinomiales i (x) = xi1 , i = 1, . . . , n, la curva de ajuste toma la forma y(x) = c1 + c2 x + + cn xn1 con m n.

El caso particular en el que m = n da lugar al problema de encontrar el polinomio de interpolacin. Es decir, suponiendo que los m puntos son distintos nuestro problema consiste en encontrar el polinomio de grado menor o igual a m 1 p(x) = c1 + c2 x + + cm xm1 que interpola los puntos (x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ), es decir, p(xi ) = yi , i = 1, . . . , m. El sistema de ecuaciones obtenido es un sistema cuadrado de la forma 1 x1 x2 . . . xm1 c1 y1 1 1 m1 1 x2 x2 . . . x2 c2 y2 2 . . . = . .. . . . . . . . . . 1 xm x2 . . . xm1 m m A cm c = ym y

que se denomina sistema cuadrado de Vandermonde. La matriz A del sistema se denomina matriz de Vandermonde y es no-singular si los puntos x1 , x2 , . . . , xm son diferentes. De hecho puede demostrarse que det(A) =
i>j

(xi xj ) = 0

por ser los xi , i = 1, . . . , m, distintos. Por lo tanto, los coecientes c1 , c2 , . . . , cm , son nicos si los puntos de interpolacin son todos distintos.

Ejemplo 4.1. Encontrar el polinomio de grado 10 que interpola los 11 puntos x y = = -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0

74

L. Hctor Jurez V.

Solucin. Podemos utilizar el ambiente MATLAB para construir la matriz asociada de Vandermonde de orden 11 11 1 3 (3)2 . . . (3)10 1 2 (2)2 . . . (2)10 . . .. . . . . . 1 7 (7)2 ... (7)10

Tambien puede observarse que la matriz est mal condicionada pues cond(A) 109 , lo cual permite anticipar que debemos utilizar pivoteo para resolver el sistema cuadrado de Vandermonde. Utilizando el algorimto de factorizacin LU con pivoteo encontramos la siguiente solucin aproximada (para los coecientes del polinomio)

1.000000, -0.059524, -0.454683, 0.761078, -0.112004, -0.208160 0.072535, 0.005704, -0.005804, 0.000901, -0.000045

La Figura 4.1 muestra los datos junto con la grca del polinomio de interpolacin calculado. Observese que el ajuste no es satisfactorio pues, aunque la curva y = p(x) pasa por los puntos

4 3 2 1 0

Figura 4.1: Polinomio de interpolacin con 11 puntos.

de interpolacin, cerca de los extremos muestra oscilaciones fuertes. Estas oscilaciones son un articio tpico de cualquier proceso de interpolacin como veremos en el captulo 4. Este mal ajuste empeora si se utilizan ms puntos de interpolacin como puede constatarse si en lugar de 11 puntos se usan 21 puntos de interpolacin: los 11 puntos ya dados mas los 10 puntos intermedios adicionales. Los valores de x y y en este caso son

Anlisis Numrico x y = = -3.0, 4.0, 0.0, 0.0, -2.5, -2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0 0.0, 0.0, 0.0, 0.0, 0.5, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

75

La Figura 4.2 muestra la grca del polinomio de interpolacin obtenido con los 21 puntos. Como puede observarse la solucin no es buena, pero ilustra lo que pasa si se aumenta el

Figura 4.2: Polinomio de interpolacin con 21 puntos.

nmero de puntos de interpolacin: las oscilaciones en los extremos son de mucho mayor magnitud. Observese que el nmero de condicin la matriz de Vandermonde en este caso aumenta respecto de aquel en el caso anterior, pues ahora cond(A) 1018 . De hecho el proceso de interpolacin puede ser mal condicionado (sensitivo a perturbaciones en los datos) si se utilizan puntos igualmente espaciados como en los ejemplos anteriores. Para evitar este problema se podran utilizar los puntos de interpolacin distribuidos en forma no uniforme. Sin embargo, en las aplicaciones uno no puede escojer los puntos a modo.

4.2.2.

Mnimos cuadrados polinomiales

Sin cambiar los datos podemos obtener mejores resultados reduciendo el orden del polinomio. Dados los puntos (x1 , y1 ), . . . , (xm , ym ), consideremos el polinomio p(x) = c1 + c2 x + + cn xn1 con n < m .

Este polinomio ser un ajuste de mnimos cuadrados para los datos si minimiza la suma de cuadrados
m

(p(xi ) yi )2 .
i=1

76

L. Hctor Jurez V.

Es decir, para encontrar el ajuste de mnimos cuadrados debemos encontrar el vector de coecientes c = (c1 , . . . , cn )T que resuelve el problema
m cRn

m n

(c1 + c2 xi + + cn xn1 yi )2 . i
i=1

Esta suma de cuadrados es igual al cuadrado de la norma euclideana del residual, r 2 , para 2 el sistema rectangular de Vandermonde: 1 x1 x2 . . . xn1 c1 y1 1 1 1 x2 x2 . . . xn1 c2 y2 2 2 . . . . , n < m , .. . . . . . . . . . 1 xm x2 . . . xn1 m m
A

cn
c

ym
y

es decir, r = Ac y. Entonces, el problema consiste en resolver


cRn

m Ac y n

2 2

dados A de orden m n y y Rm con m > n.

4.3.

Mtodo de ecuaciones normales

Cmo se puede resolver el problema anterior? Ms an, cmo podemos resolver los problemas de mnimos cuadrados en general? A continuacin intentaremos dar respuesta a estas preguntas. Con el objeto de hacer ms clara la exposicin cambiamos un poco la notacin: denotamos por x a la incgnita c, y por b el lado derecho y, en el anterior problema. As pues, nuestro objetivo es encontrar el punto Ax ms cercano al vector b, es decir el que minimiza la norma del residual r = b Ax.

4.3.1.

Proyeccin ortogonal sobre el espacio imagen

La idea principal para generar algoritmos que resuelvan el anterior problema de minimizacin descansa en el concepto de proyeccin ortogonal. Si denotamos por Im(A) al espacio imagen de A, y por P : Rm Im(A) la proyeccin ortogonal que mapea Rm sobre el espacio imagen de A, entonces el valor de x que minimiza la norma de r = b Ax es aquel que satisface Ax = P b. Esta idea se ilustra en

Anlisis Numrico

77

b r=bAx y=Ax O
Espacio imagen de A

Figura 4.3: El espacion imagen de A es ortogonal al residual.

la Figura 4.3. En otras palabras, el residual r = b Ax debe ser ortogonal al espacio imagen de A. El espacio imagen de A es generado por los vectores columna de A. Es decir, si A = [ a1 | a2 | | an ],

donde ai es el i-simo vector columna de A, entonces Im(A) = gen{a1 , a2 , . . . , an }. Demostracin. Dado x Rn con x = (x1 , x2 , . . . , xn )T , Ax gen{a1 , . . . , an } pues Ax = [ a1 | a2 | | an ]x

= x1 a1 + x2 a2 + + xn an .

4.3.2.

Sistema de ecuaciones normales

Del resultado anterior se tiene que r = bAx es ortogonal a Im(A) = gen{a1 , a2 , . . . , an } si si si si y y y y solo solo solo solo si si si si aT r = 0 i AT r = 0 AT (b Ax) = 0 AT Ax = AT b i = 1, . . . , n

78

L. Hctor Jurez V.

Este ltimo sistema de ecuaciones para x es conocido como el sistema de ecuaciones normales para el problema de mnimos cuadrados. El siguiente resultado es de fundamental importancia. Teorema 4.2. Si la matriz A es de orden m n con m n y tiene rango completo (todos sus vectores columna son linealmente independiente), entonces AT A es una matriz cuadrada de orden n n que es no singular. Demostracin. Dado que A es de m n, entonces AT es de orden n m y AT A debe ser de orden n n. Para demostrar que A de rango completo implica AT A no singular, basta con demostrar que si AT A es singular entonces es de rango deciente: AT A singular AT Ax = 0 para algn vector x = 0 en Rn xT AT Ax = 0, Ax
2 2

x=0 x=0

= 0,

Ax = 0,

x=0

A es singular A tiene rango deciente. Otro resultado importante es Teorema 4.3. Si A es de rango completo, entonces AT A es una matriz simtrica y positiva denida. Demostracin. Como A es de rango completo, AT A es no singular, y adems claramente simtrica. Ahora bin, dado x = 0 en Rn , entonces, como AT A es no singular, se satisface xT AT Ax = Ax 2 > 0. Se concluye que AT A debe ser positiva denida. 2 De los dos resultados anteriores se deduce que si la matriz A es de rango completo, entonces la solucin del sistema de ecuaciones normales (AT Ax = AT b) es nica e igual a x = (AT A)1 AT b. Adems esta solucin puede obtenerse por medio del algoritmo de factorizacin de Choleski dado que AT A es simtrica y denida positiva. Nota. Cuando A es de rango completo, dado que x = (AT A)1 AT b es nica, a la matriz A+ (AT A)1 AT se le denomina la seudoinversa de A. Adems como x = A+ b, entonces Ax = AA+ b y P = AA+ es la matriz de proyeccin, es decir AA+ b = P b es la proyeccin de b sobre el espacio imagen de A.

Anlisis Numrico

79

4.3.3.

Algoritmo de ecuaciones normales

Si A es una matriz mn con m n, y A es de rango completo, entonces AT A es no singular, simtrica y denida positiva. Por tanto el sistema de ecuaciones normales AT Ax = AT b puede resolverse utilizando el mtodo de Choleski: Algoritmo. Dados A de m n de rango completo y b Rm 1. Calcular AT A y el vector AT b. 2. Calcular la factorizacin de Choleski AT A = LLT . 3. Resolver para z Rn el sistema triangular inferior Lz = AT b (sustitucin progresiva) 4. Resolver para x Rn el sistema triangular superior LT x = z (sustitucin regresiva)

Ejemplo 4.4. Considere de nuevo el problema de ajustar los once datos del problema 4.1, pero ahora utilizando un polinomio de grado 6, p(x) = c1 + c2 x + + c6 x5 + c7 x6 . Solucin. Debemos encontrar los coecientes c = (c1 , c2 , . . . , c7 )T . En este caso la matriz de diseo A es la matriz de Vandermonde de tamao m n = 11 7 1 3 (3)2 . . . (3)6 1 2 (2)2 . . . (2)6 . . .. . . . . . 2 6 1 7 (7) . . . (7) y el lado derecho es el vector b=y= 0 0 0 1 1 1 0 0 0 0 0
T

Observese que A es de rango completo, ninguna columna es combinacin lineal de las otras. Entonces los coecientes c = (c1 , c2 , . . . , c7 ) satisfacen la ecuacin AT A c = AT b donde AT A es simtrica denida positiva de orden 7 7. Observese que el nmero de condicin de la matriz es (AT A) 1010 . Utilizando el mtodo de factorizacin de Choleski

80

L. Hctor Jurez V.

para resolver el sistema de ecuaciones normales, en aritmtica de doble precisin, obtenemos la solucin c1 = 0.822788975730632, c2 = 0.412287124639659, c3 = 0.173651218063367, c4 = 0.043013848896040, c5 = 0.012531422825567, c6 = 0.000286576168915, c7 = 0.000130718954247 La Figura 4.4 ilustra la grca del polinomio de ajuste junto con los datos. El nuevo polinomio no interpola los datos, pero captura el comportamiento global de mejor manera que cualquiera de los polinomios de interpolacin encontrados anteriormente.

Figura 4.4: Polinomio de interpolacin de grado 6. Observacin. Si hay miles de observaciones y slo unos pocos parmetros, la matriz de diseo A es muy grande, pero la matriz AT A es pequea y de orden del nmero de parmetros, n n. Precaucin. El mtodo va ecuaciones normales para resolver problemas de mnimos cuadrados aparece en muchos libros de estadstica y mtodos numricos. Este mtodo debe utilizarse con cautela pues el sistema de ecuaciones normales es ms mal condicionado que el sistema sobredeterminado original, es decir (AT A) = [(A)]2 . Con aritmtica de precisin nita, las ecuaciones normales pueden llegar a ser singulares y, en consecuencia (AT A)1 no existir an y cuando las columnas de A sean linealmente independientes. Por ejemplo, consideremos la siguiente matriz 1 1 A= con 0< 1. 0 0 Las dos columnas son casi paralelas, pero linealmente independientes. Con aritmtica exacta obtenemos 1+ 2 1 AT A = 1 1+ 2

Anlisis Numrico Sin embargo, si obtenemos

81 < 108 y utilizamos aritmtica de punto otante de doble precisin AT A = 1 1 1 1

la cual es una matriz singular.

4.4.

Mtodo de factorizacin QR por ortogonalizacin de GramSchmidt

El otro mtodo principal para resolver el problema de mnimos cuadrados es el mtodo de factorizacin QR. Este es un mtodo clsico, moderno, y popular desde 1960 (Golub). De hecho, actualmente se considera que este mtodo representa una de las ideas algoritmicas ms importante en el lgebra lineal numrica.

4.4.1.

Factorizacin reducida

Considere la matriz A Rmn con m n y sean ai Rm , i = 1, . . . , n los vectores columna de A: A = [ a1 | a2 | | an ].

Los espacios sucesivos generados por los vectores columna de A tienen la siguiente propiedad gen{a1 } gen{a1 , a2 } . . . gen{a1 , . . . , an } . La idea detrs de la factorizacin QR es construir una sucesin de vectores ortonormales q1 , q2 , . . . Rm que generen estos espacios sucesivos. Supongamos que A es de rango completo, entonces sus vectores columna son linealmente independientes y queremos que gen{q1 , . . . , qi } = gen{a1 , . . . , ai }, i = 1, 2, . . . , n

T con qi 2 = 1 y qi qj = ij . Para contruir este conjunto de vectores podemos utilizar el mtodo de Gram-Schmidt:

v1 v1 v2 q2 = v2 v3 q3 = v3 q1 =

2 2 2

con v1 = a1 ,
T con v2 = a2 (q1 a2 )q1 , T T con v3 = a3 (q1 a3 )q1 (q2 a3 )q2 .

82

L. Hctor Jurez V.

En general, en el j-simo paso, suponiendo conocidos q1 , q2 ,. . ., qj1 , un vector qj ortonormal a ellos esta dado por vj qj = vj
j1 2

con vj = aj

T (q1 aj )q1

T (q2 aj )q2

...

T (qj1 aj )qj1

= aj
i=1

T (qi aj )qi .

T Si denimos rij qi aj , y el escalar rjj = vj

2,

entonces

q1 q2

= = . . . =

a1 , r11 a2 r12 q1 , r22 an


n1 i=1 rin qi

qn Por lo tanto, a1 a2 an = = . . . =

rnn

r11 q1 , r12 q1 + r22 q2 , r1n q1 + r2n q2 + + rnn qn .

Este conjunto de ecuaciones tienen la siguiente representacin matricial A = [ a1 | a2 | | an ] | qn ] r11 r12 . . . r1n 0 r22 . . . r2n . . .. . . . . . 0 0 . . . rnn
matriz nn

matriz mn

[ q1

| q2

matriz mn

El siguiente algoritmo construye la factorizacin QR encontrada: Algoritmo de Gram-Schmidt clsico Para j = 1, . . . , n vj = aj Para i = 1, . . . , j 1 T rij = qi aj

Anlisis Numrico vj = vj rij qi Fn rjj = vj 2 qj = vj /rjj Fn

83

Teorema 4.5. Si A Rmn con m n es de rango completo, existe una nica factorizacin reducida QR, A = QR con rii > 0, i = 1, . . . , n. (Ver TrefethenBau)

4.4.2.

Factorizacin completa

Una factorizacin completa QR de A Rmn (m n) va ms all agregando m n columnas ortonormales a Q, y agregando m n renglones de ceros a R de manera tal que mm y otra matriz R Rmn triangular superior. obtenemos una matriz ortogonal Q R Esquemticamente
FACTORIZACION REDUCIDA
11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000

FACTORIZACION COMPLETA
1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 0000000000000 11111111 R 1111111111111 00000000 0000000000000 00000000 1111111111111 00000000 0000000000000 11111111 1111111111111 00000000 0000000000000 11111111 1111111111111 00000000 0000000000000 11111111 11111111 Q 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 11111111 0000000000000 00000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000

mxn

A=

11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000

nxn

mxm

mxn

En la factorizacin completa las columnas qj para j = n+1, . . . , m, son ortogonales a Im(A) (el espacio imagen de A). Observese que la matriz completa Q tiene la propiedad QT Q =
T q1 T q2 . . . T qm T debido a que qi qj = ij . Por tanto Q1 = QT . A las martrices con esta propiedad se les denomina matrices ortogonales.

[ q1 | q2 | | qm ] = I

Teorema 4.6. Cualqier matriz A Rmn (m n) tiene una factorizacin completa QR, A = QR con Q Rmm matriz ortogonal y R Rmn matriz triangular superior (ver TrefethenBau).

84

L. Hctor Jurez V.

Habiendo obtenido una factorizacin completa QR de A Rmn , el problema sobredeterminado Ax = b con b Rm se puede expresar en la forma QRx = b, que a su vez es equivalente al sistema triangular superior

Rx = QT b (pues Q1 = QT ) .

Este sistema en forma expandida es x1 x2 . . . xn

r11 r12 . . . r1n 0 r22 . . . r2n . . .. . . . . . 0 0 . . . rnn 0 0 ... 0 . . .. . . . . . 0 0 ... 0

= fn fn+1 . . . fm

f1 f2 . . .

con fi = (QT b)i , i = 1, . . . , m. Esta claro que este sistema se puede resolver utilizando sustitucin regresiva, y que las ltimas m n componentes de QT b no intervienen en la solucin. De hecho estas ltimas componentes de QT b estan relacionadas con el residual r = b Ax, pues QT r = QT b Rx = (0, . . . , 0, fn+1 , . . . , fm )T y, en consecuencia, ||r||2 = ||z||2 . Observese que en el caso que A sea una matriz cuadrada (m = n) no singular este algoritmo es til para resolver sistemas lineales Ax = b. Sin embargo no es el mtodo estandar porque requiere el doble de operaciones que el mtodo de eliminacin de Gauss o el mtodo de factorizacin LU . En la prctica las frmulas de Gram-Schmidt no se aplican como se muestra en la pagina 82 debido a que la sucesin de operaciones resulta numricamente inestable (sensible a errores de redondeo). Esta inestabilidad se produce debido a las sustracciones y a que los vectores qj no son estrictamente ortogonales debido a errores de redondeo. Se pueden utilizar mtodos de estabilizacin, cambiando el orden en que se realizan las operaciones. Sin embargo, hay un mtodo ms efectivo, estable por supuesto, para encontrar la factorizacin QR. El nuevo mtodo hace uso de las propiedades de las proyecciones otogonales. Por tal motivo hacemos un parntesis en nuestra discusin para estudiar dichas propiedades.

Anlisis Numrico

85

4.5.

Proyecciones en Rn

Una proyeccin en Rn es una matriz cuadrada P de n n tal que P 2 = P . El espacio imagen de P se dene por Im(P ) = {v Rn | v = P x, para algn x Rn }. El espacio nulo de P se dene por N ul(P ) = {x Rn | P x = 0}. Ejemplo 4.7. Vericar que la siguiente matriz cuadarada es una proyeccn y encontrar su espacio imagen y su espacio nulo. 1 0 2 1 P = 0 0 0 5 2 0 4 Solucin. P es una proyeccin en R3 , pues P 2 = P . El espacio imagen de P es el conjunto de vectores v Rn de la forma 1 0 2 1 x1 1 1 1 v = 0 0 0 x2 = (x1 + 2x3 ) 0 = c 0 , c R. 5 5 2 0 4 2 x3 2 Es decir, Im(P ) = {v Rn | v = c[1, 0, 2]T } = gen{[1, 0, 2]T } es la linea recta determinada por el vector [1, 0, 2]T . El espacio nulo de esta misma proyecin es el conjunto de vectores x = [x1 , x2 , x3 ]T que satisfacen 1 0 2 x1 0 1 0 0 0 x2 = 0 5 2 0 4 x3 0 x1 + 2x3 = 0 2x1 + 4x3 = 0

x1 + 2x3 = 0 .

Es decir, N ul(P ) = {[x1 , x2 , x3 ]T |x1 + 2x3 = 0}, el cual representa el plano con ecuacin x1 + 2x3 = 0 y normal al vector (1, 0, 2)T . La Figura 4.5 ilustra geomtricamente el espacio imagen de P , la cual es una linea recta en el plano x1 x3 de R3 . El espacio nulo de P es el plano perpendicular a dicha recta. En dicha gura slo se ilustra la interseccin de este plano con el plano x1 x3 .

86

L. Hctor Jurez V.

Nul(P) Plano

(1,0,2)

Linea recta Im(P)

Figura 4.5: Ilustracin del espacio imagen y el espacio nulo

4.5.1.

Algunas propiedades de las proyecciones

1. Si v Im(P ), entonces P v = v. Demostracin. v Im(P ) v = P x para algn x Rn P v = P 2 v = P x = v. 2. Dado v Rn , v se puede escribir como v = v1 + v2 con v1 Im(P ) y v2 N ul(P ). Demostracin. Sea v2 = v P v, entonces P v2 = P (v P v) = P v P 2 v = 0 v2 N ul(P ) y por lo tanto v = v1 + v2 con v1 = P v Im(P ). 3. Si P es una proyeccin en Rn , entonces I P tambien es una proyeccin. Demostracin. (I P )2 = I 2IP + P 2 = I 2P + P = I P . A la proyeccin I P se le llama proyeccin complementaria de P . 4. Si P es una proyeccin en Rn , entonces Im(P ) = N ul(I P ): P proyecta sobre el espacio nulo de I P . Im(I P ) = N ul(P ): I P proyecta sobre el espacio nulo de P . Demostracin. v Im(P ) v = P x, con x Rn (I P )v = v P v = P xP 2 x = 0 v N ul(I P ) Im(P ) N ul(I P ). Por otro lado v N ul(I P ) v P v = 0 v = P v Im(P ) N ul(I P ) Im(P ). Con esto se concluye que Im(P ) = N ul(I P ). En forma anloga se verica que Im(I P ) = N ul(P ).

Anlisis Numrico

87

Ejemplo 4.8. Retomando la proyeccin del ejemplo anterior vericar las propiedades 2, 3, y 4 dado el vector arbitrario v = (a1 , a2 , a3 )T R3 . Solucin. 1 0 2 1 P = 0 0 0 , 5 2 0 4 a1 1 0 2 a1 + 2a3 1 0 0 0 a2 = 0 Im(P ), 5 a3 2 0 4 2a1 + 4a3 a1 + 2a3 4a1 2a3 1 1 0 5a2 = N ul(P ), 5 5 2a1 + 4a3 2a1 + a3

v1 = P v = 1 5

a1 v2 = v P v = a2 a3

Esta claro que v1 + v2 = v, con lo cual 2 queda vericada. La proyeccin complementaria de P es 1 0 0 1 0 2 4 0 2 1 1 I P = 0 1 0 0 0 0 = 0 5 0 5 5 0 0 1 2 0 4 2 0 1 y 20 0 10 1 (I P )2 = 25 0 = I P. 0 25 10 0 5

Ademas la imagen de v R3 bajo I P est en N ul(P ), y ms an que Im(I P ) = N ul(P ) La Figura 4.6 ilustra estas propiedades. En dicha gura se tiene que Im(I P ) = N ul(P ) es el plano en R3 con normal (1, 0, 2)T , y N ul(I P ) = Im(P ) es la linea determinada por el vector a = (1, 0, 2)T . De la discusin anterior concluimos que 5. Una proyeccin P en Rn separa el espacio completo en dos subespacios S1 y S2 con S1 S2 = {0}, y S1 + S2 = Rn . Es decir, dado v Rn , v = v1 + v2 con v1 = P v y v2 = (I P )v, bin v1 = (I P )v y v2 = P v.

88

L. Hctor Jurez V.

x3 Im(P)=Nul(IP) Plano v v =Pv


1

v =(IP)v
2

Nul(P)=Im(IP) Linea recta

Figura 4.6: Ilustracin de la proyeccin complementaria.

4.5.2.

Proyecciones ortogonales

Los tipos de proyecciones ms importantes en el lgebra lineal numrica y en las aplicaciones son las denominadas proyecciones ortogonales. Se dice que una proyeccin P es ortogonal si P T = P . De hecho, una proyeccin ortogonal separa el espacio completo Rn en dos subespacios ortogonales S1 S2 con S1 S2 = {0}, S1 + S2 = Rn . Dado v Rn , v = v1 + v2 con v1 = P v y v2 = (I P )v, y si P es ortogonal, entonces
T v1 v2 = (P v)T (I P )v = v T P T (I P )v = v T P (I P )v = v T (P P 2 )v = 0

En resumen 6. Si P en una proyeccin ortogonal, entonces P v y (I P )v son ortogonales para toda v Rn . Ejemplo 4.9. La proyeccin anterior 1 0 2 1 P = 0 0 0 , 5 2 0 4 es una proyeccin ortogonal, pues P es simetrica. La Figura 4.6 muestra la separacin de R3 en dos subespacios ortogonales a saber Im(P ) = N ul(I P ) y N ul(P ) = Im(I P )

Anlisis Numrico Ejemplo 4.10. Proyeccin ortogonal de rango 1. Dado q Rn con q de rangp 1 dada por Pq qq T es una proyeccin ortogonal. Demostracin. Primero, observese que Pq es una matriz es un mltiplo del vector q: q1 q1 q1 q2 q1 qn q2 q1 q2 q2 q2 qn Pq = . . .. . . . . . qn q1 qn q2 Pq es una proyeccin, pues (Pq )2 = (qq T )(qq T ) = q(q T q)q T = q q 2 q T = qq T = Pq . 2 Pq es ortogonal, pues (Pq )T = (qq T )T = (q T )T q T = qq T = Pq . Su proyeccin complementaria es (Pq )T = I Pq = I qq T . qn qn
2

89 = 1, la matriz

de rango 1, pues toda columna .

Ejemplo 4.11. Para cualquier a Rn , a = 0, existe una proyeccin ortogonal de rango 1 Pa = aaT . aT a
2

Demostracin. Dado a Rn , a = 0, q = a/ a qq T =

es unitario y

a aT aaT aaT = = T . a 2 a 2 a a a 2 2

Pa v produce la proyeccin del vector v Rn sobre la linea denida por el vector a Rn . Su proyeccin complementaria aaT Pa = I Pa = I T , a a es de rango n 1 y proyecta el vector v Rn sobre el hiperplano perpendicular al vector a. En otras palabras Pa proyecta v sobre la linea determinada por a: Im(Pa ) = {x Rn | x = a, R} .

90

L. Hctor Jurez V.

Im(Pa ) Im(P )
a

v P v
a

Pa v O

Figura 4.7: Proyeccon ortogonal de rango 1 generada por un vector a.

Pa proyecta sobre el hiperplano con vector normal a = (a1 , a2 , . . . , an )T : Im(Pa ) = {x Rn | a1 x1 + a2 x2 + . . . + an xn = 0} .

En la Figura 4.7 se ilusta lo anterior. La proyeccin

1 0 2 1 P = 0 0 0 5 2 0 4

es un caso particular de una proyeccin de rango 1 con a = (1, 0, 2)T , pues 1 1 0 2 T aa 1 1 = 0 1 0 2 = 0 0 0 . Ta a 5 5 2 2 0 4 Ejemplo 4.12. Proyeccin ortogonal sobre la imagen de una matriz A Rmn (m n). Si A Rmn con m n es de rango completo, sabemos que AT A es una matriz de n n, simtrica y denida positiva. La inversa generalizada derecha de A, se dene como la matriz A+ = (AT A)1 AT de orden n m. Esta matriz dene una proyeccin ortogonal en el espacio Rm al premultiplicarse por A, pues PA = AA+ = A(AT A)1 AT Rmm , y, 2 T claramente PA = PA y PA = PA . Cualquier vector v Rm es proyectado sobre el espacio imagen de la matriz A por la proyeccin PA . Es decir, el espacio generado por las columnas de A es igual a Im(PA ) (ver Fig. 4.8).

Anlisis Numrico

91

v P v
A

(IP ) v
A

O Im(IPA)

Im(P ) = Im(A)
A

Figura 4.8: Proyeccin otogonal sobre la imagen de A.

Nota. Observese que PA = A(AT A)1 AT es la generalizacin multidimensional de la proyeccin de rango 1, P a = aaT /aT a con a Rm , si observamos que a se puede ver como una de las columnas de la matriz A bin como una matriz de m 1.

4.6.

Mtodo de factorizacin QR por reexiones de Householder

4.6.1.

Triangularizacin de Householder

La triangularizacin de Housholder (Alston Householder, 1958) es el mtodo ms usado actualmente para encontrar la factorizacin QR debido a que es numricamente ms estable que el mtodo de Gram-Schmidt. Este mtodo consiste en un proceso de triangularizacin ortogonal , en donde se construye una matriz triangular por una sucesin de operaciones matriciales semejante al proceso de eliminacin de Gauss. Solo que en este caso se multiplica por matrices ortogonales Qk , de tal manera que al nal del proceso Qn Q2 Q1 A resulta triangular superior. Cada matriz Qk se escoge para introducir ceros debajo de la diagonal en la k-sima columna. Por ejemplo, para una matriz A de 5 3, las operaciones

92 Qk se aplican como se muetra a continuacin:


A(0) A(1) A(2) A(3)

L. Hctor Jurez V.

x x x x x

x x x x x
A

x x x x x

Q1

x 0 0 0 0

x x x x x
Q1 A

x x x x x

Q2

x 0 0 0 0

x x 0 0 0

x x x x x

Q3

x 0 0 0 0

x x 0 0 0

x x x 0 0

= R,

Q2 Q1 A

Q3 Q2 Q1 A

donde las x indican coecientes no cero en general. Cmo se construyen tales matrices ortogonales Qk ?

4.6.2.

Reexiones de Householder

Si A Rmn con m n, cada Qk se escoge como una matriz ortogonal de la forma Qk = I 0 0 H ,

donde I es la matriz identidad de orden (k1)(k1) y H es una matriz ortogonal de orden (mk +1)(mk +1). La multiplicacin por H debe introducir ceros debajo de la diagonal en la ksima columna. Esquemticamente, esta operacin se muestra a continuacin a11 . . . a1k1 . . .. . . . . . 0 . . . ak1k1 0 0 H mm 0 . . . . . .. . . . . . 0 ... 0 a1k . . . ... .. . a1n . . .
mn

I 0

ak1k . . . ak1n akk . . . amk ... .. . ... akn . . . amn

La matriz de la izquierda es la matriz ortogonal Qk de orden m m, mientras que la de la derecha es la matriz A(k1) de orden m n. El resultado de la anterior multiplicacin es la matriz A(k) Rmn , la cual tiene los mismos bloques que A(k1) , excepto el bloque

Anlisis Numrico diagonal inferior que debe cambiar por H akk . . . amk ... .. . akn . . = . . . . amn akk akk+1 . . . akn 0 ak+1k+1 . . . ak+1n . . . .. . . . . . . . 0 amk+1 . . . amn

93

Por supuesto, aqu el paso fundamental es la multiplicacin de H por la primera columna de la submatriz de la derecha: akk akk ak+1k 0 = . H . . . . . amk 0

donde akk = xk , con xk = (akk , . . . , amk )T . Es decir, el algoritmo de Householder escoge H como una matriz particular llamada reexin de Householder. Esta matriz introduce los ceros correctos en la ksima columna: x1 x x2 0 Hx = . = x e1 x= . . . . . xmk+1 0

con e1 = (1, 0, . . . , 0)T de tamao m k + 1. Para obtener la reexin de Householder H observamos en la Figura 4.9 que sta reeja Rmk+1 a travs del hiperplano H + ortogonal a v = x e1 x. Cuando la reexin se aplica a cada punto en algn lado de H + , el resultado es la imagen reejada en el otro lado de H + . En particular x es enviado a x e1 . Para cualquier y Rmk+1 , el vector Py= I vv T vT v y

es la proyeccin ortogonal de y sobre el espacio H + (perpendicular a v). Para reejar y a travs de H + , debemos continuar al doble de la distancia en la misma direccin como se ilustra en la Figura 4.10. La reexin H debe ser entonces H =I 2 vv T vT v con v = x e1 x.

94
x

L. Hctor Jurez V.

H+ Rmk+1
v = ||x|| e1 x

H x = ||x|| e1

Figura 4.9: Reexin de Householder para un vector dado x


x

Py

H+ O

Hy

Hx

Figura 4.10: La reexin de Householder H = I 2vv T /v T v.

Ejemplo 4.13. Dado el vector x = (3, 4, 0)T , encontrar la reexin de Householder H tal que Hx = x e1 = (5, 0, 0)T . Solucin. 5 3 2 v = x e1 x = 0 4 = 4 , 0 0 0 2 vv T = 4 0 4 8 0 = 8 16 0 0 0 0

2 4 0

y v T v = 20.

Anlisis Numrico Luego 1 0 0 4 8 0 3/5 4/5 0 1 H =I 2 T = 0 1 0 8 16 0 = 4/5 3/5 0 . v v 10 0 0 1 0 0 0 0 0 1 vv T

95

Se puede vericar que H efectivamente satisface Hx = x e1 = (5, 0, 0)T . En la gura 4.11 se ilustra el resultado de este ejemplo.
x
3

x = (3,4,0)T

H+

v = ||x|| e x = (2,4,0)
1

||x|| e1 = (5,0,0)T

x1

Figura 4.11: Reexin de Householder del ejemplo 4.13. El plano H + tiene ecuacin v1 x1 + v2 x2 + v3 x3 = 0, es decir, 2x1 4x2 = 0 con x3 arbitrario. Observese adems que 3/5 4/5 0 3/5 4/5 0 1 0 0 HH T = 4/5 3/5 0 4/5 3/5 0 = 0 1 0 = I 0 0 1 0 0 1 0 0 1 En general, se puede vericar facilmente que HH T = I 2 vv T vT v I 2 vv T vT v
T

=I.

de modo que H es siempre una matriz ortogonal. Por lo tanto, las matrices Qk en el proceso de triangularizacin de Householder son ortogonales, pues Qk QT = k I 0 0 H I 0 0 HT = I 0 0 HH T = Ik1 0 0 Imk+1 = Im .

96

L. Hctor Jurez V.

4.6.3.

La mejor de las dos reexiones

En la exposicin anterior se ha simplicado el procedimiento. El vector x en realidad puede reejarse ya sea a x e1 bin a x e1 , dando lugar a dos reexiones, una a travs del hiperplano H + , y otra a travs del hiperplano H , como se muestra en la Figura 4.12.

H
||x|| e x
1

||x|| e1 x

||x|| e

||x|| e

Figura 4.12: Las dos reexiones de Householder

Desde el punto de vista matemtico, cualquiera de las dos elecciones es satisfactoria. Sin embargo, para asegurar estabilidad en el algoritmo numrico se debe escoger aquella reexin para la cual x se encuentre ms alejado de su punto reejado x e1 x e1 . Para lograr esto escogemos v = signo(x1 ) x e1 x, o bien podemos quitar el signo , y escoger v = signo(x1 ) x e1 + x. La funcin signo se dene como: 1 si x 0 , 1 signo(x1 ) = 1 si x < 0 .
1

Vale la pena recordar que x1 es la 1ra coordenada de x. Las Figura 4.13 muestra ambos casos. La razn por la cual esta eleccin para v es conveniente es que si el ngulo entre H + y e1 es muy pequeo, entonces el vector v = x e1 x ser ms pequeo que x x e1 , y el clculo de v representa la sustraccin de cantidades casi iguales, con lo cual se obtienen errores de cancelacin. Por otro lado, si escogemos el signo de tal forma que en lugar de restar sumemos, cortamos el efecto de cancelacin y v nunca ser ms pequeo que x , con lo cual aseguramos estabilidad en los clculos.

Anlisis Numrico

97

H+

H
v = ||x|| e1 + x

v = ||x|| e1 + x

||x|| e1

||x|| e

||x|| e1

O H

||x|| e1

Figura 4.13: Grca de la izquierda: x1 > 0 signo(x1 ) = +1. Grca de la derecha: x1 < 0 signo(x1 ) = 1.

4.6.4.

Algoritmo de factorizacin de Householder

Utilizando las ideas anteriores podemos construir el algoritmo que factoriza A en la forma A = QR, es decir QT A = R, con Q = (Qn Q2 Q1 )T matriz ortogonal y R matriz triangular superior. Sin embargo, en el siguiente algoritmo solamente calculamos el factor R y lo almacenamos en el mismo espacio de memoria que ocupa A. Tambin se almacenan los n vectores de reexin v1 , . . . , vn , para posibles usos posteriores. Para k = 1, . . . , n . x = A(k : m, k) . vk = signo(x1 ) x e1 + x . vk = vk / vk 2 T . A(k : m, k : n) = A(k : m, k : n) 2vk (vk A(k : m, k : m)) Fn Observese que en el algoritmo se han realizado dos simplicaciones: 1. Se ha denotado por v a v/ v I 2
2

pues la reexin se puede escribir como vv T vT v vT v 2 =I 2 v v


2

vT v 2

2. Al multiplicar o aplicar la reexin por un vector y obtenemos I 2 v v y =y2


2

v v

vT y v 2

de tal manera que cuando y es una de las columnas de la submatriz A(k : m, k : n), entonces la forma econmica de aplicar la reexin a cada una de estas columnas es como se indica en el ltimo rengln del algoritmo.

98

L. Hctor Jurez V.

La matriz ortogonal QT = Qn Q2 Q1 no se construye en el algoritmo anterior, pues esto tomara trabajo adicional. Afortunadamente en muchas aplicaciones no es necesario obtener esta matriz. Por ejemplo, si se quiere resolver el sistema Ax = b y sabemos que QT A = R, entonces Rx = QT A x = QT b y basta con resolver el sistema Rx = QT b utilizando sustitucin regresiva. El lado derecho QT b puede calcularse aplicando a b la misma sucesin de operaciones aplicadas a la matriz A: Para k = 1, . . . , n . . b(k : m) = b(k : m) 2v (v T b(k : m)) . k k Fn dado que los vectores de reexin v1 , . . . , vn se almacenan al encontrar R en el algoritmo anterior. En el problema de la solucin del problema sobredetermnado Ax = b inclusive no es necesario almacenar los vectores de reexin vk y el clculo de los QT b puede realizarse simultaneamente al clculo de R. En este caso el algoritmo completo, incluyendo sustitucin regresiva, sera: Algortimo de triangularizacin de Housholder para resolver Ax = b Para k = 1, . . . , n . x = A(k : m, k) . v = signo(x1 ) x e1 + x . v = v/ v
2

. A(k : m, k : n) = A(k : m, k : n) 2v (v T A(k : m, k : m)) . b(k : m) = b(k : m) 2v(v T b(k : m)) Fn x(n) = b(n)/A(n, n) Para k = n 1 : 1 : 1 . . x(k) = (b(k) A(k, k + 1 : n) b(k + 1 : n))/A(k, k) . Fn Ejemplo 4.14. Aplicar el algorimto de triangularizacin de Housholder para ajustar un polinomio de grado 6 a los datos del ejemplo 4.4. Solucin. Primero construimos la matriz de diseo A como en el Ejemplo 4.4 y tomamos b = y. Aplicando el algoritmo de triangularizacin de Householder, en aritmtica de punto otante de doble presicin se obtienen los siguientes valores para los coecientes del poli-

Anlisis Numrico nomio de grado seis: c1 = 0.822788975730155, c2 = 0.412287124640065, c3 = 0.173651218062985, c4 = 0.043013848896201, c5 = 0.012531422825541, c6 = 0.000286576168929, c7 = 0.000130718954248,

99

los cuales coinciden en hasta 12 cifras decimales con el resultado del Ejemplo 4.4, en donde se resolvi el problema por medio del algoritmo de ecuaciones normales. La diferencia de ambas soluciones tiene norma2 igual a 7.521013 . La grca del polinomio es indistinguible de aquella obtenida en el Ejemplo 4.4. Otra forma de medir la diferencia entre ambas soluciones es por medio de la norma2 del residual Ac y. En el caso del mtodo de ecuaciones normales es 0.579791307012593, mientras que con el mtodo QR se obtiene 0.579791307012592, mostrando que la diferencia es muy pequea, y ambas soluciones se pueden considerar indistinguibles. Sin embargo, en la solucin de problemas donde el nmero de datos, y por tanto el tamao de los sistemas, es mayor la diferencia entre ambos mtodos ser mayor y favorable al mtodo de factorizacin QR. Por ejemplo para el problema de ajustar un polinomio de grado 12 a los 20 datos x = 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0 y = 6.8, 3.7, 8.3, 5.1, 7.2, 4.3, 3.0, 1.9, 1.9, 6.8, 3.4, 5.5, 1.6, 6.8, 3.4, 5.5, 1.6, 6.9, 3.7, 8.6, se obtiene la solucin c = 12.907970210856304, -3.016629810172137, -8.667285831321209, 7.388121747944512, -2.113195497831346, 0.183521281771445, 0.032056774991461, -0.010264106763814, 0.001240193327025, -0.000083809251109, 0.000003322253342, -0.000000072398408, 0.000000000671482 utilizando el algoritmo de ecuaciones normales, mientras que con el algoritmo QR con tringularizacin de Householder, se obtiene c = 354.3644019405224, -890.9842717372895, 904.5095592735649, -496.3782632641325 167.1779443154627, -036.8894657313046, 5.524135579250700, -0.570407247523000 0.040598148384200, -0.001954498782900, 0.000060739089900, -0.000001099075100

100 0.000000008792500

L. Hctor Jurez V.

Como puede observarse, los resultados son muy diferentes. La grca de los polinomios de ajuste se muestra en la Figura 4.14. El mtodo que produzca el menor residual proporciona la mejor solucin. La norma de los residuales es 7.027 cuado se utiliza el mtodo de ecuaciones normales, y es 5.507 cuando se utiliza el mtodo QR. Por lo tanto el polinomio obtenido con el mtodo QR ajusta mejor los datos dados.
10

Datos Ecuaciones normales QR 2 4 6 8 10 12 14 16 18 20

4 0

Figura 4.14: Ajuste con el algoritmo de ecuaciones normales y con el algoritmo QR

Captulo 5

Solucin de Ecuaciones no Lineales


El problema de resolver sistemas de ecuaciones no lineales aparece frecuentemente en la matemtica computacional y en las aplicaciones en donde los modelos subyacentes para estudiar determinado fenmeno no pueden expresarse en forma lineal. Es decir los sistemas correspondientes no son de la forma Ax = b, donde A es una matriz y x, b son vectores. Este nuevo tipo de ecuaciones algebraicas puede representarse en forma funcional compacta f (x) = 0, donde f : Rn Rn es una funcin vectorial, x = (x1 , . . . , xn )T y 0 = (0, . . . , 0)T en Rn . En forma desarrollada escribimos f1 (x1 , x2 , . . . , xn ) = 0, f2 (x1 , x2 , . . . , xn ) = 0, . . . fn (x1 , x2 , . . . , xn ) = 0, donde fi (x1 , x2 , . . . , xn ), i = 1, . . . , n son las funciones componentes de la funcin vectorial f . El caso n = 1 corresponde a una simple ecuacin no-lineal en la incgnita x R. Frecuentemente, en las aplicaciones, un problema no lineal aparece en la forma de problema de punto jo: Encontrar x Rn tal que x = g(x), donde g : Rn Rn es una funcin vectorial. El problema, en este ltimo sistema, consiste en encontrar un punto Rn que satisface = g(), y al cual se le denomina punto jo de g. Cualquier ecuacin o sistema de ecuaciones f (x) = 0 puede escribirse en la forma de punto jo, y esto puede realizarse de muchas maneras. Por ejemplo, la ecuacin f (x) = x2 x2 = 0 en una variable, puede expresarse de manera equivalente en cualquiera de las formas: 101

102

L. Hctor Jurez V.

1. x = x2 2 2. x = x + 2 2 3. x = 1 + x x2 + 2 4. x = 2x 1

g(x) = x2 2 g(x) = x + 2 2 g(x) = 1 + x x2 + 2 g(x) = , 2x 1

entre otras. Cualquier punto jo de estas funciones g ser una raiz de la ecuacin original f (x) = 0. Entonces, el problema del clculo de raices de f (x) se puede expresar como el clculo de los puntos jos de alguna funcin g(x).

5.1.

Mtodo iterativo de punto jo

Los mtodos ms ampliamente usados para encontrar soluciones de ecuaciones no lineales son los denominados mtodos iterativos de punto jo. Estos mtodos consisten en transformar la ecuacin (o sistema de ecuaciones) original, f (x) = 0, en algn sistema equivalente de punto jo x = g(x) adecuado. Una vez hecho esto, se escoge algn x0 como aproximacin inicial al punto jo , y se genera una sucesin de aproximaciones mediante las iteraciones: xn+1 = g(xn ), n = 0, 1, 2, . . .

Se espera que la sucesin {xn } converja al punto jo . Desgraciadamente esto no siempre ocurre como se muestra a continuacin. Ejemplo 5.1. Consideremos el ejemplo sencillo de encontrar numricamente una de las raices de f (x) = x2 x2 = 0. Sus raices exactas son x1 = 1 y x2 = 2. Nos concentraremos nicamente en el clculo de la raiz = 2. a) Con g(x) = x2 2 y x0 = 2,1, obtenemos x1 = 2,41, x2 = 3,8081, x3 = 12,50162561, y xn si n . b) Con g(x) = x + 2 y x0 = 2,1, obtenemos x1 = 2,024846, x2 = 2,006202, x3 = 2,001550, x4 = 2,000387,. . ., x10 = 2,0000004, y xn 2 si n .
2 c) Con g(x) = 1 + x y x0 = 2,1 , obtenemos x1 = 1,952381, x2 = 2,024390, x3 = 1,987952, x4 = 2,006061, . . . , x18 = 2,0000004, y xn 2 si n .

Anlisis Numrico
2

103

x +2 d) Con g(x) = 2x1 y x0 = 2,1 , obtenemos x1 = 2,003125, x2 = 2,00003, x3 = 2,000000000004, y xn 2 si n .

En el primer caso, la funcin de iteracin g(x) = x2 2 no genera una sucesin {xn } convergente al punto jo = 2. Por el contrario, esta sucesin diverge a innito. En los otros tres casos se produce una sucesin convergente al punto jo = 2. Observese que estas sucesiones convergen al punto jo con mayor o menor rapidez". Por ejemplo, la funcin de iteracin x2 + 2 g(x) = 2x 1 aparentemente genera una sucesin que converge extremadamente rpido al punto jo, mientras que las otras dos funciones de iteracin generan sucesiones con una convergencia ms lenta al punto jo. Hasta el momento no hemos estudiado bajo que condiciones para la funcin de iteracin g se obtiene una sucesin que converja efectivamente al punto jo . La respuesta a este problema viene dada por el teorema de punto jo de Banach, tambin llamado principio de mapeos contractantes, el cual estudiaremos en la siguiente seccin. Una vez hecho este estudio podremos estudiar otros temas, como la rapidez de convergencia del mtodo iterativo, y el diseo de algoritmos rpidos.

5.2.

Teorema de punto jo de Banach

Este teorema es muy importante y sirve como fuente para probar existencia y unicidad en diferentes ramas del Anlisis y sus aplicaciones como: ecuaciones algebraicas, ecuaciones diferenciales ordinarias, ecuaciones diferenciales parciales, y ecuaciones integrales, entre otras. Este teorema da condiciones sucientes para la existencia y unicidad de un punto jo para una clase de aplicaciones o funciones llamadas contracciones. Denicin 5.2. Una aplicacin T : X X con X Rn se denomina contraccin sobre X si existe un nmero real K, con 0 < K < 1, tal que para todo x, y X Tx Ty K x y en alguna norma vectorial .

Geomtricamente esto signica que dos puntos cualesquiera x, y X tienen imagenes ms cercanas que ellos mismos. De ah el nombre de contraccin para la aplicacin T . Ejemplo 5.3. La funcin g : [1, 3] [1, 3] denida por g(x) = x + 2 es una contraccin en X = [1, 3].

104 Primero vericamos que g(x) [1, 3] si x [1, 3]:

L. Hctor Jurez V.

x [1, 3] 1 x 3 3 x + 2 5 3 x + 2 5 . Por lo tanto, g(x) = x + 2 [1, 3]. Por otro lado, por el teorema del valor medio |g(x) g(y)| = |g ()| |(x y)| con entre x y y , y debido a que 1 g (x) = 2 x+2 Por lo tanto 1 mx |g (x)| = g (1) = . a x[1, 3] 2 3

1 |g(x) g(y)| |x y| . 2 3 1 Se concluye que g es una contraccin con K = < 1. 2 3 Teorema 5.4. Teorema de punto jo de Banach. Si X es un conjunto cerrado conexo de Rn y T es una contraccin sobre X, entonces T tiene un nico punto jo en X, y dado cualquier punto de comienzo x0 X, la sucesin generada por iteracin de punto jo xn+1 = T xn , converger al punto jo de T . Demostracin. Sea x0 X, y sea {xn } la sucesin generada por iteracin. Para cada m N, xm+1 xm = T xm T xm1 , y como T es una contraccin entonces xm+1 xm = T xm T xm1 K xm xm1 , con 0 < K < 1. Procediendo recursivamente, obtenemos xm+1 xm K m x1 x0 Utilizando este resultado para toda n > m se obtiene xn xm = xn xn1 + xn1 xn2 + xn2 + . . . + xm+1 xm xn xn1 + xn1 xn2 + . . . + xm+1 xm m N . n = 0, 1, 2, . . .

(K n1 + K n2 + . . . + K m ) x1 x0 K m (1 + K + K 2 + . . . + K nm1 ) x1 x0 1 K nm Km x1 x0 , 1K

Anlisis Numrico y como 0 < K nm < 1, entonces xn xm K m Por lo tanto l m 1 x1 x0 . 1K

105

1 x1 x0 = 0 , m,n m 1K lo cual implica que la sucesin {xn } generada por iteracin es una sucesin de Cauchy. Como T esta denida sobre el conjunto cerrado X la sucesin de Cauchy {xn } tiene un lmite X: = l xn m xn xm l K m m
n

Este lmite X es un punto jo de T pues T = xn + xn T xn + xn T = xn + T xn1 T implica que T xn + K xn1 0, cuando n 0 . Por lo tanto, = T . Adems este es el nico punto jo de T en X, pues si hubiese otro, digamos , entonces = T T K < , lo cual no es posible. Por tanto, es el nico punto jo de T en X. En suma, para que una aplicacin sea una buena funcin de iteracin y produzca una sucesin convergente al punto jo basta con que ella sea una contraccin en un conjunto cerrado X que contenga al punto jo. En ocasiones es difcil probar en forma directa que una funcin de iteracin es una contraccin. Pero si g es una funcin suave (tiene derivada continua en X), y si adems g (x) K, x X con 0 < K < 1 , entonces g es una contraccin en X con K = max g (x) < 1. En efecto, para x, y, X, por el teorema del valor medio, se tiene g(x) g(y) g () As que g(x) g(y) K x y con K = max g (x) < 1 .
xX xX

x y con entre los puntos x, y .

106

L. Hctor Jurez V.

5.3.

Cota del error en la iteracin de punto jo


xn xm Km x1 x0 , 1K

La desigualdad

obtenida anteriormente es vlida para toda n > m. Luego, cuando n , xn , y por tanto Km xm x1 x0 m N. 1K Esta desigualdad, aparte de que proporciona una cota para el error en la msima iteracin, sirve para estimar el nmero de iteraciones necesarias par alcanzar una precisin determinada en el clculo del punto jo : n log xn (1 K) / log K x1 x0

Ejemplo 5.5. Encontrar la raz de f (x) = x2 x 2 = 0 que se encuentra en el intervalo [1, 3]. Solucin. Anteriormente se propusieron algunas funciones de iteracin. La 1a funcin g(x) = x2 2 es tal que su derivada es g (x) = 2x, y en el intervalo [1, 3] esta es mayor que 1, de hecho 2 g (x) 3. Luego g(x) = x2 2 no dene una contraccin en [1, 3], y esto explica porqu la sucesin generada por iteracin de punto jo diverge, a pesar de que escoge como punto inicial x0 = 2,1 muy cercano al punto jo = 2. La Figura 5.1 ilustra esta situacin.
3

y
2.5

y = x2 2

1.5

y=x
0.5

0 0

0.5

1.5

2.5

Figura 5.1: La funcin de iteracin g(x) = x2 2 es tal |g (x)| > 1 en [1, 3], y produce una sucesin divergente.

Anlisis Numrico

107

La 2a funcion de iteracin g(x) = x + 2 produjo una sucesin convergente al punto jo = 2. En la Seccin 3.2 se demostr que esta funcin es una contraccin en [1, 3], as que cualquier punto de comienzo x0 en este intervalo producir, bajo las iteraciones, una sucesin que converge al punto jo = 2. Si comenzamos con x0 = 1, cul es el nmero de iteraciones para alcanzar un error menor a 104 ? Como |xn | = 104 , |x0 x1 | = |1 Entonces log n
1 104 (1 ) 2 3 31

1 3| = 3 1, K = . 2 3

2 log( 33 )

7,436

As que podemos tomar n = 8. La Tabla 5.1 muestra las iteraciones con precisin a 6 cifras decimales, junto con el error y la estimacin del error. Observese que el error real siempre es n 0 1 2 3 4 5 6 7 8 xn 1 1.732051 1.931852 1.982890 1.995718 1.998930 1.999732 1.999933 1.999983 en = |xn | 1 0.267949 0.068148 0.017110 0.004282 0.001070 0.000268 0.000067 0.000017
Kn 1K |x1

x0 |

1.029137 0.297086 0.085761 0.024757 0.007147 0.002063 0.000715 0.000172 0.000050

Cuadro 5.1: Iteraciones de g(x) = menor que la cota

x + 2, el error y la estimacin del error.

Kn |x1 x0 |, como debe de suceder. Adems, en la prctica, el nmero 1K de iteraciones para alcanzar un error menor que 104 es 7. La Figura 5.2 ilustra este ejemplo 2 Finalmente, la 3a funcin de iteracin g(x) = 1 + tambin produce una sucesin x convergente cuando x0 = 2,1. Para saber que rango de valores puede tomar x0 y obtener una sucesin que converja a = 2 con esta funcin de iteracin hacemos |g (x)| = 2 1 x2 2 x 2 x 2 . 2 x

108

L. Hctor Jurez V.

y
2.5
_

2
_

y = x+2

1.5

y=x
0.5

0 0

0.5

1.5

2.5

Figura 5.2: La funcin de iteracin g(x) = gente.

x + 2 produce una sucesin montona conver-

Entonces para obtener una sucesin convergente = 2 basta tomar x0 2. Es decir, la funcin de iteracin es una buena eleccin si nos restringimos al intervalo [ 2, 3]. En este intervalo podemos tomar x0 = 1,5, y obtenemos x0 = 1,5, x1 = 2,333333, x2 = 1,85714, x3 = 2,07692, x4 = 1,96296,. . . Observese el caracter alternante de la sucesin alrededor de 2 = 2. Esto debido a que g (x) = 2 < 0 y, en particular, g () = g (2) = 0,5. La Figura x 5.3 ilustra esta situacin.
3

y
2.5

y = 1 + 2/x

1.5

y=x
0.5

0 0

0.5

1.5

2.5

Figura 5.3: La funcin de iteracin g(x) = 1 + 2/x produce una sucesin alternante convergente.

En general, si g es la funcin de iteracin y sta es una contraccin en X, con X, se

Anlisis Numrico

109

satisfacen las siguientes propiedades para la sucesin generada por iteracin de punto jo: 1. Cuando g (x) > 0 para toda x X. La sucesin xn es creciente si x0 < . La sucesin xn es decreciente si x0 > . 2. Cuando g (x) < 0 para toda x X. La sucesin es alternante alrededor de en la forma x0 < x2 < x4 < . . . < < . . . < x5 < x3 < x1 , o bien en la forma x1 < x3 < x5 < . . . < < . . . < x4 < x2 < x0 .

5.4.

Orden de convergencia

Teorema 5.6. Sea f (x) = 0 una ecuacin no lineal y x = g(x) su correspondiente ecuacin de punto jo. Bajo las siguientes condiciones: 1. g es una contraccin sobre X. 2. g C 1 (X) (g y g son continuas en X). 3. g es estrictamente montona sobre X (g (x) = 0 , x X). se tiene que Si x0 = , entonces xn = , n N , es decir, el proceso iterativo no puede terminar en un nmero nito de pasos. Demostracin. Una demostracin de este hecho se obtiene suponiendo lo contrario, es decir que g(xn ) = xn para algn n. Si n es el primer ndice para el cual esto ocurre, entonces xn = g(xn1 ) y xn = g(xn ) con xn1 = xn . Luego, por el teorema del valor medio 0 = g(xn ) g(xn1 ) = g (n)(xn xn1 ) con entre xn1 y xn , y debe tenerse g () = 0 con X, lo cual contradice la hiptesis de que g (x) = 0 x I. Comportamiento asinttico del error Una vez hecho lo anterior, ahora podemos analizar como se comporta el error en el mtodo iterativo de punto jo la ir aumentando n: en+1 = xn+1 = g(xn ) g() = g (n )(xn ) = g (n )en .

110 Es decir en+1 = g (n )en con n entre xn y .

L. Hctor Jurez V.

Como n est entre xn y para cada n, y es el lmite de xn , necesariamente se tiene que


n

l n = . m

Adems
n

l g (n ) = g (), m

por ser g (x) continua. As que en+1 = g (n )en = (g () + donde n 0 cuando n . Luego
n n )en

l m

en+1 = g () + l n = g () . m n en

De aqu que, para valores sucientemente grandes de n (asintticamente) se tendr que en+1 g ()en . Esta ltima relacin establece que el error en la iteracin n + 1 depende (ms o menos) linealmente del error en la iteracin n. Por tanto, podemos decir que la sucesin {xn } converge linealmente a , y que el mtodo de punto jo es un mtodo con orden de convergencia lineal o de orden uno. En general, como desconocemos g () no es posible estimar en+1 en tminos de en . Lo nico que sabemos es que en+1 es igual a una constante (menor que 1) multiplicada por en , y en consecuencia en+1 < en . Con el objeto de ilustrar este tipo de convergencia, consideremos la funcin de iteracin g(x) = x + 2 en el Ejemplo 3.5. Para esta funcin g () = g (2) = 0,25, as que asintticamente tenemos que en+1 g ()en = 0,25en . Es decir, asintticamente, el error en la siguiente iteracin es un cuarto del error anterior. La Tabla 5.2 muestra que efectivamante as es. Denicin del orden de convergencia Sea {xn } una sucesin que converge a un nmero , y sea en = xn . Si existe un nmero p > 0, y una constante = 0 tal que |en+1 | = n |en |p l m

Anlisis Numrico error exacto e5 e6 e7 e8 = 0,001070 = 0,000268 = 0,000067 = 0,000017 0.25 en 0,00026750 0,00006700 0,00001675

111

Cuadro 5.2: Error real y error asinttico de la sucesin de punto jo con funcin de iteracin g(x) = x + 2. entonces p se denomina el orden de convergencia de la sucesin y se denomina la constante asinttica del error. Entre mayor sea p, mayor ser el orden de convergencia y la sucesin converger ms rpido al lmite : Si p = 1, la convergencia se denomina lineal, y asintticamente |en+1 | |en | . Si p = 2, la convergencia se denomina cuadrtica, y asintticamente |en+1 | |en |2 . Por otro lado, si 0 < < 1 decrece, la sucesin tambin tendra una mejor convergencia, pero no tan dramtica como aquella cuando p aumenta. Ejemplo 5.7. Ya hemos mostrado que la sucesin generada por la funcin de iteracin g(x) = x + 2 converge linealmente al punto jo = 2. Por otro lado, la funcin de iteracin x2 + 2 g(x) = produce una sucesin {xn } que aparentemente tiene un orden de convergencia 2x 1 mayor a uno. En realidad, esta sucesin converge cuadrticamente al punto jo = 2. Una forma de vericar esto es la siguiente: La convergencia cuadrtica implica que existe > 0 tal que |en+1 | |en |2 para n grande . Para vericar esto basta con ver que los cocientes |en+1 |/|en |2 producen un valor aproximadamente constante 0,3.

5.5.

La convergencia cuadrtica

En la discusin de convergencia lineal supusimos g (x) = 0 , x X, y en particular g () = 0. Ahora queremos investigar el comportamiento asinttico del error si g () = 0.

112

L. Hctor Jurez V.

Suponiendo ahora que la contraccin g satisface g C 2 (X), y que g (x) = 0 x X, se puede demostrar que 1. si x0 = , entonces xn = , n N. 2. El orden de la convergencia de la sucesin generada por iteracin de punto jo es 2. Demostracin. Primero demostraremos que en = xn = 0 , n N. Supongase lo contrario, y sea n el primer entero para el cual xn = . Entonces xn = g(xn1 ) = g(xn ) con xn1 = xn . Por el teorema de Taylor 0 = g(xn ) g(xn1 ) = g (xn )(xn xn1 ) + g (cn ) (xn xn1 )2 . 2!

con cn entre xn1 y xn . Como g (xn ) = g () = 0 y xn1 = xn se debe cumplir g (cn ) = 0, lo cual contradice la hiptesis g (x) = 0 x X. Ahora vericamos que bajo las suposiciones anteriores se obtiene convergencia cuadrtica: 1 en+1 = xn+1 = g(xn ) g() = g ()(xn ) + g (n )(xn )2 2 con n entre xn y . Dado que g () = 0, se obtiene 1 en+1 = g (n )e2 , n 2 Como n cuando n y g C 2 (X), entonces
n

l m

|en+1 | 1 = |g ()| |en |2 2

lo cual implica que la sucesin {xn } converge cuadrticamente al punto jo . Por lo tanto, para valores grandes de n se tiene 1 |en+1 | |g ()| |en |2 , 2 lo cual muestra que el error en la iteracin n + 1 es proporcional al cuadrado del error en la 1 iteracin n, con constante de proporcionalidad igual a = 2 |g ()| (la constante del error asinttico). Una mejor forma para ver el comportamiento de esquemas de segundo orden es tomar dn = nmero de decimales correctos en la iteracin n, es decir |en | = |xn | = 10dn , con dn > 0 .

Anlisis Numrico Entonces 10dn = |xn | |xn1 |2 = 102dn1 . Luego dn log10 2dn1 . Por lo tanto dn 2dn1 log10 .

113

Entonces si < 1, se tiene log10 > 0, y el nmero de decimales correctos en la iteracin n es mayor que el doble de decimales correctos en la iteracin n 1. Si > 1, se sigue cumpliendo que dn 2dn1 para n sufcientemente grande pues en este caso dn log . Ejemplo 5.8. Consideremos de nuevo el problema de calcular la raz = 2 de la funcin f (x) = x2 x 2. Vericar que la funcin de iteracin g(x) = x2 + 2 2x 1

produce una sucesin que converge cuadrticamente a = 2, tomando el valor de comienzo x0 = 2,1. Solucin. El nmero de decimales correctos en la primera iteracin es d1 = 2 debido a que x1 = 2,003125, por lo que el nmero de decimales en la segunda iteracin ser d2 2d1 log10 = 4 log10 0,3 = 4,52 Como x2 = 2,00003, el nmero de decimales correctos en realidad es 4. La frmula predice que el nmero de decimales correctos en la tercera iteracin ser d3 2d2 log10 = 8 + 0,52 = 8,52 Pero en realidad se obtiene 11 decimales correctos, pues x3 = 2,000000000004 Convergencia de orden mayor a dos Generalizando, podemos describir fcilmente los esquemos que convergen ms rpidamente que los de segundo orden: supngase que g C k con k > 2, y que en el punto jo g () = g () = . . . = g (k1) () = 0 ,

114

L. Hctor Jurez V.

y que g (k) (x) = 0 , x X. Haciendo una expansin en series de Taylor obtenemos: en+1 = xn+1 = g(xn ) g() = g (k) (cn ) k g (k) (cn ) (xn )k = en . k! k!

por ser g () = g () = . . . = g (k1) () = 0. Por lo tanto l m |en+1 | = , |en |k

lo cual implica un orden de convergencia k, con constante asinttica del error = |g (k) ()/k!|.

5.6.

El mtodo de Newton

Puede tenerse la impresin que la discusin de convergencia cuadrica en la seccin anterior no tiene mucho valor prtico, ya que en una ecuacin de la forma x = g(x) esperariamos que la condicin g () = 0 se satisfaga solo accidentalmente. Sin embargo, mostraremos que, al menos para funciones diferenciales g, el procedimiento bsico del mtodo de iteracin de punto jo puede reformularse de tal manera que llegue a ser cuadrticamente convergente. El problema general es calcular las raices de f (x) = 0 en algn intervalo, digamos a x b, que llamamos X. Sea (x) una funcin en C (1) (X) que no tenga raices en X, es decir 0 < |(x)| < , x X . Entonces, la ecuacin x = g(x) x (x)f (x) , tiene exactamente las mismas raices que f (x) en [a, b]. Muchos de los mtodos iterativos usuales pueden obtenerse con elecciones especiales de (x). Por ejemplo, para que el mtodo de iteracin de punto jo tenga convergencia cuadrtica, una de las condiciones es que g () = 0. Como g (x) = 1 (x)f (x) (x)f (x) , entonces para que g () = 1 ()f () ()f () = 0 se debe tener () = 1/f (). Por lo tanto, es suciente con escoger (x) = 1/f (x), y con esta eleccin se obtiene la funcin de iteracin g(x) = x f (x) . f (x)

Anlisis Numrico

115

Suponiendo f (x) = 0, x X, el algoritmo que resulta es conocido como el Mtodo de Newton (tambin conocido como mtodo de Newton-Raphson): Escoger x0 cercano a , y determinar la sucesin {xn } por medio de la relacin de recurrencia f (xn ) xn+1 = xn , n = 0, 1, 2, . . . f (xn ) La convergencia de este mtodo inmediatamente se sigue del teorema de convergencia cuadrtica, dado que se escogi g(x) = xf (x)/f (x) para satisfacer g () = 0. Sin embargo, como veremos ms adelante, en general debemos tener x0 sucientemente cercano al punto jo para asegurar el xito del algoritmo. Ejemplo 5.9. Encontrar al raiz de f (x) = x2 x 2 en el intervalo [1, 3] utilizando el mtodo de Newton. Solucin. El mtodo de Newton para la ecuacin correspondiente es: Dado x0 , generar {xn } por medio de xn+1 = xn f (xn ) f (xn ) x2 xn 2 = xn n 2xn 1 2 +2 xn = 2xn 1

La funcin de iteracin g(x) = x f (x)/f (x) = (x2 + 2)/(2x 1) es la misma que en los dos ejemplos anteriores. Esta funcin satisface f ()f () 2( 2 2) = = 0 , pues f () = 0, [f ()]2 (2 1)2 18 2 g () = = , pues = 2, 3 (2 1) 3 1 1 1 = | g ()| = = en+1 e2 = e2 para n grande. n 2 3 3 n g () = Por lo tanto, si comenzamos las iteraciones con x0 = 1.5 obtenemos n 0 1 2 3 4 xn 1.5 2.125 2.00480769230769 2.00000768001966 2.00000000001966 en 0.5 0.125 0.0048077 0.00000768 1,97 1011 e2 n 0.083333 0.0052083 0.0000077 1,966 1011

116

L. Hctor Jurez V.

Observese como el valor asinttico e2 se aproxima a en+1 cuando n aumenta. Adems, dado n que el nmero de decimales correctos en la segunda iteracin es 2, en la tercera iteracin ser 1 d3 2d2 log10 4,477 = 3 Como en la tercera iteracin d3 = 5, en la cuarta ser aproximadamente d4 2d3 + 0,477 = 10,477 y el valor real es d4 = 11.

5.6.1.

Interpretacin geomtrica del mtodo de Newton

El mtodo de Newton tiene una interpretacin geomtrica muy sencilla. Dada la ecuacin f (x) = 0 en una variable, suponiendo conocido la aproximacin xn a la raz , xn+1 se calcula como f (xn ) , xn+1 = xn f (xn ) es decir f (xn ) + (xn+1 xn )f (xn ) = 0 . Si reemplazamos xn+1 por la variable x, obtenemos la funcin y = f (xn ) + f (xn )(x xn ), la cual tiene como grca a la recta tangente a f (x) en el punto (xn , f (xn )). As que xn+1 es la interseccin de esta recta con el eje x, como se ilustra en la gura siguiente.
y y = f(x) y = f(xn) + f(xn)(xxn)

xn+1 xn

Figura 5.4: Interpretacin geomtrica del mtodo de Newton

El mtodo de Newton es uno de los mtodos ms usados para calcular numericamente raices de ecuaciones no lineales, pues si se escoge adecuadamente la aproximacin inicial

Anlisis Numrico

117

x0 , la sucesin obtenida por iteracin converge razonablemente rpido a la solucin. Sin embargo, este es un mtodo denominado local, pues si x0 no es lo sucientemente cercano a y la funcin f (x) no tiene buenas propiedades, se pueden presentar algunos problemas. El siguiente ejemplo muestra algunas de las situaciones indeseables en el mtodo de Newton. Ejemplo 5.10. Considere el problema f (x) = sin(x) = 0 en el intervalo X = [/2, /2]. El mtodo de Newton es: dado x0 [/2, /2], generar {xn } por medio de xn+1 = xn sin(xn ) f (xn ) = xn = xn tan(xn ) . f (xn ) cos(xn )

Si escogemos x0 = /2, entonces x1 = . De hecho, si escogemos x0 cerca de /2 /2, la linea tangente intersecta al eje x fuera del intervalo y muy lejos del mismo. Por ejemplo, tomando x0 = 1,4 se obtiene x1 = 4,3979. Esta situacin se ilustra en la Figura 5.5.
y (/2,1)

x1

=0 y = senx

(/2,1)

Figura 5.5: Situacin indeseable en el mtodo de Newton: x1 cae muy lejos de Otro aspecto indeseable es que si escogemos x0 = x tal que tan(x ) = 2x entonces x1 = x0 tan(x0 ) = x0 2x0 = x0 x2 = x1 tan(x1 ) = x0 tan(x0 ) = x0 y entramos dentro de un ciclo obteniendo x0 , x0 , x0 , x0 , . . . como se ilustra en la Figura 5.6. La primera situacin indeseable se suprime si exigimos que aa f (a) b, f (a) y ab f (b) b f (b) (x 1,1655 . . .) ,

118
y (/2,1)

L. Hctor Jurez V.

y = senx x =0 x0 x

(/2,1)

Figura 5.6: Situacin indeseable en el mtodo de Newton: ciclo innito

es decir si 0

f (a) b a, f (a)

y ab

f (b) 0, f (b)

o equivalentemente si exigimos que f (a) b a, f (a) y f (b) b a. f (b)

La segunda situacin indeseable se suprime si exigimos que la funcin f (x) no cambie de concavidad en el intervalo, es decir si exigimos f (x) 0 f (x) 0 , x X . Estas observaciones se incorporan para establecer condiciones sucientes para asegurar la convergencia del mtodo de Newton.

5.6.2.

Teorema de convergencia no-local para el modo de Newton

El siguiente teorema resume las observaciones anteriores especicando condiciones sucientes para que el mtodo de Newton converja a la raz independientemente de como se escoja x0 dentro del intervalo [a, b] = X. Teorema 5.11. Sea f C 2 (X), y supngase que f satisface las siguientes condiciones 1. f (a)f (b) < 0, 2. f (x) = 0 , x X,

Anlisis Numrico 3. f (x) 0 f (x) 0, x X 4. f (a) ba f (a) y f (b) b a, f (b)

119

entonces el mtodo de Newton converger la nica solucin de f (x) = 0, para cualquier elemento x0 X = [a, b] La literatura sobre el mtodo de Newton es muy extensa. En particular, la convergencia puede demostrarse bajo varios conjuntos de condiciones diferentes a las del teorema anterior. Sin embargo, en este curso no consdieraremos otro tipo de condiciones.

Ejemplo 5.12. El problema que hemos venido considerando, f (x) = x2 x 2 = 0, cumple las condiciones del ejemplo anterior en el intervalo [1, 3]: 1. f (1)f (3) = 8 < 0; 2. f (x) = 2x 1 > 0 en [1, 3]; 3. f (x) = 2 > 0 , x [1, 3]; 4. 2 f (1) = 3 1, f (1) 1 f (3) 4 = 31 f (3) 5

5.6.3.

Algunas modicaciones del mtodo de Newton

El mtodo de Newton requiere de la evaluacin de f y f en cada iteracin. Mientras que en muchos problemas el clculo de f es trivial, en muchos otro puede llegar a representar un verdadero problema. Por otro lado, desde el punto de vista computacional, la precisin f alcanzada con el mtodo de Newton depende de la precisin con cual f (x) puede evaluarse. (x) Puede suceder que f (x) sea muy pequeo aunque no sea cero, y cualquier error al calcular f (x) ser aumentado al dividir por esta cantidad. Por estas razones, en ocasiones es conveniente considerar otros mtodos que no requieran evaluaciones de f (x) y que retengan algunas de las propiedades de convergencia del mtodo de Newton. Mtodo de la cuerda (Whittaker) Una forma fcil de evitar el clculo de f (xn ) es reemplazar este valor por un valor constante m, obteniendo el mtodo xn+1 = xn f (xn ) . m

120

L. Hctor Jurez V.

Suponiendo que xn es cercano a la raiz , entre ms cercana sea la constante m a f () mejor ser el mtodo. Ejemplo 5.13. Para calcular la raz = 2 de f (x) = x2 x 2 = 0 en el intervalo [1, 3] podemos escoger f (1) + f (3) 1+5 m= = = 3. 2 2 Si tomamos x0 = 1, la regla xn+1 = xn f (xn )/m produce en doble precisin x1 = 1.6666666666667, x2 = 1.96296296296296, x3 = 1.99954275262917, x4 = 1.99999993030828, x5 = 2, y observamos que en este caso la sucesin converge cuadrticamente. En realidad, en este ejemplo se obtiene convergencia cuadrtica porqu casualmente m = 3 es igual a f (2). Sin embargo, en general el mtodo tiene convergencia lineal, y como ya mencionamos arriba la convergencia solo ser cercana a la cuadrtica cuando m = f (). Si la estimacin de m es buena, la convergencia puede ser muy rpida. Especialmente en los estados nales del mtodo de Newton no es necesario recalcular f (x) en cada paso, y una buena estrategia es cambiar al mtodo de la cuerda. Mtodo de la secante En este caso el valor de la derivada f (xn ) en el mtodo de Newton se reemplaza por el cociente de diferencias: f (xn ) f (xn1 ) , xn xn1 obteniendo la frmula de recurrencia: xn1 f (xn ) xn f (xn1 ) . xn+1 = f (xn ) f (xn1 ) En el mtodo de la secante debemos encontrar dos iteraciones sucesivas x0 , x1 antes de empezar a usar la frmula de recurrencia. Sin embargo, solo es necesario evaluar la funcin una vez en cada paso, ya que el valor anterior f (xn1 ) puede retenerse. Esto representa una ventaja sobre el mtodo de Newton donde forzosamente necesitamos dos evaluaciones, una para f (xn ) y otra para f (xn ). El orden de convergencia de la sucesin generada por el mtodo de la secante no puede deducirse por un anlisis semejante al de punto jo, pues este mtodo no puede expresarse en la forma de punto jo xn+1 = g(xn ). Una investigacin detallada del mtodo muestra que su orden de convergencia es fraccionario y se encuentra entre 1 y 2. Asintticamente (Conte-deBoor) f () 1/p 1+ 5 p |en | con p = |en+1 | 1,618 2f () 2

Anlisis Numrico A una convergencia de este tipo se le denomina superlineal

121

El mtodo de la secante tiene una interpretacin geomtrica anloga a la del mtodo de Newton. El valor xn+1 representa la interseccin con el eje x de la recta que pasa por los puntos (xn1 , f (xn1 )) y (xn , f (xn )), de ah el nombre de mtodo de la secante. Esto se ilustra en la Figura 5.7.

y = f(xn) + mn (xxn)

xn+1

n+1

y = f(x)

Figura 5.7: Ilustracin geomtrica del mtodo de la secante

Ejemplo 5.14. Utilizar el mtodo de la secante para encontrar la solucin de f (x) = x2 x 2 = 0, x [1, 3] en el intervalo [1, 3]. Solucin. Escogiendo x0 = 1, x1 = 3, al aplicar el mtodo de la secante, se obtienen los valores mostrados en la Tabla 5.3 cuando se utiliza aritmtica de punto otante de doble precisin en el ambiente MATLAB. Analizando estos resultados se observa la denominada convergencia superlineal.

5.7.

Mtodo de punto jo para sistemas de ecuaciones

Consideraremos brevemente el caso de sistemas no lineales de ecuaciones de la forma f (x) = 0, donde f : Rn Rn , f = (f1 , . . . , fn ). Es decir, f es una funcin vectorial con las funciones componentes f1 , f2 , . . . , fn , cada una de las cuales es una funcin escalar en las variables

122 f () 2f ()
1/p

L. Hctor Jurez V. |en |p (error asinttico)

n 0 1 2 3 4 5 6 7 8

xn 1 3 1.66666666666667 1.90909090909091 2.01176470588235 1.99963383376053 1.99999856948921 2.00000000017462 2.00000000000000

en 1 1 0.33333333333333 0.09090909090909 0.01176470588235 3.661662397104 1.43051079106 1.74621010 0

0.08572834524805 0.01047403661108 3.830517471104 1.39648907106 1.77221010 0

Cuadro 5.3: Resultados obtenidos por el mtodo de la secante. x1 , x2 , . . . , xn : fi (x) = fi (x1 , x2 , . . . , xn ), i = 1, , n. Primero expresamos el anterior sistema de ecuaciones en la forma de un sistema de ecuaciones de punto jo x = g(x) , o bien, escribiendo componente a componente xi = gi (x1 , x2 , . . . , xn ) , i = 1, 2, . . . , n .

Esperamos que la funcin de iteracin g : Rn Rn tenga un punto jo en un subconjunto X Rn . El algoritmo de iteracin de punto jo es: Dado x0 X, generamos la sucesin {xk } por medio de k=1 xk+1 = g(xk ) , k = 0, 1, 2, . . . Est claro que para cada k, xk es el vector con componentes xk , xk , , xk . n 1 2 El anlisis de los mtodos de iteracin de punto jo para sistemas es el mismo que aquel para ecuaciones de una variable. La nica diferencia es que para los temas de convergencia y error utilizamos una norma vectorial en lugar del valor absoluto. Por ejemplo, para que la funcin de iteracin sea una contraccin basta con que en alguna norma matricial , Jg(x) K < 1 , x X ,

donde 0 < K < 1 es alguna constante, y Jg(x) la matriz Jacobiana de g en x X: Jg(x) = gi (x) xj
1 i, j n

Anlisis Numrico

123

La anterior es una condicin suciente y se puede jusicar utilizando del teorema del valor medio para derivadas: g(x) g(y) = Jg() (x y) , con 0 < < 1. En consecuencia g(x) g(y) Jg() (x y) K (x y) x, y X , y = x + (y x) ,

Por supuesto, la norma de la matriz Jacobiana es la norma matricial inducida por la norma

X
1 0 1 0 1 0 1 0

1 0 1 0

Figura 5.8: se encuentra entre x y y.

vectorial aplicada a la diferencia x y y tambin a g(x) g(y).

Ejemplo 5.15. Encontrar una solucin del sistema tres ecuaciones no lineales con tres incgnitas 1 2 2 2 x1 81(x2 + 0.1) + sen x3 + 1.06 = 0 10 3 ex1 x2 + 20x3 + = 0 3 3x1 cos(x2 x3 ) = en el conjunto X = [1, 1]3 . Solucion. La funcin vectorial f (x), x = (x1 , x2 , x3 )T , que dene el sistema de ecuaciones tiene las funciones componentes 1 2 f2 (x1 , x2 , x3 ) = x2 81(x2 + 0.1)2 + sen x3 + 1.06 1 10 3 f3 (x1 , x2 , x3 ) = ex1 x2 + 20x3 + 3 f1 (x1 , x2 , x3 ) = 3x1 cos(x2 x3 )

124

L. Hctor Jurez V.

Un posible sistema de punto jo se obtiene despejando x1 de la primera ecuacin, x2 de la segunda y x3 de la tercera: 1 1 + cos(x2 x3 ) = g1 (x1 , x2 , x3 ) 6 3 1 x2 = x2 + sen x3 + 1,06 0,1 = g2 (x1 , x2 , x3 ) 1 9 1 10 3 x3 = ex1 x2 = g3 (x1 , x2 , x3 ) 20 60 x1 = La matriz Jacobiana de la funcin de iteracin g1 x1 g 2 Jg(x) = x1 g3 x1 en este caso es Jg(x) = 9 x2 + sen x3 + 1,06 1 x2 x1 x2 e 20 0 x1 x3 sen(x2 x3 ) 3 0 x1 x1 x2 e 20 18 x2 + sen x3 + 1,06 1 0
3

g1 x2 g2 x2 g3 x2

g1 x3 g2 x3 g3 x3

x2 sen(x2 x3 ) 3 cos x

Si tomamos X = [1, 1]3 , es decir 1 x1 , x2 , x3 1, entonces la ecuacin de punto jo satisface g(X) X, pues 1 1 1 1 + cos(1) x1 + cos(0) 6 3 6 3 0 + sen(1) + 1,06 1 + sen(1) + 1,06 0,1 x2 0,1 9 9 e 10 3 e1 10 3 x3 20 60 20 60 es decir 0,346 g1 (x1 , x2 , x3 ) 0,5 0,048 g2 (x1 , x2 , x3 ) 0,089 0,610 g3 (x1 , x2 , x3 ) 0,492 . Por lo tanto, la funcin de iteracin tiene su imagen dentro de X = [1, 1]3 . Adems, si consideramos la norma innito, se obtiene Jg(x) es el mximo de las cantidades | sen(x2 x3 )| |x1 | + | cos x3 |/2 ex1 x2 (|x2 | + |x3 |), , (|x1 | + |x2 |) 3 20 9 x2 + sen x3 + 1,06 1

Anlisis Numrico con 1 x1 , x2 , x3 1. Es decir Jg(x)

125

mx a

2 sen(1) 3/2 2e , , 3 9 0,06 20

0,6804 ,

de tal forma que g es una contraccin en X = [1, 1]3 con K 0,6804. Si tomamos como punto de comienzo x0 = (0,2, 0,1, 0,1)T , se obtienen los valores mostrados en la Tabla 5.4 k 0 1 2 3 4 5 6 7 8 9 10 x1 0.2 0.49998333347222 0.49999437090050 0.49999999987705 0.49999999999043 0.5 0.5 0.5 0.5 0.5 0.5 x2 0.1 0.01112036535646 0.00005190019018 0.00001447284345 0.00000006935321 0.00000001934170 0.00000000009269 0.00000000002585 0.00000000000012 0.00000000000003 0.0 x3 -0.1 -0.52260870926364 -0.52332154714020 -0.52359747812499 -0.52359841377852 -0.52359877386447 -0.52359877511476 -0.52359877559598 -0.52359877559765 -0.52359877559830 -0.52359877559830

Cuadro 5.4: Resultados de la iteracin de punto jo. 1 La solucin exacta el sistema es x1 = , x2 = 0, x3 = . 2 6

5.7.1.

Aceleracin de tipo Seidel en las iteraciones

Para sistemas de ecuaciones puede acelerarse la convergencia del mtodo de punto jo utilizando las ltimas estimaciones xk+1 , xk+1 , . . . , xk+1 en lugar de xk , xk , . . . , xk para 1 2 i1 1 2 i1 calcular xk+1 , para 2 i n, como se hace en el mtodo de Gauss-Seidel para sistemas i lineales. En el ejemplo anterior, las nueva realcin de recursin al realizar aceleracin del tipo Seidel es: 1 1 xk+1 = + cos(xk xk ) 2 3 1 6 3 1 xk+1 = (xk+1 )2 + sen xk + 1,06 0,1 2 1 3 9 k+1 k+1 1 10 3 xk+1 = ex1 x2 3 20 60 Tomando el mismo punto de comienzo x0 = (0,2, 0,1, 0,1)T , se obtienen los valores mostrados en la Tabla 5.5. Claramente se observa la aceleracin de la convergencia.

126 k 0 1 2 3 4 5 6 x1 0.2 0.49998333347222 0.49997746826183 0.49999999996378 0.5 0.5 0.5 x2 0.1 0.02222979355858 0.00002815366194 0.00000003762202 0.00000000005028 0.00000000000007 0.0 x3

L. Hctor Jurez V.

-0.1 -0.52304612619137 -0.52359807179342 -0.52359877465775 -0.52359877559704 -0.52359877559830 -0.52359877559830

Cuadro 5.5: Resultados al aplicar acelacin de tipo Seidel.

5.8.

Mtodo Newton para sistemas de ecuaciones

Al igual que en el caso de una variable el mtodo de punto jo converger cuadrticamente si g C 2 (X)), y si la matriz Jacobiana es nula en el punto jo , es decir si todas las derivadas parciales gj /xi evaluadas en el punto jo son cero. Asimismo, el mtodo de Newton para sistemas de ecuaciones no lineales f (x) = 0, con f : X Rn , se puede constuir en forma anloga a como lo hicmos en el caso escalar. En este caso hacemos la eleccin para la funcin de iteracin en la forma g(x) = x A(x)f (x) , donde la matriz A(x) Rnn depende de x Rn . El sistema de ecuaciones f (x) = 0 y el sistema de punto jo x = g(x) tienen la misma solucin si la matriz A(x) es no-singular para toda x del dominio de f , dado que en este caso x = g(x) A(x)f (x) = 0 f (x) = 0 . Adems, para que el mtodo sea de segundo orden, se debe satisfacer 0 = Jg() = I A () f () A() Jf () = I A() Jf () . Para que esto suceda basta pedir A(x) = [Jf (x)]1 , x. Con esta eleccin se tiene g(x) = x [Jf (x)]1 f (x) , donde Jf (x) debe ser invertible para toda x cerca de la raz (al menos). Por lo tanto, el mtodo de Newton es: Dado x0 cerca de la solucin , generar la sucesin {xk } por medio de k=1 xk+1 = xk [Jf (xk )]1 f (xk ) .

Anlisis Numrico

127

Para evadir el costo excesivo la evaluacin de la inversa de Jf (xk ) en cada iteracin, podemos expresar la iteracin en la forma xk+1 = xk + y , donde y Rn resuelve el sistema lineal Jf (xk )y = f (xk ) . Por lo tanto el mayor costo del Mtodo de Newton consiste resolver un sistema lineal de n ecuaciones con n incgnitas en cada iteracin. Podemos utilizar el mtodo de factorizacin LU para resolver estos sistemas lineales. Si cada una de las funciones fi (x), i = 1, 2, . . . , n tienen segundas derivadas continuas y adems Jf (x) es no singular x X, entonces el mtodo converge cuadrticamente si el punto inicial x0 se escoge sucientemente cercano a la raz . Ejemplo 5.16. Consideremos el sistema no lineal de el ejemplo anterior. La matriz Jacobiana del sistema f (x) = 0 es 3 Jg(x) = 2x1 x2 ex1 x2 x3 sen(x2 x3 ) x2 sen(x2 x3 ) 162(x2 + 0,1) cos x3 x1 x2 x1 e 20

(5.1)

Tomando x0 = (0,2, 0, 1, 0,1)T , como en los ejemplos anteriores, obtenemos los resultados mostrados en la Tabla 5.6. Se observa claramente la convergencia cuadrtica del mtodo. k 0 1 2 3 4 5 x1 0.2 0.49986882803679 0.50001730001008 0.50000016585639 0.50000000001512 0.5 x2 0.1 0.02161464530261 0.00192386026501 0.00001819182542 0.00000000165766 0.0 x3 -0.1 -0.52190738633341 -0.52354815221340 -0.52359829975132 -0.52359877555494 -0.52359877559830

Cuadro 5.6: Resultados obtenidos con el mtodo de Newton.

128

L. Hctor Jurez V.

Captulo 6

Interpolacin Polinomial e Integracin Nmerica


Los polinomios son utilizados como el medio bsico de aproximacin de funciones en muchas reas como son: a) Aproximacin de derivadas e integrales, b) Solucin numrica de ecuaciones diferenciales e integrales, c) Solucin de ecuaciones no lineales, entre otras, debido a que tienen una estructura muy simple. La interpolacin polinmial es un rea particular de la teora de aproximacin de funciones y, de hecho, es la tcnica ms usada para aproximar funciones, ms ampliamente incluso que los mtodos de mnimos cuadrados, funciones racionales, funciones trigonomtricas y splines. El teorema de aproximacin de Weierstrass garantiza la existencia de un polinomio que aproxima a una funcin continua dada con la precisin deseada: Teorema 6.1. Teorema de aproximacin de Weierstrass. Dada f C[a, b], para toda > 0, existe un polinomio p tal que |f (x) p (x)| < , x [a, b]. Geomtricamente, el teorema de aproximacin de Weierstrass establece que para cualquier > 0 podemos encontrar una f ranja con grosor 2 alrededor de f (x) sobre [a, b] dentro de la cual se encuentra un polinomio P , sin importar que tan pequea sea . Sin embargo, este teorema es til solo desde el punto de vista terico, pero no lo es desde el punto de vista computacional, pues no ofrece un mtodo constructivo para calcular dicho polinomio. Por 129

130
y
y=Pe(x) y=f(x)

L. Hctor Jurez V.

Ancho 2e

Figura 6.1: Teorema de aproximacin de Weierstrass

tal motivo es necesario recurrir a otras herramientas para contruir polinomios que aproximen a las funciones.

6.1.

Polinomio de Taylor

Una forma de aproximar una funcin suave localmente y cerca de un punto dado x0 , es por medio del polinomio de Taylor. Sea Ix0 un intervalo que contiene x0 . Entonces Dada la funcin f C n+1 (Ix0 ), donde Ix0 es un intervalo que contiene x0 , el polinomio de Taylor de grado n que aproxima f (x) en Ix0 es pn (x) = f (x0 ) + f (x0 )(x x0 ) + . . . + f (n) (x0 ) (x x0 )n . n!

El trmino de error o trmino complementario de la aproximacin es en (x) = f (x) pn (x) = f (n+1) () (x x0 )n+1 , (n + 1)!

con entre x y x0 . Este error aumenta conforme x se aleja del punto x0 , y tambin si la derivada f n+1 () es muy grande. Ejemplo 6.2. El polinomio de Taylor de f (x) = ex cerca de x0 = 0 es pn (x) = 1 + x + y el error es en (x) = x2 x3 xn + + ... + , 2! 3! n! con entre 0 y x.

e xn+1 , (n + 1)!

Anlisis Numrico
8 7 6 5 4 3 2 1 0 1 2 y=e p (x)
1 2 x

131

p (x) p3(x)

1.5

0.5

0.5

1.5

Figura 6.2: Polinomios de Taylor de orden 1, 2 y 3 para la funcin exponencial

La Figura 6.2 muestra la grca de la funcin exponencial junto con la grca de los polinomios de Taylor de grado 1, 2 y 3 en el intervalo [1, 1]. Se observa que al aumentar el grado, la aproximacin mejora, mientras que al aumentar |x| la aproximacin se deteriora en cada caso, como era de esperarse.

6.2.

Interpolacin de Lagrange

La forma ms usual de aproximar una funcin dada mediante un polinomio de interpolacin es por medio del denominado polinomio de interpolacin de Lagrange. Este polinomio se obtiene resolviendo el siguiente problema: Dados n + 1 puntos distintos x0 , x1 , . . . , xn y los valores f (x0 ), f (x1 ), . . ., f (xn ) de una funcin continua f (x) denida en un intervalo [a, b], encontrar un polinomio pn (x) de grado n tal que pn (xj ) = f (xj ) , j = 0, 1, . . . , n . Debido a que se deben satisfacer n + 1 condiciones y se deben calcular n + 1 coecientes c0 , c1 , . . . , cn que denen al polinomio pn (x) = c0 + c1 x + . . . + cn xn , debemos esperar que el problema tenga una solucin nica. Anteriormente hemos demostrado que, efectivamente, este polinomio es nico si los puntos xj , j = 0, 1, . . . , n, son distintos,

132

L. Hctor Jurez V.

dado que en este caso la matriz de Vandermonde es nosingular. En realidad, la existencia y unicidad no depende de la estructura de la matriz de Vandermonde, y podemos demostrar que el polinomio existe y es nico por otros medios. Por ejemplo, la unicidad puede demostrarse como sigue: Supongase que pn (x) y qn (x) son dos polinomios de grado n que interpolan a f (x) en xj , j = 0, . . . , n, es decir pn (xj ) = qn (xj ) = f (xj ) , j = 0, 1, . . . , n .

Entonces, rn (x) = pn (x)qn (x) es un polinomio de grado n con n+1 raices x0 , x1 , . . . , xn . Pero cualquier polinomio de grado n con un nmero de raices mayor a n debe ser constante e igual a cero. Por lo tanto rn (x) 0, x, y en consecuencia pn (x) = qn (x), x [a, b]. Para probar la existencia de tal polinomio basta con construirlo. Para lograr esto primero construirmos los n + 1 polinomios de Lagrange j (x), j = 0, 1, . . . , n, de grado n. Cada uno de estos polinomios esta asociado a un nodo. Por ejemplo, el polinomio (x) tiene la propiedad de que j (xj ) = 1 y j (xj ) = 0 si i = j, y se puede representar como el producto
n j (x) = k=0, k=j

(x xk ) (xj xk )

Esta claro que se satisface j (xi ) = ij . La Figura 6.3 muestra la grca de este polinomio cerca de su punto correspondiente xj .

(xj ,1) y = l (x)


j

j2

xj 1

xj

|
j+1

xj + 2

Figura 6.3: Polinomio bsico de Lagrange asociado al punto xj

Una vez que hemos construido los polinomios de Lagrange, se procede a construir el polinomio de interpolacin como una combinacin de los n + 1 polinomios de Lagrange

Anlisis Numrico como se indica a continuacin.


n

133

pn (x) =
j=0

f (xj ) j (x).

Claramente este polinomio es de grado n y satisface


n n

pn (xi ) =
j=0

f (xj ) j (xi ) =
j=0

f (xj )ij = f (xi ) ,

i = 1, . . . , n .

Aunque el polinomio de interpolacin es nico, hay varias formas de representarlo. Una de ellas es la anterior, y se le conoce como la forma de Lagrange del polinomio de interpolacin. Ejemplo 6.3. Dado la funcin f (x) denida sobre el intervalo [a, b]. El polinomio p1 (x) de grado 1 que interpola f (x) en dos puntos distintos x0 y x1 del intervalo es p1 (x) = x x0 x x1 f (x0 ) + f (x1 ) . x0 x1 x1 x0

Este polinomio tiene como grca una recta. La Figura 6.4 ilustra esta situacin.

y=P1(x) y=f(x) f(x1) f(x0)


x0=a x1=b

Figura 6.4: Polinomio de interpolacin de Lagrange de grado 1.

El polinomio p2 (x) de grado 2 y que interpola f (x) tres puntos distintos x0 , x1 y x2 = b del intervalo es p2 (x) = (x x1 )(x x2 ) (x x0 )(x x2 ) f (x0 ) + f (x1 ) (x0 x1 )(x0 x2 ) (x1 x0 )(x1 x2 ) (x x0 )(x x1 ) + f (x2 ), (x2 x0 )(x2 x1 )

el tiene como grca una parbola como se muestra el la Figura 6.5

134

L. Hctor Jurez V.

y=P2(x) y=f(x)

f(x0)
x0=a

f(x1)
x1

f(x2)
x1=b

Figura 6.5: Polinomio de interpolacin de Lagrange de grado 2.

6.3.

Error en el polinomio de interpolacin

La funcin f (x) y su polinomio de interpolacin coinciden en los puntos de interpolacin. Sin embargo, tambin queremos el polinomio de interpolacin para aproximar la funcin en puntos distintos a puntos los de interpolacin, asi como estimar la diferencia en (x) f (x) pn (x) en cualquier x [a, b]. Sin hiptesis adicionales para f (x) no podemos decir gran cosa sobre el error en (x). Sin embargo, si suponemos que f (x) es sucientemente suave, es decir si la funcin tiene sucientes derivadas continuas, podemos establecer una estimacin del error. Teorema 6.4. Si f C n+1 [a, b] y pn (x) es el polinomio de interpolacin n+1 puntos distintos x0 = a, x1 , . . . , xn = b, entonces para cada x [a, b] existe (x) I[x0 , x1 , . . . , xn , x] (el intervalo cerrado ms pequeo que contiene x0 , x1 , . . . , xn , x) tal que f (x) pn (x) = f n+1 ((x)) w(x) (n + 1)!
n

con

w(x) =

(x xk ).
k=0

Demostracin. Si x = xi para algn 0 i n, la igualdad se satisface trivialmente pues ambos lados de son iguales a cero. As que supongase que x = xi , i = 0, 1, . . . , n, y sea F (t) = f (t) pn (t) f (x) pn (x) w(t) , w(x) t [a, b] .

Claramente F (t) esta bin denida pues w(x) = 0 ya que x = xi , i. Adems F (t) es de clase C n+1 [a, b] y tiene al menos n + 2, a saber x0 , x1 , . . ., xn , x. Luego F (t) tiene al menos n + 1 ceros, F (t) tiene al menos n ceros , . . . , y F (n+1) (t) tiene al menos un cero en [a, b]

Anlisis Numrico que llamaremos (x). Por lo tanto 0 = F n+1 ((x)) = f n+1 ((x)) 0 Se concluye que f (x) pn (x) = f n+1 ((x)) w(x). (n + 1)! f (x) pn (x) (n + 1)! . w(x)

135

Ejemplo 6.5. Cuando se hace interpolacin lineal en los puntos x0 , x1 la frmula del error es f ((x)) f (x) p1 (x) = (x x0 )(x x1 ) con (x) [x0 , x1 ] . 2 Supopiendo f C 2 [a, b], sea M2 = mxaxb |f (x)|. El punto x donde |w(x)| = |(x a 1 x0 )(x x1 )| toma su valor mximo es x = (x0 + x1 ) (ver Figura 6.6 ). Por lo tanto 2 mx |w(x)| = |w(x )| = a h2 4

axb

donde h = x1 x0 .

y= w(x)

x* x0 x1

Figura 6.6: El punto mximo de |w(x)|

Utilizando estas expresiones se encuentra la siguiente cota para el error mx |f (x) p1 (x)| a M2 2 M2 h2 = h . 2 4 8 M2 2 h . 8

axb

es decir f (x) p1 (x)

136

L. Hctor Jurez V.

Se puede hacer el mismo clculo en el caso de interpolacin cuadrtica en x0 , x1 , x2 puntos igualmente espaciados, es decir x0 , x1 = x0 + h, x2 = x0 + 2h. En este caso se obtiene f (x) p2 (x) = es decir f (x) p2 (x) donde M3 = mxaxb |f (3) (x)| y w a

f (3) ((x)) (x x0 )(x x1 )(x x2 ) con (x) (x0 , x0 + 2h) , 3!

M3 w 6 2 = h3 . 3 3

M3 = h3 , 9 3

Ejemplo 6.6. Sea K(y) =


0

dx 1 sen2 y sen2 x

Para ciertos valores de y medidos en grados se tiene K(1) = 1,5709, K(4) = 1,5727, K(b) = 1,5751. Calcular K(3,5) usando interpolacin polinomial cuadrtica. Solucin. Los puntos de interpolacin son y0 = 1, y1 = 4, y2 = 6. El polinomio de Lagrange es p2 (y) = K(y0 ) (y y1 )(y y2 ) (y y0 )(y y2 ) + K(y1 ) (y0 y1 )(y0 y2 ) (y1 y0 )(y1 y2 ) (y y0 )(y y1 ) +K(y2 ) (y2 y0 )(y2 y1 )

Por lo tanto p2 (3,5) = 1,5703 (3,5 4)(3,5 6) (3,5 1)(3,5 6) + 1,5727 (1 4)(1 6) (4 1)(4 6) (3,5 1)(3,5 4) +1,5751 (6 1)(6 4) = 1,57225

El nmero de operaciones para construir y evaluar el polinomio de interpolacin en forma de Lagrange es: a) Para evaluar (x xk ) se necesitan 2(n 1) multiplicaciones, 1 (xj xk ) divisin, y 2n restas, para cada j. En total se necesitan [2(n 1) + 1](n + 1) = (2n 1)(n + 1) multiplicaciones/divisiones y 2n(n + 1) restas.
j (x)

n k=0, k=j

Anlisis Numrico b) Para evaluar pn (x) =


n j=0 f (xj ) j (x)

137 se requieren n + 1 multiplicaciones, y n sumas.

El nmero total de operaciones es: 2n(n + 1) multiplicaciones/divisiones y n(2n + 3) sumas/restas.

6.4.

Forma de Newton del polinomio de interpolacin

En ocasiones uno no sabe a ciencia cierta cuantos puntos de interpolacin usar. Dada esta circunstancia sera deseable calcular los polinomios de interpolacin p0 (x), p1 (x), p2 (x), . . . en forma sucesiva aumentando el nmero de puntos de interpolacin hasta obtener una aproximacin pn (x) satisfactoria para la funcin f (x). En un proceso de este tipo el uso de la forma de Lagrange no es adecuada pues no es posible utilizar ninguna ventaja obvia del polinomio anterior pk1 para construir el siguiente pk (x). Para este y otros propsitos, la forma de Newton del polinomio de interpolacin es mejor. En esta forma, dada la funcin f (x) y los puntos de interpolacin x0 , x1 , . . . , xn , el polinomio de interpolacin pn (x) se expresa utilizando los primeros n puntos de interpolacin x0 , x1 , . . . , xn1 como centros para escribir pn (x) = a0 + a1 (x x0 )+a2 (x x0 )(x x1 ) + . . . + an (x x0 )(x x1 ) . . . (x xn1 ) es decir pn (x) = a0 +
j=1 n j1

aj

(x xk ) ,
k=0

donde a0 , a1 , . . . , an son coecientes a determinar. Antes de abordar el clculo de estos coecientes estudiaremos algunas propiedades de esta forma de representar el polinomio de interpolacin. Estas propiedades nos permitirn vericar que esta representacin permite la construccin de un polinomio de interpolacion de grado k a partir del de grado menor k 1. Sea qk (x) la suma de los primeros k + 1 trminos de pn (x), es decir qk (x) = a0 + a1 (x x0 )+a2 (x x0 )(x x1 ) + . . . + ak (x x0 )(x x1 ) . . . (x xk1 ) Entonces los trminos restantes de pn (x) tienen como factor comn el producto (x x0 )(x x1 ) . . . (x xk ) . As que pn (x) = qk (x) + (x x0 )(x x1 ) . . . (x xk )r(x)

138

L. Hctor Jurez V.

donde r(x) es un polinomio de grado n (k + 1). Adems qk (x) interpola f (x) en los puntos x0 , x1 , . . . , xk , pues qk (xj ) = pn (xj ) (xj x0 )(xj x1 ) . . . (xj xk )r(xj ) = pn (xj ) si 0 j k = f (xj ) Entonces qk (x) es el nico polinomio de interpolacin pk (x) para f (x) en x0 , x1 , . . . , xk , y podemos escribir pk (x) = qk (x) + (x x0 )(x x1 ) . . . (x xk ) r(x), y con k = n 1, obtenemos pn (x) = pn1 (x) + an (x x0 )(x x1 ) . . . (x xn1 ) Entonces, el polinomio de interpolacin pn (x) puede construirse paso a paso construyendo la sucesin de polinomios de interpolacin p0 (x), p1 (x),. . ., pn (x), donde pk (x) se construye de pk1 (x) agregando el siguiente trmino en la forma de Newton , el cual es ak (x x0 )(x x1 ) . . . (x xk1 ).

6.4.1.

Clculo de los coecientes a0 , a1 , . . . , an

Observese que cada coeciente ak es el coeciente principal del polinomio pk (x) que interpola a f (x) en los puntos x0 , x1 , . . . , xk . Adems este coeciente depende de los puntos y los valores de f (x) en estos puntos pues f (x0 ) f (x1 ) = = p0 (x0 ) = a0

p1 (x1 ) = f (x0 ) + a1 (x1 x0 ) f (x1 ) f (x0 ) a1 = x1 x0 f (x2 ) = p2 (x2 ) = p1 (x2 ) + a2 (x2 x0 )(x2 x1 ) f (x2 ) p1 (x2 ) a2 = (x2 x0 )(x2 x1 ) . . . f (xk ) pk (xk ) = pk1 (xk ) + ak (xk x0 )(xk x1 ) . . . (xk xk1 ) f (xk ) pk1 (xk ) ak = k1 j=0 (xk xj ) =

Anlisis Numrico

139

Para indicar la dependencia de ak de x0 , x1 , . . . , xk y f (x0 ), f (x1 ), . . . , f (xk ) escribimos ak := f [x0 , x1 , . . . , xk ] . Esta expresin se denomina la ksima diferencia dividida de f (x) en los puntos x0 , x1 , . . . , xk , y es igual al coeciente principal del polinomio que interpola f (x) en dichos puntos. Podemos encontrar una forma ms conveniente de calcular las diferencias divididas, en lugar del mtodo recursivo anterior. Sabemos que a0 = f (x0 ) f (x1 ) f (x0 ) a1 = x1 x0 f [x0 ] f [x0 , x1 ]

Las diferencias de orden mayor pueden construirse utilizando la frmula ak = f [x1 , . . . , xk ] f [x0 , . . . , xk1 ] f [x0 , x1 , . . . , xk ] (xk x0 )

La validez de esta ltima frmula viene dada por el siguiente argumento debido a Neville: Supngase que la frmula se ha obtenido para diferencias divididas hasta el orden k 1, y considerense los puntos x0 , x1 , . . . , xk . Sea pk1 (x) el polinomio de grado k 1 que interpola f (x) en x0 , x1 , . . . , xk1 , y sea qk1 (x) el polinomio de grado k 1 que interpola f (x) en x1 , x2 , . . . , xk como se muestra en la Figura 6.7.

qk-1(x)

Figura 6.7: Polinomios en el argumento de Neville.

Luego, el polinomio p(x) =

{
pk-1(x)

x0

x1

x x0 xk x qk1 (x) + pk1 (x), xk x0 xk x0

{
...
xk-1 xk

140

L. Hctor Jurez V.

es un polinomio de grado k. Adems se puede vericar directamente que este polinomio interpola f (x) en los puntos x0 , x1 , . . . , xk . Por unicidad en el polinomio de interpolacin, pk (x) = p(x), y en consecuencia pk (x) = Claramente coef. principal de pk = Es decir coef. principal de qk1 coef. principal de pk1 xk x0 xk x0 x x0 x xk qk1 (x) pk1 (x). xk x0 xk x0

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ] (xk x0 ) Resumiendo, la forma de Newton del polinomio de interpolacin en los puntos x0 , x1 , . . . , xn para f (x) es f [x0 , x1 , . . . , xk ] = pn (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) + . . . +f [x0 , x1 , . . . , xn ](x x0 ) . . . (x xn1 )
n k1

= f (x0 ) +
k=1

f [x0 , . . . , xk ]
j=0

(x xj )

donde

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ] , k = 1, 2, . . . , n . (xk x0 ) Esta ltima expresin se utiliza para generar las diferencias divididas en forma simple por medio de una tabla denominada tabla de diferencias divididas. Por ejemplo, para el caso n = 3, esta tabla queda de la siguiente manera f [x0 , x1 , . . . , xk ] = x f [] f [, ] f [x0 , x1 ] = x1 f (x1 ) f [x1 , x2 ] = x2 f (x2 ) f [x2 , x3 ] = x3 f (x3 )
f (x3 )f (x2 ) x3 x2 f (x2 )f (x1 ) x2 x1 f (x1 )f (x0 ) x1 x0

f [, , ]

f [, , , ]

x0 f (x0 ) f [x0 , x1 , x2 ] = f [x1 , x2 , x3 ] =


f [x1 ,x2 ]f [x0 ,x1 ] x2 x0

f [x0 , x1 , x2 , x3 ]
f [x2 ,x3 ]f [x1 ,x2 ] x3 x1

donde f [x0 , x1 , x2 , x3 ] =

f [x1 , x2 , x3 ] f [x0 , x1 , x2 ] x3 x0

Anlisis Numrico

141

Ejemplo 6.7. Consideremos de nuevo el ejemplo anterior, donde K(1) = 1,5709, K(4) = 1,5727 y K(6) = 1,5751. Calcular K(3,5) con interpolacin cuadrtica utilizando la forma de Newton. Solucin. Primero calculamos la tabla de diferencias divididas: y K[] K[, ]
1,57271,5709 41

K[, , ]

1 1.5709 = 0,0006
0,00120,0006 61

4 6

1,5727
1,57511,5727 64

= 0.00012

= 0,0012

1,5751

Despus, tomamos los coecientes en la diagonal superior (en negrita) para construir el polinomio de interpolacin: p2 (y) = K(1) + K[1, 4](y 1) + K[1, 4, 6](y 1)(y 4) = 1,5709 + 0,0006(y 1) + 0,00012(y 1)(y 4), y evaluamos directamente en y = 3,5: p2 (3,5) = 1,5709 + 0,0006(3,5 1) + 0,00012(3,5 1)(3,5 4) = 1,57225 Este resultado coincide con el encontrado con el polinomio de interpolacin en forma de Lagrange.

6.4.2.

Nmero de operaciones en la forma de Newton

Para hacer interpolacin en la forma de Newton se requieren a) 2 restas y 1 divisin para evaluar cada una de las n(n + 1)/2 diferencias divididas. Es decir, se requieren n(n + 1) restas y n(n + 1)/2 disiones. b) n(n + 1)/2 + n sumas y n(n + 1)/2 multiplicaciones para evaluar el polinomio . Luego, el nmero total de operaciones es n(n + 1) + 3(n + 1) n(n + 1) + n = n[ + 1] sumas/restas 2 2 n(n + 1) n(n + 1) + = n(n + 1) multiplicaciones/divisiones 2 2

142

L. Hctor Jurez V.

El nmero de operaciones para evaluar el polinomio puede reducirse expresando el polinomio de interpolacin de Newton en forma anidada: pn (x) = a0 + a1 (x x0 ) + a2 (x x0 )(x x1 ) + a3 (x x0 )(x x1 )(x x2 ) + . . . + an (x x0 )(x x1 ) . . . (x xn1 ) = a0 + (x x0 )[a1 + a2 (x x1 ) + a3 (x x1 )(x x2 ) + . . . + an (x x1 ) . . . (x xn1 )] = a0 + (x x0 )[a1 + (x x1 )[a2 + a3 (x x2 ) + . . . + an (x x2 ) . . . (x xn1 )]] . . . = a0 + (x x0 )[a1 + (x x1 )[a2 + (x x2 )[a3 + . . . + (x xn2 )[an1 + an (x xn1 )] . . .]]] cuya evaluacin toma n multiplicaciones y 2n sumas. As que para calcular pn (x) y evaluarlo se requieren en total n(n + 1) + 2n = n(n + 3) sumas y n+3 n(n + 1) + n = n( ) multiplicaciones 2 2 El algoritmo para evaluar el polinomio en forma anidada se puede escribir de la siguiente manera: Algoritmo para evaluar pn (z) An := an Para k = n 1, n 2, . . . , 0 hacer Ak := ak + Ak+1 (z xk ) Fn Entonces pn (z) = A0 . Los coecientes ak son las correspondientes diferencias divididas f [x0 , x1 , . . . , xk ]. Ejemplo 6.8. Con este algoritmo, la evaluacin del polinomio en el ejemplo anterior se escribe A2 = a2 = 0,00012 A1 = a1 + A2 (3,5 x1 ) = 0,0006 + 0,00012(3,5 4) = 0,00054 A0 = a0 + A1 (3,5 x0 ) = 1,5709 + 0,00054(3,5 1) = 1,57225

Anlisis Numrico Por lo tanto p2 (3,5) = 1,57225.

143

6.4.3.

Interpolacin en un nmero creciente de puntos

Si conocemos el polinomio de interpolacin pn (x) de f (x) en x0 , x1 , . . . , xn , y agregamos un punto adicional xn+1 , entonces, como ya hemos anteriormente, el polinomio pn+1 (x) que interpola f (x) en x0 , x1 , . . . , xn , xn+1 es pn+1 (x) = pn (x) + f [x0 , x1 , . . . , xn+1 ](x x0 )(x x1 ) . . . (x xn ) . Ejemplo 6.9. Anteriormente hemos encontrado el polinomio de grado dos que interpola K(y) en y = 1, 4, 6. Si agregamos el valor K[0] = 1,5708, obtenemos la tabla:

K[]

K[, ] 0,0006

K[, , ]

K[, , , ]

1 1.5709 4 6 0 1,5727 0,0012 1,5751 0,000717 1,5708 0,000121 0.00012 -0.000001

Por lo tanto, el polinomio p3 (y) que interpola K(y) en y = 1, 4, 6, 0, es p3 (y) = p2 (y) + K[1, 4, 6, 0](y 1)(y 4)(y 6) , y su valor en y = 3,5 es p3 (3,5) = p2 (3,5) + (0,000001)(2,5)(0,5)(2,5) = 1,57225 0,000003125 = 1,5722469

6.4.4.

El error del polinomio en forma de Newton

Sea f (x) denida en [a, b] y pn (x) el polinomio que interpola a f (x) en los puntos x0 , x1 , . . . , xn . Consideremos x un punto en [a, b] distinto de los puntos de interpolacin

144

L. Hctor Jurez V.

xi , i = 0, 1, . . . , n, y sea pn+1 (x) el polinomio que interpola f (x) en los puntos x0 , x1 , . . . , xn , x, entonces pn+1 (x) = pn (x) + f [x0 , . . . , xn , x]w(x), donde w(x) = (x x0 ) . . . (x xn ). As que f (x) = pn+1 (x) = pn (x) + f [x0 , . . . , xn , x]w(x) es decir en (x) = f (x) pn (x) = f [x0 , . . . , xn , x]w(x) En general, para toda x en [a, b] en (x) = f (x) pn (x) = f [x0 , . . . , xn , x]w(x) . Anteriormente encontramos, en el anlisis del error del polinomio de la forma de Lagrange, que si f C n+1 [a, b], entonces en (x) = f (x) pn (x) = f (n+1) ((x)) w(x), con (x) I[x0 ,...,xk ] (n + 1)!

Comparando las dos ltimas expresiones arriba, hemos encontrado que si f C n+1 [a, b], entonces f [x0 , . . . , xn , x] = f (n+1) ((x)) . (n + 1)!

En general, se tiene que si f C (k) (I[x0 ,...,xk ] ), entonces f [x0 , . . . , xk ] = f (k) () con I[x0 ,...,xk ] . (k)! (6.1)

6.5.
6.5.1.

Integracin Numrica
Frmulas de NewtonCotes

Nuestro objetivo es estimar la integral de una funcin f (x) sobre un intervalo dado [a, b], especialmente cuando esta integral no puede calcularse analticamente o cuando solo se conocen valores de f en un nmero nito de puntos. Una de las estrategias para aproximar esta integral consiste en aproximar f (x) por el polinomio pk (x) que interpola f en los puntos conocidos x0 , . . . , xk del intervalo. Entonces
b b

f (x)dx
a a

pk (x)dx

Anlisis Numrico Si utilizamos la forma de Lagrange del polinomio de interpolacin


k

145

pk (x) =
j=0

f (xj ) j (x)

obtenemos
b

f (x)dx
a j=0

wj f (xj )

con wj =

j (x)dx.

Entonces, la integral de f (x) sobre [a, b] se aproxima por medio de un promedio pesado de valores de f (x) en los puntos de interpolacin, en donde los pesos wj son las integrales de las funciones de Lagrange j (x). A estas frmulas de integracin numrica se les conoce como de Newton-Cotes. Por supuesto, tambin podemos realizar la aproximacin utilizando la forma de Newton del polinomio de interpolacin
k j1

pk (x) = f (x0 ) +
j=1

f [x0 , . . . , xj ]
l=0

(x xl ) .

En este caso obtenemos


b a k b j1

f (x)dx (b a)f (x0 ) +


j=1

f [x0 , . . . , xj ]

a l=0

(x xl )dx .

6.5.2.

El error en las frmulas de integracin de Newton-Cotes

Como vimos anteriormente, el error en el polinomio de interpolacin en forma de Newton es para toda x I[x0 , x1 , . . . , xk ] es
k

ek (x) = f (x) pk (x) = f [x0 , . . . , xk , x]wk+1 (x) , con wk+1 (x) = Luego, el error en la integracin numrica es:
b b

(x xj ).
j=0

e=
a

ek (x)dx =

f [x0 , . . . , xk , x]wk+1 (x)dx .

El clculo de esta ltima integral puede ser complicado. Sin embargo, puede simplicarse si consideramos dos casos: 1er caso: Si wk+1 (x) es de un solo signo en [a, b], es decir si b a wk+1 (x)dx < 0, entonces
b b a wk+1 (x)dx

> 0

e = f [x0 , . . . , xk , ]

wk+1 (x)dx con (a, b).

146
b

L. Hctor Jurez V. 2o caso: Si a wk+1 (x)dx = 0, entonces se puede introducir un punto adicional xk+1 para que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b]. Si esto es posible, entonces
b

e = f [x0 , . . . , xk+1 , ]

wk+2 (x)dx

Demostracin. 1er caso: f [x0 , . . . , xk , x] es una funcin continua de x en [a, b] y toma sus valores mximo M y mnimo m en el intervalo m f [x0 , . . . , xk , x] M . Suponiendo m
a b a wk+1 (x)dx b

> 0, x [a, b], se obtiene


b b

wk+1 (x)dx

wk+1 (x)f [x0 , . . . , xk , x]dx M

wk+1 (x)dx .

Por lo tanto m

b a wk+1 (x)f [x0 , . . . , xk , x]dx b a wk+1 (x)dx

M.

Por el teorema del valor intermedio para funciones continuas, debe existir un en [a, b] tal que b a wk+1 (x)f [x0 , . . . , xk , x]dx f [x0 , . . . , xk , ] = , b a wk+1 (x)dx de donde se sigue la expresin para el error. Se obtiene la misma expresin suponiendo b a wk+1 (x)dx < 0, x [a, b]. 2o caso: Sea xk+1 un punto adicional a x0 , . . . , xk . Entonces f [x0 , . . . , xk , xk+1 , x] = f [xk+1 , x0 , . . . , xk , x] f [x0 , . . . , xk , x] f [xk+1 , x0 , . . . , xk ] = x xk+1 f [x0 , . . . , xk , x] = f [xk+1 , x0 , . . . , xk ] + f [x0 , . . . , xk , xk+1 , x](x xk+1 ) . Luego
b

e=
a

f [x0 , . . . , xk ]wk+1 (x)dx


b b

= f [xk+1 , x0 , . . . , xk ]

wk+1 (x)dx +

f [x0 , . . . , xk , xk+1 , x]wk+2 (x)dx .

Anlisis Numrico

147

La primera integral en la ltima expresin es cero por hiptesis. Adems, si se escoge xk+1 de tal manera que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b], entonces se obtiene la expresin para el error:
b

e = f [x0 , . . . , xk , xk+1 , ]

wk+2 (x)dx

Nota. En caso de que la funcin f (x) sea sucientemente suave, cada diferencia dividida es igual a una derivada del mismo orden dividida por un factorial. Tomando en cuenta esta propiedad, se obtienen las siguientes expresiones para el error en la integracin numrica: Caso 1: Si wk+1 (x) es de un solo signo en [a, b], entonces
b

e = f [x0 , . . . , xk , ]
b

wk+1 (x)dx =

f (k+1) () (k + 1)!

b a

wk+1 (x)dx .

Caso 2: Si a wk+1 (x)dx = 0, se introduce un punto adicional xk+1 tal que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b], y
b

e = f [x0 , . . . , xk+1 , ]

wk+2 (x)dx =

f (k+2) () (k + 2)!

b a

wk+2 (x)dx .

Observese que el error en este caso tiene un orden mayor que el del caso 1.

6.5.3.

Frmulas de integracin numrica ms comunes

Consideraremos las reglas de NewtonCotes ms utilizadas en la prctica: 1. Regla del rectngulo. Consideremos un solo punto de interpolacin x0 , es decir k = 0. En este caso f (x) se aproxima por el polinomio constante p0 (x) = f (x0 ), y la integral de f (x) se aproxima por
b b

f (x)dx
a a

f (x0 )dx = (b a)f (x0 ) .

Si se escoge x0 = a, entonces
b

f (x)dx (b a)f (a) .


a

Como w1 (x) = (x a) es de un solo signo en [a, b] y el error en este caso es


b b

e = f [x0 , ]

w1 (x)dx = f [a, ]

(x a)dx = f [a, ]
a

(b a)2 , 2

148

L. Hctor Jurez V. con en [a, b]. Suponiendo f C 1 [a, b], podemos expresar el error en la forma e= f () (b a)2 2

2. Regla del trapecio. Considermos dos puntos de interpolacin x0 y x1 , es decir k = 1. En este caso f (x) se aproxima por el polinomio lineal p1 (x) = f (x0 ) + f [x0 , x1 ](x x0 ), y la integral de f (x) sobre el intervalo [a, b] se aproxima por
b a

{f (x0 ) + f [x0 , x1 ](x x0 )}dx = f (x0 )(b a) +

f [x0 , x1 ] {(b x0 )2 (a x0 )2 } . 2

Si se escoge x0 = a, x1 = b, la regla de cuadratura es


b

f (x)dx
a

ba {f (a) + f (b)} . 2

Adems w2 (x) = (x a)(x b) 0 es de un solo signo en [a, b] (ver Fig. 6.8). Luego
x0=a x1=b

Figura 6.8: El polinomio cuadrtico w2 (x)

el error en este caso se obtiene de


b b

e = f [x0 , x1 , ]

w2 (x)dx = f [a, b, ]

(x a)(x b)dx = f [a, b, ]


a

(a b)3 , 6

con en [a, b]. Suponiendo f C 2 [a, b], entonces e= f 2 () (b a)3 , 12 en [a, b] .

Anlisis Numrico 3. Regla de Simpson.

149

Consideremos tres puntos de interpolacin x0 , x1 y x2 , es decir k = 2. En este caso el polinomio de interpolacin para f (x) es p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) . Si elegimos x0 = a, x1 = b, x2 =
b b

a+b , entonces la regla de cuadratura es 2 a + b (a b)3 (b a)2 + f a, b, 2 2 6

f (x)dx
a a

p2 (x)dx = f (a)(b a) + f [a, b] f (a) + 4f ( a+b ) + f (b) 2

ba = 6

En este caso se tiene que w3 (x) = (x a)(x b)(x Figura 6.9)


b a

a+b ), el cual satisface (ver 2

w3 (x)dx = 0 .

x0=a

x2=(a+b)/2

x =b
1

Figura 6.9: El polinomio cbico w3 (x) a+b como punto adicional entonces 2 w3 (x) = (x a)(x b)(x es de un solo signo en [a, b]. Por lo tanto e = f a, b, = f a, b, a+b a+b , , 2 2 a+b a+b , , 2 2
b

Si introducimos x3 =

a+b 2 ) 0, 2

(x a)(x b) x
a

a+b 2 f 4 () 90

dx ba 2
5

4 15

ba 2

donde [a, b]. En la ltima igualdad hemos supuesto que f C 4 [a, b].

150 4. Regla del punto medio.

L. Hctor Jurez V.

En este caso volvemos a considerar un solo punto de interpolacin, pero ahora tomamos a+b el punto medio del intervalo: x0 = . Luego 2 f (x) p0 (x) = f y la regla de cuadratura es
b

a+b 2

f (x)dx f
a

a+b 2

(b a) .

Adems (ver Figura 6.10)


b a b

w1 (x)dx

(x
a

a+b )dx = 0 . 2

x0 = (a+b)/2

Figura 6.10: El polinomio lineal w1 (x) a+b a+b 2 Si tomamos x1 = como punto adicional, entonces la funcin w2 (x) = (x ) 2 2 es de un solo signo en [a, b], y
b

e = f [x0 , x1 , ]

f 2 () w2 (x)dx = 2

b a

a+b x 2

dx =

f 2 () (b a)3 . 24

Ejemplo 6.10. Consideremos la integral I = 0 ex dx, cuyo valor exacto a ocho cifras decimales es 0.74682413. Aplicando las reglas de integracin anteriores, con a = 0, b = 1, a+b a+b = 0,5, f (a) = 1, f (b) = e1 , f ( ) = e1/4 , obtenemos 2 2

Anlisis Numrico

151

REGLA DE CUADRATURA Rectngulo Punto medio Trapecio Simpson I (b a)f (a) I (b a)f ( I a+b ) 2

RESULTADO = = 1 0,7788007 0,6839397 0,7471804

(b a) (f (a) + f (b)) = 2 a+b (b a) I (f (a) + 4f ( ) + f (b)) = 6 2

Los errores obtenidos con cada regla son REGLA Rectngulo Punto medio Trapecio Simpson ERROR REAL 0.25318 0.03198 0.06288 3,6 104 ESTIMACION DEL ERROR f () (b a)2 0,4288819 2 f () (b a)3 0,0833333 24 f () (b a)3 0,166666 12 f 4 () b a 5 4,1666103 90 2

6.6.

Reglas compuestas de integracin


b

Las estimaciones de I = a f (x)dx presentadas anteriormente no producen una buena aproximacin, particularmente cuando el intervalo [a, b] es grande. Introducir ms puntos de interpolacin para compensar el aumento en el tamao del intervalo no es conveniente pues la acumulacin del error debido a que el trmino wk+1 (x) = n (x xj ) es cada j=0 vez mayor conforme n aumenta. La alternativa prctica es dividir [a, b] en un conjunto de subintervalos pequeos y aplicar las reglas simples de integracin numrica en cada uno de estos subintervalos. Sea f (x) denida e integrable sobre [a, b]. Consideremos una subdivisin de [a, b] en n ba como se ilustra en la Figura 6.11, y sean subintervalos iguales de longitud h = n xi = a + ih, i = 0, 1, . . . , n.

152

L. Hctor Jurez V.

a=x0

x1

...

xn-1

xn=b

Figura 6.11: Subdivisin del intervalo en n subintervalos.

Esta claro que x0 = a, xn = b. Entonces


b n xi

f (x)dx =
a i=1 xi1

f (x)dx ,

y las integrales delante de la sumatoria se aproximan utilizando las reglas simples en cada subintervalo.

1. Regla del trapecio compuesta. Para cada i = 1, 2, . . . , n, se tiene


xi

f (x)dx =
xi1

f (i ) 3 h {f (xi1 ) + f (xi )} h , 2 12

para algn i [xi1 , xi ]. Entonces


b

f (x)dx =
a

h 2

[f (xi1 ) + f (xi )]
i=1 n1

h3 12

f (i )
i=1

h [f (x0 ) + 2 2

f (xi ) + f (xn )]
i=1

h3 12

f (i )
i=1

La ltima sumatoria se puede simplicar cuando f C 2 [a, b], pues en este caso m f (i ) M en donde m = m f (x) y M = mx f (x) . n a
axb axb

para cada i = 1, . . . , n ,

As que m

f (i ) M. n Por el teorema del valor intermedio aplicado a la funcin continua f (x) sobre [a, b], existe en [a, b] tal que n f (i ) f () = i=1 n

n i=1

Anlisis Numrico es decir nf () =


i=1

153

f (i )

Por lo tanto, el trmino del error en la regla de cuadratura es h3 h2 nf () = (b a)f () 12 12

pues nh = b a. Resumiendo, la regla del trapecio compuesta es


b

f (x)dx
a

h [f (x0 ) + 2 2

n1

f (xi ) + f (xn )]
i=1

y la expresin del error es e= 2. Regla de Simpson compuesta

ba f ()h2 12

Sabemos que para cada i = 1, 2, . . . , n f 4 (i ) h h f (x)dx = f (xi1 ) + 4f (xi 1 ) + f (xi ) 2 6 90 2 xi1 donde hemos usado la notacin xi 1 =
2

xi

xi1 + xi . 2
5 n i=1

Sumando de i = 1 a i = n obtenemos
b a

h f (x)dx = 6 =

n i=1

1 h [f (xi1 ) + 4f (xi 1 ) + f (xi )] 2 90 2


n1 n

f 4 (i )

h f (x0 ) + 2 6

f (xi ) + 4
i=1 4 i=1

f (xi 1 ) + f (xn )
2

h ba 4 f (i ) 180 2

en donde en el trmino del error hemos utilizado un argumento similar al utilizado en la regla del trapecio:
n

Suponiendo f C 4 [a, b] :
i=1

f 4 (i ) = nf 4 () ,

para algn en [a, b].

154

L. Hctor Jurez V.

Ejemplo 6.11. Estimar el nmero de subintervalos en los que hay que dividir el intervalo 2 1 [0, 1] para que la regla compuesta del trapecio calcule 0 ex dx con un valor correcto a 6 dgitos. Solucin. El error en la regla de trapecio es con a = 0, b = 1, y h = h2 h2 1 f () (b a)f () = f () = 12 12 12n2

1 . Entonces debemos pedir que n 1 |f ()| 106 . 12n2

Como no conocemos , basta con calcular M = mx |f ()| a


0x1

y despues determinar n tal que

1 M 106 . 12n2
2

Pero f (x) = ex (4x2 2) es creciente en 0 x 1, pues f (x) = 4xex (3 2x2 ) > 0 en el mismo intervalo. Luego el mximo de |f (x)| debe tomarse en x = 0 en x = 1, as que M = mx{|f (0)|, |f (1)|} = mx{2, 2e1 } = 2 , a a y n debe ser tal que 1 2 106 . Es decir 12n2 n 106 408 6

El valor n = 408 subintervalos es realmente una sobreestimacin del nmero necesario ya que estamos usando M = mx{|f (x)| : 0 x 1} en lugar de |f ()|. A continuacin a mostramos los valores obtenidos usando diferentes valores de n. n 50 100 200 400 800 I 0.74679961 0.74681800 0.74682260 0.74682375 0.74682404 error 2,452 6,13 106 1,53 106 3,8 107 9 108 106 Estimacin del error 6,67 105 1,67 105 4,17 106 1,04 106 2,6 107

Anlisis Numrico

155

Notese que con n = 400 subintervalos ya se obtiene un error menor a 106 . En la tabla de arriba la estimacin del error es ba ba M h2 M 2 1 mx |f (x)|h2 = a M h2 = = = = 2 2 2 2 0x1 2 12 12n 12n 6n Con el objeto de comparar hacemos lo mismo con el mtodo de Simpson. h ba 4 |f ()| 180 2
4

1 h4 12h4 1 106 , mx |f 4 (x)| a = = 180 16 180 16 240n4

en donde mx0x1 |f 4 (x)| = 12. Por lo tanto a n


4

106 8, 240

y, como era de esperarse, este resultado muestra un aumento drmatico en la precisin cuando se utiliza el mtodo de Simpson. A continuacin mostramos los resultados para diferentes valores de n n 2 4 6 8 22 I 0.74685538 0.74682612 0.74682452 0.74682426 0.74682413 error 3,125 1,99 106 3,96 107 1,27 107 4,99 109 105 Estimacin del error 2,604 104 1,628 105 3,215 106 1,017 106 1,780 108

en donde la estimacin del error se obtuvo por medio de ba h4 1 mx |f (4) (x)| a = . 180 16 240 n4

6.7.

Frmulas de cuadratura de Gauss

Todas las reglas de integracin numrica que hemos obtenido son de la forma
b a

f (x)dx w0 f (x0 ) + w1 f (x1 ) + . . . + wn f (xn )

(6.2)

donde x0 , x1 , . . . , xn son puntos de interpolacin y w0 , w1 , . . . , wn son pesos tales que b n i=0 wi /(b a) = 1. Si se escogen los wi como wi = a i (x)dx, donde i (x) es el polinomio de Lagrange asociado al punto xi , entonces la regla es exacta al menos para polinomios de grado n. Sin embargo, es posible hacer que la regla sea exacta para polinomio de grado 2n+1

156

L. Hctor Jurez V.

si se escogen los puntos x0 , x1 , . . . , xn de manera apropiada, y no igualmente separados como lo hemos hecho hasta ahora. Esta es la idea bsica de las reglas de cuadratura de Gauss. Como los valores w0 , w1 , . . . , wn se escogen de manera arbitraria y los puntos x0 , x1 , . . . , xn tienen como nica restriccin que f (x) este denida en ellos, entonces hay 2n+2 parmetros (grados de libertad) involucrados. Dado que los polinomios de grado 2n + 1 contienen 2n + 2 coecientes, entonces esta es la clase de polinomios de mayor grado para los cuales se espera que la frmula (6.2) arriba sea exacta. Primero discutiremos brevemente el concepto de conjunto ortogonal de funciones. Denicin 6.12. El conjunto de funciones 0 (x), 1 (x), . . . , n (x), es un conjunto ortogonal en [a, b] con respecto a la funcin de peso v(x) siempre y cuando para toda 0 i, j n
b a

v(x)i (x)j (x)dx = ij .

Ejemplo 6.13. Polinomios de Legendre Los polinomios de Legendre pueden generarse en forma recursiva: 0 (x) = 1 1 (x) = x (k + 1)k+1 (x) = (2k + 1) x k (x) kk1 (x) , k = 1, 2, . . . .

Se puede vericar fcilmente que estos polinomios son ortogonales en el intervalo [1, 1] con respecto a la funcin de peso v(x) = 1. Algunas propiedades de estos polinomios son 1. El polinomio k (x) tiene k raices distintas en (1, 1). Por ejemplo 2 (x) = 3 (x) = 3 2 (x 2 5 2 (x 2 1 1 ) tiene raices x = 3 3 3 ) x tiene raices x = 0, x = 5

3 . 5

2. Los polinomios 0 (x), 1 (x), . . . , n (x), al ser ortogonales y tener grados 0, 1, . . . , n, generan el espacio de polinomios de grado n.

Anlisis Numrico

157

Si escogemos como puntos de interpolacin las raices x1 , x2 , . . . , xn del polinomio de Legendre de grado n, n (x) sobre [1, 1], entonces podemos expresar f (x) por medio de su polinomio de interpolacin de la siguiente manera
n

f (x) =
i=1

f (xi ) i (x) +

f (n) ((x)) n!

(x xi )
i=1

Esta claro que la regla de cuadratura


1 n 1 1 i (x)dx n

f (x)dx
1 i=1

wi f (xi ) con wi =

=
1 j=1, j=i

(x xj ) dx (xi xj )

integra de manera exacta al menos polinomios de grado n 1 cualquier otra funcin suave cuya derivada de orden n 1 sea cero sobre [a, b]. Veriquemos que esta regla en realidad es exacta para polinomios de grado 2n 1: Sea p(x) un polinomio de grado 2n 1. Si dividimos este polinomio entre el polinomio de Legendre de grado n, n (x), obtenemos un polinomio cociente q(x) de grado n 1, y un polinomio residuo r(x) de grado n 1, tales que p(x) = q(x)n (x) + r(x) . As que
1 1 1

p(x)dx =
1 1

q(x)n (x)dx +

r(x)dx
1

Adems como q(x) es polinomio de grado n 1, entonces es combinacin lineal de los polinomios de Legendre 0 (x), 1 (x), . . . , n1 (x). Es decir, existen d0 , d1 , . . . , dn1 R tales que
n1

q(x) =
i=0

di i (x).

Luego
1 n1 1 1

p(x)dx =
1 i=0 1

di

i (x)n (x)dx +

r(x)dx
1

=
1

r(x)dx ,

debido a la ortogonalidad de los polinomios de Legendre. Por otro lado como r(x) es un polinomio de grado n 1, entonces la ltima integral en la expresin anterior se puede sustituir por
n 1 1 i (x)dx

r(xi )wi
i=1

con wi =

=
1 i=j

(x xj ) dx . (xi xj )

158 n 2 3 xi x2 = x1 = 0,5773502692 x3 = x1 = 0,7745966692 x2 = 0 4 5 x4 = x1 = 0,8611363116 x3 = x2 = 0,3399810436 x5 = x1 = 0,9061798459 x4 = x2 = 0,5384693101 x3 = 0 wi

L. Hctor Jurez V.

w1 = w2 = 1 5 w1 = w3 = 9 8 w2 = 9 w1 = w4 = 0,3478548451 w2 = w3 = 0,6521451549 w1 = w5 = 0,2369268851 w2 = w4 = 0,4786286705 128 w3 = = 0,5688888889 225

Cuadro 6.1: Puntos y pesos para reglas de cuadratura de Gauss. Pero adems, como cada punto xi , 1 i n, es raiz de n (x), se tiene p(xi ) = q(xi )n (xi )+ r(xi ) = r(xi ). Por lo tanto,
1 n

p(x)dx =
1 i=1

wi p(xi )

lo cual comprueba que la regla de la cuadratura es exacta para el polinomio arbitrario p(x) de grado 2n 1. En la siguiente tabla se muestran valores xi , wi a diez cifras decimales para distintos valores de n. En la prctica, queremos integrar en un intervalo arbitrario [a, b] y no solamente en [1, 1]. En estos casos utilizamos el cambio de variable t= 2x a b ba

el cual transforma [a, b] en [1, 1] si a < b. En este caso x= y


a b 1

(b a)t + a + b 2 (b a)t + a + b 2 ba dt 2

f (x)dx =
1

La regla Gaussiana se aplica a esta ltima integral.


1 x2 dx 0 e

Ejemplo 6.14. Calcular I =

utilizando la frmula Gausiana de 5 puntos (n = 5).

Anlisis Numrico Solucin: a = 0, b = 1 implica x =


1 0

159 t+1 . Por lo tanto 2 e(


t+1 2 ) 2

ex dx = 1 2

1 5

1 1 dt = 2 2

1 1

e(

t+1 2 ) 2

dt

wi e(
i=1

xi +1 2 ) 2

= 0,74682413

utilizando los valores xi y wi de la tabla con n = 5. Observacin. Para obtener una precisin comparable con la regla del trapecio se requieren 2, 800 subdivisiones de [0, 1], mientras que con la regla de Simpson se necesitan 20 subdivisiones aproximadamente. Otros casos que llevan a reglas de integracin de Gauss son Intervalo [1, 1] [1, 1] [0, ) (, ) Funcin de peso v(x) (1 x) (1 (1 + x) , , > 1 ex 2 ex x2 )1/2 Nombre Tn (x), Chebishev , Pn (x), Jacobi Ln (x), Laguerre Hn (x), Hermite

160

L. Hctor Jurez V.

Captulo 7

Aproximacin Numrica de Ecuaciones Diferenciales Ordinarias


7.1. Conceptos bsicos

Los problemas de valores iniciales ecuaciones diferenciales ordinarias ocurren en muchas reas de la ciencia, pero ms particularmente en la mecnica (incluyendo la mecnica celeste), donde el movimiento de partulas (planetas) obedece la 2a ley de Newton. Algunos astrnomos como Adams, Moulton, Cowell, contribuyeron al desarrollo de tnicas numricas para resolver ecuaciones diferenciales ordinarias. Las ecuaciones diferenciales ordinarias tambin juegan un papel importante en la mecnica cuntica, en el estudio de dinmica de poblaciones, modelos biolgicos, desintegracin radiactiva, economa, circuitos elctricos, entre otros campos. Los sistemas de ecuaciones diferenciales ordinarias aparecen tambin como parte importante de la busqueda de soluciones de las ecuaciones diferenciales parciales. El problema tpico de valores iniciales (que denotaremos por PVI) involucra sistemas de ecuaciones diferenciales de 1er orden de la forma dy = f (t, y), a < t b, dt y(t0 ) = y0 (t0 = a), (7.1) (7.2)

donde y = y(t) = (y1 (t), y2 (t), . . . , yn (t))T , y0 = (y01 , y02 , . . . , y0n )T Rn , f = (f1 , f2 , . . . , fn )T funcin vectorial con cada una de sus funciones componentes fi = fi (t, y1 , y2 , . . . , yn ) de Rn+1 en R. Ejemplos de ecuaciones diferenciales ordinarias (e.d.o.) 161

162

L. Hctor Jurez V.

1. Geometra: La ecuacin de una circunferencia de radio r con centro en el origen es x2 + y 2 = r2 . Suponer y = y(x), entonces derivando implcitamente la ecuacin de la circunferencia, se obtiene: 2x + 2y dy dy x =0 = dx dx y

Si identicamos x con t entonces y = y(t), y obtenemos la ecuacin diferencial ordinaria dy t = , dt y y(0) = r 2. Oscilador armnico simple: Consideremos un bloque de masa m suspendido de un resorte. Si a partir de su posicin de equilibrio estiramos encogemos el resorte, entonces despreciando la friccin con el aire, este bloque comienza a oscilar. La ecuacin que describe el movimiento oscilatorio se obtiene a partir de la segunda Ley de Newton. mx (t) = kx(t), donde x(t) indica la desviacin del bloque respecto a la posicin de equilibrio, k es la constante de rgidez ( restitucin) del resorte. La anterior ecuacin ecuacin puede

equilibrio x(t)<0 x(t)>0

m m

Figura 7.1: Bloque de masa m suspendido por un resorte. reescribirse en la forma x + w2 x = 0, con w = k/m.

A su vez, esta ecuacin diferencial de segundo orden puede expresarse como un sistema de dos ecuaciones diferenciales de primer orden (7.1), con y(t) = (y1 (t), y2 (t))T , f (t, y) = (y2 , w2 y1 )T = 0 1 2 0 w y1 y2 (7.3) (7.4)

Anlisis Numrico si hacemos la sustitucin: y1 (t) = x(t) y2 (t) = x (t) y1 (t) = y2 (t) y2 (t) = w2 y1 (t)

163

En forma anloga, una ecuacin diferencial ordinaria de orden n de la forma y (n) (t) = g(t, y(t), y (t), . . . , y (n1) (t)), se puede transformar en un problema del tipo y = f (t, y), haciendo la sustitucin: y1 (t) = y(t) y1 (t) = y (t) = y2 (t) y2 (t) = y (t) y2 (t) = y (t) = y3 (t) . . . yn1 (t) = y (n2) (t) yn1 (t) = y (n1) (t) = yn (t) yn (t) = y (n1) (t) yn (t) = y (n) (t) = g(t, y1 , y2 , . . . , yn ) e identicando a y(t) y f (t, y) con y(t) = (y1 (t), y2 (t), . . . , yn (t))T , f (t, y) = (y2 (t), y3 (t), . . . , yn (t), g(t, y1 (t), y2 (t), . . . , yn (t)))T , respectivamente. 3. Problema de dos cuerpos. Un problema ligeramente ms complicado de la mecnica celeste es el que describe la rbita de un cuerpo de masa m bajo la atraccin de otro cuerpo de masa mucho mayor M como se ilustra en la Figura 7.2 .
m r(t) M

. . .

Figura 7.2: Dinmica de dos cuerpos.

Usando coordenadas cartesianas x1 (t), x2 (t), centradas en el cuerpo ms pesado, las ecuaciones son: x1 (t) = GM x1 (t)/r(t)3 , x2 (t) = GM x2 (t)/r(t)3 ,

164 donde G es la constante de gravitacin universal y r(t) = la sustitucin: y1 (t) = x1 (t) y1 (t) = x1 (t) = y3 (t) y2 (t) = x2 (t) y2 (t) = x2 (t) = y4 (t)

L. Hctor Jurez V. x1 (t)2 + x2 (t)2 . Si hacemos

y3 (t) = x1 (t) y3 (t) = x1 (t) = GM y1 (t)/r(t)3 y4 (t) = x2 (t) y4 (t) = x2 (t) = GM y2 (t)/r(t)3 con r(t) = x1 (t)2 + x2 (t)2 = y1 (t)2 + y2 (t)2 , obtenemos el sistema de ecuaciones diferenciales ordinarias de primer orden y (y) = f (t, y) donde y(t) = (y1 (t), y2 (t), y3 (t), y4 (t))T , f (t, y) = (f1 , f2 , f3 , f4 )T , con f1 (t, y) = y3 , f2 (t, y) = y4 ,
2 2 f3 (t, y) = GM y1 /(y1 + y2 )3/2 , 2 2 f4 (t, y) = GM y2 /(y1 + y2 )3/2 .

El teorema fundamental del clculo establece una conexin importante entre ecuaciones diferenciales e integrales dy = f (t, y) dt
t+h

y(t + h) = y(t) +
t

f (s, y(s))ds

No podemos usar integracin numrica directamente en el problema de la derecha por que y(s) es una funcin desconocida. De cualquier manera la idea bsica es escoger una sucesin de valores h (pasos del tiempo) y a partir de dicha frmula generar nuestra solucin numrica. Un caso especial que hay que tomar en cuenta es cuando f (t, y) = f (t) es solamente funcin de t. En este caso la solucin de la ecuacin diferencial autnoma consiste en encontrar la antiderivada de f (t), es decir su integral:
t+h

y(t + h) = y(t) +
t

f (s)ds

La solucin numrica es entonces una sucesin de cuadraturas de la forma


tn+1

yn+1 = yn +

f (s)ds
tn

Anlisis Numrico

165

7.2.

Existencia y unicidad de la solucin

La existencia y unicidad de soluciones del problema (7.1)(7.2) depende fundamentalmente de las propiedades de suavidad de la funcin f (t, y). En particular se requiere que f sea continua respecto a t y Lipschitz continua respecto a y. Antes de ununciar el teorema, recordamos este ltimo concepto. Denicin 7.1. Una funcin f : [a, b] Rn Rn se dice que es Lipschitz continua respecto a la variable y si existe una constante L > 0 tal que f (t, y) f (t, y ) L y y , en alguna norma vectorial en Rn t [a, b], y, y Rn

Ejemplo 7.2. En el problema del oscilador armnico encontramos que f (t, y) = (y2 , w2 y1 )T , con w constante. Entonces en la norma euclidiana tenemos f (t, y) f (t, y )
2

= =

(y2 y2 , w2 (y1 y1 ))T

(y2 y2 )2 + w4 (y1 y1 )2

mx{1, w2 } (y2 y2 )2 + (y1 y1 )2 a

= mx{1, w2 } y y a

Por tanto, si tomamos L = mx{1, w2 }, entonces se satisface una condicin de Lipschitz a para f (t, y) (en realidad en este caso f no depende de t). Observese que la condicin tipo Lipschitz es parecida a la propiedad que dene a una aplicacin como una contraccin (ver captulo 3). Sin embargo, la constante de Lipschitz no tiene que ser L < 1, pudiendo ser incluso muy grande, pero constante. Intuitivamente hablando, la condicin de Lipschitz asegura que la funcin f (t, y) no tenga cambios muy bruscos innitos cuando y vara. Teorema 7.3. Teorema de existencia y unicidad. Si f (t, y) es una funcin continua respecto a t en [a, b], Lipschitz continua respecto a y en Rn , entonces el problema de valores iniciales (PVI) tiene una solucin nica y(t), a t b para cualquier condicin inicial y0 Rn . Adems y(t) depende continuamente de t0 y y0 (los datos iniciales). Nota 1. En ocasiones la condicin de Lipschitz no se satisface para toda y Rn , sino en un subconjunto Y de Rn . En este caso el teorema de existencia y unicidad sigue siendo vlido en [a, b] Y .

166

L. Hctor Jurez V.

Nota 2. En ocasiones es muy difcil vericar una condicin de Lipschitz en forma directa. fi (t, y) son continuas y acotadas en [a, b] Rn Sin embargo si las derivadas parciales yi [a, b] Y (con Y Rn ), entonces f (t, y) es Lipschitz continua respecto a y en Rn Y, respectivamente. Ejemplo 7.4. La funcin f (t, y) = t/y no es Lipschitz continua en cualquier conjunto que tenga y = 0. Sin embargo como f /y = t/y 2 es continua respecto a t y respecto a toda y = 0, entonces f (t, y) es Lipschitz continua en cualquier t [a, b] y cualquier conjunto Y que no contenga y = 0. Geomtricamente es fcil observar que el problema no tiene solucin si la condicin inicial fuese y(0) = 0 y(0) = r < 0, pues no hay circunferencias de radio nulo negativo.

7.3.

Mtodos de aproximacin con series de Taylor

En el presente estudio solo consideraremos mtodos de aproximacin de variable discreta del problema PVI. En estos mtodos se encuentran aproximaciones yi de la solucin exacta y(ti ) solo en puntos discretos ti [a, b], como se muestra en la Figura 7.3. Los mtodos

yN y1 y2 y(tN)

y(t0)=y0

y(t1) y(t2)

t0=a

t1

t2

...

tn=b

Figura 7.3: Aproximacin de variable discreta.

de series de Taylor son mtodos de este tipo. La idea para obtener este tipo de mtodos consiste en lo siguiente: Sea y(t) la solucin de (7.1)(7.2) al tiempo arbitrario t. Si h es un incremento del tiempo, entonces y(t + h) = y(t) + y (t)h + y (t) 2 y (t) 3 h + h + .... 2! 3! (7.5)

Anlisis Numrico Si y(t) no es conocida, las derivadas de y(t) tampoco lo son. Sin embargo, sabemos que y (t) = f (t, y), y (t) = f (1) (t, y) = ft (t, y) + fy (t, y)f (t, y),
(1) y (t) = f (2) (t, y) = ft (t, y) + fy (t, y)f (t, y), . . . (1)

167

y (k+1) (t) = f (k) (t, y) = ft

(k1)

(k1) (t, y) + fy (t, y)f (t, y) ,

en donde f (1) y f (2) , . . . , f (k) , k 0, indican derivadas totales de f respecto a t. Por lo tanto (7.5) puede reescribirse como y(t + h) = y(t) + hf (t, y) + h2 (1) h3 f (t, y) + f (2) (t, y) + . . . 2 3! (7.6)

Observese que si la funcin f (t, y) no es simple, las derivadas f (1) , f (2) , f (3) sern cada vez ms complicadas. Adems por razones prcticas debemos limitarnos a un nmero nito de trminos en la serie. Esta limitacin restringe los valores de h para los cuales (7.6) es una buena aproximacin a y(t). Si cortamos la serie a p + 1 trminos (p 1), se obtiene y(t + h) = y(t) + hf (t, y) + h2 (1) hp hp+1 (p) f (t, y) + . . . + f (p1) (t, y) + f (, y()) 2! p! (p + 1)! hp1 (p1) hp+1 (p) h f (t, y) + f (, y()) = y(t) + h f (t, y) + f (1) (t, y) + . . . + 2! p! (p + 1)!

con entre t y t + h. Entonces, podemos escribir y(t + h) = y(t) + h(t, y; h) + con (t, y; h) =
k=0 p1

hp+1 (p) f (, y()), (p + 1)! hk (k + 1)!

(7.7)

f (k) (t, y)

(7.8)

El algoritmo de Taylor, y otros mtodos basados en este tipo de algoritmos calculan y en ti+1 usando solamente informacin de y en ti , donde ti+1 = ti + hi es un incremento en tiempo de ti . La forma ms sencilla de llevar a cabo esta estrategia es dividir el intervalo [a, b] en N subintervalos de igual longitud h = (b a)/N , obteniendo el Algoritmo de Taylor de orden p 1. Escoger h = (b a)/N y sean ti = t0 + ih, con i = 0, 1, . . . , N .

168

L. Hctor Jurez V.

2. Dado el valor inicial y0 , para cada i = 0, 1, . . . , N 1 generar una aproximacion yi+1 de la solucin exacta y(ti+1 ) por medio de la relacin de recurrencia yi+1 = yi + h(ti , yi ; h), (7.9)

Por ejemplo, cuando p = 1 se obtiene (t, y; h) = f (t, y) y obtenemos el mtodo de Euler, cuya relacin de recurrencia es: yi+1 = yi + hf (ti , yi ), i = 0, 1, . . . , N 1. (7.10)

El mtodo de Taylor de 2o orden se obtiene con p = 2. En este caso (t, y; h) = f (t, y) + h f (1) (t, y), y la relacin de recurrencia es 2 yi+1 = yi + h f (ti , yi ) + h (1) f (ti , yi ) , 2 i = 0, 1, . . . , N 1 (7.11)

Ejemplo 7.5. Considerese la ecuacin diferencial ordinaria escalar y (t) = 2y y 2 , y(0) = 1. La solucin exacta de esta ecuacin es y(t) = 2/(1+e2t ). En la Figura 7.4 y en la Tabla 7.1 se muestran los resultados con el mtodo de Euler (7.10) y el mtodo de Taylor (7.11) tomando h = 0.1. Tanto en la tabla como en la grca se observa una mejor aproximacin con el
2 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1 0 0.5 1 1.5 exacta Euler Taylor 2 2

0<t2

Figura 7.4: Grcas de las soluciones con los mtodos de Euler y Taylor de 2o orden.

mtodo de Taylor de orden 2 que con el mtodo de Euler como era de esperarse. Observese que en este caso f (t, y) = 2y y 2 y entonces f (1) (t, y) = (2 2y)(2y y 2 ) = 2y(1 y)(2 y).

Anlisis Numrico
t 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 Sol. Euler 1.0000000 1.1000000 1.1990000 1.2950399 1.3863350 1.4714096 1.5491869 1.6190262 1.6807069 1.7343707 1.7804407 1.8195319 1.8523687 1.8797154 1.9023255 1.9209064 1.9360995 1.9484713 1.9585115 1.9666371 1.9731984 Sol. Taylor 1.0000000 1.1000000 1.1980100 1.2921867 1.3809770 1.4632059 1.5381117 1.6053323 1.6648544 1.7169416 1.7620568 1.8007886 1.8337897 1.8617278 1.8852520 1.9049698 1.9214345 1.9351394 1.9465171 1.9559423 1.9637359 Error Euler 0.0000000 3.3200538e-4 1.6246798e-3 3.7272875e-3 6.3860835e-3 9.2924117e-3 1.2137304e-2 1.4658472e-2 1.6670129e-2 1.8072841e-2 1.8846521e-2 1.9032890e-2 1.8714049e-2 1.7992264e-2 1.6973853e-2 1.5758116e-2 1.4430961e-2 1.3062215e-2 1.1705495e-2 1.0399618e-2 9.1707727e-3 Error Taylor 0.0000000 3.3200538e-4 6.3467978e-4 8.7412722e-4 1.0280498e-3 1.0886996e-3 1.0621176e-3 9.6455088e-4 8.1761418e-4 6.4369998e-4 4.6259408e-4 2.8960765e-4 1.3504982e-4 4.6307489e-6 9.9641180e-5 1.7841400e-4 2.3401902e-4 2.6967832e-4 2.8892268e-4 2.9520355e-4 2.9166246e-4

169

Cuadro 7.1: Comparacin entre los mtodos de Euler y Taylor de 2o orden. Ejemplo 7.6. Consideremos la ecuacin del oscilador armnico simple x (t) + w2 x(t) = 0, x(0) = 1, 0 < t 2,

x (0) = 0.

Transformamos la ecuacin diferencial de segundo orden en un sistema de dos ecuaciones de primer orden y = f (t, y) con y y f (t, y) como se indica en (7.3)(7.4). La condicin inicial es y(0) = (y1 (0), y2 (0))T = (1, 0)T , adems f (1) (t, y) = ft (t, y) + fy (t, y)f (t, y) = Tomando w = 2, se obtiene f (t, y) = (y2 , 4y1 )T , f (1) (t, y) = 4(y1 , y2 )T , 0 0 + 0 1 2 0 w y2 w2 y1 = w2 y1 y2

y el mtodo de Euler (7.10) y Taylor de 2o orden (7.11) con h = 0.1 producen los resultados mostrados en la Figura 7.5. De nuevo es evidente la superioridad del mtodo de Taylor de 2o orden. Observese que en este caso la diferencia entre ambos mtodos es an mayor que en el caso anterior debido a que la solucin con el mtodo de Euler se deteriora cada vez ms conforme avanza el tiempo. A continuacin introducimos algunas deniciones tiles para analizar los mtodos de Taylor y otros mtodos que estudiaremos ms adelante.

170
4

L. Hctor Jurez V.

exacta Euler Taylor 1 2 3 tiempo 4 5 6 7

4 0

Figura 7.5: Soluciones numricas para el oscilador armnico simple.

Denicin 7.7. Error de truncamiento. El error de truncamiento del mtodo de un paso yi+1 = yi + h(ti , yi ; h), se dene como T (t, y; h) = donde yaprox = y(t) + h(t, y(t); h). Entonces el error de truncamiento es una medida de la diferencia entre la soluciones aproximada y exacta de la ecuacin diferencial por unidad del paso de tiempo h. Sustituyendo la expresin yaprox en la expresin T (t, y; h), obtenemos T (t, y; h) = (t, y; h) 1 [y(t + h) y(t)] h (7.13) 1 (yaprox y(t + h)), h (7.12)

Denicin 7.8. Consistencia. El mtodo de un paso (7.12) es consistente si T (t, y; h) 0, cuando h 0.

De la relacin (7.13) se obtiene que el mtodo es consistente si 0 = y(t + h) y(t) h0 h0 h0 h = (t, y; 0) y (t) = (t, y; 0) f (t, y). l T (t, y; h) = l (t, y; h) l m m m

Anlisis Numrico Es decir, el mtodo de un paso es consistente si (t, y; 0) = f (t, y)

171

(7.14)

Denicin 7.9. Orden del mtodo El mtodo (7.12) se dice que tiene orden p, con p entero 1, si en alguna norma vectorial T (t, y; h) c hp uniformemente sobre [a, b] Rn , donde c no depende de t, y h. Para expresar que el mtodo es de orden p, usualmente escribimos T (t, y; h) = O(hp ), h 0 Observese que si p > 1, entonces automticamente se tiene consistencia en el mtodo. El nmero p se denomina el orden exacto del mtodo si la desigualdad (7.15) no se cumple para ningn nmero mayor a p. (7.15)

Denicin 7.10. Funcin principal del error. Si determina un mtodo de orden p, a una funcin : [a, b] Rn Rn que satisfaga (x, y) = 0 y T (t, y; h) = (t, y)hp + O(hp+1 ), h 0,

se denomina la funcin principal del error. La funcin principal del error determina el trmino lder en el error de truncamiento. El nmero p en T (t, y; h) = (t, y)hp + O(hp+1 ) es el orden exacto del mtodo ya que (t, y) = 0. Nota. Todas las deniciones anteriores se hacen con la idea en mente de que h > 0 es un nmero pequeo. Entonces entre mayor es p ms preciso es el mtodo. Por ejemplo, el mtodo de Taylor de 2o orden (p = 2) es ms preciso que el mtodo de Euler (p = 1).

Ejemplo 7.11. Ilustraremos las deniciones anteriores para el mtodo de Euler: yi+1 = yi + hf (ti , yi ), i = 0, 1, 2, . . . , N 1

172

L. Hctor Jurez V.

Dado que (t, y; h) = f (t, y) no depende de h, entonces (t, y, 0) = f (t, y) e inmediatamente concluimos que el mtodo es consistente. El error de truncamiento es: (suponiendo que y C 2 [a, b]) T (t, y; h) = (t, y; h) 1 1 (y(t + h) y(t)) = f (t, y) (y(t + h) y(t)) h h 1 h2 h h = y (t) (hy (t) + y ()) = y () = f (1) (, y()) h 2 2 2

donde f (1) ft + fy f , con entre t y t + h. Por lo tanto, si f y todas sus derivadas parciales de primer orden estn uniformemente acotadas en [a, b] Rn , entonces T (t, y; h) c h. Esto muestra que efectivametne el mtodo de Euler tiene p = 1. Si hacemos la misma suposicin de acotamiento uniforme sobre las segundas derivadas de y, entonces y () = y (t) + O(h), as que h T (t, y; h) = [ft + fy f ] (t, y) + Oh2 , 2 lo cual demuestra que la funcin principal del error es 1 1 (t, y) = [ft + fy f ](t, y) = f (1) (t, y). 2 2 As pues, a menos que ft + fy f 0, el mtodo de Euler tiene exactamente orden p = 1. Ejemplo 7.12. En forma anloga podemos hacer un anlisis para el mtodo de Taylor general (7.9). Suponiendo que f C p sobre [a, b] Rn de (7.7), (7.8) y (7.13) se obtiene T (t, y; h) = con entre t y t + h. As que T (t, y; h) cp hp , (p + 1)! hp f (p) (, y()) (p + 1)! h 0,

con cp = cota de f (p) (t, y) en [a, b] Rn . Entonces, el mtodo tiene exactamente el orden p, a menos que f p (t, y) 0 y, por lo tanto, la funcin principal del error es (t, y) = 1 f p (t, y) (p + 1)! (7.16)

Anlisis Numrico Claramente el mtodo es consistente, pues de (7.8) se obtiene (t, y; 0) = f (t, y).

173

Una de las principales desventajas de los mtodos de Taylor de orden mayor es que es necesario clcular derivadas de orden superior f (k) (t, y). Por esta razn los investigadores optaron por buscar mtodos de orden mayor al mtodo de Euler pero sin la necesidad de calcular derivadas de f (t, y). En la siguiente seccin se introducen tales mtodos, denominados mtodos de Runge-Kutta.

7.4.

Mtodos de Runge-Kutta

En el mtodo de Euler, para calcular y(t + h) a partir de y(t), se corrige el valor y(t) sumando hf (t, y), para obtener yaprox = y(t) + hf (t, y), donde yaprox denota una aproximacin al valor exacto y(t + h). La Figura 7.6 ilustra la diferencia entre yaprox y y(t + h). Se toma en cuenta que f (t, y) = y (t) representa la pendiente de la tangente a y en t.

yaprox Pendiente 1 y (t)=f(t,y)

y(t+h)

y(t)

t+h

Figura 7.6: Interpretacin geomtrica del mtodo de Euler.

Habiendo hecho esta descripcin geomtrica, observamos que para mejorar el clculo es necesario seguir una mejor direccin a partir del punto (t, y(t)). Esto se logra reevaluando la pendiente a la mitad del intervalo [t, t + h], y entonces seguir la pendiente revisada sobre

174 el intervalo completo. Es decir Pendiente revisada: Nuevo mtodo: En este caso obtenemos f t+

L. Hctor Jurez V.

yaprox

h h , y + f (t, y) 2 2 h h = y + h f t + , y + f (t, y) 2 2

h h , y + f (t, y)). 2 2 Esta construccin se muestra en la Figura 7.7. Notese la caracterstica anidada de f en la (t, y, h) = f (t +

yaprox m=f(t+h/2,y+h/2 f(t,y)) y(t+h)

y(t)

t+h/2

t+h

Figura 7.7: Interpretacin del mtodo de Euler mejorado.

frmula de aproximacin. Para propsitos de programacin se deshace el anidamiento de f y escribimos: Mtodo de Euler modicado ( mejorado) k (t, y) = f (t, y) 1 k (t, y) = f (t + h , y + h k1 ) 2 2 2 yaprox = y + hk2

(7.17)

En este mtodo, hemos tomado dos pendientes de prueba: k1 y k2 . La primera se toma en el punto inicial, y la segunda a la mitad del camino, y al nal hemos tomado la segunda como pendiente para avanzar. Es posible tambin tomar la segunda pendiente de prueba en el punto (t+h, y +hf (t, y)), pero entonces se corre el peligro de haber esperado mucho para revaluar la pendiente. Una

Anlisis Numrico

175

mejor opcin es tomar la pendiente nal como el promedio de las dos pendientes m1 = f (t, y) y m2 = f (t + h, y + hf (t, y)). Con esta estrategia obtenemos el siguiente mtodo, cuya interpretacin grca se muestra en la Figura 7.8: Mtodo de Heun ( del trapecio)

m2=f(t+h,y+hf(t,y))

yaprox y(t+h) m1=f(t,y)


m= m1+m2 2

t+h

Figura 7.8: Interpretacin del mtodo del Trapecio. k (t, y) = f (t, y) 1 k (t, y) = f (t + h, y + hk1 ) 2 yaprox = y + h (k1 + k2 )
2

(7.18)

En este caso

1 (t, y; h) = [f (t, y) + f (t + h, y + hf (t, y))]. 2 En los algoritmos usualmente no se utiliza la letra m para denotar las pendientes en los mtodos. En su lugar se utliza la letra k. Las ventajas que se obtienen con estas modicaciones para revaluar la pendiente son bsicamente dos: 1. Los mtodos obtenidos tienen un orden p = 2, el cual es mayor que el mtodo de Euler. 2. No se evalan derivadas de f . Solo se evala f dos veces en cada paso de tiempo.

7.5.

Mtodos de Runge-Kutta de dos etapas

Una forma ms sistemtica para obtener los mtodos anteriores (7.17) y (7.18) consiste en suponer que es un promedio pesado de dos pendientes k1 y k2 . Es decir (t, y; h) = 1 k1 + 2 k2

176 con 1 + 2 = 1, 1 , 2 0, y k1 (t, y) = f (t, y), k2 (t, y) = f (t + h, y + hk1 ),

L. Hctor Jurez V.

En las pendientes anteriores el parmetro expresa que fraccin de tiempo nos movemos entre t y t + h. La idea fundamental de los mtodos de RungeKutta es intentar escoger los parmetros 1 , 2 y de tal manera que el orden del mtodo se pueda maximizar. Es decir, de tal forma que y(t + h) y(t) h y(t + h) y(t) h

T (t, y; h) = (t, y; h)

= 1 f (t, y) + 2 f (t + h, y + hk1 ) = O(hp ), h 0

con p mximo. Si escribimos t = h y y = h k1 = t f (t, y), entonces f (t + h, y + hk1 ) = f (t + t, y + y) = f (t, y) + [ft t + fy y] (t, y) 1 + ftt t2 + 2fty ty + y T fyy y (t, y) + . . . 2 = f (t, y) + h [ft + fy f ] (t, y) + Anlogamente y(t + h) y(t) h h2 = y (t) + y (t) + y (3) (t) + O(h3 ) h 2 3! h2 h (1) = f (t, y) + f (t, y) + f (2) (t, y) + O(h3 ) 2 6 h = f (t, y) + [ft + fy f ](t, y) 2 2 h + [ftt + 2fty f + f T fyy f + fy (ft + fy f )](t, y) + O(h3 ) 6 2 h2 [ftt + 2fty + f T fyy f ](t, y) + O(h3 ) 2

Anlisis Numrico

177

Sustituyendo estas dos expresiones en la expresin del error de truncamiento, obtenemos: T (t, y; h) = 1 f + 2 f + h[ft + fy f ] + f 2 h2 [ftt + 2fty f + f T fyy f ] 2

h2 h [ft + fy f ] [ftt + 2fty f + f T fyy f + fy (ft + fy f )] + O(h3 ) 2 6 = (1 + 2 1)f + (2 1/2)h[ft + fy f ] + h2 1 (2 2 1/3)(ftt + 2fty f + f T fyy f ) fy (ft + fy f ) + O(h3 ) 2 3

En esta expresin el primer coeciente es cero pues 1 + 2 = 1; el segundo coeciente es cero si 2 = 1/2; el tercer coeciente no puede hacerse cero, a menos que se impongan restricciones muy severas sobre f . Por lo tanto, el mximo orden alcanzable es p = 2 si escogemos 1 , 2 , , tales que 1 2 = . 2 Si despejamos 1 de la primera ecuacin y de la segunda, se obtiene una familia de soluciones que dependen del parmetro 2 = 0: 1 + 2 = 1, 1 = 1 2 y = 1 . 22

Se puede vericar muy facilmente que el mtodo de Euler modicado se obtiene escogiendo 2 = 1, y el mtodo de Heun se obtiene escogiendo 2 = 1/2. Otra posible eleccin se obtiene considerando la funcin principal del error (recuerdese que = 1/22 ) (x, y) = 1 1 1 1 ( )(ftt + 2fty f + f T fyy f ) fy (ft + fy f ) (t, y) 2 42 3 3

Observese que la suma de los valores absolutos de los coecientes se puede minimizar si escogemos 2 = 3/4, con lo cual se obtiene 1 1 = , 4 Con estos valores se obtiene el mtodo: Mtodo RK2 ptimo 3 2 = , 4 2 = . 3

k = f (t, y) 1
2 k = f (t + 2 h, y + 3 hk1 ) 3 2 yaprox = y(t) + h (k1 + 3k2 ) 4

178

L. Hctor Jurez V.

Ejemplo 7.13. Resolvemos de nuevo el problema del oscilador armnico simple con w = 2, utilizando el mtodo de Euler modicado y el mtodo de Heun con h = 0.1 en el intervalo 0 t 2. Hacemos la transformacin de la ecuacin de segundo orden a un sistema de dos ecuaciones de primer orden como en el ejemplo anterior. Los resultados numricos con los mtodos de Euler modicado y Heun son casi idnticos. En la Tabla 7.2 se muestra el error al utilizar ambos mtodos as como la diferencia en valor absoluto de los resultados obtenidos con ambos mtodos para los ltimos 19 valores. Se observa una diferencia entre ambos mtodos de orden 1016 . En la Figura 7.9 se muestra una grca de la solucin exacta x(t) = cos(2t) junto con las soluciones aproximadas.
t 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 Error Euler-mod 3.1253742e-2 2.0823611e-2 9.0537770e-3 3.6095901e-3 1.6663189e-2 2.9566583e-2 4.1764547e-2 5.2710839e-2 6.1892396e-2 6.8852876e-2 7.3214496e-2 7.4697138e-2 7.3133807e-2 6.8481647e-2 6.0827900e-2 5.0390400e-2 3.7512415e-2 2.2651917e-2 6.3655670e-3 Error Heun 3.1253742e-2 2.0823611e-2 9.0537770e-3 3.6095901e-3 1.6663189e-2 2.9566583e-2 4.1764547e-2 5.2710839e-2 6.1892396e-2 6.8852876e-2 7.3214496e-2 7.4697138e-2 7.3133807e-2 6.8481647e-2 6.0827900e-2 5.0390400e-2 3.7512415e-2 2.2651917e-2 6.3655670e-3 Dif. EM y Heun 7.7715612e-16 7.7715612e-16 8.8817842e-16 7.7715612e-16 6.6613381e-16 4.4408921e-16 2.2204460e-16 1.1102230e-16 5.5511151e-17 2.4980018e-16 4.4408921e-16 5.5511151e-16 6.1062266e-16 7.7715612e-16 8.8817842e-16 8.8817842e-16 7.7715612e-16 6.6613381e-16 6.6613381e-16

Cuadro 7.2: Comparacin de los mtodos de Euler modicado y Heun

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0

exacta Euler Modificado Heun

Figura 7.9: Comparacin de los mtodos de Euler mejorado y Heun.

Anlisis Numrico

179

7.6.

Mtodos de un paso de retapas

En forma anloga en como se introducen los mtodos de dos etapas se pueden generar mtodos de orden mayor. Por ejemplo, en un mtodo de r etapas se proponen r pendientes de la forma k1 (t, y) = f (t, y), k2 (t, y) = f (t + 2 h, y + h21 k1 ), k3 (t, y) = f (t + 3 h, y + h31 k1 + h32 k2 ), . . . kr (t, y) = f (t + r h, y + hr1 k1 + hr2 k2 + . . . + hr,r1 kr1 ), donde los incrementos 2 , 3 , . . . , r se escogen para para que 2 = 21 , 3 = 31 + 32 , . . ., r = r1 + r2 + . . . + r,r1 . Posteriormente se forma un promedio ponderado de las pendientes propuestas, para obtener (t, y; h) = 1 k1 + 2 k2 + . . . + r kr de tal manera que 1 + 2 + . . . + r = 1. As que yaprox = y(t) + h(t, y; h) Los parmetros introducidos se escogen en la forma adecuada para obtener el mximo orden en el error de truncamiento. Es decir de tal forma que y(t + h) y(t) T (t, y; h) = (t, y; h) = h = O(hp ), con p mximo. El procedimiento es ms engorroso que en el caso de los mtodos de dos etapas, y no intentaremos abordarlo con detalle en este escrito. Basta decir que el algoritmo general de r etapas requiere r evaluaciones de f por cada paso del tiempo. El mtodo ms popular es el denominado mtodo de Runge-Kutta de cuarto orden. Este es un mtodo de cuatro etapas y viene dado por h0
r

i ki
i=1

y(t + h) y(t) h

180 Mtodo de Runge-Kutta clsico (r=4) k1 (t, y) = f (t, y), h 1 k2 (t, y) = f (t + , y + hk1 ) 2 2 1 h k3 (t, y) = f (t + , y + hk2 ) 2 2 k4 (t, y) = f (t + h, y + hk3 ) h yaprox = y(t) + (k1 + 2k2 + 2k3 + k4 ) 6 Observese que en este caso 1 (t, y, ; h) = (k1 + 2k2 + 2k3 + k4 ). 6

L. Hctor Jurez V.

El mtodo es de orden p = 4, y cuando la funcin f (t, y) no depende de y se puede demostrar t facilmente que este mtodo se reduce al mtodo de Simpson para calcular t0 f ( )d . En forma anloga puede demostrarse que si f (t, y) no depende explcitamente de y, el mtodo de Euler modicado se reduce al mtodo del punto medio para aproximar la integral de f (t), y el mtodo de Heun se reduce al mtodo del trapecio. A continuacin se muestran los resultados numricos que se obtienen cuando se utiliza el mtodo de Runge-Kutta clsico con h = 0.1, para resolver la ecuacin del oscilador armnico simple con w = 2 en 0 t 2. En la tabla se muestran los valores de la solucin numrica y el error para valores desde t = 4.5 hasta t = 6.3. Los resultados muestran la superioridad de este mtodo respecto de los mtodos anteriores.
t 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 Sol. RK-4 -9.1106338e-1 -9.7479683e-1 -9.9966920e-1 -9.8468894e-1 -9.3045331e-1 -8.3912447e-1 -7.1434336e-1 -5.6108451e-1 -3.8545771e-1 -1.9446450e-1 4.2810183e-3 2.0285570e-1 3.9334320e-1 5.6814960e-1 7.2030612e-1 8.4374693e-1 9.3355101e-1 9.8613826e-1 9.9941230e-1 Error 6.6886305e-5 4.6788469e-5 2.3846367e-5 1.0861609e-6 2.7034469e-5 5.2941197e-5 7.7709332e-5 1.0024850e-4 1.1952256e-4 1.3459635e-4 1.4467967e-4 1.4916631e-4 1.4766633e-4 1.4003006e-4 1.2636242e-4 1.0702665e-4 8.2637098e-5 5.4040974e-5 2.2289544e-5

Cuadro 7.3: Resultados con el mtodo RK4 para el oscilador armnico simple.

Anlisis Numrico
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6

181

exacta RungeKutta 4

Figura 7.10: Grca de resultados con el mtodo de RungeKutta 4.

7.7.

Estabilidad y convergencia de los mtodos de un paso

Para el estudio de la estabilidad y convergencia de los mtodos de un paso, consideraremos el caso ms general en el que el paso del tiempo puede ser variable: yi+1 = yi + hi (ti , yi ; hi ). A continuacin introducimos algunas deniciones y notacin til para el estudio de la convergencia y estabilidad de los mtodos de un paso. Mallas. Una malla en [a, b] es un conjunto de puntos {ti }N tales que i=0 a = t0 < t1 < . . . < tN = b, con longitudes de malla hi = ti+1 ti , i = 0, 1, . . . , N 1. A menudo se usa la letra h para sealar la coleccin de longitudes {hi }N 1 . El tamao nura de la malla se mide por i=0 medio de |h| := mx hi = h , a
0iN 1

Si hi es constante e igual a (b a)/N para toda 0 i N 1, se dice que la malla es uniforme, de otra manera se dice que la malla es no uniforme. Si la malla no es uniforme se dice que el mtodo es de paso variable. Funciones de malla. La funcin vectorial vh = {vi }N , i=0 con vi Rn ,

182

L. Hctor Jurez V.

se denomina funcin de malla, y al conjunto coleccin de funciones de malla denidas sobre [a, b] lo denotamos por Fh [a, b]. Podemos denir normas de funciones de malla. Por ejemplo, dado vh = {vi }i=0N Fh [a, b], denimos vh

= mx a

0iN

vi ,

en donde vi indica una norma vectorial de vi Rn . Los mtodos de un paso, y cualquier otro mtodo de variable discreta, produce una funcin de malla yh = {y(ti )}N en los puntos de malla {ti }N . Es decir, dado el valor i=0 i=0 incial y0 Rn , t0 = a, el mtodo ti+1 = ti + hi yi+1 = yi + hi (ti , yi ; hi ), (7.19) (7.20)

con i = 0, 1, . . . , N 1, aproxima la solucin del problema de valores inciales (7.1)(7.2). Operadores Residuales. Para el estudio de la estabilidad y convergencia es til introducir los siguientes operadores residuales: (Ry)(t) := y (t) f (t, y(t)), y (C (1) [a, b])n . yi+1 yi (Rh yh )i := (ti , yi ; hi ), yh Fh [a, b] . hi De la denicin de estos operadores residuales, se deduce que: Si Ry 0 , entonces y(t) resuelve la ecuacin diferencial ordinaria (7.1). Si Rh yh 0 , entonces yh = {yi }N resuelve la ecuacin en diferencias (7.19)(7.20). i=0 Si hacemos la interpretacin (Rh y)(t) := entonces (Rh y)(t) = T (t, y; h). y(t + h) y(t) (t, y; h), h

7.7.1.

Estabilidad

La estabilidad es una propiedad del esquema numrico solamente, y no tiene nada que ver con la precisin poder de aproximacin del mismo. La estabilidad caracteriza la robustez del esquema con respecto a las perturbaciones pequeas. Es decir, pequeos cambios en los datos , producen cambios pequeos en las soluciones numricas. Veremos que la estabilidad del esquema junto con la consistencia del mismo, implica la convergencia de la solucin numrica a la solucin exacta.

Anlisis Numrico

183

Denicin 7.14. El mtodo (7.19)(7.20) es estable sobre [a, b] si existe K > 0, independiente de cualquier malla h sobre [a, b], tal que para cualesquier dos funciones de malla yh = {yi }N , wh = {wi }N , se satisface i=0 i=0 yh wh h con |h| pequeo. Esta denicin est motivada por la siguiente propiedad: Supongase que yh = {yi }N i=0 es la solucin de la ecuacin en diferencias (7.19)(7.20), obtenida con precisin innita. Entonces Rh yh = 0, y(t0 ) = y0 . Ahora bin, cuando utilizamos una computadora o cualquier otro medio de clculo para aplicar el esquema (7.19)(7.20), la precisin es nita y el error de redondeo estar presente en los clculos. Entonces, en lugar de obtener yh obtenemos la solucin en punto otante wh = {wi }N , la cual satisface i=0 Rh wh = , con = {i }N i=0

K( y0 w0 + Rh yh Rh wh

w0 = y0 + 0 , en donde w0 es la representacin en punto otante de y0 (es decir, si 0 = (01 , 02 , . . . , 0n )T , entonces |0i | maq ). Por lo tanto, la estabilidad del mtodo (7.19)(7.20) se satisface si existe K > 0 tal que yh wh

K( 0 +

(7.21)

Esta ltima relacin nos indica que el mtodo (7.19)(7.20) es estable si el cambio global en yh es del mismo orden de magnitud que los errores residuales = {i }N y el error inicial i=0 0 . Tambin observamos que Rh wh = signica que para 0 i N 1, (Rh wh )i = ()i , es decir wi+1 wi (ti , wi ; hi ) = i , h bin wi+1 = wi + hi (ti , wi ; hi ) + hi i . De la ltima expresin se deduce que el efecto del error de redondeo se desvanece cuando |h| 0, pues wi+1 wi + hi (ti , wi ; hi ) cuando |h| 0.

184

L. Hctor Jurez V.

Teorema 7.15. El mtodo (7.19)(7.20) es estable si (t, y; h) satisface una condicin de Lipschitz con respecto a y sobre [a, b] Rn [0, h0 ] con h0 > 0. Es decir, si (t, y; h) (t, y ; h) M y y , y, y Rn

Demostracin. Sea h = {hi }N una malla en [a, b] y sean yh = {yi }N , wh = {wi }N dos i=1 i=0 i=0 funciones de malla. Se satisface yi+1 = yi + hi (ti , yi ; hi ) + hi (Rh yh )i wi+1 = wi + hi (ti , wi ; hi ) + hi (Rh wh )i . Entonces yi+1 wi+1 = yi wi + hi [(ti , yi ; hi ) (ti , wi ; hi )] + hi [(Rh yh )i (Rh wh )i ]. Sean ei = yi wi y di = (Rh yh )i (Rh wh )i en alguna norma vectorial , y sea = d = mx0iN di . Debido a que satisface una condicin de Lipschitz y utilizando a la desigualdad del triangulo, se obtiene: ei+1 (1 + hi M )ei + hi , i = 0, 1, . . . , N 1 (7.22)

donde M es la constante de Lipschitz asociada a (t, y; h). Por recurrencia de la desigualdad (7.22) obtenemos
i i i

ei+1

(1 + hk M )e0 + h0
k=0

(1 + hk M )+h1
k=1

(1 + hk M )
k=2

+ + hi1 (1 + hi M ) + hi . Se puede demostrar facilmente que cada uno de los productos es menor igual a e(ba)M pues 1 + hk M ehk M y N hk = b a. As que k=1
i

ei+1 e

(ba)M

e0 + e

(ba)M k=0

hk e(ba)M [e0 + (b a)] b a. Por lo tanto

En la ltima desigualdad se ultiz que e

i k=0 hk

= yh wh

e(ba)M K

y0 w0 + (b a) Rh yh Rh wh

y0 w0 + Rh yh Rh wh

con K = e(ba)M mx{1, b a} a

Anlisis Numrico

185

Ejemplo 7.16. El mtodo de Euler es estable si f (t, y) es Lipschitz continua respecto a y, dado que en el mtodo de Euler (t, y; h) = f (t, y). En realidad todos los mtodos de un paso que se usan en la prctica satisfacen una condicin de Lipschitz si f (t, y) satisface una condicin de este tipo. En este caso la constante de Lipschitz M para puede expresarse en trminos de la constante de Lipschitz L para f . Por ejemplo, para el mtodo de Heun: 1 (t, y; h) = (k1 + k2 ), 2 Entonces (t, y; h) (t, y ; h) = 1 f (t, y) f (t, y ) + f (t + h, y + hk1 ) f (t + h, y + hk1 ) 2 con k1 = f (t, y), k2 = f (t + h, y + hk1 ).

donde k1 = f (t, y ). Por la desigualdad del tringulo y la condicin de Lipschitz se obtiene

(t, y; h) (t, y ; h)

L L y y + y + hk1 y hk1 2 2 Lh L2 h L y y + f (t, y) f (t, y ) L y y + y y . 2 2 se obtiene la condicin de estabilidad.

Tomando M = L(1 +

hL 2 )

7.7.2.

Convergencia

Denicin 7.17. El mtodo de un paso (7.19)(7.20) es convergente si


0iN

mx a

yi y(ti ) 0 cuando |h| 0,

es decir si yh y

0 cuando |h| 0.

Teorema 7.18. Si el mtodo (7.19)(7.20) es consistente y estable sobre [a, b], entonces el mtodo es convergente. Demostracin. Sea yh = {yi }N solucin de (7.19)(7.20), y sea y = {y(ti )}N solucin i=0 i=0 de (7.1)(7.2) en los puntos de malla. Entonces, debido a la estabilidad yh y

K{ y0 y(t0 ) + Rh yh Rh y

},

para alguna constante K > 0. Como y0 = y(t0 ) y Rh yh = 0 , entonces yh y

K Rh y = K T (, y; h)

= O(|h|p )

186 suponiendo un error de truncamiento de orden p. Claramente yh y

L. Hctor Jurez V.

0, cuando |h| 0

Conclusin. Todos los mtodos de un paso que se han considerado en esta seccin son estables y convergentes, y de orden p 1, bajo suposiciones razonables de suavidad para f (t, y).

7.8.

Estudio asinttico del error global

Hasta el momento solo hemos considerado el error de truncamiento para hablar de la precisin de un mtodo de aproximacin. Si el mtodo es de orden p el error de truncamiento puede expresarse en trminos de la funcin principal del error en la forma T (t, y; h) = (t, y)hp + O(hp+1 ). Como sabemos el error de truncamiento indica una medida del error por unidad de paso del tiempo. Esta claro que la distribucin de este error local esta descrita por la funcin principal del error y juega el papel de trmino lider en el error de truncamiento. Quisieramos saber si, en forma anloga, el error global contiene un trmino lider que describe la distrubucin del error global yh y cuando |h| 0. Es decir, estamos interesados en el comportamiento asinttico de yi y(ti ), i = 1, . . . , N . El siguiente teorema indica que, bajo suposiciones razonables, el trmino lider del error global es una funcin (t) que resuelve el problema variacional d = fy (t, y) + (t, y), a < t b dt (a) = 0 Para simplicar la exposicin consideraremos que la malla es uniforme, es decir hi = h, i = 1, . . . , N . Teorema 7.19. Supongase que a) (t, y; h) C 2 [a, b] Rn [0, h0 ], b) es un mtodo de orden p 1 en funcin del error principal (t, y) continua sobre [a, b] Rn .

Anlisis Numrico c) (t) es la solucin del problema de valores iniciales. d = fy (t, y(t)) + (t, y(t)), a < t b dt (a) = 0 entonces yi y(ti ) = (ti )hp + O(hp+1 ), cuando |h| 0 para i = 1, . . . , N . Antes de demostrar este teorema hacemos las siguientes observaciones: 1. El signicado preciso de la expresin (7.25) es yh y hp

187

(7.23) (7.24)

(7.25)

= O(hp+1 ) cuando |h| 0,

donde y = {y(ti )}N , yh = {yi }N , = {i }N son funciones de malla y i=0 i=0 i=0 dene como el valor mximo en valor absoluto de la funcin de malla.

se

2. Como (t, y; 0) = f (t, y), entonces la primera suposicin del teorema implica que f C 2 sobre [a, b]Rn , y esto ltimo es ms que suciente para garantizar la existencia y unicidad de la solucin (t) del problema (7.23)(7.24) sobre [a, b]. Demostracin. Utilizando el teorema de Taylor el teorema del valor medio, y la consistencia del mtodo, se puede demostrar (Gautschi) que (ti , yi ; hi ) (ti , y(ti ); hi ) = fy (ti , y(ti )) [yi y(ti )] + O(hp+1 ) (7.26)

Para resaltar el trmino lider en el error global, denimos la funcin de malla = (yh y)/hp , es decir i = (yi y(ti ))/hp implica i+1 i 1 yi+1 y(ti+1 ) yi y(ti ) = h h hp hp 1 yi+1 yi y(ti+1 ) y(ti ) = p h h h 1 = p [(ti , yi ; h) {(ti , y(ti ); h) T (ti , y(ti ); h)}] h En la ltima igualdad se ha hecho uso de que yi+1 = yi + h(ti , yi ; h) y T (ti , y(ti ); h) = (ti , y(ti ); h) y(ti+1 ) y(ti ) h

188

L. Hctor Jurez V.

Adems, si hacemos uso de la expresin del error de truncamiento en trminos del error principal T (ti , y(ti ); h) = (ti , y(ti ))hp + O(hp+1 ), obtenemos, utilizando (7.26), i+1 i h 1 (ti , yi ; h) (ti , y(ti ); h) + (ti , y(ti ))hp + O(hp+1 ) hp yi y(ti ) + (ti , y(ti )) + O(h) = fy (ti , y(ti )) hp = fy (ti , y(ti ))i + (ti , y(ti )) + O(h), =

i = 1, . . . , N . Por lo tanto, despejando i+1 , de la anterior ecuacin, obtenemos i+1 = i + h [fy (ti , y(ti ))i + (ti , y(ti ))] + O(h2 ), 0 = 0

la cual puede verse como el mtodo de Euler para aproximar la ecuacin (7.23). Dado que el mtodo de Euler es estable y la funcin g(t, y) = fy (t, y(t)) + (t, y(t)) es lineal en y, sta satisface una condicin de Lipschitz. Entonces se satisface la condicin

K[ 0 0 + Rh Rh

= K T (, ; h) = O(h)

debido a que T (, ; h) es el error de truncamiento en el mtodo de Euler. Como = hp (yh y), entonces multiplicando por hp la ltima desigualdad se obtiene yh y + hp = O(hp+1 ).

7.9.

Monitoreo del error y control del paso

La mayora de los programas modernos disponibles para resolver ecuaciones diferenciales ordinarias tienen integrada la posibilidad de monitorear errores locales de truncamiento y, en consecuencia, controlar la longitud del paso h sobre la base de la estimacin de estos errores. Nosotros utilizaremos el resultado asinttico del teorema anterior para tratar de monitorear el error global dado por la ecuacin (7.25). Observamos que para ello necesitamos calcular la matriz Jacobiana a lo largo de la trayectoria solucin fy (t, y(t)) y una estimacin de la funcin principal del error (t, y(t)), como se muestra en la ecuacin (7.23). Estimacin del error global.

Anlisis Numrico

189

La idea principal para hacer una estimacin del error global es hacer uso de las expresiones (7.23)(7.25). Es decir, integrar la ecuacin variacional (7.23) junto con la ecuacin principal (7.1)(7.2). Observese que en (7.25) necesitamos una estimacin de (ti ) con un error de orden a lo ms O(h), dado que cualquier estimacin con orden adicional sera absorbida por el trmino O(hp+1 ). Por lo tanto, (ti ) puede obtenerse del problema variacional (7.23) por medio del mtodo de Euler: i+1 = i + h[fy (ti , yi )i + (ti , yi ; h)]. Sin embargo tenemos un problema adicional: necesitamos calcular la funcin del error principal (t, y), lo cual generalmente no ser posible. Pero, de nuevo, como solo necesitamos una estimacin de primer orden i , podemos sustituir (t, y) por una funcin r(t, y ; h) que satisfaga r(t, y; h) = (t, y) + O(h), h 0 (7.27)

uniformemente sobre [a, b]Rn . Ms adelante presentaremos dos tcnicas mediante las cuales se puede obtener r(t, y; h). Resumiendo, si (t, y; h) satisface las condiciones del teorema 7.19 y si r(t, y; h) es una estimacin del error principal que satisface (7.27), generamos simultaneamente las funciones de malla yh = {yi }N y h = {i }N por medio de i=0 i=0 ti+1 = ti + h yi+1 = yi + h(ti , yi ; h) i+1 = i + h[fy (ti , yi )i + r(ti , yi ; h)], (7.28) (7.29) (7.30)

donde t0 = a, y0 = y(t0 ) y 0 = 0. Entonces la estimacin del error global de orden hp+1 viene dada por yi y(ti ) = i hp , Estimacin del error de truncamiento Esta claro que para poder utilizar (7.28)(7.30) debemos estimar r(t, y; h) la cual es una aproximacin de orden h para la funcin del error principal (t, y). A continuacin describimos dos mtodos que producen una estimacin de r(t, y; h). 1. Extrapolacin local de Richardson a cero. |h| 0

190

L. Hctor Jurez V.

Funciona bin para cualquier mtodo de un paso, pero se considera que es muy caro computacionalmente. Si tiene orden p, el procedimiento es calcular yh = y + h(t, y; h) h yh/2 = y + (t, y; h/2) 2 h yh = yh/2 + (t + h/2, yh/2 ; h/2) 2 y entonces una estimacin de r(t, y; h) es (Gautschi) r(t, y; h) =
yh yh 1 1 1/2p hp+1

(7.31)

Observese que yh es el resultado de aplicar sobre dos pasos consecutivos de tamao h/2, mientras que yh es el resultado de una aplicacin de sobre el intervalo completo de tamao h. Este procedimiento es costoso. Por ejemplo, para un mtodo de Runge-Kutta de cuarto orden se necesitan 11 evaluaciones de f por paso, es decir casi el triple nmero de evaluaciones necesarias para un paso del mtodo simple de Runge-Kutta. Por esta razn es que el mtodo de extrapolacin de Richardson normalmente se utiliza despues de cada dos pasos de , es decir se calcula

yh = y + h(t, y; h)
y2h = yh + h(t + h, yh ; h)

y2h = y + 2h(t, y; 2h) y entonces la expresin (7.31) se transforma en r(t, y; h) =


y2h y2h 1 2(2p 1) hp+1

= (t, y) + O(h)

Para un mtodo de Runge-Kutta clsico, el procedimiento necesita 7 evaluaciones de f por paso, es decir 3 evaluaciones adicionales a las necesarias para un paso simple de Runge-Kutta. An con este ahorro el procedimiento sigue siendo caro. A continuacin presentamos un mtodo ms eciente. 2. Mtodos de encajamiento (RungeKuttaFehlberg). Se pueden obtener mtodos ms ecientes para el control del paso, si en lugar de dos aproximaciones con pasos h y h/2 como en los mtodos anteriores, se sigue la idea de Fehlberg: generar dos mtodos de discretizacin diferentes, uno de orden p y otro de orden

Anlisis Numrico p + 1: y(t + h) y(t) + h (t, y; h), y (t + h) y(t) + h (t, y; h), Dado que y(t + h) y(t) h y(t + h) y(t) (t, y; h) h (t, y; h) al restar y dividir por hp , se obtiene 1 [(t, y; h) (t, y; h)] = (t, y) + O(h), hp de tal forma que r(t, y; h) = 1 [(t, y; h) (t, y; h)] hp = T (t, y; h) = (t, y)hp + O(hp+1 ), = T (t, y; h) = O(hp+1 ), (orden p) (orden p + 1).

191

(7.32)

(7.33)

es una aproximacin de orden O(h) de la funcin principal del error (t, y) para el mtodo de orden p con (t, y; h). Para que el mtodo valga la pena es necesario que sea ms eciente que los mtodos de extrapolacin. Siguiendo la idea de Fehlberg, esto se puede lograr encajando anidando un mtodo de RungeKutta de orden p dentro de otro de orden p + 1. La forma explcita de construir este tipo de procedimiento se muestra con el siguiente ejemplo.

Ejemplo 7.20. Mtodo de RungeKuttaFehlberg con p = 2 y p + 1 = 3 Consideremos los mtodos yi+1 = yi + h (ti , yi ; h),
yi+1 = yi + h (ti , yi ; h),

con T (t, y; h) O(h2 ), con T (t, y; h) O(h3 ),

donde y se construyen de la siguiente manera (t, y; h) = 1 k1 (t, y; h) + 2 k2 (t, y; h) + 3 k3 (t, y; h),


(t, y; h) = 1 k1 (t, y; h) + 2 k2 (t, y; h) + 3 k3 (t, y; h) + 4 k4 (t, y; h).

Notese que en la construccin de los valores k1 , k2 y k3 usados para calcular se han reutilizado, por lo que solo se necesita un valor adicional k4 para construir el segundo mtodo

192 . Las funciones k1 , k2 , k3 y k4 se construyen de la siguiente manera: k1 = f (t, y), k2 = f (t + 2 h, y + h21 k1 ), k3 = f (t + 3 h, y + h[31 k1 + 32 k2 ]), k4 = f (t + 4 h, y + h[41 k1 + 42 k2 + 43 k3 ]),

L. Hctor Jurez V.

Las constantes r , rj , con r = 2, 3, 4, y 1 j r 1, as como r , r , r = 1, 2, 3, 4, se calculan de tal forma que los errores de truncamiento sean O(h2 ) para (t, y; h) y O(h3 ) para (t, y; h). Este clculo se realiza en forma anloga a como se hizo en el caso del mtodo de RungeKutta de dos etapas. Si en el clculo se utiliza la condicin adicional r1 r = j=1 rj , r = 2, 3, 4, se obtienen las ecuaciones siguientes para las constantes a determinar:

1 + 2 + 3 = 1, 1 2 2 + 3 3 = , 2 1 2 2 2 2 2 + 3 3 + 4 4 = , 3

1 + 2 + 3 + 4 = 1, 1 2 2 + 3 3 + 4 4 = , 2 1 2 32 3 + (2 42 + 3 43 )4 = . 6

Este sistema de ecuaciones tiene una innidad de soluciones, y se pueden imponerse restricciones adicionales para reducir el costo del mtodo. Por ejemplo, puede pedirse que k4 en el isimo paso sea reusable como k1 en el (i + 1)simo paso. Es decir, podemos imponer f (t + h, y + h) f (t + 4 h, y + h[41 k1 + 42 k2 + 43 k3 ]), lo cual produce las restricciones adicionales 4 = 1, 41 = 1 , 42 = 2 , 43 = 3 .

Se pueden imponer restricciones adicionales para mnimizar los coecientes de la funcin principal del error. Sin embargo, no consideramos esto en detalle. En lugar de esto, escribimos a continuacin un conjunto de valores para las constantes: r 1 2 3 4 r 0 1/4 27/40 1 r1 0 1/4 189/800 214/891 r2 729/800 1/33 r3 650/891 r 214/891 1/33 650/891
r

533/2106 0 800/1053 1/78

Anlisis Numrico Con estas constantes se obtiene el mtodo siguiente al cual denominaremos RKF23 : k1 = f (ti , yi ), h h , yi + k1 ), 4 4 27 189 729 k3 = f (ti + h, yi hk1 + hk2 ), 40 800 800 214 1 650 k4 = f (ti + h, yi + hk1 + hk2 + hk3 ), 819 33 891 h yi+1 = yi + (214k1 + 27k2 + 650k3 ), 891 h yi+1 = yi + (533k1 + 1600k3 27k4 ). 2106 k2 = f (ti + Observese que debido a que k4 (ti , yi ; h) = f (ti + h, yi + h(ti , yi ; h)) = f (ti+1 , yi+1 ) = k1 (ti+1 , yi+1 ; h) entonces solo se requieren tres evaluaciones de f por paso. Control del paso El control del paso h se obtiene de la siguiente forma
yi+1 yi+1 = h[(ti , yi ; h)) (ti , yi ; h))] = h3 r(ti , yi ; h),

193

(7.34) (7.35) (7.36) (7.37) (7.38) (7.39)

(ver ecuacin (7.33) con p = 2). Supongase que queremos que el error global sea menor a un valor dado (tolerancia). Para que esto ocurra se debe cumplir que
yi+1 yi+1 = h3 r(ti , yi ; h) .

(7.40)

Para que el nuevo paso del tiempo hnew sea exitoso, es decir produzca un error menor a , se debe satisfacer r(ti+1 , yi+1 ; h) h3 . (7.41) new Pero, salvo errores de orden h, r(ti+1 , yi+1 ; h) r(ti , yi ; h) =
yi+1 yi+1 h3

por (7.40). Sustituyendo esta expresin en (7.41), obtenemos


yi+1 yi+1 3 hnew h3

194

L. Hctor Jurez V.

Por lo tanto, para garantizar que el error global sea menor a en cada paso debemos escoger
1/3

hnew h

yi+1 yi+1

Para el caso general, cuando las aproximaciones yi+1 y yi+1 se han realizado con mtodos de orden p y p + 1 respectivamente, se tiene 1/(p+1)

hnew h

yi+1 yi+1

(7.42)

Muchos autores, basados en una amplia experiencia numrica, recomiendan hacer el siguiente ajuste hnew q h con q= h yi+1 yi+1
1/p

y 0.9

Ejemplo 7.21. Ecuacin de Van der Pol. x (t) c(1 x(t)2 ) x (t) + x(t) = 0, x(0) = 1 , x (0) = 0. Con c = 0, se obtiene la ecuacin del oscilador armnico simple. Si c = 0, la ecuacin es no lineal. Primero, transformamos la ecuacin en un sistema de dos ecuaciones diferenciales ordinarias de primer orden. y1 (t) = x(t) y1 (t) = y2 (t) y2 (t) = x (t) y2 (t) = c(1 y1 (t)2 )y2 (t) y1 (t) En notacin matricial se puede escribir y1 y2 = 0 1 1 c y1 y2 0 2 cy1 y2 , y0 = 1 0 0 < t 10 ,

Se resuelve numricamente esta ecuacin diferencial no lineal, para el caso c = 3, utilizando el mtodo RKF23 (7.34)(7.39) con tolerancia = 0.01. La Figura 7.11 muestra las grcas de y1 (t) = x(t) y y2 (t) = x (t) contra t. La Figura 7.12 muestra el retrato fase de la solucin,

Anlisis Numrico

195

x(t) x(t)

10

Figura 7.11: Solucin de la ecuacin de Van der Pol. Mtodo RKF3 con

15 tiempo

20

25

30

= 0.01

6 4 2

x(t)
0 2 4 6

1.5

0.5

0.5

1.5

x(t)

Figura 7.12: Retrato fase de la solucin de la ecuacin de Van der Pol.

es decir la grca de x(t) contra x (t). Se observa que el retrato fase de la solucin representa un ciclo lmite no simple y la solucin es perodica. En ambas guras se observa claramente el tamao variable de los pasos de tiempo. El nmero de pasos del tiempo en este ejemplo fu de 156. Con un mtodo de paso jo se toma h = 0.1 para obtener una precisin equivalente y se requieren 10/0,1 314 pasos del tiempo, es decir cerca del doble. Con el objeto de obtener una mejor solucin, escogemos la tolerancia del error como = 104 , y repetimos el clculo. Las Figuras 7.13 y 7.14 muestran la solucin. En este caso se necesitan 501 pasos del tiempo. Con un mtodo de paso jo se necesitaran 3142 pasos del tiempo para obtener la misma precisin, es decir ms de 6 veces que con paso variable.

196

L. Hctor Jurez V.
x(t) x(t)

10

15 tiempo

20

25

30

Figura 7.13: Solucin con mayor precisin:

= 104 .

6 4 2 x(t) 0 2 4 6 2 1 0 x(t) 1 2

Figura 7.14: Retrato fase correspondiente.

7.9.1.

Mtodo RungeKuttaFehlberg de cuarto orden

Este es un mtodo que tambin es muy usado en la prctica. En este caso se combinan un mtodo de orden p = 4 con uno de orden p + 1 = 5. Evitando los detalles de deduccin

Anlisis Numrico del mtodo, solamente presentamos a continuacin este mtodo de paso variable: k1 = f (ti , yi ) k2 = f k3 k4 k5 k6 yi+1
yi+1

197

h h , yi + k1 4 4 3h 3 9 = f ti + , yi + hk1 + hk2 8 32 32 12h 1932 7200 7296 = f ti + , yi + h k1 k2 + k3 13 2197 2197 2197 439 3680 845 = f ti + h, yi + h k1 8k2 + k3 k4 216 513 4104 8 3544 1859 11 h k3 + k4 k5 = f ti + , yi + h k1 + 2k2 2 27 2565 4104 40 25 1408 2197 1 = yi + h k1 + k3 + k4 k5 216 2565 4104 5 16 6656 28561 9 2 = yi + h k1 + k3 + k4 k5 + k6 135 12825 56430 50 55 ti +

El paso de tiempo nuevo en cada iteracin se calcula por medio de hnew = 0.84 h h yi+1 yi+1
1/4

donde es la tolerancia deseada para el error global. En ocasiones, en lugar de calcular yi+1 se calcula directamente la diferencia ei+1 = yi+1 yi+1 . Por ejemplo, en el caso del mtodo RKF-45 (RungeKuttaFehlberg de cuarto orden), se tiene

ei+1 = h

128 2197 1 2 1 k1 k3 k4 + k5 + k6 360 4275 75240 50 55

Ejemplo 7.22. Se resuelve la ecuacin de Vander Pol con c = 3 utilizando el mtodo RKF45 con una tolerancia = 104 . Las Figuras 7.15 y 7.16 muestran las grcas de los resultados obtenidos. En este caso se realizaron 288 pasos de tiempo para obtener la solucin.

198

L. Hctor Jurez V.

x(t) x(t)

10

15 tiempo

20

25

30

Figura 7.15: Solucin con el mtodo RKF45.

6 4 2 x(t) 0 2 4 6 2 1 0 x(t) 1 2

Figura 7.16: Retrato fase correspondiente.

Bibliografa
[1] E. Isaacson, H. B. Keller, Analysis of Numerical Methods, Wiley 1966.(Dover en 1994). [2] W.Gautschi, Numerical Analysis: An Introduction, Birkhauser, 1998. [3] L. N. Trefethen, D. Bau III, Numerical Linear Algebra, SIAM, 1997. [4] S. D. Conte, C. de Boor, Elementary Numerical Analysis, Mc. Graw-Hill 3rd. Ed. 1980 [5] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, Springer-Verlag 1st. Ed. 1980, 2nd. Ed. 199, 3rd. Ed. 2002. [6] Cleve Moler, Numerical Computing Whit Matlab, Disponible en linea: http://www.mathworks.com/moler/index.html [7] J. M. Ortega, Numerical Analysis: A Second Course, Classics in Applied Mathematics, SIAM, 1990. [8] P. Henrici, Elements of Numerical Analysis, Wiley 1964. [9] A. Quarteroni, R. Sacco, F. Saleri, Numerical Mathematics, Text in Applied Mathematics 37, Springer, 2000. [10] E. Suli, D. F. Mayers, An Introduction to Numerical Analysis, CUP, 2003. [11] S. Ross, Simulation, Academic Press, 2nd. Ed. 1997. [12] G.Golub, C. Van Loan, Matrix Computation, John Hopkins University Press, 2nd. Ed. 1989, 3rd. Ed. 1996. [13] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes: The Art of Scientic Computing, Cambridge University Press. Gratis versiones para F77, F90 y C en http://www.lanl.gov/numerical/index.html 199

200

L. Hctor Jurez V.

[14] G. Engeln-Mullges, F. Uhlig, Numerical Algorithms whit Fortran, Springer-Verlag, Berlin, 1996. QA297 E5.6613 [15] Hammerlin, Gunther-Karl-Heinz Homann, Numerical Mathematics, Springer-Verlag. QA297 H2.53 [16] R. Burden, J. D. Faires, Anlisis Numrico, Grupo Editorial Iberoamericana, 2a. Ed. 1996. [17] K. E. Atkinson, An introduction to Numerical Analysis, Wiley 1st Ed.1978, 2nd. Ed. 1989. [18] D. Kincaid, W. Cheney, Numerical Analysis: Mathematics of Scientic Computing, Books/Cole Pub. Co., 2nd Ed. 1996.

You might also like