求解一维Schrö;带Numerov方法的dinger方程(python)

求解一维Schrö;带Numerov方法的dinger方程(python),python,math,physics,numerical-methods,differential-equations,Python,Math,Physics,Numerical Methods,Differential Equations,晚上好 我目前正试图用Numerov方法求解一维薛定谔方程(与时间无关)。该方法的推导对我来说很清楚,但我在实现上有一些问题。我试着在谷歌上寻找解决方案,有一些(或),但我真的不明白他们在代码中做什么 问题是: 通过一些数学运算,您可以得到以下形式的方程式: 哪里首先,我想看看势V(x)=1如果-a不幸的是,我不太记得量子物理,所以我不了解一些细节。但我仍然在您的代码中看到一些错误: 为什么在numerov\u步骤中yousquarek1,k2和k3 在你的主周期中 np.arange(2,N)

晚上好

我目前正试图用Numerov方法求解一维薛定谔方程(与时间无关)。该方法的推导对我来说很清楚,但我在实现上有一些问题。我试着在谷歌上寻找解决方案,有一些(或),但我真的不明白他们在代码中做什么

问题是:

通过一些数学运算,您可以得到以下形式的方程式:
哪里首先,我想看看势
V(x)=1如果-a不幸的是,我不太记得量子物理,所以我不了解一些细节。但我仍然在您的代码中看到一些错误:

  • 为什么在
    numerov\u步骤中
    yousquare
    k1
    k2
    k3

  • 在你的主周期中

  • np.arange(2,N)中j的
    :
    psi[j+1]=数值步长(psi[j],psi[j+1],k[j-1],k[j],k[j+1],dx)
    
    你把索引搞砸了。看起来这条线应该是

       for j in np.arange(2, N):
         psi[j] = numerov_step(psi[j - 2], psi[j - 1], k[j - 2], k[j - 1], k[j], dx)
    
  • 这是我不太明白的部分。看看你的动画,这个方程似乎只有在
    V(x)
    E
    的某些组合中才有很好的解,而在其他情况下,它很快就会失控。看起来你的
    V(x)
    E
    hbar
    V(x)
    的比例与参考文章有很大不同,这可能是解决方案变得疯狂的另一个原因
    首先感谢您的评论。我根据你的建议更正了我的代码。1) 我引用了一篇稍有不同的论文,对k有不同的定义。。。2) 这可能是主要的错误,所以谢谢你!3) 在将质量和hbar改为1(TA问)后,我至少得到了一些看起来像波函数的东西。。。我可能会尝试更多的潜力,看看会发生什么,如果出现更多的问题,我也会把它们贴在这里
       for j in np.arange(2, N):
         psi[j] = numerov_step(psi[j - 2], psi[j - 1], k[j - 2], k[j - 1], k[j], dx)