複素数の取扱 Complex numbers


 FFTWのインターフェースは、すべての浮動小数点数に、double精度を用いており、複素数を保持するfftw_complex型を以下のように定義しています

typedef double fftw_complex[2];

 ここで、[0]の要素は実部、[1]の要素は虚部をそれぞれ表しています。
代替手段として、(gccのような)ANSI C標準のC99をサポートするCコンパイラがあれば、C言語の新しいネイティブな複素数型(バイナリとしては、上の型と同じ)も使うことができます。すなわち、#include <complex.h>を<fftw3.h>の前にインクルードすれば、fftw_complexが、ネイティブの複素数型として定義され、通常の数学で扱うことができるようになります(たとえば、x = y * (3+4*I)のように。xとyはfftw_complexでIは単位虚数記号)。

 <以下、作業中。細かい話なので後回しにする予定>

 C++は、自身でcomplex<T>というテンプレートクラスを持っており、これは標準ヘッダである<complex>で定義されています。伝えられるところによれば、C++標準委員会は、最近
最終更新:2008年11月24日 23:52