Time-Dependent Schrodinger Equation in Python: Two Different Techniques

preview_player
Показать описание
In this video I solve the time-dependent Schrodinger Equation using two different techniques: (i) the finite difference method and (ii) the eigenvalue expansion method.

Link to code:

Time-Independent Schrodinger Equation:

Guitar Audio (Explanation of Finite-Difference Method):

Come join the discord server as well!
Рекомендации по теме
Комментарии
Автор

That was fantastic, and it was just at my level (perpetual undergraduate, now age 71). I did a lot of masses-and-springs realtime animation for fun, starting in Berkeley when I really was an undergrad, and continuing for years after on my own, so I'm very familiar with the concepts of discrete space and time. I particularly liked where you put the units back in! I just never really got around to doing that. And by the way, when I tried to visualize the Schrodinger equation instead of the classical harmonic oscillator, at that time I did not understand that setting the initial conditions had to be done carefully to avoid a jumble of mixed eigenstates evolving at different frequencies. In the Schrodinger case I could not tame that to get a nice-looking time evolution, so I put it aside and have only done a few plots of that in Mathematica over the years.
Thanks so much for putting up these videos. They are perfect from my personal point of view.

RalphDratman
Автор

This video single-handedly saved a big chunk of my undergrad thesis. Thanks a lot for all the efforts you put in to make these wonderful videos!

SwagatPanda
Автор

Absolutely great videos! Keep it up please! It would be cool to see 2D version of time-dependent Schrodinger equation as well

gianmarcocaramitti
Автор

How can someone put so much effort into a one video?

joseftrojan
Автор

Thanks for putting this out there. It's good that you used two different methods so as to use one to check the other.

kgblankinship
Автор

Could you make a video using ML in physics problems soon? That would be really interesting. Amazing work so far tho. Keep it up! Looking forward to all future content as they help me with using python for physics.

darylryanchong
Автор

You're rap is on fire and supercool in the same state.

leon_noel
Автор

Does your wavefunctions preserve total probability at each time step? It seems like when you have large peaks in the center, they do not, but it is hard to tell. Just by eye This simplest version of the Euler method is likely to have numerical instabilities, especially with loss of unitarity. In principle, the eigenstate method should not, but because of the hard walls, once the energy eigenstates have reasonable weight in the outer region, the approximation as a solution of the Gaussian potential starts to fail. There are ways to handle the infinite tails as well, instead of forcing them into the box as you have done. As long as you do not occupy very high energy states it should be ok. So, I am guessing the small step sizes you take are needed to get reasonable accuracy for the problems you looked at. It is a lot of time steps.

quantumeveryone
Автор

Thanks i was needing this for a project.

rfal
Автор

Amazing. There must be a upper limit for m and L beyond which the QM would "break down"? Say, m is the mass of the sun and L the 'size' of the solar system. The classical QM interpretation suggests the sun is only there if you look at it.

kusy
Автор

You used linear superposition method in the second method. How many wave functions you superposed?

rajkumarchakraborty
Автор

Nice work.could please do some videos on boundary element methods?thanks in advance

austineadah
Автор

wait if this about probability density function (PDF), as |psi(x)|^2. isn't the total PDF should be 1? but here the graph shows more than 1? i don't understand the concept sorry

nazirulhakimyunsi
Автор

How about Bloch's theorem? Good work!

NaneRulz
Автор

Many thanks for your great and useful videos. I think there is a mistake in your compute_psi fonction. To normalize psi[t+1] shoudn't you divide by np.sqrt(normal) instead of dividing by normal ?

heliflyjack
Автор

Please share some of numerical problems on Time dependent Schrodinger wave equation. Thanks

AliKhan-nryp
Автор

Won‘t the wavefunction After some time reach a stationary state again?

s.v.
Автор

Thanks for this! Do u know of John L. Richardson's 1990s Java_Applet simulations of quantum scattering?

Fisix_org
Автор

How do you code the time step in finite difference for more dimensions: In one u say is : psi[t][i] + 1j/2 * dt/dx**2 * (psi[t][i+1] - 2*psi[t][i] + psi[t][i-1]) . And if there is kinetic energy move, does it appear on time step function or there is no need because it is implicit in the initial PSI gaussian wave packet ?

YedaiHomeostatico
Автор

Shouldn't In [12] of your jupyter notebook change?
psi[t+1][i] = psi[t+1][i]/normal
be
psi[t+1][i] = psi[t+1][i]/normal**0.5
instead?

hoseinbarati