3. 密度矩阵建模:纯态与混合态的区分与计算

密度矩阵:从系综描述到可计算矩阵

密度矩阵(density matrix)是量子数据建模中描述"统计系综"的核心对象。与态矢量只能描述纯态不同,密度矩阵可以同时表达量子叠加与经典不确定性。给定一个系综描述,构造密度矩阵的标准公式为:

ρ = Σᵢ pᵢ |ψᵢ⟩⟨ψᵢ|

其中 pᵢ 是第 i 个态在系综中出现的经典概率(Σpᵢ = 1),|ψᵢ⟩⟨ψᵢ| 是对应纯态的投影算符。构造完成后,通过纯度 γ = Tr(ρ²) 判断:γ = 1 为纯态,γ < 1 为混合态。对于两能级系统,ρ 是一个 2×2 的厄米矩阵,可用布洛赫向量 r = (x, y, z) 参数化为 ρ = (I + r·σ)/2,纯度与布洛赫向量长度的关系为 γ = (1 + |r|²)/2。

系综描述(输入) p₁ = 0.7,|0⟩ p₂ = 0.3,|+⟩ |+⟩ = (|0⟩+|1⟩)/√2 Σpᵢ = 1 ✓ 构造 ρ ρ = Σ pᵢ|ψᵢ⟩⟨ψᵢ| 投影算符加权求和 2×2 厄米矩阵 ρ 数值矩阵 ⎡ 0.85 0.15 ⎤ ⎣ 0.15 0.15 ⎦ Tr(ρ) = 1.00 ✓ ρ = ρ† ✓ 纯度计算 γ = Tr(ρ²) = 0.85² + 2·0.15² + 0.15² = 0.7675 判定结果 γ = 0.7675 < 1 → 混合态 |r|² = 2γ−1 = 0.535 纯态判据:γ = 1;混合态:γ < 1。两能级系统 γ = (1+|r|²)/2

构造与计算:一个可复现的数值示例

下面用 Python(NumPy)完成上述系综的密度矩阵构造、纯度计算与判定。示例数据为教学假设:系综以 0.7 概率处于 |0⟩,以 0.3 概率处于 |+⟩。所有结果均可由给定输入直接推出。

import numpy as np

# 1. 定义基与纯态(列向量)
ket0 = np.array([[1.0], [0.0]], dtype=complex)
ket1 = np.array([[0.0], [1.0]], dtype=complex)
ket_plus = (ket0 + ket1) / np.sqrt(2)

# 2. 系综:概率 + 态
ensemble = [(0.7, ket0), (0.3, ket_plus)]

# 3. 构造密度矩阵 ρ = Σ pᵢ |ψᵢ⟩⟨ψᵢ|
rho = np.zeros((2, 2), dtype=complex)
for p, psi in ensemble:
    proj = psi @ psi.conj().T      # 投影算符 |ψ⟩⟨ψ|
    rho += p * proj

print("rho =\n", np.round(rho, 4))
# [[0.85+0.j  0.15+0.j]
#  [0.15+0.j  0.15+0.j]]

# 4. 基本性质验证
print("Tr(rho) =", np.round(np.trace(rho).real, 4))          # 1.0
print("厄米:", np.allclose(rho, rho.conj().T))               # True
eigvals = np.linalg.eigvalsh(rho)
print("本征值:", np.round(eigvals, 4))                        # [0.0, 1.0]? 见下
print("半正定:", np.all(eigvals >= -1e-12))                 # True

# 5. 纯度与判定
purity = np.trace(rho @ rho).real
print("纯度 γ =", round(purity, 4))                           # 0.7675
print("判定:", "纯态" if np.isclose(purity, 1.0) else "混合态")

# 6. 布洛赫向量交叉验证
x = 2 * rho[0, 1].real
y = 2 * rho[1, 0].imag
z = (rho[0, 0] - rho[1, 1]).real
r_norm_sq = x**2 + y**2 + z**2
print("|r|² =", round(r_norm_sq, 4), " (1+|r|²)/2 =", round((1 + r_norm_sq) / 2, 4))

运行后应观察到:ρ 的对角元为 0.85 与 0.15,非对角元为 0.15;迹为 1,矩阵厄米且半正定;纯度 γ = 0.7675,与布洛赫向量公式 (1+|r|²)/2 一致,判定为混合态。注意本征值并非 [0,1],而是约 [0.2325, 0.7675]——两个本征值都严格大于 0,这正是混合态"无零本征值"的特征。

构造时务必用列向量 psi 与行向量 psi.conj().T 做外积,顺序不能反;若误用 psi.T @ psi 会得到标量而非矩阵。判定纯态时用 np.isclose(purity, 1.0) 而非 == 1.0,避免浮点误差误判。

关键判据与常见陷阱

检查项纯态混合态本例数值
纯度 Tr(ρ²)= 1< 10.7675
本征值一个为 1,其余为 0多个非零≈ 0.2325, 0.7675
布洛赫向量长度 |r|= 1(球面)< 1(球内)≈ 0.731
Tr(ρ²) 与 Tr(ρ) 关系相等Tr(ρ²) < Tr(ρ)0.7675 < 1

常见陷阱:① 系综概率未归一化,导致 Tr(ρ) ≠ 1;② 把"量子叠加"(如 |+⟩)误当作混合态——单个 |+⟩ 是纯态,只有经典概率混合才产生混合态;③ 用态矢量内积判断纯度,对混合态无定义,必须回到密度矩阵。验证时至少同时检查 Tr(ρ)=1、厄米性、半正定性与纯度四项,任一不满足即说明构造有误。