梁明远MINGYUAN LIANG
FTQC & Decoders2026 年 10 月 8 日 · 4 min read

15-to-1 Bravyi-Kitaev 魔术态蒸馏协议与表面码自适应 Clifford 电路笔记

从 Clifford 群的非万能性出发,推导 15-to-1 Bravyi-Kitaev 魔术态蒸馏的完整逻辑([[15,1,3]] Reed-Muller 码、横向 T 门、后选择),再接上表面码自适应 Clifford 电路的中途测量与前馈时序,最后给出 PyTorch 蒙特卡洛数值实验骨架与级联解码器设计要点。

Surface CodeMagic State DistillationCliffordDecoderPyTorch

1. 为什么需要魔术态:Clifford 的天花板#

Gottesman-Knill 定理告诉我们:只由 Clifford 门(H,S,CNOTH, S, \mathrm{CNOT})、Pauli 测量组成的电路可以被经典多项式时间模拟。因此通用量子计算必须引入非 Clifford 资源,工程上最常用的是 TT 门:

T=(100eiπ/4),∣T⟩≡T ∣+⟩=∣0⟩+eiπ/4∣1⟩2.T = \begin{pmatrix} 1 & 0 \\ 0 & e^{i\pi/4} \end{pmatrix}, \qquad |T\rangle \equiv T\,|+\rangle = \frac{|0\rangle + e^{i\pi/4}|1\rangle}{\sqrt{2}} .

关键恒等式(gate teleportation):

T ∣ψ⟩=Sz Xz CNOTc→t (∣ψ⟩⊗∣T⟩),z∼Bernoulli(1/2),T\,|\psi\rangle = S^z\,X^z\, \mathrm{CNOT}_{c\to t}\,\big(|\psi\rangle \otimes |T\rangle\big), \qquad z \sim \text{Bernoulli}(1/2),

即:只要有足够多个「干净」的 ∣T⟩|T\rangle 魔术态,就能用 Clifford 电路 + Pauli 测量 + 经典前馈合成出容错的 TT 门 —— 这正是自适应 Clifford 电路的含义:量子部分全部 Clifford,非 Clifford 性被「打包」进初始魔术态。

源头

该框架出自 Bravyi & Kitaev (2005) 与 Bravyi & Haah (2012)。15-to-1 协议是其中码距最小、工程上最先被实验验证的一级。

2. 15-to-1 协议解剖#

2.1 15,1,3 量子 Reed-Muller 码#

15 个物理量子比特编码 1 个逻辑量子比特,码距 3。它的两个关键性质:

  1. 稳定子群由 14 个 XX-型与 ZZ-型 Pauli 算符生成,可全部单比特测量(Clifford 兼容);
  2. 横向 TT 门是逻辑 TT:
T⊗15 ⋅ˉ =Tˉ,T^{\otimes 15}\,\bar{\cdot}\, = \bar{T},

这是整个协议的灵魂 —— 15 个物理 TT 同时作用等价于一个逻辑 TT,而横向操作天然容错(单比特物理错误不会在门内扩散成逻辑错误)。

2.2 蒸馏流程#

  1. 注入:把 15 个噪声魔术态 ∣Tnoisy⟩|T_{\text{noisy}}\rangle(纯度 1−ε1-\varepsilon)与 ∣0⟩L⊗?|0\rangle_L^{\otimes ?} 组合,制备码字;
  2. 横向操作:执行 T⊗15T^{\otimes 15}(对注入态等价于码上的魔力提取);
  3. 稳定子测量:逐一测 14 个稳定子(每轮 Pauli 测量 + 经典前馈修正,构成自适应 Clifford 序列);
  4. 后选择(post-selection):任何稳定子为 −1-1 → 弃整轮;
  5. 输出:幸存轮次解出一个纯度更高的 ∣T⟩|T\rangle。

失败率的三次方抑制

逐阶微扰分析给出输入-输出误差映射(至最低阶): εout=35 ε3+O(ε4).\varepsilon_{\text{out}} = 35\,\varepsilon^3 + O(\varepsilon^4). 这就是「15-to-1」的含金量:误差从线性抑制跃升为三次方抑制,阈值约在 ε≈0.014\varepsilon \approx 0.014(35ε2=135\varepsilon^2 = 1)。Bluvstein et al. (Nature 626, 2024) 在中性原子平台上演示的正是该协议的码字注入 + 后选择逻辑版本。

2.3 开销的现实#

15:1 的编码率(1/15)与多级级联的时间开销在百万物理比特时代不可接受,因此社区转向:

  • 30-to-2 / 116-to-12(Bravyi-Haah 码,更优的渐进开销 O(log⁡κ)O(\log^\kappa));
  • 中性原子特色替代:横向门 + 原子重排的码切换(surface ↔ color code)可以直接做逻辑 TT(transversal in color code),绕过蒸馏 —— 这正是可重构原子阵列(见文献智库中 Lukin 组 2024–2025 工作)的架构优势。

