2. 量子纠错循环的物理与数学基础

要理解量子纠错循环仿真,必须先建立一套统一的“语言”:物理层面,量子比特会以怎样的方式出错;数学层面,如何用稳定子形式描述“合法码空间”;测量层面,症候如何被提取;软件层面,解码器接口如何接收症候并返回修正。循环仿真之所以是评估纠错性能的核心手段,正是因为它把上述四个层面串成一个可重复、可统计的闭环。

稳定子形式:用对易关系定义码空间

稳定子形式的核心思想是:不直接枚举码字,而是用一组相互对易的泡利算符生成元 S = <g₁, g₂, …, g_{n-k}> 来定义码空间。对于编码 [[n, k, d]] 码,n 个物理比特、k 个逻辑比特,需要 n−k 个独立生成元。码空间就是所有满足 g_i|ψ⟩ = +|ψ⟩ 的态集合,即所有生成元同时取 +1 本征值的联合本征子空间。

以最简单的重复码为例,三个物理比特编码一个逻辑比特,生成元为 Z₁Z₂ 与 Z₂Z₃。它们相互对易,且能检测单比特 X 错误:若 X 错误发生在第 1 个比特上,Z₁Z₂ 本征值翻转为 −1,而 Z₂Z₃ 仍为 +1,症候为 (1,0)。这种“错误位置 ↔ 症候模式”的对应关系,是后续解码的基础。

稳定子形式还给出两个关键量:逻辑算符是能与所有生成元对易、但不属于稳定子群的算符,它们改变逻辑信息;错误算符若与某个生成元反对易,就会翻转该生成元的本征值。因此,症候测量本质上是在测量错误算符与各生成元的对易关系。

错误模型:从物理噪声到可仿真算符

真实量子硬件的噪声复杂,仿真中通常抽象为几种可参数化的错误模型。最常见的是去极化信道:以概率 p 对每个量子比特独立施加 X、Y、Z 之一(各 p/3),或以 1−p 保持不变。它适合描述单比特门后的随机错误。另一种是相位翻转信道,以概率 p 施加 Z 错误,常用于刻画退相干主导的系统。测量错误则单独建模:以概率 p_m 将测量结果 0/1 翻转。

在循环仿真中,错误模型决定了“注入什么”。一个典型设置是:每个纠错循环内,先对数据比特施加去极化噪声,再执行症候测量电路,测量过程中辅助比特也可能出错。参数通常写成 p_data、p_meas、p_gate,分别对应数据错误率、测量错误率和门错误率。仿真时按这些概率独立采样,得到每次循环的实际错误算符,再计算其症候。

症候测量:把错误“投影”成比特串

症候测量不是直接测量数据比特,而是通过辅助比特间接测量每个稳定子生成元。以 Z₁Z₂ 为例:准备辅助比特于 |0⟩,用 CNOT 从数据比特 1 控制到辅助比特,再用数据比特 2 控制到辅助比特,最后测量辅助比特。若两个数据比特的 Z 本征值相同,辅助比特回到 |0⟩,测量为 0;若不同,辅助比特翻到 |1⟩,测量为 1。

一次完整循环会得到长度为 n−k 的症候比特串。例如表面码距离 d=3 时有 8 个稳定子,症候为 8 位。仿真中,症候由错误算符与生成元的对易关系直接计算:若错误与 g_i 反对易,则第 i 位为 1,否则为 0。这个计算是确定性的,不涉及随机采样,因此可以快速生成大量样本。

注意:症候测量电路本身可能引入错误,导致“症候被翻转”。因此仿真中常把测量错误单独建模,并在解码时把连续多个循环的症候差异(即“探测事件”)作为输入,而不是单次症候。

解码器接口:症候进,修正出

解码器的职责是:给定症候,推断最可能的错误算符,并返回修正操作。一个清晰的接口通常包含以下字段:

  • 输入:症候比特串 s,长度 n−k;可选地包含上一轮症候 s_prev,用于计算探测事件 e = s XOR s_prev。
  • 输出:修正算符 c,通常表示为泡利算符列表或比特翻转位置;也可返回逻辑修正标志。
  • 元数据:码距 d、生成元列表、错误率参数,供解码器内部使用。

以最小权重解码为例:给定症候 s,枚举所有与 s 对应的错误算符,选择权重最小的一个作为修正。对于重复码,症候 (1,0) 对应第 1 位 X 错误,修正即为 X₁。对于表面码,常用 MWPM(最小权完美匹配)解码:把探测事件视为图中的顶点,用边权表示错误概率,寻找最小权匹配,匹配路径上的边即为修正算符。

接口设计的关键是“可替换”:同一套症候生成流程,可以接入不同解码器(查表、MWPM、神经网络解码器),只需保证输入输出格式一致。这样循环仿真就能公平比较不同解码策略的性能。

循环仿真:把一次纠错变成可统计的闭环

单次纠错只能说明“这一次是否成功”,而纠错性能评估需要统计大量循环。循环仿真的基本流程是:初始化逻辑态 → 施加噪声 → 测量症候 → 解码 → 施加修正 → 判断逻辑是否出错 → 记录结果 → 进入下一轮。重复 N 次后,统计逻辑错误率 p_L。

判断逻辑是否出错,需要计算逻辑算符的期望值是否被翻转。对于重复码,逻辑 Z 算符为 Z₁Z₂Z₃;若修正后该算符本征值变为 −1,则发生逻辑错误。仿真中通常直接比较“实际错误 + 修正”是否等价于一个逻辑算符:若等价,则逻辑错误;否则成功。

循环仿真的核心地位体现在三点:第一,它把物理错误率 p 与逻辑错误率 p_L 定量关联,得到阈值曲线;第二,它允许扫描不同码距 d,观察 p_L 随 d 的指数抑制趋势;第三,它支持在相同噪声模型下比较不同解码器,为硬件设计提供依据。例如,当 p 低于阈值时,增大 d 会显著降低 p_L;当 p 高于阈值时,增大 d 反而使 p_L 上升。

量子纠错循环仿真:从物理噪声到逻辑错误率 噪声注入 p_data, p_meas, p_gate 稳定子码 [[n,k,d]] 生成元 症候测量 s = 对易关系 解码器 MWPM / 查表 施加修正 c = 泡利算符 逻辑错误判断 错误+修正 ≟ 逻辑算符 统计 p_L N 次循环 下一轮循环 阈值行为示意:p_L 随物理错误率 p 与码距 d 的变化 物理错误率 p 逻辑错误率 p_L 阈值 p_th d=3 d=5 d=7 p < p_th:增大 d 降低 p_L p > p_th:增大 d 反而升高 p_L

上图把循环仿真的四个关键环节与阈值行为放在同一视图中:左侧是“噪声→码→症候→解码→修正→判断”的闭环,右侧是不同码距下的 p_L 曲线。可以看到,阈值 p_th 是分水岭:低于它,增大码距带来指数级抑制;高于它,纠错反而放大错误。循环仿真的价值,就是通过大量采样把这条曲线画出来,为码距选择、解码器优化和硬件错误率目标提供定量依据。

在实现循环仿真时,建议把“症候生成”与“解码”解耦:症候生成只依赖稳定子生成元和错误算符,解码器只依赖症候和码参数。这样更换解码器时无需重写噪声注入逻辑,也便于批量扫描 p 和 d,快速得到阈值曲线。