STUDENT: So you're probably
all familiar with the field
measured in this paper
here by Shrodinger,
which is a quantum theory.
And you surely also
know that the students
have a lot of
problems visualizing
it, and understanding its
behavior in some intuitive way.
For example, you know
the tunneling effect.
And you won't expect a
classical cat to just tunnel
through potential wall.
What I am going to show
you in this presentation
is an algorithm called the
split operator Fourier transform
algorithm, which can be used
to describe quantum tunnel
evolution, and therefore, for
example, the tunneling effect.
And I think that it also
might be interesting for you
as material scientists, on the
one hand, because you might
be interested in time
evolution of your properties,
especially for nanosystems,
quantum systems.
But on the other
hand, I will show you
iteration of this
algorithm which can also
be used to derive
other algorithms,
like the [INAUDIBLE] algorithm.
And you also see some
methods to judge you
how good a simulation is.
And I think that might be useful
for you if you [INAUDIBLE]
want to do some simulations
on other systems.
So in doing this, we are going
to start at the foundations,
which is Schrodinger equation.
In it's time-dependent
version, it looks like this.
So you have your state.
And then you derive it after t.
And then it's the same.
Like, if you apply your
Hamiltonian to a state t,
and if you integrate
this equation here
for time-independent
Hamiltonian,
you get this equation
here which tells you
that, if you apply this
thing here with a Hamiltonian
exponential to your
state at time zero,
you get out your
state at time t.
And you do this behavior
as it propagates a wave
function from time 0 to time t.
We call this object
here propagator.
And this object will be the
main focus of this review.
And if you don't
know, this Hamiltonian
here gives us the total
energy and is [INAUDIBLE]
out of two parts, mainly kinetic
part and the potential part.
And in general, you
write this kinetic part
here with the momentum,
so it tells you
how fast the cat moves.
And the potential
part is some function,
in most cases of x,
which is your coordinate
in the classical Cartesian
space, for example.
And it tells you how
your potential looks
like in which the cat moves.
So let's focus on
the propagator.
And the first thing
you might write
is that you don't do the
huge step from time 0
to time n in one step.
So you might think, if your cat,
your system, a number of small
kicks to go in that way
from time 0 to time t.
And you can write this down
by using just a small time
step, epsilon, which
is t, your whole time,
divided by number of steps.
And then you do this n
times, one after another.
So you might ask,
does it help us?
And the answer is,
unfortunately, no,
because we still don't
know how to compute
the application of this
operator to some general stage.
So a second thing you might
ask, OK, I know my Hamiltonian
looks like this.
So I have a kinetic
part, a potential part.
Might I be able to just
write this propagator down
as a product of two propagators,
so one for the kinetic part
and one for the potential part?
And this still isn't
true and helpful
because we don't know
if this is really
a true rewriting, because,
in general, quantum mechanics
operators don't
[INAUDIBLE] place or a row
which all of your [INAUDIBLE].
So but the world isn't that bad.
Schrodinger gave us
an equation which
helps us to do this time
evolution in quantum mechanics.
And it's this split
up equation here.
And it tells us, if you
use, for example, this split
up here, so half a
time step in potential,
and a full time
step in kinetics,
and half a time step
in the potential,
and if you do this for an
infinite number of times,
this is really, really,
really time steps, it
is an exact rewriting of
the original equation.
So this is really
helpful, because now we
know that this is a controllable
approximation which get better
if we use more time steps.
Up to here, we're
all totally abstract.
So we just use Dirac
notation for our state, psi.
And if you don't know
this equation here
or this form of writing
this down, don't bother.
It's just Dirac's
notation, and just tells us
that we now go from
a general state, psi,
to a more-- to a basis.
We project into a
coordinate representation,
to a coordinate basis.
And this gives us then our
state psi at some position x0,
if I predict onto x0, for
example, here, [INAUDIBLE]
here.
And after some algebra,
which is really, if we could,
I will show you this in a
note which I will provide you
with, you see that you get
this equation out here, which
is the most important one.
And this [INAUDIBLE] cross
just gives us our algorithm.
So we start with
our wave function
in some current
representation at time zero.
Then we apply our
potential propagator,
which looks similar to what we
had here for half a time step.
And then we have two
interesting parts here,
because we have integrals
with some special form.
And you hopefully recognize that
these two integrals are just
Fourier transforms.
So we start here on
coordinate representation,
and then Fourier transform
it to our momentum basis.
And in the momentum
basis, we then
apply our kinetic propagation,
which has a p in it.
And then we go back
from momentum basis
to quantum basis using a
Fourier transform again,
and then can apply our
potential propagation
a second time to
complete the time step.
If you write it down in an
algorithm, it looks like this.
It's really simple,
just a few lines.
So we started from our state
in some coordinate basis.
Then we have to use a grid
to discretize our system,
and so we have some points
on which we compute the time
evolution on.
And then we just apply this
exponential operator here,
this potential propagator
for half a time step.
Then we do this Fourier
transform into our momentum
basis in which a
cat maybe doesn't
look that familiar to us
because we are more used
to a coordinate representation.
Here we can then apply our
potential-- our momentum
propagation.
So you have here your momentum
squared and then a time step,
and then just go back to the
coordinate representation
via a inverse Fourier
transform, and then
can apply the last
half time step
for our potential propagation.
And this is the algorithm
which is still used today,
although it's so
simple it's often
used as a benchmark
for new approximations.
So let's apply it to some
real examples, for example,
for a free wave packet.
And what I show here is the wave
packet of two different masses.
So here I have a lighter one.
And here I have a heavy one.
And what you see in
red is [INAUDIBLE]
is the probability density
in Bond's interpretation
of quantum mechanics.
And in blue you have
the wave function.
And what you see is that both
wave functions oscillate,
but this here remains
localized, whereas this here
tends to spread out
in the space it has.
And this is some general
behavior of quantum systems.
And it's closely linked to
what you call in German,
[SPEAKING GERMAN],,
which is, in English,
the Heisenberg
Uncertainty Principle,
and which tells you that you
have problems with studying
quantum systems at state
[INAUDIBLE] localize.
So they tend to spread out.
And it's just what you see
here, the classical system,
the heavy one tends to be
localized on this timescale
which we study, whereas this
light one tends to spread out
in the space it has.
And what you also
see here is that we
study two additional
properties of our system, which
are the norm and the energy.
And we do this to check if
our simulation is correct.
So you know that psi's
corrective [INAUDIBLE]
and probability density
and the probability
to find your system
somewhere should remain
constant of the simulation.
Similar holds for the energy,
which should remain constant
over the simulation, as we
don't add or remove energy
from our system.
Therefore, this should
always remain constant.
So these are two useful things
to study of your simulation
to see if it really shows
you real behavior or not.
So a more complicated
example might
be using one potential wall.
And you probably have seen
in your quantum mechanics
introduction course that there
is this tunneling effect,
and that it shows
some dependence
on the height of the barrier.
So this is what
you can see here.
Maybe it's the first
time you see this
really in some animation.
So you see that for height area,
which is shown here on top,
some part of-- or most
of the wave function
just gets reflected and can't
tunnel through the wall,
whereas for the small potential
wall, most of the packet
can just travel
through the wall.
And therefore, you have
now these more complicated
interference patterns.
Of course, you have this
transmittance and also
periodicity of the system, which
then gives this interference
pattern here.
A even more complicated
example would
be if you applied
two potential walls.
And again, [INAUDIBLE] wave
packet in the middle and then
let it evolve in time.
We just apply our split
operator algorithm.
And then we see
that it sometimes
encounters the first wall.
And here we see, again,
a part gets reflected
and a part passes through wall.
But what you also can see here,
as was in the previous example,
we have some problems
in energy conservation.
So with these settings
here, the simulation
is probably not the best one.
So you might ask, how
can I improve this?
And the first thing one might
try is using another time step.
So in total, you can
show that the time step--
[INAUDIBLE] time step is
connected to your error
with the order of three.
So you might try a small
time step, which I did here.
And it takes much longer to
compute this evolution then.
And unfortunately, you
see that you basically
get for this system here
basically the same evolution,
which tells us that this
time step was appropriate
or good enough to
study the system.
So the second thing
one might try, OK,
one might use a finer grid.
And then it gets really
expensive, which is also
the main drawback
of this algorithm,
that it really gets expensive
as you go to more dimensions.
So I had to run the
simulation here over night.
And I also only used
half of the total time.
And I also didn't save
this animation here,
because it would just
take too much memory.
And I don't know the
computer could do this.
So what I will show you here is
the last step of the simulation
here.
And then we will compare
it to the old simulation
and see whether it's
at the same state here
and just compare the energy
convergence of both cases.
And I think it's now
at the same stage.
And you see that here we
have a much better energy
difference compared to an
initial state than here.
So this might be a way to
improve our simulation,
although you always
have this tradeoff
between time-step
size, grid size, grid
spacing, and simulation time.
So you always have
to consider if you
want to do this
heavy calculations
or if you could use fine--
less fine settings to
get the same results.
So what I have shown
you in this video
is how to go to
an algorithm which
you can use to study
quantum dynamics
with control [INAUDIBLE]
approximations,
because we exactly know where
we introduce our approximation.
And we introduce
our approximation
at the Trotter split up.
And we exactly know how large
this error is at the step.
We then saw two applications
in quantum mechanics, which
are to the uncertainty principle
and to the tunneling effect.
And then we also saw
two methods which
you can use to judge the
convergence of your simulation.
And then we got a bit of
a feeling of the influence
of grids, and time
steps, and the tradeoff
between simulation time and how
accurate your results will be.
I hope that it might
be helpful for you
and you might remember
part of this presentation.
If you study molecular
dynamics for example,
you might see some similarities
between the [INAUDIBLE]
operator formalism and this
formalism I showed you here.
I hope also this was enjoyable.
I have a bit of
a cold, so I hope
you understood everything,
although my voice isn't
that clear.
