量子纠缠与 Bell 态:EPR 悖论、贝尔不等式与量子隐形传态

深入量子纠缠:Bell 态(EPR 对)构造、贝尔不等式(CHSH)与局域实在论、纠缠在通信中的应用(隐形传态/超密编码)、纠缠交换与纠缠度量、Qiskit 纠缠实验。

引言

纠缠是量子计算与量子通信的「燃料」——两个粒子一旦纠缠,无论相距多远都「彼此关联」。本文系统讲透纠缠:先从 Bell 态(EPR 对)的构造开始,用 Qiskit 亲手造出纠缠对;再讲著名的贝尔不等式(CHSH)——如何从实验上证明「量子世界没有局域隐藏变量」;接着讲纠缠的杀手级应用:量子隐形传态与超密编码,最后讲纠缠交换、纠缠度量与实用注意点,让你真正理解「量子世界的互联」。

前置:/quantum-qubit-gates-basics/(叠加与 CNOT)、/quantum-qiskit-programming/(Qiskit 实战)、/quantum-communication-networks/(QKD/量子网络)。


目录


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 施加的门纠缠态变
00I
01X
10Z
11ZX
# 超密编码核心(传 '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]] — 量子密码学基础

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「quantum」更多文章

  1. 量子错误缓解:ZNE、测量缓解与概率错误消除实战
  2. 量子电路编译与优化:门分解、电路深度与 Qiskit 编译管线
  3. 量子模拟器生态:状态向量、噪声模拟与张量网络方法