Time-Dependent Schrodinger Equation in Python: Two Different Techniques

Поделиться
HTML-код
  • Опубликовано: 11 июл 2024
  • 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:
    github.com/lukepolson/youtube...
    Time-Independent Schrodinger Equation:
    • Eigenstates of ANY 1D ...
    Guitar Audio (Explanation of Finite-Difference Method):
    • I Generated Guitar Aud...
    Come join the discord server as well!
    / discord
  • НаукаНаука

Комментарии • 65

  • @joseftrojan7664
    @joseftrojan7664 3 года назад +11

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

  • @RalphDratman
    @RalphDratman Год назад +6

    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.

  • @swagatpanda23
    @swagatpanda23 Год назад +14

    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!

    • @walnutstreet9857
      @walnutstreet9857 7 месяцев назад +2

      Same here, I am following his videos for my thesis

    • @nazirulhakimyunsi8424
      @nazirulhakimyunsi8424 3 месяца назад

      same here, btw if you don't mind can you share your thesis. i just want to refer and validate my work

  • @gianmarcocaramitti6073
    @gianmarcocaramitti6073 3 года назад +15

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

    • @MrPSolver
      @MrPSolver  3 года назад +4

      Definitely at some point in the near future!

  • @hsh7677
    @hsh7677 3 года назад +4

    The best of the best!!!
    Keep it up!!

  • @kgblankinship
    @kgblankinship Месяц назад

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

  • @blackguardian89
    @blackguardian89 3 года назад +2

    Very good tutorial! Thank you!

  • @r4fa3l59
    @r4fa3l59 2 года назад

    Thanks i was needing this for a project.

  • @darylryanchong9099
    @darylryanchong9099 3 года назад +5

    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.

  • @brunoleopold4185
    @brunoleopold4185 2 года назад +1

    really helpful.. thanks a lot!!

  • @mohemmedbakhiet8905
    @mohemmedbakhiet8905 2 года назад +1

    Great Video! thanks a lot

  • @Lusypher
    @Lusypher 3 года назад +1

    Thanks pal!

  • @leon_noel1687
    @leon_noel1687 Год назад

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

  • @austineadah2843
    @austineadah2843 2 года назад +1

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

  • @lpedroza
    @lpedroza 3 года назад

    Nice video. You are my new hero..... a big thank you for this excellent explanation. I just subscribe a few seconds ago to your channel. Do you have some python or pseudocode about Maxwell Field equations? Thank you in advance...

  • @sahanajaktar1591
    @sahanajaktar1591 Год назад

    Awesome work! is it possible to parallelize the code using MPI and without using numba??

  • @Fisix_org
    @Fisix_org Год назад

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

  • @kusy
    @kusy 2 года назад

    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.

  • @lookaway8496
    @lookaway8496 2 года назад

    can you do a video on 1D and 2D DVR method also? particularly on a quantum dynamics problem?

  • @tulpamedia
    @tulpamedia Месяц назад

    Schrodinger rap is wild haha

  • @NaneRulz
    @NaneRulz 3 года назад +1

    How about Bloch's theorem? Good work!

  • @monsterra4841
    @monsterra4841 2 года назад

    could you recommend a computational chemistry textbook which covers basic of computation then goes to advance computation?

  • @YedaiHomeostatico
    @YedaiHomeostatico 2 года назад

    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 ?

  • @heliflyjack8389
    @heliflyjack8389 6 месяцев назад

    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 ?

  • @AliKhan-nr4yp
    @AliKhan-nr4yp 5 месяцев назад

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

  • @rahulagarwal2555
    @rahulagarwal2555 2 года назад

    Hey... Can you guide me about how to extract the velocity of wavefunction using its angle?

  • @giovannisilvadesouza6968
    @giovannisilvadesouza6968 Год назад

    nice

  • @rajkumarchakraborty7003
    @rajkumarchakraborty7003 2 месяца назад

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

  • @Fuxx90
    @Fuxx90 2 года назад

    Would this also work for time-varying potentials?

  • @user-er1lo1hj4x
    @user-er1lo1hj4x 3 года назад +1

    Hello..I am a PhD student in physics from Iraq..I hope you can help me find codes in the Python program to study the Fe(II)particle (ising model 2D)to determine the spin crossover of the electrons and find the energy..with many thanks to you.

  • @madmaths2568
    @madmaths2568 Год назад

    Hi, pls could you solve reaction-diffusion and reaction-cross-diffusion PDEs in Python?:) Maybe a system of them in 1D?

  • @not-so-fast
    @not-so-fast 9 месяцев назад

    Could a 2 dimensional space version be done with matplotlib with the x, z axis as space and y axis as probability density?

    • @not-so-fast
      @not-so-fast 9 месяцев назад

      I mean i don't know if that's useful to study, but it would look very cool with the colormap parameter

  • @quantum4everyone
    @quantum4everyone Месяц назад

    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.

  • @youngidealist
    @youngidealist 2 года назад

    How can I make this 3d for a small system of a neutral hydrogen atom (a proton and an electron)?

  • @thecardtrickmast3r802
    @thecardtrickmast3r802 2 года назад

    Why are we not considering the units of the wavefunction?

  • @jxchtajxbt53
    @jxchtajxbt53 3 года назад

    How about doing the Dirac equation for Hydrogen Atom and then Helium Atom?

    • @jxchtajxbt53
      @jxchtajxbt53 3 года назад

      BTW - Your videos are Awesome!

  • @lakshyabhardwaj3222
    @lakshyabhardwaj3222 Месяц назад

    What boundary conditions did you use ?

  • @nazirulhakimyunsi8424
    @nazirulhakimyunsi8424 2 месяца назад

    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

  • @SuperDeadparrot
    @SuperDeadparrot Год назад

    Don’t you need to keep in mind that psi * conjugate( psi ) = 1 when integrated over all of space?

  • @s.v.8662
    @s.v.8662 Год назад

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

  • @Gbzildo
    @Gbzildo 2 года назад

    Imagine this guy meeting andrew dotson

  • @mathematoligiser-iserist2007
    @mathematoligiser-iserist2007 Год назад

    I will watch your rapping career with great interest.

  • @hoseinbarati3342
    @hoseinbarati3342 11 месяцев назад

    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?

    • @TueteKaffee
      @TueteKaffee 7 месяцев назад

      No, I don't think so. Essentially, when normalizing a wave function you divide by < psi | psi >, which in the discrete position space we use here becomes a sum over all the wave functions times their complex conjugate. So, it's something like sum(psi * psi_cc) with psi_cc being the complex conjugate of psi. But the argument of the sum is exactly the definition of the absolute square, which is used in [12].

  • @samueldeandrade8535
    @samueldeandrade8535 5 месяцев назад

    Man, this guy is handsome.

  • @h.m.m3262
    @h.m.m3262 Год назад

    Peace be upon you Oh teacher
    Professor I have a question if you can help me I will be grateful
    Let's say we have a series made up of :
    X=[(n/1),(n/2),(n/3),..., (n/n)]
    How do I tell Python to get me natural numbers (meaning non-fractional numbers) from this series if the value of n=100

    • @TueteKaffee
      @TueteKaffee 7 месяцев назад

      I know it's more than a year ago but I had a few minutes :D
      n = 100
      x = []
      for i in range(n):
      x.append(n/(i+1))
      if x[i] % 1 == 0:
      print(x[i])
      That's the simplest way I found :D

  • @diegoalejandropalacios5330
    @diegoalejandropalacios5330 2 года назад

    por que no me hace la animacion?

  • @karnabalaj9036
    @karnabalaj9036 3 года назад +1

    Mr p the discoed invite is expired. Can u reshare a new one

    • @MrPSolver
      @MrPSolver  3 года назад

      Fixed. Let me know if there are any issues

  • @benburdick9834
    @benburdick9834 3 года назад +5

    smh, implying Schrödinger didn't get any. That man was a player on par with Feynman.

    • @MrPSolver
      @MrPSolver  3 года назад +2

      Basically had two wives right? And my comment was purely about Schrodinger's cat ;)

  • @heliflyjack8389
    @heliflyjack8389 6 месяцев назад

    Sorry, psi0 IS already normalized

  • @heliflyjack8389
    @heliflyjack8389 6 месяцев назад

    And psi0 should also be normalized.
    Emmanuel

  • @youngidealist
    @youngidealist 2 года назад +1

    Would you be interested in being on a team that develops entertaining and passively educational videogames? I've got a pitch and I need someone with a skillset like yours if I can get funding.

  • @harp-692
    @harp-692 3 года назад +2

    Would you date a girl who doesnt know shit about Physics?

    • @TheButterMinecart1
      @TheButterMinecart1 2 года назад +1

      There is little correlation between your knowledge of physics and your worth as a human being.

  • @kazimirmalevich6712
    @kazimirmalevich6712 2 месяца назад +1

    A very bad choice of numerical methods. No one uses them in practice because they are neither accurate nor stable.

  • @harpreetsinghchahal2118
    @harpreetsinghchahal2118 2 года назад +1

    psi_js.T@(cs*np.exp(-1j*E_js*t))
    how this work ?

    • @TheButterMinecart1
      @TheButterMinecart1 2 года назад

      @ is the symbol for matrix multiplication, it's a way of doing the sum efficiently in Python.