Está en la página 1de 13

University of Texas at Austin

Introduction to Computational Methods in Chemistry

Time-Evolution of the Schrdinger Equation.


The Split-Operator Method

Author:
Federico Cardenas fjc443

Professor:
Dr. Graeme Henkelman

April 29, 2014

fjc443

April 29, 2014

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.

The Time-Dependent Scrdinger Equation

We start with the time-dependent Scrdinger equation (TDSE),

i~

|(x, t)i = H|(x,


t)i
t

(1)

The solution of the TDSE is

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

April 29, 2014

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)

For a finite translation in time, we just apply U (dt) N times as N ,

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,

eiHt/~ |Ei = eiEt/~ |Ei

(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)

By applying the time-evolution operator to this state we get,

|(x, t)i = eiHt/~


|(x, t)i =

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

April 29, 2014

Example: Free Propagation of a Gaussian Wavepacket

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/~ .

(k, t) = eiEk t/~ (k, 0) = e

i~k2 t
2m

(k, 0)

(13)

(k, 0) is just the Fourier Transform of (x, 0).

fjc443

April 29, 2014

(k, 0) = F{(x, 0)} =

"

(k k0 )2 2
exp

(14)

The wavefunction in k-space is a Gaussian displaced by k0 , which is easier to understand than


the wavefunction in real space. We will have a continuous distribution of plane waves, but they
will obey a Gaussian distribution with mean k0 . The average k of the wavefunction will be k0
and this will cause (x, t) to move in time with an average k0 . The phase velocity, vp for each
plane wave will be

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

We can calculate the probability distribution

"

1
(x k0 t)2
|(x, t)|2 =
exp

(t)

2 (t)
r

(t) =

2 +

~t
m

2

(17)

is the new time-dependent standard deviation.

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

April 29, 2014

Figure 1: Free propagation of a Gaussian wavepacket with k0 = 4 a1


0 and = 1 a0 . Atomic
units are used for the calculations.

Numerical solutions: The Split-Operator Method

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)

The error is given by the commutator,

fjc443

April 29, 2014

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)

For each individual time step, t, we perform the following operations,

fjc443

April 29, 2014

A (x) = e

itV (x)
2~

n (x)

A (k) = F{A (x)}


B (k) = e
B (x) = F
n+1 (x) = e

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

April 29, 2014

Figure 2: Propagation of a gaussian wavepacket with k0 = 4 a0 1 and = 0.5 a0 over a potential


barrier of heigh 100 Ry and width 10 a0 . The graph shows the wavefunction at 4 different times.
kinetic energy is reduced while traveling through the barrier. With this simulation we can also
see that a small portion of the wavefunction gets trapped inside the barrier and escapes more
slowly trough a series of transmissions while bouncing inside, between the walls.
If we now increase the barrier height to 200 Ry (figure 3, video file Barrier-w10h200.mp4) we can
see that the size of the reflected wavepacket increases while the transmitted decreases in size. It
is worthwhile mentioning that the system is periodic in x and therefore the first reflected packet
may then hit the barrier from right for long times. This is what happens for the wavefunction
at t = 1 for both figures 2 and 3 where the brown wavefunction includes both the right-traveling
packet as the left-traveling packet about to collide.
To see if complete reflection can occur we have simulated the same wavepacket interacting
with a 500 Ry barrier. As figure 4 shows (video file Barrier-w10h500.mp4), the Gaussian is
completely reflected in the x direction so that it eventually will collide with the barrier from
the right.

fjc443

April 29, 2014

Figure 3: Propagation of a gaussian wavepacket with k0 = 4 a0 1 and = 0.5 a0 over a potential


barrier of heigh 200 Ry and width 10 a0 . The graph shows the wavefunction at 4 different times.

Figure 4: Propagation of a gaussian wavepacket with k0 = 4 a0 1 and = 0.5 a0 over a potential


barrier of heigh 500 Ry and width 10 a0 . The graph shows the wavefunction at 4 different times.

fjc443

April 29, 2014

Figure 5: Propagation of a Gaussian wavepacket with k0 = 4 a0 1 and = 0.5 a0 inside a


parabolic potential. The graph shows the wavefunction at 4 different times.

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

April 29, 2014

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

April 29, 2014

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