4. 稳定子码的编码与解码框架

稳定子码的工程价值,最终要落到“怎么把逻辑信息编进去、怎么把错误读出来、怎么把它改回去”这条通路上。编码与解码框架正是这条通路的骨架:编码端把 k 个逻辑量子比特映射为 n 个物理量子比特的稳定子态;解码端通过测量校验算符获得错误症候,再由症候推断错误位置并施加恢复。理解这一框架,是后续构造具体稳定子码、设计校验算符与综合编码电路的操作基础。

一、编码映射:从逻辑态到物理态

稳定子码 C 由阿贝尔稳定子群 S 定义,码空间是所有满足 s|ψ⟩=|ψ⟩(对任意 s∈S)的态集合。若 S 由 n−k 个独立生成元 g₁,…,gn−k 给出,则码空间维数为 2k,可承载 k 个逻辑量子比特。编码映射 V: (C²)⊗k → (C²)⊗n 的任务,就是把任意逻辑态送入这个码空间。

实际操作中,编码电路通常采用“先制备稳定子态、再注入逻辑信息”的结构。以最常见的做法为例:先把 n 个物理量子比特初始化到 |0⟩⊗n,用一组受控非门与 Hadamard 门把其中 n−k 个辅助位制备成稳定子本征态,再通过受控门把 k 个逻辑位“写入”码空间。对 CSS 类稳定子码,编码电路可以分解为若干段:X 型稳定子对应 Hadamard 与 CNOT 的组合,Z 型稳定子对应纯 CNOT 网络。设计编码电路时,关键约束是:电路作用后,每个生成元 gi 都必须满足 gi|ψL⟩=|ψL⟩,即编码后的态必须是所有稳定子的 +1 本征态。

一个便于检查的判据是:把编码电路写成 Clifford 电路,追踪每个生成元在 Heisenberg 图像下的演化,若最终每个 gi 都映射为只含 Z(或只含 X)的算符,则说明编码正确。这一步在手工推导和程序化验证中都很实用。

二、解码流程:症候提取与错误推断

解码的第一步是测量校验算符。对每个生成元 gi 测量其本征值,得到 ±1 的结果;把 −1 记为 1、+1 记为 0,就得到长度为 n−k 的症候向量 σ。若错误 E 与 gi 反对易,则 gi 的测量结果翻转为 −1;若对易,则保持 +1。因此症候只反映“错误与哪些稳定子反对易”,而不直接给出错误本身——这正是稳定子码纠错的本质:症候是错误在稳定子群上的“投影”。

第二步是由症候推断错误。设错误为 Pauli 算符 E,其症候为 σ(E),解码器要找一个候选错误 Ê 使得 σ(Ê)=σ(E),然后施加 ʆ 恢复。由于同一症候可能对应多个错误(它们之间相差一个稳定子元素或逻辑算符),解码器通常选择“最可能”的那个,例如在去极化噪声模型下选择权重最小的错误,这就是最小权重解码。若候选错误与真实错误相差一个稳定子,恢复后态不变,纠错成功;若相差一个逻辑算符,则发生逻辑错误。

第三步是恢复。恢复操作就是把推断出的错误逆算符作用回数据比特。对 Pauli 错误,逆算符等于自身,因此恢复就是再施加一次同样的 X、Y 或 Z。恢复后应再次测量症候,确认全部回到 +1;若仍有 −1,说明推断有误或发生了多比特错误,需要进入更高层处理。

编码端 k 个逻辑量子比特 ↓ 初始化 |0⟩⊗n ↓ 稳定子制备(CNOT/H) ↓ 逻辑信息注入 码空间态 |ψ_L⟩ 噪声信道 Pauli 错误 E X / Y / Z 解码端 ① 测量生成元 g₁…g_{n−k} ② 得到症候向量 σ ∈ {0,1}^{n−k} ③ 最小权重推断错误 Ê ④ 施加 ʆ 恢复 ⑤ 复测症候全 +1 症候反馈:定位错误位置 关键关系 · 稳定子 g_i 与错误 E 反对易 ⇒ 测量值 −1;对易 ⇒ +1 · 症候相同 ≠ 错误相同:相差稳定子则无害,相差逻辑算符则逻辑错误 · 恢复后复测症候,全 +1 表示纠错成功;否则需升级处理

三、校验算符在错误探测与恢复中的作用

校验算符(即稳定子生成元)在框架中承担三重角色。第一是探测:它们是唯一被允许测量的观测量,测量结果构成症候,把连续的错误空间压缩为离散的比特串。第二是定位:不同错误模式对应不同症候,症候表(syndrome table)把症候映射到候选错误,解码器据此定位错误。第三是验证:恢复后复测症候,是判断纠错是否成功的直接依据。

需要强调的是,校验算符的选取直接决定码的纠错能力。若两个错误 E₁、E₂ 满足 E₁†E₂ ∈ S,则它们症候相同且作用等价,无需区分;若 E₁†E₂ 是逻辑算符,则症候相同但作用不同,会导致逻辑错误。因此设计校验算符时,必须保证任意两个权重不超过 t 的错误之积不落在逻辑算符集合中,这就是距离 d=2t+1 的稳定子条件。

四、一个可操作的小例子

以三比特重复码为例(它只能纠正 X 错误,用于说明框架而非完整量子纠错)。稳定子为 g₁=Z₁Z₂、g₂=Z₂Z₃,n=3、k=1。编码:|0_L⟩=|000⟩,|1_L⟩=|111⟩,用两个 CNOT 把逻辑位复制到两个辅助位。若数据位发生 X₁,则 g₁ 测得 −1、g₂ 测得 +1,症候为 (1,0),查表定位到第 1 位,施加 X₁ 恢复。若发生 X₂,症候为 (1,1);若发生 X₃,症候为 (0,1)。三个单比特错误对应三个不同症候,因此可区分并纠正。

设计检查要点:编码后逐一验证每个生成元本征值为 +1;症候表要覆盖所有目标可纠错误;恢复后必须复测症候,不能只看推断结果。

把这条框架记牢,后续构造具体稳定子码时,就可以按“定生成元 → 验证对易与独立 → 设计编码电路 → 建症候表 → 设计解码与恢复 → 复测验证”的顺序推进,每一步都有明确的输入、操作与判据。