En aritmética de coma flotante , el lema de Sterbenz o el lema de Sterbenz [1] es un teorema que da las condiciones bajo las cuales se calculan exactamente las diferencias de coma flotante. Lleva el nombre de Pat H. Sterbenz, quien lo publicó como Teorema 4.3.1 en su libro Floating-Point Computation de 1974 . [2]
El lema de Sterbenz establece que para un sistema numérico de punto flotante con números subnormales , como IEEE 754 binary64 , si y son números de coma flotante tales que
luego también es un número de coma flotante. Por lo tanto, la resta de coma flotante se calcula exactamente.
Relación con la cancelación catastrófica
El lema de Sterbenz puede contrastarse con el fenómeno de la cancelación catastrófica :
- El lema de Sterbenz afirma que si y son números de punto flotante suficientemente cercanos, entonces su diferencia se calcula exactamente mediante aritmética de punto flotante , sin necesidad de redondeo.
- El fenómeno de la cancelación catastrófica es que si y son aproximaciones a números verdaderos y - si las aproximaciones surgen de un error de redondeo previo o del truncamiento de la serie o de la incertidumbre física o cualquier otra cosa - el error de la diferencia de la diferencia deseada es inversamente proporcional a . Por lo tanto, cuanto más cerca y son, los peores puede ser como una aproximación a , incluso si la resta se calcula exactamente.
En otras palabras, el lema de Sterbenz muestra que restar números de punto flotante cercanos es exacto, pero si los números que tiene son aproximaciones, incluso su diferencia exacta puede estar muy lejos de la diferencia de números que desea restar.
Uso en análisis numérico
El lema de Sterbenz es fundamental para demostrar teoremas sobre límites de error en el análisis numérico de algoritmos de coma flotante. Por ejemplo, la fórmula de Heron
Referencias
- ^ Muller, Jean-Michel; Brunie, Nicolas; de Dinechin, Florent; Jeannerod, Claude-Pierre; Joldes, Mioara; Lefèvre, Vincent; Melquiond, Guillaume; Revol, Nathalie; Torres, Serge (2018). Manual de aritmética de coma flotante (2ª ed.). Gewerbestrasse 11, 6330 Cham, Suiza: Birkhäuser. pag. 101. doi : 10.1007 / 978-3-319-76526-6 . ISBN 978-3-319-76525-9.Mantenimiento de CS1: ubicación ( enlace )
- ^ Sterbenz, Pat H. (1974). Computación en coma flotante . Englewood Cliffs, Nueva Jersey, Estados Unidos: Prentice-Hall. pag. 138. ISBN 0-13-322495-3.
- ^ Kahan, W. (4 de septiembre de 2014). "Mal cálculo del área y los ángulos de un triángulo con forma de aguja" (PDF) . Notas de clase para las clases de introducción al análisis numérico . Consultado el 17 de septiembre de 2020 .
- ^ Goldberg, David (marzo de 1991). "Lo que todo informático debería saber sobre la aritmética de punto flotante" . Encuestas de computación ACM . Nueva York, NY, Estados Unidos: Association for Computing Machinery. 23 (1): 5–48. doi : 10.1145 / 103162.103163 . ISSN 0360-0300 . Consultado el 17 de septiembre de 2020 .
- ^ Boldo, Sylvie (abril de 2013). Nannarelli, Alberto; Seidel, Peter-Michael; Tang, Ping Tak Peter (eds.). Cómo calcular el área de un triángulo: una revisión formal . 21º Simposio de IEEE sobre aritmética informática . Computer Arithmetic, 2009. Arith 2009. 19º Simposio del IEEE en . Sociedad de Informática IEEE. págs. 91–98. doi : 10.1109 / ARITH.2013.29 . ISBN 978-0-7695-4957-6. ISSN 1063-6889 .