4. CSS码的稳定子形式与编码空间

CSS码(Calderbank–Shor–Steane码)是量子纠错中最具工程价值的一类构造:它把量子稳定子条件拆成两个经典线性码的约束,使得稳定子生成元、逻辑算符和编码空间维数都能用线性代数直接算出。本节从稳定子形式出发,推导生成元,再分析编码空间维数与逻辑量子比特数。

一、从两个经典码到稳定子生成元

设 C₁ 与 C₂ 是两个定义在 GF(2) 上的经典线性码,长度均为 n,维数分别为 k₁、k₂,且满足包含关系 C₂ ⊂ C₁。CSS码的稳定子群由两类生成元构成:

  • X型生成元:对 C₂ 的每个基向量 h ∈ C₂,构造 SX(h) = Xh₁ ⊗ Xh₂ ⊗ … ⊗ Xhₙ,共 k₂ 个独立生成元。
  • Z型生成元:对 C₁ 的正交补 C₁⊥ 的每个基向量 g ∈ C₁⊥,构造 SZ(g) = Zg₁ ⊗ … ⊗ Zgₙ,共 n − k₁ 个独立生成元。

两类生成元之所以能共存,关键在于 C₂ ⊂ C₁ 保证了 C₂ ⊆ C₁⊥⊥,即任意 X 型与 Z 型生成元在偶数个位置上同时非平凡,从而对易。若把生成元写成二进制矩阵形式,X 型对应矩阵 HX(行取自 C₂ 的基),Z 型对应 HZ(行取自 C₁⊥ 的基),则对易条件等价于 HX HZT = 0(模2)。

记忆要点:X 型生成元来自“小码”C₂,Z 型生成元来自“大码”C₁ 的正交补。包含关系 C₂ ⊂ C₁ 是全部推导的起点。

二、编码空间维数的推导

稳定子群 S 由 k₂ + (n − k₁) 个独立生成元生成,因此 |S| = 2k₂ + n − k₁。稳定子码的编码空间是 S在 n 量子比特希尔伯特空间中的 +1 公共本征子空间,其维数为:

dim = 2ⁿ / |S| = 2ⁿ / 2^(k₂ + n − k₁) = 2^(k₁ − k₂)

于是逻辑量子比特数为:

k = k₁ − k₂

这个结果非常直观:CSS码的逻辑量子比特数等于两个经典码维数之差。它把量子码的参数问题完全转化为经典码的维数计算,这正是CSS构造的核心优势。相应地,码距 d 由 C₁ \ C₂ 中最小重量(对应 Z 型逻辑错误)与 C₂⊥ \ C₁⊥ 中最小重量(对应 X 型逻辑错误)共同决定,通常记为 [[n, k, d]]。

三、逻辑算符与编码空间结构

编码空间中的逻辑算符由 C₁ 与 C₂ 的商空间给出。Z 型逻辑算符对应 C₁ / C₂ 中的等价类:取 C₁ 中不属于 C₂ 的向量 v,构造 Z̄(v),它在稳定子作用下保持编码空间不变,但作用非平凡。X 型逻辑算符对应 C₂⊥ / C₁⊥ 中的等价类。两类逻辑算符各有 k = k₁ − k₂ 个独立代表,构成 k 个逻辑量子比特的 X̄i、Z̄i 对。

下图以 [[7,1,3]] Steane码为例,展示两个经典码、稳定子生成元与编码空间之间的结构关系:

经典码 C₁ [7,4,3] 汉明码 k₁ = 4 经典码 C₂ [7,3,4] 对偶码 k₂ = 3 C₂ ⊂ C₁ Z 型生成元 来自 C₁⊥,共 n−k₁ = 3 个 S_Z(g) = Z^g₁ ⊗ … ⊗ Z^g₇ X 型生成元 来自 C₂,共 k₂ = 3 个 S_X(h) = X^h₁ ⊗ … ⊗ X^h₇ 对易条件 H_X · H_Zᵀ = 0 (mod 2) 编码空间 维数 2^(k₁−k₂) = 2^(4−3) = 2 k = 1 逻辑量子比特 [[7,1,3]] Steane 码 逻辑算符 Z̄ ∈ C₁ / C₂ X̄ ∈ C₂⊥ / C₁⊥ 各 k = 1 个独立代表

四、参数关系与实际计算示例

以 Steane 码为例,取 C₁ 为 [7,4,3] 汉明码,C₂ = C₁⊥ 为 [7,3,4] 单纯形码。此时 k₁ = 4、k₂ = 3,故 k = 1;稳定子生成元共 k₂ + (n − k₁) = 3 + 3 = 6 个,编码空间维数 2⁷ / 2⁶ = 2,即 1 个逻辑量子比特。码距由 C₁ \ C₂ 的最小重量 3 与 C₂⊥ \ C₁⊥ 的最小重量 3 共同给出,得到 [[7,1,3]]。

再看一个非自对偶的例子:取 C₁ 为 [15,11,3] 汉明码,C₂ 为 [15,7,5] BCH 码(满足 C₂ ⊂ C₁)。则 k = 11 − 7 = 4,稳定子生成元数为 7 + (15 − 11) = 11,编码空间维数 2¹⁵ / 2¹¹ = 2⁴ = 16,即 4 个逻辑量子比特。这说明通过选择不同的经典码对,可以在同一物理比特数下灵活调节逻辑比特数与纠错能力。

码例C₁ 参数C₂ 参数k = k₁ − k₂生成元数编码空间维数
Steane 码[7,4,3][7,3,4]162
量子 BCH 型[15,11,3][15,7,5]41116
示例假设码[9,5,3][9,3,3]274

表中第三行为教学假设参数,用于说明计算流程,并非标准命名码。计算时只需确认 C₂ ⊂ C₁ 成立,再套用 k = k₁ − k₂ 与生成元计数公式即可。

五、工程实现中的检查要点

在实际构造 CSS 码时,建议按以下顺序核对,避免出现“生成元不对易”或“维数算错”的问题:

  1. 验证包含关系:检查 C₂ 的每个基向量是否都属于 C₁,可用生成矩阵的行化简判断。
  2. 验证对易性:计算 HX HZT mod 2,结果必须为零矩阵;若不为零,说明码对选择有误。
  3. 核对独立生成元数:确认 HX 行秩为 k₂、HZ 行秩为 n − k₁,否则稳定子群规模会被高估。
  4. 计算逻辑比特数:用 k = k₁ − k₂ 与 dim = 2k 交叉验证,两者应一致。
  5. 估计码距:分别求 C₁ \ C₂ 与 C₂⊥ \ C₁⊥ 的最小重量,取较小者作为码距下界参考。
常见错误:把 X 型生成元误取自 C₁、Z 型误取自 C₂。正确对应是 X 型来自 C₂、Z 型来自 C₁⊥,这一对应关系直接决定了对易条件能否成立。

掌握上述推导后,CSS 码的稳定子形式就不再是抽象符号:给定一对经典码,生成元、编码空间维数、逻辑比特数和码距都能按固定公式算出。这为后续学习表面码、量子 LDPC 码等具体构造提供了统一的代数框架。