4. 量子跳跃法(Monte Carlo波函数法)

量子跳跃法(Quantum Jump Method),又称Monte Carlo波函数法,是求解开放量子系统主方程的一类重要数值方法。它的核心思想是:不直接演化密度矩阵 ρ,而是把主方程拆解为“非厄米有效哈密顿量连续演化”与“随机量子跳跃”两个部分,用大量随机纯态轨迹的平均来重构 ρ(t)。相比直接积分主方程,该方法把 N×N 的密度矩阵问题降为 N 维波函数的演化,在系统维度较大时具有明显的内存与计算优势。

本节围绕四个关键环节展开:算法主流程、跳跃时间的抽样方式、跳跃算符的选择规则,以及轨迹平均与统计误差的评估。

一、算法主流程

设系统哈密顿量为 H,环境通过一组 Lindblad 算符 Lk(k=1,…,M)与系统耦合,主方程为:

dρ/dt = -i[H, ρ] + Σ_k ( L_k ρ L_k† - ½{L_k†L_k, ρ} )

量子跳跃法引入非厄米有效哈密顿量:

H_eff = H - (i/2) Σ_k L_k† L_k

单条轨迹的演化分两步交替进行。第一步,在两次跳跃之间,波函数按 H_eff 做连续演化(通常用四阶Runge–Kutta或短时步指数传播),由于 H_eff 非厄米,波函数模方 ‖ψ‖² 会随时间单调衰减,衰减量恰好对应“尚未发生跳跃”的概率。第二步,当满足跳跃条件时,随机选择一个跳跃算符 Lk 作用到波函数上,并重新归一化,然后继续演化。整条轨迹在 t=0 到 t=T 之间产生一串跳跃时刻与跳跃类型,构成一次随机实现。

下图给出单条轨迹的算法结构与判断关系:

初始化 ψ(0),t=0,生成随机数 r₁ H_eff 连续演化 ψ(t+δt)=e^{-iH_eff δt}ψ(t) ‖ψ‖² 单调衰减 ‖ψ‖² < r₁ ? (跳跃条件) 否 继续推进 δt 保持 r₁ 不变 是 选择并施加 L_k ψ ← L_k ψ / ‖L_k ψ‖ 重新生成 r₁ 跳跃算符抽样 P_k ∝ ‖L_k ψ‖² 按累积概率选 k 循环至 t=T 单条轨迹输出 跳跃时刻 {t₁,t₂,…} 跳跃类型 {k₁,k₂,…} 末态 ψ(T) 记录 ρ_i = |ψ(T)⟩⟨ψ(T)| 重复 N 次 → 轨迹系综

二、跳跃时间的抽样

跳跃时刻的抽样有两种等价实现。第一种是“固定步长 + 模方判据”:每推进一个 δt,计算当前模方 ‖ψ(t)‖²,并与初始生成的均匀随机数 r₁∈(0,1] 比较,一旦 ‖ψ‖² < r₁ 即判定发生跳跃。这种写法实现简单,但跳跃时刻被量化到 δt 网格上,δt 需足够小以控制偏差。

第二种是“指数分布直接抽样”,更精确。由于在未跳跃条件下模方按 ‖ψ(t)‖² = exp(−∫₀ᵗ Γ(t′)dt′) 衰减,其中总跳跃率 Γ(t)=Σ_k⟨ψ|L_k†L_k|ψ⟩,因此等待时间 τ 服从参数为 Γ 的指数分布。可抽取均匀随机数 r∈(0,1],令

∫₀^τ Γ(t′) dt′ = -ln(r)

再对 τ 做数值求根(如二分法或Brent法),得到精确跳跃时刻。若 Γ 在区间内近似常数,则退化为 τ = −ln(r)/Γ。实际实现中常把两种方式结合:用大步长指数抽样定位跳跃区间,再在区间内用小步长细化。

抽样时务必使用“未跳跃条件概率”:每次跳跃后必须重新生成随机数,不能沿用旧值,否则会系统性高估或低估跳跃频率。

三、跳跃算符的选择

当判定发生跳跃时,需要决定由哪个 Lk 实施。正确做法是按条件概率抽样:先计算各通道的瞬时权重 wk=‖Lkψ‖²,归一化得 Pk=wk/Σjwj,再生成均匀随机数 r₂,按累积分布 Σk≤mPk 落入的区间确定 m,最后令 ψ←Lmψ/‖Lmψ‖。

算符集合的选择直接决定物理正确性。以二能级原子自发辐射为例,取 σ₋=|g⟩⟨e| 作为唯一跳跃算符,跳跃后原子被投影到基态,对应一次光子发射;若研究腔泄漏,则用腔模湮灭算符 a;若同时存在退相位,则需加入 √γφ σz 型算符。需要注意:跳跃算符必须与主方程中的 Lindblad 项一一对应,漏掉任何一个通道都会导致稳态布居数偏离。此外,Lk 前的系数(如 √γ)应统一放在算符定义中,避免在抽样权重与 H_eff 中重复或遗漏。

四、轨迹平均与统计误差

单条轨迹只给出一次随机实现,物理量期望值需对 N 条独立轨迹求平均:

⟨A⟩(t) ≈ (1/N) Σ_{i=1}^{N} ⟨ψ_i(t)|A|ψ_i(t)⟩

由于各轨迹相互独立,估计量的统计误差按 1/√N 收敛。设单轨迹观测量方差为 σ²,则均值标准误为 σ/√N。实践中可用滑动窗口估计 σ,并据此判断 N 是否足够:若要求相对误差小于 1%,通常需要 N 在 10³~10⁴ 量级,具体取决于观测量涨落大小。对于布居数这类有界量,方差较小,收敛较快;对于关联函数或高阶矩,涨落大,需要更多轨迹。

误差分析还要注意两点。其一,轨迹间必须使用独立随机数流,避免相关性导致误差被低估;可用不同随机种子并行生成。其二,除统计误差外还存在离散化误差:δt 过大时跳跃时刻与连续演化均有偏差,应做 δt 收敛性检验,即固定 N 减小 δt,观察结果是否稳定。下表给出一个示例性的收敛判断框架(数值为教学假设,非实测):

轨迹数 N布居数均值标准误估计相对误差
1000.5120.0214.1%
10000.4980.00681.4%
100000.5010.00210.42%

可以看到标准误大致按 1/√N 下降,与理论一致。若发现误差不随 N 下降,应首先排查随机数相关性或跳跃判据实现错误,而不是盲目增加轨迹数。

常见陷阱:把 ‖ψ‖² 的衰减误当作概率密度直接归一化而不重新抽样;或在跳跃后忘记归一化波函数,导致后续模方判据整体偏移。这两类错误都会让轨迹统计偏离主方程解,且往往表现为“结果看似合理但稳态值系统性偏差”。

综上,量子跳跃法的可靠性建立在三个一致之上:H_eff 与跳跃算符集合同主方程一致、抽样判据与条件概率一致、轨迹独立性与误差估计一致。掌握这三点,才能在较大系统上放心地用轨迹平均替代密度矩阵演化。