B2. Errores y precisión. Aproximaciones, desarrollos truncados y otras fuentes de error. Error absoluto y relativo. El cálculo diferencial como cálculo de errores. El caso peligroso: restar números cercanos. Problemas “bien-condicionados” y algoritmos estables. Referencias: [San98], Cap. 1; Cálculo de errores, en www.uam.es/bernardo.lopez/cnI/A1.pdf. 1. Muchas de nuestras aproximaciones son desarrollos, en general exactos pero infinitos. Ejemplos que estamos viendo o usando: • sen(x) = x − x3 /3! + x5 /5! − x7 /7! + . . . √ • 2 = 1 + 1/( 2 + 1/( 2 + 1/( 2 + . . . (desarrollo de Taylor) (fracción continua, ver ! b1.5) • π = 3.14159 . . . • (desarrollo decimal, . . . = 11.0010010000111111... . . . o binario) ! b2.1 Al cortarlos aceptamos un error, del que sabemos el posible tamaño (a veces el signo): • para el desarrollo de Taylor1 hasta grado n de una función f (x) , el error que aceptamos al tomar pn (x) como aproximación, es el resto de Taylor: f (x) − pn (x) = f n+1) (ξ) xn+1 , para algún ξ ∈ (0, x) (n + 1)! • el desarrollo decimal de un número x , con n dı́gitos tras la coma, da una aproximación x̃ de ese número, cuyo error ε[x] = x̃ − x estará en el intervalo ! [0, 1]/10n , si cortamos el desarrollo (es decir, olvidamos lo que sigue) [−1/2, +1/2]/10n , si redondeamos al dı́gito más cercano Es preferible lo segundo, y eso suelen hacer las máquinas cuando calculan; a cambio del menor tamaño del error, este convenio “olvida” su signo2 . El sistema que casi universalmente siguen los ordenadores para guardar un número x se llama de coma flotante3 : usa un número fijado de bits para anotar el comienzo del desarrollo binario de x (al que llamamos su mantisa), y otros para anotar “la posición de la coma”, es decir el factor 2m por el que se debe multiplicar la mantisa. ! b2.2 Otras cosas –medidas, observaciones– tienen una imprecisión intrı́nseca o fortuita, y hay que tener igualmente estimaciones del posible error. 2. Errores. La idea de error relativo (que se suele expresar como un %) está en el lenguaje cotidiano. El intento de cuantificarlo con precisión –junto con el número de dı́gitos correctos– se tropieza con la evidencia de que ni necesitamos esa precisión ni tiene sentido pedirla, y esto hace indispensable el sentido común para hablar con cierto rigor en este tema. Podemos ver cada proceso de cálculo como una función que transforma “datos” x en “solución” y = F (x) ; esa F transmite a y los errores de x ; la forma en que lo hace, si esos errores son pequeños, ya la hemos estudiado: es el Cálculo Diferencial. Para estas ideas, ver las Secciones 1 y 2 de: www.uam.es/bernardo.lopez/CNI 06/A1.pdf 4 , y sus ejercicios. 1 Usamos aquı́ la notación que corresponde al desarrollo en torno a x0 = 0 , como en el ejemplo de arriba. detalle nimio con el que no hay que liarse: pese a que en general decimos “ x̃ = x + ε[x] = valor exacto + error ”, el signo del error en los desarrollos se pone tradicionalmente al revés: “valor exacto = aproximación + resto”. 3 Usaremos la denominación ‘float’ que usan los lenguajes de programación para estos números. 4 Añadido también al final de éste B2. Esas 3 páginas fueron escritas para el 1er Curso de Biologı́a, ası́ que su contexto es distinto, pero las ideas que desarrollan son igualmente útiles aquı́. 2 Un 1 3. El caso peligroso. Si los errores son pequeños en x , seguirán en general siendo pequeños en y . Pero no siempre !! El desastre es restar números cercanos; lo que ocurre entonces es: En cada x = cv con v = (1, −1) , la función F (x1 , x2 ) = x1 − x2 vale 0, pero tiene derivada ±1 en las direcciones e1 , e2 . Si el dato es x ≈ cv , y tiene error absoluto εu de dirección no muy cercana a v , el error relativo explota. Ejemplos de por qué no es tan raro ese peligro y cómo a veces es posible eludirlo: √ √ 2 2 2 • las raı́ces de x2 − 2bx + c (datos b, c), son √ x = b ± b − c ; si es |c| << b , los números b, b − c 2 son muy cercanos, y en lugar de x = b − b − c conviene usar la fórmula equivalente √ x = c/(b + b2 − c) . " • al evaluar un polinomio y = k ak xk cuando x se aproxima a uno de sus ceros, es inevitable sumar dos números casi opuestos . . . , luego, ejemplo perfecto de lo que nunca se debe hacer: pasar " un polinomio factorizado a su forma estándar ak xk para luego evaluarlo. • la forma menos mala de hallar y = sen(106 ) es hallar primero el resto r = 106 − nπ < π de dividir 10 por π , y eso implica perder unos 6 dı́gitos de precisión; lo mismo es cierto al calcular y = sen(θ) para cualquier5 otro θ ≈ 10m ; por eso muchas calculadoras dan “error” cuando se les pide el seno de un número muy grande. 6 • en el caso de la derivada numérica f ! (a) ≈ (f (a + h) − f (a))/h , con h → 0 hay que restar valores que por su naturaleza están cercanos, la cosa no tiene remedio. 5 Lo único que lo evita es que θ sea exacto, y que usemos π con el número extra de dı́gitos que se perderán en el cálculo. 2 4. La precisión de un cálculo. Consideremos un proceso de cálculo, al que llamaremos un problema, que usa unos datos a para producir una “solución” x , que si todo va bien deberı́a ser x = F (a) . (a) Junto con nuestros desarrollos decimales finitos “aceptamos” el error de redondeo que se introduce tanto en los datos a como en el resultado x , ası́ como el que la función F transmita desde a hasta x . El error relativo de redondeo será ≤ εm si 1 + 2εm es el menor número x > 1 que nuestro sistema de coma flotante puede guardar. Un valor tı́pico (el del estándar IEEE 754, doble precisión) es εm ≈ 10−16 , que es un error irrelevante para casi cualquier propósito. (b) Un problema está mal-condicionado si la función F puede agigantar el error de los datos, como sucede en el ejemplo x = a1 − a2 . La manera de cuantificar eso para F, a dados, es buscar, suponiendo errores δa pequeños, el peor valor posible para el cociente de los errores relativos |δx| |δa| : |x| |a| donde x + δx = F (a + δa) , y cada |v| es la longitud del vector v . Llamaremos κ(F, a) a ese peor cociente posible, que usando la derivada J = DF (a) , resulta ser sup u |J(u)| |x| : |u| |a| (el supremo es sobre todas las direcciones u del espacio de datos a ; si a ∈ IR , sólo hay una, y se tiene simplemente “|J(u)|/|u|” = |F ! (a)| ). ! b2.3 Se suele decir que la función F está mal-condicionada si hay algún a para el que ese número es muy grande. ¿Cuánto es eso? La respuesta depende de εm y de la necesidad de precisión: κ(F, a) = 1000 no suele ser grave, κ(F, a) = 106 casi seguro que sı́. (c) A un algoritmo de cálculo se le llama inestable6 si se comporta mucho peor que la función x = F (a) que deberı́a aproximadamente calcular; en general eso sucede, como en el caso de las raı́ces de x2 −2bx+c) porque alguna(s) de sus etapas está peor condicionada que la composición de las mismas, que da F (a) ; en esos casos suele ser posible “seguir otro camino” que sea más estable. Para dejar clara la diferencia entre (b) y (c), observar estos dos ejemplos: • si x2 − 2x + c tiene raı́ces xi de muy distinto tamaño, |x1 | << 1 < x2 , cada una de ellas está bien-condicionada como función de c , pero la fórmula usual es inestable para x1 ; • pese a que F (a) = a1 − a2 es el ejemplo de problema mal-condicionado, la operación de restar dos números “float” es perfectamente estable por definición: refleja exactamente la “mala-condición” de F . En el Tema 2 se examina de nuevo todo esto con el lenguaje de autovalores y valores singulares. 6 La asociación entre esto y el uso normal de “inestable” para un proceso de evolución, es menos que metafórica. 3 Ejercicios para el Tema B2. ! b2.1. Escribir el desarrollo en base 2 de los números 5, 1/5 . A la vista de esos desarrollos, ¿es “evidente” que tienen producto = 1? Dar algoritmos para escribir en base 2: i) un real x ∈ (0, 1) dado; ¿cuáles de estos x tienen desarrollo finito en base 2, cuáles en base 10? ii) un entero n > 0 ; en este caso la tarea se parece mucho a la de7 desarrollar un polinomio dado p(x) en potencias de (x − x0 ) , es decir escribir su desarrollo de Taylor en x0 . ! b2.2. • Pese a que el desarrollo de sen(x) converge ∀x, sólo es preciso usarlo para 0 < x < π/2 (¿por qué?); suponiendo eso, estimar de dos maneras el error de la aproximación sen(x) ≈ x − x3 /3! + x5 /5! − x7 /7! a) observando que el resto de la serie casi coincide con su primer sumando x9 /9! ; b) usando el resto de Taylor : cos(ξ) x9 /9! . • A la vista de los dos desarrollos (decimal y binario) π ≈ 3.14159 , π ≈ 11.0010010000111111 , ¿cuál es como máximo el error de cada uno, dando por supuesto que están redondeados? ¿Qué expresión resulta si redondeamos a sólo 8 bits en total? ¿Y a sólo 16? • ¿Cuál es el menor entero n > 0 que no podemos escribir usando k bits? ¿Y cuál es el menor número 1 + δ > 1 que sı́ podemos escribir con esos k bits, si la posición de la coma se especifica aparte? En los sistemas de coma flotante se aprovecha el hecho de que por definición el primer bit de la mantisa debe ser un 1, de modo que basta guardar los k bits que siguen a ese. Teniendo eso en cuenta, ¿cuánto vale δ para el estándar IEEE 754, doble precisión, que usa 52 bits para la mantisa? ! b2.3. Dar expresiones para κ(F, a) = sup u |J(u)| |x| : , donde J es la derivada de x = F (a) en a |u| |a| en los cuatro casos siguientes,√y estudiar cuándo pueden salir valores muy grandes: i) x = a1 − a2 ; ii) x = a , con a > 0 ; recordar que en ese caso es εr [x] ≈ ε[log x] = ε[log a]/2 ; iii) x = sen(a) ; observar lo que ocurre si a ≈ 10M ; iv) las dos raı́ces de x2 − 2x + c , vistas como funciones de c . 7 Se verá en ! 3.1 . 4 APENDICE 1. Cálculo de errores. 1. Aproximaciones y errores. “. . . estos datos tienen aproximadamente distribución Normal . . . ” , “ log(1 + h) ≈ h ” , “ e ≈ 2.7 ” . . . Estos tres son ejemplos de tres clases de aproximaciones con las que convivimos: 1) Modelos aproximados de situaciones reales y/o medidas aproximadas. Otros ejemplos: el crecimiento o extinción aproximadamente geométricos de un cultivo o una muestra radiactiva, cualquier medida de peso, longitud, tiempo, etc., que tienen una precisión limitada. 2) Métodos de aproximación del Cálculo. Otro ejemplo es el de un paso Euler en una ED: x(t + h) ≈ x(t) + h · p(t, x(t)) . 3) Los desarrollos decimales redondeados. Casi todos los números de los que hablamos tienen desarrollos infinitos, y hay que cortarlos en algún sitio; muchas calculadoras nos dan e ≈ 2.718281828 , pero casi siempre interesa usar menos precisión. Conviene entender cuánta interesa en cada caso, y empezar por hacerse conscientes de la pregunta; la mitad de la respuesta no la dan las Matemáticas, sino el uso que se vaya a hacer de ellas y de los datos, pero la otra mitad requiere entender un poco de la dinámica de los errores: la forma como nuestros cálculos responden a los errores de los datos, y generan errores en los resultados. “Error” tiene el significado vago de discrepancia entre la realidad o valor exacto de algo y nuestras aproximaciones; éstas tienen más o menos precisión según sea el tamaño de los errores. Para hablar un poco más de todo esto, nos vemos obligados a dar una definición de error, pero sin tomarla demasiado en serio: como se verá, la idea vaga de error es más sensata y más importante que las problemáticas definiciones en las que nos vemos obligados a encerrarla por el momento. DEFINICION: Si el valor exacto es x y la aproximación que tenemos es x̃ , llamamos error absoluto, a la diferencia error relativo, al cociente ε[x] = x̃ − x εr [x] = | ε[x]/x | Por ejemplo, en la aproximación x = e ≈ 2.7 , es ε[x] = 2.7 − e ≈ −0.018 , εr [x] ≈ 0.0067 = 0.67% Necesitaremos estas definiciones en el siguiente párrafo, pero mucho más importantes para hablar de errores son las siguientes reglas de sensatez: • Regla 1) Si hablamos de ellos, queremos percibir qué tamaño tienen. Una expresión como εr [x] = |2.7−e|/e , no nos dice mucho. En cambio “un 0.67% de error” expresa claramente el orden de imprecisión que tenemos. Dar el εr [x] como un porcentaje contribuye a eso. • Regla 2) Es un contrasentido dar los errores con precisión. Porque si usamos aproximaciones es, o bien porque no tenemos el valor exacto, o porque no nos hace falta esa precisión. Dar exactamente el error es, o imposible, o insensato porque equivale a dar exactamente la cantidad x . Por eso redondeamos: “un 0.67% de error” , y podrı́amos redondear más y quedarnos con “un 0.7% de error” , que expresa escuetamente el tamaño del error. • Regla 3) Los errores relativos DEBEN mantenerse pequeños. Porque si tenemos por ejemplo x̃ = 20 como aproximación de x = 40 , con un εr [x] = 50% , lo que tenemos no es una aproximación, sino un desastre8 . En todo lo que sigue supondremos que no hay tales desastres, y los errores relativos se mantienen, digamos, bajo el 5% . El ejemplo x = e ≈ 2.7 es atı́pico, porque tenemos a mano un valor mucho más exacto. La situación tı́pica es tener un valor aproximado, y una idea sobre el tamaño máximo del error. Por ejemplo, alguien midió una temperatura y nos dice que es “ 4.7o C ± 0.2o C ” . O bien alguien nos dice que x = 3.1416 , y eso lleva incluı́da la afirmación de que 3.14155 < x < 3.14165 , de acuerdo con el CONVENIO DE REDONDEO: Al escribir la última cifra decimal sin dar otra información sobre el error, damos a entender que ese es el dı́gito que da la aproximación más cercana al valor real. En general, como en alguno de estos ejemplos, ignoramos el valor exacto; en muchos casos hay incluso un error intrı́nseco, que impide hablar de un valor exacto: si queremos hacerlo, hay que adoptar convenios como “altura sobre el nivel medio del Mediterráneo en Alicante”. 8 Sin embargo nuestros cálculos pueden crear por sorpresa un desastre ası́; para prevenirlo, hay que tener una idea de cuándo y por qué. 5 ¿Qué poner por lo tanto en el denominador de εr [x] ? La respuesta la dan las Reglas 2 y 3: si la aproximación x = 3.14 merece ese nombre, nos da igual “x” que “3.14” , y en realidad basta con “3” . Muchas veces, como en el caso del redondeo, no conocemos el signo del error, o no nos importa, y queremos hablar sólo de su tamaño. Por eso hemos definido el εr [x] como un valor absoluto. Hagamos por último una reflexión: ¿Quién expresa mejor la precisión, ε[x] ó εr [x] ? ¿Es “±2cm” mucho error o poco? En una lista de alturas de plantas con error ±2cm , en la que hay pequeñas hierbas y árboles corpulentos, ¿son todas las medidas igual de precisas? Visto ası́, la respuesta parece clara, pero véase este otro ejemplo: Temperatura a las 12:00 , 4.7 ± 0.2o C . A las 18:00 , 0.3 ± 0.2o C . ¿Es la segunda medida menos precisa? Hay situaciones como ésta, en las que sencillamente no tiene sentido dividir el error por el valor de x . Eso ocurre tı́picamente cuando el nivel x = 0 es “arbitrario”, fruto de un convenio. EJERCICIOS. 1.i) Hallar (con la calculadora) los errores absolutos y relativos de las aproximaciones: √ a) 2 ≈ 1.41 ; b) log(1.1) ≈ 0.1 ; c) log(1.01) ≈ 0.01 ; d) exp(0.1) ≈ 1.1 ε[x] = εr [x] = Los casos b), c), d) son muy especiales, porque detrás de esas aproximaciones hay desarrollos de Taylor que nos dicen cuál es aproximadamente el error: cuando h es pequeño se tiene h − log(1 + h) ≈ h2 /2 , (1 + h) − exp(h) ≈ −h2 /2 Las aproximaciones b) y d) dicen esencialmente lo mismo. ¿Por qué son distintos sus errores absolutos? ¿Y por qué es el error relativo 10 veces mayor en el primer caso? 1.ii) Pensemos ahora en los errores de redondeo. A las cifras que hay desde la primera que √ no sea 0 hasta el final, las llamaremos cifras significativas. Por ejemplo hay 3 CS en la aproximación 2 ≈ 1.41 . Su error es -0.0042 , si lo damos con 2 CS. Si no √ disponemos de un valor más exacto de 2 , sabemos sólamente que el error es < 0.005 en valor absoluto. Atención, ahora 0.005 quiere decir exactamente 5/1000. Es uno de los muchos casos en los que manejamos constantes exactas. Ciertos programas de ordenador siguen esta rutina expresiva: tratan como exactas las cantidades que estén dadas en forma de fracción, y en cambio asumen que todo desarrollo decimal es una aproximación por redondeo. Suponer ahora que nos dan los números 1.0, 9.9 , ambos con 2 CS. ¿Cuál es en cada caso el máximo error de redondeo, absoluto y relativo? Razonar ahora por qué un número dado con m CS contiene un error relativo de redondeo que es, como máximo, 5/10m , pero que ese máximo puede ser casi 10 veces menor dependiendo de cuáles sean las cifras. ¿Cuántas CS es sensato usar en general? Veamos de nuevo este ejemplo: La calculadora nos dice que el error de la aproximación log(1.01) ≈ 0.01 , dado con 1, 2 ó 3 CS, es: 0.00005, 0.000050, 0.0000497 Una posible regla práctica: para cantidades como ésta, en las que no hay ninguna exigencia de precisión, usar 2 CS, lo que supone asegurar un error relativo menor que el 5%. Sin embargo, podemos tener motivos especiales para usar más. Por ejemplo sabemos (gracias al desarrollo de Taylor) que este error es aproximadamente 0.012 /2 , y hay que usar 3 CS para descubrir cuán exacta es esta nueva aproximación: su error relativo es aproximadamente 3/500=0.6% . 1.iii) Más ejemplos para pensar en el asunto del error absoluto o relativo. Alturas: cierto aparato de orientación nos da la altura sobre el nivel del mar con error < 2m , tanto si estamos en Sevilla (< 100m) como en Avila (> 1000m) . ¿Es 10 veces más precisa la segunda medida? Temperaturas: hemos medido, con precisión de 0.1o C , la temperatura en la boca de un enfermo (38.7o C) y en la boca de un horno (1321.4o C) . ¿Son las dos medidas igual de precisas? ¿Qué es lo que resulta chocante o gracioso en el siguiente diálogo, y por qué? — Yo he ido a Venecia nueve o diez veces. . . — Pues yo he ido una vez. . . o ninguna. . . 1.iv) La cantidad de 14C en la atmósfera, según se ha podido averiguar ya hace décadas, ha variado a lo largo de la historia de la Tierra, y eso introduce desviaciones en las dataciones hechas por ese método (hay otras fuentes de error, pero suelen tener menos impacto si el método se ha usado bien). Por suerte se han podido estimar por otros métodos esas desviaciones (que llegan a superar el 10%, según sea la edad de la muestra), y hacer tablas para convertir “años de radiocarbono” en años de verdad. En vista de eso, ¿cuántos dı́gitos parece sensato usar al calcular la edad de una muestra? 6 2. Cálculo de errores y reglas de derivación. En esta sección y la siguiente, suponemos en general que el error relativo se ha definido con signo: εr [x] = ε[x]/x ; el motivo será a posteriori evidente. Hacemos un cálculo usando valores aproximados de nuestros datos. ¿Qué errores tendremos en los resultados? Un primer hecho, casi evidente, es: (CE1) ε[x + y] = ε[x] + ε[y] Al sumar, se suman los errores absolutos. Suponer ahora que tomamos el producto x̃ỹ como aproximación de xy . Se comprueba fácilmente que x̃ỹ − xy = y(x̃ − x) + x(ỹ − y) + (x̃ − x)(ỹ − y) Dividiendo por xy resulta εr [xy] = εr [x] + εr [y] + εr [x]εr [y] Como el producto de esos dos (pequeños) errores es mucho más pequeño que su suma, llegamos a (CE2) εr [xy] ≈ εr [x] + εr [y] Al multiplicar, se suman los errores relativos. Suponer finalmente que hemos calculado f (x) usando el valor aproximado x̃ = x + h . La igualdad aproximada f (x + h) − f (x) ≈ h · f ! (x) significa ahora que: (CE3) ε[f (x)] ≈ ε[x] · f ! (x) Al hallar f (x) , el (pequeño) error absoluto se multiplica aproximadamente por f ! (x) . Esto puede leerse al revés, como una nueva interpretación de lo que significa la derivada: es el factor de amplificación de los errores cuando pasamos de x a f (x) . Ası́ resulta transparente la Regla de la Cadena: en el proceso x → f (x) → g(f (x)) , los errores se multiplican sucesivamente por f ! (x) y por g ! (f (x)) , luego por el producto f ! (x)g ! (f (x)) , que es por lo tanto la derivada de la composición. También la regla de derivación de un producto toma ahora un significado claro: suponer que calculamos el producto f (t) = x(t)y(t) con un cierto error h en la t . De acuerdo CE3, el error absoluto del resultado será hf ! (t) , pero usando además CE2 será ε[xy] = xy εr [xy] ≈ xy (εr [x] + εr [y]) = yε[x] + xε[y] = h (yx! (t) + xy ! (t)) Si aplicamos CE3 al caso f (x) = log(x) tenemos: (CE4) ε[log(x)] ≈ ε[x]/x El error relativo de x coincide (casi) con el error absoluto de log(x) . Por ejemplo, sumar 0.01 al log(x) equivale a multiplicar x por e0.01 ≈ 1.01 que es lo mismo que introducirle un error relativo del 1% . EJERCICIOS. 2.i) De acuerdo con CE2, se tiene εr [x2 ] = 2εr [x] . Confirmarlo aplicando CE3 a la función f (x) = x2 . 2.ii) Volver a mirar el ejercicio 1.i). Si aplicamos la función f (x) = exp(x) a x = log(1.1) ≈ 0.1 , el error debe multiplicarse por f ! (x) = 1.1 , de acuerdo con CE3. Comprobar que eso es exactamente lo que hemos encontrado en el caso d) de aquel ejercicio (salvo el cambio de papeles entre aproximación y valor exacto, que hace aparecer un signo −). Comprobar cómo el error relativo de d) y el absoluto de b) responden a la igualdad CE4. 2.iii) Suponiendo que εr [x] < 1% y que además es 10 < x < 20 , ¿qué podemos decir del εr [x2 + x] ? ¿Y de ambos tipos de error en 1/x ? 2.iv) Al multiplicar por una constante exacta a se tiene: ε[ax] = a ε[x] y por lo tanto εr [ax] = εr [x] . Comprobar que esto es consistente con la fórmula CE2. 2.v) La igualdad x̃ỹ − xy = y(x̃ − x) + x(ỹ − y) + (x̃ − x)(ỹ − y) puede parecer misteriosa; para descubrir lo que significa, dibujar el producto x̃ỹ = (x + ε[x]) + (y + ε[y]) como el área de un rectángulo; el producto xy se verá en el dibujo como un rectángulo más pequeño. 7 3. Consecuencias prácticas y el caso peligroso. Al sumar dos cantidades, es inútil tener en una de ellas mucho menos error absoluto que en la otra, puesto que ambos errores se van a sumar también; esto es de sentido común, pero otras consecuencias de nuestras reglas de derivación son menos obvias. EJEMPLOS: 1) Si sabemos que εr [x] está cerca del 2% , ¿cuántas cifras tiene sentido conservar al calcular x2 ? Guardando sólo 3 CS de x̃ , se introduce un error relativo que es en el peor caso < 0.5% ; eso deja las cosas esencialmente como estaban; al x̃2 se le transmitirá un error relativo cercano al 4 o quizá 5% , luego sólo sus dos primeras CS son fiables. 2) Si sabemos que f ! (x)/f (x) ≈ 5 , vamos a calcular x f (x) , y queremos tener un error relativo <0.1% en el resultado, ¿qué precisión necesitamos en la x̃ ? Puesto que εr [xf (x)] = εr [x] + εr [f (x)] , y εr [f (x)] ≈ ε[x]f ! (x)/f (x) ≈ 5ε[x] , conviene tener: 4 CS, para tener εr [x] < 5 · 10−4 y además 4 cifras correctas detrás del punto decimal, para tener ε[x] < 10−4 /2. Nótese que el tercer decimal del resultado será quizá correcto, pero puede fácilmente bailar una unidad. 3) Si x, y tienen el mismo signo, el εr [x + y] no puede ser mayor que ambos εr [x], εr [y] . Porque εr [x + y] = (ε[x] + ε[y])/(x + y) = aεr [x] + bεr [y] , con a = x/(x + y), b = y/(x + y) . Pero estas dos constantes son > 0 y suman 1 , de forma que εr [x + y] = aεr [x] + bεr [y] es una media ponderada de εr [x], εr [y] . En cambio: 4) EL CASO PELIGROSO: Si x, y son muy parecidos, el εr [x − y] puede ser catastróficamente mayor que ambos εr [x], εr [y] . Por ejemplo, 10.6-10.4=0.2 , pero 11-10=1 : errores de 4% en los datos crean un 400% de error en el resultado. " Un ejemplo auténtico lo da el cálculo de la desviación tı́pica con la fórmula σ 2 = N1 i x2i − x̄2 , si x̄2 es mucho mayor que σ 2 ; estamos restando entonces dos cantidades muy parecidas y se pueden producir errores asombrosos en el resultado (ver un ejemplo en los Ejercicios). Recordar que esa es normalmente la fórmula empleada por las calculadoras. Remedio: empezar restando a los datos xi alguna cantidad a de su mismo tamaño, para que la media pase a ser menor que la desviación. 5) Si sumamos muchos datos cuyos errores tienen signos aleatorios, podemos esperar bastante cancelación de los errores. Si los datos eran todos > 0 , la suma tendrá menos error relativo que los sumandos. El Cálculo de Probabilidades nos dice: si los errores de los N datos tienen valor esperado = 0 y √ d.t.= d, podemos esperar que la suma de los errores tenga tamaño no mucho mayor que N d . EJERCICIOS. √ 3.i) Lo que ocurre al redondear un número a la segunda cifra decimal, como en 2 ≈ 1.41 , puede verse del siguiente modo, usando las ideas y el lenguaje del Cálculo de Probabilidades: Sumamos al valor exacto x un error ε que se escoge √ al azar en el intervalo [-0.005,0.005] . Esto es como una urna con media = 0 y desviación d = 0.005/ 3 . Por lo tanto, en una suma de √ N números √ redondeados de ese modo, la suma de sus errores tiene valor esperado = 0 , error estándar N · 0.005/ 3 , y distribución aproximadamente Normal. Hallar la probabilidad de que al sumar 75 números redondeados al segundo decimal, se pierda un dı́gito por los errores acumulados, es decir de que la suma de errores sea en valor absoluto > 0.05 . " 3.ii) Calcular la d.t. de los siguientes datos xj con la fórmula σ 2 = N1 i x2i − x̄2 usando una calculadora: 65708.2 , 65711.7 , 65707.8 , 65708.8 , 65710.5 , 65709.3 A continuación repetir el cálculo con los datos trasladados yi = xi − 65700 ; ¿qué ha ocurrido? (El desastre de la primera versión dependerá de cuántos dı́gitos utilice internamente la calculadora). 3.iii) En el Ejemplo 2) se ha observado lo que ocurre con el error relativo al hallar f (x) : εr [f (x)] = ε[x] f ! (x) x f ! (x) = εr [x] f (x) f (x) √ Aplicarlo al caso f (x) = x . Confirmar el resultado usando (CE4) y la definición de f (x) = xa cuando a es una constante (exacta) y x > 0 . 8