Pseudo-spectral method
This article needs additional citations for verification. (December 2009) |
Pseudo-spectral methods [1] are a class of numerical methods used in applied mathematics and scientific computing for the solution of PDEs, such as the direct simulation of a particle with an arbitrary wavefunction interacting with an arbitrary potential. They are related to spectral methods and are used extensively in computational fluid dynamics and other areas, but are demonstrated below on an example from quantum physics.
Background
The Schrödinger wave equation,
can be written
which resembles the linear ordinary differential equation
with solution
In fact, using the theory of linear operators, it can be shown that the general solution to the Schrödinger wave equation is
where exponentiation of operators is defined using power series. Now remember that
where the kinetic energy is given by
and the potential energy often depends only on position (i.e., ). We can write
It is tempting to write
so that we may treat each factor separately. However, this is only true if the operators and commute, which is not true in general. Luckily, it turns out that
is a good approximation for small values of . This is known as the symmetric decomposition. The heart of the pseudo-spectral method is using this approximation iteratively to calculate the wavefunction for arbitrary values of .
The method
For simplicity, we will consider the one-dimensional case. The method is readily extended to multiple dimensions.
Given , we wish to find where is small. The first step is to calculate an intermediate value by applying the rightmost operator in the symmetric decomposition,
This requires only a pointwise multiplication. The next step is to apply the middle operator,
This is an infeasible calculation to make in configuration space. Fortunately, in momentum space, the calculation is greatly simplified. If is the momentum space representation of , then
which also requires only a pointwise multiplication. Numerically, is obtained from using the Fast Fourier transform (FFT) and is obtained from using the inverse FFT.
The final calculation is
This sequence can be summarized as
Analysis of algorithm
If the wavefunction is approximated by its value at distinct points, each iteration requires 3 pointwise multiplications, one FFT, and one inverse FFT. The pointwise multiplications each require effort, and the FFT and inverse FFT each require effort. The total computational effort is therefore determined largely by the FFT steps, so it is imperative to use an efficient (and accurate) implementation of the FFT. Fortunately, many are freely available.
Error analysis
![]() | This section needs expansion. You can help by adding to it. (June 2008) |
The error in the pseudo-spectral method is overwhelmingly due to discretization error.
References
- Steven A. Orszag (1969) Numerical Methods for the Simulation of Turbulence, Phys. Fluids Supp. II, 12, 250-257
- D. Gottlieb and S. Orzag (1977) "Numerical Analysis of Spectral Methods : Theory and Applications", SIAM, Philadelphia, PA
- J. Hesthaven, S. Gottlieb and D. Gottlieb (2007) "Spectral methods for time-dependent problems", Cambridge UP, Cambridge, UK
- Lloyd N. Trefethen (2000) Spectral Methods in MATLAB. SIAM, Philadelphia, PA
- Bengt Fornberg (1996) A Practical Guide to Pseudospectral Methods. Cambridge University Press, Cambridge, UK
- Chebyshev and Fourier Spectral Methods by John P. Boyd.
- Javier de Frutos, Julia Novo: A Spectral Element Method for the Navier--Stokes Equations with Improved Accuracy
- Canuto C., Hussaini M. Y., Quarteroni A., and Zang T.A. (2006) Spectral Methods. Fundamentals in Single Domains. Springer-Verlag, Berlin Heidelberg
- ^ Orszag, Steven A. (1972). "Comparison of Pseudospectral and Spectral Approximation". Studies in Applied Mathematics. 51 (1972): 253–259.