Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Author:
Federico Cardenas fjc443
Professor:
Dr. Graeme Henkelman
fjc443
Introduction
Numerical simulations have become an important tool to understand and explain physical
phenomena that otherwise would be difficult and extenuating to treat. Nevertheless, these
numerical methods are not infallible and, in order to use them in the most efficient manner,
we need to understand their applicabilities as well as their limitations. As an exercise on these
regards, we will try to solve a fundamental problem on quantum mechanics using numerical
methods, namely the time-evolution of the Schrdinger equation (SE) using the split-operator
method. Understanding and modeling the dynamics of the SE has enormous applications
in quantum chemistry and the physical sciences and even though most of the contemporary
research is related to the complications of the many-body problem, understanding the behavior
of a single particle still is useful when approximations from a many-body to a one-body problem
are made. In the present study we will focus on the time-evolution of a single particle under
different time-independent potentials. The reason to do so is to restrict the scope of our work
to a simple and easy to model problem.
i~
(1)
i
(x, t) = U (t)(x, 0) = e ~
Rt
0
H(t0)dt0
(x, 0)
(2)
where U (t) is the time-evolution operator that translate the wavefunction forward in time by
an amount t.
U (t)|(0)i = |(t)i
(3)
fjc443
As we can easily see, U (t) is unitary. It is formally defined for a infinitesimal time translation
as
i
U (dt) = 1 Hdt
~
(4)
i t
U (t) = lim 1 H
N
~
N
N
= eiHt/~
(5)
The effect of the time-evolution operator on the energy eigenstates of a system can be easily
obtained by using the Taylor expansion of the exponential. The action of it reduces to,
(6)
This means that if we can diagonalize the Hamiltonian for a given system we can calculate the
time-evolution for any initial wavefunction |(x, 0)i by representing it in the eigenenergy basis.
|(x, 0)i =
an |En i
(7)
an |En i
n
X
an eiEn t/~ |En i
n
(8)
We can see that the time-dependent wavefunction can be analytically calculated as long as the
Hamiltonian is diagonal. Lets see an example for a known time-dependent wavefunction
fjc443
Lets take the easiest Hamiltonian in which the potential, V (x) = 0, and we are left only with
the kinetic energy.
2
2
2
= p = ~
H
2m
2m x2
(9)
The initial state, (x, 0), is a Gaussian wavepacket with a propagation wavevector k0 .
x2
1
(x, 0) = q e 22 +ik0 x
(10)
is the standard deviation and the normalization factor has already been included. The
eigenfunctions, (k), of the Hamiltonian (9) are plane waves with energies given by the relation
p = ~k.
(k) = eikx
(11)
~2 k 2
2m
(12)
Ek =
Another way of saying this is that the Hamiltonian (9) is diagonal in k-space, or Fourier space.
The time-evolution is simply given by multiplying the wavefunction (11) times the phase factors
eiEk t/~ .
i~k2 t
2m
(k, 0)
(13)
fjc443
"
(k k0 )2 2
exp
(14)
vp
Ek
~k
=
=
k
~k
2m
(15)
To get the wavefunction in real space, (x, t), we just calculate the inverse Fourier transform
of (13), now that we have the expression for (k, 0).
(x, t) = F
where (t) =
2
2
{(k, 0)} =
"
(x ik0 2 )2 k02 2
exp
2 (t)
4(t)
2
(16)
i~t
.
2m
"
1
(x k0 t)2
|(x, t)|2 =
exp
(t)
2 (t)
r
(t) =
2 +
~t
m
2
(17)
Equation (17) has been plotted for four different times in figure 1. The wavepacket moves to
the right, but the fact that each plane wave that conforms the wavepacket propagates at a
different speed produces a dispersion phenomenon that can be easily seen in the spreading of
the wavepacket given by
(t).
fjc443
The previous example was solved analytically because we knew the eigenenergies of the Hamiltonian; however, if we are incapable of diagonalizing the Hamiltonian analytically, we have to
approximate the time-evolution operator, U (t), in order to propagate the wavefunction in time.
Then, after discretization of time in small intervals t, we can apply the operator successively
to obtain the wavefunction n (x) at a time t = nt.
We can make several approximations, but for the purpose of brevity we will choose the one
whose numerical implementation is the easiest. The approach consists in splitting the operator
in two main parts, one that contains the kinetic energy part of the Hamiltonian, and another
that contains the potential energy.
it
itV
itT
itV
U (t) = e ~ (T +V ) = e 2~ e ~ e 2~ + E(t3 )
(18)
fjc443
E(t3 ) =
h
ii
it3 h
, V , T
V
+
2
T
24~3
(19)
T and V do not have to commute. If they commuted, then the expression (18) would be exact.
This second order splitting is known as Strang splitting and it can be applied to different types
of operators.
The reason tosplit the
exponential in two different exponentials is that the operator
itV
therefore exp ~ , is already diagonal in real space. The same applies for T,
is diagonal in momentum or k-space. The application of these individual operator
wavefunction expressed in real space or k-space is exact.
itV
~
itT
~
|(x)i = e
itV (x)
~
|(x)i
|(k)i = e
itT (k)
~
|(k)i
V , and
whichh
for the
To go from (x) to (k) we can use a Fast Fourier Transform (FFT) algorithm and an inverse
FFT to go from (k) to (x). The general algorithm is quite simple. For each time step we
apply the three operator on the wavefunction expressed in the corresponding space. Starting
with (x, 0) as the initial wavefunction 0 (x),
n+1 (x) = e
itV (x)
2~
itT (x)
~
itV (x)
2~
n (x)
(20)
fjc443
A (x) = e
itV (x)
2~
n (x)
itT (k)
~
A (k)
{B (k)}
itV (x)
2~
B (x)
The functions A (x), A (x), B (x), and A (x) are temporal functions that we can either store
or overwrite. We could be interested in storing i (k) to have the wavefunction in k-space. The
implementation of the algorithm was done on Matlab. The .m files can be found as an annex
to this paper.
Results
To show the applications of the Split-Operator Method we will propagate in time a Gaussian
wavepacket under different potentials. First, we will use a simple potential barrier to see how
the barrier height affects the transmission and reflection of the wavepacket. Then, we will see
how the Gaussian wavepacket behaves in a parabolic potential. For each case there is a video
file showing the time-evolution of the wavepacket.
5.1
Potential Barrier
We begin with a simple potential barrier. Figure 2 shows the propagation of a Gaussian
wavepacket over a barrier of height 100 Ry (see video file Barrier-w10h100.mp4). We can see
that the discretization of the wavefunction introduces some small errors. As the propagation
time increases the errors in the wavefunction become more visible as variations in the envelope.
Nevertheless, the behavior and the evolution of the wavepacket agrees with what we would
expect. As the Gaussian travels to the right and interacts with the barrier, a small portion of
it gets reflected traveling to the left and the other bigger portion continuous its displacement
to the right. Interaction occurs at the interfaces of the barrier. That is, at the beginning and
at the end. This can be more easily seen in the video. The velocity of the wavefunction is
also reduced in the inside of the barrier. This also agrees with the expected behavior as the
7
fjc443
fjc443
fjc443
5.2
Parabolic Potential
Now, we simulate the Gaussian wavepacket inside a parabolic potential (figure 5, video HarmProb.mp4) . The initial wavepacket is located at the center of the parabola and then it moves to
the right. As it goes farther into the right, it slows down until it stops and changes directions.
This is the behavior one would expect for a classical particle. The main quantum effect, however,
is that the width of the Gaussian changes as it moves. The exact reason for this behavior is not
well understood by the author of the paper. However, we can say that the standard deviation
is the smallest in the potential minimum, and it is the largest for the extrema of the oscillation.
As the momentum of the packet reaches zero, the uncertainty on x increases.
Figure 6, video Harm-Real.mp4 show the real part of similar wavefunction. As it is possible
to see, the apparent frequency of the wavefunction increases as it stops. We can attempt to
explain this by comparing the group velocity, vg against the phase velocity, vp .
vg
(E/~)
=
k
k
(21)
10
fjc443
Figure 6: Real part of a Gaussian wavepacket with k0 = 6 a0 1 and = 0.5 a0 inside a parabolic
potential. The graph shows the wavefunction at 4 different times.
vf
(E/~)
=
k
k
(22)
Since the energy should be constant, although it is a sum of the potential plus the kinetic
terms that do change in time, the phase velocity increases arbitrarily as k passes trough zero
and changes direction. This phase velocity is the speed at which the individual waves of the
wavefunction travel and therefore it is related to the their frequency. The group velocity, on
the other hand, decreases to zero and the increases again as it is proportional to k.
vg =
~k
m
(23)
After observation of the graphs, a concern regarding the numerical simulation arises. For all
the calculations a step size dx = 0.1 has been used. However, the rapid oscillation of the
wavefunction demands a smaller step to decrease some of the errors that can be observed on
the shape of the wavepacket.
11
fjc443
Conclusions
The Split-Operator Method has proven useful to simulate the time-evolution of a Gaussian
wavepacket with different time-independent potentials. Since the implementation of the method
is straightforward and the errors can be well managed, this method may be used as a first
approach to more complicated and accurate time-propagation methods. To conclude we present
a table of the properties of this method compared with other methods.1
Method
Split-Operator
Norm
Unitary
Energy
Not conserved
Stability
Stable
Error type
Commutator
Error scaling Cube
Hamiltonian No mixed terms
Second-Order
Differencing
Unitary
Conserved
Unstable
(En /t)3
Quadratic
No restriction
Chebyshev
Lanczos
Not Unitary
Unitary
Not conserved
Conserved
Unstable
Stable
Arbitrary accuracy Arbitrary accuracy
Exponential
High-order
Time-independent No restriction
Table 6.1: Comparison between time-propagation methods for the Schrdinger equation
References
[1] Leforestier, Claude, et al. A comparison of different propagation schemes for the time
dependent Schrdinger equation. Journal of Computational Physics 94.1 (1991): 59-80.
[2] Townsend, John S. A Modern Approach to Quantum Mechanics. New York: McGraw-Hill,
1992.
12