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

How to numerically normalize the wave function of the Schroedinger Equation?

我实施了射击法,以数值求解壁位于 0 和 1 处的无限势罐的一维稳态薛定谔方程。现在我希望对波函数 psi(x) 的数值解进行归一化。这意味着居住密度 rho(x)= |psi(x)|^2 概率从 0 到 1 的积分必须等于 1,因为有 100% 的机会在 0 到 1 区间内找到粒子. 所以我有归一化条件 int(0,1) rho(x) dx = 1. 我尝试使用数值积分辛普森规则实现归一化函数,但它不适用于更高的能量状态。有人知道如何改进吗?

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

def normalize_psi(psi, x):
   int_psi = scipy.integrate.simps(psi,x)
   return psi/int_psi

看起来你正在对(复)波函数的积分进行归一化,而你应该对其概率密度进行归一化:

def normalize_psi(psi, x):
   int_psi_square = scipy.integrate.simps(abs(psi) ** 2, x)
   return psi/np.sqrt(int_psi_square)