Computing Library › Numerical Methods
Numerical Methods

Fourier Spectral Methods

Discretizations for periodic problems that represent solutions as Fourier series, turning differentiation into multiplication.

The natural basis for periodic problems

For problems with periodic boundary conditions, the Fourier basis of complex exponentials is ideal. A smooth periodic function's Fourier coefficients decay faster than any power of the mode number, so a truncated series converges spectrally: the error falls exponentially with the number of modes. This makes Fourier spectral methods the most accurate discretization available for smooth periodic problems.

Differentiation as multiplication

Kronos motion — multiplication

The defining convenience is that differentiating a Fourier mode multiplies it by its wavenumber times the imaginary unit. So a derivative in physical space becomes a simple diagonal multiplication in Fourier space. The workflow is: transform to Fourier space with the fast Fourier transform (FFT), multiply by the wavenumbers to differentiate, and transform back. Each transform costs order N log N operations, making the whole scheme fast despite its global nature.

The pseudospectral approach

Nonlinear terms are awkward in Fourier space because a product becomes a convolution. The pseudospectral method sidesteps this: it computes derivatives in Fourier space but evaluates nonlinear products in physical space, transforming back and forth as needed. This introduces aliasing error, where high modes masquerade as low ones; the standard cure is dealiasing by zero-padding (the 2/3 rule), which removes the corrupted modes.

Where it is used

Fourier spectral and pseudospectral methods dominate simulation of homogeneous turbulence and are widely used in gyrokinetic plasma turbulence codes for the periodic directions, with a different discretization such as Chebyshev or finite differences in the non-periodic radial direction. Their accuracy per degree of freedom is unmatched when the geometry and smoothness cooperate.