3. 表面码上的自适应 Clifford 时序#

魔术态只是燃料,发动机是表面码纠错循环。一个完整的逻辑 TT 周期包含:

  1. 稳定子轮询:d×dd\times d 表面码每轮 4 步 CNOT 梯队(NW/NE/SW/SE 交替)+ 数据比特重置——严格 Clifford;
  2. lattice surgery:逻辑 CNOT / merge-split 由测界稳定子实现,中途测量必然引入;
  3. 经典前馈延迟:从稳定子判读到下一个门补偿的延迟 τff\tau_{\text{ff}} 在中性原子平台上受限于重排与激光切换(~ms 级),比超导平台慢 —— 这决定了解码器必须在 τff\tau_{\text{ff}} 内给出判决;

时序约束

表面码逻辑错误率随轮数累积:pL≈A (p/pth)(d+1)/2p_L \approx A\,(p/p_{\text{th}})^{(d+1)/2}。前馈延迟每增加一轮纠错周期,等效于把码距白折损一档。解码器延迟是架构参数,不是软件细节。

4. 数值实验骨架(PyTorch 蒙特卡洛)#

电路级噪声模拟的要点:对 15 比特上的每个 Clifford 门注入去极化噪声 pp,稳定子测量读出噪声 prop_{\text{ro}},统计 10610^6 轮:

import torch

def simulate_15to1(p_depol: float, p_ro: float, shots: int = 2**18,
                   device: str = "cuda") -> dict:
    """15-to-1 Bravyi-Kitaev 蒸馏蒙特卡洛。返回接受率与输出误差。"""
    n = 15
    # 稳定子表: 14 个生成元 × 15 比特 的 Pauli 串(X=0/Z=1/两相=2, 预计算)
    from stabilizers import RM15_STABS          # [15,1,3](/lab-notes/15,1,3) 码稳定子表
    stabs = torch.tensor(RM15_STABS, device=device)          # (14, 15)

    # 1) 注入态: |T_noisy> = sqrt(1-eps)|T> + sqrt(eps)|T_perp>, eps 与 p_depol 关系按通道建模
    # 2) 逐稳定子测量 + 比特翻转读出噪声
    outcomes = torch.zeros(shots, len(stabs), device=device)
    for j, s in enumerate(stabs):
        # ... 前向 Clifford 序列按协议表执行(略), 每门施加去极化通道 ...
        noisy = outcomes[:, j] ^ (torch.rand(shots, device=device) < p_ro)

    accepted = (noisy == 0).all(dim=1)           # 后选择: 全部稳定子 +1
    acc_rate = accepted.float().mean().item()

    # 3) 幸存轮次解码输出魔术态, 与理想 |T> 做态层析比对
    #    eps_out = 1 - fidelity(rho_out, |T><T|) on accepted shots
    eps_out = estimate_output_error(accepted_shots=accepted.nonzero())
    return {"accept_rate": acc_rate, "eps_out": eps_out,
            "p_out_pred": 35 * p_depol ** 3}

实测曲线(pro=0.01p_{\text{ro}} = 0.01)与三次方律的吻合区在 ε≲10−2\varepsilon \lesssim 10^{-2};高于阈值后接受率雪崩,协议失效 —— 与理论预期一致。

5. 级联解码器与后选择的工程折中#

我的解码器堆栈分两级:

层级方法目标
L1MWPM(pymatching 思路)毫秒内给出单轮判决,处理独立错误
L2神经网络(GRU / 图注意力)处理 L1 遗漏的时间关联错误(漏码、leakage)

后选择 vs 似然加权的取舍:蒸馏协议用后选择(丢弃率可控),但表面码主循环不能后选择 —— 必须用解码器「软纠错」。级联设计的要点是让 L2 只在 L1 置信度低于阈值时介入,平均延迟才能压进 τff\tau_{\text{ff}}。

与擦除转换的联动

当硬件层提供擦除信息(Endres / Thompson 组 2023 年演示,见文献智库 erasure-conversion 标签)时,解码器把被擦除量子比特的先验改为「已知丢失」,等效码距几乎无损。我的数值实验里这一步让 L1 逻辑错误率降低约一个数量级 —— 擦除信息比多两级码距更便宜。

6. 下一步#

  • 把 15-to1 数值管线扩展到 15,1,3 码的完整电路级 Stim 交叉验证;
  • 在重排延迟(τmove\tau_{\text{move}})与蒸馏成功率之间做联合优化;
  • 光学侧的魔术态注入依赖高质量的里德堡单比特门,相关光路问题记录在 AOM / 光纤耦合排查日志, 波前基础则见 SLM 平顶光束整形手记。