2D Schrodinger Equation Numerical Solution in PYTHON

Поделиться
HTML-код
  • Опубликовано: 5 авг 2024
  • A COUPLE CORRECTIONS:
    1: At around 2:30 I have the discrete Schrodinger in equation in a red box. Ignore this: there are some sign errors
    2: At 18:00 I talk about a so-called "artificial rotation" in the 2nd and 3rd eigenstates of the infinite square well. This is bogus. Since these two eigenstates are degenerate (i.e. have the same eigenvalue) any linear combination of them is also an eigenstate. The traditional eigenstates you might see in a textbook correspond to some linear combination of the ones found in this video.
    Using the module scipy.sparse we solve the 2D Schrodinger equation. Based on these two reddit posts:
    1) www.reddit.com/r/Physics/comm...
    2) www.reddit.com/r/Physics/comm...
    1D Schrodinger Equation:
    • Eigenstates of ANY 1D ...
    Code located in the link below. Go to "Python Metaphysics tutorials" and then "Vid 6"
    github.com/lukepolson/youtube...

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

  • @sarcasticsteve7622
    @sarcasticsteve7622 3 года назад +39

    You're a hero. I never got how the heck animations in matplotlib really worked, but now I'm goona include a sick rotating gif into my thesis presentation!

  • @Maniclout
    @Maniclout 3 года назад +9

    This channel is super underrated

  • @lukather1236
    @lukather1236 3 года назад +6

    Man I love you, this series is the best content I've seen for years

  • @aaronflores1106
    @aaronflores1106 Год назад +2

    I'm currently conducting research for 2 Physicists in my department, one of them being the chair. While taking Intro to Quantum...This video is SO valuable, I have to do the Schod Eqn in Cylindrical taking into consideration Rho and Z...this video will be SO helpful! Thank you!

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

    How did I understand that. It looks so complicated, but you made it sound so easy, man you really have some skill, congrats.

  • @josephjones2211
    @josephjones2211 3 года назад +3

    Another good video! Very easy to follow

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

    Damn, by far one of the best live physics coding I have ever seen!

  • @generalrockstar6779
    @generalrockstar6779 4 месяца назад

    This was an excellent instruction. Thanks a lot! :)

  • @bobingstern4448
    @bobingstern4448 2 года назад +2

    How can I set the initial starting condition for psi0? I want to experiment with travelling waves and such

  • @matthewkinahan3945
    @matthewkinahan3945 3 года назад +6

    Your editing has me dying 😂

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

    The fact that you have an asd.txt file means that I have to sub :D also a great video

  • @brianc5526
    @brianc5526 3 года назад +6

    Spicy scipy

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

    I might have phrased my last question wrong but how can I do it so that I can choose an energy level using 2 parameters like nx and my rather than just n?

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

    Hi, thanks for the video, are you familiar with variational method for the resolution of excitons' 2D Schrodinger equation ?

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

    So I get the time evolution in 1D, but with this setup, how would you go about with time evolution?

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

    It really helped! Thanks!

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

    Great video, keep it up

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

    Hi, nice video, do you have any written reference you can recommend me? I don't understand spoken English, but written English I do 👉👈(specifically about the matrix approximation method , I checked the references you left, but I didn't find reports about those works).

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

    I have one question, we are supposed to solve the Schrod Eqn cylindrically our Schrod Eqn becomes discretized in 3 places instead of 2 like you have here. 2 of 3 of those can be resolved using your Kronecker Sum Method, can we also do a second Kronecker sum to incorporate a third component? Thank you!

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

    hi, man
    I kind of stuck with the holland single vortex (1980) wind modeling in python for cyclones... can u do a video on this equation and numerical presentation ??? plz :)

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

    This is a really great video! Does anyone know of a similar treatment for the problem in spherical coordinates? The shape of the Laplacian changes, so should also the operator, but there's a lot of interesting problems that you can think of in spherical coordinates (such as the quantum rotator).

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

    hey can I ask (sorry if you mentioned it in vid), how come you didnt include the 1/dx or 1/dy in your definition of D in the code?

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

    Very nice videos

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

    Don't know what version Python you use,
    but to get the animation working at all,
    def init() had to be removed,
    and an adequate projection declaration provided as such:
    fig, ax = plt.subplots(subplot_kw={'projection': '3d'})

  • @silverback6929
    @silverback6929 Год назад +2

    Hello, it's a nice video. But there is some small mistakes the Psy vector dimension is (N-2)² and the matrice ((N-2)²* (N-2)²) and in the final equation Delta_x² should be replaced by Delta_x²*Delta_y² (given your last definition of the matrice D)

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

    Thanks Mr. P Solver for this video. Can you please tell me why your results is not in agreement with analytical results? In analytical method for the same problem we have psi = 2/L * sin(nx*pi*x/L)*sin(ny*pi*y/L). If we plot this psi for versus nx and ny, we cannot see any agreement between analytical and numerical methods. Thanks

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

      It has to do with the degeneracy of eigenstates. In 2D, some (different) eigenstates correspond to the same energy, so any linear combination of these eigenstates is also an eigenstates. What you're seeing in the video is a linear combination of these states (e.g nx=1, ny=2 AND nx=2, ny=1)

    • @Painting_Nicely_With_Me
      @Painting_Nicely_With_Me 2 года назад +2

      @@MrPSolver Thanks a lot for your reply. I understood it. Is there a way to get exact eigenstates in accordance with analytical method for degenerated states?

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

    Espetacular!

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

    I tried to use the central potential -1/(x**2 + y**2) to obtain the hydrogen atom eigenstates but I receive a convergence error from the function eigsh. Any idea how to solve this?

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

      You're probably running into a divergence issue at the origin (x=y=0) you may want to use the potential -1/(x^2 + y^2 + eps) where eps is some small number (say 1e-5) to prevent problems from occuring.

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

      It worked perfectly! Thank you and keep up the amazing work

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

    Why is only Dx used in the Kronecker sum and in the calculations?

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

      I should've really called it "D". It just represents the derivative in one dimension. However, in two dimensions, D+I (Kronecker sum) becomes the derivative in x, and I+D becomes the derivative in y.

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

      ​@@MrPSolverOh I get it know, I should have checked the Kronecker product definition before asking. Thanks a lot for doing these videos, I already learned a lot.

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

    I have one question, why did you use Dx + Dx (kronsum) instead of Dx + Dy (kronsum)? Did i miss anything? TQVM

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

      Dx = D kronprod I
      and
      Dy = I kronprod D, giving Dx + Dy == D kronsum D

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

      @@flynnxd8229 Thank you very much for your kind reply. I thought it is " Dx kronsum Dy = Dx kronprod Identity + Identity kronprod Dy". Is there any direct relationship between the Dx and Dy so that Dx == D and Dy == D.

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

    Is this computational method commonly used in research?

    • @Ryan_Perrin
      @Ryan_Perrin 2 года назад +2

      A bit late, but yes and no. Clearly the 2D infinite well is not studied, necessarily, in a research setting. But the fundamentals here are used in many tight-binding or exact diagonalization code (plus some others I am sure). So, this particular examples is not exactly used in research, but can easily be extended to it.

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

    what about dx in the matrix why is it not here

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

    Thanks for your video. But I tried to use potential ((0.5 * x ** 2) * (0.5 * y ** 2)), the 2D square potential, as an extension from your previous 1D video, the energy doesn't seem to be correct. Could you please tell me why? Did I use the wrong potential? Thanks

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

      It seems you have a "*" in between the two terms but I think you need a "+" in other words 0.5x^2 + 0.5y^2

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

      @@MrPSolver Thanks for your reply. But sadly it doesn't work neither :(. The energy doesn't return (1, 2, 2, 3, 4, 4, 5 ......). I am really curious why

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

      @@jiayichen6490 likely because you don't have a true harmonic potential (you are still inside an infinite square well).

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

      @@MrPSolver ​ @Mr. P Solver In case I already changed the get_potential function to harmonic, just like you did to the gaussion potential. How do I still have anything to do with infinite well (which has potential 0)?

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

      @@jiayichen6490 Because you're enforcing that the wave function goes to zero at the boundaries, which essentially means that V= +infinity at these points

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

    Hi, I’m currently in a physics major and I am trying to learn computational physics, and I would like to understand this technique better. Can you recommend a book or paper which explains this technique?

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

      Unfortunately most of this stuff I found on random places online; I have not yet discovered a book that consolidates it all in one place. For starting with 1 dimensional problems, I'd check out these notes here:
      people.inf.ethz.ch/arbenz/ewp/Lnotes/lsevp.pdf

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

      @@MrPSolver I apologize I should have been more specific. I was wondering if you had some resource covering the specific 2D method you performed in this video, particularly where you take your NxN array of xy points and collapse it into a N^2 x 1 column etc.

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

      Oh I stole that from some guy on Reddit 😂. There's likely a source for it somewhere but it's probably buried deep within some text book. Here's a Wikipedia page on the topic:
      en.m.wikipedia.org/wiki/Kronecker_sum_of_discrete_Laplacians

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

      @@MrPSolverCool I'll check it out, thanks for the replies. Keep up the awesome work!

    • @nothingisreal6345
      @nothingisreal6345 Год назад +1

      @@MrPSolver then write it :-) might not make you rich though.

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

    ❤❤

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

    great content !
    So ,i thinks you will do machine learning applied in physics

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

    Hi, great video, however your matrix appears to be missing exp(ikL) element in the top-right and bottom-left corners of the matrix (by Bloch's theorem). At least this is how it was taught to me, applying PBC. Do you use some other kind of boundary condition?

    • @paulryan94
      @paulryan94 2 года назад +4

      Bloch's theorem is applicable to periodic potentials. Here he is not solving for a periodic potential.

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

    Quantum physics, programming AND the Grateful Dead?!?!? I feel like we might be long lost brothers...

  • @vitiknot_imvitiknot_im
    @vitiknot_imvitiknot_im Год назад +1

    the code in this video is the same as one in Wai Kui Wong "Solving 2D Time Independent Schrodinger Equation Using Numerical Method"

    • @MRev-iu2ml
      @MRev-iu2ml 6 месяцев назад

      This video's upload date predates that article's