首页 > 解决方案 > 使用 numpy 求波函数的概率密度

问题描述

我正在尝试使用初始条件找到薛定谔方程的概率密度函数。我的初始条件是这样的:

在此处输入图像描述

常数是:

L      = 100
x0     = 15
v      = 16
sigma2 = 5
tmax   = 4

我的高斯代码并找到归一化的初始条件,以便概率密度函数在区间 0 到 L 上等于 1:

from scipy.integrate import quad
dx = 1/32
x = np.linspace(0, L, N)
func = lambda x: my_gaussian(x)*my_gaussian(x).conjugate()
C,e = quad(func, 0, L)
psi = (C**-(1/2))*my_gaussian(x)

但是,在 jupyter 中,当我运行上述代码时会收到此消息。它有效,但我不确定它是否在做它应该做的事情:

/opt/conda/lib/python3.7/site-packages/scipy/integrate/quadpack.py:463: ComplexWarning: Casting complex values to real discards the imaginary part
  return _quadpack._qagse(func,a,b,args,full_output,epsabs,epsrel,limit)

那么我上面的代码是否正确计算了归一化的高斯初始条件?如果您希望我添加或解释任何内容,请告诉我。该代码应该使我的波函数具有以下条件:在此处输入图像描述

标签: pythonjupyter-notebook

解决方案


推荐阅读