The Fast Fourier Transform & Spectral Methods

the inverse discrete Fourier transform

If the forward DFT is taking a chord apart into its separate notes, the inverse DFT is the reverse: handed a recipe of frequencies and how loud each one is, it adds those pure tones back together to reconstruct the original sound. It is the synthesis step that guarantees nothing was lost — analysis and re-synthesis return you exactly to where you started.

Given the N frequency coefficients X_0, ..., X_{N-1}, the inverse DFT rebuilds the time samples by x_n = (1/N) * sum over k from 0 to N-1 of X_k * e^(+2*pi*i*k*n/N). Notice the two differences from the forward transform: the exponent sign flips from minus to plus (the spinning arrows now turn the other way), and a 1/N factor scales the result. That 1/N is the bookkeeping that makes the round trip exact: do the DFT, then the inverse DFT, and you recover the original x_n to within rounding error. Whichever normalization convention a library uses — 1/N on the inverse, 1/sqrt(N) split symmetrically, or 1/N on the forward — the only iron rule is that the forward and inverse factors multiply to 1/N.

The inverse DFT is what makes the whole 'transform, work, transform back' strategy useful. You move into the frequency domain because some operation is trivially easy there — filtering by zeroing unwanted frequencies, convolution by simple multiplication, solving certain differential equations by dividing — and then the inverse DFT carries the result back to the time or space domain you actually care about. It costs the same as the forward transform, so the fast Fourier transform speeds it up identically; the same butterfly machinery runs with the sign and scaling adjusted.

Take any signal, compute its DFT to get X_k, then immediately apply the inverse DFT. You get the original samples back to within floating-point rounding (about 15-16 digits in double precision). The information is conserved; the transform merely changes the basis you view it in.

Forward then inverse is the identity — only the viewpoint changed.

Normalization conventions differ between software packages; a misplaced 1/N or sqrt(N) is a classic bug that scales your answer by N. Always check whether your library puts the factor on the forward transform, the inverse, or splits it.

Also called
inverse DFTIDFTsynthesis反 DFT逆離散傅立葉轉換