BB 码 · 推导与指南BB Codes · Derivations & Guides
QEC-Bank 条目导读 · BB 码 · 推导与指南QEC-Bank entry guide · BB codes · Derivations & Guides

七张推导页,
把 gross 码算到底
Seven derivation pages,
the gross code worked to the bottom

《BB 码 · 高中数学版》告诉你 BB 码长什么样、为什么能工作。这一页回答的是 QEC-Bank「推导与指南」侧面的问题:那些结论里,哪些能在纸上证出来,哪些是机器当场重算过的,哪些只是引用了文献?QEC-Bank 给 bivariate_bicycle 条目写了七张 Level-2 推导页,本教程一页一章,把证明一步不跳地做完:多项式怎样变成一对对易的检查矩阵(并且为什么必须「交换再转置」)、gross 码的 72×144、秩 66、商维数 6、k = 12、d = 12 每个数字从哪来、症状电路与译码为什么是五个不同的对象、逻辑门各自的证书、真机做到了哪一步、七种表示各自保住什么、变体地图上哪条线不能跨。页面上每个「算出来」的数字,都对应 QEC-Bank 脚本 reproduce.py 里的一条断言。 “BB Codes · High-School Edition” told you what a BB code looks like and why it works. This page answers the question the QEC-Bank “Derivations & guides” facet asks: of those conclusions, which are proved on paper, which are recomputed by the machine on the spot, and which are merely cited? The QEC-Bank wrote seven Level-2 derivation pages for the bivariate_bicycle entry; this guide gives each one a chapter and carries the proofs out without skipping a step: how two polynomials become a commuting pair of check matrices (and why it must be “swap, then transpose”), where every gross number comes from (72×144, rank 66, quotient dimension 6, k = 12, d = 12), why syndrome circuits and decoding are five different objects, what certificate each logical gate has, what hardware has actually done, what each of seven representations preserves, and which lines on the variant map must not be crossed. Every “computed” number on this page matches one assertion in the QEC-Bank script reproduce.py.

前置:《BB 码 · 高中数学版》(循环移位、HX = [A | B] 与 HZ = [Bᵀ | Aᵀ]、k = 2 × 秩亏损、八个条目)。这里新增的是证明本身、每一步的出处标签,以及那本教程一句话带过的东西:三项复形、24×24 的辛作用、五个限定项的账、七种表示的边界。用到的数学仍是 GF(2) 上的矩阵。 Prerequisite: “BB Codes · High-School Edition” (cyclic shifts, HX = [A | B] and HZ = [Bᵀ | Aᵀ], k = 2 × rank deficit, the eight entries). New here: the proofs themselves, a provenance label on every step, and what that guide passed over in a sentence: the three-term complex, the 24×24 symplectic action, the five-qualifier ledger, the borders between seven representations. The mathematics is still matrices over GF(2).
开始 ↓Begin ↓ 全程约 90–120 分钟 · 含平移实验台、两次 BB 构造器、一次 BP-OSD 演示 · 在 QEC-Bank 中查看此条目 →About 90–120 minutes · with the translation bench, two BB builders and one BP-OSD demo · Open in the QEC-Bank →
目录Contents
第 0 章Chapter 0

什么叫「Level-2」,以及复现契约What “Level-2” means, and the reproduction contract

QEC-Bank 给每个码写两层文字。第一层是直觉短文:图画、比喻、一句话的结论。第二层是「推导页」:每页只回答一个问题,把证明做完,并逐句说明哪句话是代数、哪句是机器重算、哪句是文献。BB 码条目有七张推导页,外加一张把它们串起来的索引页;本教程就是把这七张页讲成一门课。 The QEC-Bank writes two layers of text for every code. Layer one is the intuition essay: pictures, analogies, one-sentence conclusions. Layer two is the “derivation pages”: each answers one question completely and says, sentence by sentence, which is algebra, which is a machine recomputation, and which is literature. The BB entry has seven derivation pages plus an index page that strings them together; this guide teaches those seven pages as one course.

0.1七个问题Seven questions

QEC-Bank 索引页开头一句话说明了这七页为什么存在:「低开销 BB 存储器」这个标签把三种性质压在了一起——代数定义、有限块的算术、电路与架构的主张。七页的任务就是把它们拆开。你在《BB 码 · 高中数学版》里已经看见了这七件事,这里要把它们证出来或标清楚:

The QEC-Bank index page opens by saying why these seven pages exist: the label “low-overhead BB memory” compresses three kinds of statement into one, the algebraic definition, the finite-block arithmetic, and the circuit and architecture claims. The seven pages pull them apart. You have already seen these seven things in “BB Codes · High-School Edition”; here they get proved or labelled:

全页通用的字母:l、m = 环面的两个边长(x 方向 l 格,y 方向 m 格;gross 取 l = 12、m = 6);A、B = 两个二元多项式,也是它们对应的 lm × lm 矩阵(gross:A = x³ + y + y²,B = y³ + x + x²);n = 物理数据比特数,k = 逻辑比特数(《从高考数学到 Toric Code》4.4 节的记账:n 个比特、r 条独立检查,k = n − r;前提是没有哪几条检查的乘积等于 −I,CSS 码自动满足。k 与 [[n, k, d]] 的写法一致,本系列各页都这样用);d = 码距,即能骗过全部检查的最轻逻辑算符的重量(同一教程 5.8 节)。[[n, k, d]] 把三者并列;gross 是 [[144, 12, 12]]。Letters used throughout: l, m = the two side lengths of the torus (l cells along x, m along y; gross has l = 12, m = 6); A, B = the two bivariate polynomials and also their lm × lm matrices (gross: A = x³ + y + y², B = y³ + x + x²); n = number of physical data qubits, k = number of logical qubits (the ledger of “From High-School Math to the Toric Code”, §4.4: n qubits and r independent checks give k = n − r, provided no product of checks equals −I, which CSS codes satisfy automatically; k is the k of [[n, k, d]], as on every page of this series); d = the distance, the weight of the lightest logical operator that fools every check (the same guide, §5.8). [[n, k, d]] lists the three; gross is [[144, 12, 12]].

QEC-Bank 推导页QEC-Bank derivation page它回答的问题The question it answers直觉教程里的版本Its form in the intuition guide本教程Here
从环面多项式到 CSS 链复形From torus polynomials to a CSS chain complex为什么 HX = [A | B]、HZ = [Bᵀ | Aᵀ] 是「自然」的公式,而不只是要背的公式Why HX = [A | B], HZ = [Bᵀ | Aᵀ] is the natural formula, not just one to memorize「一行证明」“A one-line proof”第 1 章Chapter 1
gross 码参数与出处账本Gross-code parameter and provenance ledger144、12、12 这三个数字各由谁保证Who guarantees each of 144, 12 and 12「gross [[144,12,12]]:一罗」“gross [[144,12,12]]: a gross”第 2 章Chapter 2
症状电路与译码Syndrome circuits and decoding为什么静态码距、电路码距、探测器、BP-OSD、协议阈值是五个不同的对象Why static distance, circuit distance, detectors, BP-OSD and a protocol threshold are five different objects「深度 7」“depth 7”、「五个限定项」“five qualifiers”第 3 章Chapter 3
逻辑操作与证书Logical operations and their certificates哪些门有证书,证书长什么样,缺的是什么Which gates have certificates, what a certificate looks like, what is missing「什么已经有,什么还没有」“what exists and what does not”第 4 章Chapter 4
实现账本Realization ledger昆仑实验证明了什么、没证明什么;七个提案各攻哪个瓶颈What the Kunlun run showed and did not; which bottleneck each of seven proposals attacks「现实与渐近」“reality and asymptotics”第 5 章Chapter 5
表示词典Representation dictionary七种说法各保住什么、各不允许推出什么What each of seven views preserves and which inference it forbids「学名一瞥:链复形」“a glimpse of the chain complex”第 6 章Chapter 6
变体与边界地图Variant and boundary map祖先、七条变体轴、为什么共享一块「瓷砖」不决定开边界参数Ancestry, seven variant axes, why a shared bulk tile does not fix open-boundary parameters「bicycle 祖先」“the bicycle ancestor”、尾声的「变体」the epilogue's “variants”第 7 章Chapter 7

0.2复现契约:每个数字都能重跑The reproduction contract: every number reruns

QEC-Bank 对这些页面立了一条规矩:凡是「算出来」的陈述,都必须能在仓库里重跑。脚本 codes/bivariate_bicycle/pedagogy/reproduce.py 先加载随 QEC-Bank 一起发布的构造器 constructor.py,然后自己再造一遍循环移位、x、y、A、B,逐条 assert(断言,即「不等就报错退出」)本教程用到的每个计算结果:gross 的两个多项式、两个周期 x¹² = I 与 y⁶ = I、xy = yx、矩阵形状 72×144、HXHZᵀ = 0、两个秩都是 66、商维数 6、每行每列的重量、第 0 条 X 检查与第 0 条 Z 检查的精确支撑、平移自同构的矩阵恒等式、导出格点与检查的一一对应、种子 5 的重量 12 上界见证,以及 toric_L3 的 [[18,2,3]] 精确码距。任何一条不符,脚本以非零状态退出。普通验证器 make verify-entry 另外独立重算 instances.yaml 里两个实例的全部 claims。

The QEC-Bank imposes one rule on these pages: every statement that was “computed” must rerun inside the repository. The script codes/bivariate_bicycle/pedagogy/reproduce.py loads the constructor shipped with the QEC-Bank, constructor.py, then rebuilds on its own the cyclic shifts, x, y, A and B, and asserts (i.e. “exit with an error if unequal”) every computed result this guide uses: the two gross polynomials, the two periods x¹² = I and y⁶ = I, xy = yx, the 72×144 shapes, HXHZᵀ = 0, both ranks 66, quotient dimension 6, every row and column weight, the exact supports of X check 0 and Z check 0, the matrix identities of the translation automorphisms, the one-to-one match between exported lattice and checks, the seed-5 weight-12 upper witness, and the exact [[18,2,3]] distance of toric_L3. On the first disagreement it exits nonzero. The ordinary verifier, make verify-entry, independently recomputes every claim of both instances in instances.yaml.

source .venv/bin/activate python codes/bivariate_bicycle/pedagogy/reproduce.py make verify-entry E=codes/bivariate_bicycle

E=codes/bivariate_bicycle = 要验证的条目路径;三行依次是:进入 Python 虚拟环境、重跑全部断言、让独立验证器重算 instances.yaml。成功时脚本只打印一行:bivariate-bicycle pedagogy reproduction: OK (gross ranks/sparsity/bounded d, translations, toric [[18,2,3]])。E=codes/bivariate_bicycle = the entry path to verify; the three lines: enter the Python virtual environment, rerun every assertion, let the independent verifier recompute instances.yaml. On success the script prints one line: bivariate-bicycle pedagogy reproduction: OK (gross ranks/sparsity/bounded d, translations, toric [[18,2,3]]).

契约还有一条更严的细节。条目源文件 card.yaml 的 construction: 块把两个多项式因子钉为 bivariate_polynomial@1、把 CSS 拼装钉为 bivariate_bicycle@1(@1 是版本号);实例参数只绑定四个东西:两个周期 l、m 和两张指数表 a_terms、b_terms。重放时必须重建出逐元素完全相同的矩阵——行的顺序、比特的顺序、左右两块的顺序都不能差——验证器比较的是整张数组,而不是「秩相等」或「行空间相同」这种弱一些的等价。人话:QEC-Bank 不满足于「你造的码和我的一样好」,它要求「你造的矩阵和我的一个 0/1 都不差」。

The contract has one stricter detail. The construction: block of the entry source card.yaml pins both polynomial factors to bivariate_polynomial@1 and the CSS assembly to bivariate_bicycle@1 (@1 is a version number); the instance parameters bind only four things, the two periods l, m and the two exponent tables a_terms, b_terms. Replay must rebuild a matrix that is identical entry by entry, same row order, same qubit order, same left/right block order; the verifier compares the whole array, not a weaker equivalence such as “equal rank” or “same row space”. In plain words: the QEC-Bank is not satisfied with “your code is as good as mine”; it demands “your matrix differs from mine in not a single 0 or 1”.

出处的划分是刻意的,本教程每一章都会沿用这套标签:

The provenance split is deliberate, and every chapter below reuses these labels:

QEC-Bank 标签QEC-Bank label陈述Statement谁保证它What guarantees it
verified两张已发布的 CSS 矩阵;n、k、CSS 结构;检查重量与比特度;gross 的秩与商维数;环面周期与对易;平移保持稳定子空间;格点关联;gross 的重量 12 上界见证;toric_L3 的精确码距The two shipped CSS matrices; n, k, CSS status; check and qubit degrees; gross ranks and quotient codimension; torus periodicity and commutation; translations preserving the stabilizer spaces; lattice incidences; the gross weight-12 upper witness; the toric anchor's exact distance机器重算(reproduce.py + 验证器)Machine recomputation (reproduce.py + verifier)
boundedgross 的码距 d = 12The gross distance d = 12下界引自 bravyi2024bicycle;上界由 rand-lowweight-v1(seed=5, iters=2000) 重跑Lower bound cited to bravyi2024bicycle; upper bound rerun by rand-lowweight-v1(seed=5, iters=2000)
claimed /
curated /
demonstrated /
proposed
claimed /
curated /
demonstrated /
proposed
gross 下界证书本身;症状电路深度 7 与 0.8% 阈值估计;译码器表现;渐近坏;逻辑门协议;拓扑 / 任意子解释;每一个硬件实验与架构提案The gross lower-bound certificate itself; syndrome-circuit depth 7 and the 0.8% threshold estimate; decoder performance; the asymptotic limitation; logical-gate protocols; the topological/anyon interpretation; every hardware experiment and architecture proposal文献,旁边写全限定项。四个词:claimed = 照录文献的主张;curated = 从一篇文献整理出的叙述或视图;demonstrated = 真机上做过;proposed = 只是提案(设计或模拟)Literature, with the qualifiers written beside it. The four words: claimed = a literature claim copied as stated; curated = a narrative or view organised from one paper; demonstrated = done on real hardware; proposed = a proposal only (design or simulation)
范围Scope

QEC-Bank 的 bivariate_bicycle 条目只发布两个可执行实例:gross(l = 12、m = 6)与 toric_L3(l = m = 3)。《BB 码 · 高中数学版》第 5 章讲的 [[72,12,6]]、[[90,8,10]]、[[108,8,10]]、[[288,12,18]]、bb5、bicycle 各有自己的 QEC-Bank 条目(bb72、bb90、bb108、bb288、bb5、bicycle),本页的证书不覆盖它们。开边界、自对偶、多变量、qudit 的变体也不在这两个实例的参数与证书范围内;它们在第 7 章按「不能跨的线」讲。

The QEC-Bank bivariate_bicycle entry ships only two executable instances: gross (l = 12, m = 6) and toric_L3 (l = m = 3). The [[72,12,6]], [[90,8,10]], [[108,8,10]], [[288,12,18]], bb5 and bicycle codes of Chapter 5 of “BB Codes · High-School Edition” live in their own QEC-Bank entries (bb72, bb90, bb108, bb288, bb5, bicycle); this page's certificates do not cover them. Open-boundary, self-dual, multivariate and qudit variants are likewise outside the parameters and certificates of these two instances; Chapter 7 treats them as lines not to cross.

第 1 章Chapter 1

从环面多项式到 CSS 链复形From torus polynomials to a CSS chain complex

这一章固定 constructor.py 使用的约定,把对易的论证一分不欠地付清。目标不只是记住 HX = [A | B]、HZ = [Bᵀ | Aᵀ],而是看清为什么恰恰是这个公式:转置有转置的任务,交换有交换的任务,缺一个都不成立。最后用 l = m = 3、A = 1 + x、B = 1 + y 把整套约定钉在一个能穷举的小例子上。 This chapter fixes the convention used by constructor.py and pays the commutation argument in full. The goal is not merely to remember HX = [A | B], HZ = [Bᵀ | Aᵀ], but to see why exactly this formula: the transpose has a job, the swap has a job, and neither alone suffices. At the end, l = m = 3, A = 1 + x, B = 1 + y pins the whole convention to a small example that can be enumerated exhaustively.

1.1正则环面表示:一个约定,三条恒等式The regular torus representation: one convention, three identities

令 ei,j 是环面格点 (i, j) 上的标准基向量,i 取 0 到 l−1,j 取 0 到 m−1(数学写法:(i, j) ∈ ℤl × ℤm,即两个坐标各自绕圈)。构造器的循环移位 Sl 在第 i 行、第 i+1 列(下标模 l)放一个 1——这正是《BB 码 · 高中数学版》2.1 节的那个矩阵,方向约定「第 i 格送到第 i+1 格」。把格点拉平成一维下标 im + j(先数 i、再数 j),定义

Let ei,j be the standard basis vector at torus site (i, j), with i from 0 to l−1 and j from 0 to m−1 (in symbols (i, j) ∈ ℤl × ℤm: each coordinate wraps around). The constructor's cyclic shift Sl puts a 1 in row i, column i+1 (indices mod l), exactly the matrix of §2.1 of “BB Codes · High-School Edition”, with the orientation “cell i goes to cell i+1”. Flatten the sites into the one-dimensional index im + j (count i first, then j) and define

x ≔ Sl ⊗ Im · y ≔ Il ⊗ Sm ⇒ xl = I · ym = I · xy = yx

Sl = l × l 的循环移位置换矩阵;Im = m × m 单位矩阵;⊗ = 克罗内克积(直觉教程 2.2 节:把左边矩阵的每个元素放大成一整块右边矩阵);x、y = 只动第一个坐标 / 只动第二个坐标的平移,都是 lm × lm 的置换矩阵;I = lm × lm 单位矩阵。Sl = the l × l cyclic-shift permutation matrix; Im = the m × m identity; ⊗ = the Kronecker product (intuition guide, §2.2: every entry of the left matrix is blown up into a whole copy of the right one); x, y = the translations that move only the first / only the second coordinate, both lm × lm permutation matrices; I = the lm × lm identity.

人话:x 让格点 (i, j) 变成 (i+1, j),y 让它变成 (i, j+1)。第一条恒等式 xl = I 是「往 x 方向走 l 步回到原地」;第二条同理;第三条 xy = yx 是「先右后上和先上后右到的是同一个格子」——它成立的深层原因是 x 和 y 作用在克罗内克积的不同因子上。reproduce.py 对 gross 逐条断言了 x¹² = I、y⁶ = I 与 xy = yx。这些矩阵合起来给出了环 R 的正则表示regular representation:把环里每个元素 r 变成「乘以 r」这个线性映射的矩阵。加法变成矩阵加法,乘法变成矩阵乘法,所以多项式里的等式与矩阵里的等式一一对应。:

In plain words: x sends site (i, j) to (i+1, j), y sends it to (i, j+1). The first identity xl = I says “l steps in the x direction bring you home”; the second likewise; the third, xy = yx, says “right-then-up and up-then-right reach the same cell”, and the deep reason it holds is that x and y act on different factors of the Kronecker product. reproduce.py asserts x¹² = I, y⁶ = I and xy = yx for gross one by one. Together these matrices give the regular representationThe regular representation turns every ring element r into the matrix of the linear map “multiply by r”. Addition becomes matrix addition and multiplication matrix multiplication, so identities among polynomials and identities among matrices correspond one to one. of the ring R:

R = GF(2)[x, y] / (xl − 1, ym − 1) (特征 2 里 xl − 1 = xl + 1,有的论文写加号,同一个商环in characteristic two xl − 1 = xl + 1; papers using the plus sign describe the same quotient)

GF(2) = 只有 0、1、按 1 + 1 = 0 运算的数域;GF(2)[x, y] = 系数为 0/1 的 x、y 多项式全体;/ ( … ) = 「模掉括号里的东西」,即把 xl − 1 与 ym − 1 都当作 0,也就是 xl = 1、ym = 1 两条规则(直觉教程 2.3 节「学名一瞥」)。GF(2) = the field with only 0 and 1, where 1 + 1 = 0; GF(2)[x, y] = all polynomials in x, y with 0/1 coefficients; / ( … ) = “modulo what is in the brackets”, i.e. treat xl − 1 and ym − 1 as 0, which is the pair of rules xl = 1, ym = 1 (intuition guide, §2.3, “a glimpse of the ring”).

1.2转置 = 反向平移Transpose = inverse translation

每个单项式 xayb 是一个置换矩阵(每行每列恰一个 1)。置换矩阵的转置等于它的逆,所以

Every monomial xayb is a permutation matrix (exactly one 1 per row and per column). A permutation matrix's transpose is its inverse, hence

(xayb)ᵀ = x−ay−b (负指数按模 l、模 m 约化:gross 里 y−3 = y3,x−1 = x11negative exponents reduced mod l, mod m: in gross y−3 = y3, x−1 = x11)

a、b = 单项式的两个指数,即往 x 方向平移 a 格、往 y 方向平移 b 格;ᵀ = 转置,把矩阵的行列互换。a, b = the two exponents of the monomial, i.e. a cells of translation along x and b along y; ᵀ = transpose, swapping rows and columns.

这就是转置在这里有几何意义的原因:它把一次环面平移倒过来。为什么会这样?置换矩阵 P 在第 i 行第 π(i) 列放 1,「把 i 送到 π(i)」;转置后 1 跑到第 π(i) 行第 i 列,「把 π(i) 送回 i」。人话:往右挪三格的矩阵,转置就是往左挪三格。这一条在 1.4 节要用两次。

That is why the transpose has a geometric meaning here: it reverses a torus translation. Why? A permutation matrix P has its 1 in row i, column π(i), “send i to π(i)”; after transposing, the 1 sits in row π(i), column i, “send π(i) back to i”. In plain words: the matrix that moves everything three cells right has, as its transpose, the matrix that moves everything three cells left. §1.4 will use this twice.

1.3稀疏多项式给出 LDPC 关联:gross 的第 0 条检查Sparse polynomials give LDPC incidence: gross check 0

一个二元多项式 A = Σ(a,b) ∈ TA xayb 的矩阵,每一行恰好从每个不同的单项式那里得到一个 1。如果指数表 TA 里的(约化后的)指数对两两不同,那么每行每列的重量都是 |TA|——项数。重复的项在 GF(2) 上成对抵消(1 + 1 = 0),所以构造器先把指数对按 l、m 约化、再做 XOR。gross 的输入是

The matrix of a bivariate polynomial A = Σ(a,b) ∈ TA xayb receives, in each row, exactly one 1 from each distinct monomial. If the (reduced) exponent pairs in the table TA are pairwise distinct, every row and every column has weight |TA|, the number of terms. Repeated terms cancel in pairs over GF(2) (1 + 1 = 0), so the constructor reduces the exponent pairs mod l, m first and then XORs. The gross inputs are

A = x³ + y + y² · B = y³ + x + x² (l = 12, m = 6) ⇒ A、B 每行每列恰 3 个 1every row and column of A, B has exactly 3 ones

TA = A 的指数表,即 instances.yaml 里的 a_terms: [[3,0],[0,1],[0,2]];|TA| = 表里的项数(这里 3);Σ = 求和。B 的表是 b_terms: [[0,3],[1,0],[2,0]]。TA = the exponent table of A, i.e. a_terms: [[3,0],[0,1],[0,2]] in instances.yaml; |TA| = the number of entries (here 3); Σ = summation. B's table is b_terms: [[0,3],[1,0],[2,0]].

动手算一条。第 0 条 X 检查坐在格点 (0, 0)(下标 0·6 + 0 = 0)。A 的三项把它连到左层的 (3, 0)、(0, 1)、(0, 2),拉平后是 18、1、2;B 的三项连到右层的 (0, 3)、(1, 0)、(2, 0),拉平后 3、6、12,再加右层偏移 72,得 75、78、84。所以第 0 条 X 检查的支撑是 {1, 2, 18, 75, 78, 84}——reproduce.py 第 113 行断言的正是这六个数。第 0 条 Z 检查用反向平移:Bᵀ 的三项把 (0,0) 连到左层的 (0, −3) = (0, 3)、(−1, 0) = (11, 0)、(−2, 0) = (10, 0),即 3、66、60;Aᵀ 的三项连到右层的 (−3, 0) = (9, 0)、(0, −1) = (0, 5)、(0, −2) = (0, 4),即 54 + 72 = 126、5 + 72 = 77、4 + 72 = 76。支撑 {3, 60, 66, 76, 77, 126},与脚本第 114 行一致。注意:没有人另外画一个「方块」——检查图就是这些平移的关联图。到实验台上点一个起点,看三个箭头落在哪里,再看矩阵里这一行的三个 1:

Work one out by hand. X check 0 sits at site (0, 0) (index 0·6 + 0 = 0). The three terms of A join it to left-layer sites (3, 0), (0, 1), (0, 2), flattened 18, 1, 2; the three terms of B join it to right-layer sites (0, 3), (1, 0), (2, 0), flattened 3, 6, 12, plus the right-layer offset 72, giving 75, 78, 84. So the support of X check 0 is {1, 2, 18, 75, 78, 84}, exactly the six numbers asserted on line 113 of reproduce.py. Z check 0 uses the inverse translations: the three terms of Bᵀ join (0,0) to left-layer (0, −3) = (0, 3), (−1, 0) = (11, 0), (−2, 0) = (10, 0), i.e. 3, 66, 60; the three terms of Aᵀ join it to right-layer (−3, 0) = (9, 0), (0, −1) = (0, 5), (0, −2) = (0, 4), i.e. 54 + 72 = 126, 5 + 72 = 77, 4 + 72 = 76. Support {3, 60, 66, 76, 77, 126}, matching line 114 of the script. Note that nobody drew a separate “plaquette”: the check graph is the incidence graph of these translations. Pick a starting cell on the bench, watch where the three arrows land, then find the three 1s of that row in the matrix:

1.4为什么必须「交换再转置」:一行证明,两个任务Why the swapped transpose is forced: one line of proof, two jobs

在环面每个格点放两个数据比特:前 lm 列是左块,后 lm 列是右块。定义 HX = [A | B]。CSS 码要求 HXHZᵀ = 0(碰撞定理的矩阵形式:每对 X、Z 检查重叠偶数个比特)。选 HZ = [Bᵀ | Aᵀ],分块相乘:

Place two data qubits at every torus site: the first lm columns are the left block, the second lm the right block. Define HX = [A | B]. A CSS code needs HXHZᵀ = 0 (the matrix form of the collision theorem: every X check overlaps every Z check on an even number of qubits). Choose HZ = [Bᵀ | Aᵀ] and multiply blockwise:

HXHZᵀ = [A | B] · [B ; A] = AB + BA = AB + AB = 0 (第三个等号用 AB = BA,第四个用 1 + 1 = 0the third equality uses AB = BA, the fourth uses 1 + 1 = 0)

