You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用傅里叶变换计算简谐振子基态与第一激发态的动量矩阵元

简谐振子动量矩阵元计算错误修复方案

你的代码存在两个核心错误导致动量矩阵元计算结果不符合预期:

  • 傅里叶变换缺少采样间隔归一化因子:量子力学中的连续傅里叶变换对应离散采样场景时,需要乘以位置采样间隔dx才能和连续定义匹配,你当前的动量表象波函数计算遗漏了该因子。
  • 动量空间内积缺少积分步长:离散场景下计算内积等价于对积分做黎曼和近似,需要乘以动量采样间隔dp才能得到正确的积分结果。

修正后的代码片段

# 傅里叶变换补全dx归一化因子
groundStateK = (1 / np.sqrt(2 * np.pi * hbar)) * dx * np.fft.fftshift(np.fft.fft(groundState))
firstExcitedStateK = (1 / np.sqrt(2 * np.pi * hbar)) * dx * np.fft.fftshift(np.fft.fft(firstExcitedState))

# 计算矩阵元补全积分步长,位置空间内积也需要乘dx才能匹配解析值
x01 = np.dot(np.conjugate(groundState), np.dot(xMatrix, firstExcitedState)) * dx
p01 = np.dot(np.conjugate(groundStateK), np.dot(pMatrix, firstExcitedStateK)) * dp

结果验证

对于你设置的m=1, ω=1, ħ=1的简谐振子,解析结果如下:

  • 位置矩阵元<0|x|1>的理论值为√(1/2) ≈ 0.707
  • 动量矩阵元<0|p|1>的理论值为i√(1/2) ≈ 0.707i,为纯虚数,修正后你的计算结果应该和该值一致。

如果不想切换到动量空间计算,也可以直接在位置空间用动量算符的微分形式或者FGH方法预先生成的动量矩阵直接计算,结果完全等价。

内容的提问来源于stack exchange,提问作者poisonDartFrog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:45:03