3. 量子纠错核心思想与Shor码概览
在理想模型中,量子比特可以保持任意叠加态并精确演化;但在真实物理系统中,退相干、弛豫、控制误差和读出误差会不断破坏量子态。更棘手的是,量子纠错不能像经典纠错那样简单复制比特:未知量子态不可克隆,测量又会坍缩态。因此,量子纠错的核心思想不是“复制并比较”,而是把逻辑信息非局域地分散到多个物理量子比特的纠缠态中,通过测量稳定子(校验算符)获取“错误症状”而不读取逻辑信息,再依据症状施加纠正操作。
理解这一思想最直接的入口是三量子比特重复码。它把逻辑比特编码为 |0L⟩=|000⟩、|1L⟩=|111⟩,用两个校验算符 Z1Z2 与 Z2Z3 检测比特翻转。若只有单个 X 错误,症状可唯一对应错误位置:症状(0,0)无错,(1,0)对应第1位,(1,1)对应第2位,(0,1)对应第3位。但该码存在两个根本局限:其一,它只能纠正 X 型(比特翻转)错误,对 Z 型(相位翻转)错误完全无感,因为 Z 作用在 |000⟩ 与 |111⟩ 上只产生整体相位;其二,它无法同时处理 X 与 Z 错误,而一般单比特错误是 X、Z 或 Y(Y=iXZ)的任意组合。
关键判断:一个量子纠错码要“纠正任意单比特错误”,必须同时具备探测 X 错误和 Z 错误的能力,并且对 X、Z、Y 三类错误都能给出可区分的症状。这正是 Shor 九比特码的设计出发点。
Shor 码采用“两级嵌套”的编码结构:先用相位翻转码保护相位,再用重复码保护比特翻转。具体地,将 9 个物理量子比特分成三组,每组 3 个,记为块 A、块 B、块 C。逻辑 |0L⟩ 编码为三组 (|000⟩+|111⟩)/√2 的直积形式,逻辑 |1L⟩ 则把每组整体相位翻转。等价地看,每个三比特块内部是一个相位翻转码(用 X 型校验区分 Z 错误),三个块之间又构成一个比特翻转重复码(用 Z 型校验区分 X 错误)。这种“块内管相位、块间管比特”的分工,使 X、Z、Y 错误都能被定位到具体块与具体比特。
上图展示了 Shor 码的编码与定位逻辑。需要强调,图中“块整体相位 = 逻辑相位”意味着每个三比特块内部的三位处于 GHZ 型纠缠,任何单比特 Z 错误都会破坏块内相位一致性,被块内 X 型校验捕获;而任何单比特 X 错误会翻转该比特所在块的整体相位关系,被块间 Z 型校验捕获。对于 Y 错误,它同时包含 X 与 Z 分量,因此会同时触发块内与块间症状,联合两组症状即可唯一定位到“哪个块、块内哪一位”。
从稳定子视角看,Shor 码共有 8 个独立稳定子生成元:块内三个 X 型算符 X1X2X3、X4X5X6、X7X8X9,以及块间两个 Z 型算符 Z1Z2Z3Z4Z5Z6 与 Z4Z5Z6Z7Z8Z9,再加上若干用于固定块内相对相位的辅助稳定子。9 个物理比特减去 8 个约束,恰好剩下 1 个逻辑比特自由度,这与编码率 1/9 一致。仿真时,我们通常不直接构造 512 维矩阵,而是用稳定子表(stabilizer tableau)表示态,使 9 比特系统的演化与测量在多项式时间内可算。
仿真实现要点:在电路仿真中,编码阶段可用 8 个 CNOT 加若干 H 门完成;错误注入阶段对指定比特施加 X、Z 或 Y;症状提取阶段逐个测量稳定子生成元(或使用辅助比特做奇偶校验测量);解码阶段根据症状查表选择纠正操作。由于 Shor 码对任意单比特错误可纠,症状与错误位置应形成一一映射,这一映射表就是仿真验证的核心检查对象。
下表给出单比特错误与症状的对应关系示例(以块 A 内错误为例,症状按“块内 X 校验、块间 Z 校验”顺序记录,“1”表示测得 −1 本征值):
| 错误位置与类型 | 块 A 内 X 症状 | 块间 Z 症状 | 解码结论 |
|---|---|---|---|
| 无错误 | 0 | 0 | 不纠正 |
| q1 发生 X | 0 | 1(块 A) | 对 q1 施加 X |
| q2 发生 Z | 1(q2 位) | 0 | 对 q2 施加 Z |
| q3 发生 Y | 1(q3 位) | 1(块 A) | 对 q3 施加 Y |
需要提醒的是,Shor 码只能保证在“至多一个物理比特出错”的假设下正确纠错;若两个比特同时出错,症状可能映射到第三个比特,导致逻辑错误。因此仿真中应分别设置单错误与双错误场景,观察纠错成功率的边界。此外,症状测量本身也可能出错,实际容错方案需要重复测量与解码,这也是后续章节讨论电路级仿真时要重点关注的环节。
综上,Shor 九比特码用“块内相位码 + 块间比特码”的嵌套结构,把任意单比特错误转化为可区分的症状组合,从而在原理上实现了对 X、Z、Y 错误的统一纠正。掌握这一结构,是后续搭建编码电路、注入错误、提取症状并验证纠错效果的基础。