Time-Dependent Schrodinger Equation in Python: Two Different Techniques

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ม.ค. 2025

ความคิดเห็น • 65

  • @RalphDratman
    @RalphDratman ปีที่แล้ว +8

    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 2 ปีที่แล้ว +16

    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 ปีที่แล้ว +2

      Same here, I am following his videos for my thesis

    • @nazirulhakimyunsi8424
      @nazirulhakimyunsi8424 9 หลายเดือนก่อน

      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!

  • @kgblankinship
    @kgblankinship 7 หลายเดือนก่อน

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

  • @joseftrojan7664
    @joseftrojan7664 3 ปีที่แล้ว +11

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

  • @hsh7677
    @hsh7677 3 ปีที่แล้ว +4

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

  • @leon_noel1687
    @leon_noel1687 ปีที่แล้ว

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

  • @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.

  • @r4fa3l59
    @r4fa3l59 3 ปีที่แล้ว

    Thanks i was needing this for a project.

  • @blackguardian89
    @blackguardian89 3 ปีที่แล้ว +2

    Very good tutorial! Thank you!

  • @tulpamedia
    @tulpamedia 7 หลายเดือนก่อน +1

    Schrodinger rap is wild haha

  • @quantum4everyone
    @quantum4everyone 7 หลายเดือนก่อน

    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.

  • @AliKhan-nr4yp
    @AliKhan-nr4yp 11 หลายเดือนก่อน

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

  • @kusy
    @kusy 3 ปีที่แล้ว

    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.

  • @rajkumarchakraborty7003
    @rajkumarchakraborty7003 8 หลายเดือนก่อน

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

  • @Fisix_org
    @Fisix_org ปีที่แล้ว

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

  • @heliflyjack8389
    @heliflyjack8389 ปีที่แล้ว

    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 ?

  • @brunoleopold4185
    @brunoleopold4185 2 ปีที่แล้ว +1

    really helpful.. thanks a lot!!

  • @nazirulhakimyunsi8424
    @nazirulhakimyunsi8424 8 หลายเดือนก่อน

    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

  • @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 ?

  • @lakshyabhardwaj3222
    @lakshyabhardwaj3222 7 หลายเดือนก่อน

    What boundary conditions did you use ?

  • @austineadah2843
    @austineadah2843 2 ปีที่แล้ว +1

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

  • @NaneRulz
    @NaneRulz 3 ปีที่แล้ว +1

    How about Bloch's theorem? Good work!

  • @not-so-fast
    @not-so-fast ปีที่แล้ว

    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 ปีที่แล้ว

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

  • @youngidealist
    @youngidealist 2 ปีที่แล้ว

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

  • @monsterra4841
    @monsterra4841 2 ปีที่แล้ว

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

  • @SuperDeadparrot
    @SuperDeadparrot ปีที่แล้ว

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

  • @lookaway8496
    @lookaway8496 3 ปีที่แล้ว

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

  • @rahulagarwal2555
    @rahulagarwal2555 2 ปีที่แล้ว

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

  • @sahanajaktar1591
    @sahanajaktar1591 ปีที่แล้ว

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

  • @thecardtrickmast3r802
    @thecardtrickmast3r802 3 ปีที่แล้ว

    Why are we not considering the units of the wavefunction?

  • @s.v.8662
    @s.v.8662 2 ปีที่แล้ว

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

  • @حيدرالعبيدي-ج4د
    @حيدرالعبيدي-ج4د 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.

  • @hoseinbarati3342
    @hoseinbarati3342 ปีที่แล้ว

    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 ปีที่แล้ว

      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].

  • @jxchtajxbt53
    @jxchtajxbt53 3 ปีที่แล้ว

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

    • @jxchtajxbt53
      @jxchtajxbt53 3 ปีที่แล้ว

      BTW - Your videos are Awesome!

  • @diegoalejandropalacios5330
    @diegoalejandropalacios5330 3 ปีที่แล้ว

    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

  • @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...

  • @madmaths2568
    @madmaths2568 2 ปีที่แล้ว

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

  • @Lusypher
    @Lusypher 3 ปีที่แล้ว +1

    Thanks pal!

  • @samueldeandrade8535
    @samueldeandrade8535 11 หลายเดือนก่อน

    Man, this guy is handsome.

  • @h.m.m3262
    @h.m.m3262 2 ปีที่แล้ว

    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 ปีที่แล้ว

      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

  • @Gbzildo
    @Gbzildo 2 ปีที่แล้ว

    Imagine this guy meeting andrew dotson

  • @mathematoligiser-iserist2007
    @mathematoligiser-iserist2007 ปีที่แล้ว

    I will watch your rapping career with great interest.

  • @heliflyjack8389
    @heliflyjack8389 ปีที่แล้ว

    Sorry, psi0 IS already normalized

  • @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 ;)

  • @giovannisilvadesouza6968
    @giovannisilvadesouza6968 ปีที่แล้ว

    nice

  • @heliflyjack8389
    @heliflyjack8389 ปีที่แล้ว

    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 8 หลายเดือนก่อน +1

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

  • @harpreetsinghchahal2118
    @harpreetsinghchahal2118 3 ปีที่แล้ว +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.

  • @mohemmedbakhiet8905
    @mohemmedbakhiet8905 2 ปีที่แล้ว +1

    Great Video! thanks a lot