There exist some physically interesting problems that have parts
easily solvable in position space and parts easily solvable in
momentum space. For these kinds of problems we can use a technique
known as the pseudo-spectral method. Essentially, all this technique
does is break the problem down into parts involving the bits easily
solvable in each space and then merely makes the relevant
transformations to move between spaces. Breaking the problem into
parts usually involves an approximation to the actual evolution
desired, but since numerical computation of the evolution PDEs is an
approximation, it doesn't hurt to do another if it allows us to solve
a problem, and we can be reasonably accurate as it turns out anyway.
In this discussion I will again follow the text of DeVries.
Just to be different, we're going to analyse the one-dimensional
Schrödinger equation instead of the diffusion
equation3.12. The reason for this is because the diffusion
equation would reduce back to the standard FFT method described in the
last section, and therefore wouldn't be very informative or
interesting. The 1-D Schrödinger equation is
 |
(3.63) |
where
is the mass of the quantum mechanical particle,
is its wavefunction and
is some potential dependent only upon
the spatial position. We can write this in terms of a kinetic energy
term
and a potential energy term
as
 |
(3.64) |
Note that
is basically the
matrix (in general, the
derivative operator) that we have been using in most of the examples
to date. The potential
merely multiplies
. One
should mention at this point that the time dependence of
Schrödinger's equation in Equation (3.63) can be
solved formally, but this is really boring, and we want to do
this on a computer anyway. Nevertheless, the formal solution can lead
us to a practical method of solving Schrödinger's equation
computationally. The solution of Schrödinger's equation in the
form of Equation (3.64) is
 |
(3.65) |
where
and
is the initial point in time.
Note that this solution involves the exponential of operators. How
do we take exponentials of operators? In much the same way we would
take the exponential of a scalar;
 |
(3.66) |
When we realise that
could have a representation as a
matrix, one can imagine that this could get nasty to calculate fairly
quickly.
It would be really cool if we could write the exponential in
Equation (3.65) as
 |
(3.67) |
but we can't because
and
are operators and in
general don't commute. However, even though the above relation isn't
true in a strictly mathematical sense, it doesn't mean it isn't useful
as an approximation for what we want to do. Performing this
decomposition of the exponential into two factors is known as
the split-operator approach and is why this technique is also
known as the split-step FFT method. Although it may seem a bit
bizarre, this method is actually widely applicable, but we won't go
into that here.
Equation (3.67) is only accurate to
,
nevertheless if we take the symmetric decomposition
 |
(3.68) |
then the split-operator approximation is accurate to
(which is much better). What Equation (3.68) is saying
is that we will work out the solution for half of the
step,
then all of the
step then the other half of the
step. The process we will follow is then:
- Solve half of the
step in
-space.
- Transform into
-space.
- Solve all of the
step in
-space.
- Transform back to
-space.
- Solve the other half of
in
-space.
- Giving the final solution.
Right, let's do it then.
The wavefunction
at time
is approximated by
 |
(3.69) |
Since
is evaluated in
-space, we define the function
 |
(3.70) |
and so we want to evaluate the effect of the kinetic exponential
acting on
. In other words
 |
(3.71) |
This is nasty in
-space, but easy in
-space, so we Fourier
transform:
![$\displaystyle \Phi(k) = \mathcal{F} \bigl[ \phi(x) \bigr] = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^\infty \phi(x) e^{-ikx} dx.$](img231.png) |
(3.72) |
After a lot of hard work, one can eventually show that
![$\displaystyle e^{-i \mbf{T}\delta_t/\hbar} \phi(x) = \mathcal{F}^{-1} \Bigl[ e^{-i T(k) \delta_t/\hbar} \Phi \Bigr],$](img232.png) |
(3.73) |
where we have defined the quantity
 |
(3.74) |
Therefore, the full propagation is described by:
![$\displaystyle \psi(x,t) \approx e^{-i V(x) \delta_t/2\hbar} \mathcal{F}^{-1} \B...
...hbar} \mathcal{F} \Bigl[ e^{-i V(x) \delta_t/2\hbar} \psi(x,t_0) \Bigr] \Bigr].$](img234.png) |
(3.75) |
And that's it, the solution evolves after jumping back and forth
between
- and
-space, but nevertheless solves a reasonably
difficult problem in an efficient and accurate manner.
Footnotes
- ...
equation3.12
- Yay!
Paul Cochrane
2002-04-18