- Pseudo-spectral method
Pseudo-spectral methods are a class of
numerical methods used inapplied mathematics andscientific computing for the solution ofPDE s, such as the direct simulation of a particle with an arbitrarywavefunction interacting with an arbitrary potential. They are related tospectral method s and are used extensively in computational fluid dynamics and other areas, but are demonstrated below on an example fromquantum physics .Background
The Schrödinger wave equation,
: H psi(mathbf{r},t) = i hbar frac{partial}{partial t} psi(mathbf{r},t)
can be written
: frac{H}{i hbar} psi(mathbf{r},t) = frac{partial}{partial t} psi(mathbf{r},t)
which resembles the
linear ordinary differential equation : r f(t) = frac{d}{dt} f(t)
with solution
: f(t) = A e^{r t} ,!
In fact, using the theory of
linear operator s, it can be shown that the general solution to the Schrödinger wave equation is: psi(mathbf{r},t) = e^{-i H t / hbar} psi(mathbf{r},0)
where exponentiation of operators is defined using
power series . Now remember that: H = T + V ,!
where the kinetic energy Tis given by
: T = frac{p^2}{2 m} = - frac{hbar^2}{2m} { abla}^2
and the potential energy V often depends only on position (i.e., V=V(mathbf{r})). We can write
: psi(mathbf{r},t) = e^{-i (T + V(mathbf{r})) t / hbar} psi(mathbf{r},0).
It is tempting to write
: psi(mathbf{r},t) = e^{-i T t / hbar} e^{-i V(mathbf{r}) t / hbar}psi(mathbf{r},0)
so that we may treat each factor separately. However, this is only true if the operators T and V(mathbf{r}) commute, which is not true in general. Luckily, it turns out that
: psi(mathbf{r},t) approx e^{-i V(mathbf{r}) t / 2 hbar} e^{-i T t / hbar} e^{-i V(mathbf{r}) t / 2 hbar}psi(mathbf{r},0)
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 psi(mathbf{r},t) for arbitrary values of t.
The method
For simplicity, we will consider the one-dimensional case. The method is readily extended to multiple dimensions.
Given psi(x,t) , we wish to find psi(x,t + Delta t) where Delta t is small. The first step is to calculate an intermediate value phi_{1}(x) by applying the rightmost operator in the symmetric decomposition,
: phi_{1}(x) = e^{-i V(mathbf{r}) Delta t / 2 hbar}psi(x,t)
This requires only a pointwise multiplication. The next step is to apply the middle operator,
: phi_{2}(x) = e^{-i T Delta t / hbar} phi_{1}(x)
This is an infeasible calculation to make in
configuration space . Fortunately, inmomentum space , the calculation is greatly simplified. If Phi_{1}(k) is the momentum space representation of phi_{1}(x), then: Phi_{2}(k) = e^{i hbar k^{2} Delta t / 2 m} Phi_{1}(k)
which also requires only a pointwise multiplication. Numerically, Phi_{1}(k) is obtained from phi_{1}(x) using the
Fast Fourier transform (FFT) and phi_{2}(x) is obtained from Phi_{2}(k) using the inverse FFT.The final calculation is
: psi(x,t + Delta t) = e^{-i V(mathbf{r}) Delta t / 2 hbar}phi_{2}(x)
This sequence can be summarized as
: psi(x,t + Delta t) = e^{-i V(mathbf{r}) Delta t / 2 hbar} mathcal{F}^{-1} [e^{i hbar k^{2} Delta t / 2 m} mathcal{F} [e^{-i V(mathbf{r}) Delta t / 2 hbar}psi(x,t)] ]
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(n lg n) 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
The error in the pseudo-spectral method is overwhelmingly due to
discretization error .
Wikimedia Foundation. 2010.