Quantum Time Evolution Using the Split Operator Fourier Transform Algorithm (English)

Flash and JavaScript are required for this feature.

Download the video from Internet Archive.

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.

Free Downloads

Video


Caption

  • English-US (SRT)