2. 稳定子形式化基础

要真正理解稳定子码,不能停留在“用几个算符去检查错误”这种操作层面,而必须先把背后的代数结构说清楚。稳定子码之所以能高效表示、快速纠错,根本原因在于它把编码子空间定义为一个群的不动点集合。本节从 Pauli 群出发,逐步建立稳定子群、中心化子与逻辑算符的定义,并给出稳定子码的数学表示与编码子空间的构造方法。

一、Pauli 群:从单比特到多比特

单比特 Pauli 算符有四个:I、X、Y、Z。它们满足 X²=Y²=Z²=I,且 XZ=-ZX,即反对易。把 n 个单比特 Pauli 算符做张量积,再乘上相位因子 ±1、±i,就得到 n 比特 Pauli 群 G_n。它的元素可以统一写成:

P = i^k · X^{a_1} Z^{b_1} ⊗ X^{a_2} Z^{b_2} ⊗ … ⊗ X^{a_n} Z^{b_n}
其中 a_j, b_j ∈ {0,1},k ∈ {0,1,2,3}

这里每个比特位置用一对二进制 (a_j, b_j) 描述:a_j=1 表示该位含 X,b_j=1 表示该位含 Z。两者同时为 1 时对应 Y(因为 Y=iXZ)。因此一个 n 比特 Pauli 算符完全由 2n 位二进制向量决定,这正是稳定子码能被经典计算机高效处理的根源。

Pauli 群有两个关键性质:任意两个元素要么对易,要么反对易;任意元素的平方是 ±I。判断对易关系时,只需看两个算符在多少个比特位置上“同时出现不同的非平凡 Pauli 算符”。若这样的位置数为偶数,则对易;为奇数,则反对易。例如 X⊗Z 与 Z⊗X:第一个位置 X 与 Z 反对易,第二个位置 Z 与 X 反对易,共 2 个位置,故整体对易。

二、稳定子群与稳定子码的定义

设 S 是 G_n 的一个子群。若 S 中所有元素都相互对易,且不含 -I,则称 S 为一个稳定子群。稳定子码 C(S) 定义为被 S 中所有算符同时固定为 +1 本征值的量子态集合:

C(S) = { |ψ⟩ : M|ψ⟩ = |ψ⟩, ∀ M ∈ S }

这个定义非常关键:编码子空间不是“人为挑选”出来的,而是由稳定子群 S 唯一确定的。若 S 由 n-k 个独立生成元 g_1,…,g_{n-k} 生成,则编码子空间维数为 2^k,即编码 k 个逻辑比特。生成元之间必须相互对易且线性独立,否则无法确定一个合法的稳定子群。

以三比特重复码为例,稳定子群由 g_1=Z_1Z_2、g_2=Z_2Z_3 生成。编码态 |000⟩ 和 |111⟩ 都满足 Z_1Z_2|ψ⟩=|ψ⟩ 与 Z_2Z_3|ψ⟩=|ψ⟩,因此它们张成的二维子空间就是该码的编码子空间,n=3, k=1。

稳定子码的代数结构:Pauli群 → 稳定子群 → 编码子空间 Pauli 群 G_n 元素:i^k · X^a Z^b 张量积 规模:4^{n+1} 个元素 关系:对易 或 反对易 表示:2n 位二进制向量 取对易子群 稳定子群 S S ⊆ G_n,阿贝尔子群 不含 -I,生成元相互对易 生成元:g_1, …, g_{n-k} |S| = 2^{n-k} 同时+1本征态 编码子空间 C(S) M|ψ⟩ = |ψ⟩ ∀ M ∈ S 维数:2^k 编码 k 个逻辑比特 中心化子 C(S) C(S) = { P ∈ G_n : P·M = M·P, ∀ M ∈ S } S ⊆ C(S),且 C(S) 中元素保持编码子空间不变 |C(S)| = 2^{n+k},比 S 多出 2k 个自由度 逻辑算符:C(S) \ S X̄_i, Z̄_i ∈ C(S),但 ∉ S X̄_i 与 Z̄_i 反对易,不同逻辑比特间对易 共 2k 个独立逻辑算符,对应 k 个逻辑比特 示例:三比特重复码(n=3, k=1) 稳定子生成元:g₁ = Z₁Z₂,g₂ = Z₂Z₃ → |S| = 2² = 4 编码态:|0_L⟩ = |000⟩,|1_L⟩ = |111⟩ → 编码子空间维数 2¹ = 2 逻辑算符:X̄ = X₁X₂X₃,Z̄ = Z₁ X̄ 与 Z̄ 反对易,且与 g₁、g₂ 对易

