2. 量子纠错码与译码器基础回顾

在讨论译码器性能基准之前,必须先统一一个认识:量子纠错译码器并不是一个孤立的算法模块,而是一个有明确输入输出契约的“函数”。不同纠错码的译码问题在数学形式上差异很大,但在接口层面却高度相似——输入是综合征与噪声模型,输出是对数据量子比特(或逻辑算符)的修正方案。本节围绕这一接口规范展开,先梳理表面码、颜色码、LDPC码的译码问题定义,再落到可操作的输入输出约定上,为后续基准测试的指标设计打基础。

一、三类常见纠错码的译码问题定义

表面码(Surface Code)。以旋转表面码为例,数据量子比特排布在方格上,X型稳定子和Z型稳定子交错放置。每个稳定子的测量结果为一个比特,所有稳定子测量值构成综合征。当某个数据量子比特发生X错误时,会翻转相邻的两个Z型稳定子,于是在综合征图上表现为一对被“点亮”的顶点。译码问题因此可以表述为:给定一个稀疏的综合征顶点集合,在稳定子图(或其对偶图)上寻找一组错误边,使其边界恰好等于该综合征集合,且总权重最小。这是一个最小权重完美匹配(MWPM)问题,也是表面码最经典的译码形式。

颜色码(Color Code)。颜色码的稳定子作用在三个颜色(红、绿、蓝)的六边形或三角形上,每个稳定子同时包含X和Z分量。其显著特点是单个数据量子比特错误会同时翻转三个相邻稳定子,综合征呈现“三顶点”结构。译码时通常先把综合征投影到两个子图上分别处理,再合并修正。颜色码的译码问题在形式上仍是“找边界等于综合征的最小权重错误链”,但由于稳定子重叠度高,匹配图的构造比表面码更复杂,且需要额外处理“链的闭合”约束。

量子LDPC码。以超图乘积码(如[[144,12,12]]的BB码)为代表,其校验矩阵稀疏,每个校验节点连接少量变量节点。译码问题可表述为:在二分图(变量节点—校验节点)上,根据校验节点返回的综合征,推断变量节点上的错误图样。工程上常用置信传播(BP)加有序统计译码(OSD)的混合方案:BP迭代不收敛时,用OSD在信息位上做高斯消元搜索。与表面码不同,LDPC码的译码输出往往是“每个数据比特的修正建议”,而非几何路径。

二、译码器的输入接口:综合征与噪声模型

无论哪类码,译码器的第一类输入都是综合征。工程实现中,综合征通常以位向量或稀疏索引列表给出。例如表面码一次测量周期产生d²−1个稳定子比特(d为码距),其中大部分为0,只有错误附近的少数为1。基准测试时必须明确:综合征是单轮快照还是多轮时空切片?是否包含测量错误导致的“时间维度”综合征?这直接决定译码器是处理二维匹配还是三维时空匹配。

第二类输入是噪声模型。译码器需要知道各类错误的先验概率,才能构造边权。典型参数包括:数据比特翻转概率pdata、测量错误概率pmeas、门错误概率pgate。以表面码为例,若pdata=0.001、pmeas=0.002,则匹配图中数据边权可取−log(pdata/(1−pdata)),测量边权取−log(pmeas/(1−pmeas))。噪声模型不准会直接拉低译码成功率,因此基准测试中常把“噪声模型失配”作为一个独立维度。

此外,输入还应包含码的拓扑与校验矩阵。对表面码是稳定子坐标与邻接关系,对LDPC码是稀疏校验矩阵H。译码器初始化阶段读取这些结构信息,构建内部图结构。基准测试若只给综合征不给结构,译码器无法工作,这一点在接口规范中必须写清。

三、译码器的输出接口:修正方案

译码器的输出是修正方案,其形式随码型不同而不同。表面码通常输出一组“修正链”(路径上的边集合),或等价地输出每个数据量子比特的修正比特;颜色码输出修正链后还需做“链闭合”处理;LDPC码输出每个变量节点的估计错误比特。工程上更通用的约定是:输出一个与数据量子比特一一对应的修正向量,长度等于数据比特数,取值为0/1(或Pauli算符标识)。

输出还需附带置信信息,例如匹配的总权重、BP的迭代次数与收敛标志、OSD的搜索深度。这些字段对基准测试至关重要:同样译码成功,权重低说明译码器找到了更优解;BP未收敛而OSD兜底成功,说明译码器鲁棒但耗时可能更高。一个规范的输出结构可参考如下伪代码:

decode(syndrome, noise_model, code_graph) -> {
  correction: bitvector,      // 长度 = 数据比特数
  weight: float,              // 修正方案总代价
  converged: bool,            // BP/匹配是否收敛
  iterations: int,            // 迭代或搜索步数
  latency_ns: int             // 译码耗时(可选)
}

四、接口规范对基准测试的意义

把译码问题统一成“综合征+噪声模型 → 修正方案+置信信息”的接口后,基准测试才有可比性。若两个译码器一个吃稀疏索引、一个吃稠密位向量,直接比速度没有意义;若一个输出几何路径、一个输出比特向量,直接比准确率也会失真。因此基准测试的第一步不是跑数据,而是对齐接口:统一综合征编码格式、统一噪声参数注入方式、统一修正方案的评估口径(通常用“逻辑错误率”而非“比特错误率”作为最终判据)。

建议在基准测试配置中显式记录:码型与码距、综合征轮数、噪声参数三元组、修正方案评估方式。这四项缺一不可,否则结果无法复现。
译码器接口规范:输入 → 处理 → 输出 输入 综合征(稀疏位向量/索引) 单轮快照 或 多轮时空切片 噪声模型 p_data / p_meas / p_gate 码结构 稳定子图 / 校验矩阵 H 译码处理(按码型) 表面码:最小权重完美匹配 二维匹配 / 三维时空匹配 颜色码:子图投影 + 链闭合 三顶点综合征处理 LDPC码:BP + OSD 二分图消息传递 / 高斯消元 输出 修正方案 修正链 / 比特修正向量 置信信息 总权重 / 收敛标志 / 迭代数 耗时(可选) latency_ns 基准测试前必须对齐的四项接口约定 ① 综合征编码格式统一 ② 噪声参数注入方式统一 ③ 修正方案评估口径统一(逻辑错误率) ④ 码型与码距记录完整 表面码 颜色码 LDPC码 三类码共享同一接口骨架,内部算法不同

回到本节的核心:译码器基准测试的对象不是“某个算法实现”,而是“满足接口规范的译码函数”。表面码的MWPM、颜色码的投影匹配、LDPC码的BP+OSD,在接口层面都可以被同一套测试框架驱动。理解这一点,后续设计测试用例、选择评价指标、分析失配原因时,才能把“码的问题”和“译码器的问题”分开定位。例如当逻辑错误率异常偏高时,先检查噪声模型是否与生成综合征时使用的模型一致,再检查修正方案评估是否把测量错误轮次算错——这两类问题都发生在接口层,而非算法内部。