Un nuevo enfoque para el cálculo de derivadas, denominado 'números duales', podría resolver problemas de precisión inherentes a la aritmética de punto flotante, según un artículo publicado en campedersen.com. El método, que ha existido teóricamente desde 1964, representa un número como un par: un valor y su derivada. Al realizar operaciones aritméticas, la derivada se propaga automáticamente según las reglas del cálculo, eliminando la necesidad de aproximaciones y el riesgo de 'catastrophic cancellation' que ocurre al usar tamaños de paso extremadamente pequeños. Esto permite obtener derivadas exactas sin necesidad de métodos complejos como el cálculo simbólico o el 'finite differences'. El autor ha desarrollado una biblioteca de Rust llamada 'tang' que implementa esta técnica, permitiendo la diferenciación exacta a través de diversas operaciones matemáticas y funciones, incluso en solvers como LU y SVD. 'Tang' también ofrece capacidades de diferenciación automática hacia atrás y está diseñado para ser genérico, permitiendo que las matemáticas funcionen con diferentes tipos de números, no solo con f64, lo que abre la puerta a optimizaciones y análisis de sensibilidad más precisos en campos como la física y el aprendizaje automático.