三、中心化子:稳定子码的“保护壳”

中心化子 C(S) 定义为 Pauli 群中所有与 S 中每个元素都对易的算符集合。由于 S 本身是阿贝尔群,显然 S ⊆ C(S)。中心化子的重要性在于:C(S) 中的算符作用在编码态上,仍然把编码态留在编码子空间内;而 C(S) 之外的算符(即与某个稳定子生成元反对易的算符)会把编码态“踢出”编码子空间,从而被稳定子测量检测到。

对于 [[n,k]] 稳定子码,有 |S|=2^{n-k},|C(S)|=2^{n+k}。两者相差 2^{2k} 倍,这多出来的 2k 个“自由度”正好对应 k 个逻辑比特的 X̄ 和 Z̄ 算符。换句话说,中心化子比稳定子群多出的部分,就是逻辑算符的栖息地。

四、逻辑算符:编码信息的操作者

逻辑算符定义为属于 C(S) 但不属于 S 的 Pauli 算符。对每个逻辑比特 i,存在一对逻辑算符 X̄_i 和 Z̄_i,它们满足:

  • X̄_i, Z̄_i ∈ C(S),即与所有稳定子生成元对易;
  • X̄_i Z̄_i = -Z̄_i X̄_i,即同一逻辑比特的 X̄ 与 Z̄ 反对易;
  • 不同逻辑比特的算符之间相互对易;
  • X̄_i, Z̄_i ∉ S,否则它们无法改变编码态,也就不能承载逻辑信息。

逻辑算符不是唯一的:若 X̄_i 是一个逻辑 X 算符,则 X̄_i · s(s ∈ S)也是合法的逻辑 X 算符,因为乘上稳定子不改变它在编码子空间上的作用。这种等价类称为逻辑算符的等价类,在构造实际纠错方案时,选择重量最轻的代表元往往能降低纠错难度。

五、编码子空间的构造:从生成元到编码态

给定稳定子群 S 的生成元 g_1,…,g_{n-k},构造编码子空间的标准方法是投影算符法。定义投影算符:

Π = (1/2^{n-k}) · ∏_{i=1}^{n-k} (I + g_i)

由于每个 g_i 的本征值为 ±1,(I+g_i)/2 正是投影到 g_i=+1 本征子空间的投影算符。所有生成元投影算符的乘积 Π 就把整个希尔伯特空间投影到同时满足所有 g_i|ψ⟩=|ψ⟩ 的子空间,即编码子空间。对任意 n 比特态 |φ⟩,Π|φ⟩ 要么为零,要么就是编码态(可能未归一化)。

实际操作中,更常用的是从稳定子生成元出发,通过求解线性方程组或利用编码电路来构造编码态。以三比特重复码为例,取 |000⟩ 作为初始态,它已经是 g_1=Z_1Z_2 和 g_2=Z_2Z_3 的 +1 本征态,因此直接就是编码态 |0_L⟩。而 |1_L⟩=|111⟩ 同样满足稳定子条件,两者张成编码子空间。

判断一个 Pauli 算符是否属于 C(S),只需检查它与每个稳定子生成元是否对易。若与某个生成元反对易,则该算符可被稳定子测量检测到,属于可纠正的错误算符;若与所有生成元都对易,则它要么是稳定子本身(不改变编码态),要么是逻辑算符(改变编码态但不被检测)。

六、小结与工程含义

稳定子形式化的核心链条是:Pauli 群 G_n → 选择阿贝尔子群 S → 编码子空间 C(S) 为 S 的 +1 本征空间 → 中心化子 C(S) 中不属于 S 的部分给出逻辑算符。这套语言把量子纠错码的构造、错误检测和逻辑操作统一在群论框架下,使得 n 比特的编码可以用 2n(n-k) 位二进制描述,而不是 2^n 维态矢量。这正是稳定子码在量子纠错工程中占据核心地位的原因。