4. 量子态表示:Fock态、相干态、压缩态、热态
好,咱们进入正题。量子光学仿真里,最核心的东西就是「量子态」。你想想看,没有态,你仿真个啥?
我个人习惯把量子态理解成「光子的户口本」——它告诉你光子住在哪个能级、怎么分布的、有没有「抱团」行为。QuTiP 里生成这些态非常方便,但前提是你得先搞懂它们物理上到底是个啥。
4.1 Fock态:最基础的「光子数」态
Fock态,也叫粒子数态。说白了就是「这个模式里有多少个光子」。比如 |0⟩ 是真空态,|1⟩ 是单光子态,|n⟩ 就是 n 个光子。
我在项目中遇到过一个问题:很多人以为 Fock 态就是「经典的光子数」,其实不是。Fock 态是量子化的,它的相位是完全不确定的。你测光子数很准,但相位就完全随机了。
QuTiP 里生成 Fock 态就一行代码:
from qutip import basis
# 生成 10 维空间中的 |3⟩ 态
psi_fock = basis(10, 3)
print(psi_fock)
可视化也很简单。我一般用 bar 图看光子数分布:
import matplotlib.pyplot as plt
from qutip import plot_fock_distribution
plot_fock_distribution(psi_fock)
plt.show()
你会看到,只有 n=3 那根柱子有值,其他全是 0。干净利落。
4.2 相干态:最「经典」的量子态
相干态,说白了就是激光器出来的那种光。它最接近经典电磁波,有确定的振幅和相位,但光子数是不确定的。
我记得第一次用 QuTiP 生成相干态时,看到它的光子数分布是泊松分布,心里还挺感慨——这跟经典光学的涨落完全对应上了。
生成相干态:
from qutip import coherent
# 生成 alpha = 2 的相干态,维度 20
alpha = 2.0
psi_coherent = coherent(20, alpha)
可视化时,我建议你看两个东西:
- 光子数分布:泊松分布,峰值在 |α|² 附近
- Wigner 函数:一个高斯鼓包,中心在 (Re(α), Im(α))
from qutip import plot_wigner
plot_wigner(psi_coherent)
plt.show()
你会看到一个漂亮的高斯峰。嗯,这就是经典光在相空间里的样子。
4.3 压缩态:比真空还「安静」的态
压缩态就有点反直觉了。它可以在某个正交分量上比真空态还「安静」——也就是噪声更低。
为什么会这样?因为海森堡不确定原理只要求两个正交分量的乘积有下限,但允许其中一个分量特别小,另一个特别大。压缩态就是利用了这个「漏洞」。
我在做量子精密测量项目时,压缩态帮了大忙。用它做干涉仪,信噪比能提升好几个数量级。
QuTiP 里生成压缩真空态:
from qutip import squeeze
# 压缩参数 r=1.0,相位 phi=0
r = 1.0
psi_squeezed = squeeze(20, r)
可视化压缩态,我强烈推荐看 Wigner 函数。你会看到它不再是圆形的,而是被压扁成椭圆:
plot_wigner(psi_squeezed)
plt.show()
椭圆的长轴方向就是噪声放大的方向,短轴方向就是噪声压缩的方向。
4.4 热态:最「混乱」的态
热态,就是热辐射那种光。灯泡、太阳、火苗,发出来的都是热态光。它的光子数分布是玻色-爱因斯坦分布,说白了就是「指数衰减」——光子数越高的概率越低。
热态在 QuTiP 里不是纯态,而是混态。需要用密度矩阵来表示:
from qutip import thermal_dm
# 平均光子数 n=2 的热态
nbar = 2.0
rho_thermal = thermal_dm(20, nbar)
可视化热态,我一般看它的光子数分布:
plot_fock_distribution(rho_thermal)
plt.show()
你会看到从 n=0 开始,概率一路往下掉。没有峰值,没有振荡,就是单调递减。
4.5 四种态的可视化对比
我个人习惯把这四种态放在一起对比,一目了然。下面这张 SVG 图展示了它们的核心特征:
4.6 实战:生成并对比四种态
最后,我给你一个完整的代码示例。这是我做课程时经常用的「四合一」对比脚本:
import matplotlib.pyplot as plt
from qutip import basis, coherent, squeeze, thermal_dm, plot_fock_distribution
# 参数设置
N = 20 # 维度
alpha = 2.0
r = 1.0
nbar = 2.0
# 生成四种态
states = {
'Fock |3⟩': basis(N, 3),
'相干 |α=2⟩': coherent(N, alpha),
'压缩真空 r=1': squeeze(N, r),
'热态 n̄=2': thermal_dm(N, nbar)
}
# 画图
fig, axes = plt.subplots(2, 2, figsize=(10, 8))
for ax, (name, state) in zip(axes.flatten(), states.items()):
plot_fock_distribution(state, ax=ax)
ax.set_title(name)
plt.tight_layout()
plt.show()
运行这段代码,你会看到四种截然不同的光子数分布。嗯,这就是量子光学的魅力——同样的光,不同的态,物理性质天差地别。