´         ´METODOS NUMERICOSUna exploraci´n basada en Scheme             o                       Enrique Comer Barrag´n   ...
ii     c Licencia de uso: Esta obra se publica bajo una licencia de CreativeCommons (ver: http://creativecommons.org/licen...
´Indice generalPrefacio                                                                                                 VI...
iv                                                                     ´                                                  ...
´INDICE GENERAL            v´Indice de algoritmos      83´Indice de c´digo Scheme           o              85´Indice de fig...
vi   ´     INDICE GENERAL
Prefacio                                               The purpose of computing is                                        ...
viii   PREFACIO
Cap´   ıtulo 1Teor´ de errores    ıa1.1.     Importancia de los m´todos num´ricos                             e         e ...
2                                             CAP´                                                 ITULO 1. TEOR´ DE ERROR...
´1.2. CONCEPTOS BASICOS                                                      31.2.     Conceptos b´sicos                  ...
4                                        CAP´                                            ITULO 1. TEOR´ DE ERRORES        ...
´1.2. CONCEPTOS BASICOS                                                                 5resultados que entregue un progra...
6                                          CAP´                                              ITULO 1. TEOR´ DE ERRORES    ...
´1.2. CONCEPTOS BASICOS                                                           7> ( r e a l −>i e e e −d o b l e 0 . 3 ...
8                                        CAP´                                                 ITULO 1. TEOR´ DE ERRORES   ...
1.3. TIPOS DE ERRORES                                                         9Definici´n 1.2.6 (incertidumbre y sesgo). Ll...
10                                        CAP´                                             ITULO 1. TEOR´ DE ERRORES      ...
1.3. TIPOS DE ERRORES                                                              111.3.2.     Error por redondeo    A di...
12                                        CAP´                                             ITULO 1. TEOR´ DE ERRORES      ...
1.3. TIPOS DE ERRORES                                                                  13Figura 1.2: Ejemplo de eliminaci´...
14                                           CAP´                                                ITULO 1. TEOR´ DE ERRORES...
1.3. TIPOS DE ERRORES                                                                 15Observamos que se cumple ϕ(x0 ) = ...
16                                 CAP´                                      ITULO 1. TEOR´ DE ERRORES                    ...
´         ´1.4. SOFTWARE DE COMPUTO NUMERICO                                                17Ya que 8/3 = 2.6666667 (redo...
18                                 CAP´                                      ITULO 1. TEOR´ DE ERRORES                    ...
´         ´1.4. SOFTWARE DE COMPUTO NUMERICO                                             19      Surf: software para visua...
20                                       CAP´                                            ITULO 1. TEOR´ DE ERRORES        ...
´1.5. METODOS ITERATIVOS                                                    21caso en que se utilice una funci´n que no cu...
22                                       CAP´                                                 ITULO 1. TEOR´ DE ERRORES   ...
´1.5. METODOS ITERATIVOS                                                 23Nota: en la secci´n 3.1, veremos m´todos iterat...
24   CAP´        ITULO 1. TEOR´ DE ERRORES                     IA
Cap´   ıtulo 2M´todos de soluci´n de  e              oecuaciones    Presentamos aqu´ algunos m´todos num´ricos fundamental...
26             CAP´         ´               ´                  ITULO 2. METODOS DE SOLUCION DE ECUACIONES2.2.           M´...
´               ´     2.2. METODO DE BISECCION                                                              27            ...
28             CAP´         ´               ´                       ITULO 2. METODOS DE SOLUCION DE ECUACIONES     (ki ai ...
´               ´2.2. METODO DE BISECCION                                            29(4.5986328125 0.002701681335155026 ...
30         CAP´         ´               ´              ITULO 2. METODOS DE SOLUCION DE ECUACIONESEjercicio 2.2.1. Encuentr...
´2.3. METODO DE APROXIMACIONES SUCESIVAS                                           31    Si f (x) ∈ C 1 [a, b] (es decir, ...
32         CAP´         ´               ´              ITULO 2. METODOS DE SOLUCION DE ECUACIONESAlgoritmo 2.2 M´todo de p...
´     2.3. METODO DE APROXIMACIONES SUCESIVAS                                                 33           C´digo Scheme 2...
34         CAP´         ´               ´                   ITULO 2. METODOS DE SOLUCION DE ECUACIONES        C´digo Schem...
´                            ´2.4. METODOS BASADOS EN INTERPOLACION                                                 352.4....
36         CAP´         ´               ´              ITULO 2. METODOS DE SOLUCION DE ECUACIONESAlgoritmo 2.3 M´todo de N...
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
M´etodos num´ericos
Upcoming SlideShare
Loading in …5
×

M´etodos num´ericos

1,750 views
1,626 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,750
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
79
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

M´etodos num´ericos

  1. 1. ´ ´METODOS NUMERICOSUna exploraci´n basada en Scheme o Enrique Comer Barrag´n a 24 de marzo, 2009 → Edici´n Preliminar 0.23 ← o Instituto Tecnol´gico de Tijuana o
  2. 2. ii c Licencia de uso: Esta obra se publica bajo una licencia de CreativeCommons (ver: http://creativecommons.org/licences/by-nc-nd/2.5/). B´si- acamente, usted puede distribuir y comunicar p´blicamente la obra, siempre uque se cumpla con (1) dar cr´dito al autor de la obra, (2) no la utilice para efines comerciales y (3) no la altere, transforme o genere una obra derivada deella. Adem´s, al utilizar o distribuir la obra, debe especificar claramente los at´rminos de esta licencia. Estas condiciones pueden modificarse con permiso eescrito del autor. Edici´n preliminar 0.23 o 24 de marzo, 2009
  3. 3. ´Indice generalPrefacio VII1. Teor´ de errores ıa 1 1.1. Importancia de los m´todos num´ricos e e . . . . . . . . . . . . . 1 1.2. Conceptos b´sicos . . . . . . . . . . . . a . . . . . . . . . . . . . 3 1.2.1. Cifras significativas . . . . . . . . . . . . . . . . . . . . 3 1.2.2. Precisi´n y exactitud . . . . . . o . . . . . . . . . . . . . 4 1.2.3. Incertidumbre y sesgo . . . . . . . . . . . . . . . . . . 8 1.3. Tipos de errores . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1. Error absoluto y relativo . . . . . . . . . . . . . . . . . 9 1.3.2. Error por redondeo . . . . . . . . . . . . . . . . . . . . 11 1.3.3. Error por truncamiento . . . . . . . . . . . . . . . . . . 13 1.3.4. Error num´rico total . . . . . . e . . . . . . . . . . . . . 17 1.4. Software de c´mputo num´rico . . . . . o e . . . . . . . . . . . . . 17 1.4.1. Software de acceso libre . . . . . . . . . . . . . . . . . 18 1.4.2. Software comercial . . . . . . . . . . . . . . . . . . . . 19 1.4.3. Bibliotecas de funciones . . . . . . . . . . . . . . . . . 19 1.5. M´todos iterativos . . . . . . . . . . . e . . . . . . . . . . . . . 202. M´todos de soluci´n de ecuaciones e o 25 2.1. M´todos basados en intervalos . . . . e . . . . . . . . . . . . . . 25 2.2. M´todo de bisecci´n . . . . . . . . . e o . . . . . . . . . . . . . . 26 2.3. M´todo de aproximaciones sucesivas . e . . . . . . . . . . . . . . 30 2.3.1. Condici´n de Lipschitz . . . . o . . . . . . . . . . . . . . 30 2.3.2. Iteraci´n y convergencia . . . o . . . . . . . . . . . . . . 31 2.4. M´todos basados en interpolaci´n . . e o . . . . . . . . . . . . . . 35 2.4.1. M´todo de Newton-Raphson . e . . . . . . . . . . . . . . 35 2.4.2. M´todo de la secante . . . . . e . . . . . . . . . . . . . . 37 iii
  4. 4. iv ´ INDICE GENERAL 2.4.3. M´todo de Aitken . . . . . . . . . . . . . . . . . . . . . 38 e 2.5. M´todo de Bairstow . . . . . . . . . . . . . . . . . . . . . . . 39 e 2.6. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433. M´todos para sistemas de ecuaciones e 45 3.1. M´todos iterativos . . . . . . . . . . e . . . . . . . . . . . . . . 45 3.1.1. M´todo de Jacobi . . . . . . . e . . . . . . . . . . . . . . 45 3.1.2. M´todo de Gauss-Seidel . . . e . . . . . . . . . . . . . . 46 3.2. Sistemas de ecuaciones no lineales . . . . . . . . . . . . . . . . 47 3.2.1. M´todo iterativo secuencial . e . . . . . . . . . . . . . . 47 3.3. Iteraci´n y convergencia . . . . . . . o . . . . . . . . . . . . . . 49 3.3.1. M´todo de Newton-Raphson . e . . . . . . . . . . . . . . 49 3.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514. Diferenciaci´n e integraci´n num´rica o o e 53 4.1. Diferenciaci´n num´rica . . . . . . . . . o e . . . . . . . . . . . . 53 4.1.1. F´rmulas de diferencia . . . . . . o . . . . . . . . . . . . 56 4.1.2. F´rmula de tres puntos . . . . . . o . . . . . . . . . . . . 56 4.1.3. F´rmula de cinco puntos . . . . . o . . . . . . . . . . . . 57 4.2. Integraci´n num´rica . . . . . . . . . . . o e . . . . . . . . . . . . 58 4.2.1. M´todo del trapecio . . . . . . . e . . . . . . . . . . . . 58 4.2.2. M´todos de Simpson . . . . . . . e . . . . . . . . . . . . 59 4.2.3. Integraci´n de Romberg . . . . . o . . . . . . . . . . . . 61 4.2.4. M´todo de cuadratura gaussiana e . . . . . . . . . . . . 64 4.3. Integraci´n m´ltiple . . . . . . . . . . . o u . . . . . . . . . . . . 66 4.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675. Soluci´n de ecuaciones diferenciales o 69 5.1. M´todos de un paso . . . . . . . . . . . . . . e . . . . . . . . . . 69 5.1.1. M´todo de Euler y formas mejorada . e . . . . . . . . . . 69 5.1.2. M´todos de Runge-Kutta . . . . . . . e . . . . . . . . . . 72 5.2. M´todos de pasos m´ltiples . . . . . . . . . e u . . . . . . . . . . 73 5.2.1. M´todo de Adams-Bashforth . . . . . e . . . . . . . . . . 74 5.2.2. M´todo de Adams-Moulton . . . . . e . . . . . . . . . . 76 5.3. Sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . 76 5.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Bibliograf´ ıa 79
  5. 5. ´INDICE GENERAL v´Indice de algoritmos 83´Indice de c´digo Scheme o 85´Indice de figuras 87´Indice de tablas 89´Indice alfab´tico e 91
  6. 6. vi ´ INDICE GENERAL
  7. 7. Prefacio The purpose of computing is insight, not numbers. R. W. Hamming. Autor de Numerical Methods for Scientist and Engineers El contenido de esta obra se conforma de acuerdo al curso de M´todos eNum´ricos en el plan de estudios actual de Ingenier´ en Sistemas Computa- e ıacionales del Instituto Tecnol´gico de Tijuana. Se hace ´nfasis tanto en los as- o epectos matem´ticos conceptuales como algor´ a ıtmicos. Para la implementaci´n ode estos ultimos se utiliza el lenguaje de programaci´n Scheme [25]. ´ o La edici´n de este libro se realiz´ con TeXnicCenter (ambiente para La- o oTeX/MiKTeX) y software auxiliar como WinGCLC y Asymptote. Agradezco a la Academia de Sistemas y Computaci´n por la revisi´n y o oobservaciones para mejorar esta obra, as´ como a la DGEST por el per´ ı ıodosab´tico 2007-2008, gracias al cual se ha realizado este proyecto. a ECB comer@cemati.com vii
  8. 8. viii PREFACIO
  9. 9. Cap´ ıtulo 1Teor´ de errores ıa1.1. Importancia de los m´todos num´ricos e e La simulaci´n y el modelado o matem´tico, mover´n el siglo a a XXI, as´ como el vapor movi´ el ı o siglo XIX. William H. Press. Autor de Numerical Recipes Gran parte de la tecnolog´ actual depende de la soluci´n de modelos ıa omatem´ticos, desde la programaci´n empotrada de una calculadora cient´ a o ıfi-ca y el c´lculo estructural de un edificio multinivel con estructuras de acero, ahasta el dise˜o y simulaci´n de aeronaves y vuelos espaciales. La soluci´n n o ode un modelo matem´tico relativamente sencillo puede obtenerse de manera aanal´ıtica. Sin embargo, para la gran mayor´ de los modelos matem´ticos del ıa amundo real, las soluciones anal´ ıticas pueden no existir o ser extremadamentecomplejas, por lo cual se recurre a m´todos num´ricos que aproximen las e esoluciones dentro de ciertos m´rgenes de tolerancia. a El an´lisis de los m´todos num´ricos nos permite realizar estimaciones a e etanto de la eficiencia o complejidad de los algoritmos asociados, as´ como de ıla confiabilidad de los resultados num´ricos obtenidos durante su aplicaci´n. e o Entre las disciplinas que hacen uso intensivo de los m´todos num´ricos e epodemos mencionar: An´lisis Estad´ a ıstico 1
  10. 10. 2 CAP´ ITULO 1. TEOR´ DE ERRORES IA Matem´ticas financieras a An´lisis de elemento finito a An´lisis estructural a Qu´ ımica computacional Investigaci´n de operaciones o Electromagnetismo computacional Mec´nica computacional a Procesamiento de im´genes a Procesamiento de se˜ales n Simulaci´n por computadora o Computaci´n multi-escala o Metereolog´ ıaDebido a la gran variedad de aplicaciones y especialidades atendidas por losm´todos num´ricos, podemos encontrar en la literatura t´rminos asociados e e ecomo los siguientes: Matem´ticas num´ricas a e Algoritmos num´ricos e Computaci´n cient´ o ıfica An´lisis num´rico a e Matem´ticas algor´ a ıtmicas Matem´ticas computacionales a Teor´ de la aproximaci´n1 ıa o 1 Esta disciplina matem´tica, forma la base te´rica de gran parte de los m´todos num´ri- a o e ecos
  11. 11. ´1.2. CONCEPTOS BASICOS 31.2. Conceptos b´sicos a El estudio y aplicaci´n de los m´todos num´ricos se basa en forma esencial o e een la representaci´n y manipulaci´n de los n´meros reales en una computa- o o udora digital. Ya que la memoria de una computadora es finita, ´sta s´lo puede e orepresentar n´meros racionales. La estrategia para hacer funcional y eficiente ula aproximaci´n de los n´meros reales por n´meros de m´quina en binario se o u u apresenta en el est´ndar IEEE 754 [13] a Los t´rminos asociados en esta secci´n incluyen: e o Confiabilidad Estabilidad y convergencia Propagaci´n del error o An´lisis asint´tico a o Notaci´n cient´ o ıfica Forma decimal normalizada N´meros de m´quina decimales con k d´ u a ıgitos N´meros de punto flotante (Est´ndar IEEE 754) u a1.2.1. Cifras significativas La noci´n intuitiva de cifras significativas de un n´mero est´ directamente o u arelacionada con la precisi´n de los ins-trumentos o procesos que lo generan. oDefinici´n 1.2.1 (Cifras significativas). El n´mero de cifras significati- o uvas de un n´mero x corresponde al n´mero de cifras en la mantisa de su u urepresentaci´n en notaci´n cient´ o o ıfica.Ejemplo 1.2.1. Ya que 0.00123 = 1.23·10−3 , decimos que 0.00123 tiene trescifras significativas.Ejemplo 1.2.2. El n´mero 3210 = 3.210 · 103 posee cuatro cifras significa- utivas.
  12. 12. 4 CAP´ ITULO 1. TEOR´ DE ERRORES IA Note que en el ejemplo anterior, hemos mantenido el 0 de las unidades.Si el origen del n´mero no garantizara el valor de sus unidades, entonces udeber´ıamos escribir directamente 3.21 · 103 lo que indicar´ que contamos con ıas´lo tres cifras significativas. oDefinici´n 1.2.2 (Aproximaci´n con t cifras significativas). Sean xv y xc los o ovalores verdadero y calculado de una cierta cantidad, con xv = xc . Decimosque xc aproxima a xv con t cifras significativas si t es el mayor entero nonegativo para el cual xv − xc ≤ 5 × 10−t (1.1) xvPara el caso xv = xc , xc aproxima xv con las cifras significativas propias. Como se observa en [8, p´g. 53] esta definici´n dada para decimales puede a o 2extenderse para cualquier base dada.Ejemplo 1.2.3. El n´mero 3.1416 aproxima a 3.1415926 en 6 cifras signi- uficativas, ya que |3.1415926 − 3.1416| = 2.3554932 × 10−6 ≤ 5 × 10−6 |3.1415926|Como se observa, no es necesario que coincidan los d´ ıgitos de las cifras sig-nificativas.Ejercicio 1.2.1. Calcular el n´mero de cifras significativas con que 9.99 uaproxima a 10Ejercicio 1.2.2. Calcular el n´mero de cifras significativas con que 1005 uaproxima a 10001.2.2. Precisi´n y exactitud o El estudio e implementaci´n en computadora de los m´todos num´ricos o e erequiere de un cuidado especial en el manejo de los n´meros, de forma que los u 2 Es importante notar que en la desigualdad (1.1) se utiliza algunas veces < como enel caso de [5, p´g. 21]. Se recomienda resolver el ejercicio 1.2.2, para ambas definiciones y areflexionar sobre sus respuestas.
  13. 13. ´1.2. CONCEPTOS BASICOS 5resultados que entregue un programa sean confiables. Para hablar de dichaconfiabilidad3 distinguiremos entre los t´rminos precisi´n y exactitud. e o Aunque en las aplicaciones es necesario conocer la precisi´n de los datos ode entrada (a un algoritmo), que pueden depender directamente de los ins-trumentos utilizados4 , nos concentraremos aqu´ en la precisi´n de la repre- ı osentaci´n de un n´mero en la memoria de la computadora, lo cual est´ rela- o u acionado con la siguiente representaci´n de n´meros reales. o uDefinici´n 1.2.3 (n´meros de punto flotante). De-cimos que un n´mero x o u uest´ representado como n´mero de punto flotante si se expresa como a u x = ±d0 .d1 d2 · · · dp−1 × β e (1.2)donde p es el n´mero de d´ u ıgitos en la mantisa o significando, β es la base y ees el exponente entero. Adem´s, cuando d0 = 0 decimos que est´ en su forma a anormalizada .Ejemplo 1.2.4. El n´mero 314.159 en representaci´n de punto flotante es u o0.314159 × 10 y como punto flotante normalizado 3.14159 × 102 . 3 Ya que las computadoras digitales trabajan (en su mayor´ con el sis- ıa)tema binario, el est´ndar IEEE 754 especifica tanto la representaci´n como a o 5el manejo de los n´meros binarios de punto flotante. uDefinici´n 1.2.4 (n´meros binarios de punto flotante normalizado). De- o ucimos que un n´mero x est´ representado como n´mero binario de punto u a uflotante normalizado si se expresa como x = (−1)s (1 + f )2e (1.3)donde s es el signo, f es la fracci´n en binario y e el exponente. o La precisi´n de un n´mero est´ directamente relacionada con el n´mero o u a ude d´ ıgitos en su representaci´n de punto flotante. o 3 La revista Reliable Computing se especializa en m´todos basados en intervalos (entre eotros) que garantizan y acotan todos sus resultados. 4 El Peque˜o Larousse Ilustrado, 2002 define Precisi´n (de un instrumento de medida) n ocomo la cualidad global de un instrumento que le permite dar indicaciones que coinciden,con mucha aproximaci´n, con el valor verdadero de la magnitud que debe medirse. o 5 Para informaci´n adicional sobre este est´ndar puede consultar el excelente art´ o a ıculode Goldberg en [10].
  14. 14. 6 CAP´ ITULO 1. TEOR´ DE ERRORES IADefinici´n 1.2.5 (precisi´n en formatos IEEE 754). En base a la ecuaci´n o o o(1.3) el est´ndar IEEE 754 define los siguientes cuatro tipos de formatos6 a(ver tabla (1.1))que determinan la precisi´n de un n´mero de punto flotante o u(adaptaci´n de [10, pp. 173-174]): o Tabla 1.1: Precisi´n en Formatos IEEE 754 o par´metro a Formatos sencillo s. extendido doble d. extendido emax +127 ≥ 1023 +1023 > 16383 emin −126 ≤ −1022 −1022 ≤ −16382 e bits 8 ≤ 11 11 ≥ 15 f bits 23 31 52 ≥ 63 total bits 32 ≥ 43 64 ≥ 79 Ya que 2−23 ≈ 1.19 · 10−7 y 2−52 ≈ 2.22 · 10−16 , el formato sencillo tieneuna fracci´n con precisi´n de 7 decimales y el formato doble, una precisi´n o o ode 15 decimales. Las operaciones con n´meros reales tanto en MATLAB7 como en DrScheme8 use realizan en doble precisi´n. oEjemplo 1.2.5. Utilizando la funci´n en Scheme9 , real->ieee-doble, en la ofigura (1.1), podemos obtener la representaci´n en formato de doble precisi´n o omediante para los n´meros 0.3 y 64 u 6 Los formatos extendidos en la tabla 1.1, ofrecen flexibilidad de dise˜o para los distintos nfabricantes de computadoras. Por ejemplo, para el formato doble extendido, las computa-doras SPARC y PowerPC ofrecen los siguientes campos (en bits): e = 15, f = 112. Encambio INTEL ofrece: e = 15 y f = 63 con un bit extra para manejo expl´ ıcito del d´ıgitom´s significativo de la fracci´n. a o 7 MATLAB (MATrix LABoratory) es uno de los sistemas de software num´rico m´s ex- e aitosos en la actualidad. Para una introducci´n sobresaliente, orientada a m´todos num´ri- o e ecos, se le invita a consultar el libro de Cleve Moler [18] 8 Una de las implementaciones m´s completas del lenguaje de programaci´n Scheme, el a ocual emplearemos a lo largo del texto para ilustrar e implementar los m´todos num´ricos. e ePara una excelente introducci´n se recomienda el tutorial de Dorai Sitaram [25] o 9 Esta funci´n as´ como el resto de las utilizadas en este libro, podr´n ser obtenidas o ı a(eventualmente) visitando http://cemati.com/math/areas/scheme/, o bien el sitio de dis-tribuci´n PLaneT Package Repository en [21]. Se recomienda instalar PLT-Scheme versi´n o o4.1 (o superior) disponible en http://www.plt-scheme.org, y por el momento, sencillamentecopiar el archivo slab.ss (que complementa este libro) al folder PLT de su instalaci´n. o
  15. 15. ´1.2. CONCEPTOS BASICOS 7> ( r e a l −>i e e e −d o b l e 0 . 3 )(”0” ”01111111101” ”0011001100110011001100110011001100110011001100110011”)> ( r e a l −>i e e e −d o b l e 6 4 )(”0” ”10000000101” ”0000000000000000000000000000000000000000000000000000”)> Ya que (0.3)10 = (0.10011)2 nunca podr´ representarse de forma exacta aen un sistema binario finito. Como se observa en el ejemplo 1.2.5 hay n´meros reales (de hecho una ucantidad infinita) que no podr´n ser representados en forma exacta en un asistema num´rico de base fija. Note adem´s que el exponente e en el formato e aIEEE 754 obedece (en el caso de doble precisi´n) a la ecuaci´n e = e − 1023. o oEjercicio 1.2.3. Confirme los resultados del ejemplo 1.2.5, utilizando laecuacion 1.3.Ejercicio 1.2.4. Determine las representaciones en binario de punto flotantenormalizado (en formato de doble precisi´n) de los siguientes n´meros en base o u10 a) −0.1 b) 1024 c) 1.1920928955078125e − 007Problema 1.2.1. Ya que la recta de los flotantes no “cubre” la recta real,calcular la distancia que existe entre los siguientes n´meros reales y sus dos u 10n´meros flotantes vecinos bajo el formato de doble precisi´n del est´ndar u o aIEEE 754: a) 2008.09 · 1077 b) 64.3 c) −444.7 · 10−27 10 Esto ser´ equivalente a encontrar para un n´mero real x, funciones piso x y techo ıa ux pero en el edificio de los n´meros flotantes. u
  16. 16. 8 CAP´ ITULO 1. TEOR´ DE ERRORES IA Problema 1.2.2. Generalice el resultado del problema 1.2.1 y descubra una expresi´n o modelo matem´tico para determinar la distancia entre n´meros o a u k k+1 flotantes consecutivos en intervalos de la forma [2 , 2 ], donde k es un entero en el rango permitido. En contraste con el concepto de precisi´n que se asocia a la representaci´n o o de un n´mero en particular (p. ej. bajo el formato de doble precisi´n del u o est´ndar IEEE 754), la exactitud de un n´mero hace referencia a una cantidad a u objetivo, y busca el m´ximo acercamiento posible a dicho objetivo11 , en el a sentido de la definici´n 1.2.2. o Obtener resultados rigurosos y confiables, con la precisi´n y exactitud ade- o cuadas para cada aplicaci´n es uno de los prop´sitos principales del dise˜o, o o n an´lisis e implementaci´n de los m´todos num´ricos. a o e e Conceptos como convergencia y acotaci´n del error mediante el an´lisis o a asint´tico, son claves y se considerar´n en diferentes partes de nuestro texto. o a C´digo Scheme 1.1: Funci´n real->ieee-doble o o ; r e a l a i e e e de 64− b i t 2 ; numero r e a l −> l i s t a de s t r i n g s ; entrada : r 4 ; salida : ( s e ’ f ) ; donde : s c o n t i e n e e l b i t d e l s i g n o 6 ; : e ’ t a l que e=e ’ −1023 , r e p r e s e n t a e l exponente ; : f contiene la fraccion 8 ( define ( r e a l −>i e e e −d o b l e r ) ( i e e e 8 −>i e e e −d o b l e10 (map f i l l −byte (map (lambda( n ) ( number−>s t r i n g n 2 ) )12 ( bytes −> l i s t ( r e a l −>f l o a t i n g −p o i n t −b y t e s r 8 #t ) ) ) ) ) ) 1.2.3. Incertidumbre y sesgo En el an´lisis de datos num´ricos generalmente podemos tener errores que a e tienen que ver con la falta ya sea de precisi´n o de exactitud. o 11 Peque˜o Larousse Ilustrado: exactitud : Cualidad de ser medido, calculado o expresado n con todo rigor: hora exacta.
  17. 17. 1.3. TIPOS DE ERRORES 9Definici´n 1.2.6 (incertidumbre y sesgo). Llamamos incertidumbre o impre- ocisi´n a la falta de precisi´n, y sesgo o inexactitud, a la falta sistem´tica de o o aexactitud, ya sea por debajo o bien por arriba de la cantidad exacta. El manejo de la incertidumbre o imprecisi´n puede realizarse mediante odistribuciones de probabilidad, en tanto que el manejo de la inexactitud,mediante rangos o intervalos.Ejemplo 1.2.6. Supongamos que un profesor debe iniciar siempre sus clasesa las 7 : 00 am. Si existe incertidumbre, podr´ iniciar con una distribuci´n ıa onormal con media de 7 : 05 y desviaci´n est´ndar de 1 minuto, lo cual indica o aque el 99.7 % de las veces iniciar´ en el intervalo [7 : 02, 7 : 08]. Por otro ıalado, si existe (solamente) sesgo, entonces empezar´ sistem´ticamente (por ıa aejemplo) a las 7 : 07.Ejemplo 1.2.7. Si especificamos que el valor de una resistencia el´ctrica es ede 100 ± 5 % Ω, estamos indicando que su valor real debe estar en el intervalo[95, 105]. Existe actualmente una nueva generaci´n de m´todos num´ricos basados o e een intervalos, rect´ngulos, cajas e hipercajas (para espacios mayores que 3D), acuyo prop´sito es obtener soluciones num´ricas precisas y exactas. Para may- o eor informaci´n puede consultar el texto de Aberth [2] y el curso de Warwick oTucker en [27].1.3. Tipos de errores En esta secci´n veremos los tipos esenciales de errores presentes (en mayor oo menor grado) en la aplicaci´n de los m´todos num´ricos. Adem´s de estos o e e aerrores, podemos considerar: el error humano, observaciones inexactas pro-pios del equipo experimental y errores de modelado. Ver el texto de Friedmany Kolman [8, pp. 54-55] para ejemplos.1.3.1. Error absoluto y relativoDefinici´n 1.3.1 (Error absoluto y relativo). Sea xv un valor num´rico o everdadero y sea xc el valor calculado que aproxima el verdadero, entoncesdefinimos al error er(xc ) y al error relativo rel(xc ), as´ como sus correspon- ıdientes en valores absolutos, como sigue:
  18. 18. 10 CAP´ ITULO 1. TEOR´ DE ERRORES IA er(xc ) = xv − xc (1.4) era (xc ) = |xv − xc | (1.5) xv − xc rel(xc ) = (1.6) xv xv − xc rela (xc ) = (1.7) xv Asumiendo claro, que en las ecuaciones (1.6) y (1.7) se cumple xv = 0.Ejemplo 1.3.1. Calculemos los errores en la definici´n (1.3.1) para el caso de √ oaproximar el valor de 11 con 3.31. Consideraremos que el valor verdadero de√ 11 est´ redondeado12 a siete decimales, es decir xv = 3.3166248, entonces: a er(3.31) = 3.3166248 − 3.31 = 0.0066248 era (3.31) = |0.0066248| = 0.0066248 3.3166248 − 3.31 rel(3.31) = 3.3166248 = 0.0019975 rela (3.31) = |0.0019975| = 0.0019975Los errores relativos tambi´n pueden ser expresados en %. En nuestro caso, erel(3.31) ≈ 0.20 %.Ejercicio 1.3.1. Calcule los cuatro errores de la definici´n (1.3.1) para el ca- oso de aproximar el valor verdadero de π/2 con 11/7. Para iniciar sus c´lculos, afavor de utilizar redondeo a siete decimales.Problema 1.3.1. Extienda la definici´n (1.3.1) especificando c´mo manejar o oel caso xv = 0. 12 La operaci´n de redondeo aqu´ es distinta a la que veremos en la secci´n 1.3.2 o ı o
  19. 19. 1.3. TIPOS DE ERRORES 111.3.2. Error por redondeo A diferencia del error “externo” que provocamos cuando redondeamos acierto n´mero de decimales (p. ej. 9.9 a 10), el error por redondeo que interesa uen c´lculo num´rico es el que ocurre en la computadora o calculadora debido a ea las limitaciones propias de la representaci´n del n´mero (digamos en el o usistema de punto flotante de precisi´n sencilla o de doble precisi´n en el o oest´ndar IEEE 754) aDefinici´n 1.3.2 (Error por redondeo). Dado un n´mero real x y un sistema o ude representaci´n de punto flotante que “almacena” x como f l(x), el error opor redondeo es erf l (x) = x − f l(x) (1.8)El error por redondeo acumulado erf lops (x, y) es el que resulta despu´s de erealizar una serie de operaciones aritm´ticas de punto flotante (o flops13 ), edonde cada operaci´n contribuye su ”cuota” de error por redondeo. Estas ooperaciones aritm´ticas podemos definirlas como: e x⊕y = f l(f l(x) + f l(y)) x y = f l(f l(x) − f l(y)) (1.9) x⊗y = f l(f l(x) × f l(y)) x y = f l(f l(x) / f l(y)) Para calcular erf lops (x, y) es necesario realizar en secuencia cada una delas flops y en cada etapa (como lo indican las ecuaciones en (1.9)) calcularel error por redondeo resultante.Ejemplo 1.3.2 (Moler [17]). Calculemos los resultados de la siguiente se-cuencia: a = 4/3 b=a−1 c=b+b+b e=1−cUna implementaci´n en Scheme resulta en el c´digo y su ejecuci´n indicado o o oen la figura 1.1. 13 flops: (del ingl´s) floating point operations. Algunos sistemas (como MATLAB) tienen ela capacidad de contar las flops realizadas durante una serie de c´lculos. a
  20. 20. 12 CAP´ ITULO 1. TEOR´ DE ERRORES IA Figura 1.1: Ejemplo de error por redondeo C´digo o =⇒ Resultado (define a (/ 4. 3)) {a=1.3333333333333333} (define b (- a 1)) {b= 0.33333333333333326} (define c (+ b b b)) {c= 0.9999999999999998} (define e (- 1 c)) {e=2.220446049250313e-016} e 2.220446049250313e-016 Note que la primera linea del c´digo anterior utiliza (define a (/ 4. 3)) para oindicar (con el punto) que 4 es un n´mero real, simplemente quitando el punto u 14obtenemos el resultado indicado en la figura 1.2, donde se ha eliminado elerror, debido a que en el lenguaje Scheme, las operaciones aritm´ticas con eenteros y racionales son exactas. Hay dos errores de redondeo especiales: error de underflow (o bajoflujo,)cuando x(= 0) es m´s peque˜o que el menor (en magnitud ) de los n´meros a n ude punto flotante disponibles y el sistema lo representa como cero (o biengenera una excepci´n durante el c´lculo). o a Por otra parte, se genera un error de overflow (o sobreflujo,) cuando xexcede el m´ximo (en magnitud) de los n´meros representables como punto a uflotante y el sistema lo representa como +inf o -inf seg´n sea el caso. uEjercicio 1.3.2. Explore y descubra cu´les son los n´meros que generan a uunderflow o bien overflow bajo diferentes sistemas (p. ej. en MATLAB y PLTScheme). Para medir el error por redondeo utilizamos ya sea el error relativo o bienlas ulps15 . En general (como lo indica Goldberg en [10]) si el n´mero de punto u 14 Los resultados entre llaves, indican que no hay resultado en pantalla; s´lo se actualiza ola tabla de asociaciones entre variables y valores. 15 ulps: units of the last place, unidades de la ultima posici´n. ´ o
  21. 21. 1.3. TIPOS DE ERRORES 13Figura 1.2: Ejemplo de eliminaci´n del error por redondeo, al utilizar n´meros o uracionales C´digo o =⇒ Resultado (define a (/ 4 3)) {a = 1 1 } 3 (define b (- a 1)) {b = 1 } 3 (define c (+ b b b)) {c = 1} (define e (- 1 c)) {e = 0} e 0flotante d0 .d1 · · · dp−1 ×β e se utiliza para representar x, entonces se tendr´ un aerror en ulps de: erf l (x) = |d0 .d1 · · · dp−1 − (x/β e )| β p−1 (1.10)Ejercicio 1.3.3. Utilizando la ecuaci´n (1.10) calcule el error por redondeo oen ulps para el caso de aproximar 0.0123456 con 1.23 × 10−2 .Proyecto 1.1. Dise˜e e implemente un programa en Scheme (o en el lenguaje nde su preferencia) que ofrezca la funcionalidad de definir un sistema de puntoflotante parametrizado, y permita realizar experimentos y c´lculo de errores, aen secuencias de operaciones aritm´ticas. e1.3.3. Error por truncamiento De forma similar al caso del error por redondeo, hay que distinguir entreel error “externo” que provocamos cuando truncamos un n´mero a cierta ucantidad de decimales (p. ej. 9.99 a 9.9) y el error de truncamiento que interesafundamentalmente en el an´lisis num´rico. Este ultimo tiene que ver con la a e ´famosa serie de Taylor16 y la propiedad de que toda funci´n anal´ o ıtica puedeser aproximada mediante polinomios. 16 Brook Taylor (1685-1731). Analista, ge´metra y fil´sofo ingl´s. Public´ libros de pers- o o e opectiva y diferencias finitas.
  22. 22. 14 CAP´ ITULO 1. TEOR´ DE ERRORES IATeorema 1.3.1 (Teorema de Taylor). Sea f (x) una funci´n en los reales odefinida en el intervalo [a, b] y que satisface 1. f (x) ∈ C n [a, b] 2. f n+1 (x) existe para x ∈ (a, b)Entonces, para cualesquier x0 , x en [a, b], n f (k) (x0 ) f (x) = (x − x0 )k + Rn (x) (1.11) k=0 k! (n+1)donde Rn (x) = f (n+1)!x ) (x − x0 )n+1 (para cx entre x0 y x inclusive) se de- (cnomina residuo y a la sumatoria llamamos polinomio de Taylor17 de ordenn, denotado por Pn (x). Cuando fijamos x0 , la ecuaci´n (1.11) se denomina oexpansi´n de Taylor de orden n de f (x) alrededor de x0 . Adem´s si hacemos o a 18h = x − x0 podemos expresar el orden de crecimiento del residuo comoRn (x) = O(hn+1 ) 3Demostraci´n. (Adaptada de Banach [3] pp. 114-116) Consideremos la ecuaci´n: o o x − x0 (x − x0 )2 f (x) = f (x0 ) + f (x0 ) + f (x0 ) + · · · 1! 2! (x − x0 )n (n) + f (x0 ) + w(x − x0 )n+1 n!Si la ecuaci´n anterior ha de cumplirse, encontraremos que w deber´ ser igual o a f (n+1) (ξ)a (n+1)! (que corresponde al factor correspondiente en Rn (x)) para un valorde ξ entre x0 y x. Definamos ϕ(t) como sigue: x−t (x − t)2 ϕ(t) = f (x) − f (t) − f (t) − f (t) − · · · 1! 2! (x − t)n (n) − f (t) − w(x − t)n+1 n! 17 Cuando x0 = 0 el nombre de la serie cambia a serie de MacLaurin, en honor a ColinMacLaurin (1698-1746) matem´tico y f´ a ısico escoc´s. e 18 La notaci´n b´sica para orden de crecimiento es (usando nuestra “variable” h) O(g(h)) o a(pron. “O grande” de g(h)) y nos proporciona una estimaci´n del error. Si escribimos of (h) = O(g(h)) (para toda h) esto significa que existe una constante C tal que se cumple|f (h)| ≤ C|g(h)| (para toda h). Para un excelente tratamiento de este tema y del an´lisis aasint´tico se recomienda el libro de Graham, Knuth y Patashnik [11, pp. 443-463]. o
  23. 23. 1.3. TIPOS DE ERRORES 15Observamos que se cumple ϕ(x0 ) = ϕ(x) = 0. Si ahora derivamos ϕ(t) conrespecto a t obtenemos: x−t ϕ (t) = −f (t) − f (t) − f (t) 1! (x − t)2 (3) x−t − f (t) − f (t) − · · · 2! 1! (x − t)n (n+1) (x − t)(n−1) (n) − f (t) − f (t) n! (n − 1)! + w(n + 1)(x − t)nSimplificando la ecuaci´n anterior (cancelando t´rminos iguales) obtenemos: o e (x − t)n (n+1) ϕ (t) = − f (t) + w(n + 1)(x − t)n n!Aplicando ahora el teorema de Rolle19 , sabemos que existe una ξ entre x yx0 tal que ϕ (ξ) = 0, por tanto: (x − t)n (n+1) w(n + 1)(x − t)n = f (t) n!de donde obtenemos el resultado deseado: f (n+1) (ξ) w= (n+1)! , con ξ entre x y x0 . Nota: La f´rmula para el residuo en el teorema anterior garantiza que o ˆ|Rn (x)| ≤ |Rn (x)|, donde: ˆ Mx Rn (x) = (x − x0 )n+1 (1.12) (n + 1)!donde Mx = max{f (n+1) (cx )} tal que cx est´ entre x0 y x inclusive. De esta aforma, |Rˆ n (x)| nos proporciona una cota superior efectiva para la magnituddel residuo. 19 Michel Rolle (1652-1719). Matem´tico franc´s, especialista en an´lisis, ´lgebra y ge- a e a aometr´ El teorema de Rolle nos dice que si una curva continua cruza el eje x en dos ıa.puntos y tiene una tangente en todos sus puntos intermedios, entonces tiene al menos unatangente paralela al eje x.
  24. 24. 16 CAP´ ITULO 1. TEOR´ DE ERRORES IAEjemplo 1.3.3. Calculemos P3 (x) alrededor de x0 = 0 para la funci´n ex , y o ˆ 3 (x).estimemos R e0 0 e0 1 e0 2 e0 3 P3 (x) = x + x + x + x 0! 1! 2! 3! 1 2 1 3 =1+x+ x + x 2 6 ecx 4 R3 (x) = x 4! ˆ Mx 4 R3 (x) = x 24donde, debido a que la funci´n ex es creciente, tenemos: o 1 x≤0 Mx = ex x>0Ejercicio 1.3.4. Calcule P3 (x), el polinomio de aproximaci´n de Taylor de oorden 3, alrededor de x0 = 0, as´ como el residuo Re (x), para la funci´n ı of (x) = cos(x/2),Definici´n 1.3.3 (Error por truncamiento). Decimos que existe un error por otruncamiento, cuando no podemos calcular un valor verdadero yv de formaexpl´ ıcita y tenemos que reemplazarlo por un c´lculo aproximado yc , y lo adenotamos por ertr (yv ) = yv −yc . Normalmente, la aproximaci´n yc se obtiene omediante la suma de los primeros t´rminos de una serie infinita convergente. eEjemplo 1.3.4. Utilizando el resultado del ejemplo (1.3.3), calculemos loserrores de truncamiento, cuando: a) Aproximamos e con P3 (1) b) Aproximamos e−1 con P3 (−1)Para el caso (a), tenemos yv = e y yc = P3 (1), por lo cual, utilizando sietedecimales obtenemos: yv = 2.7182818, y 1 1 yc = 1 + 1 + (1)2 + (1)3 2 6 = 2 + 1/2 + 1/6 = 8/3
  25. 25. ´ ´1.4. SOFTWARE DE COMPUTO NUMERICO 17Ya que 8/3 = 2.6666667 (redondeando a siete decimales,) entonces ertr (2.7182818) = 2.7182818 − 2.6666667 = 0.0516151. Para el caso (b) tenemos yv = e−1 y yc = P3 (−1), por lo cual, utilizandosiete decimales obtenemos: yv = 0.3678794, y 1 1 yc = 1 + (−1) + (−1)2 + (−1)3 2 6 = 0 + 1/2 − 1/6 = 1/3Ya que 1/3 = 0.3333333 (redondeando a siete decimales,) entonces ertr (0.3678794) = 0.3678794 − 0.3333333 = 0.0345461.Ejercicio 1.3.5. Verifique que los errores de truncamiento encontrados en el ˆejemplo (1.3.4), estan por debajo de los R3 (x) correspondientes encontradosen el ejemplo (1.3.3).1.3.4. Error num´rico total e Por lo visto hasta este punto, los m´todos num´ricos requieren un cuida- e edoso reconocimiento y estudio de los errores involucrados.Definici´n 1.3.4 (Error num´rico total). El error num´rico total es la suma o e ede los errores por redondeo y los errores por truncamiento. Los errores por redondeo y por truncamiento guardan una relaci´n muy ointeresante que se˜ala Chapra y Canale [6, pp. 97-99] y denominan princi- npio de incertidumbre num´rica, ya que conforme aumenta el incremento h e(p. ej. (x − x0 ) en la expansi´n de Taylor) tambi´n aumenta el error por o etruncamiento, y para reducirlo es necesario aumentar el n´mero de t´rminos u een la sumatoria, pero al hacerlo aumenta el n´mero de operaciones de punto uflotante, lo que aumenta el error por redondeo. Se trata entonces de encontrarun punto de equilibrio a partir del cual, se tienen rendimientos decrecientes.1.4. Software de c´mputo num´rico o e El software num´rico actual20 ofrece un panorama muy prometedor, ya eque adem´s de la calidad en los programas y la b´squeda de conectividad en- a u 20 Que incluye con frecuencia funcionalidad propia de los CAS (Computer Algebra Sys-tems).
  26. 26. 18 CAP´ ITULO 1. TEOR´ DE ERRORES IAtre los diferentes sistemas, tambi´n se busca estandarizar algunos aspectos de ela sem´ntica (ver p. ej. la iniciativa del Numerical Mathematics Consortium a[20]).1.4.1. Software de acceso libre Entre los sistemas de acceso libre orientados al software num´rico se pode- emos incluir: Axiom: sistema de ´lgebra computacional (con MathAction) a Calc3D: software para c´lculo y graficaci´n orientado a geometr´ y a o ıa estad´ ıstica EULER: poderoso laboratorio de computaci´n num´rica (con Yacas) o e FreeMat: Colecci´n de funciones b´sicas para matem´ticas o a a GnuPlot: Excelente graficador de dominio p´blico (no GNU) u Jacal: Sistema de ´lgebra computacional basado en Scheme a Mathscribe: herramientas para mentes cient´ ıficas NonEuclid: software interactivo en Java para geometr´ hiperb´lica ıa o Octave: excelente sistema afin a MATLAB PyLab: una colecci´n de funciones para c´lculo num´rico y visualizaci´n. o a e o Basado en Python RLab: laboratorio para computaci´n num´rica o e Sage: Sistema integrador de gran potencia y versatilidad que incluye otros paquetes matem´ticos Open Source de alta calidad. a http://www.sagemath.org Scilab: uno de los paquetes de computaci´n num´rica y cient´ o e ıfica m´s a importantes y exitosos (desarrollado en el instituto franc´s INRIA) e Singular: un sistema de ´lgebra computacional para computaci´n con a o polinomios
  27. 27. ´ ´1.4. SOFTWARE DE COMPUTO NUMERICO 19 Surf: software para visualizaci´n de geometr´ algebraica real o ıa Winplot: un programa sencillo pero muy vers´til para graficar funciones a matem´ticas a wxMaxima: un paquete cl´sico para matem´ticas num´ricas y com- a a e putaci´n simb´lica. Sistema basado en Lisp o o1.4.2. Software comercial Entre los sistemas m´s relevantes tenemos: a Derive: Sistema shareware para c´mputo num´rico y simb´lico. o e o LabView: Plataforma de c´mputo num´rico y simulaci´n con ´nfasis en o e o e sistemas electr´nicos empotrados, de gran importancia en la industria o MAPLE: Sistema preferido en ambientes acad´micos y cuyo n´cleo de e u procesamiento simb´lico se incorpora en otros sistemas comerciales o MathCAD: Editor de documentos que integra valiosas capacidades de c´mputo num´rico y de visualizaci´n o e o Mathematica: Sofisticado y muy exitoso sistema de c´mputo num´rico o e y simb´lico, con grandes capacidades de visualizaci´n o o MATLAB: Abreviaci´n de “MATrix LABoratory”, este es el sistema o est´ndar en aplicaciones de ingenier´ a ıa Scientific Workplace: Excelente editor cient´ ıfico de gran flexibilidad y que integra MAPLE como su n´cleo de computaci´n simb´lica u o o1.4.3. Bibliotecas de funciones Orientadas principalmente a la eficiencia en la soluci´n de sistemas lin- oeales de dimensi´n muy grande, estas bibliotecas son esenciales para el desar- orollo de aplicaciones en la industria, as´ como en laboratorios de investigaci´n. ı oEntre las m´s recomendadas podemos mencionar: a IMSL JavaNumerics
  28. 28. 20 CAP´ ITULO 1. TEOR´ DE ERRORES IA LAPACK/BLAS EISPACK LINPACK NAG En las pr´ximas revisiones se presentar´n referencias y una breve descrip- o aci´n de estos importantes sistemas de apoyo a la computaci´n num´rica. o o e1.5. M´todos iterativos e A diferencia de los m´todos directos donde la soluci´n a una ecuaci´n e o oo sistema de ecuaciones se logra siempre “al primer intento” siguiendo pasoa paso un procedimiento determinado21 , los m´todos iterativos obtienen ela soluci´n como resultado de una serie de aproximaciones generadas sucesi- ovamente a partir de una “aproximaci´n inicial a la soluci´n”. o oDefinici´n 1.5.1 (M´todo iterativo). Llamamos M´todo iterativo (uni- o e evariable) a un procedimiento que acepta: a) f (x), la funci´n a iterar22 , tal que ran(f ) ⊆ dom(f ) y adem´s cumple o a cierto criterio de convergencia23 b) x0 ∈ dom(f ), la aproximaci´n inicial a la soluci´n o o c) , la tolerancia del errory encuentra, mediante un n´mero finito de iteraciones, una soluci´n aproxi- u o ∗mada x (con error ≤ ) , para la ecuaci´n x = f (x). Llamamos punto fijo oal valor x que cumple x = f (x). Normalmente, la implementaci´n de un m´todo iterativo incluye como o epar´metro adicional, el n´mero m´ximo de iteraciones permitidas, para el a u a 21 Como ejemplo podemos mencionar el procedimiento para calcular la derivada de unafunci´n que veremos en la secci´n 4.1 o o 22 Iterar una funci´n significa aqu´ aplicarla repetidamente, p. ej. x3 := f (f (f (x0 ))) o ı,asigna a x3 el valor de la tercera iteraci´n de f aplicada a x0 o 23 P. ej. la condici´n de Lipschitz, que veremos en la secci´n 2.3.1 o o
  29. 29. ´1.5. METODOS ITERATIVOS 21caso en que se utilice una funci´n que no cumpla con el criterio de conver- ogencia. En la figura 1.2 presentamos el c´digo Scheme para una m´quina itera- o ativa b´sica, que utilizando el enfoque de programaci´n orientada a objetos, a oimplementa el m´todo iterativo univariable de la definici´n 1.5.1 anterior. e o 1Ejemplo 1.5.1. Resolvamos la ecuaci´n x = cos(x + 4 ) con ayuda de la ofunci´n crea-mit. o> ( define mit ( c r e a −mit ’ g (lambda( x ) (+ ( c o s x ) 1 / 4 ) ) 0.01 15))> ( mit ’ i t e r a 0 . 7 )(0 : 0 . 7 )(1 : 1.0148421872844886)(2 : 0.7777539838103506)(3 : 0.9624913205131414)(4 : 0.8214773395993339)(5 : 0.9311403125086086)(6 : 0.8469194965541674)(7 : 0.9122943326484682)(8 : 0.8619327515053936)(9 : 0.900971529122722)(1 0 : 0 . 8 7 0 8 4 8 6 5 0 1 2 5 9 5 1 8 )(1 1 : 0 . 8 9 4 1 7 7 6 6 7 2 6 4 8 9 1 7 )(1 2 : 0 . 8 7 6 1 6 0 1 9 6 2 8 8 8 2 5 2 )(1 3 : 0 . 8 9 0 1 0 5 9 2 5 8 3 1 6 9 4 3 )(0.7 converge a 0.8793297110716177 en 14 iteraciones )>
  30. 30. 22 CAP´ ITULO 1. TEOR´ DE ERRORES IA C´digo Scheme 1.2: Funci´n crea-mit para crear una m´quina iterativa b´sica o o a a ; ; f u n c i ´ n c r e a −mit ( r e v . 0 2 , 2008 −05 −27; en mit . scm ) o 2 ; ; p r o p ´ s i t o : : c r e a r una M´ quina I T e r a t i v a (MIT) b ´ s i c a o a a ; ; atributos : : idf : string ; i d de l a f u n c i ´ n o 4 ;; f : procedimiento ; funci´n a i t e r a r o ;; epsi : real ; tolerancia 6 ;; n : e n t e r o p o s i t i v o ; m´x de i t e r a c i o n e s a ; ; m´ todos : : ’ show e −> p r e s e n t a l o s a t r i b u t o s 8 ;; ’ i t e r a <r e a l > −> i t e r a empezando con <r e a l > ;; ’ fun <proced> −> r e d e f i n e l a f u n c i ´ n f o10 ;; ’ i d f <s t r i n g > −> r e d e f i n e nombre f u n c i ´ n o ;;12 ( define ( c r e a −mit i d f f e p s i n ) ( l e t ( ( i m i t i d f ) ( f m i t f ) ( emit e p s i ) ( nmit n ) )14 (lambda( mensaje . param ) ( c a s e mensaje16 (( itera ) ( d i s p l a y ‘ ( 0 : , ( c a r param ) ) ) ( n e w l i n e )18 (do ( ( k 1 (+ k 1 ) ) ( xp ( c a r param ) ( f m i t xp ) )20 ( x ( f m i t ( c a r param ) ) ( f m i t x ) ) ) ( ( o r (<= ( abs (− x xp ) ) emit )22 (>= k nmit ) ) ( i f (<= k nmit )24 ‘ ( , ( c a r param ) c o n v e r g e a , x en ,k iteraciones )26 ‘ ( , ( c a r param ) no c o n v e r g e en ,k iteraciones )))28 ( d i s p l a y ‘ ( , k : , x , ( f m i t x ) , ( abs (− x xp ) ) ) ) ( newline ) ) )30 ( ( fun ) ( s e t ! f m i t ( c a r param ) ) ) ( ( e ps ) ( s e t ! emit ( c a r param ) ) )32 ( ( i d ) ( s e t ! i m i t ( c a r param ) ) ) ( ( show ) ( d i s p l a y ‘ ( ”MIT” i d f =, i m i t eps=34 , emit n=, nmit ) ) ( newline ))36 ( e l s e ‘ ( no conozco e l mensaje , mensaje ) ) ) ) ) )
  31. 31. ´1.5. METODOS ITERATIVOS 23Nota: en la secci´n 3.1, veremos m´todos iterativos aplicados a la soluci´n o e ode sistemas de ecuaciones lineales de la forma Ax = b.
  32. 32. 24 CAP´ ITULO 1. TEOR´ DE ERRORES IA
  33. 33. Cap´ ıtulo 2M´todos de soluci´n de e oecuaciones Presentamos aqu´ algunos m´todos num´ricos fundamentales para la solu- ı e eci´n de una ecuaci´n no lineal univariable. Los sistemas de ecuaciones o ono lineales ser´n tratados en el siguiente cap´ a ıtulo.2.1. M´todos basados en intervalos e Cuando para encontrar la soluci´n a una ecuaci´n, digamos f (x) = 0 o opartimos de un intervalo [a, b] dentro del cual sabemos que se encuentra lasoluci´n, y paso a paso reducimos dicho intervalo hasta obtener [an , bn ] tal oque |bn − an | < , para > 0 como la tolerancia, decimos que hemos utilizadoun m´todo de intervalo o m´todo cerrado. e e El m´todo de intervalo cl´sico es el m´todo de bisecci´n de Bolzano, que e a e overemos en la secci´n siguiente (2.2). o Como se mencion´ en la secci´n 1.2.2, recientemente se han desarrollado o om´todos basados en intervalos (en general hiper-cajas) que van “encerrando” ela soluci´n en regiones cada vez m´s peque˜as, logrando con ello lo que ac- o a ntualmente se conoce como computaci´n confiable (en ingl. reliable computing). oPara mayores detalles sobre estos nuevos m´todos se recomienda consultar e[27]. 25
  34. 34. 26 CAP´ ´ ´ ITULO 2. METODOS DE SOLUCION DE ECUACIONES2.2. M´todo de bisecci´n e o El m´todo de bisecci´n se basa en el siguiente teorema de Bolzano1 e oTeorema 2.2.1 (Teorema de Bolzano). Una funci´n f : R → R es cero de oal menos un valor de x entre a y b si f es continua en el intervalo cerrado[a, b] y f (a) y f (b) tienen signos opuestos. La estrategia de este m´todo, es partir de un intervalo [a, b] que cumple la econdici´n f (a)f (b) < 0 y en cada iteraci´n bisectarlo para obtener un nuevo o ointervalo [a1 , b1 ] que tambi´n cumple con f (a1 )f (b1 ) < 0 , hasta obtener un eintervalo [an , bn ] que cumple f (an )f (bn ) < 0 pero adem´s |b − a| ≤ , para aun correspondiente a la tolerancia del error. Presentamos a continuaci´n el algoritmo resultante: oAlgoritmo 2.1 M´todo de bisecci´n e oDado: f : funci´n asociada a la ecuaci´n f (x) = 0 a resolver, a y b: valores o o iniciales que cumplen f (a)f (b) < 0, : tolerancia del error.Entrega: c: la soluci´n aproximada a la ecuaci´n f (x) = 0 con un error ≤ . o o Biseccion(f, a, b, ) ´ 2: repeat s ← (a + b)/2 4: if f (s) = 0 then caso excepcional return s 6: else if f (a)f (s) < 0 then b←s 8: else a←s10: end if until |b − a| ≤12: return s endEjemplo 2.2.1. La siguiente interacci´n con la funci´n biseccion (ver c´di- o o ogo 2.1) nos permite resolver cos(x) = 0 con una tolerancia de 10−3 medianteel m´todo de bisecci´n, utilizando a = 0 y b = 2. e o 1 Bernhard Bolzano (1781-1848), matem´tico checoescovaco especializado en an´lisis, a acuyo trabajo ayud´ a establecer la importancia de las demostraciones rigurosas [14]. o
  35. 35. ´ ´ 2.2. METODO DE BISECCION 27 C´digo Scheme 2.1: Funci´n biseccion asociada al algoritmo 2.1 o o ; ; implementa e l m´todo de b i s e c c i ´ n e o 2 ; ; asume : f ( a0 ) f ( b0)<0 ( define ( b i s e c c i o n f a0 b0 ep ) 4 ( l e t c i c l o ( ( a a0 ) ( b b0 ) ) ( l e t ( ( s ( / (+ a b ) 2 ) ) ) ; b i s e c c i o n de [ a , b ] 6 ( cond [ ( z e r o ? ( f s ) ) s ] ; f ( s )=0? => e n t r e g a s [( < ( abs (− b a ) ) ep ) ; cumple t o l e r a n c i a ? 8 s] ; entrega s [( < (∗ ( f a ) ( f s ) ) 0 ) ; f ( a ) f ( s )<0?10 ( ciclo a s )] ; busca en [ a , s ] [ e l s e ( c i c l o s b ) ] ) ) ) ) ; busca en [ s , b ] > ( b i s e c c i o n cos 0 2. .001) 1.57080078125 A continuaci´n presentamos las interacciones resultantes al resolver este o problema mediante la funci´n biseccion-data (presentada en el c´digo 2.2) o o > ( b i s e c c i o n −data c o s 0 2 . . 0 0 1 6 ) (1.57080078125 −4.454455103366037 e −006 (0 0 2 . 0 ) (1 1.0 2 . 0 ) (2 1.5 2 . 0 ) (3 1.5 1 . 7 5 ) (4 1.5 1.625) (5 1.5625 1.625) (6 1.5625 1.59375) (7 1.5625 1.578125) (8 1.570312 1.578125) (9 1.570312 1.574219) (1 0 1 . 5 7 0 3 1 2 1 . 5 7 2 2 6 6 ) (1 1 1 . 5 7 0 3 1 2 1 . 5 7 1 2 8 9 ) ) Note que en este caso, la funci´n entrega una lista que contiene respectiva- o mente, la soluci´n s, el error f (s) y los datos de las iteraciones en la forma o
  36. 36. 28 CAP´ ´ ´ ITULO 2. METODOS DE SOLUCION DE ECUACIONES (ki ai bi ). C´digo Scheme 2.2: Funci´n biseccion-data asociada al algoritmo 2.1 o o ; ; implementa e l m´todo de b i s e c c i ´ n e o 2 ; ; e n t r e g a ( s o l u c i o n e r r o r data ) ; ; donde : data = { i a ( i ) b ( i )} 4 ; ; asume : f ( a0 ) f ( b0)<0 ( define ( b i s e c c i o n −data f a0 b0 ep d e c s ) 6 ( l e t ( ( f t ( make−f o r m a t e r −round−d e c s d e c s ) ) ( data ’ ( ) ) ) 8 ( l e t c i c l o ( ( a a0 ) ( b b0 ) ( k 0 ) ) ( s e t ! data ( cons ( l i s t k ( f t a ) ( f t b ) )10 data ) ) ( l e t ( ( s ( / (+ a b ) 2 ) ) )12 ( cond [ ( z e r o ? ( f s ) ) ; caso excepcional ( cons s ( cons 0 ( r e v e r s e data ) ) ) ]14 [( < ( abs (− b a ) ) ep ) ; cumple t o l e r a n c i a ? ( cons s ( cons ( f s ) ; e n t r e g a s , f ( s )16 ( r e v e r s e data ) ) ) ] ; y data en orden [( < (∗ ( f a ) ( f s ) ) 0 ) ; f ( a ) f ( s )<0?18 ( c i c l o a s (+ k 1 ) ) ] ; busca en [ a , s ] [ else ( c i c l o s b ; busca en [ s , b ]20 (+ k 1 ) ) ] ) ) ) ) ) Sugerencia 2.1. Si la funci´n f (x) de nuestro problema no es muy conoci- o da, o demasiado laboriosa para bosquejar “a mano”, se recomienda utilizar alguno de los paquetes de software matem´tico vistos en la secci´n 1.4, y a o hacer un an´lisis gr´fico de la funci´n, para determinar el n´mero de ceros a a o u dentro de cierto intervalo, as´ como para determinar los valores cercanos a ı dicho cero(s). Este an´lisis ser´ especialmente importante para el m´todo de a a e Newton-Raphson que veremos en la secci´n 2.4.1. o Ejemplo 2.2.2. Resolvamos ahora la ecuaci´n 3cos( x ) + 2 = 0 con una o 2 −2 tolerancia de 10 , llamando a la funci´n biseccion-data para a = 1 y o b = 6. >( b i s e c c i o n −data (lambda( x)(+ (∗ 3 ( c o s ( / x 2 ) ) ) 2 ) ) 1 6 . 0.01 6)
  37. 37. ´ ´2.2. METODO DE BISECCION 29(4.5986328125 0.002701681335155026 (0 1 6 . 0 ) (1 3.5 6 . 0 ) (2 3.5 4 . 7 5 ) (3 4.125 4 . 7 5 ) (4 4.4375 4 . 7 5 ) (5 4.59375 4 . 7 5 ) (6 4.59375 4.671875) (7 4.59375 4.632812) (8 4.59375 4.613281) (9 4.59375 4.603516))La figura 2.2 nos permite visualizar el proceso para este ejemplo. Figura 2.1: Bisecciones para el ejemplo 2.2.2
  38. 38. 30 CAP´ ´ ´ ITULO 2. METODOS DE SOLUCION DE ECUACIONESEjercicio 2.2.1. Encuentre todos los ceros de las siguientes funciones en elintervalo indicado y para la precisi´n indicada. o 2 a). f (x) = πx cos(x − π ) en [1, 7], con = 0.001 4 b). f (x) = xsenh(x − 2) − 100, en [−4, 8], con = 10−7Problema 2.2.1. ¿Cu´l es el n´mero m´ximo posible de iteraciones del a u am´todo de bisecci´n, dado un intervalo [a, b] y un valor para ? e oProblema 2.2.2. Una vez resuelto el problema 2.2.1, encuentre una funci´nof (x) as´ como su intervalo [a, b] y asociado, de manera que se encuentre el ıcero justo en el n´mero m´ximo de iteraciones. u aSugerencia 2.2. Explore algunas otras implementaciones del m´todo de bisec- eci´n. Se recomienda especialmente revisar ejemplos en MATLAB o si-milares. o2.3. M´todo de aproximaciones sucesivas e Este m´todo, conocido tambi´n como m´todo de punto fijo o m´todo itera- e e e etivo est´ndar es uno de los m´todos recomendados cuando queremos resolver a euna ecuaci´n de la forma x = f (x) y la funci´n f (x) cumple ciertas condi- o ociones como lo veremos en las siguientes dos secciones.2.3.1. Condici´n de Lipschitz oDefinici´n 2.3.1 (Condici´n de Lipschitz). Una funci´n f (x) definida en el o o ointervalo [a, b] se dice que satisface una condici´n de Lipschitz, si existe una oconstante L > 0 tal que |f (x1 ) − f (x2 )| ≤ L |x1 − x2 | (2.1)para cualquier par de n´meros x1 , x2 ∈ [a, b]. u Observamos que cualquier funci´n f (x) donde la expresi´n |f (x11 −x2 | 2 )| se o o |x )−f (xpueda simplificar a g(xK,x2 ) , donde K es una constante y el valor de g(x1 , x2 ) se 1pueda hacer arbitrariamente peque˜o para x1 , x2 ∈ [a, b], no puede satisfacer nuna condici´n de Lipschitz. o
  39. 39. ´2.3. METODO DE APROXIMACIONES SUCESIVAS 31 Si f (x) ∈ C 1 [a, b] (es decir, si f (x) existe y es continua) entonces f (x)satisface tambi´n una condici´n de Lipschitz. Esto se cumple ya que, por el e oteorema del valor medio para derivadas existe una c entre x1 y x2 tal que: f (x1 ) − f (x2 ) f (c) = (2.2) x1 − x2y entonces, |f (x1 ) − f (x2 )| = |f (c)(x1 − x2 )| ≤ L |x1 − x2 |, para cualesquierax1 , x2 ∈ [a, b].2.3.2. Iteraci´n y convergencia o El m´todo de aproximaciones sucesivas, m´todo iterativo y tambi´n e e econocido como m´todo de punto fijo, es uno de los m´todos m´s sencillos e e ae ilustra (a diferencia del m´todo de bisecci´n) el caso cuando no se tiene e ogarant´ de obtener la soluci´n. Por tal motivo, el tema central aqu´ es el ıa o ıconcepto de convergencia de una sucesi´n de aproximaciones. oDefinici´n 2.3.2 (Velocidad de convergencia). Sea {xn }∞ una sucesi´n o n=1 ode aproximaciones que convergen a s, de forma que l´ n→∞ xn = s. Si la ımsucesi´n de errores { n }∞ (donde n = xn − s) satisface o n=1 | n+1 | l´ ım α = K, K > 0 (2.3) n→∞ | n |para algunos n´meros fijos α, K, entonces α es el orden de convergencia para u{xn }, y K es la constante asint´tica o factor de convergencia. o En base a la definici´n anterior, destacamos los casos para cuando α = 1, oy α = 2 que corresponden a convergencia lineal, y convergencia cuadr´tica arespectivamente. El algoritmo 2.2 describe el m´todo. e
  40. 40. 32 CAP´ ´ ´ ITULO 2. METODOS DE SOLUCION DE ECUACIONESAlgoritmo 2.2 M´todo de punto fijo eDado: f : funci´n asociada a la ecuaci´n f (x) = x a resolver, x0 : valor inicial o o de la soluci´n, : tolerancia del error, m: n´mero m´ximo de iteraciones o u a permitidas.Entrega: s: la soluci´n aproximada a la ecuaci´n f (x) = x con un error ≤ , o o o bien el mensaje: “sin convergencia en m iteraciones” si la soluci´n no o converge en las iteraciones y la precisi´n deseada. o Punto-Fijo(f, x0 , , m) 2: if f (x0 ) = x0 then caso excepcional return x0 4: else n←0 6: repeat xn+1 ← f (xn ) 8: n←n+1 until |xn − xn−1 | ≤ ´ n > m o10: if |xn − xn−1 | ≤ then return xn12: else return “sin convergencia en m iteraciones”14: end if end if16: end Presentamos en el listado 2.3, una implementaci´n b´sica del m´todo. o a e
  41. 41. ´ 2.3. METODO DE APROXIMACIONES SUCESIVAS 33 C´digo Scheme 2.3: Funci´n punto-fijo asociada al algoritmo 2.2 o o ; ; implementa e l m´todo de punto f i j o e 2 ( define ( punto− f i j o f x0 e ps m) ( i f (= (− ( f x0 ) x0 ) 0 ) ; f ( x0)=x0 ? 4 x0 ; e n t r e g a x0 ( l e t c i c l o ( ( k 1 ) ( x ( f x0 ) ) ) ; x1=f ( x0 ) 6 ( cond ((<= ( abs (− x ( f x ) ) ) ep s ) ; | f ( x)−x|< e ps 8 ( f x)) ; entrega f (x) ((> k m) ; k> m?10 ( s t r i n g −append ” s i n c o n v e r g e n c i a en ” ( number−>s t r i n g m)12 ” iteraciones ”)) ; mensaje ( else ; e oc14 ( c i c l o (+ k 1 ) ( f x ) ) ) ) ) ) ) ; x ( k+1)= f [ x ( k ) ] Una variante de la funci´n punto-fijo que nos da informaci´n adicional se o o presenta en el listado 2.4.
  42. 42. 34 CAP´ ´ ´ ITULO 2. METODOS DE SOLUCION DE ECUACIONES C´digo Scheme 2.4: Funci´n punto-fijo-data asociada al algoritmo 2.2 o o ; ; implementa e l m´todo de punto f i j o e 2 ; ; e n t r e g a ( ( s o l u c i o n | mensaje ) e r r o r data ) ; ; donde : data = { i f [ x ( i ) ] } 4 ( define ( punto−f i j o −data f x0 eps m d e c s ) ( l e t ( ( f t ( make−f o r m a t e r −round−d e c s d e c s ) ) 6 ( data ( l i s t ( l i s t 0 x0 ) ) ) ) ( i f (= (− ( f x0 ) x0 ) 0 ) 8 ( cons x0 ( cons 0 data ) ) ( l e t c i c l o ( ( k 1 ) ( x ( f x0 ) ) )10 ( s e t ! data ( cons ( l i s t k ( f t x ) ) data ) )12 ( cond ((<= ( abs (− x ( f x ) ) ) ep s ) ( cons ( f x )14 ( cons (− ( f x ) x ) ( r e v e r s e data ) ) ) )16 ((>= k m) ( cons18 ( s t r i n g −append ” s i n c o n v e r g e n c i a en ”20 ( number−>s t r i n g m) ” i t e r a c i o n e s ”)22 ( cons (− ( f x ) x ) ( r e v e r s e data ) ) ) )24 ( else ( c i c l o (+ k 1 ) ( f x ) ) ) ) ) ) ) )
  43. 43. ´ ´2.4. METODOS BASADOS EN INTERPOLACION 352.4. M´todos basados en interpolaci´n e o2.4.1. M´todo de Newton-Raphson e Entre los m´todos m´s populares en matem´ticas computacionales ten- e a aemos al creado por Isaac Newton y Joseph Raphson3 . 2 El atractivo de ´ste m´todo es su rapidez cuadr´tica de convergencia, e e acomo veremos m´s adelante. Una desventaja es que para la aplicaci´n del a om´todo se requiere tener tanto la funci´n f (x) que quiere resolverse, as´ como e o ısu derivada. Dada una funci´n f (x) definida en un intervalo [a, b], tal que o 2f (x) ∈ C [a, b] y existe una s ∈ [a, b] tal que f (s) = 0 entonces si escojemosun valor inicial de x cercano a s, podemos utilizar un polinomio interpoladorde Taylor para aproximar la funci´n f (x) por: o f (x0 ) f (c) f (s) = f (x0 ) + (s − x0 ) + (s − x0 )2 1! 2!Haciendo f (s) = 0 y asumiendo que el t´rmino de segundo grado es muy epeque˜o, se tiene: n f (x0 ) 0 ≈ f (x0 ) + (s − x0 ) 1!Ahora podemos despejar s para obtener: f (x0 ) s ≈ x0 − f (x0 ) Si lo expresamos en t´rminos del m´todo iterativo univariable, la funci´n e e oa iterar es: f (xn ) xn+1 = xn − (2.4) f (xn ) El pseudoc´digo para el m´todo de Newton-Raphson est´ndar se presenta o e aen el algoritmo 2.3 2 Sir Isaac Newton (1642-1727), reconocido matem´tico, f´ a ısico y astr´nomo ingl´s, su o eobra maestra Philosophae Naturalis Principia Mathematica es considerada como uno delos libros cient´ ıficos m´s importantes de todos los tiempos. Destaca junto con (Gottfried aWilhelm von) Leibniz (1646-1716), por su invenci´n independiente del C´lculo. o a 3 Joseph Raphson (1648-1715), matem´tico ingl´s a e
  44. 44. 36 CAP´ ´ ´ ITULO 2. METODOS DE SOLUCION DE ECUACIONESAlgoritmo 2.3 M´todo de Newton-Raphson est´ndar e aDado: f : funci´n asociada a la ecuaci´n f (x) = 0 a resolver, f : derivada de o o f (x), x0 : aproximaci´n inicial a la soluci´n, : tolerancia del error, y m: o o n´mero m´ximo de iteraciones u aEntrega: s: la soluci´n aproximada a la ecuaci´n f (x) = 0, o bien el men- o o saje “sin soluci´n aceptable en m iteraciones”, o bien “f (xn ) = 0 en la o iteraci´n n” o Newton-Raphson(f, f , x0 , , m) 2: n←0 repeat 4: if f (xn ) = 0 then return “f (xn ) = 0 en la iteraci´n n” o else 6: xn+1 = xn − f (xn )/f (xn ) n←n+1 8: end if until |xn − xn−1 | ≤ ´ n > m o10: if |xn − xn−1 | ≤ then return xn else return “sin soluci´n aceptable en m iteraciones” o12: end if end

×