análisis numérico, 2da edición - timothy sauer.pdf

669
ANÁLISIS NUMÉRICO SEGUNDA EDICIÓN \Y TIMOTHY SAUER ALWAYS LEARNING / PEARSON

Upload: xvilafont

Post on 18-Jan-2016

4.991 views

Category:

Documents


1.503 download

TRANSCRIPT

  • ANLISIS NUMRICOSEGUNDA EDICIN

    \Y

    TIMOTHY SAUERA L W A Y S L E A R N I N G

    /

    PEARSON

  • Anlisis numrico

  • Anlisis numricoS E G U N O A E D I C I N

    Timothy SauerGeorge Masn University

    TRADUCCIN

    Jess Elmer Murreta MurrietaMaestro en Investigacin de operaciones TESM, Campus Morelos

    Re v is i n t c n ic a

    Salvador Garda BurgosDepartamento de Ciencias BsicasFacultad de IngenieraUniversidad Nacional Autnoma de Mxico

    Jos Job Flores GodoyDepartamento de Fsica y Matemticas Universidad Iberoamericana

    PEARSON

  • D ulas d e catalogacin bibliogrfica

    SAUER, TIMOTHYAnlisis numrica Segunda edicin.

    PEARSON EDUCACIN. Mxico. 2013

    ISBN 978-607-32-2059-0 rea: Matemticas

    Formato: 20 x 25,5 cm ftginas: 664

    Authorized translation from thc English language edition, cntitlcd NUMERICAL ANAI.YSIS, 2nd. Edition, by TIMOTHY SAUER, published by Pearson Education, Inc., publishingas Pearson. Copyright 2012. AH rights reserved.ISBN 9780321783677

    Traduccin autorizada de la edicin en idioma ingls, titulada NUMERICAL ANALYSIS. 2a. edicin, por TIMOTHY SAUER. publicada por Pearson Education, Inc., publicada como Pearson, Copyright 2012. Todos los derechos reservados.

    Esta edicin en espaol es la nica autorizada.

    Edicin en espaolDireccin General:Dileccin Educacin Superior Editora Sponsor:

    Editor de Desarrollo:Supervisor de Produccin:Gerencia Editorial

    Educacin Superior Latinoamrica

    SEGUNDA EDICIN. 2013

    D.R. 2013 por Ftarson Educacin de Mxico. S.A. de C.V.Atlacomulco 500-5o. piso Col. Industrial Atoto53519. Naucalpan de Jurez. Estado de Mxico

    Cmara Nacional de la Industria Editorial Mexicana. Rcg. nm. 1031.

    Reservados todos los derechos. Ni la totalidad ni parte de esta publicacin pueden reproducirse, registrarse o transmitirse, por un sistema de recuperacin de informacin, en ninguna forma ni por ningn medio, sea electrnico, mecnico, fotoqumico, magntico o electroptico. por fotocopia, grabacin o cualquier otro, sin permiso previo por escrito del editor.

    El prstamo, alquiler o cualquier otra forma de cesin de uso de este ejemplar requerir tambin la autorizacin del editor o de sus representantes.

    ISBN VERSIN IMPRESA: 978-607-32-2059-0 ISBN VERSIN E-BOOK: 978-607-32-2060-6 ISBN E-CHAPTER: 978-607-32-2061-3

    Impreso en Mxico. Printed in Mxico.1 2 3 4 5 6 7 8 9 0 - 16 15 14 13

    Philip De la VegaMario ContrerasGabriela Lpez Ballesterose-mail: [email protected] Gutirrez HernndezJos D. Hernndez Garduo

    Marisa de Anta

    PEARSON

  • Contenido

    PREFACIO xi

    CAPTULO 0 Fundamentos 10.1 Evaluacin de un polinomio 10.2 Nmeros binarios 5

    0.2.1 Decimal a binario 60.2.2 De binario a decimal 7

    0.3 Representacin del punto flotante de los nmeros reales 80.3.1 Formatos de punto flotante 80 .32 Representacin en mquina 110.3.3 Suma de nmeros de punto flotante 13

    0.4 Prdida de significancia 160.5 Repaso de clculo 19

    Software y lecturas adicionales 23

    CAPTULO 1 Resolucin de ecuaciones 241.1 El mtodo de biseccin 25

    1.1.1 Confinamiento de una raz 251.12 Qu tan exacto y a qu velocidad? 28

    1.2 Iteracin de punto fijo 301.2.1 Puntos fijos de una funcin 311.22 Geometra de la iteracin de punto fijo 331.23 Convergencia lineal de la iteracin de punto fijo 341.2.4 Criterios de detencin 40

    1.3 Lmites de exactitud 431.3.1 Error hacia adelante y hacia atrs 441.3.2 El polinomio de Wilkinson 471.33 Sensibilidad de la localizacin de races 48

    1.4 Mtodo de Newton 511.4.1 Convergencia cuadrtica del mtodo de Newton 531.42 Convergencia lineal del mtodo de Newton 55

    1.5 Localizacin de races sin derivadas 611.5.1 Mtodo de la secante y sus variantes 611.52 Mtodo de Brent 64

    Comprobacin en la realidad 1: Cinemtica de la plataforma Stewart 67Software y lecturas adicionales 69

    CAPTULO 2 Sistemas de ecuaciones 712.1 Eliminacin gaussiana 71

    2.1.1 Eliminacin gaussiana simple 722.1.2 Conteo de operaciones 74

  • vi | Contenido

    2.2 La factorizacin LU 792.21 Forma matricial de la eliminacin gaussiana 792.2.2 Sustitucin hacia atrs con la factorizacin LU 812 .23 Complejidad de la factorizacin LU 83

    2.3 Fuentes de error 852.3.1 Error de magnificacin y n mero de condicin 862.3.2 Dominancia 91

    2.4 La factorizacin PA = LU 952.4.1 Pivoteo parcial 952.4.2 Matrices de permutacin 972.4.3 Factorizacin PA = LU 98

    Comprobacin en la realidad 2 : La viga de Euler-Bernoulli 1022.5 Mtodos iterativos 106

    2.5.1 Mtodo de Jacob) 1062.5.2 Mtodo de Gauss-Seidel y SRS 1082.5.3 Convergencia de los mtodos iterativos 1112.5.4 Clculos de matrices dispersas 113

    2.6 Mtodos para matrices simtricas definidas positivas 1172.61 Matrices simtricas definidas positivas 1172 .62 Factorizacin de Cholesky 1192 .63 Mtodo del gradiente conjugado 1212 .64 Precondicionamiento 126

    2.7 Sistemas de ecuaciones no lineales 1302.7.1 Mtodo de Newton muItivariado 1312.7.2 Mtodo de Broyden 133

    Software y lecturas adicionales 137

    CAPTULO 3 Interpolacin 1383.1 Datos y funciones de interpolacin 139

    3.1.1 Interpolacin de Lagrange 1403.1.2 Diferencias divididas de Newton 1413.1.3 Cuntos polinomios de grado d pasan por n puntos? 1443.1.4 Cdigo para la interpolacin 1453.1.5 Representacin de funciones mediante

    polinomios de aproximacin 1473.2 Error de interpolacin 151

    3.2.1 Frmula del error en la interpolacin 1513.2.2 Demostracin de la forma de Newton y la frmula del error 1533.2.3 Fenmeno de Runge 155

    3.3 Interpolacin de Chebyshev 1583.3.1 Teorema de Chebyshev 1583.3.2 Polinomios de Chebyshev 1603.3.3 Cambio de intervalo 162

    3.4 Splines cbicas 1663.4.1 Propiedades de las splines 1673.4.2 Condiciones de extremo 173

    3.5 Curvas de Bzier 179

    Comprobacin en la realidad 3: Fuentes a partir de las curvas de Bzier 183Software y lecturas adicionales 187

  • Contenido | v il

    CAPTULO 4 Mnimos cuadrados 1884.1 Mnimos cuadrados y ecuaciones normales 188

    4.1.1 Sistemas de ecuaciones inconsistentes 1894.1.2 Modelos de ajuste a los datos 1934 .13 Condicionamiento de mnimos cuadrados 197

    4.2 Exploracin de modelos 2014.2.1 Datos peridicos 2014.23 nealizacin de datos 203

    4.3 Factorizacin QR 2124.3.1 Ortogonalizacin de Gram-Schmidt y mnimos cuadrados 2124 .33 Ortogonalizacin de Gram-Schmidt modificado 2184 .33 Reflectores de Householder 220

    4.4 Mtodo del residuo mnimo generalizado (GMRES) 2254.4.1 Mtodos de Krylov 2264.4.2 GMRES precondicionado 228

    4.5 Mnimos cuadrados no lineales 2304.5.1 Mtodo de Gauss-Newton 2304 .53 Modelos con parmetros no lineales 2334 .53 Mtodo de Levenberg-Marquardt 235

    Comprobacin en la realidad 4: GPS, condicionamiento y mnimos cuadradosno lineales 238

    Software y lecturas adicionales 242

    CAPTULO 5 Diferenciacin e integracinnumrica 243

    5.1 Diferenciacin numrica 2445.1.1 Frmulas de las diferencias finitas 2445.1.2 Error de redondeo 2475.1.3 Extrapolacin 2495.1.4 Diferenciacin e integracin simblica 250

    5.2 Frmulas de Newton-Cotes para la integracin numrica 2545.2.1 Regla del trapecio 2555 .23 Regla de Simpson 2575.2.3 Frmulas de Newton-Cotes compuestas 2595.2.4 Mtodos de Newton-Cotes abiertos 262

    5.3 Integracin de Romberg 2655.4 Cuadratura adaptativa 2695.5 Cuadratura gaussana 273

    Comprobacin en la realidad 5: Control de movimiento en el modeladoasistido por computadora 278

    Software y lecturas adicionales 280

    CAPTULO 6 Ecuaciones diferencales ordinarias 2816.1 Problemas de valor Inicial 282

    6.1.1 Mtodo de Euler 2836 .13 Existencia, unicidad y continuidad de las soluciones 2876.1.3 Ecuaciones lineales de primer orden 290

    6.2 Anlisis del error en la solucin de PVI 2936.2.1 Error de truncamiento local y total 293

  • viii | Contenido

    6.2.2 Mtodo explcito del trapecio 2976.2.3 Mtodos de Taylor 300

    6.3 Sistemas de ecuaciones diferenciales ordinarias 3036.3.1 Ecuaciones de orden superior 3046.3.2 Simulacin en computadora: el pndulo 3056.3.3 Simulacin en computadora: la mecnica orbital 309

    6.4 Mtodos y aplicaciones de Runge-Kutta 3146.4.1 La familia Runge-Kutta 3146.4.2 Simulacin en computadora* la neurona de Hodgkin-Huxley 3176.4.3 Simulacin en computadora: las ecuaciones de Lorenz 319

    Comprobacin en la realidad 6: El puente Tacoma Narrows 3226.5 Mtodos con tamao de paso variable 325

    6.5.1 Pares integrados de Runge-Kutta 3256.5.2 Mtodos de cuarto y quinto orden 328

    6.6 Mtodos implcitos y ecuaciones rgidas 3326.7 Mtodos de varios pasos 336

    6.7.1 Generacin de mtodos de varios pasos 3366.7.2 Mtodos de varios pasos explcitos 3396.7.3 Mtodos de varios pasos implcitos 342

    Software y lecturas adicionales 347

    CAPTULO 7 Problemas de valor de frontera 3487.1 Mtodo de disparo 349

    7.1.1 Soluciones a problemas de valor de frontera 3497.1.2 Implementacin del mtodo de disparo 352

    Comprobacin en la realidad 7 : Deformacin de un anillo circular 3557.2 Mtodos de diferencias finitas 357

    7.2.1 Problemas de valor de frontera lineales 3577.2.2 Problemas de valor de frontera no lineales 359

    7.3 Colocacin y el mtodo del elemento finito 3657.3.1 Colocacin 3657.3.2 Elementos finitos y el mtodo de Galerkin 367

    Software y lecturas adicionales 373

    CAPTULO 8 Ecuaciones diferenciales parciales 3748.1 Ecuaciones parablicas 375

    8.1.1 Mtodo de las diferencias hacia adelante 3758.1.2 Anlisis de estabilidad del mtodo de las diferencias

    hacia adelante 3798.1.3 Mtodo de la diferencia hacia atrs 3808.1.4 Mtodo de Crank-Nicolson 385

    8.2 Ecuaciones hiperblicas 3938.2.1 La ecuacin de onda 3938.2.2 La condicin CFL 395

    8.3 Ecuaciones elpticas 3988.3.1 Mtodo de las diferencias finitas para ecuaciones elpticas 399

    Comprobacin en la realidad 8: Distribucin del calor en unaaleta de enfriamiento 4038.3.2 Mtodo del elemento finito para ecuaciones elpticas 406

  • Contenido | ix

    8.4 Ecuaciones diferenciales parciales no lineales 4178.4.1 Solucionador implcito de Newton 4178.4.2 Ecuaciones no lineales en dos dimensiones espaciales 423

    Software y lecturas adicionales 430

    CAPTULO 9 Nmeros aleatorios y sus aplicaciones 4319.1 Nmeros aleatorios 432

    9.1.1 Nmeros pseudoaleatorios 4329.1.2 Nmeros aleatorios exponenciales y normales 437

    9 .2 Simulacin de Monte Cario 4409.2.1 Leyes de potencia para la estimacin de Monte Cario 4409.2.2 Nmeros cuasialeatorios 442

    9 .3 Movimiento browniano discreto y continuo 4469.3.1 Caminatas aleatorias 4479.3.2 Movimiento browniano continuo 449

    9.4 Ecuaciones diferenciales estocsticas 4529.4.1 Incorporacin de la Incertidumbre a las ecuaciones

    diferenciales 4529.4.2 Mtodos numricos para EDE 456

    Comprobacin en la realidad 9: La frmula de Black-Scholes 464Software y lecturas adicionales 465

    CAPTULO 10 Interpolacin trigonomtrica y la TRF 46710.1 La transformada de Fourier 468

    10.1.1 Aritmtica compleja 46810.13 Transformada discreta de Fourier 47010.13 La transformada rpida de Fourier 473

    10.2 Interpolacin trigonomtrica 47610.2.1 Teorema de interpolacin de la TDF 47610.2.2 Evaluacin eficiente de funciones trigonomtricas 479

    10.3 FFT y el procesamiento de seales 48310.3.1 Ortogonalidad e interpolacin 48310.33 Ajuste por mnimos cuadrados con funciones trigonomtricas 48510.33 Sonido, ruido y filtrado 489

    Comprobacin en la realidad 10: El filtro de Wiener 492Software y lecturas adicionales 494

    CAPTULO 11 Compresin 49511.1 La transformada discreta del coseno 496

    11.1.1 TDC unidimensional 49611.13 La TDC y la aproximacin por mnimos cuadrados 498

    11.2 TDC bidimensional y compresin de imgenes 50111.2.1 TDC bidimensional 50111.23 Compresin de imgenes 50511.23 Cuantificacin 508

    11.3 Codificacin de Huffman 51411.3.1 Teora de la informacin y codificacin 51411.33 Codificacin de Huffman para el formato JPEG 517

  • x | Contenido

    11.4 TDC modificada y compresin de audio 51911.4.1 Transformada discreta del coseno modificada 52011.42 Cuantificacin de bits 525

    Comprobacin en la realidad 11 : Un codee de audio simple 527Software y lecturas adicionales 530

    CAPTULO 12 Valores y vectores caractersticosy valores singulares 531

    12.1 Mtodos de iteracin de potencia 53112.1.1 Iteracin de potencia 53212.1.2 Convergencia de la iteracin de potencia 53412.13 Iteracin de potencia inversa 53512.1.4 Iteracin del cociente de Rayleigh 537

    12.2 Algoritmo QR 53912.2.1 Iteracin simultnea 53912.22 Forma real de Schur y el algoritmo QR 54212.23 Forma superior de Hessenberg 544

    Comprobacin en la realidad 12: Cmo clasifican los motores de bsquedala calidad de la pgina 549

    12.3 Descomposicin de valor singular 55212.3.1 Localizacin de la DVS en general 55412.32 Caso especial: matrices simtricas 555

    12.4 Aplicaciones de la DVS 55712.4.1 Propiedades de la DVS 55712.42 Reduccin de dimensin 55912.43 Compresin 56012.4.4 Clculo de la DVS 561Software y lecturas adicionales 563

    CAPTUL013 Optimizacin 56513.1 Optimizacin no restringida sin derivadas 566

    13.1.1 Bsqueda de la seccin dorada 56613.12 Interpolacin parablica sucesiva 56913.13 Bsqueda de Nelder-Mead 571

    13.2 Optimizacin no restringida con derivadas 57513.2.1 Mtodo de Newton 57613.22 Gradiente descendiente 57713.23 Bsqueda del gradiente conjugado 578

    Comprobacin en la realidad 13: Conformacin molecular yoptimizacin numrica 580Software y lecturas adicionales 582

    Apndice A 583A.1 Fundamentos de las matrices 583A.2 Multiplicacin en bloque 585A.3 Valores y vectores propios 586A.4 Matrices simtricas 587A.5 Clculo vectorial 588

  • Contenido | xi

    Apndice B 590B.1 Inicio de M a t ia b 590B.2 Grficas 591B.3 Programacin en M atvab 593B.4 Control de flujo 594B.5 Funciones 595B.6 Operaciones con matrices 597B.7 Animacin y pelculas 597

    Respuestas a los ejercicios seleccionados 599

    Bibliografa 626

    ndice 637

  • Prefacio

    Anlisis numrico es un libro pora estudiantes de ingeniera, ciencias, matemticas e informtica que hayan cursado clculo elemental y lgebra matridal. El objetivo principal de este texto es construir y explorar algoritmos para resolver problemas cientficos y de ingeniera. Otra de sus misiones es ayudar al lector a localizar estos algoritmos en un escenario de principios poderosos y de gran alcance. En conjunto, estos principios unificadores constituyen un campo dinmico de la investigacin y el desarrollo actuales en la ciencia moderna numrica y computacional.

    La disciplina del anlisis numrico est repleta de ideas tiles. En los libros de texto se corre el riesgo de presentar los temas como un paquete de trucos brillantes, pero sin relacin entre s, algo que hemos evitado aqu. Para obtener una comprensin profunda, los lectores deben aprender ms all de cmo se codifica el mtodo de Newton, el mtodo de Runge-Kutta y la transformada rpida de Fburier. Deben absorber los grandes principios, aquellos que permean el anlisis numrico y se integran a sus intereses de competencia en precisin y eficiencia.

    Entre las deas generales ms importantes se encuentran las nociones de conveigenda. la complejidad el condicionamiento, la compresin y la ortogonalidad. Cualquier buen mtodo de aproximacin debe converger hacia la respuesta correcta a medida que se le dedican ms recursos de cmputo, y la complejidad de un mtodo es una medida del uso de estos recursos. El condicionamiento de un problema, o la susceptibilidad al aumento del error.es fundamental para saber cmo puede ser atacado. Muchas de las aplicaciones ms recientes de anlisis numrico se esfuerzan en generar datos de una manera ms corta o comprimida. Por ltimo, la ortogonalidad es crucial para la eficacia en muchos algoritmos y es insustituible cuando el condicionamiento constituye un problema o la compresin es un objetivo.

    En este libro los papeles de los cinco conceptos en el anlisis numrico moderno se destacan en elementos temticos cortos llamados anotaciones. En estas anotaciones se comenta el tema en estudio y se hacen conexiones informales hacia expresiones del mismo concepto en otras partes del libro. Esperamos que el hecho de destacar los cinco conceptos de esta manera tan explcita funcione acentuando lo que es realmente crucial sobre la teora en la pgina.

    Aunque es bien sabido que las ideas del anlisis numrico son vitales para la prctica de la ciencia y la ingeniera modernas, nunca est de ms ser evidente. Las comprobaciones en la realidad ofrecen ejemplos concretos de la forma en que los mtodos numricos conducen a la solucin de problemas cientficos y tecnolgicos importantes. Estas aplicaciones extendidas se escogieron de modo que fueran oportunas y cercanas a la experiencia cotidiana. Aunque es imposible (y probablemente indeseable) presentar todos los detalles de los problemas, las comprobaciones en la realidad intentan profundizar lo suficiente para mostrar cmo puede aprovecharse la aplicacin de un poco de matemticas, a travs de una tcnica o algoritmo, y obtener una gran recompensa en el diseo y el funcionamiento tecnolgicos. En la primera edicin, la seccin Comprobacin en la realidad ha demostrado ser muy popular como fuente de proyectos para los estudiantes, y en esta segunda edicin se han ampliado.

    NUEVO EN ESTA EDICIN. En esta segunda edicin se presenta una importante expansin de los mtodos para resolver sistemas de ecuaciones. En el captulo 2 se agreg la factorizacin de Oiolcsky para solucionar ecuaciones matriciales simtricas definidas y positivas. En el captulo 4 se ha aadido un anlisis del enfoque de Krylov para los grandes sistemas lineales, incluyendo el mtodo GMRES, junto con material nuevo sobre el uso de prccondicionadores para problemas simtricos y no simtricos. Tambin se presentan, como novedades, la ortogonalizacin modificada de Gram-Schmidt y el mtodo Levenberg-Maiquardt. En el captulo 8 el estudio de las EDP se ha extendido a las EDP no lineales, incluyendo las ecuaciones de reaccin-difusin y de formacin de patrones. El material presentado se ha modificado con el fin de hacer ms fcil su lectura, con hasc en la rctroalimentacin de los estudiantes; adems, se han aadido ejercidos y problemas de computadora nuevos a lo largo de todo el libro.

    TECNOLOGA. El paquete de software M a t l a b se utiliza para la exposicin de los algoritmos y como plataforma sugerida en la realizacin de tareas y proyectos de los estudiantes. La cantidad de cdigo de M a t l a b que se proporciona en el texto est modulada cuidadosamente.

  • >dv | Prefacio

    porque sabemos que el exceso tiende a ser contraproducente. Hn los primeros captulos se incluye una mayor cantidad de cdigo de M a ti-a b , lo que permite al lector obtener un dominio sobre este programa de una manera gradual. Cuando se proporciona un cdigo ms elaborado (por ejemplo, en el estudio de la interpolacin y las ecuaciones diferenciales ordinarias y parciales), se espera que el lector lo utilice como un punto de partida para explotarlo y aumentarlo o mejorarlo.

    El uso de una plataforma computacional especfica con este libro no es indispensable, pero la presencia creciente de M a t l a b en los departamentos de ingeniera y ciencias demuestra que un lenguaje comn puede ayudar a salvar muchos obstculos. Con M a t l a b , todos los problemas de interfaz (datos de entrada/salida, graficado, etctera) se resuelven de un solo golpe. Las dificultades de la estructura de datos (por ejemplo, las que surgen cuando se estudian los mtodos de matriz dispersa) estn normalizadas con base en comandos apropiados. M a t l a b dispone de capacidades para la entrada y salida de archivos de audio c imagea La simulacin de ecuaciones diferenciales puede realizarse con facilidad debido a los comandos de animacin incorporados en M a t l a b . Estos objetivos pueden alcanzarse de otras maneras; sin embargo, siempre resulta til contar con un paquete que pueda ejecutarse en casi todos los sistemas operativos y ayude a simplificar los detalles para que los estudiantes puedan concentrarse en los problemas matemticos reales. El apndice B es un tutorial sobre M a t l a b que puede utilizarse como una primera introduccin a los estudiantes o como una referencia para quienes ya estn familiarizados con este paquete.

    Bl el sitio web de este libro (w w v .pearsonenespao l .co m /aau er) encontrar todos los programas de M a t l a b utilizados en el texto. Adems, constantemente se publica material nuevo y actualizaciones que los usuarios de este texto pueden descargar.

    COM PLEM ENTOS. El Instructors Solutions M anual (Manual de soluciones para el profesor, ISM: 0-321-783689) contiene soluciones detalladas de los ejercicios impares y las respuestas a los ejercicios pares. Este manual, en ingls, tambin muestra la manera de utilizar el software Ma t l a b como una ayuda para resolver los tipos de problemas que se presentan en los ejercicios y en los problemas de computadora.

    DISEO DEL CURSO. Este libro est estructurado para pasar de las ideas fundamentales y elementales a los conceptos ms complejos y sofisticados. En el captulo 0 se proporcionan las piezas fundamentales, que se usarn ms adelante. A algunos profesores les gusta comenzar por el principio, mientras que otros (entre ellos el autor) prefieren empezar por el captulo 1 y regresar" a los temas del captulo 0 cuando sea necesario. En los captulos 1 y 2 se estudia la resolucin de ecuaciones en sus diversas formas. Los captulos 3 y 4 tratan principalmente del ajuste de datos, la interpolacin y los mtodos de mnimos cuadrados. En los captulos 5 a 8 se revisan dos reas clsicas del anlisis numrico de las matemticas continuas: la diferenciacin c integracin numrica, y la solucin de ecuaciones diferenciales ordinarias y parciales con condiciones iniciales y de frontera.

    Bi el captulo 9 se desarrollan nmeros aleatorios con el fin de proporcionar mtodos complementarios a los presentados en los captulos 5 a 8 : la alternativa Monte Cario para los esquemas de integracin numrica estndar y el contrapunto de las ecuaciones diferenciales estocsticas son necesarios cuando el modelo presenta incertidumbre.

    La compresin es un tema central del anlisis numrico, aunque a menudo se oculta tras la interpolacin por mnimos cuadrados y el anlisis de Fburicr. En los captulos 10 y 11 se presentan las tcnicas modernas de compresin. En el primero, se estudia la transformada rpida de Fourier oomo un dispositivo para llevara cabo la interpolacin trigonomtrica, en los sentidos exacto y por mnimos cuadrados. Tambin se destaca la relacin de las tcnicas mencionadas con la compresin de audio, y sta se aborda por completo en el captulo 1 1 con la transformada discreta del coseno, que es el caballo de batalla ms comn para la compresin moderna de audio c imgenes. En el captulo 1 2 . que trata sobre los valores propios y singulares, se describen las conexiones de estos valores con la compresin de datos, la cual crece en importancia en las aplicaciones contemporneas. Finalmente, el captulo 13 proporciona una introduccin breve a las tcnicas de optimizacin.

    Anlisis numrico puede utilizarse igualmente para un curso de un semestre, mediante una eleccin precisa de los temas. Los captulos 0 a 3 son fundamentales para cualquier curso del rea y los dems pueden separarse de la siguiente manera:

  • Prefacio | xv

    Concentracin en clculo tradicional/

    ecuaciones diferenciales

    Matemticas discretas con nfasis en la ortogonalidad

    y la compresin

    Concentracin en ingeniera financiera

    AGRADECIMIENTOS

    Esta segunda edicin est en deuda con una gran cantidad de personas, incluyendo a los estudiantes de muchas clases que han ledo y comentado las versiones anteriores. Adems. Paul Lorezak, Maurino Bautista y Tom Wegltitner fueron de gran ayuda para evitar que cometiera errores graves. Aprecio mucho las sugerencias de Nicholas Allgaier. Regan Beckham, Paul Calamai. Mark Friedman, David Hiebeler, Ashwani Kapila, Andrew Knyazev, Bo Li.Yijang Li. Jeff Parker, Robert Sachs, Evdyn Sander, Gantumur Tsogtgerel y Thomas Wanner. El personal de apoyo en Pfcarson, que incluye a William HofTman, Caroline Celano, Beth Houston. Jeff Weidenaar y Brandon Rawns- ley; as como Shiny Rajcsh de Intcgra-PDY, ha hecho que la produccin de esta segunda edicin haya sido casi agradable. Pdr ltimo, agradezco a los lectores de otras universidades por su impulso y asesora en este proyecto, y por su consejo, indispensable para mejorar las versiones anteriores:

    Eugene Allgower Gonstantin Bacuta MU: hele Benzi Jerry Bona George Davis Chris Danforth Alberto Delgado Robert Dillon Qiang Du Ahmct Duran Gregory Goeckel Hermn Gollwitzer Don Hardcaslle David R. Hill Hidcaki Kaneko Daniel Kaplan Fritz Keincrt Akhtar A. Khan Lucia M. Kimball Cbllecn M. Kirk Seppo Korpela William Layton Brenton LeMesurier Melvin Leok

    Colorado State UniversityUniversity o f DelawareEmory UniversityUniversity of Illinois at ChicagoGeorgia State UniversityUniversity of VermontBradlcy UniversityWashington State UniversityPbnnsylvania State UniversityUniversity of Michigan. Ann ArborPresbyterian CollegcDrexel UniversityBaylor UniversityTemple UniversityOd Dominion UniversityMacalcster CollegeIowa State UniversityRochester Institute o f TechnologyBentley CollegeCalifornia Polytcchnic State UniversityOhio State UniversityUniversity of PittsburghCollege o f CharlcstonUniversity o f California, San Diego

  • xv i | Prefacio

    Doron Levy Stanford UniversityShankar Mahalingam Univeisity o f California, RiversideAinnon Mcir Aubum UniversityPeter Monk University o f DelawareJoseph E. Pasciak Texas A&M UniversityJcff Parker Harvard UniversitySteven Pav University o f California. San DiegoJacek Polewczak California State UniversityJorge Rcba/a Southwest Missouri State UniversityJeflrey Scroggs North Carolina State UniversitySergei Suslov Arizona State UniversityDaniel Szyid Temple UniversityAhlam Tannouri Morgan State UniversityJin Wang Od Dominion UniversityBruno Welfert Arizona State UniversityNathaniel Whitakcr University o f Massachusetts

  • Anlisis numrico

  • C A P I T U L O

    FundamentosEste capitulo introductorio proporciona los elementos esenciales para la elaboracin y la comprensin de los algoritmos presentados en el libro. Estos Incluyen las ideas fundamentales del clculo Introductorio y de la evaluacin de funciones, los detalles de la aritmtica de mquina* tal como se lleva a cabo en las computadoras modernas, y el anlisis de la prdida de cifras significativas debido aclculos maldiseados.

    Despus de analizar los mtodos eficientes para la evaluacin de polinomios, se estudia el sistema numrico binario, la representacin de nmeros de punto flotante y bs protocolos comunes que se utilizan para el redondeo. Los efectos de los pequeos errores de redondeo en los clculos se magnifican en los problemas mal condicionados. La batalla para limitar estos efectos dainos es un tema que se repetir en el resto de los captulos.

    Uno de bs componentes de Us computadores modernas es La Unidad lgica Aritmtica (AUJ, por sus siglas en Ingls) la cual es encargada de alizar Us operaciones aritmticas.

    El objetivo de este libro es presentar y analizar los mtodos de resolucin de problemas matemticos con computadoras. Las operaciones ms fundamentales de la aritmtica son la suma y la multiplicacin. stas tambin son las operaciones necesarias para evaluar un polinomio P(x)cn un valor particular x. No es casualidad que los polinomios sean los elementos bsicos para muchas tcnicas de computacin que se desarrollarn aqu.

    Debido a lo anterior, es importante saber cmo se evala un polinomio. Es probable que el lector ya sepa cmo hacerlo y pueda pensar que invertir tiempo en un problema tan fcil es un poco ridculo! Pero entre ms bsica sea una operacin, mayor beneficio puede obtenerse al realizarla correctamente. Pr lo tanto, ahora es importante considerar cmo implementar la evaluacin de polinomios de una manera tan eficiente como sea posible.

    0.1 EVALUACIN DE UN POLINOMIO_______________________________________________________

    Cul es la mejor manera de evaluar

    P(x) = 2 / + Ir* - 3x2 + 5x - 1,

    por ejemplo, en x = 1/2? Suponga que los coeficientes del polinomio y el nmero 1/2 se almacenan en la memoria y trate de disminuir al mnimo el nmero de sumas y multiplicaciones requeridas

  • 2 | CAPTULO O Fundamentos

    MTODO 1

    MTODO 2

    MTODO 3

    para obtener P(U2). Para simplificar las cosas, no se tomar en cuenta el tiempo que se invierte en el almacenamiento y obtencin de nmeros desde y hada la memoria.

    El primer enfoque, y el ms sencillo, es

    1 1 1 1 , 1 1 1 1 1 c 1 . 5

    2 2 2 2 2 2 2 2 2 2 4

    H nmero de multiplicaciones requeridas es 10. junto con 4 adiciones. Dos de las adiciones son en realidad sustracciones, pero como la sustraccin puede ser vista como la adidn de un nmero negativo almacenado, no es necesario preocuparse por la diferencia.

    Lo ms seguro es que hay una mejor manera de realizar esta tarea que la mostrada por la ecuacin (0.1). El esfuerzo se est duplicando (es posible ahorrarse operaciones al eliminar la multiplicacin repetida de la entrada 1/2). Una mejor estrategia consiste en calcular primero (1/2)4, almacenando los productos parciales a medida que se avanza. Esto conduce al siguiente mtodo:

    Encontrar primero las potendas del nmero de entrada jc = 1/2, y almacenarlas para su uso futuro:

    H-G GH-G)' GH-Gf

    Ahora es posible sumar los trminos:

    'G)-G)-G)-G)Ahora se tienen 3 multiplicaciones de 1/2, junto con otras 4 multiplicaciones. Al hacer el conteo, se ha logrado una reduccin a 7 multiplicaciones,con las mismas 4 adidones. Es una mejora significativa la reduccin de 14 a 11 operadones? Si slo debe hacerse una evaluacin, probablemente nolo sea. Si se usa el mtodo 1 o el mtodo 2, la respuesta estar disponible antes de poder quitar losdedos del teclado de la computadora. Sin embargo, imagine que es necesario evaluar el polinomio con diferentes entradas x varias veces por segundo. Entonces la diferencia puede ser crucial para obtener la informacin cuando se necesita.

    Es lo mejor que se puede hacer con un polinomio de grado 4? Resulta difcil imaginar que sea posible eliminar otras tres operaciones, pero s se puede. El mejor mtodo elemental es d siguiente:

    (Multiplicacin anidada) Volver a escribir d polinomio de modo que pueda evaluarse de adentro hacia afuera:

    P(x) = - 1 -I- x(5 - 3x + 3x2 + 2x3)= - 1 + x(5 + x ( - 3 + 3x + 2x2))= - 1 + x(5 + x (3 + x(3 + 2x)))= - 1 + x * (5 + x * ( - 3 + x * (3 + x * 2))). (0.2)

    Aqu el polinomio est escrito en sentido inverso, y las potendas de x se factorizan para el resto d d polinomio. Una vez que pueda ver cmo se escribe de esta manera (no se requiere hacer ningn clculo para realizar la reescritura) los coeficientes no cambian. Ahora evale de adentro hacia afuera:

  • 0.1 Evaluacin de un polinomio | 3

    multiplique - * 2 , sume + 3 -* 4

    multiplique - * 4, sume - 3 -* - 1

    9sume + 5 -* -

    2

    multiplique - *1 9 5

    sume - 1 -* 7 4 (0.3)

    Este mtodo, llamado multiplicacin anidada o mtodo de H om er, evala el polinomio en 4 multiplicaciones y 4 sumas. Un polinomio de grado general d puede evaluarse en d multiplicaciones y d adiciones. La multiplicacin anidada se relaciona estrechamente con la divisin sinttica de la aritmtica polinomial.

    El ejemplo de la evaluacin de un polinomio es caracterstico en todo el tema de mtodos de cmputo para el clculo cientfico. En primer lugar, las computadoras son muy rpidas al realizar cosas muy simples. En segundo lugar, es importante ejecutar incluso las tareas ms sencillas tan eficientemente como sea posible, puesto que pueden llevarse a cabo muchas veces. En tercer lugar, la mejor manera de hacerlo puede no ser la ms obvia. Durante el ltimo medio siglo, los campos del anlisis numrico y el clculo cientfico, de la mano con la tecnologa del hardware de computacin, han desarrollado tcnicas de solucin eficientes para abordar los problemas comunes.

    Aunque la forma estndar de un polinomio c, + Cjr + c j * 2 + c^r3 + C5 X4 puede escribirse en forma anidada como

    algunas aplicaciones requieren una forma ms general. En particular, los clculos de interpolacin del captulo 3 requerirn la forma

    donde ru r2, r3 y r 4 se denominan los puntos base. Observe que al establecer r, - r2 = r3 r4 = Oen (0.5) se recupera la forma original anidada (0.4).

    El siguiente cdigo* de M a t l a b mplementa la forma general de multiplicacin anidada (comprelo con (0.3)):

    % Program a 0 . 1 M u l t i p l i c a c i n a n id a d a% E vala u n p o l i n o m i o d e fo r m a a n id a d a u s a n d o e l m to d o d e H o m e r % E ntrada: g r a d o d d e l p o l i n o m i o ,% a r r e g l o d e d + 1 c o e f i c i e n t e s c ( p r im e r o e l t r m in o c o n s t a n t e ) ,% c o o r d e n a d a x d o n d e s e v a a e v a l u a r y% a r r e g l o d e d p u n t o s b a s e b , s i e s n e c e s a r i o% S a lid a : v a l o r y d e l p o l i n o m i o e n xf u n c t i o n y - n e s t (d , c , x , b)i f n a r g i n < 4 , b * z e r o s ( d , 1 ) ; e n dy = c ( d + l ) ;f o r i = d : - l : l

    y y . * ( x - b ( i ) > + c ( i ) ; e n d

    La ejecucin de esta fundn de M a t l a b consiste en sustituir los datos de entrada, que son el grado, los coeficientes, los puntos de evaluacin y los puntos base. Por ejemplo, el polinomio (0.2) puede evaluarse en x - 1/2 mediante el comando de M a t l a b

    c\ + x(c2 + x(c3 + x(c4 + x(c5)))). (0.4)

    ci + (x - r ,) (c 2 + (x - r 2 )(c3 + (x - r 3 )(c4 + (x - r4 )(c5)))). (0.5)

    * Si su equipo no acepta acentos u otros smbolos en los comentarios, omtalos.

  • 4 | CAPTULO O Fundamentos

    EJEM PLO 0.1

    n e a t ( 4 , [ - 1 5 - 3 3 2 ] , l / 2 , [ 0 0 0 0 ] )

    a n o -

    1 .2 5 0 0

    como ya se determin previamente en forma manual. El archivo n e a t .m,corno el resto del cdigo Matlab que se muestra en este libro, debe estar accesible desde la ruta de Mati.ab (o en el directorio actual) al ejecutar el comando.

    Si se va a utilizar el comando ne a t con todos los puntos base en 0 como en (0.2), puede usarse la forma abreviada

    n e a t (4 , [ - 1 5 - 3 3 2 ) , 1 / 2 )

    con el mismo resultado. Lo anterior se debe a la declaracin n a rg in en n e s t.m , Si el nmero de argumentos de entrada es menor que 4, los puntos base se establecen en cero de manera automtica.

    Debido al tratamiento transparente que Mati.ab da a la notacin vectorial, el comando n e s t puede evaluar arreglo de valores de x a la vez. Esto se ilustra con el cdigo siguiente:

    n e s t (4, [-1 5 -3 3 2 ] , [-2 - 1 0 1 2 ])

    a n a -

    -15 -10 -1 6 53

    Por ltimo, el polinomio de interpolacin de grado 3

    y>(x)= I + x Q -t- (* 2) Q + {* - 3) ( - | ) ) )

    del captulo 3 con puntos base r, = 0, r2 = 2, r 3 = 3, puede evaluarse en x 1 mediante

    n e a t ( 3 , [ l 1 /2 1 /2 - 1 / 2 ] , 1 , ( 0 2 3])

    ana =

    0

    Encuentre un mtodo eficaz para evaluar el polinomio P(x) = 4 r 5 + 7x8 - 3x 1 + 2xu .

    Si se realiza una reescritura parcial del polinomio es posible reducir el esfuerzo de clculo requerido para la evaluacin. La idea es factorizar xs en cada trmino y escribir la expresin en trminos de jr3:

    P {x) = x 5(4 + 7x 3 - 3x6 + 2x9)= x5 * (4 + x3 * (7 + x3 * (-3 + x3 * (2)))).

    fra cada entrada x, primero debe calcularse x * x = x2. x * x 2 = x \ y x2 * x 3 = x \ Estas tres multiplicaciones, combinadas con la multiplicacin de x \ y las tres multiplicaciones y tres adiciones del grado 3 en el polinomio x 3 dan un conteo total de operaciones de 7 multiplicaciones y 3 sumas por evaluacin. -4

  • 0.2 Nmeros binarios | 5

    0.1 Ejercicios

    1. Reescriba los siguientes polinomios de manera anidada. Evale en forma anidada y sin anidar para x = 1/3.

    (a) P(x) = + x2 + 5x2 + x + I(b) /Xx) = -3 x 4 + 4x3 + 5x2 - 5 x + 1(c) P(x) = 2x4 + x3 - x 2 + 1

    2. Reescriba los siguientes polinomios en forma anidada y evale en x = -1/2:

    (a) P(x) = 6x3 - 2 x 2 - 3 x + 7(b) P(x) = 8 x* - x4 - 3x3 + x2 - 3x + I(c) P(x) = 4x6 - 2 x 4 - 2 x + 4

    3. Evale P(x) *xA - 4 x 4 + 2 x 2 + 1 en x 1/2, considerando P[x) como un polinomio en x2 y utilice la multiplicacin anidada.

    4. Evale el polinomio anidado con los puntos base P(x) = 1 + x

  • donde cada dgito binario, o bit. es 0 o 1. El equivalente en base 10 de un nmero es

    + >,2 ' + Ao2 + >-,2 -* 4- b - 22~2. . . .

    Por ejemplo, el nmero decimal 4 se expresa como (100 . ) 2 en base 2, y 3/4 se representa como (0 . 11) 2.

    0.2.1 Decim al a binarioEl nmero decimal 53 se representar como (53) , 0 para destacar que se debe interpretar como base 10. Para convertirlo a binario. lo ms simple es dividir el nmero en partes enteras y fraccinales. y convertir cada parte por separado. Para obtener el nmero (53.7)i0 = (53 ) l 0 + (0.7)10, se convertir cada parte a binario y se combinaran los resultados.

    fo rte en tera . Los enteros decimales se convierten a binario al dividir sucesivamente entre 2 y registrar los residuos. Los residuos, 0 o 1, se registran comenzando en el punto decimal (o ms exactamente, la base) y despus alejndose de ste (hacia la izquierda). Para (53)l0,se tendra

    53 + 2 = 26 R I 26 + 2 = 13 R 0 13 + 2 = 6 R 1

    6 + 2 = 3 R 0 3 t 2 = 1 R 11 -5 -2 = 0 R 1.

    Por lo tanto, el nmero 53 con base 10 puede escribirse en bits como 110101, indicado como (53) , 0 = (110101 )2. Al comprobar el resultado se tiene 110101 = 25 + 24 + 22 + 2o = 32 + 16 + 4 + 1 = 53.

    fo rte fracciona!. (0.7)lo se convierte a binario invirtiendo los pasos anteriores. Se multiplica por 2 sucesivamente y se registran las partes enteras, alejndose del punto decimal hacia la derecha.

    .7 x 2 = .4 + I

    .4 x 2 = . 8 + 0 . 8 x 2 = . 6 + 1 . 6 x 2 = . 2 + 1 .2 x 2 = .4 + 0 .4 x 2 = . 8 + 0

    CAPTULO O Fundamentos

    Tenga en cuenta que el proceso se repite despus de cuatro pasos y se repetir en forma indefinida exactamente del mismo modo. Por lo tanto,

    (0.7),o = (. 1 0 1 1 0 0 1 1 0 0 1 1 0 .. .> 2 = (. lOTTh,

    donde la notacin de una barra superior se utiliza para denotar los bits que se repiten en forma infinita. Al unir las dos partes, se concluye que

    (53.7) ,o = ( 1 1 0 1 0 1 . 1 0 1 1 0 )2 .

  • 0 3 Nmeros binarios | 7

    0 .2 .2 De binario a decim alfra convenir un nmero binario a decimal, de nuevo lo mejor es separarlo en partes enteras y fraccinales.

    R irte en tera . Tan slo se suman las potencias de 2 como se hizo anteriormente. El nmero binario ( 1 0 1 0 1 )2: es 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 - 2 ( 2 1 )l0.

    ftirte fraccional. Si la pane fraccional es finita (una expansin terminada en base 2), debe precederse de la misma manera. Pt>r ejemplo,

    n o n h - | + + - ( ) it.

    La nica complicacin surge cuando la parte fraccional no es una expansin finita en base 2. La conversin de una expansin binaria infinitamente repetitiva a una fraccin decimal puede hacerse de varias maneras. Tal vez la forma ms sencilla es utilizar la propiedad de cambio de la multiplicacin por 2 . ____

    Por ejemplo, suponga que x = (0.1011 ) 2 debe convertirse a decimal. Multiplique x por 24, lo cual desplaza 4 posiciones a la izquierda en sistema binario. Luego reste la x original:

    2 4x = 1 0 1 1 .TOTT x =oooo.ToTT.

    Al restar se obtiene

    (2 * - I)x = ( 1 0 1 1 ) 2 = ( l l ) io .

    Despus se despeja x para obtener x = ( . 1 0 1 1 ) 2 = 11/15 en base 10.Como ejemplo adicional, suponga que la parte fraccional no se repite inmediatamente, como

    en x = . 10101. Al multiplicar por 22 cambia a y = 2 \v = 10.I1. La parte fraccional de y, es decir 2 = . 1 0 1 .se calcula como antes:

    2 3 r = OI.TO z = 0 0 0 . TO.

    Por lo tanto. l z = 5, y y = 2 + 5 /7 ,x = 2 2 y = 19/28 en base 10. Un buen ejercicio consiste en comprobar este resultado al convertir 19/28 a binario y compararlo con la x original.

    Los nmeros binarios son los elementos bsicos de los clculos en mquina, pero resultan ser largos y difciles de manejar para que los seres humanos los interpreten. En ocasiones resulta til emplear la base 16, slo para presentar los nmeros de una manera ms sencilla. Iros nmeros hexadedm ales se representan mediante los 16 smbolos 0, 1 ,2 , .... 9, A, B, C, D, E, F. Cada nmero hexadecimal puede representarse mediante 4 bits. As, (1 ) 16 = (0001)2 ,(8 ) l 6 = (1000)2 y (F)i6 = (111 1 ) 2 = ( 15)|0- En la siguiente seccin se describir el fo rm at h ex d e M a t l a b para representar los nmeros de mquina.

    0.2 Ejercicios

    1. Encuentre la representacin binaria de los nmeros enteros en base 10. (a) 64 (b) 17 (c) 79 (d) 227

    2. Encuentre la representacin binaria de los nmeros en base 10. (a) 1/8 (b) 7/8 (c) 35/16 (d) 31/64

    3. Convierta los siguientes nmeros en base 10 a binario. Utilcela notacin dla barra superior para los nmeros binarios infinitos, (a) 10.5 (b) 1/3 (c) 5/7 (d) 12.8 (e) 55.4 (0 0 .1

    4. Convierta los siguientes nmeros en base 10 a binario, (a) 11.25 (b) 2/3 (c) 3/5 (d) 3.2 (e) 30.6 (f) 99.9

  • 8 | CAPTULO O Fundamentos

    5. Encuentre los primeros 15 bits en la representacin binaria de x.

    6 . Encuentre los primeros 15 bits en la representacin binaria de e.

    7. Convierta los siguientes nmeros binarios a base de 10: (a) 1010101 (b) 1011.101 (c) 10111.01(d) i io.ro (c) io .rro (f) n o .i ro (g> io.oiottoi o>) m .T

    8 . Conviertajos siguientes nmeros binarios a base 10: (a) 11011 (b) 110111.001 (c) 111.001(d) 1 0 1 0 . 0 1 (e) 1 0 1 1 1 . 1 0 1 0 1 ( 0 1 1 1 1 . 0 1 0 0 0 1

    0.3 REPRESENTACIN DEL PUNTO FLOTANTE DE LOS NMEROS REALES

    Rn esta seccin se presenta un modelo para la aritmtica de computadora de nmeros en punto flotante. Existen varios modelos, pero para simplificar las cosas se elegir un modelo en particular y se describir con detalle. El modelo elegido se denomina estndar 1F.EE 754 de punto flotante. H Instituto de Ingenieros Elctricos y Electrnicos (IEEE, por sus siglas en ingls) tiene un inters activo en el establecimiento de estndares para la industria. Su formato de aritmtica de punto flotante se ha convertido en el estndar comn para la precisin aritmtica sencilla y doble en toda la industria de la computacin.

    Los errores de redondeo son inevitables cuando se usan localidades de memoria de precisin finita para representar nmeros reales de precisin infinita. Aunque se espera que los pequeos errores cometidos durante un clculo largo slo tengan un efecto menor en la respuesta, en muchos casos esto resulta ser slo una ilusin. Los algoritmos simples, como la eliminacin de Gauss o los mtodos para resolver ecuaciones diferenciales, pueden aum entar los errores microscpicos a un tamao macroscpico. De hecho, el tema principal de este libro es ayudar al lector a reconocer cundo un clculo se encuentra en riesgo de ser poco fiable debido a la amplificacin de los pequeos errores cometidos por las computadoras digitales y saber cmo evitar o minimizar el riesgo.

    0 .3 .1 Formatos de punto flotante_______________________________________________________El estndar IEEE consiste en una serie de representaciones binarias de los nmeros reales. Un nmero de punto flotante consta de tres partes: el gno ( + o ), una mantisa, que contiene la cadena de bits significativos, y un exponente. Las tres partes se almacenan juntas en una sola palabra de computadora.

    Existen tres niveles de uso general para la precisin de los nmeros de punto flotante: precisin simple, precisin doble y precisin extendida, tambin conocida como precisin doble larga. H nmero de bits asignados a cada nmero de punto flotante en los tres formatos es 32 ,64. y 80. respectivamente. Los bits se dividen entre las partes como se muestra a continuacin:

    precisin signo ex ponente mantisa

    sencilla 1 8 23

    doble 1 1 1 52

    doble larga 1 15 64

    Los tres tipos de precisin funcionan en esencia de la misma manera. La forma de un nmero de punto flotante IEEE normalizado es

    \J> b b ...b x 2p, (0 .6 )

    donde cada uno de los N valores de 6 es 0 o l .y p e s u n nmero binario de A# bits que representa el ponente. La normalizacin significa que, como se muestra en (0.6), el bit inicial (que se encuentra ms a la izquierda) debe ser 1 .

    Cuando un nmero binario se almacena como un nmero de punto flotante normalizado, est alineado a la izquierda, lo que significa que el nmero 1 a la extrema izquierda se desplaza justo

  • 0 3 Representacin del punto flotante de los nmeros reales | 9

    a la izquierda del punto base. El cambio se compensa por un cambio en el exponente. Por ejemplo, el nmero decimal 9, que es el 1001 enbinario .se almacenara como

    + 1.001 X 2 \

    debido a un cambio de 3 bits, o multiplicacin por 23.es necesario mover el uno que se encuentra en el extremo izquierdo a la posicin conecta.

    Para ser ms especficos, se utilizar slo el formato de precisin doble para la mayor parte del libro. Las precisiones sencilla y doble larga se manejan de la misma manera, con la excepcin de las diferentes longitudes M y Af del exponente y la mantisa. En la precisin doble, utilizada por muchos compiladores de C y M a ti.a b , M - 11 y Ai 52.

    El nmero 1 de precisin doble es

    +1. (XX)(X)0(X)(XKXM)(X)0()(XKKX)(X)0(XKXKX)()(X)(XXXM)0()(X)(XHKX)(X)00 x 2o.

    donde el cuadro encierra los 52 bits de la mantisa. El siguiente nmero de punto flotante mayor que 1 es

    + 1 . (XX)(X)0(X}(X)(X)0(X)(X)(X)0{X)(X)(X)(XX)000(X)00(X)000{X)(X)0000001 x 2.

    o bien 1 + 2 52.

    DEFINICIN O.t El nmero psilonde mquina, que se indica c o n x x ^ .e s la distancia entre I yel menor nmero de punto flotante mayor que 1. Para el punto flotante estndar IEEE de precisin doble,

    = 2 ' * O

    El nmero decimal 9.4 = (1001.0110)? se alinea a la izquierda como

    + 1 . 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 . . . x 2 ,

    donde se han encerrado en un cuadro los primeros 52 bits de la mantisa. De aqu surge una nueva pregunta: Cmo se ajusta el nmero binario infinito que representa 9.4 en un nmero finito de bits?

    Es necesario truncar el nmero de alguna manera y, al hacerlo, necesariamente cometer un pequeo error. Un mtodo, llamado recorte, consiste tan slo en eliminar los bits que estn ms all de cierto extremo final (es decir, aquellos que estn ms all del 52vo bit a la derecha del punto decimal). Este protocolo es simple, pero est sesgado ya que siempre acerca el resultado a cero.

    El mtodo alternativo es el redondeo. En base 10. los nmeros se redondean por lo regular si el siguiente dgito es 5 o superior, y se redondea hacia abajo en caso contrario. En binario, esto corresponde al redondeo si el bit es 1. En especfico, el bit importante en el formato de precisin doble es el 53vo bit a la derecha del punto de raz, el primero ubicado fuera del cuadro. La tcnica de redondeo predeterminada, implementada por el estndar IEEE, consiste en sumar 1 al bit 52 (redondeo hacia arriba) si el bit 53 es 1, y no hacer nada con el bit 52 (redondeo hacia abajo) si el bit 53es0 ,co n una excepcin: si los siguientes bits despus del bit 52son 10000..., exactamente a la mitad entre arriba y abajo, se redondea hacia arriba o hacia abajo de acuerdo con la eleccin que haga el bit 52 igual a 0. (Aqu slo se trata con la mantisa, ya que el signo no juega algn papel).

    ftor qu existe un caso excepcional? A excepcin de este caso, la regla de redondeo significa que se busca el nmero de punto flotante normalizado ms prximo al nmero original, de ah su nombre, la regla de redondeo al nmero ms cercano. Es igual de probable cometer un error en redondeo hacia arriba o hacia abajo. Por lo tanto, en el caso excepcional, aqul donde haya dos nmeros flotantes igualmente distantes del punto a redondear, debe lomarse una decisin de manera que no se prefiera ir hacia arriba o hacia abajo de forma sistemtica. Lo anterior se hace para tratar de evitar la posibilidad de una desviacin lenta no deseada en los clculos largos debido tan slo a un redondeo sesgado. La eleccin de hacer el bit 52 final igual a 0 en el caso de un empale es algo arbitraria, pero al menos no muestra una preferencia hacia arriba o hacia abajo. El problema 8 muestra un poco por qu se hace una eleccin arbitraria de 0 en el caso de un empate.

  • 10 | CAPTULO 0 Fundamentos

    DEFINICIN 0.2

    DEFINICIN 0.3

    Regla de redondeo IEEE al nmero ms cercano

    Para precisin doble, si el 53vo bit a la derecha del punto binario es 0. entonces redondee hacia abajo (truncar despus de 52vo bit). Si el 53vo bit es 1. entonces redondee hacia arriba (aadir 1 en el bit 52). a menos que todos los bits conocidos a la derecha del 1 sean 0. en cuyo caso se aade 1 al bit 52 si, y slo si, el bit 52 es 1.

    ftira obtener el nmero 9.4 analizado previamente, el 53vo. bit a la derecha del punto binario es un I y es seguido por otros bits distintos de cero. La regla de redondeo al nmero ms cercano dice redondear hacia arriba, o aadir 1 al 52vo bit. Por lo tanto, el nmero de punto flotante que representa a 9.4 es

    -t-lJ 0010110011001100110011001100110011001100110011001101 X 23. (0.7)

    Indique el nmero de punto flotante IEEE de precisin doble asociado a x, utilizando la regla de redondeo al nmero ms cercano, por fl(x).

    En la aritmtica de computadora, el nmero real x se sustituye con la cadena de bits fl(x). Segn esta definicin, fl(9.4) es el nmero en representacin binaria (0.7). Se llega a la representacin del punto flotante al descartar la cola infinita .1100 X 2 - 5 2 X 23 .0110 X 2 5 1 X 23 = .4 X 2 " * 8 desde el extremo derecho del nmero y despus aadiendo 2 - 5 2 X 23 = 2_49en el paso de redondeo. Por lo tanto,

    fl(9.4) = 9 .4 + 2 4 9 - 0.4 x 2~4J{= 9.4 4 - (1 0.8)2" 4 9= 9.4 + 0.2 x 2~49. (0.8)

    En otras palabras, una computadora que utiliza la representacin de precisin doble y la regla de redondeo al nmero ms cercano comete un error de 0.2 X 2 - 4 9 al almacenar 9.4. A este valor de 0.2 X 2 4 9 se le denomina error de redondeo.

    El mensaje importante es que d nmero de punto flotante que representa a 9.4 no es igual a9.4, aunque est muy cerca. P ira cuantificar esa cercana, se usa la definidn estndar de error.

    Sea xr una versin calculada de la cantidad exacta x. Entonces

    error absoluto \xc - x\,

    y , I*e * 1error relativo = ,1 *1

    si esta ltima cantidad existe.

    Error de redondeo relativo

    En el modelo de aritmtica de computadora IEEE, el error de redondeo relativo de fl(x) no es ms de la mitad de la psilon de mquina:

    | f l ( * ) - * l 1

    1*1 2 ^ (0.9)

    En el caso del nmero x = 9.4. se trabaj con el error de redondeo en (0.8). el cual debe satisfacer (0.9):

    |fl(9.4) - 9.41 0 2 x 2~ 4 9 8 19.4 _ 9.4 ~ 47 < 2 maq

  • 0 3 Representacin del punto flotante de los nmeros reales | 11

    EJEMPLO 0.2 Encuentre la representacin fl(jr) de precisin doble y el error de redondeo para x = 0.4.

    Como (0.4)io = (.011 0 )2 , al alineara la izquierda el nmero binario resulta en

    0 .4 = .IOOTTO x 2 ' 2= + ! . 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

    1 0 0 1 10. . . x 2 ~2.

    Par lo tanto, de acuerdo con la regla de redondeo. fl(0.4) es

    + 1 . 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 x 2-2

    Aqu, se ha aadido 1 al 52vo bit. lo que ocasion que el 51vo bit tambin cambiara, debido a laadicin binaria. ____

    Analizando cuidadosamente, se descart 2 5 3 x 2~ 2 + .0110 x 2 ~ 5 4 x 2~ 2 cn el truncamiento y se aadi 2 5 2 X 2 2 mediante el redondeo. Por lo tanto,

    fl(0.4) = 0 .4 - 2 - 5 5 - 0.4 x 2~ 5 6 + 2 - 5 4 = 0.4 + 2~54( 1/2 0.1 + 1)= 0.4 + 2" * (.4 )= 0 .4 + 0 . 1 x 2 -52.

    Observe que el error de redondeo relativo para 0.4 es 0.1/0.4 X ( mq= 1/4 X e ^ , de acuerdo con (0.9). *

    0 .3 .2 Representacin en mquina

    Hasta ahora, se ha descrito una representacin de punto flotante en abstracto. A continuacin se presentan ms detalles sobre cmo llevar a cabo esta representacin en una computadora. Una vez ms, en esta seccin se emplear el formato de precisin doble, los otros formatos son muy similares.

    A cada nmero de punto flotante de precisin doble se le asigna una palabra de 8 bytes o 64 bits, para almacenar sus tres partes. Cada una de estas palabras tiene una forma

    se ie2 ...eu b ib 2 ...b s2 .( 0 . 10)

    donde se almacena el signo, seguida de 11 bits que representan el exponente y los 52 bits despus del punto decimal, que representa la mantisa. La bit de signo s es 0 para un nmero positivo y I para un nmero negativo. Los 11 bits que representan el exponente provienen del entero binario positivo resultante de la adicin de 2 1 0 - 1 = 1023 para el exponente, al menos para los exponen- tes entre -1022 y 1023. Esto cubre valores de e , ... eu desde 1 hasta 2046. dejando d 0 y el 2047 para fines especiales, que se estudiaran ms adelante.

    El nmero 1023 se denomina el sesgo del exponente del formato de precisin doble. Se utiliza para convertir exponentes positivos y negativos a nmeros binarios positivos para su almacenamiento cn los bits de exponente. Para las precisiones sencilla y doble largo, los valores d d sesgo exponente son 127 y 16383, respectivamente.

    El comando f o rm at hex de M a t l a b consiste simplemente en expresar los 64 bits d d nmero de mquina (0.10) como 16 nmeros hcxadccimalcs, o de base 16, sucesivos. As, los primeros tres nmeros hcxadecimales representan el signo y d exponente combinados, mientras que los ltimos 13 contienen la mantisa.

    Por ejemplo, el nmero l ,o

    1 = +1. OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO x 2

  • nene la forma de un nmero de mquina de precisin doble

    12 | CAPTULO O Fundamentos

    0 01111111111 ()0000000000(W)000000000000000000000000000000000000000

    una vez que se aade el usual 1023 al exponente. Los tres primeros dgitos hexadecimales corresponden a

    00111111 l i l i = 3 FF.

    por lo que la representacin en formato hexadedmal del nmero de punto flotante 1 ser 3FFOOOOOOOOOOOOO. Esto puede comprobarse al escribir f orm at hex en M a t l a b e introducir el nmero 1 .

    EJEMPLO 0.3 Encuentre la representacin en nmero de mquina hexadedmal del nmero real 9.4.

    A partir de (0.7) se tiene que el signo es s = 0, el exponente es 3 y los 52 bits de la mantisa despus del punto decimal son

    0010 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101-> (2C C C C C C C C C C C D )l6.

    Al agregar 1023 para el exponente se obtiene 1026 = 210 + 2, o (10000000010)2. La combina- dn de signo y exponente es (010000000010)2 = (402)J6, por lo que el formato hexadedmal es A022CCCCCCCCCCCD. ' 2 .los primeros doce bits de I n f y - I n f son 0 1 1 1 1 l l l T 1 1 1 1y 11111 U l l | 1111 . respectivamente; y los restantes 52 bits (la mantisa) son cero. El nmero de mquina NaN tambin comienza 1111 1111 | 1111 . pero tiene una mantisa distinta de cero. En resumen.

    nmero de mquina ejemplo formato hexadedmal

    I n f 1 / 0 7FFOOOOOOOOOOOOO

    - I n f - 1 / 0 FFFOOOOOOOOOOOOO

    Nan (VI) FFFxxxxxxxxxxxxx

    donde las x indican bits que no son todos cero.H exponente especial 0 , que significa e,e2 ... = ( 0 0 0 0 0 0 0 0 0 0 0 )2, tambin indica una

    desviacin en la forma de punto flotante estndar. En este caso, el nmero de mquina se interpreta como d nmero de punto flotante no normalizado

    b ib 2 .. .b s 2 \x 2 " 1022. (0 .1 1 ) 0

    Es decir, ai este caso, ya no se supone que el bit ubicado ms a la izquierda es 1. Estos nmeros no normalizados se llaman nmeros de punto flotante subnormales. Estos extienden el rango de nmeros muy pequeos a unos pocos rdenes de magnitud ms. Por lo tanto, 2 - 5 2 X 2 1 0 2 2 = 2 1 0 7 4 es el menor nmero distinto de cero representable en predsin doble. Su palabra mquina es

    0 00000000000 0000000000000000000000000000000000000000000000000001

    Asegrese de entender la diferencia entre el nmero ms pequeo representable 2 1 0 7 4 y = 2~52. Es posible representar en computadora muchos nmeros inferiores a a pesar de que si se suman a 1 el efecto puede ser casi nulo. Por otra parte, los nmeros de precisin doble por debajo de 2 1 0 7 4 no pueden representarse en absoluto.

  • Los nmeros subnormales incluyen el nmero ms importante 0. De hecho, la representacin subnormal incluye dos nmeros de punto flotante diferentes, + 0 y - 0 , que se tratan en los clculos como el mismo nmero real. La representacin en computadora de + 0 tiene un bit de signo s = 0, bits de ex ponente ... e \ , = (XXHX)OOOOOO, y mantisa de 52 ceros, en pocas palabras, los 64 bits son cero. El formato hcxadccimal de 0 es 0000000000000000. Para obtener el nmero - 0 todo es exactamente igual, excepto que el bit de signo s 1. En formato hcxadeciinal -O es 8000000000000000.

    0 3 Representacin del punto flotante de los nmeros reales | 13

    0 .3 .3 Suma de nmeros de punto flotanteLa adicin en computadora consiste en alinear los puntos decimales de los dos nmeros que se van a sumar, sumarios, y despus almacenar el resultado de nuevo como un nmero de punto flotante. La misma suma puede hacerse con una precisin ms alta (con ms de 52 bits) puesto que se lleva a cabo en un registro dedicado slo a este propsito. Luego de la suma, el resultado debe redondearse de nuevo a 52 bits despus del punto binario para almacenarlo como un nmero de mquina.

    Por ejemplo, la suma de 1 ms 2 ~ 5 3 aparecera de la siguiente manera:

    I. 0 0 . . . 0 x 2 + 1 . 0 0 . . . 0 x 2 - S 3

    = 1. oooooooooooooooooooooooooooooooooooooooooooooooooooo 2o+ 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I x 2 o

    = 1 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I x 2 0

    Lo anterior se guarda como 1. X 2o = 1, de acuerdo con la regla de redondeo. Por lo tanto, I + 2 - 5 3 es igual a 1 con aritmtica IEEE de precisin doble. Tenga en cuenta que 2 5 3 es el mayor nmero de punto flotante con esta propiedad; cualquier cosa ms grande que se sume a 1 se traducira en una suma superior a 1 en la aritmtica de computadora.

    El hecho de que = 2 ' 5 2 no significa que los nmeros menores a t a s c a n insignificantes en el modelo IEEE. Mientras sean representables en el modelo, los clculos con nmeros de este tamao son exactos, suponiendo que no se sumen o resten a nmeros que tengan un tamao de una unidad.

    Es importante darse cuenta de que la aritmtica de computadora, debido al truncamiento y redondeo que realiza, en ocasiones puede dar resultados sorprendentes. Por ejemplo, si a una computadora de precisin doble con redondeo IEEE al nmero ms cercano se le pide almacenar9.4. despus restar 9. y luego restar 0.4, el resultado ser algo diferente de cero! Lo que ocurre es lo siguiente: Primero. 9.4 se almacena como 9.4 + 0.2 X 2 49, como se muestra anteriormente. Qiando se resta 9 (tenga en cuenta que 9 puede representarse sin error), el resultado es 0.4 + 0.2 X2 -49. Ahora, cuando se le pide a la computadora que reste 0.4, realiza la resta (como se vio en el ejemplo 0.2) del nmero de mquina fl(0.4) = 0.4 + 0.1 X 2-52, de donde resulta

    0.2 x 2 4 9 - 0.1 x 2" 5 2 = .1 x 2 - 5 2 (24 - 1) = 3 x 2 " 5 3

    en vez de cero. ste es un nmero pequeo, del oidcn de , ^ . pero no es cero. Dado que el tipo de datos bsico de M a t l a b es el nmero de precisin doble IEEE, es posible ilustrar este descubrimiento en una sesin de Ma t l a b :

    fo r tn a t l o n g x *9 .4

    9 . 4 0 0 0 0 0 0 0 0 0 0 0 0 0

    y = x - 9

  • 14 | CAPTULO O Fundamentos

    y

    0 . 4 0 0 0 0 0 0 0 0 0 0 0 0 0

    z = y - 0 . 4

    z

    3 . 3 3 0 6 6 9 0 7 3 8 7 5 4 7 0 e - 1 6

    3 * 2 * ( - 5 3 )

    a n a =

    3 . 3 3 0 6 6 9 0 7 3 8 7 5 4 7 0 e - 1 6

    EJEMPLO 0.4 Encuentre la suma de punto flotante de precisin doble (1 + 3 X 2-53) 1.

    Por supuesto, en la aritmtica real la respuesta es 3 X 2 -53. Sin embargo, la aritmtica de punto flotante puede ser diferente. Tenga en cuenta que 3 X 2 5 3 = 2 - 5 2 + 2~53. La primera suma es

    l j Q0 . . . 0 1 x 2 o + l j 10.7.0! x 2 - 5 2

    = 1J(X)0000000(K)00()0000(XX)000000(X)(X)0(X)00

  • 0 3 Representacin del punto flotante de los nmeros reales | 15

    2. Convierta los siguiente nmeros de base 10 a binario y exprese cada uno como un nmero de punto flotante fl(jr) utilizando la regla de redondeo al nmero ms cercano: (a) 9.5 (b) 9.6 (c) 100.2(d) 44/7

    3. Para cules nmeros enteros positivos k es posible representar exactamente (sin error de redondeo) el nmero 5 + 2* en la aritmtica de punto flotante de precisin doble?

    4. Encuentre el mayor entero k para el cual fl( 19 + 2"*) > fl( 19) en la aritmtica de punto flotante de precisin doble.

    5. Realice manualmente las siguientes sumas con la aritmtica de computadora IEEE de precisin doble, utilizando la regla de redondeo al nmero ms cercano (compruebe sus respuestas utilizando M a t l a b ).

    (a) (I + (2 " 5 1 + 2 " 53)) - 1(b) ( 1 + (2 " 5 1 + 2 " 5 2 + 2 - ) ) - 1

    6 . Realice manualmente las siguientes sumas con la aritmtica de computadora IEEE de precisin doble utilizando la regla de redondeo al nmero ms cercano:

    (a) ( I + ( 2 - 51 + 2 " 5 2 + 2 - 5 4 ) ) - 1(b) ( l+ < 2 5 1 +2-52 + 2 - 60) ) - 1

    7. Escriba cada uno de los nmeros utilizando el comando f orm at hex de M a t l a b . Desarrollesus clculos. Despus, compruebe sus respuestas con M a t l a b . (a) 8 (b) 21 (c) 1/8 (d) fl( 1/3) (e)fl(2/3)(i) fl(0.l)(g) f l(0,1) (h) fl(-0 .2)

    8 . Es 1/3 + 2/3 exactamente igual a 1 si se utiliza la aritmtica de punto flotante de precisin doble y la regla de redondeo al nmero ms cercano de IEEE? Deber utilizar fl(l/3) y fl(2/3) del ejercicio 1. Esto ayuda a explicar por qu la regla se expresa tal como es?, la suma sera igual si se usara el recorte despus del bit 52 en vez del redondeo IEEE?

    9. (a) Explique por qu puede determinar psilon de mquina en una computadora que usa la precisin doble IEEE y la regla de redondeo IEEE al nmero ms cercano mediante el clculo de (7/3 - 4/3) - 1. (b) (4/3 - 1/3) - I tambin resulta en f m4l? Explique esto conviniendo a nmeros de punto flotante y llevando a cabo la aritmtica de mquina.

    10. Decida si l + x > l en la aritmtica de punto flotante de precisin doble, con redondeo al nmero ms cercano. (a)x = 2 ' (b)x = 2 _ s -1- 2 - 6 0

    11. Se cumple la ley asociativa para la suma IEEE en computadora?

    12. Encuentre la representacin f l(x) de precisin doble IEEE y determine la diferencia exacta fl(jr) - x para los nmeros reales dados. Compruebe que el error de redondeo relativo no es mayor que

    * = 1 / 3 * = 3 3 x = 9/1

    13. Existen 64 nmeros en punto flotante de precisin doble cuyas representaciones en mquina 64 bits tienen exactamente un bit distinto de oero. Encuentre el (a) mayor, (b) el segundo mayor y(c) el menor de estos nmeros.

    14. Realice manualmente las siguientes operaciones en la aritmtica de computadora IEEE de precisin doble, utilizando la regla de redondeo al nmero ms cercano (compruebe sus respuestas, utilizando M a t l a b ).

    (a) (4.3 - 3.3) - 1 (b) (4.4 - 3.4) - 1 (c)(4.9 - 3.9) - 1

    15. Realice manualmente las siguientes operaciones en la aritmtica de computadora IEEE de precisin doble, utilizando la regla de redondeo al nmero ms cercano.

    (a) (8.3 - 7.3) - 1 (b) (8.4 - 7.4) - 1 (c)(8 . 8 - 7.8) - 1

  • 16. Encuentre la representacin fl(jr) IEEE de precisin doble y determine la diferencia exacta fl(jr) - x para los nmeros reales dados. Compruebe que el error de redondeo relativo no es mayor queW 2-(a) x = 2.75 (b) x = 2.7 (c)x = 10/3

    16 | CAPTULO O Fundamentos

    0.4 PRDIDA DE SIGNIFICANCIAUna de las ventajas de conocer los detalles de la aritmtica de computadora es que tal conocimiento proporciona una mejor posicin para entender los obstculos potenciales en los clculos en computadora. Un problema importante que se plantea de muchas maneras es la prdida de dgitos significativos que resulta de la resta de nmeros casi iguales. En su forma ms simple, se trata de una afirmacin evidente. Suponga que a travs de un esfuerzo considerable, como parte de un clculo largo, se han determinado dos nmeros correctos de siete dgitos significativos, y ahora es necesario restarlos:

    123.4567 - 123.4566

    0 0 0 . 0 0 0 1

    El problema de la sustraccin comienza con dos nmeros de entrada que se conocen con una precisin de siete dgitos, y termina con un resultado que slo tiene un dgito de precisin. Aunque este ejemplo es bastante sencillo, existen otros problemas relacionados con la prdida de significancia que son ms sutiles y, en muchos casos, esto puede evitarse mediante la reestructuracin del clculo.

    EJEMPLO 0.5 Calcule V ^O l 3 en una computadora con tres dgitos decimales.Este ejemplo an es bastante sencillo y se presenta slo para fines ilustrativos. En lugar de

    utilizar una computadora con una mantisa de 52 bits, como en el formato estndar IEEE de precisin doble, se supondr la utilizacin de una computadora de tres dgitos decimales. El uso de una computadora de tres dgitos implica que el almacenamiento de cada clculo intermedio en el proceso involucra el almacenamiento en de un nmero de punto flotante con una mantisa de tres dgitos. Los datos del problema (9.01 y 3.00) se dan con una precisin de tres dgitos. Como se va aemplear una computadora de tres dgitos, siendo optimistas, podria esperarse la obtencin de una respuesta que ser exacta hasta los tres dgitos. (Desde luego, no puede esperarse ms que eso porque durante el clculo slo se emplean tres dgitos). Al comprobar la operacin en una calculadora de mano, se observa que la respuesta correcta es aproximadamente 0.0016662 = 1.6662 X I0 - 3 Cuntos dgitos correctos se obtienen con la computadora de tres dgitos?

    Resulta que ninguno. Como v^9.01 % 3.0016662. cuando se almacena este resultado intermedio con tres dgitos significativos se obtiene 3.00. Si se resta 3.00, se obtiene una respuesta final de0.00. No hay dgitos significativos correctos en esta respuesta.

    Sorprendentemente, existe una manera de ahorrarse este clculo, incluso en una computadora de tres dgitos. Lo que ocasiona la prdida de significancia es el hecho de que explcitamente se estn restando nmeros casi iguales, V9.0I y 3. Este problema puede evitarse usando el lgebra para rccscribir la expresin:

    (V9^0 - 3)(v/9lI + 3)n/9.01 - 3 =

    v ^ O - f 39.01 - 32>/* + 3

    0 . 0 1 . 0 1 , = = 0 .00167% 1.67 x 10 3.

    3.00 + 3 6

    Aqu, se ha redondeado el ltimo dgito de la mantisa a 7 puesto que el siguiente dgito es 6 . Observe que de esta manera se obtienen los tres dgitos correctos, al menos los tres dgitos a los

  • 0.4 Prdida de significancia | 17

    que se redondea la respuesta correcta. La leccin obtenida es que, siempre que sea posible, es importante evitar la resta de nmeros casi iguales en los clculos. ; as = 19.9.

    log ) 0 2 0.301

    Por lo tanto, se requieren n = 20 pasos. Continuando con el mtodo de biseccin, se produce la tabla siguiente:

  • 1.1 B mtodo de biseccin | 29

    k ai m ) Ck f ( c f>k m )0 0 . 0 0 0 0 0 0 + 0.500000 + 1 . 0 0 0 0 0 0 1 0.500000 + 0.750000 1 . 0 0 0 0 0 0 2 0.500000 + 0.625000 + 0.750000 3 0.615000 + 0.687500 + 0.750000 4 0.687500 + 0.718750 + 0.750000 -5 0.718750 + 0.734375 + 0.750000 -6 0.734375 + 0.742188 - 0.750000 -7 0.734375 + 0.738281 + 0.742188 8 0.738281 + 0.740234 - 0.742188 -9 0.738281 + 0.739258 0.740234

    1 0 0.738281 + 0.738770 + 0.739258 -1 1 0.738769 + 0.739014 + 0.739258 -1 2 0.739013 + 0.739136 0.739258 13 0.739013 + 0.739075 + 0.739136 -14 0.739074 + 0.739105 0.739136 15 0.739074 + 0.739090 0.739105 16 0.739074 + 0.739082 + 0.739090 17 0.739082 + 0.739086 0.739090 18 0.739082 + 0.739084 + 0.739086 -19 0.739084 + 0.739085 0.739086 2 0 0.739084 + 0.739085 - 0.739085 -

    La raz aproximada hasta seis posiciones correctas es 0.739085, 1, de modo que los errores aumentan y no puede haber convergencia. Esta relacin de eiTor entre e + t y e slo se garantiza en la cercana de r, pero s implica que no es posible laconvergencia hacia r. _____

    Para la segunda opcin, >(*) = v 1 _ la derivada es g'(x) = 1 /3 ( 1 - x)- 2/3 ( - 1), y 5 = |( 1 0.6823) 2'3/3| % 0.716 < 1. El teorema 1. 6 implica convergencia, de acuerdo con el clculo realizado antes.

    Pira la tercera opcin, g(x) (1 + 2x*)/( 1 + 3x2).

    . x 6 r 2(l + i x 2) (I + 2 r 3 ) 6 r^(*) = ------- (T5I5? -------

    6 r ( r 3 + x - 1 )(1 + 3x2)2 '

    y 5 = |g'(r)| = 0. Esto es lo ms pequeo que puede ser 5, lo que conduce a una convergencia muy rpida como se ve en la figura 1.3(c).

    EJEMPLO 1.3 Explique por qu converge la iteracin de punto fijo g(x) = eos x.

    sta es la explicacin que se prometi al principio del captulo. La aplicacin repetida de la funcin coseno corresponde a la LPF con g(x) = eos x. De acuerdo con el teorema 1.6 . la solucin r rsO.74 atrae estimaciones ms cercanas porque g'(r) = - sen r ss - sen 0.74 as -0 .67 es menor que I en valor absoluto.

  • U Iteracin de punto fijo | 37

    EJEMPLO 1.4 Use la iteracin de punto lijo para encontrar una raz de eos x = sen x.

    La manera ms sencilla de convertir la ecuacin en un problema de punto fijo es sumar xa cada lado de la ecuacin. El problema puede rccscribirse como

    x + eos x sen x = xy definir

    g(x) = x + eos x - sen x. ( 1 .1 2 )

    El resultado de la aplicacin del mtodo de la iteracin de punto fijo para esta g(x) se muestra en la tabla.

    i Xi g(*i)

    i1j?IIS e/e-\0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 0.78539821 1 . 0 0 0 0 0 0 0 0.6988313 0.2146018 0.2732 0.6988313 0.8211025 0.0865669 0.4033 0.8211025 0.7706197 0.0357043 0.4124 0.7706197 0.7915189 0.0147785 0.4145 0.7915189 0.7828629 0.0061207 0.4146 0.7828629 0.7864483 0.0025353 0.4147 0.7864483 0.7849632 0.0010501 0.4148 0.7849632 0.7855783 0.0004350 0.4149 0.7855783 0.7853235 0.0001801 0.414

    1 0 0.7853235 0.7854291 0.0000747 0.4151 1 0.7854291 0.7853854 0.0000309 0.4141 2 0.7853854 0.7854035 0.0000128 0.41413 0.7854035 0.7853960 0.0000053 0.41414 0.7853960 0.7853991 0 . 0 0 0 0 0 2 2 0.41515 0.7853991 0.7853978 0.0000009 0.40916 0.7853978 0.7853983 0.0000004 0.44417 0.7853983 0.7853981 0 . 0 0 0 0 0 0 1 0.25018 0.7853981 0.7853982 0 . 0 0 0 0 0 0 1 1 . 0 0 019 0.7853982 0.7853982 0 . 0 0 0 0 0 0 0

    Existen varias cosas interesantes que pueden observarse en la tabla. En primer lugar, la iteracin parece converger a 0.7853982. Como cos?r/4 = - /2 /2 = sen;r/4 , la solucin verdadera a la ecuacin eos x - sen x = 0 es r = ;r/4 % 0.7853982. La cuarta columna es la columna de erTor, que muestra el valor absoluto de la diferencia entre la mejor estimacin x en el paso i y el punto fijo real r. Esta diferencia se vuelve pequea cerca de la parte inferior de la tabla, lo que indica convergencia hacia un punto fijo.

    Observe el patrn en la columna de error. Los errores parecen disminuir con un factor constante. cada error parece ser algo menos de la mitad del error anterior. Para una mayor precisin, la razn entre errores sucesivos se muestra en la columna final. En la mayor parte de la tabla se observa que la razn j/et de los errores sucesivos se acerca a un nmero constante, alrededor de0.414. En otras palabras, se ve la relacin de convergencia lineal

    4 0 .4 1 4 e ,_ |. (1.13)

    Esto es exactamente lo que 9 e esperaba, puesto que el teorema 1.6 implica que

    S = |g '(r)l = |1 - senr - oosrj =2 2

    = 1 1 -7 2 1 % 0.414.

    El lector atento se dar cuenta de una discrepancia hacia el final de la tabla. Se han utilizado slo siete dgitos correctos para el punto fijo r correcto en el clculo de los errores

  • 38 | CAPTULO 1 Resolucin de ecuaciones

    sullado, la precisin relativa de los e es deficiente a medida que e se acerca a 1 0 -8 . y las razones de e/e- \ se vuelven incorrectas. Este problema desaparecera si se utilizara un valor mucho ms preciso para r.

    EJEMPLO 1.5 Encuentre los puntos fijos de g(x) = 2.8* x2,

    l a funcin g(x) m 2 .8 * - x 2 tiene dos puntos fijos, 0 y 1 .8 , que pueden determinarse al resolver g(x) = x en forma manual, o de manera alternativa, al observar los puntos donde se intersecan las grficas de y = gix) y y x. En la figura 1.5 se muestra un diagrama de telaraa para la IPF con el \alor inicial x 0.1. Para este ejemplo, las iteraciones

    xq = 0 . 1 0 0 0 x, =0.2700 x i =0.6831 x3 = 1.4461 jr4 = 1.9579,

    y las subsecuentes, pueden leerse como las intersecciones a lo largo de la diagonal.

    Rgura 1S D iagram a da talar afta para la I tac acin da punto fijo. El ejemplo tiene dos puntos fijos, 0 y1.8. Se muestra una Iteracin con la estimacin Inicial 0 .1 . la IPF slo converger* a 1.8.

    Aunque el punto inicial xq =0 .1 se encuentra cerca del punto fijo 0, la IPF se desplaza hacia el otro punto fijo, x - 1.8 , y converge all. La diferencia entre los dos puntos fijos es que el valor absoluto de la pendiente de g en x = 1.8, dada por g'(1.8) = -0 .8 , es menor que uno. Por otra parte, la pendiente de g en el otro punto fijo x - 0 , del cual se alejan los puntos, es g'(0 ) = 2 .8 . cuyo valor absoluto es mayor que uno. usando la IPF.

    Un mtodo antiguo para determinar races cuadradas puede expresarse como una IPF. Suponga que desean encontrarse los primeros 10 dgitos de y/2. Comience con el valor inicial x0 I. Obviamente, esta estimacin es demasiado baja; por lo tanto, 2/1 = 2 es demasiado alto. De hecho, cualquier estimacin inicial 0 < Xq < 2 junto con 2/xq, forman un intervalo donde se encuentra -J l. Por lo anterior, resulta razonable calcular el promedio de los dos valores para obtener una mejor estimacin;

  • U Iteracin de punto fijo | 39

    ANOTACIN

    ^ H " " l(a) (b)

    Figura 1.6 Clculo antiguo da V5. (a) Placa YBC7289 (b) Esquema de la p laca Los babilonios calculaban en base 60, pero en ocasiones utilizaban la notacin de base 10. El smbolo < denota 10, y Vdenota 1. En la parte superior Izquierda se tiene 30, la longitud del lado. A b largo d e la linea media est 1 ,24 ,51 y 10, que representan la raz cuadrada d e 7 hasta cinco posiciones decim ales correctas {vea la anotacin a l final de esta pgina). En la parte inferbr, b s nm eros 4 2 ,2 5 y 35 representan 30V5en base 60.

    Ahora repita. Aunque 3/2 est ms cerca, es demasiado grande para ser J l y 2/(3/2) = 4/3 es demasiado pequeo. Al igual que antes, se promedia para obtener

    3 , 4 n_ i i = _2 12

    que est incluso ms cerca de y/2. Una vez ms. X2 y U xi confinan a y/l.En el siguiente paso se obtiene

    17 , 24 S7 7* 3 = n . = ------% 1.414215686.

    2 408

    Compruebe con una calculadora para ver que esta estimacin concuerde con y/2 con una precisin de 3 X 10-6 . La IPF que se est ejecutando es

    x X l + ,+l 2 (1.14)

    Observe que es un punto fijo de la iteracin.

    Convergencia El mtodo ingenioso del ejemplo 1.6 converge a v/2 dentro de cinco posiciones decimales despus de slo tres pasos. Este mtodo sencillo es uno de los ms antiguos en la historia de las matemticas. La placa cuneiforme YBC7289 que se muestra en la figura 1.6(a) se descubri cerca de Bagdad en 1962 y data de alrededor de 1750 a.C. Contiene la aproximacin (1) (24) (51) (10) en base 60 para la longitud del lado de un cuadrado de rea 2. En base 10, esto es

    1 + ^ + -^ + = 1.41421296.60 602 603

    El mtodo de clculo de b s bablbnios no se conoce, pero se especula que usaron la misma tcnica del ejemplo 1.6, en su base habitual 60. En cualquier caso, este mtodo aparece en el libro 1 de Mtrica, escrito por Hern de Alejandra en el siglo I d .C , para calcular ^ 720.

  • 40 | CAPTULO 1 Resolucin de ecuaciones

    Antes de terminar el clculo, se decidir si ste va a converger. De acuerdo con el teorema 1.6 , se tiene que S < 1, Para esta iteracin, g(x) = l/2(x + 2/x) y g'(x) = l/2( 1 - 2/x2). Al evaluar en el punto fijo resulta

    ^ - O - s f e ) - 0-

  • U Iteracin de punto fijo | 41

    4. Muestre que - 1 ,0 y 1 son puntos fijos de la siguiente gix).

    \ 4x x l ~ 5x(a) (b) t i ax 2 + 3 x 2 + .x - 6

    5. Para cul de las siguientes g(x) r = J 3 es un punto fijo?

    (a) g(x) = -?= (b) g * 5 +

  • 42 | CAPTULO 1 Resolucin de ecuaciones

    19. Explore la idea del ejemplo 1.6 para las races cbicas. Si x es una estimacin menor que A [r*,entonces A/x2 ser ms grande que A ]/i, de modo que el promedio de los dos ser una mejor aproximacin que x. Sugiera una iteracin de punto fijo sobre la base de este hecho y utilice el teorema 1. 6 para decidir si converger a la raz cbica de A.

    20. Mejore el algoritmo de la raz cbica presentado en el ejercicio 19 al cambiar las constantes delpromedio. Si se establece g(x) (ox + (1 - oj) A/x2 para algn nmero fijo 0 < u> < 1, cul esla mejor opcin para ru?

    21. Considere la iteracin de punto fijo aplicado a g(x) = 1 5x + y x 2 - 2 x3. (a) Muestre que 1 - ,f5]S, 1, y 1 + m/3/5 son puntos fijos, (b) Muestre que ninguno de los tres puntos fijos es localmcntc convergente. (El problema de computadora 7 aborda este ejemplo ms a fondo).

    22. Demuestre que las estimaciones iniciales 0. 1 y 2 conducen a un punto fijo en el ejercicio 21. Qu pasa con otras estimaciones iniciales cercanas a esos nmeros?

    23. Suponga que g(x) es continuamente difcrenciablc y que la iteracin de punto fijo g(x) tiene con exactitud tres puntos fijos, r, < r 2 < r3. Suponga tambin que ig'(r,)| = 0.5 y lg'(r3)| = 0.5. Presente todos los valores de \g'(r) que son posibles en estas condiciones.

    24. Suponga que g es una funcin continuamente difercnciable y que la iteracin de punto fijo g(x) tiene con exactitud tres puntos fijos, - 3 ,1 y 2. Tambin asuma que g '( -3 ) = 2.4 y que si la IPF inicia suficientemente cerca del punto fijo 2 converge a este valor. Encuentre g '( l ).

    25. Demuestre la variante del teorema 1.6: Si g es continuamente difcrenciablc y ig'(*)| S fl < 1 en un intervalo (a. b\ que contiene el punto fijo r, entonces la IPF converge a r a partir de cualquier estimacin inicial en (a, b].

    26. Demuestre que una funcin continuamente difcrenciablc g(x) que satisface |g'(x)| < 1 en un intervalo cerrado no puede tener dos puntos fijos en esc intervalo.

    27. Considerelaiteracindepuntofijocong(x) " x - x 3. (a) Muestre que x Oes el nico punto fijo,(b) Muestre que si 0 < x o < 1, entonces x0 > x, > x 2 ... > 0. (c) Muestre que la IPF converge a r = 0 . mientras que g '(0 ) = 1 . (Sugerencia: utilice el hecho de que toda sucesin montona acotada converge a un lmite).

    28. Considere la iteracin de punto fijo con g(x) - x + x3. (a) Muestrequex = Oes el nico punto fijo,(b) Muestre que si 0 < xq < 1. entonces xq < X | < x2 < ... (C) Muestre que la IPF no converge a un punto fijo, mientras que g(0) 1. Junto con el ejercicio 27, esto demuestra que la IPF puede converger a un punto fijo r o divergir de r cuando |g'(r)| = 1 .

    29. Considere la ecuacin x3 + x - 2 = 0. con raz r = 1. Sume el trmino ex a ambos lados y divida entre c para obtener g(x). (a) Para cul c la IPF es localmente convergente a r 1? (b) Para cul c la IPF converge ms rpido?

    30. Suponga que la iteracin de punto fijo se aplica a una funcin g(x) que es dos veces continuamente difercnciable y que g'{r) 0 para un punto fijo r. Muestre que si la IPF converge a r, entonces el error obedece lm_^B(e( + 1 )/ei = M. donde M = |gV )|/2 .

    31. Defina la iteracin de punto fijo sobre la ecuacin x2 + x = 5/16 al aislar el trmino x. Encuentre los dos puntos fijos y determine cules estimaciones iniciales conducen a cada punto fijo bajo iteracin. (Sugerencia: grafique g(x) y dibuje diagramas de telaraa).

    32. Encuentre el conjunto de todas las estimaciones iniciales para las cuales la iteracin de punto fijo x -* 4/9 - x2 converge aun punto fijo.

  • 13 Lmites de exactitud | 43

    33. Sea g(x) m a + bx + ex2 para las constantes a b y c. (a) Especifique un conjunto de constantes a ,b y e para los cuales x = 0 es un punto fijo de x =* g[x), y la iteracin de punto fijo converge localmentcaO. (b) Especifique un conjunto de constantes a, > y e para los cuales x = Oes un punto fijo de x g(x), pero la iteracin de punto fijo no converge local mente a 0 .

    1.2 Problemas de computadora

    1. Aplique la iteracin de punto fijo para encontrar la solucin de cada ecuacin hasta ocho posiciones decimales correctas. (a)x 3 = 2r + 2 (b) e* + x = 7 (c) e* + sen x = 4

    2. Aplique la iteracin de punto fijo para encontrar la solucin de cada ecuacin hasta ocho posiciones decimales correctas, (a) jc5 + x 1 (b) sen x 6 x + 5 (c) ln x + x2 m 3

    3. Calcule las races cuadradas de los nmeros siguientes hasta ocho cifras decimales correctas usando la iteracin de punto fijo como en el ejemplo 1.6: (a) 3 (b) 5. Establezca su estimacin inicial y el nmero de pasos necesarios.

    4. Calcule las races cbicas de los nmeros siguientes hasta ocho posiciones decimales correctas usando la iteracin de punto fijo con g(x) = (2r + A/x2)/3. donde A es (a) 2 (b) 3 (c) 5. Establezca su estimacin inicial y el nmero de pasos necesarios.

    5. En el ejemplo 1.3 se muestra que g(x) = eos x es una IPF convergente, Pasa lo mismo para g(x) = eos2 x? Encuentre el punto fijo hasta seis decimales correctos e informe el nmero de pasos necesarios de la IPF. Analice la convergencia local utilizando el teorema 1.6.

    6 . Deduzca tres diferentes g(x) para encontrar las races hasta seis cifras decimales correctas de las siguientes /(x ) = 0 mediante la iteracin de punto fijo. Ejecute la IPF para cada g(x), reporte los resultados y si hay convergencia o divergencia. Cada ecuacin f(x) = 0 tiene tres races. Si es necesario deduzca ms g(x) hasta encontrar todas las races mediante la IPF. Para cada serie convergente. determine el valor de 5 a partir de los errores e+|/e, y comprelo con la 5 determinada a partir de clculos como los de ( 1 .1 1 ). (a) f(x) = 2 r3 - 6 x - 1 (b)/(x) " e* - 2 + x3 - x(c)/(x) = \ + 5 x - 6 x i - e 2j

    7. En el ejercicio 21 se consider la iteracin de punto fijo aplicada a g(x) = 1 - 5x + y x 2 - jx3 = x. Encuentre estimaciones iniciales para las cuales la IPF (a) entre en un ciclo sin fin en nmeros dentro del intervalo (0 , 1 ), (b) haga lo mismo que en (a), pero dentro del intervalo ( 1 . 2 ) y(c) diverja al infinito. Los casos (a) y (b) son ejemplos de una dinmica catica. En los tres casos, la IPF no tiene xito.

    1 .3 LMITES DE EXACTITUD

    Uno de los objetivos del anlisis numrico es calcular las respuestas dentro de un nivel especfico de precisin. El trabajo en precisin doble significa que se almacenan y operan nmeros que se mantienen a 52-bits de precisin, aproximadamente I6 dgitos decimales.

    Es posible calcular siempre las respuestas hasta 16 dgitos significativos correctos? En el captulo 0 se demostr que, con un algoritmo sencillo para calcular las races de una ecuacin cuadrtica, es posible perder algunos o todos los dgitos significativos. Un algoritmo mejorado elimina el problema. En esta seccin, se estudiar algo nuevo: un clculo que una computadora de precisin doble no puede realizar siquiera cerca de 16 dgitos correctos, incluso usando el mejor algoritmo.

  • 1.3 .1 Error hacia adelante y hacia atrs

    | CAPTULO 1 Resolucin de ecuaciones

    En el primer ejemplo se muestra que. en algunos casos, el lpiz y el papel an pueden superar a una computadora.

    EJEMPLO 1.7 Use el mtodo de biseccin para encontrar la raz de / ( x ) = x 3 2x2 + | x - ^ hasta seis cifras significativas correctas.

    Tenga en cuenta q u e /(0 ) /( l) =

  • 13 Lmites de exactitud | 45

    i-IS

    ( a )

    1 0

    l o r '- 1 0 - '

    - 10-Jt).666660 0.666670

    (b)

    Figura 1.7 La forma d una fundn carca d a una raz mltipla, (a) Grfica de f(x) - x 5 - 2x* + 4/3x - 8/27. (b) Magnificacin de (a), cerca de la ratz r - 2/3. En lo que a la com putadora se refiere, hay muchos nm eros de punto flotante a 10~s de 2/3 que son ralees. Con base en e l clculo se sabe que 2/3 es la nica raz.

    adelante en este captulo; por ahora, slo es necesario alimentarlo con la funcin y una estimacin inicial. No tiene mayor suerte;

    z e r o ( ' x . 3 - 2 * x . 2 + 4 * x / 3 - 8 / 2 7 ' , 1 )

    a n o

    0 .6 6 6 6 6 2 5 0 8 4 5 9 8 9

    La razn por la que todos los mtodos fallan en la bsqueda de ms de cinco dgitos correctos para este ejemplo se ve claramente en la figura 1.7. La nica informacin que tiene cualquier mtodo es la funcin, calculada en precisin doble. Si la aritmtica de computadora est mostrando que la funcin es igual a cero en un valor que no es una raz, no hay manera de que el mtodo puede recuperarse. Otra forma de expresar esta dificultad consiste en decir que una solucin aproximada puede estar tan cerca como sea posible a una solucin en lo que al eje > se refiere, pero no tan cerca en el eje x.

    Estas observaciones motivan algunas definiciones clave.

    DEFINICIN 1.8 Suponga que f e s una funcin y que re s una raz, lo que significa que satisface / ( r ) = 0. Tambin asuma qucxa es una aproximacin a r . Rara el problema de localizacin de una raz, el erro r hacia a trs de la aproximacin xa es |f(xa)|, y el e rro r h ad a adelante es |r x j .

    El uso de "hacia atrs y hacia adelante" puede necesitar derta explicacin. Se considera que el proceso de encontrar una solucin es esencial. El problema es la entrada y la solucin es la salida:

    Dutos quedefinenproblema

    Proceso de solucin Solucin

    En este captulo, d problema es una ecuacin de una variable y el proceso de solucin es un algoritmo que resuelve ecuaciones:

    Ecuacin Soludonador de ecuaciones -* Solucin

    El error hacia atrs est en d lado izquierdo o la entrada (datos del problema). Es la cantidad que tendra que cambiar d problema (la funcin f ) para hacer que la ecuacin se equilibre con la

  • 46 | CAPTULO 1 Resolucin de ecuaciones

    aproximacin xa de salida. Esta cantidad es \f(xa)\. El error hada delante se encuentra en el lado derecho o la salida (solucin del problema). Es la cantidad que tendra que cambiar la soludn aproximada para que sea correcta, esto es |r - xa\.

    La dificultad con el ejemplo 1.7 es que. segn la figura 1.7, el error hada atrs es cercano a i^rriq 555 2.2 X 10 -16, mientras que el error hada adelante es de aproximadamente 10-5.Los nme

    ros de predsin doble no pueden calcularse de manera confiable por debajo de un error rdativo del orden del psilon mquina. Como d error hacia atrs no puede disminuirse de manera confiable, tampoco es posible hacerlo con el error hacia adelante.

    R ejemplo 1.7 es bastante especial puesto que la funcin tiene una raz triple e n r 2/3. Observe que

    f ( x ) = x3 - 2 x 2 + ^ ^ .

    ste es un ejemplo de una raz mltiple.

    DEFINICIN 1.9 Suponga que re s una raz de la funcin diferenciable/ ; es decir, asuma que f ( r ) = 0. Entonces Si 0 - / ( r ) = / (r) = f ( r ) - ... = / w_l)(r), p e r o /^ V ) * 0, se dice que /q u e tiene una razde multiplicidad m en r. Se dice que /tien e una raz, mltiple en r si la multipliddad es mayor que uno. La raz se denomina simple si la multiplicidad es igual a uno.

    Por ejem plo,/(x) = x2 tiene una multiplicidad de dos, o una raz doble, en r = 0, puesto que /(O) - 0 ,/ '(0 ) = 2(0) = 0, p e ro /(0) = 2 = 0. Asimismo,/(x) = x3 tiene una multipliddad de tres, o una raz triple, en r = 0 y /(x ) - tiene una multipliddad m de la raz en ese p