4. 单模压缩态的数学表示
单模压缩态是连续变量量子信息中最基础的非经典态之一。要真正在仿真中“造出”它,必须先把算符语言翻译成可计算的数值形式。本节从压缩算符的定义出发,推导它在福克基下的展开式,然后给出可直接运行的数值构造代码,并用归一性、光子数分布和压缩量三条线索验证结果是否正确。
一、压缩算符与福克基展开的推导
单模压缩算符定义为
S(ξ) = exp[ (ξ* a² − ξ a†²) / 2 ],其中 ξ = r e^{iθ} 为复压缩参数,r ≥ 0 为压缩幅度,θ 为压缩角。
取 θ = 0(即实压缩参数 ξ = r)作为推导起点,此时 S(r) = exp[ r(a² − a†²)/2 ]。直接对指数展开并不方便,更有效的办法是利用压缩算符对产生湮灭算符的变换关系:
S†(r) a S(r) = a cosh r − a† sinh r,S†(r) a† S(r) = a† cosh r − a sinh r。
由此可推出压缩态 |ξ⟩ = S(ξ)|0⟩ 在福克基下的展开。对 θ = 0 的情形,展开式只含偶数光子数项:
|r⟩ = (1/√cosh r) Σ_{n=0}^{∞} [ (√(2n)! / (2^n n!)) (tanh r)^n ] |2n⟩。
这个式子有三个关键特征值得注意。第一,只有偶数光子数项,因为压缩算符成对产生光子,宇称守恒。第二,系数随 n 增大按 (tanh r)^n 衰减,r 越大衰减越慢,高阶项权重上升,平均光子数随之增加。第三,归一化因子 1/√cosh r 保证总概率为 1,这正是数值验证的抓手。
当 θ ≠ 0 时,展开系数变为复数,相位因子 e^{iθ} 进入每一项,但模长结构与 θ = 0 相同。仿真中通常先构造 θ = 0 的实压缩态,再通过相位旋转算符 e^{−iθ a†a} 作用得到任意压缩角,这样数值实现更简洁。
二、数值构造:从公式到代码
把展开式写成代码,核心是三件事:算系数、处理截断、加入相位。下面用 Python 与 NumPy 实现,截断维数取 N(即保留 |0⟩ 到 |N⟩ 共 N+1 个基矢)。
import numpy as np
from math import factorial, sqrt, cosh, tanh
def squeezed_state(r, theta=0.0, N=60):
"""构造单模压缩态在福克基下的数值态矢。
r: 压缩幅度; theta: 压缩角; N: 截断维数(保留 0..N)"""
psi = np.zeros(N + 1, dtype=complex)
norm = 1.0 / sqrt(cosh(r))
for n in range(0, N // 2 + 1):
m = 2 * n
coeff = sqrt(factorial(m)) / (2**n * factorial(n))
psi[m] = norm * coeff * (tanh(r) ** n)
# 相位旋转 e^{-i theta a^dag a}
phases = np.exp(-1j * theta * np.arange(N + 1))
return psi * phases
# 示例参数
r, theta, N = 1.0, 0.0, 60
psi = squeezed_state(r, theta, N)
print("归一化:", np.vdot(psi, psi).real)
print("平均光子数:", np.sum(np.arange(N+1) * np.abs(psi)**2))
print("理论 sinh^2(r):", np.sinh(r)**2)
这段代码有两个实现细节需要说明。其一,循环只遍历 n 到 N//2,因为奇数项系数恒为零,直接跳过可省一半计算。其二,相位旋转用对角算符 e^{−iθn} 逐项相乘实现,避免了显式构造大矩阵。截断维数 N 的选取不是随意的:当 r 较大时,tanh r 接近 1,系数衰减变慢,若 N 太小,被截掉的高阶项会带走可观概率,归一化检查就会明显偏离 1。
三、验证归一性与物理量
运行上述示例(r = 1.0,N = 60),归一化结果应非常接近 1,平均光子数应接近 sinh²(1) ≈ 1.381。若把 N 降到 10 再跑一次,会看到归一化降到 0.99 以下,这就是截断误差的直接体现。因此验证流程建议按以下顺序进行:
- 归一性检查:计算 Σ|c_n|²,与 1 的偏差应小于 1e−10(N 足够大时)。
- 宇称检查:奇数项系数应严格为零,可打印 |c_1|、|c_3| 确认。
- 平均光子数检查:⟨n⟩ 与 sinh²r 对比,偏差反映截断是否充分。
- 压缩判据检查:计算正交分量方差,验证某一分量方差低于真空噪声 1/2。
正交分量方差可用矩阵方法计算。定义 x = (a + a†)/√2,p = (a − a†)/(i√2),在截断基下构造 a 的矩阵(次对角元为 √(n+1)),再求 ⟨x²⟩ − ⟨x⟩²。对 θ = 0 的压缩态,x 分量方差应为 e^{−2r}/2,p 分量方差为 e^{2r}/2,两者乘积恒为 1/4,这正是最小不确定态的特征。当 r = 1 时,x 方差约 0.0677,p 方差约 3.694,前者明显低于 0.5 的真空噪声,压缩得到确认。
四、常见错误与排查
数值构造中最容易出错的地方有三处。第一,把归一化因子 1/√cosh r 漏乘,导致范数偏大,此时归一化结果会等于 cosh r 而非 1,很容易识别。第二,系数公式中 (2n)! 的平方根与 2ⁿn! 的位置写反,会使高阶项权重异常放大,表现为平均光子数远超 sinh²r。第三,相位旋转符号写反(用 e^{+iθn} 而非 e^{−iθn}),这不影响归一性和光子数分布,但会使压缩角方向相反,在后续干涉或测量仿真中造成系统性偏差。排查时建议固定 r、扫描 θ,观察 x 分量方差随 θ 的周期变化是否与理论一致。