Propagación del error
Aunque los errores en números de punto flotante aislados son muy pequeños, operaciones simples con ellos pueden tener problemas e incrementar el error del resultado más de lo que se esperaría «sumando» los errores individuales.
En general:
- La multiplicación y la división son operaciones «seguras».
- La suma y la resta son peligrosas, porque cuando hay involucrados números de diferentes órdenes de magnitud, los dígitos del más pequeño se pierden.
- Esta pérdida de dígitos puede ser inevitable y benigna (cuando los dígitos perdidos son también insignificantes para el resultado final) o catastrófica (cuando la pérdida se amplifica y distorsiona el resultado fuertemente).
- Cuantas más operaciones se hagan (especialmente cuando forman parte de un algoritmo iterativo) más importante es considerar este problema.
- Un método de cálculo puede ser estable (tiende a reducir los errores de redondeo) o inestable (los errores de redondeo se amplifican). A menudo, hay soluciones estables e inestables a un problema.
Hay un área entera de las matemáticas (el análisis numérico) dedicada a estudiar la estabilidad numérica de los algoritmos. Para hacer cálculos complejos utilizando números de punto flotante, es absolutamente necesario tener ciertos conocimientos en esta materia.
Este artículo en inglés What Every Computer Scientist Should Know About Floating-Point Arithmetic da una introducción detallada, y sirvió de inspiración para esta web, principalmente por el hecho de que era demasiado minucioso y un poco intimidante para programadores sin una formación científica.
© Publicado en http://puntoflotante.org/ bajo una licencia Creative Commons Atribución Unported (BY). Original en inglés por Michael Borgwardt en http://floating-point-gui.de/.