Pseudo-spectral method
From Wikipedia, the free encyclopedia
Pseudo-spectral methods 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.
Contents |
[edit] Background
The Schrödinger wave equation,
can be written
which bears remarkable resemblance to 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, T , is given by
and the potential energy, V often depends only on position, written . We can write
It is tempting to write
so that we may treat each factor separately. However, this is only true if the operators T and commute, which is not true in general. Luckily, it turns out that
is a good approximation for small values of t. 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 t.
[edit] The method
For simplicity, we will consider the one-dimensional case. The method is readily extended to multiple dimensions.
Given ψ(x,t), we wish to find ψ(x,t + Δt) where Δt is small. The first step is to calculate an intermediate value φ1(x) 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 Φ1(k) is the momentum space representation of φ1(x), then
which also requires only a pointwise multiplication. Numerically, Φ1(k) is obtained from φ1(x) using the Fast Fourier transform (FFT) and φ2(x) is obtained from Φ2(k) using the inverse FFT.
The final calculation is
This sequence can be summarized as
[edit] Analysis of algorithm
If the wavefunction is approximated by its value at n distinct points, each iteration requires 3 pointwise multiplications, one FFT, and one inverse FFT. The pointwise multiplications each require O(n) effort, and the FFT and inverse FFT each require O(nlgn) 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.
[edit] Error analysis
The error in the pseudo-spectral method is overwhelmingly due to discretization error.
Needed: a more in-depth error analysis