资讯动态

当量子力学遇上线性代数:动量与能量的矩阵视角

发布时间:2026/10/15 1:30:06 来源:尧图企业网站定制
这个系列写到第六篇我在动笔前纠结了好一阵子标题里的“or”到底该不该改成“and”。量子力学和线性代数表面看一个是物理、一个是数学可到了动量与能量这一章两套语言几乎完全重合——动量算符的本征问题就是矩阵特征值问题定态薛定谔方程就是厄米矩阵的对角化海森堡不确定关系的证明更是直接用了内积空间的柯西-施瓦茨不等式。所以这篇表面上讲量子力学实际上就是在手把手地做线性代数运算。适合正在学量子力学入门课、但被算符和狄拉克符号搞得头大的读者也适合学过一点线性代数、想看看矩阵方法在物理里到底怎么用的朋友。1. 系列定调把“or”改成“and”动量和能量是同一个故事的两副面孔1.1 五章之后为什么这一章专讲动量与能量这个系列前五章大致梳理了波函数、态矢量、算符、薛定谔方程和一些典型势场问题。如果只挑两个力学量来深挖动量与能量是最合适的它们既是经典物理里最先接触的守恒量又在量子力学中承担着最核心的角色——能量算符决定了时间演化动量算符则与空间平移、位置测量、傅里叶变换都绑定在一起。更妙的是这两个量的数学结构恰好能串起线性代数的全部主线线性空间、线性算子、本征值、内积、相似变换、对易关系。我在给初学者讲这部分时最爱打一个比方。经典力学里你问“这个物体的动量是多少”答案是某个实数量子力学里你必须先问“我把测量装置放上去之后系统会塌缩到哪个动量本征态”而回答这个问题的工具就是矩阵对角化。动量和能量不再是一个固定的数而是一个算符的全部本征值集合。你一个人在脑子里同时装着“波函数”和“矩阵”两套思路会发现这个转变无比自然。1.2 两套语言对照算符、矩阵、内积与特征值线性代数给我们的整套翻译规则我列过一张对照表每次讲课都拿出来用。态矢量 |ψ⟩ 对应线性空间里的向量波函数 ψ(x) 是态矢量在坐标基下的坐标分量。算符对应矩阵算符对态的作用就是矩阵乘向量。内积 ⟨φ|ψ⟩ 对应向量的点积不过这里是复数域上的内积所以需要共轭。本征方程 Â|a⟩ a|a⟩ 就是矩阵特征值方程 M v λ v。厄米算符对应厄米矩阵特征值实数本征向量可以正交归一化。幺正变换对应保持内积不变的矩阵变换坐标表象切换就是换一组基。有了这张表物理里的很多结论就不再需要死记硬背。比如“测量结果是本征值之一”在线代里就是“特征值集合”“两个力学量可以同时确定”在线代里就是“两个矩阵可以同时对角化”。动量和能量这一章本质上是把这两个矩阵的对角化过程完整做一遍。1.3 这一章适合谁读需要哪些前置知识这篇内容不假设你已经精通量子场论但最好有一点线性代数底子知道向量空间、内积、矩阵特征值的概念会算 2×2 矩阵的本征值。如果你只学过微积分也能跟上大部分推导我会在关键步骤把矩阵和函数语言并行写出。物理方面只要知道波函数 ψ(x) 的模方代表概率密度、以及存在一个叫薛定谔方程的微分方程就够了。更深的内容比如角动量、自旋这一章不碰留到之后再说。2. 动量算符从平面波到平移生成元一次讲清楚2.1 德布罗意假设与“-iℏ∂/∂x”是怎么来的很多初学者背下了动量算符 p̂ -iℏ d/dx却不知道这个式子凭什么长这样。其实线索全在德布罗意关系里。德布罗意说动量 p 与波矢 k 之间满足 p ℏk那么一个具有确定动量 p 的粒子的波函数自然应该具有确定的波矢 k也就是说波函数必须是平面波φ_p(x) e^{i p x / ℏ}。现在把 p̂ 定义为那个作用于 φ_p 后能把它还原成 p 倍自身的算符。试一下 −iℏ d/dx 作用在 e^{ipx/ℏ} 上−iℏ d/dx e^{ipx/ℏ} −iℏ · (ip/ℏ) e^{ipx/ℏ} p e^{ipx/ℏ}。所以这个算符作用在平面波上正好提取出本征值 p。这就是动量算符的由来。换句话说动量算符不是从天上掉下来的它就是为了让平面波成为本征态而构造出来的微分算子。如果你换一种表象比如在动量表象里动量算符反而变成一个普通乘法因子 p位置算符则变成一个微分算子那个符号“对偶翻转”的关系正好体现了线性代数里换基的思想。2.2 无穷小平移动量算子为什么叫生成元再看一个更深刻的角度。假设你有一个波函数 ψ(x)你想让它整体向右平移一小段距离 a平移后的波函数是 ψ(x-a)。在 a 很小的时候做泰勒展开ψ(x-a) ≈ ψ(x) − a dψ/dx (1 − ia · (−i d/dx)) ψ(x)。量子力学里为了保持概率守恒平移算符必须是个幺正算符。把上式写成指数形式就得到T̂(a) e^{-i a p̂ / ℏ}。也就是说动量算符是平移算符的“指数生成元”——你知道了 p̂就等于掌握了任意小平移的规则连续做无数次无穷小平移就能拼出有限平移。这个结构在线性代数里非常眼熟一个矩阵 A 的指数 e^{iA} 可以通过级数定义而生成元 A 的所有性质决定了整个变换群。日常类比就是旋转矩阵的生成元是角动量矩阵时间演化的生成元是能量哈密顿量。所以动量、角动量、能量各个守恒量都有自己对应的对称性这就是经典诺特定理在量子力学中的化身。2.3 平面波本征态的归一化问题与实用处理方案我每次讲到平面波本征态都有人盯着归一化问∫|e^{ipx/ℏ}|² dx 显然是无穷大那这个态是不是不合法的答案要从数学和物理两个层面同时给。数学上平面波本征态属于连续谱不能用离散谱的归一化条件 ⟨p|p′⟩ δ_{p,p′}取而代之的是狄拉克 δ 函数归一化 ⟨p|p′⟩ δ(p−p′)。物理上真正的粒子永远不是严格的平面波而是局域在空间某个范围内的高斯波包。高斯波包是许多平面波的叠加它的动量分布有一个有限宽度 Δp如果波包空间宽度为 Δx两者乘积满足不确定关系。实操中处理这种讨厌的连续谱问题时我习惯用“箱归一化”。把整个空间想象成一个长度为 L 的大盒子并且采用周期性边界条件那么波数 k 就离散化为 k_n 2πn/L。每个平面波都可以正常归一化所有求和都有了意义最后再把 L 推向无穷远积分自然浮出水面。这种做法在固体物理、散射理论里都有实际应用别把它当成简单数学游戏。3. 不确定关系用柯西-施瓦茨不等式证明量子力学的天花板3.1 从标准差到内积不等式三步推导海森堡不确定关系经常被写成乱七八糟的记忆公式其实它的证明就是一个纯线性代数推导我现场给你推一遍。假设有两个厄米算符  与 B̂并且为了简洁令它们在某态 |ψ⟩ 上的平均值为零不然先减去平均值。定义两个新态|f⟩ Â|ψ⟩|g⟩ B̂|ψ⟩。那么不确定度的平方分别是 ⟨f|f⟩ 和 ⟨g|g⟩。柯西-施瓦茨不等式直接给出⟨f|f⟩⟨g|g⟩ ≥ |⟨f|g⟩|²。注意 ⟨f|g⟩ ⟨ψ|ÂB̂|ψ⟩ ⟨ÂB̂⟩。把 ÂB̂ 拆成对易子和反对易子之和的一半ÂB̂ (1/2)[Â,B̂] (1/2){Â,B̂}。其中 {Â,B̂} ÂB̂ B̂Â。由于 Â、B̂ 都是厄米的{Â,B̂} 的期望值一定是实数[Â,B̂] 的期望值一定是纯虚数你可以自己验证一下。于是 |⟨f|g⟩|² 至少包含对易子贡献的四分之一(ΔA)²(ΔB)² ≥ (1/4)|⟨[Â,B̂]⟩|²。两边开根号就得到通用的不确定关系式ΔA ΔB ≥ (1/2)|⟨[Â,B̂]⟩|。你看整个过程只用到了内积空间的两个性质正定性和柯西-施瓦茨不等式。物理学的深刻结论和数学的抽象结构在这里完全咬合。3.2 代入位置动量的对易子海森堡不等式重现现在只需知道坐标与动量的对易关系 [x̂,p̂] iℏ代入上面结果立刻有Δx Δp ≥ ℏ/2。这里要提醒一句书写习惯。很多人记成 h/4π因为 ℏ h/2π所以 ℏ/2 等价于 h/4π。同一个式子出现两种写法等比价字符而已不必纠结。关键是对易关系 [x̂,p̂]iℏ 一定要记准它是一切不确定关系的源头。对易关系在线代中对应矩阵乘法的不可交换性。你拿两个实对称矩阵相乘通常也不交换AB≠BA这就决定了两个力学量不能同时有确定值的代数本质。如果你遇到两个算符对易[Â,B̂]0那么上面的不等式右端为 0就允许 ΔA0 且 ΔB0——它们可以同时有确定值并且存在一组共同本征态这正是线性代数中两个可交换矩阵可以同时对角化的定理。3.3 高斯波包唯一能触及天花板的例子既然 ΔxΔp 有下限那到底什么态能取到等号答案是高斯波包。这一点最好亲自验算一遍。考虑高斯波包 ψ(x) ∝ exp(−x²/(4σ²))e^{ip₀x/ℏ}。先算 Δx。由于波函数是偶函数先忽略动量相位直接算 ⟨x²⟩ σ²所以 Δxσ。再算动量分布对高斯波包做傅里叶变换得到的动量分布仍然是一个高斯半宽度 Δp ℏ/(2σ)。两者相乘恰为 ΔxΔp ℏ/2等号成立。这里有个值得留意的细节σ 越大空间上越弥散但动量分布越窄σ 越小粒子被压得越紧动量分布就越宽。标准差的乘积被卡斯在 ℏ/2 上。实际工程里把它当作一个可靠的下限来用例如估算谐振子的零点动能的规模。3.4 常见误区不确定关系与测量误差不是一回事我在一些论坛上看到过把不确定关系解释成“测量扰动”的说法这种理解容易带偏。海森堡最初确实用 γ 射线显微镜做过直观论证但现代量子力学教材更接受“本体论式”的解释处于任意态的粒子其位置和动量标准差的乘积本身就有下界与你做不做测量无关。换句话说这不是测量仪器的噪声而是态本身的性质。所以当你看到“ΔxΔp ≥ ℏ/2”时请把它看成“对于一个给定的量子态位置的标准差与动量的标准差不可能同时为零”而不是“连续测两次会被搅扰”。前者是代数的结果后者是测量的故事。把两者分清后面理解纠缠、测量问题就少走很多弯路。4. 能量本征值哈密顿量矩阵化的完整路线4.1 经典能量函数到量子哈密顿量的翻译规则经典的单个粒子能量是动能加势能E p²/(2m) V(x)。量子力学里有一个标准翻译流程把所有可观测量换成算符。p 换成 p̂x 换成 x̂于是哈密顿量算符变为Ĥ p̂²/(2m) V(x̂)。在坐标表象下p̂ −iℏ d/dx所以 p̂² −ℏ² d²/dx²动能项是一个二阶微分算子V(x̂) 则是一个乘法算子作用在 ψ(x) 上就是 V(x)ψ(x)。线性代数里一个矩阵的所有元素可能同时存在“微分型”和“乘法型”的混合但本质仍然是线性算子。如果你在一个有限维离散格点上表示波函数微分算子变成差分矩阵——非对角的势能矩阵是对角的两者相加得到的哈密顿量矩阵通常就是非对角的需要对角化才能读出能级。4.2 定态薛定谔方程特征值问题的物理学包装定态薛定谔方程是量子力学的核心方程之一样子是Ĥ|ψ⟩ E|ψ⟩。你把它和线性代数里的 M v λ v 并排写在一起立刻看出 E 就是哈密顿量的特征值|ψ⟩ 就是特征向量。我们通常说“求能谱”“求定态波函数”实际上做的是同一件事求解一个厄米算符的全部特征值和特征向量。这也是为什么几乎所有量子力学数值软件第一步都是构造哈密顿量矩阵然后调用线性代数库做对角化。4.3 无限深势阱能谱的整数结构从哪里来以一维无限深势阱为例V(x)0 在 0xL 内V(x)∞ 在边界外。边界处波函数必须为零这相当于两端固定的弦振动条件。方程−ℏ²/2m d²ψ/dx² Eψ的通解是 A sin(kx)B cos(kx)。边界条件 ψ(0)0 干掉余弦项ψ(L)0 要求 kLnπn1,2,3,…。于是能级是E_n n²π²ℏ²/(2mL²)。能谱按 n² 增长间距越来越大。这个结论的线性代数意义挺漂亮一维有限区间上的二阶导数算符它的特征值谱就是一组离散的正数序列。你不需要解任何超越方程只要把二阶导数矩阵写出来用计算机求特征值马上能得到同样结果。弦乐器泛音频率按 1、2、3、4…排列而量子势阱按 1、4、9、16…排列差异来自边界条件与算符阶数的微妙配合。4.4 谐振子的代数解升降算符与零点能的必然性谐振子势 V(x)½mω²x² 的求解如果只用微分方程硬刚需要引入厄米多项式过程比较繁琐。算符代数法是线性代数的炫技时刻值得好好品味。先定义一个无量纲的复算符组合â √(mω/2ℏ) (x̂ i p̂/(mω))。它的共轭是 ↠√(mω/2ℏ) (x̂ − i p̂/(mω))。利用 [x̂,p̂]iℏ可以算出对易关系[â,â†] 1。接着把哈密顿量反过来表成 â、↠的形式Ĥ ℏω(â†â 1/2)。定义粒子数算符 N̂ â†â。它的本征方程 N̂|n⟩ n|n⟩由于 ⟨ψ|N̂|ψ⟩ ||â|ψ⟩||² ≥ 0n 必然是非负实数。结合对易关系还能推出 n 必须是非负整数 0,1,2,…。于是能量本征值就是E_n ℏω(n 1/2)。注意 n0 时的能量 ℏω/2 依然存在这就是零点能。它不是因为“粒子在势能最低点还要抖动”而是因为位置与动量的不确定关系不允许粒子同时停在原点和动量为零所以最低能态也必须保留最低限度的动能。这个结论用矩阵语言看特别直接谐振子哈密顿量在粒子数表象下根本就是对角矩阵对角元 ℏω(n1/2)而升降算符是它的偏移矩阵部分。5. 数值实操把谐振子放进矩阵然后对角化5.1 用数态基底构造位置与动量矩阵截断法纸上谈兵不够自己动手算一遍才能形成直觉。最简单的方法是选用谐振子的数态 |n⟩ 作为基底分别构造位置算符和动量算符在这个基下的矩阵。利用升降算符的关系x̂ √(ℏ/2mω) (â â†)p̂ i√(mℏω/2) (↠− â)。这两个算符矩阵都只有最近邻非零元。写成矩阵元就是⟨n|x̂|n1⟩ ⟨n1|x̂|n⟩ √(ℏ/2mω) √(n1) ⟨n|p̂|n1⟩ −⟨n1|p̂|n⟩ −i√(mℏω/2) √(n1)。由于真实希尔伯特空间是无穷维的数值计算时必须做截断只保留 n0,1,…,N−1 这 N 个态。只要 N 足够大最低的若干条能级就能高精度收敛。5.2 三行代码求能级Python对角化示例下面这段代码用 Python 构造截断谐振子的哈密顿量矩阵再调用 NumPy 求特征值。我把 ℏ、m、ω 都设成 1这样看能级最清爽。import numpy as np N 30 # 截断维度 # 构造升降算符矩阵 a np.zeros((N, N), dtypecomplex) for n in range(N - 1): a[n, n 1] np.sqrt(n 1) adag a.conj().T # 位置与动量算符矩阵取 hbarmomega1 x (a adag) / np.sqrt(2) p -1j * (a - adag) / np.sqrt(2) # 哈密顿量矩阵 H 0.5 * p p 0.5 * x x # 对角化 energies np.linalg.eigvalsh(H) print(energies[:8])输出结果的前几个值会非常接近 0.5、1.5、2.5、3.5…。注意我用了eigvalsh而不是eig因为eigvalsh专门处理厄米矩阵数值稳定性和效率都要更好。如果你想看到非对角元素的位置直接把H打印出来会看到一个五对角或三对角矩阵其中非零非对角元就代表了不同粒子数态之间的耦合。5.3 高斯波包的动量分布一次 FFT 虚拟测量除了求能级动量分布的数值实验也非常顺手。假设你有一个高斯波包想知道它的动量分布长什么样。实际操作是先在一个足够密的坐标网格上生成 ψ(x)然后做一次快速傅里叶变换得到动量表象的波函数再画模方。下面是用 Python 实现的一个简短示例注意这里我用自然单位制import numpy as np Nx 1024 x_max 20.0 x np.linspace(-x_max, x_max, Nx, endpointFalse) dx x[1] - x[0] sigma_x 1.0 p0 2.0 psi_x np.exp(-(x - 0.0) ** 2 / (4 * sigma_x ** 2)) * np.exp(1j * p0 * x) psi_x / np.sqrt(np.sum(np.abs(psi_x) ** 2) * dx) # 归一化 # 动量空间的波函数 psi_p np.fft.fftshift(np.fft.fft(psi_x)) * dx / np.sqrt(2 * np.pi) p_axis 2 * np.pi * np.fft.fftshift(np.fft.fftfreq(Nx, dx)) # 动量分布概率 prob_p np.abs(psi_p) ** 2 print(np.sum(prob_p) * (p_axis[1] - p_axis[0]))把prob_p画出来你会发现它也是一个高斯中心在 p₀ 附近宽度反比于 sigma_x。我实际跑这个代码时有个体会如果你忘了乘上dx/sqrt(2π)动量分布的形状对但概率归一化会有个大常数偏差这类单位换算错误是初学者踩得最多的坑。5.4 实操心得单位、截断精度与收敛判断数值实验里最值得记下来的经验有三条。第一条无条件统一单位制。物理公式里的 ℏ、m、ω 如果保留符号矩阵元会带着一堆因子稍不留神就配对错。取 ℏ1、m1、ω1 后所有计算都变成纯数字游戏能级和波函数变成无色差的抽象对象理解结构更清楚。要回到国际单位制时再代回尺度因子即可。第二条截断维度要试探着收敛。上例取 N30但对较高的量子数截断误差明显变大。如果我只保留 N5最低几个能级还能对但 n4 的能级已经偏离解析值不少。想判断截断是否足够我的做法是把 N 翻倍再做一次对角化两轮结果对比如果最低几条能级变化小于 1e-6就认为收敛了。第三条检查算符矩阵的厄米性。很多人构造完矩阵直接对角化不看矩阵本身。其实 H 的厄米性很方便检验打印np.max(np.abs(H - H.conj().T))如果结果不是 0说明代码里有共轭或坐标顺序错误。这个小检查能帮你免掉至少半小时的排错时间。6. 常见坑位与排查清单6.1 对易关系记不住一个可以固化的记忆锚点对易关系的符号选择确实容易混乱有人写 [x̂,p̂]iℏ有人写 [p̂,x̂]−iℏ还有人在特定表象里推导时不小心把符号弄反。我给学生的记忆法很简单在坐标表象里算一遍 [x̂, p̂]ψ。x̂p̂ψ 直接出现 x 和导数p̂x̂ψ 需要对 xψ 求导用乘积法则多出一项 −iℏψ相减后得到 iℏψ所以 [x̂,p̂]iℏ。如果你每次都从这一步出发去推而不是死记硬背符号基本不会错。6.2 能量本征值为什么必须是实数厄米性速查物理量的测量结果必须是实数这要求所有可观测算符都是厄米的。厄米的定义是 ⟨φ|Âψ⟩ ⟨Âφ|ψ⟩在有限维矩阵语言里等价于 A A†。判断一个矩阵是否厄米只需检查对角线元素是否实数以及第 i 行第 j 列元素是否等于第 j 行第 i 列元素的共轭。在数值实验里这个检查只要一行代码。之所以强调这一点是因为有些分立的近似模型为了数值稳定会把矩阵改成非对称的形式结果特征值出现虚部这时候必须先回头修正矩阵再谈物理。6.3 简并一个特征值对应多个本征态怎么办简并是指同一能量本征值对应多个线性无关的本征态这在多维系统里特别常见。例如二维各向同性谐振子能级 E_N ℏω(N1)对应的简并度是 N1因为 Nn₁n₂ 有多种拆分方式。从线性代数角度看简并空间就是一个特征子空间维度等于几何重数。这个子空间的任意一组正交基都可以当作定态波函数只是不同基之间相差一个幺正变换。实际求解时数值对角化会返回一组正交的本征向量它们跨越同一特征空间但顺序和相位是任意的物理结果不会依赖这个选择。6.4 连续谱与离散谱的矩阵元换算箱归一化技巧处理散射态时动量本征态不再是平方可积函数使用连续谱时所有矩阵元都会出现 δ 函数。实际计算里我习惯先假设系统处于一个长度为 L 的箱子里动量本征态归一化到 1再计算矩阵元。做完计算后再将 L 推向无穷同时把求和换成积分。你需要注意的是箱归一化下的动量本征态是 e^{ipx/ℏ}/√L而连续谱归一化的本征态是 (1/√(2πℏ))e^{ipx/ℏ}两者矩阵元差一个 √(2πℏ/L) 因子。这个因子的作用在计算跃迁概率时体现得尤其明显忘掉它会使结果差出若干倍。6.5 完备性关系矩阵力学计算中的“插入单位算符”完备性关系 ∑|n⟩⟨n| 1 是矩阵力学中最常用也最容易被忽视的技巧。需要计算 ⟨φ|ÂB̂|ψ⟩ 时可以在  和 B̂ 之间插入一个单位分解 ∑|n⟩⟨n|然后写成 ∑⟨φ|Â|n⟩⟨n|B̂|ψ⟩。这样一来复杂算符的矩阵元就拆成了一系列简单矩阵元的乘积每个矩阵元都可以单独求值。这个方法在做微扰论、散射振幅时几乎无处不在甚至可以说是费曼图技巧的代数量级版本。我建议所有初学者都专门花半小时做几道“插入单位算符”的练习它会在后续相当长一段时间内反复派上用场。写在实验记录本最后一页的体会从我的教学和自学经验看量子力学入门最陡的坡不是求解具体方程而是适应“算符即矩阵”“本征值即能谱”这种抽象思维。动量和能量这一章恰好是切换思维的最佳训练场位置与动量的对易关系是一组明确的矩阵规则谐振子的升降算符是标准的矩阵分解技巧而数值对角化则让抽象的希尔伯特空间落到了屏幕上。我自己每次在代码里看到算出的能级与解析解对上时都会重新觉得这套数学框架干净得令人愉快。如果你正被符号和抽象概念折磨我的建议非常具体先把 ∫、ψ、p̂ 这些符号暂时放一边随便拿一支笔构造一个 4×4 左右的截断哈密顿量矩阵眼睛看着矩阵元亲手算一遍特征值再回到教科书。你会发现那些抽象的推导突然有了坐标感。这套方法可以继续延伸到角动量、自旋和微扰论以后有机会我们再沿着这条路继续往下走。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