引言
量子计算的「最后一公里」不是造出更多量子比特,而是让它们稳定工作。真实量子比特的噪声远高于经典比特:退相干时间短、门操作有误差、测量有扰动。如果不加干预,一次稍微复杂的计算就会因噪声累积而彻底失效。
量子纠错(Quantum Error Correction, QEC)是解决之道:用多个物理量子比特编码一个逻辑量子比特,通过冗余与测量揪出并修复错误,让信息在噪声中存活。本文从「为什么经典纠错不能照搬」讲起,逐步构建比特翻转码、相位翻转码、Shor 码与稳定子码,最后抵达当前最有希望的表面码与容错阈值定理——这正是 Google、IBM 通往实用量子计算的技术主航道。
前置:量子比特与门基础(https://plumephp.com/quantum-qubit-gates-basics/)。若需先了解量子算法为何需要长寿命量子比特,可参考 https://plumephp.com/quantum-algorithms-shor-grover/。
目录
- 1. 为什么量子纠错必不可少
- 2. 经典纠错 vs 量子纠错
- 3. 比特翻转码:最简单的纠错码
- 4. 相位翻转码与测量问题
- 5. Shor 码:同时对抗两类错误
- 6. 稳定子码与容错原理
- 7. 表面码:通往实用化的主流方案
- 8. 阈值定理与容错开销
- 9. 总结:量子纠错的现状与挑战
- 延伸阅读
1. 为什么量子纠错必不可少
1.1 量子比特的脆弱性
| 噪声源 | 表现 |
|---|---|
| 退相干(T2) | 叠加态逐渐坍缩,相位信息丢失 |
| 能量弛豫(T1) | 激发态回落基态 |
| 门误差 | 单/双比特门操作不完美 |
| 串扰 | 相邻比特互相干扰 |
1.2 问题严重性
- Shor 算法跑一个 2048 位 RSA 分解,需要的逻辑电路包含数十亿个门。
- 单个门误差哪怕 0.1%,累积起来足以毁掉整个计算。
- 物理比特错误率必须压到某个阈值以下,纠错才有意义。
1.3 一句话
量子纠错的目标:用大量「有噪声」的物理比特,造出一个「可靠」的逻辑比特。
2. 经典纠错 vs 量子纠错
2.1 经典纠错怎么做
经典重复码:0 → 000,1 → 111,多数表决纠正一位错误。能这么做靠两件事:
- 可以复制:把比特复制成三份。
- 可以测量:读取后判断多数。
2.2 为什么量子不能照搬
| 经典 | 量子 |
|---|---|
| 可复制比特 | 不可克隆定理:无法复制未知量子态 |
| 可直接测量 | 测量会坍缩叠加态 |
| 错误是比特翻转 | 错误是连续相位/幅值偏移 |
2.3 量子纠错的破题思路
- 不可克隆 → 用纠缠:把信息分散到多个物理比特的联合态,而非复制。
- 不可直接测 → 间接测量:只测量「错误发生没有」(稳定子测量),不碰数据比特本身。
3. 比特翻转码:最简单的纠错码
3.1 编码思想
把一个逻辑比特 |ψ⟩ = α|0⟩ + β|1⟩ 编码到三个物理比特:
|0⟩ → |000⟩
|1⟩ → |111⟩
|ψ⟩ → α|000⟩ + β|111⟩
注意:这不是复制(|000⟩ 是纠缠态),完美避开不可克隆定理。
3.2 编码电路(CNOT 链)
from qiskit import QuantumCircuit
qc = QuantumCircuit(3, 2)
# 逻辑比特在第 0 位,用 CNOT 把 |1⟩ 态扩散到辅助位
qc.cx(0, 1)
qc.cx(0, 2)
3.3 探测错误:测量错误算子而不坍缩信息
关键操作:测量 奇偶校验(第0位 xor 第1位、第1位 xor 第2位),结果叫症状(Syndrome)。
| 症状 (s1, s2) | 判定 |
|---|---|
| (0, 0) | 无错误 |
| (1, 0) | 第 0 位翻转 |
| (0, 1) | 第 2 位翻转 |
| (1, 1) | 第 1 位翻转 |
3.4 纠错
根据症状施加对应的 X 门(翻转回去),就完成纠错。整个过程没有读取逻辑比特的值,叠加态得以保全。
4. 相位翻转码与测量问题
4.1 相位翻转:另一种错误
相位错误把 |+⟩ 变成 |−⟩(叠加态符号翻转),比特翻转码对付不了。
4.2 相位翻转码
技巧:先用 Hadamard 门把比特从计算基转到符号基,相位错误就变成比特翻转,再用比特翻转码的逻辑:
qc.h(0); qc.h(1); qc.h(2) # 转换基
qc.cx(0, 1); qc.cx(0, 2) # 编码
4.3 核心洞察
比特翻转与相位翻转可以通过改变基互换。抓住这一点,就能组合出同时纠两类错误的码。
5. Shor 码:同时对抗两类错误
5.1 思路:嵌套编码
Shor 码用 9 个物理比特编码 1 个逻辑比特:
把相位翻转码(3比特)当作外层,
其中每个「比特」再用比特翻转码(3比特)展开 → 3×3 = 9 比特
5.2 能纠什么
- 单比特翻转错误
- 单比特相位错误
- 甚至某些双比特错误
5.3 历史意义
1995 年 Shor 提出这个码,证明了「量子纠错在理论上可行」——这是量子计算从「纯物理设想」迈向「工程现实」的转折点。
6. 稳定子码与容错原理
6.1 稳定子码的统一框架
现代量子纠错都用**稳定子码(Stabilizer Code)**描述:一组可对易的算子(稳定子),逻辑比特是所有稳定子本征值 +1 的态。测量稳定子得到症状,症状定位错误。
6.2 容错(Fault Tolerance)原则
纠错过程本身也会引入错误,所以要求:
- 门是容错的:编码后的逻辑门不会把单比特错误放大成多比特错误。
- 测量是容错的:用辅助比特「猫态」等方式避免测量错误污染数据。
- 分层执行:逻辑操作在纠错后执行,错误不传播。
6.3 一句话
容错 = 「纠错 + 防错」:不仅修已有错误,还要保证纠错动作本身不制造更多错误。
7. 表面码:通往实用化的主流方案
7.1 为什么是表面码
- 局部性:纠错只需邻居比特交互,硬件布局友好。
- 高阈值:物理错误率阈值约 1%,当前超导比特已可达到。
- 可扩展:增加码距(更大网格)即可指数级压低逻辑错误率。
7.2 结构
数据比特与测量比特在二维网格交替排列:
○ ● ○ ● ○
● ○ ● ○ ●
○ ● ○ ● ○
● ○ ● ○ ●
○ ● ○ ● ○
●=数据比特 ○=测量(稳定子)比特
- 面稳定子(Z 型)与顶稳定子(X 型)交错测量。
- 每个逻辑比特占用
d × d网格(d=码距)。
7.3 逻辑错误率公式
逻辑错误率 ≈ (物理错误率 / 阈值) ^ (码距/2)
码距每 +2,逻辑错误率近似平方下降——这是表面码的指数红利。
7.4 谷歌 Willow 的里程碑
2024 年 Google Willow 芯片用表面码演示:码距从 3 增到 7 时,逻辑错误率对半下降——首次实验证明「加码就能降错」,是纠错实用化的关键一步。
8. 阈值定理与容错开销
8.1 阈值定理
阈值定理(Threshold Theorem):只要物理错误率低于某个阈值,可以通过分层纠错把逻辑错误率压到任意低。
物理错误率 p < p_threshold (≈1% for surface code)
⇒ 逻辑错误率 → 0(通过增加码距/分层)
8.2 资源开销的残酷现实
| 指标 | 现状 |
|---|---|
| 物理:逻辑比特比 | 表面码通常 100:1 ~ 1000:1 |
| 逻辑门数 | 一个逻辑 T 门需数百物理门 |
| 里程碑 | 百万物理比特才能跑实用 RSA 分解 |
8.3 技术路线的博弈
| 路线 | 代表 | 优势 |
|---|---|---|
| 超导 | Google/IBM | 门速快、规模化成熟 |
| 离子阱 | Quantinuum/IonQ | 保真度高、全连接 |
| 中性原子 | QuEra/Pasqal | 高连接、可重构 |
| 光量子 | 中科大/Borealis | 温度低、光子网络 |
9. 总结:量子纠错的现状与挑战
9.1 关键结论
| 层级 | 内容 |
|---|---|
| 为什么需要 | 噪声使长计算失效 |
| 怎么纠 | 纠缠编码 + 稳定子测量 |
| 主流方案 | 表面码 + 容错阈值 |
| 当前瓶颈 | 物理:逻辑比过高、T 门开销大 |
9.2 下一步
- 逻辑量子比特从「证明可行」走向「规模化」。
- 错误率仍需 10-100 倍下降才能达到商业价值。
- 与 [[ai]] 推理加速等应用结合,仍需数年。
9.3 一句话心法
量子纠错是「用量子比特的数量,换计算结果的确定性」——理解它,就理解了为什么量子计算机不是「更大更快」,而是「更可靠」。
延伸阅读
- https://plumephp.com/quantum-qubit-gates-basics/ — 量子比特与门基础
- https://plumephp.com/quantum-algorithms-shor-grover/ — 需要长寿命比特的算法
- https://plumephp.com/quantum-post-quantum-cryptography/ — 后量子时代的密码学应对
- Google Willow 博客 与 IBM Qiskit 纠错教程
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。