cannam@95: cannam@95:
cannam@95:cannam@95: Next: 1d Real-even DFTs (DCTs), cannam@95: Previous: The 1d Discrete Fourier Transform (DFT), cannam@95: Up: What FFTW Really Computes cannam@95:
The real-input (r2c) DFT in FFTW computes the forward transform
cannam@95: Y of the size n
real array X, exactly as defined
cannam@95: above, i.e.
cannam@95:
As a result of this symmetry, half of the output Y is redundant cannam@95: (being the complex conjugate of the other half), and so the 1d r2c cannam@95: transforms only output elements 0...n/2 of Y cannam@95: (n/2+1 complex numbers), where the division by 2 is cannam@95: rounded down. cannam@95: cannam@95:
Moreover, the Hermitian symmetry implies that
cannam@95: Y0and, if n is even, the
cannam@95: Yn/2element, are purely real. So, for the R2HC
r2r transform, these
cannam@95: elements are not stored in the halfcomplex output format.
cannam@95:
cannam@95:
cannam@95:
The c2r and H2RC
r2r transforms compute the backward DFT of the
cannam@95: complex array X with Hermitian symmetry, stored in the
cannam@95: r2c/R2HC
output formats, respectively, where the backward
cannam@95: transform is defined exactly as for the complex case:
cannam@95:
Y
of this transform can easily be seen to be purely
cannam@95: real, and are stored as an array of real numbers.
cannam@95:
cannam@95: Like FFTW's complex DFT, these transforms are unnormalized. In other cannam@95: words, applying the real-to-complex (forward) and then the cannam@95: complex-to-real (backward) transform will multiply the input by cannam@95: n. cannam@95: cannam@95: cannam@95: cannam@95: