Implementando números complejos y FFT solo con tipos de datos (sin flotantes)

2025-05-25
Implementando números complejos y FFT solo con tipos de datos (sin flotantes)

Este artículo presenta un método para implementar números complejos y la Transformada Rápida de Fourier (FFT) utilizando solo tipos de datos algebraicos, sin depender de números de punto flotante. El autor comienza explicando las ventajas de usar tipos de datos algebraicos para la representación numérica y destaca las ineficiencias en las implementaciones tradicionales de FFT. Luego, se muestra una implementación concisa y elegante de enteros y números complejos usando solo tipos de datos algebraicos. Finalmente, se deriva una implementación puramente funcional de FFT compleja, también sin flotantes. Esto se logra utilizando una representación ternaria balanceada para enteros y extendiendo los enteros gaussianos para representar números complejos, eludiendo hábilmente los efectos que impiden la fusión de la aritmética de punto flotante, mejorando así la eficiencia del algoritmo.