引言
纠缠是量子计算与量子通信的「燃料」——两个粒子一旦纠缠,无论相距多远都「彼此关联」。本文系统讲透纠缠:先从 Bell 态(EPR 对)的构造开始,用 Qiskit 亲手造出纠缠对;再讲著名的贝尔不等式(CHSH)——如何从实验上证明「量子世界没有局域隐藏变量」;接着讲纠缠的杀手级应用:量子隐形传态与超密编码,最后讲纠缠交换、纠缠度量与实用注意点,让你真正理解「量子世界的互联」。
前置:/quantum-qubit-gates-basics/(叠加与 CNOT)、/quantum-qiskit-programming/(Qiskit 实战)、/quantum-communication-networks/(QKD/量子网络)。
目录
- 1. 纠缠是什么:两个粒子「心灵感应」
- 2. Bell 态构造:用 H + CNOT 造出纠缠对
- 3. 测量纠缠态:相关性与坍缩
- 4. 贝尔不等式:CHSH 实验击碎局域实在论
- 5. 量子隐形传态:不用传粒子的「传送」
- 6. 超密编码:一个比特传两个比特
- 7. 纠缠交换与纠缠度量
- 8. 真机实验注意点:退相干与保真度
- 9. Qiskit 实战:完整纠缠实验
- 10. 速查表
- 延伸阅读
1. 纠缠是什么:两个粒子「心灵感应」
纠缠态的直觉:
Alice 和 Bob 共享一对纠缠光子
无论相距多远,测 Alice → Bob 的结果立即确定且相关
「测量 Alice 得到 0」→ Bob 必为 1(反相关)或 0(正相关)
四个 Bell 态(EPR 对)——最大纠缠态:
|Φ⁺⟩ = (|00⟩ + |11⟩) / √2
|Φ⁻⟩ = (|00⟩ - |11⟩) / √2
|Ψ⁺⟩ = (|01⟩ + |10⟩) / √2
|Ψ⁻⟩ = (|01⟩ - |10⟩) / √2
为什么惊人:
量子力学说:测量前两个比特「没有确定值」,处于叠加
测量一个 → 另一个「瞬间」确定 → 爱因斯坦称「幽灵般的超距作用」(EPR 悖论)
心智:纠缠 = 共享的量子态——它不是「通信」,而是两个系统成了「一个整体」;测量破坏了这种整体性。
2. Bell 态构造:用 H + CNOT 造出纠缠对
经典三连:H 门 + CNOT 造出 |Φ⁺⟩:
|00⟩ --H(0)--> (|0⟩+|1⟩)/√2 ⊗ |0⟩
--CNOT(0→1)--> (|00⟩ + |11⟩)/√2 = |Φ⁺⟩
from qiskit import QuantumCircuit, Aer, execute
# 构造 |Φ⁺⟩
qc = QuantumCircuit(2, 2)
qc.h(0) # 叠加
qc.cx(0, 1) # 纠缠(CNOT 控制→目标)
qc.measure([0,1], [0,1])
# 模拟
backend = Aer.get_backend('qasm_simulator')
result = execute(qc, backend, shots=1024).result()
counts = result.get_counts()
print(counts) # 只出现 '00' 和 '11',各约 50%
为什么只出现 00/11:
|Φ⁺⟩ = (|00⟩ + |11⟩)/√2 → 测量要么都 0、要么都 1
绝不会出现 01 或 10 → 这就是「相关」的体现
| Bell 态 | 构造(H + CNOT 变体) |
|---|---|
| Φ⁺⟩ | |
| Ψ⁺⟩ | |
| Φ⁻⟩ | |
| Ψ⁻⟩ |
记忆:H + CNOT = 造纠缠的万能钥匙——一个叠加、一个纠缠,两个门造出最大纠缠态。
3. 测量纠缠态:相关性与坍缩
测量纠缠态的「相关性」:
同一基(如都测 Z):结果完全相关(00 或 11)
不同基(Alice 测 Z、Bob 测 X):结果「部分相关」——这制造了贝尔不等式实验
测量坍缩的语义:
测量前:|Φ⁺⟩ 是两个比特的整体
测量 0:整个系统坍缩到 |00⟩ → 另一比特「被迫」也是 0
这里没有「信号传播」——是同一个量子态被投影了
# 测量基的影响
from qiskit import QuantumCircuit, Aer, execute
qc = QuantumCircuit(2, 1)
qc.h(0); qc.cx(0, 1)
qc.h(1) # Bob 用 X 基测量
qc.measure(1, 0)
# 结果:50/50,相关性「被不同基破坏」
记忆:「同一基全相关、不同基部分相关」是纠缠测量的核心规律——贝尔实验就建立在「不同基的相关统计」上。
4. 贝尔不等式:CHSH 实验击碎局域实在论
问题:有没有「隐藏变量」让纠缠只是表象?——贝尔用数学回答了:没有。
CHSH 不等式(最常用):
假设「局域实在论」成立(结果在测量前已确定,且不超距影响)
→ 相关性组合 S 必须满足:|S| ≤ 2
量子力学预测:S = 2√2 ≈ 2.828 > 2
实验:测到 S ≈ 2.8 → 局域实在论被推翻
CHSH 实验设置:
Alice 在基 a ∈ {a1, a2} 测,Bob 在基 b ∈ {b1, b2} 测
S = E(a1,b1) + E(a1,b2) + E(a2,b1) - E(a2,b2)
(E = 相关度:+1 全相关、-1 全反相关)
# Qiskit 实现 CHSH(示意,简化)
from qiskit import QuantumCircuit, Aer, execute
def chsh_circuit(a_angle, b_angle):
qc = QuantumCircuit(2, 2)
qc.h(0); qc.cx(0, 1) # 造纠缠
qc.rz(a_angle, 0); qc.rz(b_angle, 1) # 不同测量基
qc.measure_all()
return qc
# 统计四个组合的相关度 → 算 S → 看是否 > 2
意义:
实验结果 S≈2.8 → 局域隐藏变量不存在
→ 量子纠缠是「真实且非局域的」→ 这是量子技术的根基
记忆:CHSH:局域实在论 ≤2、量子力学 =2√2——实验测到 2.8,用数据钉死了「超距关联是真实的」。
5. 量子隐形传态:不用传粒子的「传送」
隐形传态 = 用纠缠对 + 经典通信,传一个量子态:
前提:Alice 和 Bob 共享一对纠缠(|Φ⁺⟩)
目标:Alice 把她的「未知量子态 |ψ⟩」传给 Bob
步骤:
1. Alice 把 |ψ⟩ 与她的纠缠半对做 Bell 测量
2. 得到 2 比特经典结果(00/01/10/11)
3. 经典信道把结果发给 Bob(普通电话即可)
4. Bob 根据结果施加对应门(I / X / Z / ZX)→ 完美得到 |ψ⟩
为什么不是「瞬移」:
步骤 3 要传 2 比特经典信息 → 不超光速!
信息没有真正「瞬移」——只是量子态转移了
# Qiskit 隐形传态(核心部分)
from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister
qr = QuantumRegister(3) # q0:未知态, q1:Alice半对, q2:Bob半对
cr = ClassicalRegister(2)
qc = QuantumCircuit(qr, cr)
# 1. 制备未知态 |ψ⟩ = Ry(θ)|0⟩
qc.ry(0.7, 0)
# 2. 共享纠缠对 |Φ⁺⟩(1,2)
qc.h(1); qc.cx(1, 2)
# 3. Alice 的 Bell 测量(0,1)
qc.cx(0, 1); qc.h(0)
qc.measure(0, 0); qc.measure(1, 1)
# 4. Bob 按经典结果修正
qc.x(2).c_if(cr, 2) # 若结果含 '1' 于比特1 → X
qc.z(2).c_if(cr, 1) # 若结果含 '1' 于比特0 → Z
记忆:隐形传态 = Bell 测量 + 经典两比特 + 条件修正门——不是瞬移(要经典信道),是「量子态转移 + 经典辅助」。
6. 超密编码:一个比特传两个比特
超密编码 = 隐形传态的「逆过程」:传 1 个量子比特,送达 2 个经典比特:
1. Alice 和 Bob 共享纠缠对
2. Alice 想传 2 比特信息(00/01/10/11)
3. 她对自己的比特施加对应门(I / X / Z / XZ)→ 改变纠缠态
4. 把「这一个比特」发给 Bob
5. Bob 对两比特做 Bell 测量 → 读出 2 比特信息
编码表:
| 想传信息 | Alice 施加的门 | 纠缠态变 |
|---|---|---|
| 00 | I | |
| 01 | X | |
| 10 | Z | |
| 11 | ZX |
# 超密编码核心(传 '01' → 施加 X)
qc = QuantumCircuit(2, 2)
qc.h(0); qc.cx(0, 1) # 共享 |Φ⁺⟩
qc.x(0) # Alice 编码 '01'
qc.cx(0, 1); qc.h(0) # Bob 解 Bell 测量
qc.measure_all() # 读出 01
记忆:隐形传态「两经典+一纠缠传一量子」,超密编码「一量子传两经典」——两个方向都靠 Bell 测量 + 纠缠对,互为镜像。
7. 纠缠交换与纠缠度量
纠缠交换(Entanglement Swapping):让从未相互作用的两个粒子纠缠起来:
A-B 纠缠 + C-D 纠缠
对 B、C 做 Bell 测量 → A 与 D 纠缠!
→ 让「没见过面」的两个粒子产生纠缠 → 量子中继的核心
纠缠度量(怎么算有多纠缠):
1. 部分迹(Partial Trace):对整体态求 B 的迹 → 得到 A 的约化密度矩阵
2. 冯·诺依曼熵:S(ρA) = -tr(ρA log ρA)
纯纠缠态(如 |Φ⁺⟩)→ S = 1(最大纠缠)
可分离态 → S = 0(无纠缠)
3. 保真度:与理想 Bell 态的接近度
# 用密度矩阵算纠缠熵
import numpy as np
from qiskit.quantum_info import DensityMatrix, partial_trace
# 构造 |Φ⁺⟩ 密度矩阵
dm = DensityMatrix.from_label('00').evolve(...) # 简化
rhoA = partial_trace(dm, [1]) # 约化到 A
entropy = -np.trace(rhoA @ np.log(rhoA)) # 冯诺依曼熵
print("纠缠熵:", entropy) # 1 = 最大纠缠
记忆:纠缠交换让无关粒子纠缠(量子中继的根);纠缠熵 S=1 是最大纠缠——测纠缠就是算约化态的熵。
8. 真机实验注意点:退相干与保真度
真机上造纠缠的几个现实问题:
| 问题 | 影响 | 对策 |
|---|---|---|
| 退相干 | 纠缠随时间衰减 | 快速执行、低深度电路 |
| 门错误 | Bell 态不完美 | 增加 shots、错误缓解 |
| 测量错误 | 相关性被稀释 | 测量纠错 |
| 不同基的精度 | 旋转角误差 | 校准 |
验证纠缠是否成功:
# 看保真度:测出的统计 vs 理想 Bell 态
from qiskit.quantum_info import state_fidelity, Statevector
ideal = Statevector.from_label('00').evolve(...) # 理想 |Φ⁺⟩
actual = ... # 真机重建的密度矩阵
print("保真度:", state_fidelity(ideal, actual)) # 接近 1 越好
记忆:真机纠缠的敌人是退相干与门错——低深度 + 多 shots + 保真度校验,是纠缠实验的三板斧。
9. Qiskit 实战:完整纠缠实验
一站式:造 Bell 态 + 验证相关性 + 估保真度:
from qiskit import QuantumCircuit, Aer, execute
from qiskit.quantum_info import Statevector
# 1. 造 |Φ⁺⟩
qc = QuantumCircuit(2)
qc.h(0); qc.cx(0, 1)
# 2. 验证态矢量
sv = Statevector(qc)
print("状态:", sv) # (|00⟩+|11⟩)/√2
# 3. 模拟测量相关性
qc.measure_all()
result = execute(qc, Aer.get_backend('qasm_simulator'), shots=8192).result()
counts = result.get_counts()
print("测量分布:", counts) # 几乎只有 00 和 11
# 4. 计算相关度 E = P(same) - P(diff)
p_same = (counts.get('00',0) + counts.get('11',0)) / 8192
p_diff = (counts.get('01',0) + counts.get('10',0)) / 8192
print(f"相关度 E = {p_same - p_diff:.3f}") # ≈ 1.0(最大相关)
# 5. 换基破坏相关性(Bob 用 X 基)
qc2 = QuantumCircuit(2, 1)
qc2.h(0); qc2.cx(0, 1); qc2.h(1); qc2.measure(1, 0)
print("不同基结果:", execute(qc2, Aer.get_backend('qasm_simulator'), shots=4096).result().get_counts())
要换真机:用 SamplerV2 提交到真实后端,对比模拟器看退相干影响。
记忆:纠缠实验四步——造 Bell 态、验态矢量、测相关性 E≈1、换基见破坏——模拟器秒出,真机看退相干。
10. 速查表
| 需求 | 做法 |
|---|---|
| 造纠缠 | H + CNOT |
| 验证相关 | 测量分布只见 00/11 |
| 击碎局域实在论 | CHSH 实验 S≈2.8 > 2 |
| 传量子态 | 隐形传态(Bell 测量 + 经典 2 比特) |
| 传 2 经典比特 | 超密编码(1 量子比特) |
| 纠缠无关粒子 | 纠缠交换 |
| 度量纠缠 | 冯诺依曼熵 S=1 |
| 真机验证 | 保真度 + 多 shots |
| 换基测相关 | Bob 加 H 门 |
一句话记忆:纠缠是量子世界的「整体性」——H+CNOT 造 Bell 态、同基全相关不同基部分相关;CHSH 用 S≈2.8 击碎局域实在论;隐形传态 = Bell 测量 + 经典 2 比特传量子态、超密编码 = 1 量子传 2 经典;纠缠交换让无关粒子纠缠、冯诺依曼熵 S=1 是最大纠缠——纠缠是量子技术的燃料。
延伸阅读
- /quantum-qubit-gates-basics/ — 叠加、CNOT 与测量
- /quantum-communication-networks/ — QKD/BB84 与量子中继
- /quantum-qiskit-programming/ — Qiskit 编程
- /quantum-error-mitigation/ — 纠缠实验的噪声缓解
- [[cs-fundamentals]] — 概率与信息论
- [[security]] — 量子密码学基础
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。