华中师范大学 hahakity
在网上看到一个使用 Matlab 教量子力学的文章,很有意思。这里用 python 语言实现一遍, 让同学们对量子力学,对偏微分方程的差分近似解法有一个更直观的理解。
学习目标:
- 理解量子力学的波函数表示与矩阵表示的等价性
- 学会用向量表示函数,用矩阵表示算符(一阶微分,二阶微分)
- 学会数值求解任意势阱下定态薛定谔方程的能级与波函数
预备知识:
- 微分的差分近似
- 量子力学基础(薛定谔方程)
波函数的向量表示
在用 python 画图时,我们一般先将区间离散化,计算出离散坐标上的函数值,然后画折线图。比如对于函数
, 使用如下代码画图,
# np.linspace 将区间 [-2, 2] 离散化为 100 个坐标点
将波函数表示为离散坐标点上的实数或复数,写为列向量
变得非常容易理解。
回忆微分的有限差分近似,对于一阶微分,
对于二阶微分,
对区间 [a, b] 所有离散坐标上的 f(x) 微分和二阶微分可以矩阵化,
算符的矩阵表示
当 f(x) 用列向量
表示时,就可以用矩阵来表示微分算子。
因此波动力学与矩阵力学统一。
一阶微分