Python 如何对薛定谔方程的波函数进行数值归一化?

Python 如何对薛定谔方程的波函数进行数值归一化?,python,numpy,normalization,numerical-integration,wavelet,Python,Numpy,Normalization,Numerical Integration,Wavelet,我用打靶法数值求解了一维稳态薛定谔方程,该方程适用于壁位于0和1的无限势阱。现在我想把波函数psi(x)的数值解归一化。这意味着,居住密度ρ(x)=| psi(x)|^2概率的0到1之间的积分必须等于1,因为在0到1的间隔内,有100%的几率找到粒子。所以我有标准化条件int(0,1)rho(x)dx=1。我尝试使用数值积分辛普森规则实现一个标准化函数,但它不适用于高能状态。有人知道如何改进吗 所以我有psi(x)和x作为numpy数组 def正常化_psi(psi,x): int_psi=sc

我用打靶法数值求解了一维稳态薛定谔方程,该方程适用于壁位于0和1的无限势阱。现在我想把波函数psi(x)的数值解归一化。这意味着,居住密度ρ(x)=| psi(x)|^2概率的0到1之间的积分必须等于1,因为在0到1的间隔内,有100%的几率找到粒子。所以我有标准化条件int(0,1)rho(x)dx=1。我尝试使用数值积分辛普森规则实现一个标准化函数,但它不适用于高能状态。有人知道如何改进吗

所以我有psi(x)和x作为numpy数组

def正常化_psi(psi,x):
int_psi=scipy.integrate.simps(psi,x)
返回psi/int_psi

看起来你在规范化(复数)波函数的积分,而你应该规范化它的概率密度:

def正常化_psi(psi,x):
int_psi_square=scipy.integrate.simps(abs(psi)**2,x)
返回psi/np.sqrt(整数psi平方)