データ型のみを用いた複素数とFFTの実装(浮動小数点数なし)
2025-05-25

この記事では、浮動小数点数を用いることなく、代数データ型のみを用いて複素数と高速フーリエ変換(FFT)を実装する方法を紹介します。著者はまず、数値表現に代数データ型を使用することの利点を説明し、従来のFFT実装における非効率性を指摘します。次に、代数データ型のみを用いた、簡潔で洗練された整数と複素数の実装を示します。最後に、浮動小数点数を使わない、純粋関数型の実装による複素数FFTを導出します。これは、バランスのとれた三進数表現で整数を表現し、ガウス整数を拡張して複素数を表現することで、浮動小数点演算による融合阻害効果を巧みに回避し、アルゴリズムの効率を向上させています。
開発
代数データ型