[A | B] = 把 A、B 左右并排的 lm × 2lm 矩阵;[B ; A] = 把 B、A 上下堆叠的 2lm × lm 矩阵,它就是 HZᵀ(因为 (Bᵀ)ᵀ = B、(Aᵀ)ᵀ = A);AB = 矩阵乘积,也是多项式乘积。[A | B] = the lm × 2lm matrix with A and B side by side; [B ; A] = the 2lm × lm matrix with B stacked over A, which is HZᵀ (since (Bᵀ)ᵀ = B, (Aᵀ)ᵀ = A); AB = the matrix product, equally the polynomial product.

AB = BA 来自 1.1 节的 xy = yx:A、B 都是 x、y 的多项式,而两个变量对易,所以它们的任何两个多项式对易——这是「把检查算在阿贝尔(可交换)环上」的全部回报。1 + 1 = 0 是 GF(2)。于是任何 l、m、A、B 都给出一个合法的 CSS 码。

AB = BA comes from xy = yx in §1.1: A and B are polynomials in x, y, and since the two variables commute, so do any two polynomials in them; this is the whole payoff of computing checks over an abelian (commutative) ring. 1 + 1 = 0 is GF(2). Hence any l, m, A, B give a legal CSS code.

转置和交换各有任务。转置把 Z 一侧的关联倒过来,让 Z 检查成为 X 检查的对偶映射——X 检查沿某方向伸出去的腿,Z 检查沿反方向收回来(1.2 节)。交换把重叠项路由成 AB + BA。若只转置不交换,取候选 HZ' = [Aᵀ | Bᵀ],乘积变成 A² + B²,没有任何理由为零。对 gross 可以具体算:A² = x⁶ + y² + y⁴,B² = y⁶ + x² + x⁴ = 1 + x² + x⁴(因为 y⁶ = 1),两者相加是一个六项多项式,矩阵每行 6 个 1,秩 48——离零远得很。人话:不交换的话,gross 的每条 X 检查会与 6 条 Z 检查各撞奇数次,码根本不合法。所以「交换 + 转置」不是审美,是让定理成立的唯一便宜路线。

Transpose and swap each have a job. The transpose reverses the Z-side incidence so that the Z check is the dual map of the X check: where an X check reaches out along some direction, the Z check reaches back along the opposite one (§1.2). The swap routes the overlap into AB + BA. Transpose without swapping, with the candidate HZ' = [Aᵀ | Bᵀ], gives A² + B², which has no reason to vanish. For gross one can compute it: A² = x⁶ + y² + y⁴, B² = y⁶ + x² + x⁴ = 1 + x² + x⁴ (since y⁶ = 1), and their sum is a six-term polynomial whose matrix has 6 ones per row and rank 48, nowhere near zero. In plain words: without the swap, every gross X check would collide an odd number of times with 6 different Z checks, and the code would simply be illegal. So “swap + transpose” is not taste; it is the only cheap route that makes the theorem true.

关键想法Key idea

对易在环面码里靠几何(一个角连两条边),在 BB 码里靠代数(AB = BA 与 1 + 1 = 0)。一行证明里,转置负责「对偶」,交换负责「把乘积配成一对相同的项」。reproduce.py 对 gross 断言了 HZ 逐元素等于 [Bᵀ | Aᵀ],并断言 HXHZᵀ 在整数意义下模 2 全为零。

Commutation rests on geometry in the toric code (a corner joins two edges) and on algebra in a BB code (AB = BA and 1 + 1 = 0). In the one-line proof the transpose supplies duality and the swap pairs the product into two identical terms. reproduce.py asserts, for gross, that HZ equals [Bᵀ | Aᵀ] entry by entry and that HXHZᵀ vanishes mod 2.

1.5三项复形:同一个算式的另一种读法The three-term complex: the same calculation read differently

刚才的计算还有一个名字:「边界的边界为零」。把 ∂2 ≔ [B ; A](把一个多项式 r 送到一对 (Br, Ar))和 ∂1 ≔ [A | B](把一对 (u, v) 送到 Au + Bv)串起来:

The calculation just done has another name: “the boundary of a boundary is zero”. Chain ∂2 ≔ [B ; A] (sending one polynomial r to the pair (Br, Ar)) and ∂1 ≔ [A | B] (sending a pair (u, v) to Au + Bv):

RR²R ∂₂ = [B ; A]∂₁ = [A | B] Z 检查 (lm 条)Z checks (lm rows) 数据比特 (2lm 个)data qubits (2lm) X 检查 (lm 条)X checks (lm rows) ∂₁∂₂ = AB + BA = 0 :边界的边界为零 = CSS 条件∂₁∂₂ = AB + BA = 0: boundary of a boundary vanishes = the CSS condition
R —∂2=[B;A]→ R² —∂1=[A|B]→ R · ∂1∂2 = AB + BA = 0 · ∂1 = HX,∂2ᵀ = HZ

R = 1.1 节的环,作为向量空间是 lm 维(每个格点一维);R² = 两份 R,对应左右两块数据比特;∂1、∂2 = 两个「边界算符」,就是两张检查矩阵换个名字。R = the ring of §1.1, an lm-dimensional vector space (one dimension per site); R² = two copies of R, the left and right data blocks; ∂1, ∂2 = the two “boundary operators”, the two check matrices under another name.

在二元 CSS 约定里,∂1 = HX、∂2 = HZᵀ(即 ∂2ᵀ = HZ)。中间那一项 R² 里的一个向量 v 是全部 2lm 个数据比特上的一个 0/1 串;把它读成一个 Z 型 Pauli(v 为 1 的比特上放 Z)。∂1v = HXv = 0 说的是这个 Z 串与每条 X 检查都重叠偶数次,也就是与所有 X 检查对易;这样的 v 叫一个圈cycle:被边界算符送到零的元素。这里指 ∂1v = HXv = 0 的 Z 串 v,即「所有 X 检查都读 +1」。。乘上一个 Z 稳定子相当于加一个边界boundary:某个元素在边界算符下的像。这里指 ∂2u = HZᵀu,即若干条 Z 检查的乘积。。所以非平凡的 Z 逻辑类是「圈模边界」的商 ker HX / im HZᵀ。X 逻辑类住在对偶复形里:把两个箭头都转置、方向倒过来,得到 ker HZ / im HXᵀ(与所有 Z 检查对易的 X 串,模掉 X 检查的乘积);两个商的维数相同,都是 k。用 1.6 节的 toric_L3 数一遍:rank HX = 8,所以 ker HX 有 18 − 8 = 10 维;im HZᵀ 的维数是 rank HZ = 8;商是 10 − 8 = 2 维,正是 k = 2。这个「圈模边界」的商在数学上叫同调(homology;这里是复形中间那一项的同调,所以也叫中间同调)。这正是同调语言赚回本钱的地方:「与检查对易」和「是检查的乘积」是两个不同的子空间,逻辑信息就是两者之间的差。《Surface Code · 高中数学版》用「横跨不横跨」说这件事,这里用「商」说,一个想法两种口音。一般的二元词典在 QEC-Bank 基础页 CSS chain complexes。

In the binary CSS convention, ∂1 = HX and ∂2 = HZᵀ (that is, ∂2ᵀ = HZ). A vector v in the middle term R² is a 0/1 string on all 2lm data qubits; read it as a Z-type Pauli (a Z on every qubit where v is 1). ∂1v = HXv = 0 says that this Z string overlaps every X check an even number of times, i.e. commutes with all X checks; such a v is a cycleAn element sent to zero by the boundary operator: here a Z string v with ∂1v = HXv = 0, i.e. “every X check reads +1”.. Multiplying by a Z stabilizer adds a boundaryThe image of something under the boundary operator: here ∂2u = HZᵀu, i.e. a product of Z checks.. So the nontrivial Z-logical classes are the quotient “cycles modulo boundaries”, ker HX / im HZᵀ. The X-logical classes live in the dual complex: transpose both arrows and reverse their direction to get ker HZ / im HXᵀ (X strings commuting with every Z check, modulo products of X checks); the two quotients have the same dimension, k. Count it on toric_L3 of §1.6: rank HX = 8, so ker HX has 18 − 8 = 10 dimensions; im HZᵀ has dimension rank HZ = 8; the quotient has 10 − 8 = 2 dimensions, exactly k = 2. This quotient “cycles modulo boundaries” is called homology in mathematics (here the homology of the middle term of the complex, hence “middle homology”). This is exactly where the homological language earns its keep: “commutes with the checks” and “is a product of checks” are two different subspaces, and logical information is the gap between them. “The Surface Code · High-School Edition” says it with “spanning or not spanning”; here it is said with “quotient”, one idea in two accents. The general binary dictionary is on the QEC-Bank foundations page CSS chain complexes.

1.6环面锚点:A = 1 + x、B = 1 + y 给出 [[18,2,3]]The toric anchor: A = 1 + x, B = 1 + y gives [[18,2,3]]

令 l = m = L,取 A = 1 + x、B = 1 + y。每个多项式两项,所以每条检查四腿。得到的复形正是周期方格上的环面码,只是写成 BB 的「按列分块」约定:每个单元格两个比特(左块一个、右块一个)、一条 X 检查、一条 Z 检查。对已发布的 L = 3 实例,构造器给出两张 9×18 矩阵(竖线左边 9 列是左块 q0…q8,右边 9 列是右块 q9…q17):

Set l = m = L and choose A = 1 + x, B = 1 + y. Each polynomial has two terms, so each check has weight four. The resulting complex is the toric code on the periodic square lattice, written in the BB “column-block” convention: two qubits per unit cell (one in each block), one X check and one Z check per cell. For the shipped L = 3 instance the constructor gives two 9×18 matrices (the 9 columns left of the bar are the left block q0…q8, the 9 on the right the right block q9…q17):

H_X = [A | B] H_Z = [Bᵀ | Aᵀ] 100100000 | 110000000 X0 (0,0) 101000000 | 100000100 Z0 (0,0) 010010000 | 011000000 X1 (0,1) 110000000 | 010000010 Z1 (0,1) 001001000 | 101000000 X2 (0,2) 011000000 | 001000001 Z2 (0,2) 000100100 | 000110000 X3 (1,0) 000101000 | 100100000 Z3 (1,0) 000010010 | 000011000 X4 (1,1) 000110000 | 010010000 Z4 (1,1) 000001001 | 000101000 X5 (1,2) 000011000 | 001001000 Z5 (1,2) 100000100 | 000000110 X6 (2,0) 000000101 | 000100100 Z6 (2,0) 010000010 | 000000011 X7 (2,1) 000000110 | 000010010 Z7 (2,1) 001000001 | 000000101 X8 (2,2) 000000011 | 000001001 Z8 (2,2)

行 = 检查,括号里是它所在的格点 (i, j),下标 3i + j;列 = 数据比特(竖线左 q0–q8 是左块,右 q9–q17 是右块);1 = 该检查作用于该比特。例如 X0 = {q0, q3, q9, q10}:左块的 (0,0) 与 (1,0)(A 的 1 与 x),右块的 (0,0) 与 (0,1)(B 的 1 与 y)。Z0 = {q0, q2, q9, q15}:左块的 (0,0) 与 (0,−1) = (0,2)(Bᵀ 的 1 与 y−1),右块的 (0,0) 与 (−1,0) = (2,0)(Aᵀ 的 1 与 x−1)。Rows = checks, with the site (i, j) in brackets, index 3i + j; columns = data qubits (left of the bar q0–q8, the left block; right q9–q17, the right block); a 1 = this check acts on this qubit. For instance X0 = {q0, q3, q9, q10}: left-block (0,0) and (1,0) (the 1 and x of A), right-block (0,0) and (0,1) (the 1 and y of B). Z0 = {q0, q2, q9, q15}: left-block (0,0) and (0,−1) = (0,2) (the 1 and y−1 of Bᵀ), right-block (0,0) and (−1,0) = (2,0) (the 1 and x−1 of Aᵀ).

核对一对:X0 = {q0, q3, q9, q10} 与 Z1 = {q0, q1, q10, q16} 重叠 {q0, q10},两格,偶数,对易;X0 与 Z3 = {q3, q5, q9, q12} 重叠 {q3, q9},也是两格。两张矩阵的秩都是 8(九行里有一条依赖:全部 X 检查之积是 I,全部 Z 检查之积也是 I——环面码教程的两条恒等式),所以

