4. 经典线性码回顾
量子纠错码并非凭空出现,它的数学骨架几乎全部来自经典线性码。要理解后面的稳定子码、CSS 构造和表面码,必须先回到有限域上的线性空间,把“码字如何生成、错误如何被检测、如何被纠正”这条链路重新走一遍。本章不追求覆盖编码理论的全部细节,而是聚焦量子纠错真正会反复调用的那部分工具。
一、有限域:码字所在的坐标系
经典线性码定义在有限域 GF(q) 上,最常见的是二元域 GF(2),只有元素 0 和 1,加法等价于异或,乘法等价于与。GF(2) 上最关键的直觉是:加法和减法相同,因为 1+1=0,-1=1。这意味着后面所有校验方程都可以写成“若干比特异或等于 0”的形式,不需要区分正负号。
若把 n 个比特排成一个行向量 x=(x₁,x₂,…,xₙ),则所有 2ⁿ 个向量构成 GF(2) 上的 n 维线性空间。线性码就是其中一个 k 维子空间 C,记作 [n,k] 码,码字总数 2ᵏ,码率 R=k/n。子空间性质带来一个极重要的结果:任意两个码字之和仍是码字,全零向量必是码字。这正是线性码能用矩阵统一描述的原因。
二、生成矩阵与校验矩阵:同一子空间的两副面孔
生成矩阵 G 是 k×n 矩阵,行空间就是码空间 C。编码时把 k 位信息向量 m 左乘 G,得到 n 位码字 c=mG。若 G 取系统形式 G=[Iₖ|P],则码字前 k 位原样保留信息,后 n−k 位是校验位,工程上最便于观察。
校验矩阵 H 是 (n−k)×n 矩阵,满足对任意码字 c 都有 Hcᵀ=0。也就是说,C 是 H 的零空间。G 与 H 必须满足 GHᵀ=0。G 回答“码字长什么样”,H 回答“怎样判断一个向量是不是码字”。二者维度互补:G 有 k 行,H 有 n−k 行,合起来正好覆盖 n 维空间。
以 [7,4] 汉明码为例,取系统生成矩阵
G = [ 1 0 0 0 | 1 1 0
0 1 0 0 | 1 0 1
0 0 1 0 | 0 1 1
0 0 0 1 | 1 1 1 ]
对应校验矩阵 H=[Pᵀ|I₃],即
H = [ 1 1 0 1 | 1 0 0
1 0 1 1 | 0 1 0
0 1 1 1 | 0 0 1 ]
可以验证 H 的三列校验部分恰好是单位阵,而前四列是 Pᵀ。若信息 m=(1,0,1,1),则校验位为 mP=(1,0,1),码字 c=(1,0,1,1,1,0,1)。代入 Hcᵀ 应得零向量,这就是编码正确性的直接判据。
三、伴随式译码:把错误定位变成查表
接收向量 r 可写成 r=c+e,e 是错误图样。计算伴随式 s=Hrᵀ=Hcᵀ+Heᵀ=Heᵀ。伴随式只依赖错误,不依赖原始码字,这是译码的核心洞察。若 s=0,说明 r 是合法码字(可能无错,也可能错成了另一个码字);若 s≠0,则用 s 去定位错误位置。
标准阵列译码的做法是:预先为每个可能的伴随式选一个“最可能”的错误图样作为陪集首,通常取重量最小的向量。收到 r 后算 s,查表得到 ê,令 ĉ=r+ê 即完成纠错。对 [7,4] 汉明码,所有 7 个单比特错误的伴随式恰好是 H 的 7 个非零列,互不相同,因此它能纠正任意 1 位错误。若某伴随式对应多列组合,则说明该错误模式超出纠错能力,只能检错。
四、汉明码与码距:纠错能力的量化
码的最小距离 d 决定纠错能力:能纠正 t 位错误需 d≥2t+1,能检测 s 位错误需 d≥s+1。[7,4] 汉明码 d=3,故 t=1。汉明码的一般形式是 [2ʳ−1, 2ʳ−1−r, 3],校验矩阵的列取遍所有非零 r 位向量,因此任意两列线性无关,保证 d≥3。它的码率随 r 增大趋近 1,但纠错能力始终只有 1 位,这是“用最少校验位覆盖所有单错”的极限方案。
五、对偶码与自正交码:为量子码铺路
码 C 的对偶码 C⊥ 定义为与 C 中所有码字内积为零的向量集合,其生成矩阵可取 H,校验矩阵可取 G。对偶码的维度是 n−k。若 C⊆C⊥,称 C 为自正交码,此时任意两码字内积为零,等价于 GGᵀ=0;若 C=C⊥,称自对偶码,必有 n=2k 且 d 通常较大。
自正交条件在量子纠错中极为关键。CSS 构造要求两个经典码 C₁ 和 C₂ 满足 C₂⊆C₁ 且 C₁⊆C₂⊥,这样才能保证 X 型与 Z 型稳定子互相对易。换句话说,量子码的存在性直接翻译成经典码之间的包含与正交关系。理解 G、H、C⊥ 三者的相互约束,是读懂后续稳定子形式体系的前提。