Check one pair: X0 = {q0, q3, q9, q10} and Z1 = {q0, q1, q10, q16} overlap in {q0, q10}, two cells, even, so they commute; X0 and Z3 = {q3, q5, q9, q12} overlap in {q3, q9}, again two. Both matrices have rank 8 (one dependency among nine rows: the product of all X checks is I, and so is the product of all Z checks, the toric guide's two identities), hence

k = 18 − 8 − 8 = 2 · QEC-Bank 精确 CSS 枚举器:d = 3QEC-Bank exact CSS enumerator: d = 3 ⇒ [[18, 2, 3]] verified

18 = n = 2 × 3 × 3;两个 8 = rank HX、rank HZ;exact-css-enum = QEC-Bank 的穷举方法,把所有与检查对易、又不是检查乘积的 X 串(和 Z 串)逐个列出取最轻者。18 = n = 2 × 3 × 3; the two 8s = rank HX, rank HZ; exact-css-enum = the QEC-Bank exhaustive method, listing every X (and Z) string that commutes with the checks yet is not a product of checks, and taking the lightest.

这个 [[18,2,3]] 锚点检验的是移位方向、交换转置、秩与精确码距这一整条路径:把转置忘掉,检查就不再两两对易;把方向弄反,第 0 条检查的支撑会对不上。在实验台上把预设切到 toric_L3,点一条检查看它的四条腿,再按「搜索低重逻辑算符」穷举出 3:

This [[18,2,3]] anchor tests the whole path, shift orientation, swapped transpose, ranks and the exact-distance routine: forget the transpose and the checks stop commuting; reverse the orientation and check 0's support no longer matches. Switch the bench to the toric_L3 preset, click a check to see its four legs, then press the low-weight search to enumerate 3:

这个锚点不证明什么What this anchor does not prove

它不证明任意 BB 块局部 Clifford 等价于若干个独立的环面码(局部 Clifford 等价 = 只用逐个比特、互不相连的 Clifford 门就能把一个码的检查变成另一个码的检查;第 6 章用的「局域 Clifford 相等价」更宽,允许有限深度的局域电路)。sahay2026matching 用对称性约化得到「类环面的圆柱」用于译码,chen2025anyon 在更一般的 BB 数据里发现拓扑挫折——这两条说的是不同的等价关系(第 6 章)。人话:环面码是 BB 家族里最简单的一员,不是 BB 家族的「全部内容」。

It does not prove that an arbitrary BB block is locally Clifford equivalent to independent toric codes (locally Clifford equivalent = one code's checks become the other's using only single-qubit Clifford gates, none connecting qubits; the “local-Clifford phase equivalence” of Chapter 6 is wider, allowing finite-depth local circuits). sahay2026matching uses a symmetry reduction to obtain toric-like cylinders for decoding, and chen2025anyon finds topological frustration in more general BB data; those statements concern different equivalences (Chapter 6). In plain words: the toric code is the simplest member of the BB family, not the whole of it.

检查站Checkpoint第 1 章Chapter 1
在 gross 码里(l = 12、m = 6),第 7 条 X 检查坐在格点 (1, 1)。按本章约定,它在左块碰到哪三个比特?In the gross code (l = 12, m = 6), X check 7 sits at site (1, 1). By this chapter's convention, which three left-block qubits does it touch?

对。检查行 (i, j) 的 1 落在 (i+a, j+b),下标 (i+a)·6 + (j+b):(4,1) → 25,(1,2) → 8,(1,3) → 9。检查都「长一个样」是对的,但它们是同一个形状平移到不同位置,所以支撑不同。右块的三个是 B 给的:(1,4) → 10 + 72 = 82,(2,1) → 13 + 72 = 85,(3,1) → 19 + 72 = 91。

Right. Row (i, j) has its 1s at (i+a, j+b), index (i+a)·6 + (j+b): (4,1) → 25, (1,2) → 8, (1,3) → 9. It is true that all checks “look alike”, but they are the same shape translated to different places, so their supports differ. The right-block three come from B: (1,4) → 10 + 72 = 82, (2,1) → 13 + 72 = 85, (3,1) → 19 + 72 = 91.

回到 1.3 节的算法:每一项 xayb 把检查所在的 (i, j) 送到 (i+a, j+b),再用 im + j 拉平。

Back to the recipe of §1.3: each term xayb sends the check's site (i, j) to (i+a, j+b); then flatten with im + j.

第 2 章Chapter 2

gross 码参数账本:每个静态数字由谁保证The gross parameter ledger: who guarantees each static number

这一章把挂在 gross 实例上的每一个静态数字推导出来,并标明哪些是仓库重算的、哪些仍是文献的欠条。四个输入,一路算到 144、6、66、6、12、12,然后画清两条容易被抹掉的界线:数据比特与整机开销,静态码距与电路码距。 This chapter derives every static number attached to the shipped gross instance and labels what the repository recomputes versus what remains a literature obligation. Four inputs, computed all the way to 144, 6, 66, 6, 12, 12, then two lines that are easily erased get drawn sharply: data qubits versus full-machine overhead, static distance versus circuit distance.

2.1输入与矩阵尺寸Inputs and matrix sizes

输入Input值Value角色Role
l12x 平移的阶(走 12 步回原地)order of the x translation (12 steps return home)
m6y 平移的阶order of the y translation
Ax³ + y + y²每条 X 检查的左半(左块三腿)left half of each X check (three left-block legs)
By³ + x + x²每条 X 检查的右半(右块三腿)right half of each X check (three right-block legs)
N = lm = 12 · 6 = 72 · n = 2N = 144
A, B ∈ GF(2)72×72 · HX, HZ ∈ GF(2)72×144

N = 环面格点数 = 每类检查的条数 = 每块数据比特数;GF(2)r×c = r 行 c 列的 0/1 矩阵全体;n = 数据比特总数(两块各 72)。N = number of torus sites = number of checks of each type = number of data qubits per block; GF(2)r×c = all 0/1 matrices with r rows and c columns; n = total data qubits (72 in each block).

人话:72 个格点,每个格点两个数据比特,共 144;每个格点一条 X 检查、一条 Z 检查,所以两张矩阵各 72 行、144 列。144 只是数据比特数。它不含症状辅助比特、耦合器、路由工作区、备用模块和译码器硬件——这条注脚要一直带到 2.5 节。

In plain words: 72 sites, two data qubits each, 144 in all; one X check and one Z check per site, so both matrices have 72 rows and 144 columns. 144 is the data-qubit count only. It excludes syndrome ancillas, couplers, routing workspace, spare modules and decoder hardware; carry that footnote all the way to §2.5.

2.2检查重量与比特度:6,与 3 + 3Check weight and qubit degree: 6, and 3 + 3

gross 的每个多项式含三个互不相同的约化单项式。一个单项式是置换矩阵,每行每列恰贡献一个 1。因此:A 的每行每列重量 3;B 的每行每列重量 3;HX = [A | B] 的每行重量 6;HZ = [Bᵀ | Aᵀ] 的每行重量 6;每个数据比特属于 3 条 X 检查和 3 条 Z 检查(HX 与 HZ 的每列重量各为 3)。

Each gross polynomial contains three distinct reduced monomials. A monomial is a permutation matrix, contributing exactly one 1 per row and column. Therefore: every row and column of A has weight 3; likewise B; every row of HX = [A | B] has weight 6; every row of HZ = [Bᵀ | Aᵀ] has weight 6; every data qubit belongs to 3 X checks and 3 Z checks (each column of HX and of HZ has weight 3).

检查重量check weight = |A| + |B| = 3 + 3 = 6 · 比特度qubit degree = 3 X + 3 Z

|A| = A 的项数;检查重量 = 一条检查碰到的比特数;比特度 = 一个比特被多少条检查碰到。|A| = the number of terms of A; check weight = how many qubits one check touches; qubit degree = how many checks touch one qubit.

最后一条常被压缩成「度 6」。保留 X/Z 的拆分对电路很要紧:3 条 X 型交互和 3 条 Z 型交互用不同的辅助比特制备方式,故障传播的样子也不同。还有一个方法学细节:reproduce.py 不是「看到三项就推断重量 3」,而是把 A、B、HX、HZ 的每一行每一列都数了一遍(脚本第 103–110 行八条断言)——因为如果两个指数对约化后重合,项会抵消,重量会掉到 1。

The last statement is often compressed to “degree 6”. Keeping the X/Z split visible matters for a circuit: three X-type and three Z-type interactions use different ancilla preparations and propagate faults differently. One methodological detail: reproduce.py does not “see three terms and infer weight 3”; it counts every row and every column of A, B, HX, HZ (eight assertions, script lines 103–110), because if two exponent pairs coincide after reduction the terms cancel and the weight drops to 1.

2.3秩与编码维数:66、66、132、12,以及一个 6Rank and encoded dimension: 66, 66, 132, 12, and a 6

GF(2) 上的高斯消元给出 rank HX = 66,rank HZ = 66。CSS 码的稳定子秩是两者之和,因为纯 X 行与纯 Z 行在二元辛表示里不可能互相抵消(一行在 X 半边有 1,另一行在 Z 半边有 1,加起来消不掉):132。于是

Gaussian elimination over GF(2) gives rank HX = 66 and rank HZ = 66. The CSS stabilizer rank is their sum, because pure-X and pure-Z rows cannot cancel each other in the binary symplectic form (one row has 1s in the X half, the other in the Z half; their sum cannot vanish): 132. Hence

k = n − rank HX − rank HZ = 144 − 66 − 66 = 12

rank = 线性独立行数(直觉教程 4.1 节);72 行里只有 66 行独立,也就是每类检查里有 6 条是多余的。这条公式是 k = n − r(r = 66 + 66 = 132 条独立检查);它要求没有哪几条检查的乘积等于 −I。这不是因为 X 检查与 Z 检查相乘不出负号:(XX)(ZZ) = −YY 就带了负号。真正的理由是:所有检查的符号都是 +,而且两两对易,所以任意一个乘积都能重排成「先乘所有用到的 X 检查,再乘所有用到的 Z 检查」,重排不产生符号,结果是 +XaZb(a、b 是两个 0/1 串,Xa 表示在 a 为 1 的比特上放 X)。这个乘积要等于 ±I,必须每个比特上都什么也没有,即 a = b = 0,而那时它就是 +I。所以 −I 永远得不到,条件自动满足。rank = number of linearly independent rows (intuition guide, §4.1); only 66 of 72 rows are independent, i.e. 6 checks of each type are redundant. The formula is k = n − r (r = 66 + 66 = 132 independent checks); it requires that no product of checks equal −I. The reason is not that X and Z checks multiply without signs: (XX)(ZZ) = −YY carries one. The reason is this: every check has sign +, and all checks commute, so any product can be reordered as “all the X checks used, then all the Z checks used” without picking up a sign, giving +XaZb (a, b are 0/1 strings; Xa puts an X on every qubit where a is 1). For this to be ±I it must act on no qubit at all, so a = b = 0, and then it is +I. So −I is never reached and the condition holds automatically.

这里有一个有用的商读法。映射 [A | B]: R² → R,(u, v) ↦ Au + Bv 的像是理想 (A, B)(所有能写成 Au + Bv 的多项式)。它的秩是 66,所以它的余核cokernel:目标空间除以像。这里是 R/(A,B),即「把所有 Au + Bv 当作零之后剩下的东西」。 R/(A,B) 的维数是 72 − 66 = 6。对偶一侧有同样的 6 维亏损,中间剩下 12 个逻辑维度。人话:72 个格点上的多项式,有 66 维能被 A、B「生成」出来,剩下 6 维生成不到;X 侧、Z 侧各贡献 6,凑成 12 个逻辑比特。

There is a useful quotient reading. The map [A | B]: R² → R, (u, v) ↦ Au + Bv, has image equal to the ideal (A, B) (all polynomials writable as Au + Bv). Its rank is 66, so its cokernelThe target space divided by the image: here R/(A,B), “whatever is left after every Au + Bv is treated as zero”. R/(A,B) has dimension 72 − 66 = 6. The dual side has the same six-dimensional defect, leaving twelve logical dimensions in the middle. In plain words: of the polynomials on 72 sites, 66 dimensions can be “generated” by A and B and 6 cannot; the X side and the Z side each contribute 6, making 12 logical qubits.

dimGF(2) R/(A,B) = 72 − 66 = 6 · k = 2 × 6 = 12

dim = 维数;R/(A,B) = 环 R 模掉理想 (A,B) 的商空间。dim = dimension; R/(A,B) = the ring R modulo the ideal (A,B).

这是对这些周期与这些多项式算出来的事实。A 三项、B 三项不决定秩:改指数就改公共理想,k 可以变。直觉教程 5.5 节的活例子是 [[108,8,10]]:同样的 A、B 放到 9 × 6 的环面上,商维数掉到 4、k = 8。商的视角在 postema2025existence 里被发展成一门方法,它把码搜索变成三方拉扯:公共商越大 k 越大;但同样的共享结构可能引入短的非平凡圈、压低码距;而局域性约束又限制允许的单项式偏移。下面的实验台预设为 gross,可以亲手看到这件事:把 l 的滑杆从 12 拉到 9,每条检查仍是 6 条腿,读数里的 k 却从 12 变成 8(就是 bb108);或者在「A 的项」里只改一个指数:只要改完后 A 的三项在 mod 12、mod 6 之下仍互不相同,项数、腿数就不变,k 却会跳。这个前提不能省:把 y 改成 y²,得到 A = x³ + y² + y²,两个 y² 相加为 0(1 + 1 = 0)而相消,A = x³,每条检查只剩 4 条腿。修订时的脚本在固定的 l = 12、m = 6 上逐个试过(B 不动):只改 A 的一个指数、三项仍互不相同的 46 种改法里,k 只取 0、8、12;把 A 的一整项换成任意别的项(三项仍互不相同),k 只取 0、4、8、12。这些 k 值只对 12 × 6 这一个环面成立:

This is a computed fact for these periods and these polynomials. Three terms in A and three in B do not determine the rank: change the exponents and the common ideal changes, and k may change with it. The live example in §5.5 of the intuition guide is [[108,8,10]]: the same A, B on a 9 × 6 torus drop the quotient dimension to 4 and k to 8. postema2025existence develops the quotient perspective into a method that turns code search into a three-way tension: a larger common quotient can raise k; the same shared structure may introduce short nontrivial cycles and lower the distance; and locality constraints restrict the permitted monomial offsets. The bench below is preset to gross, so you can see this yourself: drag the l slider from 12 to 9 and every check still has six legs while the readout's k drops from 12 to 8 (that is bb108); or change a single exponent in “A terms”: as long as A's three terms stay distinct modulo 12 and 6, the term count and leg count stay the same, yet k jumps. The condition matters: changing y to y² gives A = x³ + y² + y², the two y² add to 0 (1 + 1 = 0) and cancel, so A = x³ and every check has only 4 legs. A script run during this revision tried every case on the fixed l = 12, m = 6 (B unchanged): over the 46 single-exponent changes of A that keep three distinct terms, k is 0, 8 or 12; replacing one whole term of A by any other term (still three distinct terms), k is 0, 4, 8 or 12. These k values hold for the 12 × 6 torus only:

2.4码距:两份证书,不是一个标签Distance: two certificates, not one label

gross 实例在 instances.yaml 里记的是:

The gross instance records, in instances.yaml:

- property: d lower: {value: 12} upper: {value: 12, method: rand-lowweight-v1, seed: 5, iters: 2000} origin: {kind: bounded, ref: bravyi2024bicycle}

lower = 下界(没有更轻的逻辑算符);upper = 上界(找到了这么轻的一个);method / seed / iters = 上界见证的算法名、随机种子、迭代次数;origin.kind = 证据等级;origin.ref = 下界所引的文献键。lower = the lower bound (nothing lighter exists); upper = the upper bound (something this light was found); method / seed / iters = the witness algorithm, random seed and iteration count; origin.kind = the evidence grade; origin.ref = the bibkey the lower bound is cited to.

两侧的意思不同。下界。bravyi2024bicycle(Bravyi、Cross、Gambetta、Maslov、Rall、Yoder,"High-Threshold and Low-Overhead Fault-Tolerant Quantum Memory",2024)提供「不存在重量低于 12 的非平凡逻辑 Pauli」这一主张。QEC-Bank 目前没有重放这份下界证书。所以这条引用是结构化 origin 的一部分,不是装饰性的参考文献——去掉它,这个 d 就没有下界。上界。仓库自己构造两个中心化子零空间centralizer nullspace:与所有 Z 检查对易的 X 串全体 = ker HZ(Z 侧同理)。逻辑算符都住在这里,稳定子也住在这里。,用 NumPy 种子 5 采样确定性的二元组合,剔除落在稳定子类里的,再用同类型稳定子贪心地减轻代表元,在 2000 次迭代内找到重量 12。这是一份可重跑的存在性见证:存在一个重量至多 12 的逻辑算符。

The two sides mean different things. Lower bound. bravyi2024bicycle (Bravyi, Cross, Gambetta, Maslov, Rall, Yoder, “High-Threshold and Low-Overhead Fault-Tolerant Quantum Memory”, 2024) supplies the claim that no nontrivial logical Pauli has weight below 12. The QEC-Bank does not currently replay that lower-bound certificate. The citation is therefore part of the structured origin, not decorative bibliography: remove it and this d has no lower bound. Upper bound. The repository constructs the two centralizer nullspacesAll X strings commuting with every Z check = ker HZ (and dually for Z). Logical operators live here, and so do stabilizers., samples deterministic binary combinations with NumPy seed 5, rejects stabilizer classes, greedily reduces representatives by same-type stabilizers, and finds weight 12 within 2,000 iterations. That is a rerunnable existence witness: a logical of weight at most 12 exists.

文献下界literature lower bound d ≥ 12 + 机器上界machine upper bound d ≤ 12 ⇒ d = 12, origin = bounded (不是not verified)

≥ / ≤ = 大于等于 / 小于等于;两边碰头才写 d = 12。verified 需要机器自己穷举排除重量 1 到 11,在 n = 144 上没有做。≥ / ≤ = at least / at most; d = 12 is written only because the two meet. verified would need the machine itself to exhaustively exclude weights 1 through 11, which has not been done at n = 144.

种子不是「调过的数据」。种子 0 跑 2000 次只到重量 14,跑更久才到 12;存下种子 5 是为了有一个紧凑的确定性见证——任何人跑同样的命令都会在同样的步数看到同样的算符。如果将来某个引擎找到更轻的逻辑算符,验证器会报告「改进」或「不符」,然后必须对照文献诊断,而不是悄悄把期望值改掉(QEC-Bank 的铁律:不许为了让验证通过而调数据)。

The seed is not tuned data. A seed-0 run with 2,000 iterations reaches only weight 14; a longer seed-0 run reaches 12. Seed 5 is stored to have a compact deterministic witness: anyone running the same command sees the same operator after the same number of steps. If a future engine finds a lighter logical, the verifier reports an improvement or a mismatch, and the expected value must then be diagnosed against the literature, never adjusted silently (a QEC-Bank iron rule: no tuning data to make verification pass).

诚实账Honesty ledger

gross 账本里唯一没有被重放、只被引用的静态事实,就是码距下界。《BB 码 · 高中数学版》4.4 节说的「两份证书」,具体到文件就是上面那四行 YAML。

The only static fact in the gross ledger that is cited rather than replayed is the distance lower bound. The “two certificates” of §4.4 of “BB Codes · High-School Edition” are, in the file, exactly the four YAML lines above.

2.5有限块开销比较:12 倍比的是什么The finite-block overhead comparison: what the twelve-fold compares

n / k = 144 / 12 = 12 个数据比特 / 逻辑比特,码距 12data qubits per logical qubit at distance 12 · 旋转表面码 d = 12:d² = 144 个数据比特 / 1 个逻辑比特rotated surface code d = 12: d² = 144 data qubits / 1 logical qubit

n / k = 每个逻辑比特平摊到的数据比特数;d² = 码距 d 的旋转表面码贴片的数据比特数(《Surface Code · 高中数学版》第 2 章)。n / k = data qubits per logical qubit; d² = the data-qubit count of a distance-d rotated surface-code patch (“The Surface Code · High-School Edition”, Chapter 2).

这就是 bravyi2024bicycle 强调的十二倍有限块比较。它不是整机比。一个 BB 周期还需要:症状辅助比特(gross 有 144 条检查,原论文每条配一个辅助比特,于是 144 + 144 = 288 个物理比特——直觉教程 5.6 节的那个 288)、度 6 的交互、原提案里 7 层 CNOT 的调度、测量与复位、经典探测器处理、BP-OSD。架构还可能加移动、通信、备用块,或为逻辑操作准备的表面码辅助贴片。人话:比较开销时,分母里放的资源两边必须一样多;只比数据比特,是「同样 144 个数据比特存 12 个 vs 存 1 个」,这句话是对的,但也只有这句话。

This is the twelve-fold finite-block comparison emphasized by bravyi2024bicycle. It is not a full-machine ratio. A BB cycle also needs syndrome ancillas (gross has 144 checks; the original proposal gives each one ancilla, so 144 + 144 = 288 physical qubits, the 288 of §5.6 of the intuition guide), degree-six interactions, the seven-CNOT-layer schedule of the original proposal, measurement and reset, classical detector processing and BP-OSD. Architectures may add movement, communication, spare blocks, or surface-code ancilla patches for logical operations. In plain words: when comparing overhead, both denominators must hold the same resources; comparing data qubits only gives “the same 144 data qubits store 12 versus 1”, which is true, and is also the only thing it says.

2.6静态码距与电路码距Static versus circuit distance

12 属于静态稳定子码。一个症状电路定义了一个时空故障码,它的最小不可探测故障集可以更小:CNOT 顺序决定一个辅助比特的错误怎样扩散到几个数据比特上;探测器构造决定哪些历史可以被区分。因此下面四件事没有一件能单从静态账本推出:一个码距 12 的故障电路;一个普适阈值;一个与译码器无关的逻辑错误率;一个逻辑门错误率。它们分别属于第 3 章的电路账本和第 4 章的操作账本。

The value 12 belongs to the static stabilizer code. A syndrome circuit defines a spacetime fault code whose minimum undetectable fault set can be smaller: CNOT ordering controls how an ancilla error spreads across data qubits, and the detector construction controls which histories are distinguishable. Consequently none of the following follows from the static ledger alone: a distance-12 fault circuit; a universal threshold; a decoder-independent logical error rate; a logical-gate error rate. They belong to the circuit ledger of Chapter 3 and the operations ledger of Chapter 4.

重算的事实(reproduce.py 逐条断言,按精确的行序与比特序)Recomputed facts (asserted one by one by reproduce.py, in the exact row and qubit order)值Value
N;HX、HZ 的形状N; shapes of HX, HZ72;72×144
两张检查矩阵的秩;稳定子秩rank of both check matrices; stabilizer rank66, 66;132
CSS 参数CSS parameters[[144, 12]]
每条检查的重量;每个数据比特上的 X 检查数与 Z 检查数weight of every check; X and Z checks incident on every data qubit6;3 + 3
商的余维数quotient codimension6
确定性的重量 12 上界见证deterministic weight-12 upper witnessrand-lowweight-v1(seed=5, iters=2000)
唯一仅引用、未重放的:码距下界The only one sourced, not replayed: the distance lower boundbravyi2024bicycle
检查站Checkpoint第 2 章Chapter 2
有人说:「QEC-Bank 验证了 gross 码的码距是 12。」按 2.4 节的账本,最准确的纠正是?Someone says: “The QEC-Bank has verified that the gross code's distance is 12.” By the ledger of §2.4, what is the most accurate correction?

对。机器能做的是「找到一个」(上界),文献承担的是「排除所有更轻的」(下界)。两者相符才写 d = 12,等级是 bounded。toric_L3 才是 verified:n = 18 小到可以穷举。

Right. The machine can “find one” (upper bound); the literature carries “exclude everything lighter” (lower bound). d = 12 is written because they agree, at grade bounded. Only toric_L3 is verified: n = 18 is small enough to enumerate.

回看 instances.yaml 的四行:upper 带 method / seed / iters(机器做的),lower 只有 value 而 origin.ref 指向一篇论文(文献做的)。

Look again at the four YAML lines: upper carries method / seed / iters (the machine's work); lower has only a value, with origin.ref pointing at a paper (the literature's work).

第 3 章Chapter 3

症状电路与译码:五个不同的对象Syndrome circuits and decoding: five different objects

对一个 BB 存储器,「译码器」不是 HX、HZ 的函数。静态矩阵、提取电路、探测器图、噪声模型、推断算法合起来才是一个实验。这一章把它们的接口一个个分开,并在每个接口上说清 QEC-Bank 导出了什么、没导出什么。 For a BB memory, “the decoder” is not a function of HX, HZ alone. The static matrices, extraction circuit, detector graph, noise model and inference algorithm together form one experiment. This chapter separates their interfaces one by one and says, at each, what the QEC-Bank exports and what it does not.

3.1静态症状:s = H·eThe static syndrome: s = H·e

X 型数据错误X-type data error eX ⇒ Z 检查症状Z-check syndrome s = HZ eX · Z 型错误Z-type error eZ ⇒ s = HX eZ

eX、eZ = 长度 144 的 0/1 向量,1 表示该比特上有 X(或 Z)错误;s = 长度 72 的 0/1 向量,1 表示该检查报警(读到 −1);乘法在 GF(2) 上。eX, eZ = length-144 0/1 vectors, a 1 marking an X (or Z) error on that qubit; s = a length-72 0/1 vector, a 1 marking a fired check (reading −1); multiplication over GF(2).

测量完美时,一个 X 型错误 eX 产生 Z 检查症状 HZeX,一个 Z 型错误产生 HXeZ。修复 cX 首先必须给出同样的症状(HZcX = HZeX),但这只是必要条件。症状相同说明 eX ⊕ cX(⊕ = 逐位异或,即错误与修复叠加后剩下的 X 串)与所有 Z 检查对易;修复成功还要求这个剩余串落在 HX 的行空间里,即它是若干条 X 检查的乘积(一个稳定子)。如果它与所有 Z 检查对易、却不是 X 检查的乘积,它就是一个 X 逻辑算符:症状全部清零了,逻辑比特却被翻转了。Z 型错误同理,换成 HX 的症状与 HZ 的行空间。因为 BB 的 Tanner 图有很多短圈、码又是退化degenerate:许多不同的物理错误对应同一个逻辑效果(相差一个稳定子)。译码器该押的是「最可能的逻辑类」,不一定是「最可能的那一个物理错误」。的,最可能的物理错误和最可能的逻辑陪集coset:相差一个稳定子的全部错误组成的类。同一陪集里的错误修复效果相同。未必是同一个对象。人话:一个数据比特有 3 条 Z 检查看着它,所以一个 X 错误点亮 3 盏灯——匹配译码的「每个错误两盏灯」前提在这里不成立(直觉教程 6.3 节)。这个码容量问题(只在数据比特上出错、测量完美,是最简单的噪声设定)是 roffe2020decoding 的 BP-OSD 基线及其广义 bicycle 前身 panteleev2021degenerate 的干净输入。

With perfect measurement, an X-type data error eX produces the Z-check syndrome HZeX, and a Z-type error produces HXeZ. A correction cX must first reproduce the syndrome (HZcX = HZeX), but that is only necessary. Equal syndromes mean that eX ⊕ cX (⊕ = bitwise XOR: the X string left after error and correction combine) commutes with every Z check; the correction succeeds only if this leftover also lies in the row space of HX, i.e. is a product of X checks (a stabilizer). If it commutes with every Z check but is not a product of X checks, it is an X logical operator: every syndrome bit is cleared, yet a logical qubit has been flipped. The same holds for Z-type errors with the syndrome of HX and the row space of HZ. Because BB Tanner graphs have many short cycles and the code is degenerateMany distinct physical errors have the same logical effect (they differ by a stabilizer). The decoder should bet on the most likely logical class, not necessarily on the single most likely physical error., the most likely physical error and the most likely logical cosetThe class of all errors differing by a stabilizer. Errors in one coset are equivalent as corrections. need not be the same object. In plain words: three Z checks watch every data qubit, so one X error lights 3 lamps; the “two lamps per error” premise of matching fails here (intuition guide, §6.3). This code-capacity problem (errors only on the data qubits, perfect measurements: the simplest noise setting) is the clean input for the BP-OSD baseline of roffe2020decoding and its generalized-bicycle precursor panteleev2021degenerate.

3.2一次六腿测量是一段电路A weight-six measurement is a circuit

用一个辅助比特测一条稳定子,要经过制备、一串纠缠门、测量、复位。纠缠门的顺序有讲究:一个早期落在辅助比特上的 Pauli 会经后面的门传播到好几个数据比特上;这样的关联「钩子」(hook)错误可能比独立故障更高效地对齐到一个逻辑算符上(《译码器 · 高中数学版》5.4 节讲过表面码上的同一现象)。bravyi2024bicycle 给出的是七层 CNOT 的提取电路,配它的两层连接图。数字 7 是那个调度与那个版图的性质,不是每个六腿矩阵的性质。shaw2025morphing(Shaw、Terhal,"Lowering Connectivity Requirements for Bivariate Bicycle Codes Using Morphing Circuits",据文献扫描报告,登记待补)走另一条路:在周期中途改变码本身,把连接度从 6 降到 5、用 6 轮 CNOT,对一个相关的家族——这既换了硬件图也换了探测器模型。

Measuring one stabilizer with an ancilla requires preparation, a sequence of entangling gates, measurement and reset. The order of those entangling gates matters: an ancilla Pauli introduced early propagates through later gates to several data qubits, and such a correlated “hook” error may align with a logical operator more efficiently than independent faults (the same phenomenon on the surface code is in “Decoders · High-School Edition”, §5.4). bravyi2024bicycle gives a seven-CNOT-layer extraction for its two-layer connectivity. The number seven is a property of that schedule and layout, not of every weight-six matrix. shaw2025morphing (Shaw, Terhal, “Lowering Connectivity Requirements for Bivariate Bicycle Codes Using Morphing Circuits”, from the scout report, registration pending) takes another road: it changes the code itself during the cycle, reducing the connectivity degree from six to five and using six CNOT rounds for a related family, which changes both the hardware graph and the detector model.

一个钩子错误,逐步追踪。图 3.2 用一个辅助比特测 gross 的 X 检查 0(X 作用在比特 1、2、18、75、78、84 上)。辅助比特 a 先制备成 |+⟩,再依次对六个数据比特各做一次 CNOT(a 是控制端,数据比特是目标端),最后在 X 基下读出 a:六个数据比特上 X 检查的读数就记在 a 的结果里。图里的 CNOT 顺序只是示意,不是 Bravyi 等人实际用的调度。CNOT 有一条传播规则:门之前控制端上的一个 X,门之后变成控制端和目标端各一个 X。假设在第 2 与第 3 个 CNOT 之间,辅助比特上出了一个 X 故障:第 3、4、5、6 个 CNOT 把它依次复制到 q18、q75、q78、q84 上;a 自己的 X 不改变它的 X 基读数,所以这一轮看不出任何异常。结果是一次故障留下了 4 个数据比特上的 X 错误。再乘上 X 检查 0 本身(一个稳定子,不改变逻辑状态),X18X75X78X84 等价于 X1X2:一次故障抵得上两个数据错误。一般地,故障出在第 t 个 CNOT 之后,等价于 min(t, 6 − t) 个数据错误,最多 3 个。如果这些成组出现的错误恰好顺着某个逻辑算符排列,更少的故障就能拼出一个逻辑错误,电路码距就会低于静态码距 12。钩子落在哪几个比特上由 CNOT 的顺序决定,所以调度要和码一起设计。

One hook error, traced step by step. Figure 3.2 measures X check 0 of gross (X on qubits 1, 2, 18, 75, 78, 84) with one ancilla. The ancilla a is prepared in |+⟩, then one CNOT is applied to each of the six data qubits in turn (a is the control, the data qubit the target), and finally a is read out in the X basis: the value of the X check on the six data qubits ends up in a's outcome. The CNOT order in the figure is only illustrative, not the schedule Bravyi et al. actually use. A CNOT has a propagation rule: an X on the control before the gate becomes an X on the control and an X on the target after it. Suppose an X fault hits the ancilla between CNOT 2 and CNOT 3: CNOTs 3, 4, 5, 6 copy it onto q18, q75, q78, q84 in turn; the X on a itself does not change its X-basis outcome, so nothing looks wrong in this round. The result: one fault has left X errors on 4 data qubits. Multiplying by X check 0 itself (a stabilizer, which does not change the logical state), X18X75X78X84 is equivalent to X1X2: one fault is worth two data errors. In general a fault after CNOT t is equivalent to min(t, 6 − t) data errors, at most 3. If these grouped errors happen to line up along a logical operator, fewer faults suffice to build a logical error, and the circuit distance falls below the static distance 12. Which qubits a hook lands on is set by the CNOT order, which is why the schedule must be designed together with the code.

a 辅助比特ancilla q1 q2 q18 q75 q78 q84 数据比特data qubits |+⟩ MX 1 2 3 4 5 6 CNOT 的先后(时间向右)order of the CNOTs (time runs right) X 一次故障one fault X X X X 结束时的data error 数据错误at the end ● = CNOT 的控制端(辅助比特) ⊕ = 目标端(数据比特) 控制端的 X 会被复制到目标端 ● = CNOT control (ancilla) · ⊕ = target (data qubit) · an X on the control is copied to the target
3.2 用辅助比特 a 测 X 检查 0 的电路(CNOT 顺序为示意)。横线是比特随时间的轨迹,时间向右;上方数字 1–6 是 CNOT 的先后。品红色方块 X = 第 2、3 个 CNOT 之间辅助比特上的一次 X 故障;品红色粗线标出它之后带着 X 的线;右端品红色方块 = 电路结束时数据比特上的 X 错误(q18、q75、q78、q84),灰点 = 没有错误(q1、q2)。 The circuit measuring X check 0 with ancilla a (the CNOT order is illustrative). Horizontal lines are the qubits over time, time running right; the numbers 1–6 above give the CNOT order. Magenta square X = one X fault on the ancilla between CNOT 2 and CNOT 3; thick magenta lines mark the wires carrying an X after it; magenta squares at the right = X errors on the data at the end of the circuit (q18, q75, q78, q84); grey dots = no error (q1, q2).
QEC-Bank 刻意不做的事What the QEC-Bank deliberately does not do

构造器只导出静态的检查关联。它故意不从行支撑「造」出一个调度:支撑不决定 CNOT 顺序、辅助比特分配、复位位置或探测器定义。人话:知道一条检查碰哪六个比特,不等于知道该先碰哪一个。

The constructor exports only static check incidence. It intentionally does not manufacture a schedule from row support: support does not determine CNOT order, ancilla assignment, reset placement or detector definitions. In plain words: knowing which six qubits a check touches is not knowing which to touch first.

3.3从测量比特到探测器:三种「码距」From measurement bits to detectors: three “distances”

测量有噪声、又要反复提取时,不能孤立地译码原始症状比特。探测器detector:把不同时刻的测量结果作比较(通常是同一条检查前后两轮读数的乘积)得到的「变化」事件;一次测量错误会产生一个可辨认的时空图案。事件比较跨时间的测量,让一次测量故障留下可辨认的时空图案。边界轮、初始化、最终的数据测量、以及哪些测量乘积是确定性的,都进入探测器定义(《译码器 · 高中数学版》5.1 节)。

With noisy repeated extraction, one does not decode raw syndrome bits in isolation. DetectorA “change” event obtained by comparing measurements across time (typically the product of one check's readings in consecutive rounds); a single measurement fault then leaves a recognizable spacetime pattern. events compare measurements across time so that a measurement fault produces a recognizable spacetime pattern. The boundary rounds, initialization, final data measurement and which products of results are deterministic all enter the detector definition (“Decoders · High-School Edition”, §5.1).

一段测量历史,算出探测器。盯住一条 Z 检查 c,连续测 4 轮。记 mt 为第 t 轮的读数(0 表示 +1,1 表示 −1)。若数据比特一开始都制备在 |0⟩,Z 检查在第一轮之前的值是确定的 +1,记 m0 = 0。探测器是相邻两轮的比较 Dt = mt ⊕ mt−1:读数变了记 1,没变记 0。下表比较两种故障:情形 ① 是第 2、3 轮之间 c 看着的一个数据比特出了 X 错误;情形 ② 是第 2 轮的读数本身测错了一次。

A measurement history, turned into detectors. Watch one Z check c for 4 rounds. Let mt be the outcome in round t (0 for +1, 1 for −1). If the data qubits start in |0⟩, the Z check has the definite value +1 before round 1; write m0 = 0. A detector compares consecutive rounds, Dt = mt ⊕ mt−1: 1 if the outcome changed, 0 if not. The table compares two faults: in case ① a data qubit watched by c gets an X error between rounds 2 and 3; in case ② the round-2 outcome itself is misread once.

轮 tround t① 读数 mt① outcome mt① 探测器 Dt① detector Dt② 读数 mt② outcome mt② 探测器 Dt② detector Dt
100 ⊕ 0 = 000 ⊕ 0 = 0
200 ⊕ 0 = 011 ⊕ 0 = 1
311 ⊕ 0 = 100 ⊕ 1 = 1
411 ⊕ 1 = 000 ⊕ 0 = 0

情形 ① 的数据错误是持续的:读数从第 3 轮起一直是 1,但探测器只在第 3 轮亮一次;gross 的每个数据比特有 3 条 Z 检查看着,另外两条也在第 3 轮各亮一次,所以一次数据错误点亮同一时刻的 3 个探测器。情形 ② 的测量错误只坏了一次读数:同一条检查在第 2、3 两轮各亮一次,是时间方向上相邻的一对。原始读数里,两种故障是「从某轮起一直是 1」和「孤立的一个 1」;换成探测器后,它们变成时空里形状不同的小图案(空间方向 3 个、时间方向 2 个),译码器读的正是这些图案。有了探测器,就得到三个绝不能混的「码距」:

In case ① the data error persists: the outcome is 1 from round 3 on, yet the detector fires only once, in round 3; every data qubit of gross is watched by 3 Z checks, and the other two also fire once in round 3, so one data error lights 3 detectors at the same time. In case ② the measurement error spoils one outcome only: the same check fires in rounds 2 and 3, a pair adjacent in time. In the raw outcomes the two faults look like “1 from some round on” and “a single isolated 1”; as detectors they become small spacetime patterns of different shapes (3 in the space direction, 2 in the time direction), and these patterns are what the decoder reads. With detectors in hand there are three “distances” that must never be conflated:

对象Object最小事件Minimal eventgross 的现状Status for gross
静态码距static code distance数据比特上的一个非平凡逻辑 Paulia nontrivial logical Pauli on the data12(bounded,第 2 章)12 (bounded, Chapter 2)
电路码距circuit distance导致逻辑失败的一组未被探测的故障an undetected fault set causing a logical failure未导出,无证书not exported, no certificate
译码器找到的失败重量decoder-found failure weight某个具体搜索或译码器下找到的最小失败the smallest failure found under a specific search or decoder属于各论文各自的实验belongs to each paper's own experiment

静态码距 12 与「坏调度下更小的电路码距」是相容的。反过来,译码器没找到低重量失败,也不证明电路码距。人话:三个数字回答三个不同的问题,「12」只回答第一个。

A static distance of 12 is compatible with a smaller circuit distance under a bad schedule. Conversely, observing no low-weight decoder failures does not prove circuit distance. In plain words: three numbers answer three different questions, and “12” answers only the first.

3.4BP-OSD 做什么,以及一份「完整的」译码合同要写什么What BP-OSD does, and what a “complete” decoding contract must state

置信传播belief propagation, BP:在 Tanner 图上让比特与检查反复交换「你有多可能出错」的软消息;在树上精确,在有圈的图上是近似。在错误变量和奇偶约束之间传递软的似然消息。在树上,这些局部消息是精确的。BB 的 Tanner 图不是树:短圈把关联信息喂回它自己,量子退化又让许多错误代表同一个逻辑陪集。于是 BP 可能振荡、收敛到一个不一致的硬判决,或落在错误的陪集上。有序统计译码ordered-statistics decoding, OSD:按 BP 给出的可靠度排序,选一组「信息位」,在其上精确解 H e = s,并测试一小组按可靠度排序的偏离;保证给出一个症状一致的修复。用 BP 的可靠度选一个基集,再在解症状约束的同时测试一组受控的、按可靠度排序的偏离。它的贡献不是另一条症状公式,而是局部消息失败时的全局修复阶段(《qLDPC 码 · 高中数学版》6.3 节)。到实验台上对 [[72,12,6]] 亲手跑一遍:先看消息如何演化、何时卡住,再按 OSD:

Belief propagationBP: qubits and checks on the Tanner graph repeatedly exchange soft “how likely am I to be wrong” messages; exact on a tree, approximate on graphs with cycles. passes soft likelihood messages between error variables and parity constraints. On a tree those local messages are exact. BB Tanner graphs are not trees: short cycles feed correlated information back into itself, and quantum degeneracy means many errors represent the same logical coset. BP may oscillate, converge to an inconsistent hard decision, or settle on the wrong coset. Ordered-statistics decodingOSD: rank qubits by BP reliability, choose a basis set, solve H e = s exactly on it, and test a small reliability-ordered set of deviations; guarantees a syndrome-consistent correction. uses the BP reliabilities to choose a basis set, then solves the syndrome constraints while testing a controlled set of reliability-ordered deviations. Its contribution is not another syndrome formula; it is a global repair stage when local messages fail (“qLDPC Codes · High-School Edition”, §6.3). Run it by hand on [[72,12,6]] below: watch the messages evolve and stall, then press OSD:

图例:每个数据比特一根柱子,柱高 = BP 算出的对数似然比(向上 = 相信没出错,向下 = 相信出错,截在 ±8)。绿柱 = 这一位的判断与真实错误一致,品红柱 = 不一致;浅蓝底色 = 真实出错的比特;柱子下方的圆点 = 当前修复要翻转的比特。噪声是码容量设定(只有 X 错误,每个比特以概率 p 出错,p 用滑杆调、默认 6%,测量完美),读数不对应任何文献数字。Legend: one bar per data qubit, bar height = the log-likelihood ratio BP computed (up = believed clean, down = believed flipped, clipped at ±8). Green bar = the decision for this qubit agrees with the true error, magenta bar = it disagrees; light-blue band = a qubit that really is in error; dot below a bar = a qubit the current repair flips. Noise is the code-capacity setting (X errors only, each qubit flipped with probability p, set by the slider, default 6%; perfect measurement), and the readings correspond to no literature number.

一份可操作的译码合同至少要写明:数据、测量、复位、空闲、双比特门各自的故障概率;是否有 X/Z 关联与泄漏;精确的提取调度与探测器构造;BP 的更新规则、迭代上限、阻尼、停止条件;OSD 的阶数与候选选择规则;延迟与吞吐约束。缺任何一项,「用 BP-OSD 译码」这句话就是不完整的。人话:「我用了 BP-OSD」的信息量,和「我用了一台电脑」差不多。

An operational decoding contract must specify at least: the data, measurement, reset, idle and two-qubit fault probabilities; whether X/Z correlations and leakage are present; the exact extraction schedule and detector construction; the BP update rule, iteration limit, damping and stopping condition; the OSD order and candidate-selection rule; latency and throughput constraints. Without these, “decoded with BP-OSD” is incomplete. In plain words: “I used BP-OSD” carries about as much information as “I used a computer”.

3.50.8%:一个协议阈值,五个「不是」0.8%: a protocol threshold, and five “is not”s

卡片记录的是 bravyi2024bicycle 的文献陈述:在论文的标准电路噪声模型、深度 7 的症状提取、论文的探测器构造与 BP-OSD 译码器下,BB 存储器的阈值约为 0.8%(v1 与 v2 摘要的原话是「an error threshold of 0.8% for the standard circuit-based noise model」,说的是「a family of LDPC codes」)。这个数是怎样算出来的:论文对每一块码单独解收支平衡方程 pL(p) = kp。这里 p 是每个电路位置的物理错误率;pL 是整块码每个症状测量周期的逻辑错误率(k 个逻辑比特里任一个出错都算);kp 是 k 个不编码的比特在同一段时间里至少一个出错的概率的近似(各比特独立出错时精确值是 1 − (1 − p)k,p 小时约等于 kp)。解出的 p0 叫这块码的伪阈值pseudo-threshold:一块固定尺寸的码的收支平衡点,即整块码每个症状测量周期的逻辑错误率 p_L(k 个逻辑比特任一个出错)等于 kp 时的 p。kp 近似 k 个不编码比特至少一个出错的概率(各比特独立出错时精确值是 1 − (1 − p)^k)。它是一块码的数,不是一族码的阈值。。pL 在 p ≥ 10−3 处由模拟算出,更小的 p 用拟合公式外推。各版本的数字不同:v1(2023 年 8 月)表 1 给五块码的 p0 印作 0.007(3) 到 0.008(3)(括号里那一位数字的含义论文没有说明),正文说「close to 0.008」;v2(2024 年 2 月)表 1 改为 0.0048 到 0.0069(gross 为 0.0065),正文说 144 与 288 比特两块码「close to 0.007」,摘要仍写 0.8%;Nature 发表版(2024)的摘要写 0.7%。所以 0.8% 不是把几个尺寸的曲线画在一起读出的交叉点(那叫有限尺寸标度finite-size scaling:在几个不同尺寸的码上画「逻辑错误率对 p」的曲线,曲线的交点可用来估计一族码的阈值。这篇论文没有做这一步。,这篇论文没有做),也不是 gross 一块码的数。它还不是:① 码容量阈值;② 对所有 BB 选择都成立的渐近定理;③ BP-OSD 独立于调度的性质;④ 硬件上的逻辑错误率;⑤ 电路码距等于静态码距的证据。换掉码族、电路、噪声归一化或译码器,就定义了另一个阈值实验,数字可能移动。限定项是这个数字含义的一部分——账本规则见《译码器 · 高中数学版》6.1 节,QEC-Bank 译码器侧面对这条记录的标签是 research-grade。

The card records the literature statement from bravyi2024bicycle: under the paper's standard circuit-noise model, depth-seven syndrome extraction, detector construction and BP-OSD decoder, the BB memory has a threshold of about 0.8% (the v1 and v2 abstracts say “an error threshold of 0.8% for the standard circuit-based noise model”, of “a family of LDPC codes”). How the number is obtained: for each code separately the paper solves the break-even equation pL(p) = kp. Here p is the physical error rate per circuit location; pL is the whole block's logical error rate per syndrome cycle (a failure of any of its k logical qubits counts); kp approximates the probability that at least one of k unencoded qubits fails in the same time (exactly 1 − (1 − p)k when they fail independently, about kp for small p). The solution p0 is that block's pseudo-thresholdThe break-even point of one fixed-size block: the p at which its logical error rate per syndrome cycle, p_L (any of its k logical qubits failing), equals kp. kp approximates the chance that at least one of k unencoded qubits fails (exactly 1 − (1 − p)^k when they fail independently). A number for one block, not the threshold of a family.. pL is simulated for p ≥ 10−3 and extrapolated below with a fitted formula. The versions differ: Table 1 of v1 (August 2023) prints p0 = 0.007(3) to 0.008(3) for its five codes (the paper does not say what the parenthesized digit means) and the text says “close to 0.008”; Table 1 of v2 (February 2024) gives 0.0048 to 0.0069 (0.0065 for gross) and the text says “close to 0.007” for the 144- and 288-qubit codes, while the abstract still says 0.8%; the abstract of the Nature version (2024) says 0.7%. So 0.8% is not a crossing point read off curves for several sizes (that method is finite-size scalingPlot the logical error rate against p for several code sizes; the p where the curves cross estimates the threshold of the family. This paper does not do that step., which this paper does not use), and it is not a number of the gross block alone. Nor is it: (1) a code-capacity threshold; (2) an asymptotic theorem for all BB choices; (3) a property of BP-OSD independent of schedule; (4) a hardware logical error rate; (5) evidence that circuit distance equals static distance. Changing the code family, circuit, noise normalization or decoder defines a different threshold experiment, and the number can move. The qualification is part of the number's meaning; the ledger rules are in “Decoders · High-School Edition”, §6.1, and the QEC-Bank decoders facet labels this record research-grade.

3.6利用对称性的替代路线Symmetry-aware alternatives

文献扫描暴露了几条利用更多 BB 结构的路(键后标注的题名与 arXiv 号来自扫描报告;除 koutsioumpas2025autdec 外均为登记待补)。koutsioumpas2025autdec("Automorphism Ensemble Decoding of Quantum LDPC Codes",2025,已登记)对码的自同构做一个集成:把一个难的症状搬进不同的对称参考系里各译一次再合并。sahay2026matching(Sahay、Williamson、Brown,"A Matching Decoder for Bivariate Bicycle Codes",arXiv 2602.22770)把选定的 BB 问题约化到类环面的圆柱上做匹配,再与 BP 和「过匹配」结合——约化的对称性假设是译码器的一部分;QEC-Bank 译码器侧面把它记为 mwpm、噪声设定「BB 对称约化到类环面圆柱」,并注明「不把每个 BB 实例变成独立的环面码」。blue2026machine("Machine Learning Decoding of Circuit-Level Noise for Bivariate Bicycle Codes")训练一个 transformer 读电路级历史,训练分布、校准和推断延迟都是主张的一部分。pakhunov2026convergence 预测 BP 何时可能收敛,是一层分流而非完整的纠错规则;pakhunov2026peeling 分析贪心剥皮 / 流式路线,在其基准上报告很大的延迟增益——这些增益不带着同样的信道、实现与精度目标是不能迁移的。卡片只收录共享词表里已登记的译码器标识(bp-osd、mwpm);更深的推导页记录这些新的复合流水线,但不假装它们是同一个算法。

The literature sweep exposes several ways to use more BB structure (titles and arXiv ids after each key come from the scout report; all but koutsioumpas2025autdec are registration pending). koutsioumpas2025autdec (“Automorphism Ensemble Decoding of Quantum LDPC Codes”, 2025, registered) runs an ensemble over code automorphisms: a hard syndrome is moved into different symmetry frames, decoded in each, and the candidates combined. sahay2026matching (Sahay, Williamson, Brown, “A Matching Decoder for Bivariate Bicycle Codes”, arXiv 2602.22770) reduces selected BB problems to toric-like cylinders, applies matching, and combines it with BP and over-matching; the reduction's symmetry assumptions are part of the decoder, and the QEC-Bank decoders facet records it as mwpm with noise setting “BB symmetry reduction to toric-code-like cylinders” and the note that it “does not turn every BB instance into independent toric codes”. blue2026machine (“Machine Learning Decoding of Circuit-Level Noise for Bivariate Bicycle Codes”) trains a transformer on circuit-level histories; training distribution, calibration and inference latency are part of the claim. pakhunov2026convergence predicts when BP is likely to converge, a triage layer rather than a complete correction rule; pakhunov2026peeling analyzes a greedy peeling/streaming route and reports large latency gains on its benchmarks, gains that do not transfer without the same channel, implementation and accuracy target. The card includes only decoder identifiers already registered in the shared vocabulary (bp-osd, mwpm); the deeper page records the newer compound pipelines without pretending each is the same algorithm.

3.7尚未导出的东西What remains unexported

静态条目作为码的描述是完整的,但它还没有发布一个 BB 的 Schedule(调度对象):没有辅助比特坐标;没有七层门序;没有复位与测量操作;没有探测器定义;没有电路码距见证。补上这些需要引擎支持的电路 / 调度表示和一份忠于原文的转录。在此之前,通用的格点浏览器只显示它真正拥有的东西——数据坐标与稳定子支撑——一点不多。人话:QEC-Bank 宁愿留白,也不用「看起来像」的调度充数。

The static entry is complete as a code description, but it does not yet ship a BB Schedule object: no ancilla coordinates; no seven-layer gate order; no reset or measurement operations; no detector definitions; no circuit-distance witness. Adding those requires an engine-supported circuit/schedule representation and a source-faithful transcription. Until then, the generic lattice explorer shows exactly what it owns, data coordinates and stabilizer supports, and no more. In plain words: the QEC-Bank would rather leave a blank than fill it with a schedule that merely “looks right”.

关键想法Key idea

五个对象:静态码距(矩阵的性质)、电路码距(调度的性质)、探测器构造(时间比较的定义)、BP-OSD(一个带十来个参数的算法)、协议阈值(某个码族 + 电路 + 噪声 + 译码器这一整套设定下,由模拟估计出的数字)。静态症状代数由构造器重算;其余全部是文献主张,来自 roffe2020decoding、panteleev2021degenerate、bravyi2024bicycle;morphing、自同构集成、匹配、学习译码、收敛预测与剥皮各自限定在其登记来源内。

Five objects: static distance (a property of the matrix), circuit distance (a property of the schedule), detector construction (a definition of comparisons in time), BP-OSD (an algorithm with a dozen parameters), and a protocol threshold (a number estimated from simulations of one whole set-up: code family + circuit + noise + decoder). The static syndrome algebra is recomputed from the constructor; everything else is a literature claim from roffe2020decoding, panteleev2021degenerate and bravyi2024bicycle, with morphing, automorphism ensembles, matching, learned decoding, convergence prediction and peeling each scoped to its registered source.

第 4 章Chapter 4

逻辑操作与它们的证书Logical operations and their certificates

高码率的存储器还不是计算机。该问的问题不是「这个码有没有对称性」,而是「哪个物理过程保持这个码、它诱导出怎样的逻辑辛作用、什么容错与路由资源为这个作用作证」。QEC-Bank 操作侧面为 BB 家族及其子族记了五条操作(各有适用范围,自对偶那条明确不含 gross),全部标 claimed;这一章逐条给出证书的形状,并证明其中唯一能在纸上做完的一条。 A high-rate memory is not yet a computer. The relevant question is not “does the code have symmetries?” but “which physical process preserves the code, what logical symplectic action does it induce, and what fault-tolerance and routing resources certify that action?” The QEC-Bank operations facet records five operations for the BB family and its subfamilies (each with its own scope; the self-dual row explicitly excludes gross), all labelled claimed; this chapter gives the shape of each certificate and proves the one that can be finished on paper.

4.1两块相同 CSS 码之间的横向 CNOT:证明Transversal CNOT between identical CSS blocks: the proof

取两块相同的 BB 码,记为控制块 c 与目标块 t,对每个 i 从 c 的第 i 个比特到 t 的第 i 个比特做物理 CNOT。物理 CNOT 对 Pauli 的共轭conjugation:门 U 把算符 P 变成 UPU†;对 Clifford 门,Pauli 串变成 Pauli 串。作用是:

Take two identical BB blocks, labelled control c and target t, and apply physical CNOT from qubit i of c to qubit i of t for every i. Physical CNOT conjugatesConjugation: a gate U turns an operator P into UPU†; for Clifford gates Pauli strings go to Pauli strings. Paulis as

Xc ↦ XcXt · Xt ↦ Xt · Zc ↦ Zc · Zt ↦ ZcZt

Xc、Zc = 作用在控制块某个比特上的 X、Z;下标 t 同理指目标块;↦ 读「映到」,左边是门之前的算符,右边是门之后。人话:X 从控制端「复制」到目标端,Z 从目标端「复制」到控制端。Xc, Zc = X, Z on some qubit of the control block; subscript t likewise for the target; ↦ reads “maps to”, the operator before the gate on the left, after it on the right. In plain words: X copies from control to target, Z copies from target to control.

于是控制块上的一条 X 稳定子获得目标块上对应的 X 稳定子(因为两块相同,同一组下标在目标块上也是一条稳定子);目标块上的 X 稳定子不变。对偶地,目标块的 Z 稳定子获得控制块对应的 Z 稳定子,控制块的 Z 稳定子不变。每个像都仍在两块的稳定子群里——码空间保持。同样的共轭作用在对应的逻辑 Pauli 对上,给出并行的逻辑 CNOT:12 对逻辑比特同时各做一个 CNOT。这是一条码空间陈述(《格点手术 · 高中数学版》1.2 节对任何两块相同 CSS 码都说过)。硬件实现还需要对齐的比特对、一个覆盖两块关联错误的故障模型、以及能处理它们的译码器。yoder2025tour(Yoder 等,"Tour de Gross: A Modular Quantum Computer Based on Bivariate Bicycle Codes",arXiv 2506.03094,据文献扫描报告,登记待补)把这条原语嵌进 gross 家族的模块化架构。QEC-Bank 的操作行:「CNOT between identical BB blocks · transversal · claimed · Clifford」,代价「一层对齐的成对物理 CNOT;模块运输、对齐与关联译码是额外的架构成本」。

Therefore an X stabilizer on the control block acquires the matching X stabilizer on the target (the blocks are identical, so the same index set is a stabilizer there too); an X stabilizer on the target stays fixed. Dually, a target Z stabilizer acquires the matching control Z stabilizer, while a control Z stabilizer stays fixed. Every image remains in the two-block stabilizer group: the code space is preserved. The same conjugation applies to corresponding logical Pauli pairs, giving the parallel logical CNOT: 12 pairs of logical qubits each undergo a CNOT at once. This is a code-space statement (“Lattice Surgery · High-School Edition”, §1.2 says it for any two identical CSS blocks). A hardware implementation still needs aligned pairs, a fault model for correlated two-block errors, and a decoder that handles them. yoder2025tour (Yoder et al., “Tour de Gross: A Modular Quantum Computer Based on Bivariate Bicycle Codes”, arXiv 2506.03094, from the scout report, registration pending) embeds this primitive in a gross-family modular architecture. The QEC-Bank operation row: “CNOT between identical BB blocks · transversal · claimed · Clifford”, cost “one aligned pairwise physical-CNOT layer; module transport, alignment, and correlated decoding are additional architecture costs”.

4.2平移保持码;它的逻辑作用要另外算Translations preserve the code; their logical action must be computed separately

令 P 是环面平移 x 或 y 之一,对两个数据块同时施加 P。因为 A、B、Aᵀ、Bᵀ 都与 P 对易(它们都是 x、y 的多项式,1.1 节),

Let P be either torus translation x or y, and apply P to both data blocks. Since A, B, Aᵀ, Bᵀ all commute with P (they are polynomials in x, y, §1.1),

HX · diag(P, P) = P · HX · HZ · diag(P, P) = P · HZ

diag(P, P) = 对角放两份 P 的 2lm × 2lm 分块矩阵,即「左块和右块各平移一次」,作用在比特(列)上;左边乘 P 作用在检查(行)上,只是把行重排。人话:把所有比特平移一格,等于把所有检查平移一格——检查的集合没变。diag(P, P) = the 2lm × 2lm block matrix with two copies of P on the diagonal, “translate the left block and the right block once each”, acting on qubits (columns); multiplying by P on the left acts on checks (rows) and merely permutes them. In plain words: shifting every qubit one cell equals shifting every check one cell; the set of checks is unchanged.

左乘 P 只是把检查的行重排,所以这个物理比特置换把稳定子群映到自身:它是码的自同构automorphism:把稳定子群映到自身的物理操作。它保证码空间不变,但对逻辑比特的具体作用需要另外计算与认证。。reproduce.py 第 117–120 行对 gross 的 x 与 y 都断言了这两条精确的矩阵恒等式。这证明的是保持码空间,不是有用。要认证一个逻辑门,还要走五步:① 选一组逻辑 Pauli 基(12 个 X̄、12 个 Z̄);② 用物理置换共轭每个基元;③ 把每个像模稳定子约化;④ 拼出诱导的 24×24 二元辛作用symplectic action:一个 Clifford 操作对 2k 个逻辑 Pauli 生成元的作用矩阵,2k × 2k,保持对易 / 反对易关系。k = 12 时是 24 × 24。;⑤ 判定想要的物理路由是否容错。QEC-Bank 没有做这五步,所以卡片不把平移记成一个已认证的逻辑门。文献里 ①–④ 做过:Bravyi 等人(arXiv:2308.07915 v2,9.2 节「Logical Gates based on Automorphisms」)选了一组以单项式编号的逻辑算符,平移 s 把编号为 n 的 X̄ 换成编号为 s·n 的 X̄(Z̄ 同理),所以每个平移都是一个逻辑 CNOT 电路(最多差一个逻辑 Pauli 修正);作者还写道除 s = 1 外没有哪个平移作用成逻辑恒等,但对 gross 这一句不成立:逐一检验 72 个平移对全部逻辑 X̄、Z̄ 的作用,x⁶(沿长为 12 的方向平移半圈)作用成逻辑恒等,其余 70 个非恒等平移都作用非平凡(检验方法见直觉教程 6.5 节);作者也说,还不清楚怎样把这些 CNOT 用于有用的计算。这个结果在文献里,不在 QEC-Bank 的证书里(直觉教程 6.5 节有同样的说法)。

Left multiplication by P merely permutes check rows, so this physical qubit permutation maps the stabilizer group to itself: it is an automorphismA physical operation mapping the stabilizer group to itself. It guarantees the code space is unchanged, but its concrete action on the logical qubits must be computed and certified separately. of the code. Lines 117–120 of reproduce.py assert both exact matrix identities for the gross x and y. This proves code-space preservation, not usefulness. To certify a logical gate, five more steps: (1) choose a logical Pauli basis (12 X̄s and 12 Z̄s); (2) conjugate every basis element by the physical permutation; (3) reduce each image modulo stabilizers; (4) assemble the induced 24×24 binary symplectic actionThe matrix by which a Clifford operation acts on the 2k logical Pauli generators, 2k × 2k, preserving commutation/anticommutation. For k = 12 it is 24 × 24.; (5) determine whether the desired physical routing is fault tolerant. The QEC-Bank has not carried out these five steps, so the card does not record translations as certified logical gates. The literature has done (1)–(4): Bravyi et al. (arXiv:2308.07915 v2, section 9.2 “Logical Gates based on Automorphisms”) choose logical operators labelled by monomials; a translation s turns the X̄ labelled n into the X̄ labelled s·n (likewise for Z̄), so every translation is a logical CNOT circuit (up to a logical Pauli correction); the authors also write that no translation other than s = 1 acts as the logical identity, but for gross that does not hold: checking all 72 translations on every logical X̄ and Z̄ shows that x⁶ (a half-turn along the direction of length 12) acts as the logical identity, while the other 70 nonidentity translations have a nontrivial logical action (the check is described in §6.5 of the intuition guide); the authors add that it is not yet clear how to use these CNOTs for useful computation. That result lives in the literature, not in the QEC-Bank certificates (§6.5 of the intuition guide says the same).

自同构automorphism = 「码空间映到自身」“code space maps to itself” ≠ 已认证的逻辑门certified logical gate = 自同构 + 已算出的 24×24 辛作用 + 容错路由automorphism + a computed 24×24 symplectic action + fault-tolerant routing

≠ = 不等于;24 = 2k,k = 12 个逻辑比特各有一个 X̄ 和一个 Z̄。≠ = not equal; 24 = 2k, with an X̄ and a Z̄ for each of the k = 12 logical qubits.

4.3折叠横向门需要选定的对称性Fold-transversal gates require selected symmetry

eberhardt2024fold(Eberhardt、Steffan,"Logical Operators and Fold-Transversal Gates of Bivariate Bicycle Codes",arXiv 2407.03973,登记待补)为对称的 BB 例子构造了显式的逻辑基和折叠横向 Clifford 门,包括 [[98,6,12]] 与 [[162,8,12]] 两块。一次折叠fold:把由一个反射(或别的对合,即做两次回到原地的变换)配成对的比特两两配对,使常深度的物理 Clifford 实现一个逻辑操作。把由反射或其他对合关联的比特配成对,让常深度的物理 Clifford 实现一个逻辑操作。证书有三部分:物理置换是所选检查空间的自同构;它诱导的逻辑 Pauli 作用被算出;折叠的交互模式可用或可路由。额外的对称性是一个选码条件。这些例子不意味着原来的 [[144,12,12]] gross 块有同样的折叠门。sayginel2025automorphisms(Sayginel、Koutsioumpas、Webster、Rajput、Browne,"Fault-Tolerant Logical Clifford Gates from Code Automorphisms",2025,已登记)把这套工作流一般化:找 Tanner 图自同构、解出它们的逻辑辛作用、编译出有用的 Clifford。再说一次:只保持图而不算逻辑作用,只是第一步。QEC-Bank 对应两行:「selected logical Clifford generators · fold-transversal · claimed」(代价:一次折叠 / 置换加常深度物理 Clifford 层;只有解出了逻辑作用的对称 BB 实例才算)与「logical Clifford operations through automorphisms · fold-transversal · claimed」(代价:一个已认证的 Tanner 图置换及其物理路由;诱导的辛作用必须对所选块算出)。

eberhardt2024fold (Eberhardt, Steffan, “Logical Operators and Fold-Transversal Gates of Bivariate Bicycle Codes”, arXiv 2407.03973, registration pending) constructs explicit logical bases and fold-transversal Clifford gates for symmetric BB examples, including [[98,6,12]] and [[162,8,12]] blocks. A foldPair up qubits related by a reflection or another involution (a transformation that returns home when done twice) so that constant-depth physical Cliffords implement a logical operation. pairs qubits related by a reflection or other involution so that constant-depth physical Cliffords implement a logical operation. The certificate has three parts: the physical permutation is an automorphism of the chosen check spaces; its induced logical Pauli action is computed; the folded interaction pattern is available or routable. The extra symmetry is a code-selection condition. These examples do not imply that the original [[144,12,12]] gross block has the same fold gate. sayginel2025automorphisms (Sayginel, Koutsioumpas, Webster, Rajput, Browne, “Fault-Tolerant Logical Clifford Gates from Code Automorphisms”, 2025, registered) generalizes the workflow: find Tanner-graph automorphisms, resolve their logical symplectic actions, compile useful Cliffords. Again, graph preservation without the logical action is only the first step. The two QEC-Bank rows: “selected logical Clifford generators · fold-transversal · claimed” (cost: a fold/permutation plus constant-depth physical Clifford layers; only symmetric BB instances with a resolved logical action qualify) and “logical Clifford operations through automorphisms · fold-transversal · claimed” (cost: a certified Tanner-graph permutation and its physical routing; the induced symplectic action must be computed for the chosen block).

4.4手术与模块化操作Surgery and modular operations

长程手术用一个辅助码或贴片测量数据块之间的联合逻辑 Pauli(机制见《格点手术 · 高中数学版》第 3 章:缝合检查的连乘缩成 Z̄⊗Z̄)。反复的症状提取让这次奇偶测量容错;经典前馈完成传送或 Clifford 小装置。cohen2022longrange(Cohen、Kim、Bartlett、Brown,"Low-Overhead Fault-Tolerant Quantum Computing Using Long-Range Connectivity",arXiv 2110.10794,登记待补)为高码率码发展了一般的基础设施;yoder2025tour 给出 gross 家族的指令集、编译路径与 d = 12、d = 18 两种模块的资源估计。这些操作不是某一张 BB 检查矩阵的横向性质,它们的代价包括:一个辅助或通信模块;反复的提取轮;边界 / 接口检查或长程耦合器;联合的探测器模型与译码器;被打包的逻辑比特在路由期间的空闲暴露。卡片把机制标为 surgery,正是为了不把这些资源藏在「逻辑 Clifford」四个字下面。QEC-Bank 行:「inter-block Pauli measurements and Clifford surgery · surgery · claimed」,代价「长程辅助贴片、反复测量与联合译码器;资源计数属于所选的模块化协议」。

Long-range surgery uses an ancilla code or patch to measure joint logical Paulis between data blocks (the mechanism is in “Lattice Surgery · High-School Edition”, Chapter 3: the seam checks telescope into Z̄⊗Z̄). Repeated syndrome extraction makes the parity measurement fault tolerant; classical feed-forward completes teleportation or Clifford gadgets. cohen2022longrange (Cohen, Kim, Bartlett, Brown, “Low-Overhead Fault-Tolerant Quantum Computing Using Long-Range Connectivity”, arXiv 2110.10794, registration pending) develops the general infrastructure for high-rate codes; yoder2025tour supplies a gross-family instruction set, compilation path and resource estimates for distance-12 and distance-18 modules. These operations are not transversal properties of one BB check matrix; their cost includes an ancilla or communication module; repeated extraction rounds; boundary/interface checks or long-range couplers; a joint detector model and decoder; idle and routing exposure of the packed logical qubits. The card labels the mechanism surgery precisely so those resources are not hidden under “logical Clifford”. QEC-Bank row: “inter-block Pauli measurements and Clifford surgery · surgery · claimed”, cost “long-range ancilla patches, repeated measurements, and a joint decoder; the resource count belongs to the selected modular protocol”.

4.5自对偶子族与杯积子族Self-dual and cup-product subfamilies

liang2025selfdual(Liang、Chen,"Self-Dual Bivariate Bicycle Codes with Transversal Clifford Gates",arXiv 2510.05211,登记待补)加上额外的自对偶与扭环面条件,得到重量 8 的 BB 块,带横向 CNOT、H、S。这些条件改变了所选的家族。操作行明写「self-dual BB subfamily」,不是 gross 的主张;QEC-Bank 行的代价栏:「在满足额外自对偶与扭环面条件的块上做常深度物理层;不是 gross 码的主张」。breuckmann2026cups(Breuckmann、Davydova、Eberhardt、Tantivasadakarn,"Cups and Gates I",arXiv 2410.16250,登记待补)用上同调与杯积cup product:上同调类之间的一种乘法。这里它是「常深度逻辑操作存在」的证书:有这个代数不变量的码才有那个门。不变量为具备所需结构的码认证常深度逻辑操作,包括选定的 BB 例子——杯积就是门的证书,一对一般的二元多项式不会自动提供它。xu2025batched(Xu 等,"Batched High-Rate Logical Operations for Quantum LDPC Codes",arXiv 2510.06159,登记待补)为 CSS qLDPC 架构发展成批的纠错、手术、切换与 Clifford 小装置,并把一个提案特化到自对偶 BB 块;「成批」改变的是资源调度与共享辅助比特的记账,不是静态稳定子参数。后两个键只出现在推导页,不绑定任何操作行。

liang2025selfdual (Liang, Chen, “Self-Dual Bivariate Bicycle Codes with Transversal Clifford Gates”, arXiv 2510.05211, registration pending) imposes extra self-duality and twisted-torus conditions, obtaining weight-eight BB blocks with transversal CNOT, H and S. Those conditions change the selected family. The operation row explicitly says “self-dual BB subfamily” and is not a gross claim; the QEC-Bank cost column reads “constant-depth physical layers on blocks satisfying the extra self-duality and twisted-torus conditions; not a gross-code claim”. breuckmann2026cups (Breuckmann, Davydova, Eberhardt, Tantivasadakarn, “Cups and Gates I”, arXiv 2410.16250, registration pending) uses cohomology and cup-productA multiplication between cohomology classes. Here it is the certificate that a constant-depth logical operation exists: codes with this algebraic invariant have that gate. invariants to certify constant-depth logical operations on codes with the required structure, including selected BB examples; the cup product is the gate certificate, and a generic bivariate polynomial pair does not automatically supply it. xu2025batched (Xu et al., “Batched High-Rate Logical Operations for Quantum LDPC Codes”, arXiv 2510.06159, registration pending) develops batched error correction, surgery, switching and Clifford gadgets for CSS qLDPC architectures and specializes a proposal to self-dual BB blocks; “batched” changes the resource schedule and shared-ancilla accounting, not the static stabilizer parameters. The last two keys appear only on the derivation page and are bound to no operation row.

4.6非 Clifford 边界,与卡片承诺的表The non-Clifford boundary, and the table of what the card promises

六镜头文献扫描里没有任何来源为原始 gross 块提供普适的横向门集。诚实的边界是:横向 CNOT 在对齐的相同 CSS 块之间可用;选定的对称或自对偶块获得更多 Clifford;手术与自同构用额外资源扩大指令集;非 Clifford 的补全仍需要魔法态注入 / 培育、码切换、基于测量的资源或另一种已认证的机制(《格点手术 · 高中数学版》1.3 节的 Bravyi–König 天花板说明了为什么二维局域码没有原生 T 门;BB 不局域,但文献里也还没有它的 T)。k = 12 的打包让可寻址性格外重要:对全部 12 个逻辑比特做一次集体操作,不能替代一个「挑出想要的组合、同时保住其他」的编译器。

No source in the six-lens sweep supplies a universal transversal gate set for the original gross block. The honest boundary: transversal CNOT is available between aligned identical CSS blocks; selected symmetric or self-dual blocks gain more Cliffords; surgery and automorphisms enlarge the instruction set with extra resources; non-Clifford completion still needs magic-state injection/cultivation, switching, measurement-based resources, or another certified mechanism (the Bravyi–König ceiling of “Lattice Surgery · High-School Edition”, §1.3 explains why 2D local codes have no native T; BB is not local, but the literature has no T for it either). The packed k = 12 makes addressability especially important: a collective operation on all twelve logical qubits is no substitute for a compiler that selects the desired logical combination while preserving the others.

操作行Row承诺Promise不允许推出Excluded inference键Key
相同块 CNOTidentical-block CNOT对齐的成对 CNOT 保持两块 BB 码aligned pairwise CNOT preserves two BB blocks零路由、零译码成本zero routing or decoder costyoder2025tour
选定的折叠 Cliffordselected fold Cliffords被引的对称实例有折叠证书cited symmetric instances have a fold certificate每个 BB 实例都有 H/Severy BB instance has H/Seberhardt2024fold
自同构 Cliffordautomorphism Cliffords解出的逻辑作用可以实现 Clifforda resolved logical action can implement Cliffords每个图对称都有用every graph symmetry is usefulsayginel2025automorphisms
模块化手术modular surgery被引的架构提供联合操作cited architecture provides joint operations手术是静态矩阵的原生性质surgery is native to the static matrixyoder2025tour
自对偶 H/S/CNOTself-dual H/S/CNOT额外的自对偶子族有横向 Cliffordthe extra self-dual subfamily has transversal Cliffordsgross 继承这些门gross inherits those gatesliang2025selfdual
关键想法Key idea

五行操作、五个 claimed、每行的适用范围写在门名或代价里。这种分开写法,让以后有人为 gross 补上一份「平移的 24×24 辛作用」证书时,只需新增一行,而不必把家族层面的传闻改写成事实。本章唯一在纸上做完的证明是 4.1 节的横向 CNOT——而它也只证到码空间,硬件成本仍是 claimed。

Five operation rows, five claimeds, each row's applicability written into the gate name or the cost. This separation lets someone later add a gross-specific “24×24 symplectic action of a translation” certificate as one new row, without rewriting family-wide folklore as fact. The only proof finished on paper in this chapter is the transversal CNOT of §4.1, and even it reaches only the code space; the hardware cost remains claimed.

第 5 章Chapter 5

实现账本:一次真机运行,七个提案The realization ledger: one hardware run, seven proposals

这本账把「真正在硬件上跑过的 BB 码」和「模拟的版图与整栈架构提案」分开。「实现」回答的是哪个物理系统真的执行了;「提案」回答的是设计是否具体到能模拟、能算成本。截至扫描日期 2026-07-26,字面意义上的 BB 硬件实验只有一次。 This ledger distinguishes a literal BB hardware run from simulated layouts and full-stack architecture proposals. “Realization” answers what physical system actually executed; “proposal” answers whether the design is concrete enough to simulate or cost. As of the sweep date 2026-07-26 there is exactly one literal BB hardware experiment.

5.1能力表The capability table

下表照 QEC-Bank 推导页排列;「状态」一栏是 QEC-Bank 实现侧面的原词(demonstrated / proposed)。除 wang2026lowoverhead、poole2025rydberg、berthusen2025local、shaw2025morphing、yoder2025tour 五个键绑定了实现记录外,wang2026coprime、chen2025fusion、chandra2026distributed 三个只出现在推导页。八个键全部登记待补,题名来自文献扫描报告。

The table follows the QEC-Bank derivation page; the “status” column uses the QEC-Bank realizations facet's own words (demonstrated / proposed). Five keys, wang2026lowoverhead, poole2025rydberg, berthusen2025local, shaw2025morphing, yoder2025tour, are bound to realization records; wang2026coprime, chen2025fusion and chandra2026distributed appear only on the derivation page. All eight keys are registration pending; titles come from the scout report.

来源Source平台 / 块Platform / block状态Status确立了Established没有确立Did not establish
wang2026lowoverhead昆仑,[[18,4,4]],32 个长程耦合的 transmonKunlun, [[18,4,4]], 32 long-range-coupled transmonsdemonstrated全部非局域六腿检查与反复症状周期;报告每个逻辑比特每周期逻辑错误率 (8.91 ± 0.17)%all nonlocal weight-six checks and repeated syndrome cycles; reported logical error per logical qubit per cycle (8.91 ± 0.17)%gross [[144,12,12]];码距增大时的压制;低于阈值的标度;容错逻辑门gross [[144,12,12]]; increasing-distance suppression; below-threshold scaling; a fault-tolerant logical gate
poole2025rydberg优化的 Rydberg 中性原子版图optimized Rydberg neutral-atom layoutproposed为 BB 连接性做的门 / 版图优化gate/layout optimization for BB connectivity实验室里的逻辑存储器laboratory logical memory
berthusen2025local分层 / 局域的二维实现layered/local two-dimensional implementationproposed量化了移动 / 通信与改变后的检查节奏quantified motion/communication and altered check cadence不变的探测器模型,或免费的局域化unchanged detector model or free localization
shaw2025morphing度 5 的 morphing 家族degree-five morphing familyproposed6 轮 CNOT、更低的连接度、表面码输入 / 输出路线six CNOT rounds, lower connectivity, a surface-code input/output route对每个 BB 块都适用的重新调度a universal reschedule of every BB block
wang2026coprime冷原子上的互素子类coprime subclass on cold atomsproposed可先选码率的子类与原子移动的协同设计a rate-aware subclass and atom-movement co-design硬件实验a hardware experiment
yoder2025tour模块化 gross 家族计算机modular gross-family computerproposed指令集、编译器、端到端资源估计instruction set, compiler, end-to-end resource estimates执行过的模块或逻辑门an executed module or logical gate
chen2025fusion发射器产生的光子融合资源emitter-generated photonic fusion resourcesproposedCSS qLDPC 检查的映射与小 BB 例子的损耗 / 噪声研究mapping of CSS qLDPC checks and small-BB loss/noise studies光子 BB 实验a photonic BB experiment
chandra2026distributed跨若干处理器联网的 gross 块networked gross block over several processorsproposedBell 链路分割与 BP-OSD 对非局域噪声敏感度的模拟Bell-link partition and simulated BP-OSD sensitivity to nonlocal noise分布式硬件运行a distributed hardware run

5.2昆仑结果:五个必须一起说的数字The Kunlun result: five numbers that must stay together

wang2026lowoverhead(Ke Wang 等,"Demonstration of Low-Overhead Quantum Error Correction Codes",arXiv 2505.09684,登记待补)是六镜头扫描认定的唯一一次字面意义的 BB 实验。它的块和硬件数必须一直跟着结果走:码是 [[18,4,4]],不是 gross;器件是 32 个带长程耦合的 transmon(18 个数据比特;其余 14 个的角色卡片未登记,直觉教程 6.6 节);操作是全部非局域六腿检查加反复的症状提取;指标是每个逻辑比特每周期的逻辑错误率 (8.91 ± 0.17)%;解释是「低开销、非局域检查的实验可行」。这次运行没有给出家族的交叉:一个「低于阈值」的标度演示需要至少两个码距在可比的电路、噪声与译码下比较,且逻辑错误随码距增大而下降——一个固定的 [[18,4,4]] 点提供不了这个推断。还有,32 这个器件数不能直接与 gross 的数据比特数 144 比:前者是含所选辅助资源的器件实现,后者是静态的数据比特参数(2.5 节)。QEC-Bank 记录原句:「这确立的是可行性,不是低于阈值的标度,也不是 gross 码的运行。」

wang2026lowoverhead (Ke Wang et al., “Demonstration of Low-Overhead Quantum Error Correction Codes”, arXiv 2505.09684, registration pending) is the only literal BB experiment identified by the six-lens sweep. Its block and hardware count must stay attached to the result: the code is [[18,4,4]], not gross; the device is 32 transmons with long-range couplings (18 data qubits; the card assigns no role to the other 14, intuition guide, §6.6); the operation is all nonlocal weight-six checks with repeated syndrome extraction; the metric is logical error per logical qubit per cycle (8.91 ± 0.17)%; the interpretation is “feasibility of a low-overhead, nonlocal-check experiment”. The run does not provide a family crossing: a below-threshold scaling demonstration needs at least two distances under comparable circuits, noise and decoding, with logical error decreasing as distance grows, and one fixed [[18,4,4]] point cannot supply that inference. Nor may the device count 32 be compared directly with the gross data-only n = 144: the former is a device implementation including its chosen ancilla resources, the latter a static data-qubit parameter (§2.5). The QEC-Bank record's own sentence: “this establishes feasibility, not below-threshold scaling and not a gross-code run.”

5.3提案为什么各不相同Why the proposals differ

七个提案攻的是不同的瓶颈。Rydberg 版图:利用可重构或长程的原子相互作用快速实现 Tanner 图。分层局域:付出移动、通信或对昂贵检查的更慢测量,以适应局域基底。Morphing:在提取中途换码,让瞬时图的度更低。互素子类:约束多项式搜索,让码率与冷原子版图一起设计。模块化架构:把块变成带辅助、通信、编译与资源记账的指令集。光子融合:把奇偶检查翻译成发射器产生的资源态和一个考虑损耗的融合网络。分布式模块:把一个 gross 块拆开,暴露出有噪声的非局域 Bell 链路带来的逻辑代价。它们不是同一个探测器模型的可互换实现:移动会增加空闲故障;morphing 改变了哪个稳定子码在起作用;光子损耗信道不同于 transmon 的退极化模型;联网分割引入链路噪声。每一个都需要自己的电路与译码器主张。

The seven proposals attack different bottlenecks. Rydberg layout: exploit reconfigurable or long-range atom interactions to realize the Tanner graph quickly. Layered locality: pay motion, communication, or slower measurement of costly checks to fit a local substrate. Morphing: change the code during extraction so the instantaneous graph has lower degree. Coprime subclass: constrain the polynomial search so rate and cold-atom layout are co-designed. Modular architecture: turn blocks into an instruction set with ancillas, communication, compilation and resource accounting. Photonic fusion: translate parity checks into emitter-generated resource states and a loss-aware fusion network. Distributed modules: split one gross block and expose the logical penalty from noisy nonlocal Bell links. These are not interchangeable implementations of one detector model: movement can add idle faults; morphing changes which stabilizer code is active; a photonic loss channel differs from a transmon depolarizing model; a networked partition introduces link noise. Each needs its own circuit and decoder claim.

5.4扫描给出的否定结果,与更新规则Negative results from the sweep, and the update rule

截至扫描日期,没有任何被抓取的实验:运行过 [[144,12,12]] gross 存储器;在一个 BB 家族内演示过随码距增大的逻辑压制;实现过容错的 BB 逻辑门;在硬件上验证过完整的 yoder2025tour 指令集。这些「没有」是条目知识状态的一部分:它们阻止一个提案被渲染成一次演示,也标出未来更新的具体目标。将来新增一条实现记录时,必须写明五件事:① 精确的 BB 实例,以及它是普通、自对偶、互素、剪枝还是 morphing;② 数据、辅助、通信与总器件数分开计;③ 提取调度与反复轮数;④ 译码器与噪声 / 归一化约定;⑤ 结果是探测、纠正、标度、态制备还是逻辑操作。没有这五个字段,「BB 已被演示」粗到无法比较。与表面码实现账本的对照(Willow 的 Λ = 2.14 ± 0.02 之类是另一类主张)见Surface Code 用例与实现导读。

As of the sweep date, no fetched experiment had: run the [[144,12,12]] gross memory; demonstrated increasing-distance logical suppression within a BB family; implemented a fault-tolerant BB logical gate; validated the full yoder2025tour instruction set in hardware. These absences are part of the entry's knowledge state: they prevent a proposal from being rendered as a demonstration and mark concrete targets for future updates. A future realization row must state five things: (1) the exact BB instance and whether it is ordinary, self-dual, coprime, pruned or morphing; (2) data, ancilla, communication and total device counts separately; (3) the extraction schedule and number of repeated rounds; (4) the decoder and noise/normalization convention; (5) whether the result is detection, correction, scaling, state preparation or a logical operation. Without those five fields, “BB demonstrated” is too coarse to compare. For the contrast with the surface-code ledger (Willow's Λ = 2.14 ± 0.02 and the like are a different kind of claim), see the surface-code use-cases guide.

诚实账Honesty ledger

本章没有一个数字是机器重算的;(8.91 ± 0.17)% 与 32、18、4、4 全部照抄 QEC-Bank 实现记录,记录的键 wang2026lowoverhead 在注册表里尚无元数据,题名与 arXiv 号来自扫描报告。「唯一一次实验」这句话带日期:2026-07-26。

Not one number in this chapter is machine-recomputed; (8.91 ± 0.17)% and 32, 18, 4, 4 are copied from the QEC-Bank realization record, whose key wang2026lowoverhead has no registry metadata yet; the title and arXiv id come from the scout report. “The only experiment” carries a date: 2026-07-26.

第 6 章Chapter 6

表示词典:七种说法,各保住什么、各不许推出什么The representation dictionary: seven views, what each preserves and what each forbids

BB 码格外容易被叫错名字,因为同一对矩阵同时坐在好几种更宽的构造里:它是一对多项式,是群代数里的两个元素,是一个三项链复形,是一张 Tanner 图,是一个商模,是一套任意子数据,在译码时还能被约化成几个环面圆柱。这一章给每种说法立一个条目:它最擅长回答哪个问题、它精确保住了哪个不变量、以及它不允许你推出什么。QEC-Bank 表示阶梯侧面对本条目登记了八条视图断言,每条带自己的出处标签;这里把它们串成一部词典。 BB codes are unusually easy to misname because the same pair of matrices sits inside several broader constructions at once: it is a pair of polynomials, two elements of a group algebra, a three-term chain complex, a Tanner graph, a quotient module, a set of anyon data, and, for decoding, something reducible to toric cylinders. This chapter writes one entry per view: the question it answers best, the invariant it preserves exactly, and the inference it does not license. The QEC-Bank representation-ladder facet records eight view assertions for this entry, each with its own provenance label; here they are strung into a dictionary.

6.1一张地图:七种视图、七个问题、七条警告One map: seven views, seven questions, seven caveats

先把 QEC-Bank 推导页的「视图地图」原样搬来,再逐条解释。「基本对象」是你在那种说法里操作的东西;「最擅长的问题」是它比别的说法答得更好的那一个;「保住的不变量」是从一种说法翻到另一种说法时一个 0/1 都不会变的数据;「警告」是最常见的越界推理。

First the “view map” of the QEC-Bank derivation page, copied as is, then one explanation per row. The “basic object” is what you manipulate in that view; the “best question” is the one it answers better than any other view; the “preserved invariant” is the data that survives translation into another view without a single 0/1 changing; the “caveat” is the most common overreach.

视图View基本对象Basic object最擅长的问题Best question保住的不变量Preserved invariant警告Caveat
二元多项式bivariate polynomial有限商环里的 A(x, y)、B(x, y)A(x, y), B(x, y) in a finite quotient ring四个参数怎样造出检查?How do four parameters build the checks?所选移位约定下的精确矩阵the exact matrix in the chosen shift convention一对紧凑的多项式不认证码距,也不认证电路版图a compact polynomial certifies neither distance nor circuit layout
群代数group algebraGF(2)[ℤl × ℤm] 里的两个元素two elements of GF(2)[ℤl × ℤm]两块为什么对易?父家族是谁?Why do the blocks commute, and what is the parent family?正则作用的代数与两块结构the regular-action algebra and the two-block structure非阿贝尔的 2BGA 码不必是二元的nonabelian 2BGA codes need not be bivariate
提升积 / 链复形lifted product / chain complexR → R² → R逻辑商住在哪里?Where do the logical quotients live?边界映射与中间同调the boundary maps and the middle homology「提升积」、HGP、BB 不是同义词“lifted product”, HGP and BB are not synonyms
Tanner 图Tanner graph检查–比特关联check–qubit incidence需要哪些耦合器、什么度数?Which couplers and degrees are required?行 / 列支撑row/column support关联不含 CNOT 顺序、辅助比特、探测器与故障传播incidence omits CNOT order, ancillas, detectors and fault propagation
商模 / 根quotient module / rootsR/(A, B) 与公因子R/(A, B) and common factors秩为什么掉?边界上会发生什么?Why does the rank drop, and what happens at a boundary?像理想与商维数the image ideal and the quotient dimension只有公共根,给不出码距common roots alone do not give distance
任意子 / Koszulanyon / Koszul激发模与可动性关系excitation modules and mobility relations存在哪些拓扑扇区与约束?Which topological sectors and constraints exist?翻译成激发的理想 / 复形数据ideal/complex data translated into excitations有限的简并不必是一叠平凡的环面码finite degeneracy need not be a trivial toric stack
环面圆柱toric cylinders对称约化后的译码问题symmetry-reduced decoding problems何时能用匹配代替通用 qLDPC 译码器?When can matching replace a generic qLDPC decoder?约化下选定的症状 / 逻辑扇区the selected syndrome/logical sectors under the reduction译码器层面的等价不是全局的局部 Clifford 等价operational decoder equivalence is not global local-Clifford equivalence

GF(2)[ℤl × ℤm] = 群代数:以群 ℤl × ℤm(环面上的 lm 个平移,gross 是 72 个)的元素为「变量」、系数取 0/1 的形式和;它与 1.1 节的环 R 是同一个东西的两个名字。2BGA = two-block group-algebra code,两块群代数码,见 6.2 节。HGP = 超图积(《qLDPC 码 · 高中数学版》第 2 章)。Koszul = 一种由多项式理想造出的链复形,见 6.6 节。GF(2)[ℤl × ℤm] = the group algebra: formal sums with 0/1 coefficients whose “variables” are the elements of the group ℤl × ℤm (the lm torus translations, 72 for gross); it is the ring R of §1.1 under a second name. 2BGA = two-block group-algebra code, §6.2. HGP = hypergraph product (“qLDPC Codes · High-School Edition”, Chapter 2). Koszul = a chain complex built from a polynomial ideal, §6.6.

QEC-Bank 表示阶梯侧面给这些视图分了「梯级」并贴了标签,《BB 码 · 表示阶梯》逐级讲过;本章只用其中与推导有关的部分。八条断言里,两条是机器导出(derived)的:R1 的辛 CSS 检查矩阵(由构造器 bivariate_bicycle.build → CheckMatrix.from_css 生成)与 R2 的三项链复形;一条是canonical(规范的):R5 的二元多项式说法本身;其余五条——群代数、Tanner 电路图、商模、任意子 / Koszul、环面圆柱——全是 curated(文献整理),各绑一个文献键。人话:QEC-Bank 机器亲手造出来的只有矩阵和复形;其他说法都是「书上这么讲,我们照登」。

The QEC-Bank representation-ladder facet assigns these views to “rungs” and labels them; “BB Codes · Representation Ladder” walks the rungs one by one, and this chapter uses only what bears on the derivations. Of the eight assertions, two are machine-derived (derived): the R1 symplectic CSS check matrix (produced by the constructor bivariate_bicycle.build → CheckMatrix.from_css) and the R2 three-term chain complex; one is canonical: the R5 bivariate-polynomial description itself; the remaining five, group algebra, Tanner-circuit graph, quotient module, anyon/Koszul and toric cylinders, are all curated from the literature, each bound to one bibkey. In plain words: the only things the QEC-Bank machine built with its own hands are the matrix and the complex; every other view is “the books say so, and we record it”.

6.2多项式 → 群代数:为什么对易,父家族是谁Polynomial → group algebra: why they commute, and who the parent is

单项式 xayb 标记群元素 (a, b) ∈ ℤl × ℤm——就是「往 x 方向走 a 步、往 y 方向走 b 步」这个平移。用1.1 节的正则表示,群的乘法(两个平移先后做)变成矩阵乘法。因为这个群是阿贝尔的(可交换的:先走 a 再走 c,等于先走 c 再走 a),A 和 B 的正则矩阵就对易。人话:BB 码对易定理的全部力量,来自「环面上的平移可以换顺序」这一件事;这在 gross 里是 72 个平移两两可交换。

The monomial xayb labels the group element (a, b) ∈ ℤl × ℤm, i.e. the translation “a steps along x, b steps along y”. Under the regular representation of §1.1, group multiplication (doing two translations in turn) becomes matrix multiplication. Because the group is abelian (commutative: a steps then c steps equals c steps then a steps), the regular matrices of A and B commute. In plain words: the whole force of the BB commutation theorem comes from the single fact that torus translations can be reordered; in gross that is 72 translations, pairwise interchangeable.

BB ⊂ 阿贝尔 2BGAabelian 2BGA ⊂ 两块码two-block codes (三个包含都是真包含,不是等号all three containments are strict, not equalities)

⊂ = 「是……的子集」;2BGA(two-block group-algebra code)= 用某个有限群 G 的群代数里两个元素 a、b 造 HX = [a | b]、HZ = [bᵀ | aᵀ] 的码;G 换成 ℤl × ℤm 就是 BB。两块码 = 更一般地,任何两个对易的方阵 A、B 拼成的 [A | B]、[Bᵀ | Aᵀ]。⊂ = “is a subset of”; 2BGA (two-block group-algebra code) = a code with HX = [a | b], HZ = [bᵀ | aᵀ] built from two elements a, b of the group algebra of some finite group G; with G = ℤl × ℤm it is BB. Two-block code = more generally, [A | B], [Bᵀ | Aᵀ] for any two commuting square matrices A, B.

这条链就是 QEC-Bank 关系侧面唯一一条类型化关系的来历:special_case_of → two_bga,原文「BB 码是 ℤl × ℤm 的阿贝尔两块群代数码;一般的 2BGA 码可以用别的群,不必有二元多项式表示」,引 wang2023abelian(Renyu Wang、Hsiang-Ku Lin、Leonid P. Pryadko,"Abelian and Non-Abelian Quantum Two-Block Codes",2023,arXiv 2305.06890)与 lin2023twoblock(Hsiang-Ku Lin、Leonid P. Pryadko,"Quantum Two-Block Group Algebra Codes",2023,arXiv 2306.16400)——两个键据文献扫描报告,登记待补;目标条目 two_bga 本身在 QEC-Bank 里还是 pending(《BB 码 · 关系》讲了这一点)。三个包含为什么都不是等号:① 一个 2BGA 码可以用另一个群(比如非阿贝尔群);② 非阿贝尔的构造可以让左、右作用对易,而完全没有两个变量的阿贝尔多项式环;③ 一般的提升积可以有比两块 BB 复形大得多的底矩阵(《qLDPC 码 · 高中数学版》4.2 节:BB 是底矩阵 1 × 1 的提升积,底矩阵一大就不是 BB 了)。人话:BB 是一个很特殊的角落;「两块」「群代数」「提升积」每往外走一步都放开一个限制,放开的东西就不再享有本页证过的性质。

This chain is the origin of the single typed relation on the QEC-Bank relations facet, special_case_of → two_bga, whose text reads “Bivariate bicycle codes are the abelian two-block group-algebra codes for ℤl × ℤm; general 2BGA codes may use other groups and need not have a two-variable polynomial presentation”, citing wang2023abelian (Renyu Wang, Hsiang-Ku Lin, Leonid P. Pryadko, “Abelian and Non-Abelian Quantum Two-Block Codes”, 2023, arXiv 2305.06890) and lin2023twoblock (Hsiang-Ku Lin, Leonid P. Pryadko, “Quantum Two-Block Group Algebra Codes”, 2023, arXiv 2306.16400); both keys are, per the scout report, registration pending, and the target entry two_bga is itself still pending in the QEC-Bank (“BB Codes · Relations” covers this). Why none of the three containments is an equality: (1) a 2BGA code may use another group, for instance a nonabelian one; (2) a nonabelian construction can make left and right actions commute without any two-variable abelian polynomial ring; (3) a general lifted product can have base matrices far larger than the two-block BB complex (“qLDPC Codes · High-School Edition”, §4.2: BB is the lifted product with a 1 × 1 base matrix; enlarge the base and it is no longer BB). In plain words: BB is a very special corner; each step outward to “two-block”, “group algebra” or “lifted product” releases one restriction, and whatever is released no longer enjoys the properties proved on this page.

6.3群代数 → 链复形:R 线性与「精确矩阵」的区别Group algebra → chain complex: R-linearity versus “the exact matrix”

映射 [B ; A] 与 [A | B] 是 R 线性R-linear:不只对 0/1 系数线性,对「乘以环 R 里任何元素」也线性。比如把输入平移一格(乘 x),输出也恰好平移一格。这正是 4.2 节平移自同构的来源。的,二者复合为零(1.5 节),于是定义了一个长度为二的复形。忘掉 R 线性,只把它们当 GF(2) 上的 0/1 矩阵,就得到二元 CSS 矩阵;保留 R 线性,就看见了平移与商模。两种描述在固定了同一组基与同一个正则表示时,保住的是同一个精确的码。

The maps [B ; A] and [A | B] are R-linearLinear not only over 0/1 coefficients but with respect to “multiply by any ring element of R”: translate the input one cell (multiply by x) and the output translates by exactly one cell too. This is where the translation automorphisms of §4.2 come from., and their composition vanishes (§1.5), so they define a length-two complex. Forget R-linearity, treating them as mere 0/1 matrices over GF(2), and you have the binary CSS matrices; keep it, and translations and quotient modules come into view. With the same bases and the same regular representation fixed, the two descriptions preserve the same exact code.

这里藏着一个对 QEC-Bank 复现契约至关重要的区别。换一组基(比如把比特重新编号、把左右两块对调、把行按别的顺序排)可以保住码空间——同一组量子态、同样的 n、k、d——却改变行序与比特序。而0.2 节的契约要求的是精确矩阵:验证器的匹配器叫 exact-checkmatrix-v1,比较整张 72 × 144 的数组。所以「我的构造和 QEC-Bank 的等价」不满足契约;「我的构造和 QEC-Bank 的逐元素相同」才满足。人话:链复形告诉你「这两个码是同一个码」;复现契约问的是「这两张表是同一张表吗」——问题不同,答案可以不同。

A distinction crucial to the QEC-Bank replay contract hides here. Changing bases (renumbering qubits, swapping the left and right blocks, ordering rows differently) can preserve the code space, the same set of quantum states, the same n, k, d, while changing the row and qubit order. But the contract of §0.2 demands the exact matrix: the verifier's matcher is named exact-checkmatrix-v1 and compares the whole 72 × 144 array. So “my construction is equivalent to the QEC-Bank one” does not satisfy the contract; “my construction agrees with the QEC-Bank one entry by entry” does. In plain words: the chain complex tells you “these two codes are the same code”; the replay contract asks “are these two tables the same table?”, a different question with a possibly different answer.

6.4链复形 → 商模:秩为什么掉,以及秩不是码距Chain complex → quotient module: why the rank drops, and why rank is not distance

[A | B] 的像是理想 (A, B)——所有能写成 Au + Bv 的多项式。因此商 R/(A,B) 量的正是一个秩亏损:gross 里像的维数是 66,商的维数是 72 − 66 = 6(2.3 节)。因式分解与公共根的方法能预测这个商何时非零、它的维数怎样随周期或边界变化:postema2025existence(Jasper Johannes Postema、Servaas J. J. M. F. Kokkelmans,"Existence and Characterisation of Bivariate Bicycle Codes",2025,arXiv 2502.17052,登记待补)用这套结构刻画 BB 码的存在条件与渐近极限;wang2026bbs(Renyu Wang、Leonid P. Pryadko,"Algebra of Bivariate-Bicycle Surface Codes",2026,arXiv 2606.08771,登记待补)把根 / 边界分析推得更远(第 7 章会用到)。人话:A 和 B「共同碰不到」的那 6 个方向,就是逻辑信息的一半;换周期,比如把同样的 A、B 放到 9 × 6 的环面上,这个商就掉到 54 − 50 = 4,k 变成 8,那正是 bb108(直觉教程 5.5 节)。

The image of [A | B] is the ideal (A, B), every polynomial writable as Au + Bv. The quotient R/(A,B) therefore measures exactly one rank defect: in gross the image has dimension 66 and the quotient dimension 72 − 66 = 6 (§2.3). Factorization and common-root methods predict when this quotient is nonzero and how its dimension changes with periods or boundaries: postema2025existence (Jasper Johannes Postema, Servaas J. J. M. F. Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes”, 2025, arXiv 2502.17052, registration pending) uses this structure to characterize existence conditions and asymptotic limitations, and wang2026bbs (Renyu Wang, Leonid P. Pryadko, “Algebra of Bivariate-Bicycle Surface Codes”, 2026, arXiv 2606.08771, registration pending) extends the root/boundary analysis (Chapter 7 uses it). In plain words: the 6 directions that A and B “jointly fail to reach” are half of the logical information; change the periods, say the same A, B on a 9 × 6 torus, and the quotient drops to 54 − 50 = 4, k becomes 8, and that is bb108 (intuition guide, §5.5).

秩仍然不是码距Rank is still not distance

商空间告诉你有多少逻辑类,不告诉你它们多重。一个商类可以有一个低重量的代表元,也可以每个代表元都摊在整个环面上。码距问的是「模掉全部稳定子之后,最轻的非平凡类有多重」——这是一个完全不同的极小化问题。gross 的 k = 12 由秩算出(verified),d = 12 却要两份证书(bounded,2.4 节),正是这个区别在账本上的样子。

The quotient tells you how many logical classes there are, not how heavy they are. A quotient class may have a low-weight representative, or every representative may be spread across the torus. Distance asks “after all stabilizer reductions, how heavy is the lightest nontrivial class?”, an entirely different minimization. Gross's k = 12 is computed from ranks (verified) while its d = 12 needs two certificates (bounded, §2.4); that is exactly this distinction as it appears in the ledger.

6.5多项式 → Tanner 图与电路:一条边说的只是「有交互」Polynomial → Tanner and circuit views: an edge says only “these interact”

A 或 B 的每一个非零元都是一条边,连一条检查与一个数据比特。gross 的 3 + 3 项给出重量 6 的检查,以及每个数据比特上 3 条 X 关联加 3 条 Z 关联(2.2 节)。数一数:HX 有 72 行 × 6 个 1 = 432 条 X 型边,HZ 同样 432 条,Tanner 图共 144 个数据节点、144 个检查节点、864 条边(这三个数是本页按 72 × 6 自己乘出来的,不在 QEC-Bank 页面上)。bravyi2024bicycle 证明这张图能拆成两个平面的度 3 耦合层(直觉教程 6.1 节)——这是硬件工程师最爱的视图,因为它直接说出需要多少根线。

Every nonzero entry of A or B is an edge joining one check to one data qubit. The gross 3 + 3 terms give weight-six checks and three X plus three Z incidences per data qubit (§2.2). Count them: HX has 72 rows × 6 ones = 432 X-type edges, HZ another 432, so the Tanner graph has 144 data nodes, 144 check nodes and 864 edges (these three numbers are this page's own 72 × 6 arithmetic, not on any QEC-Bank page). bravyi2024bicycle shows the graph splits into two planar degree-three coupling layers (intuition guide, §6.1), the hardware engineer's favourite view because it says directly how many wires are needed.

但这张图对一个故障电路是必要而不充分的。一条 Tanner 边说「这两个系统有交互」,它不规定:哪个辅助比特负责这条检查;交互发生在哪一时刻;CNOT 的控制端与目标端是谁;复位与测量的时序;哪些测量乘积是探测器。这五条正是3.2 节「QEC-Bank 刻意不做的事」的清单。shaw2025morphing 是最好的反例教材:它在周期中途改变瞬时的码与图,把度 6 降到度 5——所以「降低连接度」不是把同一张静态矩阵重画一遍,而是换了一个码在跑。人话:Tanner 图是电路的骨架照片,不是电路。

Yet the graph is necessary but insufficient for a fault circuit. A Tanner edge says “these two systems interact”; it does not specify which ancilla owns the check; when the interaction happens; which end is CNOT control and which target; reset and measurement timing; which measurement products are detectors. Those five items are exactly the list in §3.2, “what the QEC-Bank deliberately does not do”. shaw2025morphing is the best counter-example: it changes the instantaneous code and graph mid-cycle, lowering degree 6 to degree 5, so “reducing connectivity” is not a redrawing of the same static matrix but a different code running. In plain words: the Tanner graph is an X-ray of the circuit's skeleton, not the circuit.

6.6商 → 任意子 → 环面圆柱:三种不同的「等价」Quotients → anyons → toric cylinders: three different “equivalences”

chen2025anyon(Keyang Chen、Yuanting Liu、Yiming Zhang、Zijian Liang、Yu-An Chen、Ke Liu、Hao Song,"Anyon Theory and Topological Frustration of High-Efficiency Quantum LDPC Codes",2025,arXiv 2503.04699,登记待补)把多项式 / KoszulKoszul 复形:由一个理想的生成元(这里是 A、B)机械地造出的链复形,1.5 节的 R → R² → R 就是它的两项版本;它把「理想」翻译成「激发的类型与可动性」。数据读成激发excitation:违反某些检查的局部图案,即「被点亮的检查」;在拓扑语言里叫任意子(anyon)。的类型、可动性约束与拓扑挫折。这幅图问的是:哪些缺陷能被局域操作移动,环面的全局约束怎样制造出逻辑扇区。(这里的哈密顿量是把全部检查加起来、前面带负号得到的能量函数,编码态就是它的最低能态;物理学家把码看成一种物质时谈的是它。)它的警告是本质性的:存在 k/2 = 6 个商维度,不等于哈密顿量就是 6 份互不相干的环面码。逻辑简并、局域 Clifford 相等价、译码器分解是三种不同的等价关系。

chen2025anyon (Keyang Chen, Yuanting Liu, Yiming Zhang, Zijian Liang, Yu-An Chen, Ke Liu, Hao Song, “Anyon Theory and Topological Frustration of High-Efficiency Quantum LDPC Codes”, 2025, arXiv 2503.04699, registration pending) reads the polynomial/KoszulThe Koszul complex: a chain complex built mechanically from the generators of an ideal (here A, B); the R → R² → R of §1.5 is its two-term version. It translates “ideal” into “excitation types and mobility”. data as excitationA local pattern violating some checks, i.e. “lit checks”; called anyons in topological language. types, mobility constraints and topological frustration. This picture asks which defects can be moved by local operators and how global torus constraints create logical sectors. (The Hamiltonian here is the energy function obtained by adding up all checks with a minus sign; the code states are its lowest-energy states, and it is what physicists study when they treat the code as a phase of matter.) Its caution is essential: the existence of k/2 = 6 quotient dimensions does not mean the Hamiltonian is 6 decoupled toric codes. Logical degeneracy, local-Clifford phase equivalence and decoder decomposition are three different equivalence relations.

等价关系Equivalence relation它说两样东西「相同」的意思What it means by “the same”gross 的现状Status for gross
逻辑简并logical degeneracy码空间维数相同:都是 212 维same code-space dimension: both 212-dimensional与 6 个 [[·,2,·]] 环面码之积相同——只是数字相同equal to that of six [[·,2,·]] toric codes stacked, a numerical coincidence only
局域 Clifford 相等价local-Clifford phase equivalence存在有限深度局域酉变换把一个哈密顿量变成另一个a finite-depth local unitary maps one Hamiltonian to the other没有任何被抓取的来源证明 gross 等价于环面码堆叠;chen2025anyon 在一般 BB 数据里找到拓扑挫折no fetched source proves gross equivalent to a toric stack; chen2025anyon finds topological frustration in general BB data
译码器分解decoder decomposition某个推断问题的一部分能映到熟悉的圆柱上用匹配解part of one inference problem maps onto familiar cylinders solvable by matchingsahay2026matching 对选定的对称约化做到了;QEC-Bank 记为「词典」而非等价(3.6 节)sahay2026matching does this for selected symmetry reductions; the QEC-Bank records it as a “dictionary”, not an equivalence (§3.6)

最后一行值得多说一句。sahay2026matching 利用对称性暴露出类环面的圆柱,在上面做最小重量完美匹配,再与 BP 和过匹配结合。它保住的对象是「约化下选定的译码问题」:那部分症状与那部分逻辑歧义。这与拓扑挫折不矛盾:一个译码器可以把推断问题的一部分搬到熟悉的圆柱上,而不必造出一个把整个 BB 哈密顿量拆成环面码副本的有限深度局域酉变换。人话:把一道难题的一部分改写成会做的题,不等于证明这道题本来就是那道会做的题。

The last row deserves one more sentence. sahay2026matching uses symmetries to expose toric-like cylinders, runs minimum-weight perfect matching on them, then combines the result with BP and over-matching. The object it preserves is “the selected decoding problem under the reduction”: that part of the syndrome and that part of the logical ambiguity. This does not contradict topological frustration: a decoder may carry part of an inference problem onto familiar cylinders without producing a finite-depth local unitary that decomposes the whole BB Hamiltonian into toric copies. In plain words: rewriting part of a hard problem as one you can solve is not a proof that the hard problem was that easy one all along.

6.7选对视图:每个问题一个工具Choosing the right view: one tool per question

要做的事Task用哪种视图View to use本页对应的章节Where on this page
构造码construct the code多项式polynomials1.3 节§1.3
给父关系分类classify the parent relation群代数group algebra6.2 节§6.2
推理逻辑商reason about logical quotients链复形the chain complex1.5 节§1.5
预测秩与边界效应predict rank and boundary effects商模 / 根quotient modules / roots6.4 节§6.4、7.4 节§7.4
设计耦合器design couplersTanner 图Tanner graphs6.5 节§6.5
讨论阈值discuss thresholds显式的电路与探测器explicit circuits and detectors3.5 节§3.5
给激发分类classify excitations任意子anyons6.6 节§6.6
为匹配译码器辩护justify a matching decoder圆柱cylinders3.6 节§3.6
关键想法Key idea

把七种说法统称为「BB 的表示」,等于抹掉每一次翻译本来要回答的问题。词典的用法是:先问「我现在要回答什么」,再挑那一列。跨列推理(用 Tanner 图推电路码距、用商维数推码距、用圆柱推局域 Clifford 等价)就是本章每一行「警告」栏里写着的错误。

Calling all seven views “the BB representation” erases the question each translation was built to answer. To use the dictionary, ask “what am I answering right now?” and pick that row. Cross-row inference (circuit distance from the Tanner graph, distance from the quotient dimension, local-Clifford equivalence from cylinders) is precisely the error written in each row's “caveat” column.

第 7 章Chapter 7

变体与边界地图:哪条线不能跨The variant and boundary map: which lines must not be crossed

「bivariate bicycle」是一条构造原则;gross、double-gross、BB5、BB6 这些名字指的往往是有限的实例或检查重量的类别。这一章整理真正的变体轴,并阻止参数主张从一条轴漏到另一条轴上:多一个变量、少一个周期、开一条边、加一个自对偶条件、换成 qudit、允许非 CSS、在提取中途换码——每一步都要重算什么,这里逐条写明。最后是一份六问的否定清单。 “Bivariate bicycle” is a construction principle; names such as gross, double-gross, BB5 or BB6 usually refer to finite instances or check-weight classes. This chapter organizes the genuine variant axes and stops parameter claims from leaking across them: add a variable, drop a period, open an edge, impose self-duality, switch to qudits, allow non-CSS rows, change the code mid-extraction; for each step, what must be recomputed is written out. It closes with a six-question negative checklist.

7.1祖先与父关系:四个名字,一条家谱Ancestry and the parent relation: four names, one family tree

mackay2004sparse(David J. C. MacKay、Graeme Mitchison、Paul L. McFadden,"Sparse Graph Codes for Quantum Error-Correction",2004,已登记)引入了用循环矩阵circulant:每一行都是上一行向右挪一格得到的矩阵;一个变量 x 的多项式在 ℤn 上的正则表示就是循环矩阵。结构拼出的稀疏量子 bicycle 码——一个变量、一个圈。panteleev2021degenerate(Pavel Panteleev、Gleb Kalachev,"Degenerate Quantum LDPC Codes With Good Finite Length Performance",2021,已登记)发展了广义 bicycle 码、有限长度搜索与 BP-OSD。现代 BB 码把单一的循环方向换成二维阿贝尔群 ℤl × ℤm:这就是直觉教程 2.4 节「一个变量的祖先」到两个变量的那一步。精确的父亲是阿贝尔两块群代数码(wang2023abelian、lin2023twoblock,6.2 节)。「广义 bicycle」「2BGA」「提升积」「bivariate bicycle」四个名字在历史上和代数上互相重叠,但不是可以互换的类型名。人话:BB 是阿贝尔 2BGA 的特例,2BGA 又落在提升积之内;「广义 bicycle」是历史上的名字,与这几类互相重叠而不是严格套叠。

mackay2004sparse (David J. C. MacKay, Graeme Mitchison, Paul L. McFadden, “Sparse Graph Codes for Quantum Error-Correction”, 2004, registered) introduced sparse quantum bicycle codes assembled from circulantA matrix in which every row is the previous row shifted one place to the right; the regular representation of a one-variable polynomial over ℤn is a circulant. structure: one variable, one cycle. panteleev2021degenerate (Pavel Panteleev, Gleb Kalachev, “Degenerate Quantum LDPC Codes With Good Finite Length Performance”, 2021, registered) developed generalized bicycle codes, finite-length searches and BP-OSD. Modern BB codes replace the single cyclic direction by the two-dimensional abelian group ℤl × ℤm: this is the step from “the one-variable ancestor” of intuition guide §2.4 to two variables. The exact parent is the abelian two-block group-algebra code (wang2023abelian, lin2023twoblock, §6.2). “Generalized bicycle”, “2BGA”, “lifted product” and “bivariate bicycle” overlap historically and algebraically but are not interchangeable type names. In plain words: BB is a special case of abelian 2BGA, and 2BGA sits inside the lifted products; “generalised bicycle” is a historical name that overlaps these classes rather than nesting strictly among them.

7.2七条变体轴,与每条轴上必须重算的东西Seven variant axes, and what each one forces you to recompute

轴Axis已发布的普通 BBOrdinary shipped BB变体Variant必须重算Must be recomputed
变量个数number of variablesx, y多变量(voss2025multivariate)multivariate (voss2025multivariate)矩阵尺寸、局域维数、秩、码距matrix size, locality dimension, rank, distance
周期与多项式形式的限制restrictions on periods and polynomial form无约束的稀疏搜索unconstrained sparse search互素子类:gcd(l, m) = 1,A、B 写成 π = xy 的多项式(wang2026coprime)coprime subclass: gcd(l, m) = 1, A and B written as polynomials in π = xy (wang2026coprime)可达码率、码距、版图attainable rate, distance, layout
边界boundary周期环面periodic torus剪枝 / 开边界 / 瓷砖边界(eberhardt2024pruning、liang2025planar、steffan2025tile)pruned/open or tile boundary (eberhardt2024pruning, liang2025planar, steffan2025tile)检查、比特、秩、逻辑串、码距checks, qubits, rank, logical strings, distance
对偶性duality普通的交换转置 CSSordinary swapped-transpose CSS扭环面上的自对偶(liang2025selfdual)self-dual twisted torus (liang2025selfdual)检查重量、Clifford 作用、有限参数check weight, Clifford action, finite parameters
字母表alphabetGF(2) 上的量子比特qubits over GF(2)素数维 qudit(liang2026qudit)prime-dimensional qudits (liang2026qudit)对易形式、n、k、d 的单位、译码器the commutation form, the units of n, k, d, the decoder
CSS 条件CSS condition精确的 HX、HZ 拆分exact HX, HZ split扰动出的非 CSS 候选(cruzbenito2026evolutionary)perturbed non-CSS candidates (cruzbenito2026evolutionary)完整的辛检查与 Pauli 码距full symplectic checks and Pauli distance
提取extraction全程静态的码static code throughoutmorphing(shaw2025morphing)morphing (shaw2025morphing)瞬时稳定子、探测器、电路码距instantaneous stabilizers, detectors, circuit distance

九个键里只有 steffan2025tile(Vincent Steffan、Seung-Hoon Choe、Nikolas P. Breuckmann、Francisco R. F. Pereira、Jens Niklas Eberhardt,"Tile Codes: High-Efficiency Quantum Codes on a Lattice with Boundary",2025)在注册表里有完整元数据;其余八个据文献扫描报告,登记待补,下文给出的题名与 arXiv 号都来自扫描报告(抓取日期 2026-07-26)。人话:第四列是「换了这一项之后,账本上哪些格子要清零重填」——没有一条轴允许把 gross 的 144、12、12 原样抄过去。

Of the nine keys only steffan2025tile (Vincent Steffan, Seung-Hoon Choe, Nikolas P. Breuckmann, Francisco R. F. Pereira, Jens Niklas Eberhardt, “Tile Codes: High-Efficiency Quantum Codes on a Lattice with Boundary”, 2025) has full metadata in the registry; the other eight are, per the scout report, registration pending, and the titles and arXiv ids below come from that report (fetched 2026-07-26). In plain words: the fourth column is “which cells of the ledger must be wiped and refilled after this change”; no axis lets you copy gross's 144, 12, 12 across unchanged.

7.3多变量是更宽的拟设;互素是更窄的子类Multivariate is a broader ansatz; coprime is a narrower subclass

多变量。再加一个独立的循环变量 z,得到多变量 bicycle 码(voss2025multivariate:L. Voss、S. J. Xian、T. Haug、K. Bharti,"Multivariate Bicycle Codes",2025,arXiv 2406.19151)。它仍是阿贝尔群代数的亲戚——群从 ℤl × ℤm 变成 ℤl × ℤm × ℤp——但不再是二元的。多出的方向可以改变局域维数与硬件嵌入,即使多项式的项数不变。因此一个检查重量同样是 6 的多变量候选,不是「参数表更长的 BB 实例」;构造器与受控关系应当指认它更大的代数。人话:三个变量的码住在三维的环面上,不能塞进本页两维的账本。

Multivariate. Add a third independent cyclic variable z and you have a multivariate bicycle code (voss2025multivariate: L. Voss, S. J. Xian, T. Haug, K. Bharti, “Multivariate Bicycle Codes”, 2025, arXiv 2406.19151). It remains an abelian group-algebra relative, the group growing from ℤl × ℤm to ℤl × ℤm × ℤp, but it is no longer bivariate. The extra direction can change locality dimension and hardware embedding even when the number of polynomial terms stays fixed. So a multivariate candidate with the same check weight 6 is not “a BB instance with a longer parameter list”; the constructor and the controlled relation should identify its larger algebra. In plain words: a three-variable code lives on a three-dimensional torus and does not fit into this page's two-dimensional ledger.

z、p = 第三个变量与它的周期(zp = 1);本页其他地方不用这两个字母(注意 7.5 节的 p 是另一个意思:qudit 的素数维)。z, p = the third variable and its period (zp = 1); these letters are not used elsewhere on this page (note that the p of §7.5 means something else: the prime dimension of a qudit).

互素。wang2026coprime(Ming Wang、Frank Mueller,"Coprime Bivariate Bicycle Codes and Their Layouts on Cold Atoms",2026,arXiv 2408.10001,3.3 节)的「互素」说的是两个周期:要求 gcd(l, m) = 1l 与 m 的最大公约数为 1,即 l、m 互素(没有大于 1 的公因数),例如 l = 3、m = 2。,而不是对多项式的因子提要求。l、m 互素时,π = xy(向右一步再向上一步)走 lm 步才第一次回到起点,所以 π 的幂 1, π, …, πlm−1 恰好把 lm 个格点各走一遍;于是 A、B 都能写成 π 的一元多项式 a(π)、b(π)。这样 k 有一条公式:令 g(π) = gcd(a(π), b(π), πlm + 1)(三个多项式在 GF(2) 上的最大公因式),则 k = 2 deg g。A、B 可以有公共因子,而且正是这个公共因子 g 给出 k。手算一例:l = 3、m = 2,a = 1 + π + π²、b = 1 + π² + π⁴。在 GF(2) 上 b = (1 + π + π²)²、π⁶ + 1 = (1 + π)²(1 + π + π²)²,所以 g = 1 + π + π²,deg g = 2,k = 4。换回 x、y(πj = xj mod 3yj mod 2)是 A = 1 + xy + x²、B = 1 + x² + x,构造器算出 n = 12、两个秩都是 4、k = 12 − 4 − 4 = 4,与公式一致(修订脚本 notes/bb_pedagogy/verify_review.py)。公式换来的是:不做秩计算就能先挑出想要的 k,再与冷原子版图协同设计。这是一个子类:每个互素 BB 码都是普通 BB 码,反过来不成立。gross 的 l = 12、m = 6,gcd = 6,不在这个子类里,子类的 k 公式不能套到 gross 上(gross 上 π = xy 走 12 步就回到起点,只走到 72 个格点里的 12 个)。

Coprime. In wang2026coprime (Ming Wang, Frank Mueller, “Coprime Bivariate Bicycle Codes and Their Layouts on Cold Atoms”, 2026, arXiv 2408.10001, section 3.3), “coprime” refers to the two periods: it requires gcd(l, m) = 1The greatest common divisor of l and m is 1, i.e. l and m are coprime (no common factor larger than 1), e.g. l = 3, m = 2.; it puts no condition on the factors of the polynomials. When l and m are coprime, π = xy (one step right and one step up) first returns to its start after lm steps, so the powers 1, π, …, πlm−1 visit each of the lm sites exactly once, and A and B can both be written as one-variable polynomials a(π), b(π). Then k has a formula: with g(π) = gcd(a(π), b(π), πlm + 1) (the greatest common divisor of the three polynomials over GF(2)), k = 2 deg g. A and B may share factors, and that shared factor g is exactly what produces k. A worked example: l = 3, m = 2, a = 1 + π + π², b = 1 + π² + π⁴. Over GF(2), b = (1 + π + π²)² and π⁶ + 1 = (1 + π)²(1 + π + π²)², so g = 1 + π + π², deg g = 2, k = 4. Back in x, y (πj = xj mod 3yj mod 2) this is A = 1 + xy + x², B = 1 + x² + x, and the constructor gives n = 12, both ranks 4, k = 12 − 4 − 4 = 4, matching the formula (revision script notes/bb_pedagogy/verify_review.py). What the formula buys: the desired k can be chosen before any rank computation, and the layout on cold atoms co-designed with it. This is a subclass: every coprime BB code is an ordinary BB code, not the other way round. Gross has l = 12, m = 6, gcd 6, so it is outside the subclass, and the subclass's k formula does not apply to gross (on gross, π = xy returns to its start after 12 steps and reaches only 12 of the 72 sites).

7.4开边界改变代数:三个问题,一条安全工作流Open boundaries change the algebra: three questions and one safe workflow

周期 BB 码把环面相对的两条边粘在一起(xl = 1、ym = 1 就是「粘」的代数写法)。删掉一些比特 / 检查,或者把一块反复出现的瓷砖在某处截断,就撕开了这些粘合。于是出现三个互相独立的问题:

A periodic BB code glues opposite torus edges together (xl = 1, ym = 1 are the algebraic form of the gluing). Removing qubits/checks, or terminating a repeated tile somewhere, tears those identifications open. Three separate questions then appear:

#问题Question为什么不能照抄环面的答案Why the torus answer cannot be copied
1哪些体内检查原样存活?Which bulk checks survive unchanged?离边界远的检查六条腿都还在;靠边的检查有腿伸到了被删掉的比特上checks far from the edge keep all six legs; checks near it have legs on deleted qubits
2哪些边界检查必须缩短、新增或删除,才能让 CSS 对易条件继续成立?Which boundary checks must be shortened, added or removed so the CSS commutation condition still holds?AB = BA 本身不依赖 xl = 1:x、y 平移的是两个独立方向,不绕回也照样对易。出问题的是删改:删掉比特就是删掉 HX、HZ 的一些列,原来靠被删比特凑成偶数的重叠会变成奇数,HXHZᵀ = 0 不再自动成立。例:toric_L3 删掉比特 0,有 4 对检查只剩 1 个公共比特。所以截断后的矩阵必须重新检验AB = BA itself does not rely on xl = 1: x and y shift along two independent directions and commute even without wrapping around. The trouble is the surgery: deleting qubits deletes columns of HX and HZ, and an overlap that was even only thanks to a deleted qubit becomes odd, so HXHZᵀ = 0 no longer holds automatically. Example: delete qubit 0 of toric_L3 and 4 pairs of checks are left sharing a single qubit. So the truncated matrices must be checked again
3哪些圈变成了边界或开串,从而改变 k 与 d?Which cycles become boundaries or open strings, changing k and d?环面上绕一圈的逻辑算符,在开边界上可能变成「从一条边走到另一条边」的串,也可能消失a logical that wound around the torus may become an edge-to-edge string on the open patch, or disappear

eberhardt2024pruning(Jens Niklas Eberhardt、Francisco Revson F. Pereira、Vincent Steffan,"Pruning qLDPC Codes: Towards Bivariate Bicycle Codes with Open Boundary Conditions",2024,arXiv 2412.04181)的剪枝过程对循环 HGP 子情形有保证,在此之外只是演示了例子——那不是对任意 BB 多项式的定理。1.6 节的环面锚点 A = 1 + x、B = 1 + y 恰好具有 A 只含 x、B 只含 y 的形状,也就是两个长度 3 循环重复码的超图积(《qLDPC 码 · 高中数学版》3.1 节);gross 的 A = x³ + y + y² 同时含 x 和 y,不具有这种形状。liang2025planar(Zijian Liang、Jens Niklas Eberhardt、Yu-An Chen,"Planar Quantum Low-Density Parity-Check Codes with Open Boundaries",2025,arXiv 2504.08887)与 steffan2025tile 造出与 BB 体内图案相关的平面 / 开边界码,但共享一块瓷砖不决定共享一个逻辑空间。wang2026bbs 进一步说明为什么多项式在零或无穷处的根需要特殊的边界生成元,并区分了矩形、对角、倾斜三种边界方案——所以「开边界 BB」不是一种边界条件,而是一族。

eberhardt2024pruning (Jens Niklas Eberhardt, Francisco Revson F. Pereira, Vincent Steffan, “Pruning qLDPC Codes: Towards Bivariate Bicycle Codes with Open Boundary Conditions”, 2024, arXiv 2412.04181) guarantees its pruning procedure for the cyclic-HGP subcase and, beyond it, demonstrates examples; that is not a theorem for arbitrary BB polynomials. The toric anchor A = 1 + x, B = 1 + y of §1.6 has exactly the shape “A involves only x, B only y”, i.e. it is the hypergraph product of two length-3 cyclic repetition codes (“qLDPC Codes · High-School Edition”, §3.1); gross's A = x³ + y + y² involves both x and y and does not have that shape. liang2025planar (Zijian Liang, Jens Niklas Eberhardt, Yu-An Chen, “Planar Quantum Low-Density Parity-Check Codes with Open Boundaries”, 2025, arXiv 2504.08887) and steffan2025tile build planar/open codes related to BB bulk patterns, but sharing a tile does not determine sharing a logical space. wang2026bbs further shows why polynomial roots at zero or infinity require special boundary generators and distinguishes rectangular, diagonal and tilted prescriptions; “open BB” is therefore not one boundary condition but a family of them.

安全工作流The safe workflow

构造出有限的开边界矩阵 → 重算秩 → 验证对易(HXHZᵀ = 0 要逐对检查,不能再靠 AB = BA)→ 重新寻找逻辑代表元。把周期码的 k、d 抄过切口是无效的。人话:切开环面之后,144、12、12 里每一个数字都作废,直到你亲手重算它。

Construct the finite open matrices → recompute the rank → validate commutation (HXHZᵀ = 0 must now be checked pair by pair; AB = BA can no longer be relied on) → find new logical representatives. Copying the periodic k, d across the cut is invalid. In plain words: once the torus is cut, every one of 144, 12, 12 is void until you recompute it yourself.

7.5自对偶是额外结构;qudit 换了比较单位;非 CSS 换了定义对象Self-duality is extra structure; qudits change the unit; non-CSS changes the defining object

自对偶。普通 BB 已经有一个联系 X 与 Z 的「交换转置」形式,但那不自动给出一个能实现 H 或 S 的物理自对偶。liang2025selfdual(Zijian Liang、Yu-An Chen,"Self-Dual Bivariate Bicycle Codes with Transversal Clifford Gates",2025,arXiv 2510.05211)在扭环面twisted torus:粘合时带一个错位(绕 x 方向一圈回来时 y 坐标平移若干格)的环面;改变了 x、y 的周期关系。上加额外约束,报告了带横向 Clifford 门的重量 8 例子(扫描报告列出 [[16,4,4]] 与更大的有限块)。两个推论必须分开:① CSS 的转置对称帮助证明对易——这是已发布构造的通性(1.4 节);② 物理自对偶加上解出的逻辑作用可以认证横向 H/S——这只属于被引的子族(4.5 节)。人话:「HZ 长得像 HX 的转置」是所有 BB 的性质;「对每个比特做 H 是一个逻辑门」只是某些 BB 的性质。

Self-duality. Ordinary BB already has a swapped-transpose form relating X and Z, but that does not automatically give a physical self-duality implementing H or S. liang2025selfdual (Zijian Liang, Yu-An Chen, “Self-Dual Bivariate Bicycle Codes with Transversal Clifford Gates”, 2025, arXiv 2510.05211) imposes extra constraints on a twisted torusA torus glued with an offset (going once around x shifts the y coordinate by some cells); it changes the period relations of x and y. and reports weight-eight examples with transversal Clifford gates (the scout report lists [[16,4,4]] and larger finite blocks). Two implications must stay separate: (1) the CSS transpose symmetry helps prove commutation, generic to the shipped construction (§1.4); (2) physical self-duality plus a resolved logical action can certify transversal H/S, belonging only to the cited subfamily (§4.5). In plain words: “HZ looks like the transpose of HX” is a property of every BB code; “H on every qubit is a logical gate” is a property of some.

qudit。liang2026qudit(Zijian Liang、Yu-An Chen,"Generalized Zp Toric Codes as Qudit Low-Density Parity-Check Codes",2026,arXiv 2602.20158)把扭环面的想法推到素数维 qudit。qudit 稳定子用的是 GF(p) 上的辛形式symplectic form over GF(p):两个 qudit Pauli 对易与否由 Σ(aib'i − a'ibi) mod p 是否为零决定;p = 2 时退化为本页一直在用的二元 XOR 规则。,不是二元的 XOR;它的 k 数的是逻辑 p 能级系统,硬件错误信道有不同的 Pauli 类型与归一化。不写明 p 就跨 qubit / qudit 比较 kd²/n,是把资源单位混在一起。将来的 qudit QEC-Bank 条目应当用一个真正验证 GF(p) 对易的引擎,而不是把数据硬塞进二元构造器。人话:一个 p = 3 的 qudit 存的是「三选一」,一个 qubit 存的是「二选一」,两边的 n、k、d 不是同一种数。

Qudits. liang2026qudit (Zijian Liang, Yu-An Chen, “Generalized Zp Toric Codes as Qudit Low-Density Parity-Check Codes”, 2026, arXiv 2602.20158) extends the twisted-torus ideas to prime-dimensional qudits. A qudit stabilizer uses a symplectic formOver GF(p): two qudit Paulis commute iff Σ(aib'i − a'ibi) mod p vanishes; at p = 2 it reduces to the binary XOR rule used throughout this page. over GF(p), not binary XOR; its k counts logical p-level systems, and its hardware error channel has different Pauli types and normalization. Comparing kd²/n across qubit and qudit examples without stating p mixes resource units. A future qudit QEC-Bank entry should use an engine that actually validates GF(p) commutation rather than forcing the data through the binary constructor. In plain words: a p = 3 qudit stores “one of three”, a qubit “one of two”; their n, k, d are not the same kind of number.

p(本节)= qudit 的素数维;GF(p) = 有 p 个元素、按模 p 运算的数域;kd²/n = 一个常用的「性价比」指标(逻辑比特数 × 码距² ÷ 物理比特数),gross 是 12 × 144 / 144 = 12。p (this section) = the prime dimension of a qudit; GF(p) = the field with p elements and arithmetic mod p; kd²/n = a common figure of merit (logical qubits × distance² ÷ physical qubits), equal to 12 × 144 / 144 = 12 for gross.

搜索产生的扰动。cruzbenito2026evolutionary(Juan Cruz-Benito、Andrew W. Cross、David Kremer、Ismael Faro,"Evolutionary Discovery of Bivariate Bicycle Codes with LLM-Guided Search",2026,arXiv 2606.02418)把程序变异、GF(2) 秩、码距认证、图去重与局域 Clifford 检查串成一条流水线;一些候选离开了严格的 CSS BB 拟设。一旦 X 与 Z 混进同一行稳定子,定义对象就变成一张完整的辛检查矩阵,本页第 1 章的 CSS 多项式对易证明不再适用——对易要逐对按辛内积检查。Tanner 图相似、或者出身于一次 BB 搜索,都不足以保留严格的家族标签。人话:从 BB 出发搜到的码,未必还是 BB。

Search-generated perturbations. cruzbenito2026evolutionary (Juan Cruz-Benito, Andrew W. Cross, David Kremer, Ismael Faro, “Evolutionary Discovery of Bivariate Bicycle Codes with LLM-Guided Search”, 2026, arXiv 2606.02418) chains program mutation, GF(2) rank, distance certification, graph deduplication and local-Clifford checks into one pipeline; some candidates leave the strict CSS BB ansatz. Once X and Z are mixed within a stabilizer row, the defining object becomes a full symplectic check matrix and the CSS polynomial commutation proof of Chapter 1 no longer applies; commutation must be checked pair by pair via the symplectic inner product. Similarity of a Tanner graph, or ancestry in a BB search, is not enough to keep the strict family label. In plain words: a code found by searching outward from BB is not necessarily still BB.

7.6渐近边界:一个坏家族里的一个好点The asymptotic boundary: one good point in a bad family

postema2025existence 对所研究的 BB 子类证明了渐近的坏:固定这套构造约束,不能同时得到非零的渐近码率与非零的相对码距(《qLDPC 码 · 高中数学版》4.4 节「阿贝尔的坏,非阿贝尔的好」;直觉教程 1.1 节的 BPT 定理是它的近亲)。这个结果与 gross 这个强有力的有限点并存:有限搜索能找到有价值的高码率、中等码距的存储器;而固定的构造约束不必在 n → ∞ 时保持这种好。所以正确的产品说法是「在特定连接模型下强有力的有限常数」,而不是「来自二维局域环面的渐近好 qLDPC」。人话:gross 是一个好的点,不是一条好的曲线;k = 12、d = 12 是 n = 144 处的成绩,不是一个随 n 增长的承诺。

postema2025existence proves asymptotic badness for the studied BB subclass: under fixed construction constraints one cannot have nonzero asymptotic rate and nonzero relative distance simultaneously (“qLDPC Codes · High-School Edition”, §4.4, “abelian is bad, nonabelian is good”; the BPT theorem of intuition guide §1.1 is its close relative). That result coexists with the strong finite point gross: finite search can find a valuable high-rate, moderate-distance memory, while the fixed construction constraints need not keep that goodness as n → ∞. The correct product claim is therefore “strong finite constants under a specific connectivity model”, not “asymptotically good qLDPC from a two-dimensional local torus”. In plain words: gross is a good point, not a good curve; k = 12, d = 12 is a score at n = 144, not a promise that grows with n.

渐近码率 = k/n 在 n → ∞ 时的极限;相对码距 = d/n 的极限;「好」= 两者都是正常数;n → ∞ 读「n 趋于无穷」。Asymptotic rate = the limit of k/n as n → ∞; relative distance = the limit of d/n; “good” = both are positive constants; n → ∞ reads “n tends to infinity”.

7.7否定结果清单:迁移一个主张之前的六问The negative-result checklist: six questions before transferring a claim

#在把一个主张从一个变体搬到另一个变体之前,问Before transferring a claim between variants, ask对应的轴 / 章节Axis / section
1系数域和变量个数没变吗?Are the coefficient field and number of variables unchanged?7.3§7.3、7.5§7.5
2周期与边界条件完全相同吗?Are the periods and boundary conditions identical?7.4§7.4、6.4§6.4
3稳定子在提取期间是静态的,还是被 morphing 改变了?Are the stabilizers static or morphed during extraction?3.2§3.2、6.5§6.5
4自对偶对这一块码真的证明了吗?Is self-duality actually proved for this block?7.5§7.5、4.5§4.5
5剪枝之后重算过秩吗?Was rank recomputed after pruning?7.4§7.4、2.3§2.3
6被引的译码器用的是同一个探测器模型吗?Does the cited decoder use the same detector model?3.3§3.3、3.5§3.5

任何一问答「否」,新对象就需要自己的可执行实例和自己的出处账本——也就是 QEC-Bank 对 bb72、bb90、bb108、bb288、bb5、bicycle 各开一个条目的原因(第 0 章的范围说明)。人话:名字像不能当证据,账要一块一块地算。

If any answer is “no”, the new object needs its own executable instance and its own provenance ledger, which is why the QEC-Bank gives bb72, bb90, bb108, bb288, bb5 and bicycle entries of their own (the scope note of Chapter 0). In plain words: a similar name is not evidence; the ledger is settled block by block.

诚实账Honesty ledger

第 6、7 两章没有一个数字是新算出来的:66、6、12、432、864、54 − 50 = 4 都是第 2 章的秩与项数的直接算术(bb108 的秩 50 由本页的独立 GF(2) 脚本重算);其余全是 QEC-Bank 推导页与文献扫描报告的转述。十四个文献键里只有 mackay2004sparse、panteleev2021degenerate、steffan2025tile、bravyi2024bicycle 已登记;其余题名与 arXiv 号来自扫描报告(2026-07-26),登记待补。「循环 HGP 子情形」是 eberhardt2024pruning 的用语,本页只指出锚点具有那种形状、gross 不具有,不替该论文断言更多。

Chapters 6 and 7 compute no new number: 66, 6, 12, 432, 864 and 54 − 50 = 4 are direct arithmetic from the ranks and term counts of Chapter 2 (bb108's rank 50 was recomputed by this page's independent GF(2) script); everything else restates the QEC-Bank derivation pages and the scout reports. Of the fourteen bibkeys, only mackay2004sparse, panteleev2021degenerate, steffan2025tile and bravyi2024bicycle are registered; the other titles and arXiv ids come from the scout reports (2026-07-26), registration pending. “Cyclic-HGP subcase” is eberhardt2024pruning's phrase; this page only notes that the anchor has that shape and gross does not, and asserts nothing further on the paper's behalf.

尾声Epilogue

七条推导的回放、五道自测题、符号表与诚实总账Replay of the seven derivations, five self-test questions, the symbol table and the honesty ledger

回放整条链。循环移位 Sl 与克罗内克积给出 x、y,xl = I、ym = I、xy = yx;置换矩阵的转置是它的逆,所以 (xayb)ᵀ 是反向平移;HX = [A | B]、HZ = [Bᵀ | Aᵀ] 的乘积是 AB + BA = 0,转置负责对偶、交换负责配对,不交换则得到 A² + B²(gross 里每行 6 个 1、秩 48);同一算式读成 R → R² → R 的复形;A = 1 + x、B = 1 + y 在 l = m = 3 上给出 [[18,2,3]] verified(第 1 章)。四个输入 l = 12、m = 6、A = x³ + y + y²、B = y³ + x + x² 算到 72 × 144、重量 6、度 3 + 3、秩 66 与 66、商维数 6、k = 12;d = 12 由文献下界与种子 5 的机器上界夹出,标 bounded;144 是数据比特数,加 144 个辅助比特是 288;静态 12 不是电路码距(第 2 章)。静态症状 s = HZeX 由构造器重算;六腿测量是一段电路,探测器是跨时间的比较,三个「码距」不能混;BP-OSD 是一个带十来个参数的算法;0.8% 是一个协议阈值,带五个「不是」;QEC-Bank 不导出任何调度(第 3 章)。横向 CNOT 在纸上证到码空间;平移是自同构,它的 24 × 24 辛作用 QEC-Bank 没有算(Bravyi 等人算出是逻辑 CNOT 电路);折叠、自同构、手术、自对偶各有证书形状,五行全是 claimed,没有普适门集(第 4 章)。唯一一次真机实验是昆仑的 [[18,4,4]]、32 个 transmon、(8.91 ± 0.17)%,标 demonstrated,确立可行性而非低于阈值;七个提案各攻不同瓶颈(第 5 章)。七种表示各保住一个不变量、各禁止一种推理;八条视图断言里两条 derived、一条 canonical、五条 curated(第 6 章)。七条变体轴、三个开边界问题、一条安全工作流、六问清单;gross 是一个好点而不是一条好曲线(第 7 章)。

Replay the whole chain. The cyclic shift Sl and the Kronecker product give x, y with xl = I, ym = I, xy = yx; a permutation matrix's transpose is its inverse, so (xayb)ᵀ is the inverse translation; the product of HX = [A | B] and HZ = [Bᵀ | Aᵀ] is AB + BA = 0, the transpose supplying duality and the swap the pairing, and without the swap one gets A² + B² (6 ones per row and rank 48 in gross); the same calculation reads as the complex R → R² → R; A = 1 + x, B = 1 + y at l = m = 3 gives [[18,2,3]] verified (Chapter 1). Four inputs, l = 12, m = 6, A = x³ + y + y², B = y³ + x + x², compute to 72 × 144, weight 6, degree 3 + 3, ranks 66 and 66, quotient dimension 6, k = 12; d = 12 is pinned between a literature lower bound and the seed-5 machine upper bound, hence bounded; 144 counts data qubits, 288 with 144 ancillas; the static 12 is not a circuit distance (Chapter 2). The static syndrome s = HZeX is recomputed by the constructor; a weight-six measurement is a circuit, detectors are comparisons across time, three “distances” must not be conflated; BP-OSD is an algorithm with a dozen parameters; 0.8% is a protocol threshold with five “is nots”; the QEC-Bank exports no schedule (Chapter 3). Transversal CNOT is proved on paper to the code space; a translation is an automorphism whose 24 × 24 symplectic action the QEC-Bank has not computed (Bravyi et al. computed logical CNOT circuits); fold, automorphism, surgery and self-dual gates each have a certificate shape, all five rows are claimed, and there is no universal gate set (Chapter 4). The only hardware run is Kunlun's [[18,4,4]] on 32 transmons at (8.91 ± 0.17)%, labelled demonstrated, establishing feasibility rather than below-threshold operation; seven proposals attack different bottlenecks (Chapter 5). Seven representations each preserve one invariant and forbid one inference; of eight view assertions two are derived, one canonical, five curated (Chapter 6). Seven variant axes, three open-boundary questions, one safe workflow, a six-question checklist; gross is a good point, not a good curve (Chapter 7).

自测:QEC-Bank 的五道「试金石」问题Self-test: the QEC-Bank's five “litmus” questions

QEC-Bank 的直觉短文 intuition.md 以五道问题收尾,用来检验读者是否真的掌握了这个条目。先自己答,再展开对照;每个答案都指回本页证明它的那一节。

The QEC-Bank intuition essay intuition.md closes with five questions meant to test whether a reader has really mastered this entry. Answer first, then unfold and compare; each answer points back to the section of this page that proves it.

Q1 · 为什么交换 Aᵀ 与 Bᵀ 的位置这么要紧?Q1 · Why does swapping Aᵀ and Bᵀ matter?

交换之后,[A | B]·[Bᵀ | Aᵀ]ᵀ = AB + BA = 0。不交换,乘积是 A² + B²,没有理由为零——gross 里它是一个每行 6 个 1、秩 48 的矩阵。交换把 CSS 对易条件变成了两个可交换代数元素的对易子commutator:AB − BA(在 GF(2) 上就是 AB + BA);两个元素可交换 ⇔ 对易子为零。(1.4 节)。

With the swap, [A | B]·[Bᵀ | Aᵀ]ᵀ = AB + BA = 0. Without it the product is A² + B², which has no reason to vanish; in gross it is a matrix with 6 ones per row and rank 48. The swap turns the CSS commutation condition into the commutatorAB − BA (over GF(2), AB + BA); two elements commute ⇔ their commutator is zero. of two commuting algebra elements (§1.4).

Q2 · QEC-Bank 机器验证了 gross 码完整的码距证明吗?Q2 · Does the QEC-Bank machine-verify the gross code's complete distance proof?

没有。它重跑的是一个重量 12 的上界见证(rand-lowweight-v1,种子 5,2000 次迭代);「不存在重量低于 12 的逻辑算符」这一排除仍引自 bravyi2024bicycle。两边碰头,12 这个值成立,出处等级是 bounded 而不是 verified(2.4 节)。只有 n = 18 的 toric_L3 被穷举,才是 verified(1.6 节)。

No. It reruns a weight-12 upper witness (rand-lowweight-v1, seed 5, 2,000 iterations); the exclusion of weights below 12 remains sourced to bravyi2024bicycle. The matching bounds justify the value 12 at provenance bounded, not verified (§2.4). Only the n = 18 toric_L3, which is enumerated exhaustively, is verified (§1.6).

Q3 · 0.8% 是每个 BB 码固有的阈值吗?Q3 · Is 0.8% an intrinsic threshold of every BB code?

不是。0.8% 是 Bravyi 等人对他们那几块 BB 码逐块解 pL(p) = kp 得到的伪阈值的约数(v1 表 1:0.007(3) 到 0.008(3);v2 表 1:0.0048 到 0.0069;Nature 版摘要写 0.7%),条件是标准电路噪声模型、深度 7 的提取、他们的探测器构造与 BP-OSD 配置。它是一个带协议限定、逐块算出的数字,不是任意一张 BB 检查矩阵的性质,也不是曲线交叉读出的阈值(3.5 节)。换家族、换电路、换噪声归一化或换译码器,就定义了另一个阈值实验(3.5 节)。

No. 0.8% is Bravyi et al.'s round figure for the pseudo-thresholds they obtained by solving pL(p) = kp block by block for their few BB codes (v1 Table 1: 0.007(3) to 0.008(3); v2 Table 1: 0.0048 to 0.0069; the Nature abstract says 0.7%), under the standard circuit-noise model, depth-seven extraction, their detector construction and their BP-OSD configuration. It is a protocol-qualified, per-block number, not a property of an arbitrary BB check matrix, and not a threshold read off a crossing of curves (section 3.5). Changing the family, circuit, noise normalization or decoder defines a different threshold experiment (§3.5).

Q4 · 为什么 k = 12 不能从「每个多项式三项」推出?Q4 · Why does k = 12 not follow from having three terms in each polynomial?

项数决定稀疏度,不决定秩。这里两张 CSS 检查矩阵的秩都是 66,144 − 66 − 66 = 12 个逻辑维度。不同的三项多项式可以有不同的公共商 R/(A,B),因此有不同的 k 和码距——同样的 A、B 搬到 9 × 6 环面上,商维数从 6 掉到 4、k 从 12 掉到 8(2.3 节、6.4 节)。

Term count fixes sparsity, not rank. Here both CSS check matrices have rank 66, leaving 144 − 66 − 66 = 12 logical dimensions. Different three-term polynomials can have a different common quotient R/(A,B), hence different k and distance; the same A, B moved to a 9 × 6 torus drop the quotient dimension from 6 to 4 and k from 12 to 8 (§2.3, §6.4).

Q5 · 平移保持稳定子,它们就已经是十二个可寻址的逻辑门了吗?Q5 · If translations preserve the stabilizers, are they already twelve addressable logical gates?

不是。保持稳定子只证明码空间映到自身。还必须算出它在一组逻辑 Pauli 基上诱导的 24 × 24 辛作用:它可能是平凡的,可能混合几个逻辑比特,也可能路由代价高昂。卡片只登记带有被引证书与明确适用范围的操作,所以 gross 的五行操作里没有「平移」这一行(4.2 节)。

No. Stabilizer preservation proves only that the code space maps to itself. One must compute the induced 24 × 24 symplectic action on a logical Pauli basis; it may be trivial, may mix several logical qubits, and may be expensive to route. The card records only operations with a cited certificate and explicit applicability, which is why “translation” is not among gross's five operation rows (§4.2).

符号与读法Symbols & how to read them

符号Symbol名称与读法Name & how to read it在本教程中的含义Meaning in this tutorial
l, m N = lm读「el、em、大 N」Read “ell, em, capital N”环面的两个边长与格点数;gross:12、6、72。N 也是每类检查的条数、每块的比特数。The two side lengths of the torus and its site count; gross: 12, 6, 72. N is also the number of checks of each type and the qubits per block.
(i, j) im + j读「格点 (i, j)」「拉平下标」Read “site (i, j)”, “flattened index”i 取 0…l−1,j 取 0…m−1;构造器把格点编号为 im + j(先 i 后 j)。gross 的 (1, 1) 是 7;右块要再加 72。i in 0…l−1, j in 0…m−1; the constructor numbers site (i, j) as im + j (i first). Gross's (1, 1) is 7; add 72 for the right block.
Sl Im ⊗读「循环移位」「单位矩阵」「克罗内克积」Read “cyclic shift”, “identity”, “Kronecker product”Sl 在第 i 行第 i+1 列(模 l)放 1;⊗ 把左矩阵的每个元素放大成一整块右矩阵。x = Sl ⊗ Im,y = Il ⊗ Sm。Sl has a 1 in row i, column i+1 (mod l); ⊗ blows each entry of the left matrix up into a copy of the right one. x = Sl ⊗ Im, y = Il ⊗ Sm.
x, y xayb读「x、y」「单项式」Read “x, y”, “monomial”两个方向的一格平移,lm × lm 置换矩阵;xayb = 往 x 走 a 格、往 y 走 b 格,也是群 ℤl × ℤm 的元素 (a, b)。One-cell translations in the two directions, lm × lm permutation matrices; xayb = a cells along x and b along y, also the element (a, b) of the group ℤl × ℤm.
R = GF(2)[x, y]/(xl − 1, ym − 1)读「环 R」Read “the ring R”系数 0/1、满足 xl = ym = 1 的 x、y 多项式全体;作为向量空间是 lm 维;也叫群代数 GF(2)[ℤl × ℤm]。All polynomials in x, y with 0/1 coefficients and xl = ym = 1; lm-dimensional as a vector space; also the group algebra GF(2)[ℤl × ℤm].
A, B TA, |TA| Σ读「A、B」「A 的指数表」「项数」「求和」Read “A, B”, “the exponent table of A”, “term count”, “sum”两个多项式及其 lm × lm 矩阵;gross A = x³ + y + y²,B = y³ + x + x²,TA = {(3,0),(0,1),(0,2)},|TA| = 3 = 每行每列的重量。The two polynomials and their lm × lm matrices; gross A = x³ + y + y², B = y³ + x + x², TA = {(3,0),(0,1),(0,2)}, |TA| = 3 = the weight of every row and column.
ᵀ上标 T,读「转置」Superscript T, read “transpose”行列互换;对置换矩阵等于逆,所以 (xayb)ᵀ = x−ay−b(反向平移)。Swap rows and columns; for a permutation matrix it equals the inverse, so (xayb)ᵀ = x−ay−b, the inverse translation.
[A | B] [B ; A]读「A、B 并排」「B、A 堆叠」Read “A beside B”, “B over A”竖线 = 左右拼接(lm × 2lm),分号 = 上下堆叠(2lm × lm)。HX = [A | B],HZ = [Bᵀ | Aᵀ],HZᵀ = [B ; A]。The bar = side by side (lm × 2lm), the semicolon = stacked (2lm × lm). HX = [A | B], HZ = [Bᵀ | Aᵀ], HZᵀ = [B ; A].
HX, HZ eX, eZ s读「检查矩阵」「错误向量」「症状」Read “check matrices”, “error vectors”, “syndrome”gross 各 72 × 144,每行 6 个 1、每列 3 个 1;eX 是长度 144 的 0/1 向量;s = HZeX(模 2)长度 72。Each 72 × 144 for gross, 6 ones per row and 3 per column; eX is a 0/1 vector of length 144; s = HZeX (mod 2) has length 72.
∂1, ∂2 R → R² → R弯体 d,读「边界算符」Curly d, read “boundary operator”∂2 = [B ; A],∂1 = [A | B],∂1∂2 = 0;∂1 = HX,∂2ᵀ = HZ。「边界的边界为零」= CSS 条件。∂2 = [B ; A], ∂1 = [A | B], ∂1∂2 = 0; ∂1 = HX, ∂2ᵀ = HZ. “Boundary of a boundary is zero” = the CSS condition.
rank dim ker读「秩」「维数」「核」Read “rank”, “dimension”, “kernel”线性独立行数;向量空间的维数;ker H = 使 Hv = 0 的 v 全体。gross:rank HX = rank HZ = 66。Number of independent rows; dimension of a vector space; ker H = all v with Hv = 0. Gross: rank HX = rank HZ = 66.
(A, B) R/(A, B)读「A、B 生成的理想」「R 模 (A, B)」Read “the ideal generated by A, B”, “R mod (A, B)”所有 Au + Bv 的集合 = [A | B] 的像,维数 66;商 = 把它们全当零后剩下的空间,维数 72 − 66 = 6;k = 2 × 6。All Au + Bv = the image of [A | B], dimension 66; the quotient = what remains when they are all set to zero, dimension 72 − 66 = 6; k = 2 × 6.
n, k, d [[n, k, d]]读「n、k、d」Read “n, k, d”数据比特数、逻辑比特数、码距;gross [[144, 12, 12]](d bounded),toric_L3 [[18, 2, 3]](verified),昆仑 [[18, 4, 4]]。Data qubits, logical qubits, distance; gross [[144, 12, 12]] (d bounded), toric_L3 [[18, 2, 3]] (verified), Kunlun [[18, 4, 4]].
P diag(P, P)读「P」「对角放两份 P」Read “P”, “P twice on the diagonal”P 是 x 或 y;diag(P, P) 对左右两块同时平移;H · diag(P, P) = P · H 说平移只重排检查。P is x or y; diag(P, P) translates both blocks at once; H · diag(P, P) = P · H says a translation merely permutes the checks.
X̄, Z̄ 24 × 24读「逻辑 X、逻辑 Z」Read “logical X, logical Z”作用在逻辑比特上的 X、Z;gross 有 12 个 X̄ 和 12 个 Z̄,一个 Clifford 对它们的作用是 24 × 24 的二元辛矩阵。X and Z acting on logical qubits; gross has 12 X̄s and 12 Z̄s, and a Clifford acts on them by a 24 × 24 binary symplectic matrix.
Xc, Zt ↦读「控制块的 X」「目标块的 Z」「映到」Read “X on the control block”, “Z on the target”, “maps to”4.1 节横向 CNOT 的共轭规则:Xc ↦ XcXt,Zt ↦ ZcZt。The conjugation rules of the transversal CNOT in §4.1: Xc ↦ XcXt, Zt ↦ ZcZt.
q0 … q17读「第 0 到第 17 个比特」Read “qubits 0 to 17”toric_L3 的数据比特编号:q0–q8 左块,q9–q17 右块。toric_L3's data-qubit labels: q0–q8 the left block, q9–q17 the right.
GF(2) GF(p)读「二元域」「p 元域」Read “the binary field”, “the field with p elements”只有 0、1 且 1 + 1 = 0 的数域;GF(p) 是模素数 p 运算的数域(只在 7.5 节的 qudit 出现)。The field with only 0, 1 and 1 + 1 = 0; GF(p) is arithmetic mod a prime p (only in the qudit paragraph of §7.5).
kd²/n n → ∞读「k d 平方比 n」「n 趋于无穷」Read “k d squared over n”, “n tends to infinity”一个性价比指标,gross 为 12;渐近陈述的极限记号。A figure of merit, 12 for gross; the limit notation of asymptotic statements.
≔ ⇒ ≠ ≤ ≥ ∈ ⊂ ±读「定义为 / 推出 / 不等于 / 小于等于、大于等于 / 属于、包含于 / 正负」Read “is defined as / implies / not equal / at most, at least / belongs to, subset of / plus-minus”逻辑与集合记号;d ≥ 12 与 d ≤ 12 合起来是 d = 12;(8.91 ± 0.17)% 是报告值与不确定度。Logic and set marks; d ≥ 12 and d ≤ 12 together give d = 12; (8.91 ± 0.17)% is a reported value with its uncertainty.

本教程新增词汇New terms in this tutorial

术语Term白话定义Plain definition
Level-2 / 推导页Level-2 / derivation pageQEC-Bank 里只回答一个问题、把证明做完、逐句标出处的页面;BB 条目有七张。A QEC-Bank page that answers one question completely, finishes the proof and labels every sentence's provenance; the BB entry has seven.
复现契约 / exact-checkmatrix-v1reproduction contract / exact-checkmatrix-v1每个「算出来」的数字都能用 reproduce.py 与验证器重跑;匹配器比较整张矩阵,行序比特序都不能差。Every “computed” number reruns with reproduce.py and the verifier; the matcher compares the whole matrix, row and qubit order included.
正则表示regular representation把环(或群)里每个元素变成「乘以它」的矩阵;多项式恒等式与矩阵恒等式一一对应。Turn every ring (or group) element into the matrix of “multiply by it”; polynomial identities and matrix identities correspond one to one.
圈 / 边界 / 中间同调cycle / boundary / middle homology被 ∂ 送到零的元素 / 某个元素的 ∂ 像 / 圈模边界的商;逻辑算符 = 与检查对易但不是检查乘积的串。本页约定下中间同调 ker HX / im HZᵀ 数的是 Z 逻辑,X 逻辑属于对偶复形 ker HZ / im HXᵀ。What ∂ sends to zero / the ∂-image of something / cycles modulo boundaries; a logical = a string commuting with the checks yet not a product of them. With this page's convention the middle homology ker HX / im HZᵀ counts Z logicals; X logicals belong to the dual complex, ker HZ / im HXᵀ.
余核 / 商模cokernel / quotient module目标空间除以像;R/(A,B) 的维数 6 就是每类检查的秩亏损。Target space divided by image; the dimension 6 of R/(A,B) is the rank defect of each check type.
中心化子零空间centralizer nullspace与全部 Z 检查对易的 X 串全体 = ker HZ;逻辑算符和稳定子都住在这里,上界见证从这里采样。All X strings commuting with every Z check = ker HZ; logicals and stabilizers both live here, and the upper witness samples from it.
exact-css-enum / rand-lowweight-v1exact-css-enum / rand-lowweight-v1QEC-Bank 的两种码距方法:穷举(toric_L3 得精确 3)与带种子的随机低重搜索(gross 得上界 12)。The QEC-Bank's two distance methods: exhaustive enumeration (exact 3 for toric_L3) and seeded random low-weight search (upper bound 12 for gross).
verified / bounded / claimed / curated /
demonstrated / proposed / canonical / derived
verified / bounded / claimed / curated /
demonstrated / proposed / canonical / derived
QEC-Bank 出处标签:机器精确重算 / 文献下界 + 机器上界 / 仅文献主张 / 文献整理 / 真机做过 / 只是提案 / 规范定义 / 机器从定义导出。QEC-Bank provenance labels: machine-recomputed exactly / literature lower + machine upper bound / literature claim only / literature-curated / done on hardware / proposal only / canonical definition / machine-derived from the definition.
退化 / 陪集degenerate / coset许多物理错误对应同一逻辑效果;相差一个稳定子的错误组成一个陪集,修复效果相同。Many physical errors share one logical effect; errors differing by a stabilizer form a coset and are equivalent as corrections.
探测器 / hook 错误detector / hook error同一检查相邻两轮读数的比较事件;辅助比特中途出错经后续 CNOT 复印到多个数据比特。A comparison of one check's readings in adjacent rounds; an ancilla fault copied by later CNOTs onto several data qubits.
静态码距 / 电路码距 / 译码器找到的失败重量static distance / circuit distance / decoder-found failure weight矩阵的 12(bounded)/ 具体电路最小不可探测故障集的大小(未导出)/ 某次搜索实际找到的最轻失败。The matrix's 12 (bounded) / the size of a specific circuit's minimum undetected fault set (not exported) / the lightest failure a search actually found.
协议阈值 / 伪阈值 / 有限尺寸标度protocol threshold / pseudo-threshold / finite-size scaling带着电路、探测器、归一化、译码器这些限定项的阈值数字;这里指论文摘要的 0.8%,它是各块码伪阈值的约数(v1 表 1:0.007(3)–0.008(3);v2 表 1:0.0048–0.0069;Nature 版摘要 0.7%)/ 一块码满足 pL(p) = kp 的 p,pL 是整块码每个症状测量周期的逻辑错误率,kp 近似 k 个不编码比特至少一个出错的概率(精确值 1 − (1 − p)k)/ 画几个尺寸的「逻辑错误率对 p」曲线、找交点来估计一族码阈值的方法;这篇论文没有用它得出 0.8%。A threshold number that carries its circuit, detectors, normalization and decoder as qualifiers; here the 0.8% of the paper's abstract, a round figure for the per-block pseudo-thresholds (v1 Table 1: 0.007(3)–0.008(3); v2 Table 1: 0.0048–0.0069; the Nature abstract: 0.7%) / the p at which one block satisfies pL(p) = kp, with pL the whole block's logical error rate per syndrome cycle and kp approximating the chance that at least one of k unencoded qubits fails (exactly 1 − (1 − p)k) / the method of plotting “logical error rate against p” for several sizes and locating the crossing to estimate a family's threshold; this paper does not use it to obtain 0.8%.
自同构 / 辛作用automorphism / symplectic action把稳定子群映到自身的物理操作 / 它对 2k 个逻辑 Pauli 生成元的 2k × 2k 作用矩阵;只有前者时,还不知道它实现的是哪个逻辑操作(gross 的平移:Bravyi 等人算出是逻辑 CNOT 电路,QEC-Bank 未重算)。A physical operation mapping the stabilizer group to itself / its 2k × 2k action matrix on the logical Pauli generators; with only the former one does not yet know which logical operation it performs (gross's translations: Bravyi et al. computed logical CNOT circuits; not recomputed by the QEC-Bank).
折叠 / 杯积fold / cup product把由反射配成对的比特两两配对以实现常深度 Clifford / 上同调类的乘法,作为常深度门存在的证书。Pairing reflection-related qubits so constant-depth Cliffords act logically / a multiplication of cohomology classes serving as the certificate that a constant-depth gate exists.
群代数 / 2BGA / 两块码 / 提升积group algebra / 2BGA / two-block code / lifted product以群元素为变量的形式和 / 用群代数两个元素造的 [a | b]、[bᵀ | aᵀ] / 任意两个对易方阵的同样拼法 / 底矩阵的每个元素换成多项式的乘积码;BB 是它们共同的特例。Formal sums with group elements as variables / [a | b], [bᵀ | aᵀ] from two group-algebra elements / the same assembly from any two commuting square matrices / a product code with each base-matrix entry replaced by a polynomial; BB is a special case of all of them.
Tanner 图Tanner graph检查节点与比特节点之间的关联图;gross 有 144 + 144 个节点、864 条边、可拆成两个平面度 3 层。The incidence graph between check nodes and qubit nodes; gross has 144 + 144 nodes, 864 edges, and splits into two planar degree-3 layers.
Koszul 复形 / 任意子 / 拓扑挫折Koszul complex / anyon / topological frustration由理想生成元造出的链复形 / 被点亮的检查图案 / 激发不能像环面码里那样自由移动的现象。A chain complex built from an ideal's generators / a pattern of lit checks / the phenomenon that excitations cannot move as freely as in a toric code.
圆柱归约cylinder reduction用对称性把 BB 译码问题的一部分映到类环面圆柱上做匹配;是译码器层面的词典,不是相等价。Mapping part of the BB decoding problem onto toric-like cylinders by symmetry to run matching; a decoder-level dictionary, not a phase equivalence.
剪枝 / 瓷砖码 / 开边界pruning / tile code / open boundary从周期码删比特与检查 / 把重复的检查图案在有边界的格点上截断 / 撕开环面粘合;三者都要重算秩与对易。Deleting qubits and checks from a periodic code / terminating a repeated check pattern on a bounded lattice / tearing the torus gluing; all three require recomputing rank and commutation.
自对偶 / 扭环面self-dual / twisted torus物理上能实现 H、S 的额外对称 / 带错位粘合的环面;只属于被引子族,不属于 gross。Extra symmetry physically implementing H, S / a torus glued with an offset; belongs to the cited subfamily, not to gross.
qudit / 多变量 / 互素子类 / morphingqudit / multivariate / coprime subclass / morphingp 能级系统 / 三个及以上变量 / 周期互素 gcd(l, m) = 1、A 与 B 写成 π = xy 的多项式,k = 2 deg gcd(a, b, πlm + 1) / 提取中途换码;四条不同的变体轴。A p-level system / three or more variables / coprime periods gcd(l, m) = 1 with A and B written as polynomials in π = xy, k = 2 deg gcd(a, b, πlm + 1) / changing the code mid-extraction; four distinct variant axes.
渐近坏asymptotically badn → ∞ 时 k/n 与 d/n 不能同时为正常数;与 gross 这个有限好点并存。k/n and d/n cannot both stay positive as n → ∞; coexists with the finite good point gross.

延伸阅读Further reading

  • QEC-Bank: bivariate bicycle · Level-2 map
    codes/bivariate_bicycle/pedagogy/derivations.md 与七张推导页、reproduce.py、instances.yaml。本页逐章转述的原文;出处划分(重算 / bounded / 文献)以它为准。codes/bivariate_bicycle/pedagogy/derivations.md with the seven derivation pages, reproduce.py and instances.yaml. The text this page restates chapter by chapter; the provenance split (recomputed / bounded / literature) follows it.
  • S. Bravyi, A. W. Cross, J. M. Gambetta, D. Maslov, P. Rall, T. J. Yoder, “High-Threshold and Low-Overhead Fault-Tolerant Quantum Memory” (2024, arXiv 2308.07915)
    bravyi2024bicycle(已登记;别名 bravyi2024high)。gross 的定义、码距下界、两层度 3 连接图、深度 7 电路、0.8%、十二倍比较——第 1–4 章反复引用的那一篇。bravyi2024bicycle (registered; alias bravyi2024high). The definition of gross, its distance lower bound, the two-layer degree-3 connectivity, the depth-7 circuit, 0.8% and the twelve-fold comparison; the paper cited throughout Chapters 1–4.
  • R. Wang, H.-K. Lin, L. P. Pryadko, “Abelian and Non-Abelian Quantum Two-Block Codes” (2023, arXiv 2305.06890) · H.-K. Lin, L. P. Pryadko, “Quantum Two-Block Group Algebra Codes” (2023, arXiv 2306.16400)
    wang2023abelian、lin2023twoblock——据文献扫描报告,登记待补。6.2、7.1 节的父关系:BB ⊂ 阿贝尔 2BGA ⊂ 两块码,以及 2BGA 在提升积里的位置。wang2023abelian, lin2023twoblock: from the scout report, registration pending. The parent relation of §6.2 and §7.1, BB ⊂ abelian 2BGA ⊂ two-block codes, and where 2BGA sits inside lifted products.
  • J. J. Postema, S. J. J. M. F. Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes” (2025, arXiv 2502.17052)
    postema2025existence——登记待补。2.3、6.4 节的商模方法与 7.6 节的渐近坏。postema2025existence: registration pending. The quotient-module method of §2.3 and §6.4 and the asymptotic badness of §7.6.
  • K. Chen et al., “Anyon Theory and Topological Frustration of High-Efficiency Quantum LDPC Codes” (2025, arXiv 2503.04699) · K. Sahay, D. J. Williamson, B. J. Brown, “A Matching Decoder for Bivariate Bicycle Codes” (2026, arXiv 2602.22770)
    chen2025anyon、sahay2026matching——登记待补。6.6 节的三种等价关系:一篇找到拓扑挫折,一篇给出译码用的圆柱词典。chen2025anyon, sahay2026matching: registration pending. The three equivalence relations of §6.6: one finds topological frustration, the other supplies the cylinder dictionary for decoding.
  • J. N. Eberhardt, F. R. F. Pereira, V. Steffan, “Pruning qLDPC Codes: Towards Bivariate Bicycle Codes with Open Boundary Conditions” (2024, arXiv 2412.04181) · V. Steffan, S.-H. Choe, N. P. Breuckmann, F. R. F. Pereira, J. N. Eberhardt, “Tile Codes: High-Efficiency Quantum Codes on a Lattice with Boundary” (2025, arXiv 2504.09171)
    eberhardt2024pruning(登记待补)、steffan2025tile(已登记)。7.4 节的开边界三问与「共享瓷砖不决定逻辑空间」。eberhardt2024pruning (registration pending), steffan2025tile (registered). The three open-boundary questions of §7.4 and “a shared tile does not determine the logical space”.
  • D. J. C. MacKay, G. Mitchison, P. L. McFadden, “Sparse Graph Codes for Quantum Error-Correction” (2004) · P. Panteleev, G. Kalachev, “Degenerate Quantum LDPC Codes With Good Finite Length Performance” (2021, arXiv 1904.02703)
    mackay2004sparse、panteleev2021degenerate(均已登记)。7.1 节的家谱:一个变量的 bicycle 码,与广义 bicycle 码加 BP-OSD。mackay2004sparse, panteleev2021degenerate (both registered). The family tree of §7.1: one-variable bicycle codes, and generalized bicycle codes with BP-OSD.
  • T. J. Yoder et al., “Tour de Gross: A Modular Quantum Computer Based on Bivariate Bicycle Codes” (2025, arXiv 2506.03094) · K. Wang et al., “Demonstration of Low-Overhead Quantum Error Correction Codes” (2025, arXiv 2505.09684)
    yoder2025tour、wang2026lowoverhead——登记待补。第 4 章的横向 CNOT 与手术架构;第 5 章唯一的真机实验。yoder2025tour, wang2026lowoverhead: registration pending. The transversal CNOT and surgery architecture of Chapter 4; the only hardware experiment of Chapter 5.
诚实总账The honesty ledger

QEC-Bank 机器重算过的(reproduce.py 逐条断言、验证器独立复核):gross 的两个多项式、x¹² = I、y⁶ = I、xy = yx、HZ = [Bᵀ | Aᵀ]、72 × 144、HXHZᵀ = 0、秩 66 与 66、稳定子秩 132、n = 144、k = 12、商维数 6、每行每列重量、第 0 条 X / Z 检查的支撑、平移恒等式、格点与检查一一对应、种子 5 的重量 12 上界见证;toric_L3 的 9 × 18、秩 8 与 8、k = 2、精确码距 3。本页自己算的、QEC-Bank 页面上没有的数(一段独立的 GF(2) Python 按构造器约定重算):A² + B² 每行 6 个 1、秩 48;第 7 条 X 检查的支撑 {8, 9, 25, 82, 85, 91};1.6 节印出的两张 9 × 18 矩阵与 X0 / Z0 / Z1 / Z3 的腿;toric_L3 的 d = 3 由穷举 ker HZ 得到;bb108 的秩 50、商维数 4、k = 8;Tanner 图的 432、864 条边;212 = 4096;kd²/n = 12。bounded:gross 的 d = 12(下界引 bravyi2024bicycle,未重放)。文献主张(QEC-Bank 转录,本页照抄):深度 7、0.8% 及其限定、五行操作、[[98,6,12]]、[[162,8,12]]、[[16,4,4]]、昆仑 32 / 18 / 4 / 4 / (8.91 ± 0.17)%、七个提案、七种表示的警告、七条变体轴、渐近坏;「种子 0 跑 2000 次只到 14」抄自 QEC-Bank 账本页。登记状态:本页出现的文献键里已登记的只有 bravyi2024bicycle、roffe2020decoding、panteleev2021degenerate、koutsioumpas2025autdec、sayginel2025automorphisms、mackay2004sparse、steffan2025tile,其余题名与 arXiv 号来自文献扫描报告(2026-07-26),QEC-Bank 参考文献页显示 metadata pending。未验证:本页写作时在本机尝试运行 reproduce.py,脚本在 load_entry 处以「live Card v2 is not canonical JSON」退出(本机的卡片格式与脚本期望不一致),make verify-entry 未运行;所以 QEC-Bank 的断言本页没有亲自复跑成功,QEC-Bank 的数字抄自仓库文件,本页自算的数字由独立脚本复核。实验台是教学版:平移实验台与两个构造器只做静态代数,BP-OSD 演示用 [[72,12,6]] 而非 gross、只有 X 错误、码容量噪声,其读数不对应任何文献数字。2026-09 修订时又用一段独立脚本复核了本页自算的数(A² + B² 每行 6 个 1、秩 48,不交换时每条 X 检查与 6 条 Z 检查奇数次重叠;第 7 条 X 检查;toric_L3 的 Z1、Z3 与重叠;864 条边;bb108 的秩 50、k = 8;只改 A 的一整项(三项仍互不相同)时 k ∈ {0, 4, 8, 12}、只改一个指数时 k ∈ {0, 8, 12}),并对照 arXiv:2308.07915 的摘要与正文改写了 3.5 节关于 0.8% 与伪阈值的说法。

Recomputed by the QEC-Bank machine (asserted one by one in reproduce.py, independently rechecked by the verifier): the two gross polynomials, x¹² = I, y⁶ = I, xy = yx, HZ = [Bᵀ | Aᵀ], 72 × 144, HXHZᵀ = 0, ranks 66 and 66, stabilizer rank 132, n = 144, k = 12, quotient dimension 6, every row and column weight, the supports of X check 0 and Z check 0, the translation identities, the one-to-one lattice/check correspondence, the seed-5 weight-12 upper witness; toric_L3's 9 × 18, ranks 8 and 8, k = 2, exact distance 3. Computed by this page and absent from QEC-Bank pages (a separate GF(2) Python script under the constructor's convention): A² + B² with 6 ones per row and rank 48; the support {8, 9, 25, 82, 85, 91} of X check 7; the two 9 × 18 matrices printed in §1.6 and the legs of X0 / Z0 / Z1 / Z3; toric_L3's d = 3 by enumerating ker HZ; bb108's rank 50, quotient dimension 4, k = 8; the 432 and 864 Tanner edges; 212 = 4096; kd²/n = 12. Bounded: gross's d = 12 (lower bound cited to bravyi2024bicycle, not replayed). Literature claims (transcribed by the QEC-Bank, copied here): depth 7, 0.8% and its qualifiers, the five operation rows, [[98,6,12]], [[162,8,12]], [[16,4,4]], Kunlun's 32 / 18 / 4 / 4 / (8.91 ± 0.17)%, the seven proposals, the caveats of the seven views, the seven variant axes, asymptotic badness; “seed 0 reaches only 14 in 2,000 iterations” is copied from the QEC-Bank ledger page. Registration status: of the bibkeys on this page only bravyi2024bicycle, roffe2020decoding, panteleev2021degenerate, koutsioumpas2025autdec, sayginel2025automorphisms, mackay2004sparse and steffan2025tile are registered; the remaining titles and arXiv ids come from the scout reports (2026-07-26), and the QEC-Bank references page shows them as metadata pending. Not verified: reproduce.py was attempted on this machine while writing and exited in load_entry with “live Card v2 is not canonical JSON” (the local card format does not match what the script expects); make verify-entry was not run. So this page did not itself rerun the QEC-Bank assertions successfully; QEC-Bank numbers are copied from repository files, and this page's own numbers were rechecked by the independent script. The benches are teaching versions: the translation bench and the two builders do static algebra only, and the BP-OSD demo uses [[72,12,6]] rather than gross, X errors only, code-capacity noise; its readouts correspond to no literature number. During the 2026-09 revision an independent script re-checked the numbers this page computes itself (A² + B² with 6 ones per row and rank 48, and without the swap every X check overlapping 6 Z checks an odd number of times; X check 7; toric_L3's Z1, Z3 and overlaps; 864 edges; bb108's rank 50 and k = 8; k ∈ {0, 4, 8, 12} when one whole term of A changes with three distinct terms kept, k ∈ {0, 8, 12} when one exponent changes), and section 3.5's statements about 0.8% and the pseudo-threshold were rewritten against the abstract and body of arXiv:2308.07915.