目录Contents
什么是表示阶梯:BB 条目的八条记录What a representation ladder is: the BB entry's eight records
一个纠错码不是一张图,而是一族互相翻译的描述。QEC-Bank 给每个条目排一架五级梯子:越靠下越能直接交给机器执行,越靠上越接近数学与物理的洞见。这一章先把五级各问什么问题说清,再数一数 BB 条目在每一级放了几条记录、每条记录带什么标签。想看同一架梯子在表面码上的样子,见《Surface Code · 表示阶梯》第 1 章;本篇不重复那里的一般介绍,只讲 BB 特有的部分。 An error-correcting code is not one picture but a family of mutually translating descriptions. The QEC-Bank gives every entry a five-rung ladder: the lower rungs can be handed straight to a machine, the upper ones sit closer to mathematical and physical insight. This chapter first says what question each rung asks, then counts how many records the BB entry places on each rung and which label each carries. For the same ladder on the surface code see “Surface Code · Representation Ladder”, Chapter 1; this page does not repeat that general introduction and covers only what is specific to BB.
1.1五级,五个问题,八条记录Five rungs, five questions, eight records
在直觉教程里,BB 码是一段代数:两个多项式、两张矩阵、一行对易证明(3.2 节)。那一种说法对人很友好,可它既不是机器最终执行的东西(机器执行的是 0/1 矩阵),也不是物理学家谈「任意子」「拓扑受挫」时用的语言(这两个词 6.4 节解释)。表示阶梯(representation ladder)把同一个码的各种说法按「机器可执行」到「人类可洞见」排成五级。BB 条目在五级上共放了 8 条记录:
In the intuition guide a BB code is a piece of algebra: two polynomials, two matrices, a one-line commutation proof (§3.2). That way of speaking is friendly to people, but it is neither what the machine finally executes (the machine executes 0/1 matrices) nor the language physicists use when they say “anyon” or “topological frustration” (both explained in §6.4). A representation ladder arranges all the ways of speaking about one code on five rungs, from machine-executable to human-insightful. The BB entry places 8 records on the five rungs:
| 阶Rung | 名称Name | 它回答的问题The question it answers | BB 条目里的记录(类型 · 标签)Records in the BB entry (type · label) | 本篇Here |
|---|---|---|---|---|
| R1 | 检查(Checks)Checks | 稀疏的 Pauli 生成元,写成辛形式的 0/1 行——所有秩、逻辑算符、码距计算的可执行基线。Sparse Pauli generators as symplectic 0/1 rows — the executable baseline for every rank, logical and distance computation. | symplectic-css-checks · derived | 第 2 章Ch. 2 |
| R2 | 结构(Structure)Structure | 检查背后的结构:CSS 配对(每条检查要么全是 X、要么全是 Z)、链复形、格点——为什么这些行会对易、为什么恰好剩 12 个逻辑比特。The structure behind the checks: CSS pairs (every check is all-X or all-Z), chain complexes, lattices — why the rows commute and why exactly 12 logical qubits survive. | homological · derived toric-cylinder · curated | 第 3 章Ch. 3 |
| R3 | 动力学(Dynamics)Dynamics | 有先后顺序的测量时间表,以及每一时刻的瞬时稳定子群(4.1 节定义)。Ordered measurement schedules and their instantaneous stabilizer groups (defined in §4.1). | 无记录(原文:No representation at this rung is recorded for this entry.)none (verbatim: No representation at this rung is recorded for this entry.) | 第 4 章Ch. 4 |
| R4 | 电路与探测器(Circuit & detectors)Circuit & detectors | 有名字的症状提取电路,以及探测器错误模型(哪些读数组合被当作「报警」、每种故障触发哪些报警;5.2 节)。Named syndrome-extraction circuits and detector error models (which combinations of readouts count as “alarms” and which alarms each fault sets off; §5.2). | tanner-circuit · curated | 第 5 章Ch. 5 |
| R5 | 跨模型视图(Cross-model views)Cross-model views | 代数、ZX、费米子、张量、统计物理等其他语言的词典——可执行的或有启发的。(这是 QEC-Bank 对 R5 的通用描述;BB 条目只用了其中的「代数」,见下一段。)Algebraic, ZX, fermionic, tensor and statistical dictionaries — executable or illuminating. (This is the QEC-Bank's generic description of R5; the BB entry uses only the algebraic kind, see the next paragraph.) | bivariate-polynomial · canonical group-algebra · curated quotient-module · curated anyon-koszul · curated | 第 6 章Ch. 6 |
和表面码条目比一下就能看出 BB 条目的个性。表面码在 R5 放的四本词典是「别的物理」:随机键 Ising 模型、ZX 图、quon、张量网络(各是什么见《Surface Code · 表示阶梯》第 5 章);BB 条目的四本词典全是「别的代数」:多项式、群代数、商模、Koszul 复形。原因很简单——BB 码本来就是用代数定义的,它最有内容的翻译是在代数的不同层次之间,而不是翻译到另一门物理。另一处不同:表面码在 R4 是空的,BB 条目却有一条 tanner-circuit,因为「每条检查连 6 个比特,芯片上的连线要分两层才能不交叉」这件事是 BB 码实用化的核心难题(5.1 节用计数证明一层不够),值得单独记一条。
Compare with the surface-code entry and the BB entry's character shows. The surface code's four R5 dictionaries are “other physics”: the random-bond Ising model, ZX diagrams, quon, tensor networks (each explained in “Surface Code · Representation Ladder”, Chapter 5); the BB entry's four are all “other algebra”: polynomials, group algebra, quotient module, Koszul complex. The reason is simple — a BB code is defined by algebra in the first place, so its richest translations run between levels of algebra rather than into another branch of physics. Another difference: the surface code's R4 is empty while the BB entry has one tanner-circuit record, because “every check joins 6 qubits, so the wiring on a chip needs two layers to avoid crossings” is the central practical difficulty of BB codes (§5.1 proves by counting that one layer is not enough) and earns a record of its own.
条目的源文件 codes/bivariate_bicycle/card.yaml 里搜 "field": "views" 会命中 16 处,但记录只有 8 条:每一条在 /assertions[0..7] 出现一次,又在 /scoped_facets/views[0..7] 原样出现一次(后者是按侧面分好类的同一批断言)。八条记录的 applies_to 全部是 eczoo-entity:qcga#collection——QEC-Bank 把 BB 码这个条目对应到 Error Correction Zoo(一个公开的在线纠错码目录,简称 eczoo)的 qcga 实体,八句话说的都是这一族码,不是某一个实例。每条记录还带一个 evidence_id(证据编号)和 source_sha256:用 SHA-256 算法从内容算出的一串 64 位十六进制「指纹」,内容改一个字,指纹就全变,所以它能证明引文没被改过。本篇引用的每一句「原文」都能在这 8 条记录的 description 字段里逐字找到。
Searching the entry's source file codes/bivariate_bicycle/card.yaml for "field": "views" hits 16 places, but there are only 8 records: each appears once under /assertions[0..7] and once more, verbatim, under /scoped_facets/views[0..7] (the same assertions sorted by facet). All eight carry applies_to = eczoo-entity:qcga#collection — the QEC-Bank maps this entry to the entity qcga of the Error Correction Zoo (a public online catalogue of codes, “eczoo” for short), and all eight sentences speak of the family, not of one instance. Each record also carries an evidence_id and a source_sha256: a 64-hex-digit “fingerprint” computed from the content by the SHA-256 algorithm; change one character and the whole fingerprint changes, so it proves the quotation has not been altered. Every sentence quoted as “verbatim” on this page can be found word for word in the description field of these 8 records.
1.2三种标签:derived / canonical / curatedThree labels: derived / canonical / curated
同一架梯子上,不同的记录可信的方式不一样,所以每条记录的 origin.kind 字段写着一个出处标签QEC-Bank 每条 views 记录的 origin.kind:derived(由某个有名字、有版本号的转换器从上游数据算出)、canonical(照公认定义写下)、curated(从一篇文献中挑选整理,附该文献的 bibkey)。。bibkey文献键:QEC-Bank 给每篇文献起的短名,形如「第一作者姓 + 年份 + 标题关键词」,例如 bravyi2024bicycle。是 QEC-Bank 给每篇文献起的短名(第一作者 + 年份 + 关键词,如 bravyi2024bicycle);转换器是把一种数据格式改写成另一种的程序,后面的 v1 是它的版本号。BB 条目的 8 条记录里,2 条 derived、1 条 canonical、5 条 curated:
On one ladder, different records earn trust in different ways, so each record's origin.kind field carries a provenance labelThe origin.kind of every QEC-Bank views record: derived (computed from upstream data by a named, versioned converter), canonical (written from an agreed definition), curated (selected and organised from one paper, whose bibkey is attached).. A bibkeyThe QEC-Bank's short name for a paper, of the form first author + year + title keyword, e.g. bravyi2024bicycle. is the QEC-Bank's short name for a paper (first author + year + keyword, e.g. bravyi2024bicycle); a converter is a program that rewrites one data format into another, and the v1 after it is its version number. Of the BB entry's 8 records, 2 are derived, 1 canonical, 5 curated:
| 标签Label | 含义(说人话)Meaning (in plain words) | BB 条目里的例子(原文)Examples in the BB entry (verbatim) |
|---|---|---|
| derived | 机器从上游数据算出来的,附转换器名字与版本;换一台机器重跑得到同样的东西。Computed by the machine from upstream data, with the converter's name and version; rerun on another machine and you get the same thing. | R1:derived by bivariate_bicycle.build -> CheckMatrix.from_css v1;R2:derived by bivariate_bicycle.build checkmatrix-to-CSS-complex v1R1: derived by bivariate_bicycle.build -> CheckMatrix.from_css v1; R2: derived by bivariate_bicycle.build checkmatrix-to-CSS-complex v1 |
| canonical | 照公认的数学定义写下,不依赖某一篇论文的措辞;这里就是构造器实际执行的定义。Written from an agreed mathematical definition, independent of any one paper's phrasing; here it is the very definition the constructor executes. | R5:bivariate-polynomial canonical(附参考 bravyi2024bicycle,但标签不是 curated)R5: bivariate-polynomial canonical (with reference bravyi2024bicycle, but the label is not curated) |
| curated | 从一篇具体文献里挑选、整理的叙述;标签后永远跟着那篇文献的 bibkey;机器没有重算它。A narrative selected and organised from one specific paper; the label is always followed by that paper's bibkey; the machine did not recompute it. | R2:toric-cylinder curated from sahay2026matching;R4:tanner-circuit curated from bravyi2024bicycle;R5:group-algebra curated from wang2023abelian、quotient-module curated from postema2025existence、anyon-koszul curated from chen2025anyonR2: toric-cylinder curated from sahay2026matching; R4: tanner-circuit curated from bravyi2024bicycle; R5: group-algebra curated from wang2023abelian, quotient-module curated from postema2025existence, anyon-koszul curated from chen2025anyon |
两个容易看错的地方。第一,derived 与 canonical 都不是「文献」,但也不是同一回事:derived 说「转换器 v1 算过了」,canonical 说「这是定义本身」。R1 的矩阵和 R2 的链复形是算出来的;R5 的多项式表示是定义。第二,参考文献 ≠ 出处。R1 后面列着 bravyi2024bicycle,可 R1 的标签是 derived——那篇论文是矩阵的来历(gross 的 A、B 是从它 Table 3 抄来的),不是矩阵的可信依据(可信依据是构造器现算)。同样,R2 的 homological 列着 lin2023twoblock 与 bravyi2024bicycle,标签却是 derived:链复形是转换器从矩阵算出来的,两篇文献只是告诉你这个视角叫什么名字。
Two things are easy to misread. First, derived and canonical are both “not literature”, yet they are not the same: derived says “converter v1 computed this”, canonical says “this is the definition itself”. The R1 matrices and the R2 chain complex are computed; the R5 polynomial representation is a definition. Second, references are not provenance. R1 lists bravyi2024bicycle, yet its label is derived — that paper is the origin of the matrices (gross's A and B are copied from its Table 3), not their warrant (the warrant is the constructor's live computation). Likewise R2's homological lists lin2023twoblock and bravyi2024bicycle but is labelled derived: the complex is computed by a converter from the matrices, and the two papers only tell you what the viewpoint is called.
八条记录一共引用 7 个 bibkey。其中只有 bravyi2024bicycle(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)在 QEC-Bank 的文献登记表 registry/refs.yaml 里登记了完整元数据(标题、作者、年份、链接)。其余 6 个——lin2023twoblock、wang2023abelian、postema2025existence、chen2025anyon、sahay2026matching、shaw2025morphing——在条目的参考文献页上显示「metadata pending」。本篇给出的标题与作者最初取自文献扫描报告(docs/lit/bivariate_bicycle/,QEC-Bank 为这个条目整理的文献综述),本次修订已逐一对照各论文的 arXiv 摘要页,arXiv 编号列在尾声的「延伸阅读」里。这是这个条目目前最大的缺口,参考文献侧面专门讲它。
The eight records cite 7 bibkeys in total. Only bravyi2024bicycle (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) has full metadata (title, authors, year, link) in the QEC-Bank's reference registry registry/refs.yaml. The other six — lin2023twoblock, wang2023abelian, postema2025existence, chen2025anyon, sahay2026matching, shaw2025morphing — show “metadata pending” on the entry's references page. Titles and authors on this page originally came from the scout reports (docs/lit/bivariate_bicycle/, the QEC-Bank's literature survey for this entry); this revision checked each against the paper's arXiv abstract page, and the arXiv numbers are listed under “Further reading” in the epilogue. This is the entry's largest open gap at present; the references facet is devoted to it.
表示阶梯回答的不是「BB 码是什么」,而是「BB 码有哪几种可靠的说法,每种说法可靠到什么程度、能推出什么、不能推出什么」。接下来五章按级往上走:第 2 章 R1(机器算的矩阵),第 3 章 R2(算出来的链复形 + 一本译码词典),第 4 章 R3(诚实地空着),第 5 章 R4(Tanner 图与电路的分界),第 6 章 R5(四本代数词典)。
The ladder does not answer “what is a BB code” but “in how many reliable ways can it be stated, how reliable is each, what does each let you conclude, and what not”. The next five chapters climb rung by rung: Chapter 2 is R1 (the machine's matrices), Chapter 3 is R2 (a computed chain complex plus one decoder dictionary), Chapter 4 is R3 (honestly empty), Chapter 5 is R4 (where the Tanner graph ends and the circuit begins), Chapter 6 is R5 (four algebraic dictionaries).
R1 · 辛形式的检查矩阵:机器手里的 gross 码R1 · Checks in symplectic form: the gross code in the machine's hands
R1 记录的原文:「Expanding every polynomial monomial as a torus translation produces two sparse binary CSS matrices. Stacking their X and Z rows in symplectic form is the universal executable baseline used for rank, logical, and distance computations.」标签 derived by bivariate_bicycle.build -> CheckMatrix.from_css v1。这一章解释「辛形式」是什么、把两张矩阵「叠」起来得到多大一张、机器拿到它后算了哪几个数。 The R1 record verbatim: “Expanding every polynomial monomial as a torus translation produces two sparse binary CSS matrices. Stacking their X and Z rows in symplectic form is the universal executable baseline used for rank, logical, and distance computations.” Label: derived by bivariate_bicycle.build -> CheckMatrix.from_css v1. This chapter explains what “symplectic form” is, how large the “stacked” matrix is, and which numbers the machine computes from it.
2.1从两张矩阵到一张:144 行 × 288 列From two matrices to one: 144 rows × 288 columns
直觉教程停在两张矩阵上:HX = [A | B] 与 HZ = [Bᵀ | Aᵀ],各 72 行 144 列(72 = lm 是格子数,144 = 2lm = n 是数据比特数;l = 12、m = 6 是环面两个方向的格数)。QEC-Bank 的机器多走一步,把它们并成一张。做法来自《从高考数学到 Toric Code》4.2 节的泡利串:一条作用在 n 个比特上的 Pauli 串,用长 2n 的 0/1 向量 (x | z) 记——前 n 位记哪些比特上有 X,后 n 位记哪些比特上有 Z(Y 算作两边都有)。这就是辛形式symplectic form:把 n 比特 Pauli 串写成 2n 位 0/1 向量 (x | z)。两条串对易 ⇔ x₁·z₂ + z₁·x₂ ≡ 0 (mod 2),这个「交叉点积」叫辛内积。QEC-Bank 基础页 Pauli operators as binary symplectic vectors 讲全了。。先用两个比特试一下:XZ(第 1 个比特上 X、第 2 个比特上 Z)写成 (1 0 | 0 1),ZX 写成 (0 1 | 1 0),Y⊗I 写成 (1 0 | 1 0)。一条纯 X 的检查就是 (行 | 0),一条纯 Z 的检查就是 (0 | 行)。例如 gross 的 X 检查 0 碰比特 1、2、18、75、78、84(这组编号 5.1 节会从 A、B 读出来),它的辛形式就是一个 288 位向量:前 144 位在这 6 个位置是 1,后 144 位全是 0。把 72 条 X 检查和 72 条 Z 检查全部这样写并上下叠起来:
The intuition guide stopped at two matrices: HX = [A | B] and HZ = [Bᵀ | Aᵀ], each 72 rows by 144 columns (72 = lm is the number of sites, 144 = 2lm = n the number of data qubits; l = 12 and m = 6 are the site counts along the two torus directions). The QEC-Bank machine goes one step further and merges them into one. The method is the Pauli-string notation of “From High-School Math to the Toric Code”, §4.2: a Pauli string on n qubits is written as a 0/1 vector (x | z) of length 2n — the first n bits say which qubits carry X, the last n which carry Z (a Y counts on both sides). This is the symplectic formWriting an n-qubit Pauli string as a 2n-bit 0/1 vector (x | z). Two strings commute ⇔ x₁·z₂ + z₁·x₂ ≡ 0 (mod 2); this “crossed dot product” is the symplectic inner product. The QEC-Bank foundations page “Pauli operators as binary symplectic vectors” covers it in full.. Try it on two qubits first: XZ (X on qubit 1, Z on qubit 2) is (1 0 | 0 1), ZX is (0 1 | 1 0), and Y⊗I is (1 0 | 1 0). A pure-X check is (row | 0), a pure-Z check is (0 | row). For example, gross's X check 0 touches qubits 1, 2, 18, 75, 78, 84 (§5.1 reads these indices off A and B), so its symplectic form is a 288-bit vector with 1s in those six places of the first 144 bits and all 0s in the last 144. Write all 72 X checks and 72 Z checks this way and stack them:
gross: (72 + 72) × (144 + 144) = 144 × 288 · toric_L3: 18 × 36
rank S = rank HX + rank HZ = 66 + 66 = 132S = 辛形式的稳定子矩阵;竖线 = 左右并排,分号 = 上下堆叠;0 = 72 × 144 的全零块;rank = 线性独立的行数;66 = HX、HZ 各自的秩(直觉教程 4.1 节)。两块秩直接相加,是因为纯 X 的行与纯 Z 的行落在互不重叠的列上,抵消不了。S = the stabilizer matrix in symplectic form; the bar = side by side, the semicolon = stacked; 0 = an all-zero 72 × 144 block; rank = number of independent rows; 66 = the rank of each of HX, HZ (intuition guide §4.1). The two ranks simply add because pure-X rows and pure-Z rows occupy disjoint columns and cannot cancel.
说人话:机器不认识「X 检查」「Z 检查」这两个词,它只认识一张 144 × 288 的 0/1 表,每行 6 个 1(前 72 行的 1 都在左半边,后 72 行的都在右半边)。这张表是所有下游计算的唯一输入——秩、逻辑算符、码距、以后的译码模拟都从它出发,这就是原文说的「universal executable baseline」。为什么要费事合并?因为辛形式对任何稳定子码都一样,不只是 CSS 码:一个不分 X/Z 的码(比如带 Y 的检查)也写成同样格式的表,同一套程序照样能算。BB 码恰好是 CSS 码,所以它的表里左右两半永远不会在同一行同时有 1。
In plain words: the machine does not know the words “X check” and “Z check”; it knows one 144 × 288 table of 0s and 1s with six 1s per row (the first 72 rows have theirs in the left half, the last 72 in the right half). This table is the single input to every downstream computation — rank, logical operators, distance, later decoding simulations all start from it; that is the record's “universal executable baseline”. Why bother merging? Because the symplectic form is the same for every stabilizer code, not just CSS codes: a code that does not separate X from Z (say, with Y in its checks) is written in the same format and the same programs run unchanged. BB codes happen to be CSS, so in their table the two halves never both carry a 1 in the same row.
对易在辛形式里是一句话:两行 r₁ = (x₁ | z₁)、r₂ = (x₂ | z₂) 对易当且仅当 x₁·z₂ + z₁·x₂ 是偶数(每个点积数的是两条串在多少个比特上「一个 X 撞上一个 Z」——正是碰撞定理)。手算上面的例子:XZ = (1 0 | 0 1) 与 ZX = (0 1 | 1 0),x₁·z₂ = (1,0)·(1,0) = 1,z₁·x₂ = (0,1)·(0,1) = 1,和为 2,偶数,所以 XZ 与 ZX 对易(两个比特上各撞一次,两个负号抵消)。对 S 的行来说:两条 X 检查之间 z 全为零,自动对易;两条 Z 检查同理;一条 X 检查与一条 Z 检查之间只剩 x₁·z₂ = HX 的一行点乘 HZ 的一行,全部为偶就是 HXHZᵀ = 0——直觉教程3.2 节那一行证明 AB + BA = 0 在这里兑现。CheckMatrix.from_css 这个转换器在构造时就会核对这一条(checkmatrix.validate()),不对易的表根本不会被接受。
Commutation is one sentence in the symplectic form: two rows r₁ = (x₁ | z₁), r₂ = (x₂ | z₂) commute iff x₁·z₂ + z₁·x₂ is even (each dot product counts the qubits on which “an X meets a Z” — exactly the collision theorem). By hand for the example above: XZ = (1 0 | 0 1) and ZX = (0 1 | 1 0) give x₁·z₂ = (1,0)·(1,0) = 1 and z₁·x₂ = (0,1)·(0,1) = 1, sum 2, even, so XZ and ZX commute (one collision on each qubit, and the two minus signs cancel). For the rows of S: between two X checks the z parts are zero, so they commute automatically; likewise two Z checks; between an X check and a Z check only x₁·z₂ remains, a row of HX dotted with a row of HZ, and all of these even is HXHZᵀ = 0 — where the intuition guide's §3.2 one-line proof AB + BA = 0 is cashed in. The converter CheckMatrix.from_css checks this at construction time (checkmatrix.validate()); a non-commuting table is never accepted.
2.2机器从这张表算出什么:132、12、以及一个「≤ 12」What the machine computes from the table: 132, 12, and one “≤ 12”
原文说 R1 是「rank, logical, and distance computations」的基线。三个词对应三个具体的计算,结果全部记在条目里:
The record says R1 is the baseline for “rank, logical, and distance computations”. Three words, three concrete computations, all recorded in the entry:
| 计算Computation | 它做什么What it does | gross | toric_L3 | 证据词Evidence word |
|---|---|---|---|---|
| 秩rank | 在 GF(2) 上做高斯消元(像解线性方程组那样逐行消去,只是 1 + 1 = 0;qeclib.gf2.rank),数独立的行;k = n − rank S。Gaussian elimination over GF(2) (eliminate row by row as when solving linear equations, except that 1 + 1 = 0; qeclib.gf2.rank), counting independent rows; k = n − rank S. | rank S = 132, k = 144 − 132 = 12 | rank S = 16, k = 18 − 16 = 2 | verified |
| 逻辑算符logicals | 求与全部 Z 检查对易却不是 X 检查乘积的 X 串(以及对偶的 Z 串),共 k 对。Find X strings commuting with every Z check yet not products of X checks (and the dual Z strings), k pairs in all. | 12 对pairs | 2 对pairs | verified |
| 码距distance | 小码穷举全部非平凡逻辑算符取最轻(exact-css-enum);大码随机搜索给上界(rand-lowweight-v1)。Small codes: enumerate every nontrivial logical and take the lightest (exact-css-enum); large codes: random search gives an upper bound (rand-lowweight-v1). | 上界 ≤ 12(种子 5,2000 次);下界 12 引自 bravyi2024bicycleupper ≤ 12 (seed 5, 2000 iterations); lower 12 cited to bravyi2024bicycle | d = 3 | bounded / verified |
第一行的 k = n − rank S 还悄悄用了一个条件:检查乘起来不能等于 −I。每条检查都与其他检查对易,但几条检查的乘积可能恰好是「−1 乘单位矩阵」,那样就没有任何状态能让它们全部读 +1,码空间是空的。三比特的例子:XZZ、ZXZ、ZZX、XXX 两两对易(任意两条都恰在两个比特上一个 X 撞一个 Z),可四条相乘得 −I。BB 码不会出这种事:它每条检查要么全是 X、要么全是 Z(CSS),X 检查的乘积仍是全 X 的串、符号为 +,Z 检查同理,两者相乘不可能是 −I。所以对 BB 码,k = 144 − 132 = 12 直接成立。
再看最后一行:R1 这一级只能给 gross 的码距一个上界。144 × 288 的表让机器能找到一条重量 12 的逻辑算符(存在性见证:拿出一个具体例子,证明「重量 12 的逻辑算符存在」,于是 d ≤ 12),却不足以让机器在合理时间内排除重量 1 到 11:逐个检查重量不超过 11 的 X 串,约有 Σw=1..11 C(144, w) ≈ 1.0 × 10¹⁶ 个;换一种办法跑遍全部候选逻辑串,则是 2⁷⁸ ≈ 3 × 10²³ 个(78 = 144 − 66 是与全部 Z 检查对易的 X 串所成空间的维数,下一章会再遇到这个数)。所以 gross 的 d = 12 是 bounded:上界机器算的,下界文献给的(Bravyi 等人论文 Table 3 的说明写明,码距用混合整数规划算出,这是一种能证明「找到的就是最小值」的整数优化方法)。这不是 R1 的缺陷,而是它的边界:辛形式让一切可算,不保证一切算得完。细节在参数与实例 3.3 节与直觉教程 4.4 节。
The first row's k = n − rank S quietly uses one condition: no product of checks may equal −I. Every check commutes with every other, yet a product of several can be exactly “−1 times the identity”, and then no state reads +1 on all of them and the code space is empty. A three-qubit example: XZZ, ZXZ, ZZX, XXX commute pairwise (any two collide, an X against a Z, on exactly two qubits), yet the product of all four is −I. BB codes cannot do this: every check is all-X or all-Z (CSS), a product of X checks is again an all-X string with sign +, likewise for Z checks, and the two together can never give −I. So for BB codes k = 144 − 132 = 12 holds directly.
Now the last row: at rung R1 the machine can give gross's distance only an upper bound. The 144 × 288 table lets it find one logical of weight 12 (an existence witness: one concrete example proving that a weight-12 logical exists, hence d ≤ 12) but not exclude weights 1 to 11 in reasonable time: checking every X string of weight at most 11 one by one means about Σw=1..11 C(144, w) ≈ 1.0 × 10¹⁶ strings; running through all candidate logical strings instead means 2⁷⁸ ≈ 3 × 10²³ (78 = 144 − 66 is the dimension of the space of X strings commuting with every Z check; the number returns in the next chapter). So gross's d = 12 is bounded: upper bound by machine, lower bound from the literature (the caption of Table 3 in Bravyi et al. says the distances were computed by mixed integer programming, an integer-optimisation method that can prove the value it finds is the minimum). That is not a defect of R1 but its boundary: the symplectic form makes everything computable, not everything finishable. Details in Parameters & instances §3.3 and the intuition guide's §4.4.
下面的实验台就是 R1 的活版本:它在浏览器里按同一条定义生成 gross 的 HX、HZ,现场算秩与 k(读数里的 rank HX = 66、rank HZ = 66、k = 12 与 QEC-Bank 一致),按「搜索低重逻辑算符」做一次随机搜索:随机组合出至多 3000 条候选逻辑串,每条再用 X 检查贪心地削轻,限时 1.5 秒,随机数种子固定为 5。在我们测试的浏览器里 3000 次约 0.85 秒跑完,给出重量 16(更慢的机器可能在 1.5 秒时提前停下,结果只会相同或更重)。这正好演示了「上界」二字:找到重量 w 的逻辑算符只证明 d ≤ w;QEC-Bank 的搜索(2000 次,种子 5)碰到了 12。
The bench below is R1 alive: in the browser it generates gross's HX, HZ from the same definition, computes rank and k on the spot (the readout's rank HX = 66, rank HZ = 66, k = 12 agree with the QEC-Bank), and “Search a low-weight logical” runs a random search: it combines at most 3000 random candidate logical strings, makes each lighter greedily with X checks, stops after 1.5 s, and uses the fixed random seed 5. In the browser we tested, the 3000 tries finish in about 0.85 s and give weight 16 (a slower machine may stop early at 1.5 s, and then the result can only be the same or heavier). That is precisely the meaning of “upper bound”: finding a logical of weight w proves only d ≤ w; the QEC-Bank's search (2000 iterations, seed 5) hit 12.
R1 是梯子的地基,也是唯一一级「机器说了算」的地方:一张 144 × 288 的 0/1 表,rank 132,k = 12,一条重量 12 的逻辑算符。往上每一级都是对这张表的解释——解释可以更深刻,但证据等级不会自动跟着变高。
R1 is the ladder's foundation and the only rung where “the machine has the last word”: one 144 × 288 binary table, rank 132, k = 12, one logical of weight 12. Every rung above is an interpretation of that table — interpretations can be deeper, but the evidence grade does not rise with them automatically.
R2 · 结构:一条算出来的链复形,一本译码用的环面词典R2 · Structure: one computed chain complex, one toric dictionary for decoding
R2 问的是「矩阵为什么长这样,12 个逻辑比特住在哪里」。BB 条目在这一级放了两条记录,标签不同,必须分开读:homological 是 derived——转换器从 R1 的矩阵算出一条三项链复形;toric-cylinder 是 curated from sahay2026matching——一篇论文的译码技巧,QEC-Bank 只是记下它并划清它不是什么。 R2 asks “why do the matrices look like this, and where do the 12 logical qubits live”. The BB entry places two records here with different labels that must be read apart: homological is derived — a converter computes a three-term chain complex from the R1 matrices; toric-cylinder is curated from sahay2026matching — one paper's decoding technique, which the QEC-Bank records while drawing the line around what it is not.
3.1同调表示:R → R² → R,78 − 66 = 12The homological view: R → R² → R, and 78 − 66 = 12
原文:「The matrices form the three-term CSS complex R -> R^2 -> R with boundary maps [B;A] and [A|B]. Logical operators are middle homology classes, and the gross code's twelve logical qubits are the quotient dimension left after the two rank-66 boundary maps.」逐个符号读。R 是直觉教程2.3 节的那个多项式环 F₂[x, y]/(x¹² − 1, y⁶ − 1):把它当成一个 72 维的 0/1 向量空间,每个格子 (i, j) 一个坐标。R² 就是两份 R 并排,144 维,正好是 144 个数据比特(左层一份、右层一份)。三个空间之间有两个线性映射,叫∂(读「边界」),写成矩阵就是我们熟悉的两块:
Verbatim: “The matrices form the three-term CSS complex R -> R^2 -> R with boundary maps [B;A] and [A|B]. Logical operators are middle homology classes, and the gross code's twelve logical qubits are the quotient dimension left after the two rank-66 boundary maps.” Symbol by symbol. R is the polynomial ring F₂[x, y]/(x¹² − 1, y⁶ − 1) of the intuition guide's §2.3: treat it as a 72-dimensional 0/1 vector space, one coordinate per site (i, j). R² is two copies of R side by side, 144-dimensional, exactly the 144 data qubits (one copy per layer). Between the three spaces sit two linear maps called ∂ (read “boundary”), and as matrices they are the two familiar blocks:
手算一次 ∂₁∂₂ = 0。取 gross 的 Z 检查 0。∂₂ 把它送到它碰的 6 个比特:左层 3、60、66,右层 76、77、126(编号规则:格点 (i, j) 的左层比特是 6i + j,右层比特再加 72)。再用 ∂₁ = HX 看这 6 个比特点亮哪些 X 检查:每个比特属于 3 条 X 检查,共 18 次「碰」,落在 9 条不同的 X 检查上,而且每条恰好被碰两次:
∂₁∂₂ = 0 by hand, once. Take gross's Z check 0. ∂₂ sends it to the 6 qubits it touches: left-layer 3, 60, 66 and right-layer 76, 77, 126 (indexing: the left-layer qubit at site (i, j) is 6i + j, the right-layer one adds 72). Now let ∂₁ = HX say which X checks those 6 qubits light: each qubit belongs to 3 X checks, 18 hits in all, landing on 9 different X checks, and each is hit exactly twice:
| X 检查编号X check | 1 | 2 | 42 | 48 | 57 | 64 | 65 | 70 | 71 |
|---|---|---|---|---|---|---|---|---|---|
| 与 Z 检查 0 共有的比特数qubits shared with Z check 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
mod 2 下 2 = 0,所以 ∂₁∂₂(Z 检查 0) = 0:「边界的边界是空的」。换成物理的话:Z 检查 0 与每条 X 检查共享偶数个比特,所以两者对易(2.1 节的交叉点积为偶)。其余 71 条 Z 检查只是把这张表平移一下,结论一样;HXHZᵀ = 0 就是这 72 张表合在一起。
Mod 2, 2 = 0, so ∂₁∂₂(Z check 0) = 0: “the boundary of a boundary is empty”. In physical terms: Z check 0 shares an even number of qubits with every X check, so the two commute (the crossed dot product of §2.1 is even). The other 71 Z checks just translate this table, with the same result; HXHZᵀ = 0 is these 72 tables together.
两个映射的含义说人话:∂₂ = [B ; A](B 叠在 A 上,144 × 72)把「一组 Z 检查」送到「它们乘起来碰到的比特集合」——这是 HZᵀ;∂₁ = [A | B](72 × 144)就是 HX,它是一个症状映射:输入一个「Z 型错误在哪些比特上」的 0/1 向量 e,HXe 就是被这个 Z 错误点亮的 X 检查——《译码器 · 高中数学版》的症状公式 s = He。对偶地,一个 X 串 v 与全部 Z 检查对易 ⇔ HZv = 0 ⇔ v 在 ∂₂ᵀ 的核里。为避免绕晕,本章固定在一侧数逻辑比特——X 逻辑算符——它们只需要 HZ 与 HX 这两张我们已有的表:
In plain words, the two maps: ∂₂ = [B ; A] (B stacked on A, 144 × 72) sends “a set of Z checks” to “the set of qubits their product touches” — this is HZᵀ; and ∂₁ = [A | B] (72 × 144), i.e. HX, is a syndrome map: feed it a 0/1 vector e saying on which qubits a Z-type error sits, and HXe is the set of X checks that error lights up — the syndrome formula s = He of “Decoders · High-School Edition”. Dually, an X string v commutes with every Z check ⇔ HZv = 0 ⇔ v lies in the kernel of ∂₂ᵀ. To avoid dizziness, this chapter counts logical qubits on one fixed side — the X logicals — which needs only the two tables HZ and HX we already have:
其中是 X 检查乘积的those that are products of X checks: rowspace HX, dim = 66
X 逻辑算符的独立方向independent X logicals: 78 − 66 = 12 = kker HZ = 使 HZv = 0 的全部向量 v(「核」);rowspace HX = HX 的行的全部和(「行空间」,即 ∂₁ᵀ 的像);dim = 维数;144 = n,66 = 两个秩。严格说,原文的「中间同调」指的是 Z 一侧:ker ∂₁(通过全部 X 检查的 Z 串,144 − 66 = 78 维)除以 im ∂₂(Z 检查的乘积,66 维),叫「闭链」除以「边界」;这里数的 X 一侧 ker ∂₂ᵀ / im ∂₁ᵀ 是它的镜像(数学上叫上同调),维数同样是 78 − 66 = 12。两侧各 12 个方向,配成 12 对 X、Z 逻辑算符。toric_L3 同样算:ker 维 18 − 8 = 10,边界维 8,10 − 8 = 2。ker HZ = all vectors v with HZv = 0 (the “kernel”); rowspace HX = all sums of rows of HX (the “row space”, i.e. the image of ∂₁ᵀ); dim = dimension; 144 = n, 66 = the two ranks. Strictly, the record's “middle homology” is the Z side: ker ∂₁ (Z strings passing every X check, 144 − 66 = 78 dimensions) divided by im ∂₂ (products of Z checks, 66 dimensions), called “cycles” modulo “boundaries”; the X side counted here, ker ∂₂ᵀ / im ∂₁ᵀ, is its mirror image (mathematicians call it cohomology), with the same dimension 78 − 66 = 12. Twelve directions on each side pair up into 12 pairs of X and Z logicals. Same count for toric_L3: kernel dim 18 − 8 = 10, boundaries dim 8, 10 − 8 = 2.
这三行就是原文「twelve logical qubits are the quotient dimension left after the two rank-66 boundary maps」的算术:一个 66 决定了「闭链」有 78 维(144 − 66),另一个 66 决定了「边界」有 66 维,差 12。它比直觉教程4.1 节的 k = 144 − 66 − 66 多说了一层话:不只是「剩下 12 个」,而是「剩下的 12 个住在哪里」——住在 78 维空间对 66 维子空间的商quotient:把子空间里的向量都当成零后剩下的空间。这里是「把 X 检查的乘积当成什么也没做」之后,剩下的 12 个独立方向就是 12 个 X 逻辑算符生成元,它们的组合共 2¹² = 4096 个等价类。里。每一个 X 逻辑算符不是一条固定的串,而是一整个等价类:一条串加上任意几条 X 检查,还是同一个逻辑算符。码距问的是:在所有非平凡等价类里,最轻的那条代表有多重——这就是为什么第 2 章说跑遍候选要 2⁷⁸ 量级:78 维空间里的每个向量都可能是某个等价类的代表。
These three lines are the arithmetic of the record's “twelve logical qubits are the quotient dimension left after the two rank-66 boundary maps”: one 66 fixes the “cycles” at 78 dimensions (144 − 66), the other 66 fixes the “boundaries” at 66, difference 12. It says one thing more than the intuition guide's §4.1 k = 144 − 66 − 66: not merely “12 remain” but “where the 12 live” — in the quotientThe space that remains after every vector of a subspace is treated as zero. Here: once “a product of X checks does nothing” is taken literally, the 12 directions that remain are the 12 independent X-logical generators, whose combinations form 2¹² = 4096 classes. of a 78-dimensional space by a 66-dimensional subspace. An X logical is not one fixed string but a whole equivalence class: a string plus any X checks is the same logical. Distance asks how heavy the lightest representative is, taken over all nontrivial classes — which is why Chapter 2 said sweeping the candidates means on the order of 2⁷⁸: every vector in the 78-dimensional space may represent some class.
标签写着 derived by bivariate_bicycle.build checkmatrix-to-CSS-complex v1:一个有名字的转换器把 R1 的两张矩阵改写成两个边界映射,并核对 ∂₁∂₂ = 0——这就是 reproduce.py 里 (hx @ hz.T) % 2 全零那一行。所以「链复形」对 BB 条目不是文献叙述,而是机器计算;它列出的两篇文献 lin2023twoblock(据文献扫描报告:H.-K. Lin, L. P. Pryadko, “Quantum Two-Block Group Algebra Codes”, 2023,登记待补)与 bravyi2024bicycle 是命名来源,不是可信依据。对比表面码条目:那里的 homological 记录是 curated(《Surface Code · 表示阶梯》3.2 节),因为它说的「相对闭链」涉及边界,机器没有单独核对;BB 码在环面上没有边界,链复形就是矩阵本身,所以能算。一般的二元词典见 QEC-Bank 基础页 CSS codes & chain complexes。
The label reads derived by bivariate_bicycle.build checkmatrix-to-CSS-complex v1: a named converter rewrites the two R1 matrices as two boundary maps and checks ∂₁∂₂ = 0 — the all-zero (hx @ hz.T) % 2 line in reproduce.py. So for the BB entry the “chain complex” is a machine computation, not literature narrative; the two papers it lists, lin2023twoblock (from the scout report: H.-K. Lin, L. P. Pryadko, “Quantum Two-Block Group Algebra Codes”, 2023, registration pending) and bravyi2024bicycle, are naming sources, not warrants. Compare the surface-code entry, whose homological record is curated (“Surface Code · Representation Ladder”, §3.2) because its “relative cycles” involve boundaries the machine did not separately check; a BB code on a torus has no boundary, the complex is the matrices themselves, and so it can be computed. The general binary dictionary is the QEC-Bank foundations page CSS codes & chain complexes.
3.2环面圆柱:一本译码词典,不是「gross = 六个环面码」Toric cylinders: a decoder dictionary, not “gross = six toric codes”
第二条 R2 记录的原文:「For decoding, selected symmetries reduce parts of the syndrome problem to toric-code-like cylinders on which matching applies. The reduction is an operational decoder dictionary, not a global phase equivalence.」标签 curated from sahay2026matching(据文献扫描报告:K. Sahay, D. J. Williamson, B. J. Brown, “A Matching Decoder for Bivariate Bicycle Codes”, 2026,登记待补)。(论文 arXiv 2602.22770,本页已核对其摘要页与正文 §II–IV)。先说它解决什么问题。匹配译码依赖「每个错误恰好点亮两个警报」:在环面码上,一个单比特 Z 错误恰好点亮它两端的两条检查,把点亮的警报两两连线配对就能猜出错误在哪(最小权完美匹配MWPM:在把点亮的警报两两配对的所有方式里,选连线总长(总权重)最小的一种,连线经过的比特就是猜测的错误。,MWPM:在所有配对方式里选连线总长最短的一种)。BB 码里每个比特属于 3 条 X 检查和 3 条 Z 检查(导览 2.2 节),一个 Z 错误点亮三个警报,配对失去意义,于是直觉教程6.3 节改用 BP-OSD(置信传播加有序统计译码,一种不要求「成对」的通用译码器,译码器侧面从零讲)。Sahay 等人的办法分三步:
① 挑一组乘积为单位算符的检查。论文把这样一组检查叫一个「对称性」(symmetry;这里不是「平移对称」的意思)。乘积为单位 ⇔ 每个比特被这组检查碰偶数次;gross 的每个比特只属于 3 条 X 检查,偶数次只能是 0 次或 2 次。于是任何一个 Z 错误在这组检查里恰好点亮 0 个或 2 个警报——警报又成对了,在这组检查上就能跑匹配。gross 有 6 组彼此独立的这种检查集合:72 条 X 检查的秩是 66,恰好有 72 − 66 = 6 个独立的「乘积为单位」的组合(本页脚本算出其中一组含 32 条 X 检查,每个比特被它碰 0 次或 2 次)。
② 切成两个圆柱,只数一道切口。把这组检查按环面上的位置分成两个圆柱形区域 U、V(圆柱 = 一个方向绕回、另一个方向有两道边界的圆筒面;U、V 之间有两道切口)。U 里全部检查的乘积 P 在 U 内部两两抵消,只剩两道切口附近的两条串 P₁、P₂。这一步要求圆柱比一条检查的支撑宽得多(论文 III.2.1 节的条件 M/2 ≫ r,r = 能装下一条检查支撑的方框的直径):这样 P₁、P₂ 互不相交,任何一条检查最多碰到其中一条,于是两者各自与全部检查对易;论文证明它们各自是逻辑算符(附录 D.3),取 L̄ = P₁。然后只数横过切口 1(P₁ 所在那道)的配对线:它的奇偶就是译码器对「错误与 P₁ 是否反对易」的估计(III.2.2 节式 (19))。不能把 U、V 之间的全部跨线都数进来:那样连横过切口 2 的也算上,得到的是错误与 P₁P₂ = P 的关系,而 P 是检查的乘积,这个奇偶不含任何逻辑信息。还要记住这是估计:式 (19) 在论文里是对「错误只落在 L̄ 附近」的简化噪声证明的,一般情况下匹配配错了,这个奇偶就跟着错。记录里的「toric-code-like cylinders」指的就是这一步,图 3.2 在 4 × 4 环面码上演示。
小码要先「放大再折回」。「圆柱比检查宽得多」在小码上常常做不到,论文 III.2.3 节明说好几个实用的小码不满足。以 gross 为例:一条检查的支撑装在 4 × 4 格的方框里(A = x³ + y + y²、B = y³ + x + x² 的指数最大到 3),而 12 × 6 的环面对半切,圆柱只有 6 格或 3 格宽。论文的办法是:用同样的两个多项式,在不够宽的那个方向把环面加倍(M × N 变成 2M × N),在加倍后的码上找对称、切圆柱、取出逻辑算符,不够就再加倍;再把加倍码上的串按 xj ↦ xj mod M 折回原来的码,同一格上叠了两次的比特按模 2 相消(式 (20))。折回后的串要么仍是逻辑算符,要么乘成了检查,取决于这个码的「拓扑受挫」程度(6.4 节)。译码也可以直接在加倍码上做:把原码的症状复制两份,放在 xjyk 与 xj+Myk 两处(式 (21)),在加倍码上匹配,再按式 (20) 读回原码的逻辑信息。所以把圆柱技巧直接套到 gross 这样的小码上并不是自动成立的,中间要经过这一步。
③ 用 BP 和「过度匹配」补漏。一组检查上的匹配看不到这组之外的警报,一些低重量错误能骗过它。论文先用 BP 根据全部症状给匹配图的边重新定权;再把 6 组独立检查组合出的全部 2⁶ − 1 = 63 组都匹配一遍(over-matching,过度匹配),让这些结果互相核对,纠正个别出错的匹配。论文报告的数值都是 code-capacity 比特翻转噪声下的结果(只有数据比特出错,测量完美)。gross 自己的一个对称(36 条检查)画在译码器侧面图 3.4 的 (a) 里。
The second R2 record verbatim: “For decoding, selected symmetries reduce parts of the syndrome problem to toric-code-like cylinders on which matching applies. The reduction is an operational decoder dictionary, not a global phase equivalence.” Label curated from sahay2026matching (from the scout report: K. Sahay, D. J. Williamson, B. J. Brown, “A Matching Decoder for Bivariate Bicycle Codes”, 2026, registration pending). (paper arXiv 2602.22770; this page checked its abstract page and §§II–IV of the text). First, the problem it solves. Matching relies on “every error lights exactly two alarms”: on the toric code a single-qubit Z error lights exactly the two checks at its ends, and pairing up the lit alarms by lines tells you where the error was (minimum-weight perfect matchingMWPM: among all ways of pairing up the lit alarms, choose the one whose connecting lines have the smallest total length (total weight); the qubits the lines pass through are the guessed error., MWPM: among all pairings choose the one with the shortest total length). In a BB code every qubit belongs to 3 X checks and 3 Z checks (tour §2.2), one Z error lights three alarms, pairing loses its meaning, and so the intuition guide's §6.3 switches to BP-OSD (belief propagation plus ordered-statistics decoding, a general decoder that needs no pairs; the decoders facet teaches it from zero). Sahay et al.'s method has three steps:
① Pick a set of checks whose product is the identity. The paper calls such a set a “symmetry” (not in the sense of a translation symmetry). Product equal to the identity ⇔ every qubit is touched an even number of times by the set; a gross qubit belongs to only 3 X checks, so “even” means 0 or 2. Hence any single Z error lights exactly 0 or 2 alarms inside the set — the alarms come in pairs again, and matching runs on that set. Gross has 6 independent such sets: the 72 X checks have rank 66, leaving exactly 72 − 66 = 6 independent combinations whose product is the identity (this page's script finds one of them with 32 X checks, touching every qubit 0 or 2 times).
② Cut into two cylinders and count one cut only. Split the set by position on the torus into two cylindrical regions U and V (a cylinder wraps round in one direction and has two boundaries in the other; U and V meet along two cuts). The product P of all checks in U cancels in the interior of U and leaves only two strings P₁ and P₂ near the two cuts. This needs the cylinders to be much wider than the support of one check (the condition M/2 ≫ r of the paper's §III.2.1, r = the diameter of a box that holds the support of a check): then P₁ and P₂ are disjoint, every check touches at most one of them, and so each commutes with every check on its own; the paper proves each is a logical operator (appendix D.3) and takes L̄ = P₁. Then count only the pairing lines that cross cut 1, the cut where P₁ lies: their parity is the decoder's estimate of whether the error anticommutes with P₁ (§III.2.2, Eq. (19)). Counting every line between U and V is wrong: it also includes the lines across cut 2, and the result then concerns P₁P₂ = P, a product of checks, whose parity carries no logical information. And it is an estimate: the paper proves Eq. (19) for a simplified noise model in which errors sit only near L̄; in general, if matching pairs wrongly, this parity is wrong too. The record's “toric-code-like cylinders” refers to this step; Fig. 3.2 shows it on the 4 × 4 toric code.
Small codes first need “enlarge, then fold back”. “Cylinders much wider than a check” often fails for small codes; the paper's §III.2.3 says several practical small codes violate it. Take gross: one check's support fits in a 4 × 4 box of sites (the exponents of A = x³ + y + y² and B = y³ + x + x² reach 3), while cutting the 12 × 6 torus in half gives cylinders only 6 or 3 sites wide. The paper's remedy: keep the two polynomials and double the torus in the direction that is too narrow (M × N becomes 2M × N), find the symmetries, cut the cylinders and extract the logical operators on the doubled code, doubling again if needed; then fold the strings of the doubled code back onto the original with xj ↦ xj mod M, qubits landing twice on one site cancelling mod 2 (Eq. (20)). A folded string either stays a logical operator or multiplies into checks, depending on how topologically frustrated the code is (§6.4). Decoding can also run on the doubled code directly: copy the original syndrome twice, at xjyk and xj+Myk (Eq. (21)), match on the doubled code, and read the original code's logical information back through Eq. (20). So applying the cylinder trick to a small code like gross is not automatic; it goes through this step.
③ Patch the gaps with BP and “over-matching”. Matching on one set cannot see alarms outside it, and some low-weight errors fool it. The paper first uses BP to reweight the edges of the matching graph from the whole syndrome, then matches all 2⁶ − 1 = 63 sets built from the 6 independent ones (over-matching), so the results check one another and individual failed matchings are corrected. The numbers the paper reports are all for code-capacity bit-flip noise (only data qubits err; measurements are perfect). One of gross's own symmetries (36 checks) is drawn in panel (a) of Fig. 3.4 on the decoders facet.
QEC-Bank 记下它,同时用后半句划了一条线:这是operational decoder dictionary,不是 global phase equivalence。说人话:「我可以把译码问题的某几块翻译成环面码的译码问题来解」与「gross 码就是几个环面码」是两句完全不同的话。前者保留的对象是被选出来的那部分症状与逻辑歧义;后者是关于物理的强断言:把全部检查加起来取负号,得到这个码的哈密顿量码的哈密顿量 H = −(全部检查之和):一个能量函数,满足全部检查(读数全为 +1)的状态能量最低,所以码空间就是它的基态空间。 H = −Σ 检查(满足全部检查的状态能量最低,码空间就是它的最低能量态);「gross 就是 6 个环面码」意味着存在一个有限深度的局域电路(层数固定、每个门只碰相邻几个比特的电路)把这个哈密顿量整个变成 6 份互不相干的环面码哈密顿量——物理上叫两者属于同一个相。文献里没有这样的定理;Chen 等人反而发现 BB 码有「拓扑受挫」(6.4 节):环面上的基态简并度与任意子的总数对不上,这正是「独立环面码的堆叠」不会有的现象。所以这条记录放在 R2「结构」而不是 R5「跨模型视图」:它说的是译码问题的结构,而不是码的另一种等价定义。
The QEC-Bank records it and draws a line with the second sentence: this is an operational decoder dictionary, not a global phase equivalence. In plain words: “I can translate some pieces of the decoding problem into toric-code decoding problems and solve them there” and “the gross code is a few toric codes” are entirely different statements. The former preserves the selected part of the syndromes and logical ambiguity; the latter is a strong physical claim. Add up all the checks with a minus sign and you get the code's HamiltonianThe code Hamiltonian H = −(sum of all checks): an energy function whose lowest-energy states are exactly those passing every check (all readouts +1), so the code space is its ground space. H = −Σ checks (states passing every check have the lowest energy; the code space is its ground space); “gross is 6 toric codes” would mean a finite-depth local circuit (a fixed number of layers, every gate touching only a few neighbouring qubits) turns this Hamiltonian into 6 unrelated copies of the toric-code Hamiltonian — physicists say the two are in the same phase. The literature has no such theorem; Chen et al. instead find “topological frustration” in BB codes (§6.4): the ground-state degeneracy on a torus does not match the total number of anyons, which is exactly what a stack of independent toric codes cannot show. That is why this record sits at R2 “Structure” rather than R5 “Cross-model views”: it speaks of the structure of the decoding problem, not of another equivalent definition of the code.
| toric-cylinder 说的What toric-cylinder says | 它不说的What it does not say | |
|---|---|---|
| 对象Object | 约化后的译码问题:被选出的那几组检查上的症状,以及由此能判断的逻辑信息The decoding problem after the reduction: the syndrome on the selected sets of checks, and the logical information it lets you judge | gross 的哈密顿量、码空间或稳定子群整体The gross Hamiltonian, code space or stabilizer group as a whole |
| 保留什么Preserves | 在约化下被选出的那部分症状 / 逻辑扇区(原文 selected syndrome/logical sectors under the reduction)The selected syndrome / logical sectors under the reduction (verbatim) | 不保证全部 12 个逻辑比特、全部 144 条检查都被覆盖No guarantee that all 12 logicals and all 144 checks are covered |
| 推出什么Licenses | 「在这些圆柱上可以用匹配(MWPM)代替通用 qLDPC(低密度校验量子码,即每条检查只碰少数比特的码)译码器」“On these cylinders matching (MWPM) may replace a generic qLDPC decoder (qLDPC = quantum low-density parity-check: every check touches only a few qubits)” | 不推出「BB 码与环面码局域 Clifford 等价」(即能否用一层层作用在少数比特上的 Clifford 门——H、S、CNOT 这类把 Pauli 串变成 Pauli 串的门——把一个码变成另一个;原文 operational decoder equivalence is not global local-Clifford equivalence)Not “BB codes are local-Clifford equivalent to toric codes” (i.e. that layers of Clifford gates on few qubits each — gates like H, S and CNOT that map Pauli strings to Pauli strings — turn one code into the other; verbatim: operational decoder equivalence is not global local-Clifford equivalence) |
| 证据等级Evidence grade | curated · 一篇 2026 年的论文,QEC-Bank 未复现其译码器one 2026 paper; the QEC-Bank has not reproduced its decoder | 条目的译码器侧面记录了两条 BP-OSD 记录,加上这条 research-grade(研究级:刚发表、尚无独立复现)的圆柱匹配记录,共三条The entry's decoders facet records two BP-OSD records plus this research-grade (freshly published, not yet independently reproduced) cylinder-matching record, three in all |
「k = 12 = 6 × 2,环面码 k = 2,所以 gross 是 6 个环面码」——这个推理在阶梯上找不到任何一条记录支持。3.1 节的 12 是一个商空间的维数;3.2 节的圆柱是译码时借用的形状;6.4 节的任意子分析明确说有限 BB 码不必是环面码的平凡堆叠。导览 4.2 节从锚点 toric_L3 的角度说过同一件事:同一个构造器能造出环面码,不等于它造出的每个码都是环面码。
“k = 12 = 6 × 2, the toric code has k = 2, so gross is 6 toric codes” — no record on the ladder supports this inference. The 12 of §3.1 is the dimension of a quotient space; the cylinders of §3.2 are shapes borrowed for decoding; the anyon analysis of §6.4 says explicitly that finite BB codes need not be trivial stacks of toric codes. Tour §4.2 made the same point from the anchor toric_L3: that one constructor can build the toric code does not make every code it builds a toric code.
R2 的两条记录回答两个不同的「为什么」。链复形回答「12 个逻辑比特为什么存在、住在哪」:78 维闭链对 66 维边界的商,机器算的。环面圆柱回答「为什么有时还能用匹配译码」:一组乘积为单位的检查让警报重新成对,切成圆柱后还能读出逻辑信息,文献说的。前者是码的结构,后者是问题的结构;两者都不说 gross「是」环面码。
The two R2 records answer two different “why”s. The chain complex answers “why do 12 logical qubits exist and where do they live”: the quotient of 78-dimensional cycles by 66-dimensional boundaries, computed by the machine. The toric cylinders answer “why can matching still sometimes decode”: a set of checks whose product is the identity makes alarms come in pairs again, and cutting it into cylinders still yields logical information, stated by the literature. The former is the structure of the code, the latter the structure of a problem; neither says gross “is” a toric code.
R3 · 动力学:这一级诚实地空着R3 · Dynamics: this rung is honestly empty
QEC-Bank 页面在 R3 只有一句话:「No representation at this rung is recorded for this entry.」这一章解释 R3 本该记录什么、为什么 BB 条目在这里什么也没放、以及哪些东西看起来像 R3 记录但并不是。 At R3 the QEC-Bank page has one sentence: “No representation at this rung is recorded for this entry.” This chapter explains what R3 would record, why the BB entry placed nothing here, and which things look like R3 records but are not.
4.1R3 会装什么:有顺序的测量与瞬时稳定子群What R3 would hold: ordered measurements and instantaneous stabilizer groups
R1、R2 描述的是一个静态对象:144 条检查同时成立,不分先后。但真实的机器一次只测一批检查,先测哪条、后测哪条有讲究,有些码甚至靠测量顺序来定义自己——比如 Floquet 码(按固定周期反复执行同一串测量的「动态码」,蜂窝码是最有名的例子),每一轮测的是两体算符(只作用在两个比特上的 Pauli 串,如 X₁X₂),稳定子群随时间轮换:每一时刻都有一张此刻的检查矩阵(瞬时稳定子群的生成元),但它一轮一轮地变,没有一张不随时间变的矩阵能描述整个周期。R3「动力学」这一级为这类描述准备:记录一份有序的测量时间表,以及每个时刻的瞬时稳定子群instantaneous stabilizer group, ISG:在测量序列的某一时刻,此刻已被确定为 +1 的全部检查(及其乘积)构成的群。静态稳定子码的 ISG 始终等于它的稳定子群;动态码的 ISG 随时间改变。QEC-Bank 基础页 Measurement schedules & ISGs 讲全了。。
R1 and R2 describe a static object: 144 checks that hold simultaneously, in no order. A real machine measures checks a batch at a time, the order matters, and some codes even define themselves by their measurement order — Floquet codes (“dynamical codes” that repeat one fixed sequence of measurements periodically, the honeycomb code being the best known), for instance, measure two-body operators (Pauli strings on just two qubits, such as X₁X₂) each round, their stabilizer group rotates in time: at each moment there is a check matrix for that moment (generators of the instantaneous stabilizer group), but it changes from round to round, and no single time-independent matrix describes the entire cycle. Rung R3 “Dynamics” exists for such descriptions: an ordered measurement schedule together with the instantaneous stabilizer groupISG: at a given moment of the measurement sequence, the group formed by all checks (and their products) currently known to be +1. For a static stabilizer code the ISG always equals its stabilizer group; for dynamic codes it changes in time. The QEC-Bank foundations page “Measurement schedules & ISGs” covers it in full. at each step.
对 BB 码这样的静态稳定子码,R3 的内容是平凡的:无论你以什么顺序测那 144 条检查,每一轮结束后被确定的稳定子群都是同一个——就是 R1 那张 144 × 288 的表张成的群,rank 132。顺序会影响的是电路层面的事情(一个辅助比特的错误会传播到哪几个数据比特),那属于 R4,不属于 R3。所以「R3 无记录」对 BB 条目不是漏写,而是「没有非平凡的东西可记」。QEC-Bank 的规则是:一条 views 记录必须是一句有内容、有出处标签、能被单独核对的断言;「ISG 始终等于稳定子群」对静态码是定义的直接后果,不值得单列一条。
For a static stabilizer code such as a BB code the R3 content is trivial: whatever order you measure the 144 checks in, the stabilizer group fixed at the end of each round is the same one — the group spanned by the R1 table of 144 × 288, rank 132. What the order does affect is a matter of the circuit (to which data qubits an ancilla's error spreads), which belongs to R4, not R3. So “no R3 record” is not an omission for the BB entry but “nothing nontrivial to record”. The QEC-Bank rule: a views record must be a substantive assertion with a provenance label that can be checked on its own; “the ISG always equals the stabilizer group” is an immediate consequence of the definition for a static code and does not earn a record.
4.2看起来像 R3、但不是的三样东西Three things that look like R3 but are not
| 候选Candidate | 它是什么What it is | 为什么不是 R3 记录Why it is not an R3 record |
|---|---|---|
| Bravyi 等人的 7 层 CNOT 调度Bravyi et al.'s seven-layer CNOT schedule | 一份把 gross 的 144 × 6 = 864 个 CNOT 排进 7 个时间层的顺序表(bravyi2024bicycle §5:「整个症状测量周期只需 7 层 CNOT」,加上辅助比特的准备与测量共深度 8;直觉教程6.2 节)An ordering of gross's 144 × 6 = 864 CNOTs into 7 time layers (bravyi2024bicycle §5: “the full cycle of syndrome measurement requires only 7 layers of CNOT gates”, depth 8 with ancilla preparation and measurement; intuition guide §6.2) | 它是一个电路(门的顺序),不是一份改变稳定子群的测量时间表;它的位置在 R4,而且 QEC-Bank 只把它作为 curated 叙述引用,没有导出(第 5 章)。It is a circuit (an order of gates), not a measurement schedule that changes the stabilizer group; its place is R4, and the QEC-Bank cites it only as curated narrative without exporting it (Chapter 5). |
| Shaw–Terhal 的「变形电路」Shaw–Terhal “morphing circuits” | 为一个新定义的 BB 码家族设计的校验电路:周期走到一半时,数据与辅助比特处在另一个「中途码」里,每个周期 6 层 CNOT,每个比特只需连 5 个邻居而不是 6 个(shaw2025morphing:M. H. Shaw, B. M. Terhal, “Lowering Connectivity Requirements For Bivariate Bicycle Codes Using Morphing Circuits”, arXiv 2407.16336,v1 2024、v3 2025;本页已核对摘要页与正文,QEC-Bank 登记待补)。注意测的是新家族的码,不是给 gross 本身的度 5 电路。Check circuits designed for a newly defined family of BB codes: halfway through a cycle the data and ancilla qubits sit in a different “mid-cycle code”, each cycle uses 6 CNOT layers, and every qubit needs 5 neighbours instead of 6 (shaw2025morphing: M. H. Shaw, B. M. Terhal, “Lowering Connectivity Requirements For Bivariate Bicycle Codes Using Morphing Circuits”, arXiv 2407.16336, v1 2024, v3 2025; this page checked the abstract page and the text; QEC-Bank registration pending). Note that the codes measured belong to the new family; this is not a degree-5 circuit for gross itself. | 这确实有「瞬时码随时间变化」的味道,最接近 R3 的精神——但 QEC-Bank 只在 R4 的 tanner-circuit 记录里把它列为参考文献,用来说明「换电路就换了硬件图与探测器模型」,没有把它的 ISG 序列作为一条断言记下。This does have the flavour of “the instantaneous code changes in time” and is closest to R3's spirit — yet the QEC-Bank lists it only as a reference inside the R4 tanner-circuit record, to show that “changing the circuit changes the hardware graph and detector model”, and records no ISG sequence as an assertion. |
| 环面平移 x、yThe torus translations x, y | 把两层同时挪一格的置换;reproduce.py 断言它把检查行重新编号(导览 6.2 节)Permutations moving both layers one step; reproduce.py asserts they renumber the check rows (tour §6.2) | 这是对称性,不是时间演化;它说「稳定子群映到自身」,与 R3 问的「稳定子群怎样随测量改变」无关。This is a symmetry, not a time evolution; it says “the stabilizer group maps to itself”, unrelated to R3's question “how does the stabilizer group change under measurement”. |
表面码条目在 R3 同样为空,但那个仓库里至少有一份四层 CNOT 时间表的数据文件(《Surface Code · 表示阶梯》4.3 节)。BB 条目连这样的文件都没有:constructor.py 导出的 lattice 里只有坐标、检查支撑和画图用的锚点,没有任何时间信息。导览第 ⑦ 站把这件事列成五条「条目未导出」:辅助比特坐标、门序、重置与测量、探测器定义、电路码距见证。R3 空着,是这五条的直接后果。
The surface-code entry's R3 is empty too, but that repository at least holds a data file with a four-layer CNOT schedule (“Surface Code · Representation Ladder”, §4.3). The BB entry has not even that: the lattice exported by constructor.py holds only coordinates, check supports and drawing anchors, and no time information at all. Stop ⑦ of the tour lists this as five “not exported by the entry” items: ancilla coordinates, gate order, reset and measurement, detector definitions, a circuit-distance witness. The empty R3 is a direct consequence of those five.
一架有空级的梯子比一架填满的梯子诚实。R3 对静态码本来就没有非平凡内容;把一份文献里的 CNOT 调度硬塞进来,只会让读者误以为 QEC-Bank 验证过那个调度。空着,读者就知道:关于「怎样按时间测」,这个条目一句话也没有担保。
A ladder with an empty rung is more honest than a filled one. R3 has no nontrivial content for a static code to begin with; forcing a CNOT schedule from a paper into it would only make readers believe the QEC-Bank had verified that schedule. Left empty, the reader knows: about “how to measure in time”, this entry vouches for nothing.
R4 · 电路与探测器:Tanner 图到电路之间的那条线R4 · Circuit & detectors: the line between a Tanner graph and a circuit
R4 记录的原文:「Each weight-six check joins three qubits in each data layer. The Tanner incidence can be split into two planar degree-three coupling layers, turning sparse monomials into a concrete syndrome-extraction graph while keeping the schedule and detector model separate from the static code.」标签 curated from bravyi2024bicycle,参考 bravyi2024bicycle、shaw2025morphing。这一章数清 gross 的 Tanner 图有多大,说明「两层平面」是什么意思,再把「图」与「电路」之间缺的五样东西列出来。 The R4 record verbatim: “Each weight-six check joins three qubits in each data layer. The Tanner incidence can be split into two planar degree-three coupling layers, turning sparse monomials into a concrete syndrome-extraction graph while keeping the schedule and detector model separate from the static code.” Label curated from bravyi2024bicycle, references bravyi2024bicycle, shaw2025morphing. This chapter counts how large gross's Tanner graph is, explains what “two planar layers” means, and lists the five things missing between a “graph” and a “circuit”.
5.1gross 的 Tanner 图:288 个点,864 条边,度 6 对 3 + 3Gross's Tanner graph: 288 nodes, 864 edges, degree 6 versus 3 + 3
Tanner 图检查矩阵的图形版:一侧是比特、一侧是检查的二分图,H 的每个 1 是一条边。它决定芯片需要哪些耦合器,但不决定门的顺序。直觉教程 6.1 节。就是把 R1 那张表画成图:144 个数据比特一排、144 条检查(72 X + 72 Z)一排,表里每个 1 画一条边。数一数:每条检查 6 个 1,144 × 6 = 864 条边;从比特那侧数,每个比特被 3 条 X 检查和 3 条 Z 检查碰到,144 × 6 = 864,两边对得上。原文第一句「Each weight-six check joins three qubits in each data layer」就是导览 2.2 节算过的 X 检查 0 = {1, 2, 18} ∪ {75, 78, 84}:三条腿在左层(编号 < 72),三条在右层(≥ 72)。这幅图里没有几何——它不知道 18 号比特在「往右三格」的地方,只知道它和检查 0 之间有一条边。
A Tanner graphThe picture version of a check matrix: a bipartite graph with qubits on one side and checks on the other, one edge per 1 in H. It decides which couplers a chip needs but not the order of gates. Intuition guide §6.1. is the R1 table drawn as a graph: 144 data qubits in one row, 144 checks (72 X + 72 Z) in another, one edge per 1 in the table. Count: six 1s per check, 144 × 6 = 864 edges; from the qubit side, every qubit meets 3 X checks and 3 Z checks, 144 × 6 = 864, and the two counts agree. The record's first sentence, “Each weight-six check joins three qubits in each data layer”, is the X check 0 = {1, 2, 18} ∪ {75, 78, 84} computed in tour §2.2: three legs in the left layer (index < 72), three in the right (≥ 72). There is no geometry in this graph — it does not know that qubit 18 sits “three steps to the right”; it knows only that there is an edge between it and check 0.
原文第二句「split into two planar degree-three coupling layers」是这条记录的核心,也是它值得单列一条的理由。先说问题:芯片上的耦合器是真实的导线,导线交叉就要多一层布线。表面码的 Tanner 图能画在一张平面上而不交叉(每个比特只连相邻的 4 条检查)。gross 的图不行,而且这不是「边太长」的问题(在纸上一条边想画多弯都可以),是边太多:一张能画平的二分图,边数最多是 2V − 4(V 是点数,推导见下面的补课)。gross 的 Tanner 图 V = 144 + 144 = 288,E = 864,而 2 × 288 − 4 = 572 < 864,所以无论怎么摆,一张平面都画不下。
Bravyi 等人的引理 2(arXiv 2308.07915 §4)给出了两层就够的具体分法。把 A、B 各写成三项之和 A = A₁ + A₂ + A₃、B = B₁ + B₂ + B₃(gross 按论文 Table 3 的书写顺序:A₁ = x³、A₂ = y、A₃ = y²,B₁ = y³、B₂ = x、B₃ = x²),第一层 G_A 只保留 A₂、A₃、B₃ 这三项产生的边(X 检查用 [A₂ + A₃ | B₃]),第二层 G_B 保留其余三项 A₁、B₁、B₂。论文证明两层各自都能画平,且每层是「度 3 图」:每条检查、每个比特在每层恰好 3 条边。本页脚本按这个分法把 gross 算了一遍:两层各 432 条边(都 ≤ 572),每个点在每层的度都是 3;G_A 恰好分成 12 块,每块 24 个点、36 条边,形状就是图 5.1(b) 的「轮子」——这就是论文证明 G_A 可平面的办法;G_B 分成 6 块,每块 48 个点。说人话:造两层芯片,每层是普通的平面布线,每个比特在每层只接 3 根耦合线;两层叠起来,就实现了度 6 的图。这就是直觉教程1.2 节「放弃局域的最小代价」和6.1 节「多要一层」的精确含义。原文说的 "coupling layers" 是芯片上的布线层,与本页说的「左层 / 右层数据比特」是两个不同的「层」:图 5.1(a) 里每个耦合层都同时连着左层和右层的比特。
The record's second sentence, “split into two planar degree-three coupling layers”, is its core and the reason it earns a record. First the problem: the couplers on a chip are real wires, and crossing wires cost an extra wiring layer. The surface code's Tanner graph can be drawn on one plane without crossings (each qubit meets only its 4 neighbouring checks). Gross's cannot, and not because the edges are long (on paper an edge may bend as much as you like) but because there are too many edges: a bipartite graph that can be drawn flat has at most 2V − 4 edges (V is the number of nodes; derivation in the catch-up below). Gross's Tanner graph has V = 144 + 144 = 288 and E = 864, while 2 × 288 − 4 = 572 < 864, so no arrangement fits it into one plane.
Lemma 2 of Bravyi et al. (arXiv 2308.07915 §4) gives a concrete split that shows two layers suffice. Write A and B as sums of three terms, A = A₁ + A₂ + A₃ and B = B₁ + B₂ + B₃ (for gross in the order of the paper's Table 3: A₁ = x³, A₂ = y, A₃ = y², B₁ = y³, B₂ = x, B₃ = x²); the first layer G_A keeps only the edges produced by A₂, A₃ and B₃ (X checks use [A₂ + A₃ | B₃]), the second layer G_B keeps the other three terms A₁, B₁, B₂. The paper proves that each layer can be drawn flat and is a “degree-3 graph”: every check and every qubit has exactly 3 edges in each layer. This page's script carried out the split for gross: each layer has 432 edges (both ≤ 572), and every node has degree 3 in each layer; G_A falls into exactly 12 pieces of 24 nodes and 36 edges each, shaped like the “wheel” of Fig. 5.1(b) — which is how the paper proves G_A planar; G_B falls into 6 pieces of 48 nodes. In plain words: build a two-layer chip, each layer ordinary planar wiring, each qubit taking only 3 couplers per layer; stack the two layers and the degree-6 graph is realised. That is the exact meaning of the intuition guide's §1.2 “the minimal price of giving up locality” and §6.1 “one more layer”. The record's “coupling layers” are wiring layers on the chip, a different “layer” from this page's “left / right layer of data qubits”: in Fig. 5.1(a) each coupling layer touches qubits of both data layers.
补课 · 为什么能画平的二分图最多 2V − 4 条边Catch-up · Why a bipartite graph drawn flat has at most 2V − 4 edges
欧拉公式。把一张连通的图画在平面上、边不交叉,它把平面切成若干块「面」(最外面那块无界的也算)。欧拉公式说:点数 − 边数 + 面数 = 2,即 V − E + F = 2。检查一个最小的例子:一个正方形有 V = 4、E = 4,面是里面一块、外面一块,F = 2,4 − 4 + 2 = 2。
Euler's formula. Draw a connected graph in the plane without crossings; it cuts the plane into “faces” (the unbounded outer region counts too). Euler's formula says: nodes − edges + faces = 2, i.e. V − E + F = 2. Check the smallest example: a square has V = 4, E = 4 and two faces, inside and outside, so 4 − 4 + 2 = 2.
二分图的面至少有 4 条边。Tanner 图的每条边一头是比特、一头是检查,所以沿任何一个面的边界走一圈,比特和检查必须交替出现,圈长是偶数,而且至少是 4(长度 2 的圈要两条边连同一对点,Tanner 图里没有)。每条边最多挨着两个面,所以把每个面的边数加起来 ≥ 4F,又 ≤ 2E,得 F ≤ E/2。代入欧拉公式:2 = V − E + F ≤ V − E/2,整理得 E ≤ 2V − 4。图不连通时对每块(至少 3 个点)分别用再相加,结论只会更紧。
Every face of a bipartite graph has at least 4 edges. Each Tanner edge joins a qubit to a check, so walking round the boundary of any face alternates qubits and checks; the walk has even length, at least 4 (a length-2 cycle would need two edges between the same pair of nodes, which a Tanner graph does not have). Each edge borders at most two faces, so the sum of the faces' edge counts is ≥ 4F and ≤ 2E, giving F ≤ E/2. Into Euler's formula: 2 = V − E + F ≤ V − E/2, which rearranges to E ≤ 2V − 4. For a disconnected graph apply it to each piece (of at least 3 nodes) and add up; the bound only gets tighter.
用一下。三个比特各连三条检查(每个比特连全部 3 条):V = 6,E = 9 > 2 × 6 − 4 = 8,所以这张小图画不平(它就是著名的「三户三井」图 K₃,₃)。gross:V = 288,E = 864 > 572,画不平;而 G_A、G_B 各 432 条边,没有超过上限——当然,不超过上限只是必要条件,两层确实能画平靠的是论文的构造(图 5.1(b))。
Using it. Three qubits, each joined to all of three checks: V = 6, E = 9 > 2 × 6 − 4 = 8, so this small graph cannot be drawn flat (it is the famous “three utilities” graph K₃,₃). Gross: V = 288, E = 864 > 572, not flat; G_A and G_B have 432 edges each, within the bound — which is only a necessary condition; that the two layers really can be drawn flat rests on the paper's construction (Fig. 5.1(b)).
5.2一条 Tanner 边不说的五件事Five things a Tanner edge does not say
原文最后半句才是这条记录被放在 R4 而不是 R2 的原因:「while keeping the schedule and detector model separate from the static code」。Tanner 图对电路是必要而不充分的。一条边说「这条检查和这个比特要相互作用」,但没有说下面五件事——QEC-Bank 的表示词典页(representation dictionary)逐条列出:
The record's last clause is why it sits at R4 rather than R2: “while keeping the schedule and detector model separate from the static code”. A Tanner graph is necessary but not sufficient for a circuit. An edge says “this check and this qubit must interact”, but not the following five things — the QEC-Bank representation-dictionary page (representation dictionary) lists them one by one:
| Tanner 边不说的Not said by a Tanner edge | 说人话In plain words | 谁决定它Who decides it | |
|---|---|---|---|
| ① | 哪个辅助比特负责这条检查which ancilla owns a check | Bravyi 等人的调度给每条检查配一个专用的辅助比特,144 条检查就是 144 个(72 个测 X、72 个测 Z);这是那个电路的选择,不是必需,辅助比特也可以在不同测量之间复用。它们坐在哪、连着谁,图上没有Bravyi et al.'s schedule gives every check its own dedicated ancilla, so 144 checks mean 144 ancillas (72 for X, 72 for Z); that is a choice of that circuit, not a necessity, since ancillas can also be reused across measurements. Where they sit and what they connect to is not in the graph | 一个具体的症状提取电路——Bravyi 等人给出一个 7 层 CNOT 的版本;Shaw 与 Terhal 为一个新的 BB 码家族给出每比特只连 5 个邻居、每周期 6 层 CNOT 的变形电路(shaw2025morphing,4.2 节)。两者硬件图不同、探测器模型也不同,所以「7」是那一个调度的性质,不是所有六腿矩阵的性质。One concrete syndrome-extraction circuit — Bravyi et al. give a seven-CNOT-layer version; Shaw and Terhal give morphing circuits for a new family of BB codes, with 5 neighbours per qubit and 6 CNOT layers per cycle (shaw2025morphing, §4.2). Their hardware graphs and detector models both differ, so “7” is a property of that one schedule, not of every weight-six matrix. |
| ② | 相互作用何时发生when the interaction occurs | 六条腿的六个 CNOT 谁先谁后;顺序决定一个辅助比特的错误会「钩」到哪几个数据比特(hook 错误:辅助比特在电路中途出的一个错,被后面的 CNOT 复制到好几个数据比特上)In what order the six legs' six CNOTs run; the order decides which data qubits an ancilla error “hooks” onto (hook error: one fault on the ancilla midway through the circuit, copied onto several data qubits by the later CNOTs) | |
| ③ | 控制 / 目标的方向control/target orientation | 测 X 检查和测 Z 检查的 CNOT 方向相反;图上一条边不带箭头Measuring an X check and a Z check uses CNOTs in opposite directions; a graph edge carries no arrow | |
| ④ | 重置与测量的时刻reset and measurement timing | 辅助比特何时清零、何时读出、读出后多久能再用When ancillas are reset, when read out, how soon they can be reused | |
| ⑤ | 哪些测量乘积是探测器which measurement products are detectors | 比较相邻两轮读数得到「变化」事件(探测器);首轮、末轮与数据比特的最终测量都要单独定义Comparing consecutive rounds gives “change” events (detectors); the first round, last round and final data measurement each need their own definition |
于是有三个必须分开的「距离」:静态码距(gross 的 12,bounded,R1 的事)、电路码距(最少要几个电路故障,才能造成一个不触发任何探测器、却改变了逻辑信息的错误;取决于上表五件事,可以比 12 小)、译码器找到的失败重量(某次搜索找到的最小失败,找不到不等于不存在)。导览 6.1 节与条目的译码器侧面把这三者,以及常被引用的阈值 0.8%(arXiv 2308.07915 摘要里的数字,电路级噪声、BP-OSD 译码;论文各版本的数值与定义差异见译码器侧面 3.3 节)讲全了;这里只需记住:R4 这条记录只到「图」为止,五件事一件也没有被 QEC-Bank 导出,所以它是 curated,且条目的形式化证书(形式化 IR 与证书)里不含任何电路。
Hence three “distances” that must be kept apart: the static code distance (gross's 12, bounded, an R1 matter), the circuit distance (the fewest circuit faults that produce an error which sets off no detector yet changes the logical information; it depends on the five items above and can be smaller than 12), and the decoder-found failure weight (the smallest failure some search found; not finding one does not mean none exists). Tour §6.1 and the entry's decoders facet cover the three together with the often-quoted threshold 0.8% (the figure in the abstract of arXiv 2308.07915, circuit-level noise, BP-OSD decoding; for how the paper's versions differ in value and definition see decoders facet §3.3); here it suffices to remember: this R4 record stops at the “graph”, none of the five items is exported by the QEC-Bank, so the record is curated, and the entry's formal certificates (Formal IR & certificates) contain no circuit.
Tanner 图的关联(哪条检查连哪个比特)机器当然算得出来——它就是 R1 的表,reproduce.py 甚至断言了每行 6 个 1、每列 3 + 3 个 1。让这条记录变成 curated 的是「可以分成两层平面图」这一句:这是 Bravyi 等人论文里的构造,QEC-Bank 没有复现那个分层,也没有导出哪条边属于哪一层(图 5.1 是本页脚本按论文的分法自己算的,不是 QEC-Bank 的数据)。所以整条记录以论文为出处。它同时把 shaw2025morphing 列为参考,是为了提醒读者:「度 6」是「直接测权重 6 的检查」这类电路的要求;Shaw 与 Terhal 换了一个新的 BB 码家族、换了电路,度就降到 5。
The Tanner graph's incidence (which check meets which qubit) is of course computable — it is the R1 table, and reproduce.py even asserts six 1s per row and 3 + 3 per column. What makes the record curated is the clause “can be split into two planar layers”: that is a construction in Bravyi et al.'s paper, and the QEC-Bank neither reproduces the split nor exports which edge belongs to which layer (Fig. 5.1 was computed by this page's own script following the paper, not taken from QEC-Bank data). So the whole record is sourced to the paper. It lists shaw2025morphing as well to remind the reader that “degree 6” is a requirement of circuits that measure the weight-6 checks directly; with a new family of BB codes and a different circuit, Shaw and Terhal bring the degree down to 5.
R4 的记录站在一条线上:线的这边是 Tanner 图——864 条边、每个比特 3 + 3、能分成两层平面(文献说的);线的那边是电路——辅助比特、顺序、方向、重置、探测器,一样也没导出。BB 码所有关于阈值和电路码距的数字都在线的那一边;这条记录的价值恰恰在于把线画清楚。
The R4 record stands on a line: on this side the Tanner graph — 864 edges, 3 + 3 per qubit, splittable into two planar layers (per the literature); on the other side the circuit — ancillas, order, orientation, reset, detectors, none exported. Every BB number about thresholds and circuit distance lives on the far side of the line; the record's value is precisely that it draws the line sharply.
R5 · 四本词典:把同一对多项式翻译进四层代数R5 · Four dictionaries: one pair of polynomials in four layers of algebra
R5「跨模型视图」在 BB 条目里有四条:bivariate-polynomial(canonical)、group-algebra(curated from wang2023abelian)、quotient-module(curated from postema2025existence)、anyon-koszul(curated from chen2025anyon)。每一本词典本章都按同一个模板讲:它的基本对象是什么,它最擅长回答哪个问题,它保留了什么,它在哪里止步——四栏正是 QEC-Bank 表示词典页的四列。 R5 “Cross-model views” has four records in the BB entry: bivariate-polynomial (canonical), group-algebra (curated from wang2023abelian), quotient-module (curated from postema2025existence), anyon-koszul (curated from chen2025anyon). This chapter treats every dictionary by one template: its basic object, the question it answers best, what it preserves, and where it stops — the four columns of the QEC-Bank representation-dictionary page.
6.1二元多项式(canonical):四个输入到两张矩阵的最短路Bivariate polynomial (canonical): the shortest route from four inputs to two matrices
原文:「A and B are sparse elements of F_2[x,y]/(x^l-1,y^m-1). Monomials are torus translations, transpose reverses a translation, and the two CSS check families are assembled without solving pairwise commutation constraints.」这是直觉教程第 2 章与第 3 章的全部内容压成三句话,也是构造器 build(l, m, a_terms, b_terms) 逐字执行的定义,所以标签是 canonical:不是「某篇论文这么说」,而是「定义就是这样」。逐句说人话。基本对象:环 F₂[x, y]/(xl − 1, ym − 1) 里的两个元素 A、B——系数只有 0 和 1,x 的指数按 mod l 绕回、y 的按 mod m 绕回(gross:l = 12,m = 6)。「Sparse」说的是项数少:gross 各 3 项。单项式是平移:xayb 把格子 (i, j) 挪到 (i + a, j + b),写成 72 × 72 的置换矩阵。转置是反向平移:(xayb)ᵀ = x−ay−b。不用逐对解对易约束:任何 A、B 放进 HX = [A | B]、HZ = [Bᵀ | Aᵀ] 都自动对易(AB + BA = 0),不像环面码那样要逐对数碰撞。
Verbatim: “A and B are sparse elements of F_2[x,y]/(x^l-1,y^m-1). Monomials are torus translations, transpose reverses a translation, and the two CSS check families are assembled without solving pairwise commutation constraints.” This is the intuition guide's Chapter 2 and Chapter 3 compressed into three sentences, and the definition the constructor build(l, m, a_terms, b_terms) executes word for word — hence the label canonical: not “some paper says so” but “this is the definition”. Sentence by sentence, in plain words. Basic object: two elements A, B of the ring F₂[x, y]/(xl − 1, ym − 1) — coefficients only 0 and 1, exponents of x wrapping mod l and of y mod m (gross: l = 12, m = 6). “Sparse” means few terms: 3 each for gross. Monomials are translations: xayb moves site (i, j) to (i + a, j + b), a 72 × 72 permutation matrix. Transpose reverses: (xayb)ᵀ = x−ay−b. No pairwise commutation constraints: any A, B placed into HX = [A | B], HZ = [Bᵀ | Aᵀ] commute automatically (AB + BA = 0), unlike the toric code where collisions are counted pair by pair.
gross: l = 12, m = 6, dim R = lm = 72
A = x³ + y + y², B = y³ + x + x²
|A| = |B| = 3F₂ = 只有 0、1 的数域(1 + 1 = 0);F₂[x, y] = x、y 的多项式;/(xl − 1, ym − 1) = 把 xl 与 ym 都当成 1(直觉教程 2.3 节);dim R = 作为向量空间的维数 = 格子数;|A| = A 的项数 = 每条检查在左层的腿数。F₂ = the field with only 0 and 1 (1 + 1 = 0); F₂[x, y] = polynomials in x, y; /(xl − 1, ym − 1) = treat xl and ym as 1 (intuition guide §2.3); dim R = dimension as a vector space = number of sites; |A| = number of terms of A = legs of each check in the left layer.
保留什么:在选定的移位约定下,精确的矩阵——不是「等价的码」,而是每一行、每一列的 0/1 都定死。这一点对 QEC-Bank 的复现合同至关重要:形式化证书比较的是整张输出数组,行序、比特序都要一致,换一种同样合法的基就会被判为不匹配。在哪里止步:原文词典页的 caveat 是「a compact polynomial does not certify distance or circuit layout」。说人话:三项加三项写起来很短,但短并不告诉你 d 是 12 还是 6(同一对多项式在 6 × 6 环面上 d = 6),也不告诉你芯片怎么布线。到实验台上换几个指数、把 l 从 12 拉到 9,看矩阵的样子怎么变——变的只是「哪些位置是 1」,k 与 d 要另算。
What it preserves: under the chosen shift convention, the exact matrices — not “an equivalent code” but every 0/1 in every row and column pinned down. This matters for the QEC-Bank replay contract: the formal certificates compare the whole output array, row order and qubit order included, and a different but equally legal basis would be judged a mismatch. Where it stops: the dictionary page's caveat is “a compact polynomial does not certify distance or circuit layout”. In plain words: three terms plus three terms is short to write, but shortness does not tell you whether d is 12 or 6 (the same pair on a 6 × 6 torus has d = 6), nor how to wire a chip. On the bench, change a few exponents or drag l from 12 to 9 and watch the matrix — only “which positions are 1” changes; k and d must be computed separately.
6.2群代数(curated):A、B 为什么对易,BB 的「父类」是谁Group algebra (curated): why A and B commute, and who BB's parent is
原文:「The polynomial ring is the regular representation of the abelian group Z_l x Z_m. This view isolates the exact reason A and B commute and places BB codes inside two-block group-algebra codes without identifying the two families.」标签 curated from wang2023abelian(据文献扫描报告:R. Wang, H.-K. Lin, L. P. Pryadko, “Abelian and Non-Abelian Quantum Two-Block Codes”, 2023,登记待补),另附 lin2023twoblock。先翻译名词。群 Zl × Zm元素是整数对 (a, b),a 按 mod l、b 按 mod m 相加。gross:12 × 6 = 72 个元素,恰是 72 个格子。「阿贝尔」= 加法可交换。就是「环面上的所有平移」:(a, b) 表示往右 a 格、往上 b 格,两个平移相加就是先后做。群代数 F₂[Zl × Zm]group algebra:形式和「若干个群元素,系数 0 或 1」构成的代数;相乘时群元素按群运算合并。x^a y^b ↔ (a, b) 使它与多项式环 R 一一对应。就是「若干个平移的 0/1 组合」——把 xayb 认作 (a, b),它和 6.1 的环 R 是同一个东西的两个名字。正则表示regular representation:让每个群元素 g 作为置换作用在「以群元素为坐标」的向量空间上:把坐标 h 送到 g + h。这正是 72 × 72 的平移矩阵。就是「每个平移写成 72 × 72 的置换矩阵」——直觉教程2.2 节的 x = Sl ⊗ Im、y = Il ⊗ Sm。
Verbatim: “The polynomial ring is the regular representation of the abelian group Z_l x Z_m. This view isolates the exact reason A and B commute and places BB codes inside two-block group-algebra codes without identifying the two families.” Label curated from wang2023abelian (from the scout report: R. Wang, H.-K. Lin, L. P. Pryadko, “Abelian and Non-Abelian Quantum Two-Block Codes”, 2023, registration pending), with lin2023twoblock attached. Translate the nouns first. The group Zl × ZmElements are integer pairs (a, b), added mod l in the first slot and mod m in the second. Gross: 12 × 6 = 72 elements, exactly the 72 sites. “Abelian” = addition commutes. is “all translations of the torus”: (a, b) means a steps right and b up, and adding two translations means doing one after the other. The group algebra F₂[Zl × Zm]Formal sums “some group elements with coefficients 0 or 1”; under multiplication the group elements combine by the group operation. Identifying x^a y^b with (a, b) makes it one and the same as the polynomial ring R. is “0/1 combinations of translations” — read xayb as (a, b) and it is the ring R of §6.1 under another name. The regular representationLet every group element g act as a permutation on the vector space whose coordinates are the group elements, sending coordinate h to g + h. This is exactly the 72 × 72 translation matrix. is “every translation written as a 72 × 72 permutation matrix” — the intuition guide's §2.2 x = Sl ⊗ Im, y = Il ⊗ Sm.
这本词典最擅长回答的问题是「A、B 为什么对易」,而且把理由剥到最薄:因为群是阿贝尔的。先往右 3 格再往上 1 格,和先往上 1 格再往右 3 格,落点一样,所以 x³·y = y·x³;A、B 是这些平移的和,自然 AB = BA。不需要任何关于多项式的知识——只要「平移可交换」。保留什么:正则作用的代数结构和「两块」的形状 [A | B]、[Bᵀ | Aᵀ]。这让 BB 码能被放进一个更大的家族——两块群代数码two-block group-algebra code, 2BGA:取任意有限群 G 的群代数里的两个元素 a、b,令 A = L(a)(左乘:把群元素 h 送到 g h)、B = R(b)(右乘:把 h 送到 h g′),再令 H_X = [A | B]、H_Z = [Bᵀ | Aᵀ]。左乘与右乘总是对易,所以检查对易。BB 是 G = Z_l × Z_m 的特例(阿贝尔群里左右不分)。(2BGA)。原文词典页写成一条包含链:
The question this dictionary answers best is “why do A and B commute”, and it strips the reason to the bone: because the group is abelian. Three right then one up lands where one up then three right does, so x³·y = y·x³; A and B are sums of such translations, hence AB = BA. No knowledge of polynomials is needed — only “translations commute”. What it preserves: the algebra of the regular action and the “two-block” shape [A | B], [Bᵀ | Aᵀ]. That lets BB codes be placed inside a larger family — two-block group-algebra codes2BGA: take two elements a, b of the group algebra of any finite group G, let A = L(a) (left multiplication: a group element h goes to g h) and B = R(b) (right multiplication: h goes to h g′), and form H_X = [A | B], H_Z = [Bᵀ | Aᵀ]. Left and right multiplications always commute, so the checks commute. BB is the special case G = Z_l × Z_m (in an abelian group left and right coincide). (2BGA). The dictionary page writes it as a chain of containments:
非阿贝尔时,左右要分开。BB 里 A、B 都是「加上一个平移」,谁先谁后无所谓。一般的有限群 G 乘法可能不交换,这时 2BGA 的定义(Lin–Pryadko,arXiv:2306.16400 第 IV.1 节式 (39))把两块放在两侧:比特和检查都用群元素 h 编号,A = L(a) 是左乘,把 h 送到 g h(g 取遍 a 里出现的群元素);B = R(b) 是右乘,把 h 送到 h g′(g′ 取遍 b 里的)。先左乘再右乘与先右乘再左乘落点相同,g (h g′) = (g h) g′,这只是乘法结合律,所以 AB = BA 永远成立,HX = [A | B]、HZ = [Bᵀ | Aᵀ] 的检查对易(HXHZᵀ = AB + BA = 0)。若两块都用左乘,A = L(a)、B = L(b),要对易就需要 ab = ba(a、b 是群代数里的元素,乘积按分配律逐项展开),任意取的 a、b 一般不满足。这只要求整体上 ab = ba,并不要求 a 里每个元素都与 b 里每个元素对易:比如 a = b = s + r 与自己当然对易,尽管 s r ≠ r s。最小的例子是三个物体的置换群 S₃:取 s = 交换第 0、1 个,r = 轮换 0 → 1 → 2 → 0,则 s r 与 r s 是两个不同的置换,L(s)L(r) ≠ L(r)L(s);而对 S₃ 的全部 6 个元素 h 都有 (s h) r = s (h r)(本页脚本逐个核对过)。阿贝尔群里左乘右乘是同一件事,所以 BB 不必区分,直接写 [A | B]。
For a nonabelian group, left and right must be kept apart. In BB, A and B both mean “add a translation”, and order does not matter. In a general finite group G multiplication need not commute, so the 2BGA definition (Lin and Pryadko, arXiv:2306.16400 §IV.1, Eq. (39)) puts the two blocks on opposite sides: qubits and checks are labelled by group elements h, A = L(a) is left multiplication, sending h to g h (g running over the group elements in a), and B = R(b) is right multiplication, sending h to h g′ (g′ running over those in b). Left then right lands where right then left does, g (h g′) = (g h) g′, which is just associativity, so AB = BA always holds and the checks of HX = [A | B], HZ = [Bᵀ | Aᵀ] commute (HXHZᵀ = AB + BA = 0). With both blocks as left multiplications, A = L(a) and B = L(b), commuting requires ab = ba (a and b are group-algebra elements, multiplied out term by term), which arbitrary a, b need not satisfy. This asks only for ab = ba as a whole, not for every element of a to commute with every element of b: a = b = s + r commutes with itself (any element does) although s r ≠ r s. The smallest example is the group S₃ of permutations of three objects: with s = swap objects 0 and 1 and r = the rotation 0 → 1 → 2 → 0, s r and r s are different permutations, so L(s)L(r) ≠ L(r)L(s), while (s h) r = s (h r) for all 6 elements h of S₃ (this page's script checks each). In an abelian group left and right multiplication are the same thing, which is why BB need not distinguish them and simply writes [A | B].
在哪里止步:原文说 「without identifying the two families」,caveat 是「nonabelian 2BGA codes need not be bivariate」。说人话:BB 是 2BGA 的特例,反过来不成立——换一个非阿贝尔群,两块的形状还在、对易性也能靠别的办法保住,但已经没有「x、y 两个可交换变量」可谈。这正是条目关系侧面里唯一一条类型化关系 special_case_of → two_bga(目标条目 pending)的出处。同一个包含链在 qLDPC 里另有一种说法:BB 是「底矩阵 1 × 1 的提升积」(《qLDPC 码 · 高中数学版》4.2 节),lin2023twoblock 把 2BGA 放进提升积家族,并特意提醒「lifted product」「HGP」「BB」不是同义词。
Where it stops: the record says “without identifying the two families”, and the caveat is “nonabelian 2BGA codes need not be bivariate”. In plain words: BB is a special case of 2BGA, not the other way round — take a nonabelian group and the two-block shape remains, commutation can be secured by other means, but there are no longer “two commuting variables x, y” to speak of. This is the source of the entry's single typed relation in the relations facet, special_case_of → two_bga (target entry pending). The same containment has another name in qLDPC: BB is “the lifted product with a 1 × 1 base matrix” (“qLDPC Codes · High-School Edition”, §4.2); lin2023twoblock places 2BGA inside the lifted-product family and warns that “lifted product”, “HGP” and “BB” are not synonyms.
6.3商模(curated):k 从哪来、何时为零、为什么渐近不好Quotient module (curated): where k comes from, when it vanishes, why the asymptotics are bad
原文:「The common quotient R/(A,B) controls the number of encoded qubits. Polynomial factors and common roots explain when that quotient appears, why finite blocks can have high rate, and why the studied subclass is not an asymptotically good family.」标签 curated from postema2025existence(据文献扫描报告:J. J. Postema, S. J. J. M. F. Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes”, 2025,登记待补)。基本对象是直觉教程4.2 节的R/(A,B):把环 R 里所有能写成 uA + vB 的元素(理想ideal (A, B):所有 uA + vB,u、v 取遍 R。它的维数等于 rank [A | B] = 66。(按本页的矩阵约定,矩阵 A 的第 0 列是 A(x⁻¹, y⁻¹) 的系数,所以矩阵 [A | B] 的像严格说是 A(x⁻¹, y⁻¹)、B(x⁻¹, y⁻¹) 生成的理想;换元 x → x⁻¹、y → y⁻¹ 把一个理想一一映成另一个,维数相同。) (A, B),它的维数等于 [A | B] 的秩)都当成零之后剩下的空间。它的维数就是秩亏损:gross 72 − 66 = 6,k = 2 × 6 = 12;toric_L3 9 − 8 = 1,k = 2。这部分是 reproduce.py 断言过的(torus_size − gf2.rank(hx) == 6),可以放心。
Verbatim: “The common quotient R/(A,B) controls the number of encoded qubits. Polynomial factors and common roots explain when that quotient appears, why finite blocks can have high rate, and why the studied subclass is not an asymptotically good family.” Label curated from postema2025existence (from the scout report: J. J. Postema, S. J. J. M. F. Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes”, 2025, registration pending). The basic object is the R/(A,B) of the intuition guide's §4.2: what remains of the ring R after every element of the form uA + vB (the idealThe ideal (A, B): all uA + vB with u, v ranging over R. Its dimension equals rank [A | B] = 66. (With this page's matrix convention, column 0 of the matrix A holds the coefficients of A(x⁻¹, y⁻¹), so the image of the matrix [A | B] is strictly the ideal generated by A(x⁻¹, y⁻¹) and B(x⁻¹, y⁻¹); the substitution x → x⁻¹, y → y⁻¹ maps one ideal one-to-one onto the other, so the dimensions agree.) (A, B), whose dimension equals the rank of [A | B]) is set to zero. Its dimension is the rank deficit: gross 72 − 66 = 6, k = 2 × 6 = 12; toric_L3 9 − 8 = 1, k = 2. This part is asserted by reproduce.py (torus_size − gf2.rank(hx) == 6) and can be trusted.
这本词典最擅长回答的是「为什么秩会掉、掉多少」。它把问题从「算 72 × 72 矩阵的秩」换成「看两个多项式有没有公因子、公共根」——原文里的 polynomial factors and common roots。一个能手算的例子:toric_L3 的 A = 1 + x、B = 1 + y,把 x = 1、y = 1 代进去两者都是 0,即 (1, 1) 是一个公共根;对应地 R/(1 + x, 1 + y) 恰好 1 维(把 x、y 都当成 1 后只剩常数 0 和 1),秩亏损 1,k = 2。gross 的 A(1, 1) = 1 + 1 + 1 = 1 ≠ 0,所以 (1, 1) 不是公共根;而在 GF(2) 里 x、y 只能取 1(x¹² = 1 排除了 0),所以 gross 在 GF(2) 本身里没有任何公共根。它的 6 维商空间来自更复杂的因子结构:文献到 GF(2) 的扩域里找根——就像实系数的 x² + 1 没有实根、要到复数里去找一样,GF(2) 上的多项式也可以在更大的有限域里有根。本页不复述,QEC-Bank 也没有重算这套分析——机器算的只是那个 6。同一对 A、B 换到 9 × 6 的环面上(QEC-Bank 条目 bb108)秩亏损变成 4、k = 8,直觉教程4.3 节「三项不决定 k」说的就是:k 由 (A, B) 在哪个环里「占」多少决定。
The question this dictionary answers best is “why does the rank drop, and by how much”. It replaces “compute the rank of a 72 × 72 matrix” with “look for common factors and common roots of the two polynomials” — the record's polynomial factors and common roots. A hand-computable example: toric_L3 has A = 1 + x, B = 1 + y; substituting x = 1, y = 1 makes both vanish, so (1, 1) is a common root; correspondingly R/(1 + x, 1 + y) is exactly 1-dimensional (with x and y both set to 1 only the constants 0 and 1 remain), rank deficit 1, k = 2. For gross, A(1, 1) = 1 + 1 + 1 = 1 ≠ 0, so (1, 1) is not a common root; and in GF(2) x and y can only be 1 (x¹² = 1 rules out 0), so gross has no common root in GF(2) itself. Its 6-dimensional quotient comes from a richer factor structure: the literature looks for roots in extension fields of GF(2) — just as the real polynomial x² + 1 has no real root and one looks in the complex numbers, a polynomial over GF(2) can have roots in a larger finite field. not repeated here and not recomputed by the QEC-Bank — the machine computes only that 6. The same A, B on a 9 × 6 torus (QEC-Bank entry bb108) give rank deficit 4 and k = 8; the intuition guide's §4.3 “three terms do not fix k” says exactly this: k is decided by how much of which ring (A, B) occupies.
保留什么:像理想 (A, B) 与商空间的维数——也就是 k。在哪里止步:caveat 原文「common roots alone do not give distance」,词典页补了一句「Rank is still not distance」。说人话:商空间告诉你有 12 个逻辑比特(X 逻辑算符共 2¹² 个等价类),不告诉你每个类里最轻的代表有多重——可能某个类有一条很短的代表(距离塌掉),也可能每个代表都铺满环面。原文最后半句「not an asymptotically good family」是这篇文献的另一个结论(摘要:「we highlight asymptotic badness」)。渐近好码的意思是:码长 n 越来越大时,k/n 与 d/n 都保持在某个固定的正数之上,即存储量和保护强度都与规模成正比。文献说被研究的这一子类做不到(论文定理 2.19:A = xa₁ + ya₂ + ya₃、B = yb₁ + xb₂ + xb₃ 这种三项加三项、检查重量 6 的码,指数可以随环面变化)。对「多项式固定、只把环面放大」这种最常见的做法,还有一个独立的简单理由:这样得到的码是二维的几何局域码(每条检查只碰相距至多几格的比特),而 Bravyi–Poulin–Terhal 界(arXiv 0909.5200)说这类码满足 k·d² ≤ c·n,c 只取决于检查的作用范围和每个格点上的比特数;若 k 与 d 都正比于 n,左边会像 n³ 那样增长,不可能。所以 BB 码是「有限尺寸下极划算的存储器」,而不是渐近意义上的「好码」;参数与实例 5.4 节把这条文献声明与 gross 的有限账本分开记。
What it preserves: the image ideal (A, B) and the quotient dimension — that is, k. Where it stops: the caveat reads “common roots alone do not give distance”, and the dictionary page adds “Rank is still not distance”. In plain words: the quotient tells you there are 12 logical qubits, i.e. 2¹² equivalence classes of X logicals, not how heavy the lightest representative of each class is — one class may have a very short representative (distance collapses), or every representative may be spread across the torus. The record's last clause, “not an asymptotically good family”, is the paper's other conclusion (abstract: “we highlight asymptotic badness”). An asymptotically good family is one in which, as the length n grows, k/n and d/n both stay above fixed positive numbers: storage and protection both grow in proportion to size. The paper says the studied subclass cannot do this (its Theorem 2.19: codes with A = xa₁ + ya₂ + ya₃, B = yb₁ + xb₂ + xb₃, three terms plus three terms and check weight 6, with exponents free to change with the torus). For the most common recipe, fixed polynomials on an ever larger torus, there is an independent simple reason: the resulting codes are geometrically local in two dimensions (every check touches only qubits a few sites apart), and the Bravyi–Poulin–Terhal bound (arXiv 0909.5200) says such codes obey k·d² ≤ c·n, with c depending only on the range of the checks and the number of qubits per site; if k and d were both proportional to n, the left side would grow like n³, which is impossible. So BB codes are “very economical memories at finite size”, not “good codes” in the asymptotic sense; Parameters & instances §5.4 keeps this literature claim separate from gross's finite ledger.
| 实例Instance | l × m | A / B | rank | dim R/(A,B) | k | 谁算的Computed by |
|---|---|---|---|---|---|---|
| toric_L3 | 3 × 3 | 1+x / 1+y | 8 | 9 − 8 = 1 | 2 | QEC-Bank,verified;(1, 1) 是公共根可手算QEC-Bank, verified; (1, 1) a common root by hand |
| gross | 12 × 6 | x³+y+y² / y³+x+x² | 66 | 72 − 66 = 6 | 12 | QEC-Bank,verified;(1, 1) 不是公共根QEC-Bank, verified; (1, 1) not a common root |
| bb108 | 9 × 6 | 同 grosssame as gross | 50 | 54 − 50 = 4 | 8 | 本页在浏览器里可重算(第 2 章实验台切预设);QEC-Bank 条目 bb108Recomputable in the browser on this page (switch preset on Chapter 2's bench); QEC-Bank entry bb108 |
| bb72 | 6 × 6 | 同 grosssame as gross | 30 | 36 − 30 = 6 | 12 | 同上;QEC-Bank 条目 bb72,d = 6 claimedSame; QEC-Bank entry bb72, d = 6 claimed |
6.4任意子与 Koszul 复形(curated):堵住「有限 BB 码 = 环面码堆叠」的捷径Anyons and the Koszul complex (curated): blocking the shortcut “finite BB code = stack of toric codes”
原文:「The same polynomial ideal can be read as excitation sectors, mobility constraints, and logical strings through a Koszul complex. This view exposes topological frustration and blocks the shortcut of declaring every finite BB code a trivial stack of independent toric codes.」标签 curated from chen2025anyon(据文献扫描报告:K. Chen 等, “Anyon Theory and Topological Frustration of High-Efficiency Quantum Low-Density Parity-Check Codes”, 2025,arXiv 2503.04699,本页已核对摘要页,QEC-Bank 登记待补)。这是四本词典里离高中数学最远的一本,本节只翻译名词、说清它保留什么和堵住什么,不复述论文。
Verbatim: “The same polynomial ideal can be read as excitation sectors, mobility constraints, and logical strings through a Koszul complex. This view exposes topological frustration and blocks the shortcut of declaring every finite BB code a trivial stack of independent toric codes.” Label curated from chen2025anyon (from the scout report: K. Chen et al., “Anyon Theory and Topological Frustration of High-Efficiency Quantum Low-Density Parity-Check Codes”, 2025, arXiv 2503.04699, abstract page checked by this page, QEC-Bank registration pending). Of the four dictionaries this is the furthest from high-school mathematics; this section only translates the nouns, states what it preserves and what it blocks, and does not retell the paper.
名词。激发 / 任意子excitation, anyon:把「一条检查读数为 −1」看成一个粒子。在环面码里,一个 Z 错误在两端各造出一个「星」粒子;粒子能被局域操作挪动。anyon 是这种粒子在拓扑相里的正式名字。:把「某条检查被违反」当成一个粒子——《从高考数学到 Toric Code》5.4 节的警报就是它的原型。迁移约束mobility constraint:一个粒子能不能被局域算符挪到任意位置、还是只能沿某些方向或按某些步长移动。环面码里粒子完全自由;更一般的多项式码里可能受限。:这个粒子能不能被局域操作自由挪动。Koszul 复形Koszul complex of (A, B):由两个环元素 A、B 按标准方式搭出的链复形 R → R² → R,映射是 [B ; A] 与 [A | B]。取 3.1 节的有限环时,它就是那里的 CSS 链复形;给无限平面上的激发分类时,用的是另一个环(见正文)。:两个环元素 A、B 按代数里的标准配方搭出来的复形,R → R² → R,映射是 [B ; A] 与 [A | B]。配方相同,环不同,回答的问题就不同,这一点要分清。3.1 节用的是有限环 F₂[x, y]/(xl − 1, ym − 1)(环面有周期),数的是这一个有限码的逻辑比特。Chen 等人给激发分类用的是无限平面上的洛朗多项式环Laurent polynomial ring F₂[x±, y±]:允许负指数、不绕回的二元多项式,对应没有边界的无限大平面。 F₂[x±, y±](允许负指数、不绕回),描述的是远离边界的「体」里有哪些粒子;有限尺寸的逻辑比特数要另外加上周期条件 xℓ = ym = 1 才算得出(arXiv:2503.04699 式 (4)–(7))。两者给出的数不一样:对 gross 所属的这一族(论文记作 BB(1̄, 1̄, 3, 3),[[72,12,6]]、[[108,8,10]]、[[144,12,12]] 都是它的有限尺寸版本),体内的任意子类型数是 22Q,Q = dim F₂[x±, y±]/(f, g) = 8,即 216 种;有限环面上的逻辑比特数 k(ℓ, m) 却随尺寸在 16、12、8、0 之间跳(式 (8):gcd(ℓ, m) 是 12 的倍数时 16,是 6 的倍数但不是 12 的倍数时 12,是 3 的倍数但不是 6 的倍数时 8,其余 0)。gross 的 12 × 6 环面 gcd = 6,k = 12,基态空间维数 212,比任意子类型数 216 小。本页脚本用 3.1 节的秩算出 12 × 6、6 × 6、9 × 6 的 k = 12、12、8,与式 (8) 的分类一致。
Nouns. Excitation / anyonTreat “one check reads −1” as a particle. In the toric code a Z error creates one “star” particle at each end; particles can be moved by local operations. Anyon is the formal name of such a particle in a topological phase.: treat “some check is violated” as a particle — the alarms of “From High-School Math to the Toric Code”, §5.4 are its prototype. Mobility constraintWhether a particle can be moved anywhere by local operators, or only along certain directions or in certain step sizes. In the toric code particles are fully free; in more general polynomial codes they may be constrained.: whether that particle can be moved freely by local operations. Koszul complexKoszul complex of (A, B): the chain complex R → R² → R built from two ring elements A, B by the standard recipe, with maps [B ; A] and [A | B]. Over the finite ring of §3.1 it is that section's CSS chain complex; classifying excitations on the infinite plane uses a different ring (see the text).: the complex built from two ring elements A, B by algebra's standard recipe, R → R² → R, with maps [B ; A] and [A | B]. The recipe is the same, but a different ring answers a different question, and the two must be kept apart. §3.1 uses the finite ring F₂[x, y]/(xl − 1, ym − 1) (the torus is periodic) and counts the logical qubits of this one finite code. Chen et al. classify excitations with the Laurent polynomial ringF₂[x±, y±]: polynomials in two variables with negative exponents allowed and no wrap-around, matching an infinite plane without boundary. F₂[x±, y±] of the infinite plane (negative exponents allowed, no wrap-around), which describes which particles exist in the “bulk” far from any boundary; the logical-qubit count of a finite size needs the periodic conditions xℓ = ym = 1 added separately (arXiv:2503.04699 Eqs. (4)–(7)). The two give different numbers: for the family gross belongs to (written BB(1̄, 1̄, 3, 3) in the paper; [[72,12,6]], [[108,8,10]] and [[144,12,12]] are finite-size versions of it), the bulk has 22Q anyon types with Q = dim F₂[x±, y±]/(f, g) = 8, that is 216; the number of logical qubits k(ℓ, m) on a finite torus instead jumps between 16, 12, 8 and 0 with the size (Eq. (8): 16 when gcd(ℓ, m) is a multiple of 12, 12 when it is a multiple of 6 but not of 12, 8 when a multiple of 3 but not of 6, else 0). gross's 12 × 6 torus has gcd 6, so k = 12 and a ground space of dimension 212, smaller than the 216 anyon types. This page's script computes, from the ranks of §3.1, k = 12, 12, 8 for 12 × 6, 6 × 6, 9 × 6, in line with the classes of Eq. (8).
最擅长回答:「这个码里有哪些拓扑扇区,粒子受什么约束」。保留什么:理想 / 复形的数据被翻译成激发的类型与迁移规则(原文 ideal/complex data translated into excitations)。在哪里止步、堵住什么:原文的关键词是拓扑受挫topological frustration:Chen 等人的术语,指有限环面上的逻辑比特数达不到体内任意子类型数所允许的上限(gross 的族:216 种任意子,gross 本身 k = 12),激发的迁移与全局约束不能像若干独立环面码那样简单分解。本页只转述该文献的结论,不复述其证明。。它堵住的捷径是:「k = 12 = 6 × 2,环面码 k = 2,所以 gross 是 6 个环面码」。词典页说得很直白:「the existence of k/2 quotient dimensions does not mean the Hamiltonian is simply k/2 decoupled toric codes」,并点出三种不同的等价关系——逻辑简并(k 相同)、局域 Clifford 相等价(物理相相同)、译码分解(3.2 节的圆柱)——分别成立不等于一起成立。文献扫描报告的「负面结果」一栏写着:没有任何被检索到的文献证明所有有限 BB 码都与独立环面码局域 Clifford 等价。
Answers best: “which topological sectors exist in this code, and what constrains the particles”. Preserves: the ideal / complex data translated into excitation types and mobility rules (the record's ideal/complex data translated into excitations). Where it stops, and what it blocks: the record's keyword is topological frustrationChen et al.'s term for the fact that on a finite torus the number of logical qubits falls short of the ceiling set by the number of bulk anyon types (for gross's family: 216 anyon types, gross itself k = 12), and the mobility of excitations and the global constraints do not decompose simply as they would for several independent toric codes. This page only relays the paper's conclusion, not its proof.. The shortcut it blocks: “k = 12 = 6 × 2, the toric code has k = 2, so gross is 6 toric codes”. The dictionary page is blunt: “the existence of k/2 quotient dimensions does not mean the Hamiltonian is simply k/2 decoupled toric codes”, and names three different equivalence relations — logical degeneracy (same k), local-Clifford phase equivalence (same physical phase), decoder decomposition (the cylinders of §3.2) — each of which may hold without the others. The scout report's “negative result” states: no fetched source proves that all finite BB codes are locally Clifford equivalent to independent toric-code copies.
3.2 说「有些译码问题能约化到环面状圆柱」,6.4 说「有限 BB 码不必是环面码的平凡堆叠」。两句都对,因为说的是不同的对象:前者是译码器把推断问题的一部分映到熟悉的形状,后者是物理相能不能被一个有限深度的局域酉变换拆成环面副本。词典页原话:「A decoder may map parts of an inference problem to familiar cylinders without producing a finite-depth local unitary that decomposes the entire BB Hamiltonian into toric copies.」
§3.2 says “some decoding problems reduce to toric-like cylinders”; §6.4 says “finite BB codes need not be trivial stacks of toric codes”. Both are true because they speak of different objects: the former is a decoder mapping part of an inference problem onto familiar shapes, the latter is whether the physical phase can be split into toric copies by a finite-depth local unitary. The dictionary page verbatim: “A decoder may map parts of an inference problem to familiar cylinders without producing a finite-depth local unitary that decomposes the entire BB Hamiltonian into toric copies.”
6.5七本词典对照表:用哪本,问什么Seven dictionaries side by side: which to use for which question
QEC-Bank 的表示词典页把 R2、R4、R5 的七种说法排成一张表(多项式、群代数、链复形、Tanner 图、商模、任意子、环面圆柱),四列分别是基本对象、最擅长的问题、保留的不变量、caveat。下面是它的中文翻译(英文列照原文),并加一列「在本篇哪里」:
The QEC-Bank representation-dictionary page arranges the seven ways of speaking from R2, R4 and R5 in one table (polynomial, group algebra, chain complex, Tanner graph, quotient module, anyons, toric cylinders) with four columns: basic object, best question, preserved invariant, caveat. Below is that table (English as in the original), with one added column “where on this page”:
| 视图View | 基本对象Basic object | 最擅长的问题Best question | 保留的不变量Preserved invariant | 止步之处(caveat)Caveat | 本篇Here |
|---|---|---|---|---|---|
| 二元多项式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? | 选定移位约定下的精确矩阵exact matrix in the chosen shift convention | 紧凑的多项式不证明距离,也不给电路布线a compact polynomial does not certify distance or circuit layout | 6.1 |
| 群代数group algebra | F₂[Zl × Zm] 里的两个元素two elements of F₂[Zl × Zm] | 两块为什么对易?父家族是谁?Why do the blocks commute, and what is the parent family? | 正则作用的代数与两块结构regular-action algebra and two-block structure | 非阿贝尔 2BGA 码不必是二元的nonabelian 2BGA codes need not be bivariate | 6.2 |
| 提升积 / 链复形lifted-product / chain complex | R → R² → R | 逻辑商空间住在哪?Where do logical quotients live? | 边界映射与中间同调boundary maps and middle homology | 「lifted product」「HGP」「BB」不是同义词“lifted product,” HGP, and BB are not synonyms | 3.1 |
| Tanner 图Tanner graph | 检查—比特关联check-variable incidence | 需要哪些耦合器、多大的度?Which couplers and degrees are required? | 行 / 列支撑row/column support | 关联不含 CNOT 顺序、辅助比特、探测器与故障传播incidence omits CNOT order, ancillas, detectors, and fault propagation | 5.1 |
| 商模 / 根quotient module / roots | R/(A,B) 与公因子R/(A,B) and common factors | 秩为什么掉?边界处会怎样?Why does rank drop, and what happens at a boundary? | 像理想与商维数image ideal and quotient dimension | 公共根本身不给距离common roots alone do not give distance | 6.3 |
| 任意子 / Koszulanyon / Koszul | 激发模与迁移关系excitation modules and mobility relations | 有哪些拓扑扇区与约束?What topological sectors and constraints exist? | 理想 / 复形数据翻译成激发ideal/complex data translated into excitations | 有限简并不必是平凡的环面堆叠finite degeneracy need not be a trivial toric stack | 6.4 |
| 环面圆柱toric cylinders | 对称性约化后的译码问题symmetry-reduced decoding problems | 何时匹配能代替通用 qLDPC 译码器?When can matching replace a generic qLDPC decoder? | 约化下被选出的症状 / 逻辑扇区selected syndrome/logical sectors under the reduction | 译码器上的等价不是全局局域 Clifford 等价operational decoder equivalence is not global local-Clifford equivalence | 3.2 |
词典页最后一段给出「用哪本」的口诀,值得抄下来:用多项式来构造;用群代数来分类父关系;用链复形来推理逻辑商;用商模与根来预测秩与边界效应;用 Tanner 图来设计耦合器;用显式电路与探测器来谈阈值;用任意子来分类激发;用圆柱来论证匹配译码器。原文的结语:「Calling all of them “the BB representation” erases the question each translation was built to answer.」——把它们统称为「BB 码的表示」,就抹掉了每种翻译本来要回答的那个问题。
The dictionary page ends with a rule of thumb for “which to use”, worth copying: polynomials to construct; group algebra to classify the parent relation; the chain complex to reason about logical quotients; quotient modules and roots to predict rank and boundary effects; Tanner graphs to design couplers; explicit circuits and detectors to discuss thresholds; anyons to classify excitations; cylinders to justify a matching decoder. Its closing line: “Calling all of them ‘the BB representation’ erases the question each translation was built to answer.”
对。这条记录的原文就是「blocks the shortcut of declaring every finite BB code a trivial stack of independent toric codes」,标签 curated——它是文献结论,不是机器验证,但它堵的是一个没有任何记录支持的推理。第一个选项说反了:圆柱是译码器借用的形状,原文明说「not a global phase equivalence」。第三个选项混淆了「有 12 个逻辑比特」和「是 6 个环面码」:前者是维数计算,后者是关于物理相的强得多的断言。
Right. The record reads “blocks the shortcut of declaring every finite BB code a trivial stack of independent toric codes”, label curated — a literature conclusion, not machine-verified, but what it blocks is an inference supported by no record at all. The first option has it backwards: the cylinders are shapes borrowed by a decoder, and the record says “not a global phase equivalence”. The third option confuses “has 12 logical qubits” with “is 6 toric codes”: the former is a dimension count, the latter a far stronger claim about a physical phase.
回到 3.2 的表格与 6.4:哪条记录的原文里出现了「trivial stack of independent toric codes」这几个词?
Return to the table of §3.2 and to §6.4: in which record's text do the words “trivial stack of independent toric codes” appear?
四本词典是同一对多项式的四层读法:多项式给矩阵,群代数给对易的理由与父类,商模给 k,Koszul 给激发与约束。越往上越有洞见,也越依赖文献:只有第一本是 canonical,其余三本都 curated,它们引到的五篇文献(bravyi2024bicycle、wang2023abelian、lin2023twoblock、postema2025existence、chen2025anyon)里只有 bravyi2024bicycle 一篇在 QEC-Bank 完成登记。读 R5 的正确姿势是:先看它擅长回答什么,再看它在哪里止步,最后看标签。
The four dictionaries are four readings of one pair of polynomials: polynomials give the matrices, the group algebra gives the reason for commutation and the parent family, the quotient module gives k, Koszul gives excitations and constraints. The higher, the more insight and the more reliance on literature: only the first is canonical, the other three are curated, and of the five papers they cite (bravyi2024bicycle, wang2023abelian, lin2023twoblock, postema2025existence, chen2025anyon) only bravyi2024bicycle is fully registered in the QEC-Bank. The right way to read R5: first what it answers best, then where it stops, then the label.
爬完梯子,回头看八条记录Top of the ladder: the eight records in review
从下往上复述一遍。R1:把 HX、HZ 叠成一张 144 × 288 的辛形式表,rank 132,k = 12,一条重量 12 的逻辑算符(上界)——derived,机器说了算。R2:同一对矩阵是链复形 R → R² → R 的两个边界映射,与全部 Z 检查对易的 X 串有 78 维、其中 66 维是 X 检查的乘积,78 − 66 = 12 就是「中间同调」——derived;另一条记录说:挑出乘积为单位的一组检查,警报重新成对,就能在上面跑匹配,再切成圆柱读出逻辑信息——curated,是译码词典不是相等价。R3:无记录,静态码没有非平凡的测量动力学,条目也没导出任何时间信息。R4:Tanner 图 288 个点、864 条边、每比特 3 + 3,文献说能分成两层度 3 的平面图——curated;辅助比特、顺序、方向、重置、探测器五件事一件没导出。R5:多项式(canonical,定义本身)、群代数(curated:对易因为群阿贝尔,BB ⊂ 阿贝尔 2BGA ⊂ 两块码)、商模(curated:dim R/(A,B) = 6 给 k = 12,但秩不是距离,渐近不好)、任意子 / Koszul(curated:拓扑受挫,堵住「六个环面码」)。
Replayed bottom to top. R1: stack HX, HZ into one 144 × 288 symplectic table, rank 132, k = 12, one logical of weight 12 (an upper bound) — derived, the machine's word. R2: the same matrices are the two boundary maps of the complex R → R² → R; X strings commuting with all Z checks span 78 dimensions, 66 of which are products of X checks, and 78 − 66 = 12 is the “middle homology” — derived; the other record says that picking a set of checks whose product is the identity makes alarms come in pairs, so matching runs on it, and cutting it into cylinders reads off logical information — curated, a decoder dictionary, not a phase equivalence. R3: no record; a static code has no nontrivial measurement dynamics, and the entry exports no time information. R4: a Tanner graph of 288 nodes and 864 edges, 3 + 3 per qubit, splittable per the literature into two planar degree-3 layers — curated; ancillas, order, orientation, reset, detectors, none exported. R5: polynomial (canonical, the definition itself), group algebra (curated: commutation because the group is abelian, BB ⊂ abelian 2BGA ⊂ two-block codes), quotient module (curated: dim R/(A,B) = 6 gives k = 12, but rank is not distance and the asymptotics are bad), anyon / Koszul (curated: topological frustration, blocking “six toric codes”).
带走一个习惯:以后看到「BB 码就是 X」,先问三件事——哪一级,什么标签,它在哪里止步。同一个词「等价」,在 R1 是能重跑的计算,在 R2 的圆柱是译码器的借用,在 R5 的任意子是一篇论文的定理。三者都有价值,但证据等级不同,能推出的结论也不同。
Take one habit with you: when you next read “a BB code is just X”, ask three things — which rung, which label, where does it stop. The one word “equivalent” is a rerunnable computation at R1, a decoder's borrowing in R2's cylinders, and a paper's theorem in R5's anyons. All three have value, but their evidence grades differ, and so do the conclusions they license.
符号与读法Symbols & how to read them
| 符号Symbol | 名称与读法Name & how to read it | 在本篇中的含义Meaning on this page |
|---|---|---|
| R1 … R5 | 读「第一级到第五级」Read “rung one to rung five” | 表示阶梯的五级:检查、结构、动力学、电路与探测器、跨模型视图。The five rungs of the ladder: checks, structure, dynamics, circuit & detectors, cross-model views. |
| l, m, n, k, d | 读「l、m、n、k、d」Read “l, m, n, k, d” | 环面两个方向的格数(gross 12、6);数据比特数 n = 2lm = 144;逻辑比特数 k = 12;码距 d = 12(bounded)。n、k、d 的定义见直觉教程第 0 章。Site counts along the two torus directions (gross 12, 6); data qubits n = 2lm = 144; logical qubits k = 12; distance d = 12 (bounded). Definitions of n, k, d in the intuition guide's Chapter 0. |
| A, B | 读「A、B」Read “A, B” | 两个多项式 = 两个 72 × 72 稀疏矩阵 = 群代数里的两个元素;gross:x³ + y + y²、y³ + x + x²。Two polynomials = two 72 × 72 sparse matrices = two group-algebra elements; gross: x³ + y + y², y³ + x + x². |
| HX, HZ | 读「H X、H Z」Read “H-X, H-Z” | [A | B] 与 [Bᵀ | Aᵀ],各 72 × 144;行 = 检查,1 = 腿。[A | B] and [Bᵀ | Aᵀ], each 72 × 144; row = check, 1 = leg. |
| (x | z), S | 读「x 竖线 z」「S」Read “x bar z”, “S” | 辛形式:n 比特 Pauli 串的 2n 位 0/1 向量,前 n 位记 X、后 n 位记 Z;S = [HX | 0 ; 0 | HZ] 是叠好的 144 × 288 稳定子矩阵。Symplectic form: the 2n-bit vector of an n-qubit Pauli string, first n bits for X, last n for Z; S = [HX | 0 ; 0 | HZ] is the stacked 144 × 288 stabilizer matrix. |
| rank, ker, rowspace, dim | 读「秩、核、行空间、维数」Read “rank, kernel, row space, dimension” | 独立行数(66 / 132);使 Hv = 0 的全部 v(ker HZ 78 维);行的全部和(rowspace HX 66 维);一个空间的坐标个数。Number of independent rows (66 / 132); all v with Hv = 0 (ker HZ, dim 78); all sums of rows (rowspace HX, dim 66); the number of coordinates of a space. |
| R, F₂, R/(A,B) | 读「环 R、二元域、R 模 (A,B)」Read “ring R, the binary field, R mod (A,B)” | R = F₂[x, y]/(xl − 1, ym − 1),72 维;F₂ = {0, 1};R/(A,B) = 把所有 uA + vB 当作零后剩下的空间,gross 6 维、toric_L3 1 维。R = F₂[x, y]/(xl − 1, ym − 1), dim 72; F₂ = {0, 1}; R/(A,B) = what remains after every uA + vB is set to zero, dim 6 for gross, 1 for toric_L3. |
| (A, B) | 读「A、B 生成的理想」Read “the ideal generated by A, B” | 所有 uA + vB 的集合,gross 上维数 66。按本页的矩阵约定,矩阵 [A | B] 的列空间是 A(x⁻¹, y⁻¹)、B(x⁻¹, y⁻¹) 生成的理想,不是 (A, B) 本身:两者都是 66 维,换元 x → x⁻¹、y → y⁻¹ 把一个一一映成另一个,但对 gross 它们是 72 维空间里两个不同的子空间(本页脚本核对过,见 6.3 节的注)。The set of all uA + vB, of dimension 66 for gross. With this page's matrix convention the column space of the matrix [A | B] is the ideal generated by A(x⁻¹, y⁻¹), B(x⁻¹, y⁻¹), not (A, B) itself: both have dimension 66 and the substitution x → x⁻¹, y → y⁻¹ maps one onto the other, but for gross they are two different subspaces of the 72-dimensional space (checked by this page's script; see the note in §6.3). |
| ∂₁, ∂₂ | 读「边界一、边界二」Read “boundary one, boundary two” | 链复形 R → R² → R 的两个映射:∂₂ = [B ; A] = HZᵀ,∂₁ = [A | B] = HX;∂₁∂₂ = 0。The two maps of the complex R → R² → R: ∂₂ = [B ; A] = HZᵀ, ∂₁ = [A | B] = HX; ∂₁∂₂ = 0. |
| Zl × Zm, F₂[G] | 读「Z l 叉 Z m」「G 的群代数」Read “Z-l cross Z-m”, “the group algebra of G” | 环面平移的群(72 个元素);系数 0/1 的群元素形式和——与 R 是同一个东西。The group of torus translations (72 elements); formal 0/1 sums of group elements — the same thing as R. |
| ⊂ | 读「包含于」Read “is contained in” | BB ⊂ 阿贝尔 2BGA ⊂ 两块码,两处都是真包含(6.2 节)。BB ⊂ abelian 2BGA ⊂ two-block codes, both inclusions proper (§6.2). |
| 2BGA | 读「两块群代数码」Read “two-block group-algebra code” | 取任意有限群的群代数里两个元素 a、b,A = L(a)(左乘)、B = R(b)(右乘),HX = [A | B]、HZ = [Bᵀ | Aᵀ];BB 是 G = Zl × Zm 的特例(左右不分);关系侧面的目标条目 two_bga 尚 pending。From two elements a, b of any finite group's algebra: A = L(a) (left multiplication), B = R(b) (right multiplication), HX = [A | B], HZ = [Bᵀ | Aᵀ]; BB is the case G = Zl × Zm (left and right coincide); the relations facet's target entry two_bga is still pending. |
| ISG | 读「瞬时稳定子群」Read “instantaneous stabilizer group” | 测量序列某一时刻已确定的检查所成的群;静态码恒等于稳定子群,故 R3 无记录。The group of checks fixed at a moment of the measurement sequence; constant for a static code, hence no R3 record. |
| MWPM, BP-OSD | 读「最小权完美匹配」「置信传播 + 有序统计」Read “minimum-weight perfect matching”, “belief propagation + ordered statistics” | 两种译码器:前者要求每个错误恰点亮两个警报(环面圆柱上可用),后者是 BB 码的通用译码器(直觉教程 6.3 节)。Two decoders: the former needs every error to light exactly two alarms (usable on the toric cylinders), the latter is the generic BB decoder (intuition guide §6.3). |
本篇新增词汇New terms on this page
| 术语Term | 白话定义Plain definition |
|---|---|
| 表示阶梯 / 记录 / 出处标签representation ladder / record / provenance label | QEC-Bank 把一个码的各种说法按可执行程度排成 R1–R5;每条说法是一条记录,带 derived / canonical / curated 标签、参考文献和内容哈希。BB 条目 8 条。The QEC-Bank arranges a code's ways of speaking on R1–R5 by executability; each is a record with a derived / canonical / curated label, references and a content hash. The BB entry has 8. |
| 辛形式(symplectic form)symplectic form | Pauli 串 → 2n 位 0/1 向量 (x | z);对易 ⇔ 交叉点积为偶。所有稳定子码的统一输入格式。Pauli string → 2n-bit vector (x | z); commute ⇔ crossed dot product even. The uniform input format for all stabilizer codes. |
| 链复形 / 边界映射 / 同调chain complex / boundary map / homology | 三个空间与两个「边界」映射,连做两次得零;「闭链除去边界」叫同调,它的维数是 k。Three spaces and two “boundary” maps whose composition is zero; “cycles modulo boundaries” is homology, its dimension is k. |
| 译码词典 vs 相等价decoder dictionary vs phase equivalence | 前者:把译码问题的一部分翻译成别的码来解;后者:两个码的物理相能被有限深度局域电路互变。环面圆柱是前者。The former: translate part of a decoding problem into another code to solve it; the latter: two codes' physical phases interconvertible by a finite-depth local circuit. The toric cylinders are the former. |
| Tanner 图 / 耦合层Tanner graph / coupling layer | 检查—比特二分图(gross 288 点 864 边);耦合层是芯片上的物理布线层,Bravyi 等人把图分成两层度 3 的平面图。The check-qubit bipartite graph (gross: 288 nodes, 864 edges); a coupling layer is a physical wiring layer on the chip; Bravyi et al. split the graph into two planar degree-3 layers. |
| 群代数 / 正则表示group algebra / regular representation | 「若干平移的 0/1 组合」与「每个平移写成置换矩阵」;BB 的 R 就是 F₂[Zl × Zm] 的正则表示。“0/1 combinations of translations” and “each translation as a permutation matrix”; BB's R is the regular representation of F₂[Zl × Zm]. |
| 理想 / 商模 / 公共根ideal / quotient module / common root | (A, B) = 所有 uA + vB;R/(A,B) 的维数 = 秩亏损;A、B 同时为零的点(如 toric_L3 的 (1, 1))是商非零的来源之一。(A, B) = all uA + vB; dim R/(A,B) = rank deficit; points where A and B both vanish (such as (1, 1) for toric_L3) are one source of a nonzero quotient. |
| 任意子 / 迁移约束 / Koszul 复形 / 拓扑受挫anyon / mobility constraint / Koszul complex / topological frustration | 被违反的检查当作粒子;它能否自由移动;由 (A, B) 搭出的复形(在 F₂ 上就是 CSS 链复形);Chen 等人的结论:有限 BB 码不必分解为独立环面码。A violated check as a particle; whether it moves freely; the complex built from (A, B) (over F₂ the CSS chain complex); Chen et al.'s conclusion that finite BB codes need not decompose into independent toric codes. |
| 哈密顿量 / 相Hamiltonian / phase | H = −(全部检查之和),码空间是它的最低能量态;两个系统能被有限深度的局域电路互相变换,就属于同一个相。「gross 是 6 个环面码」是一句关于相的断言,没有文献支持(3.2、6.4 节)。H = −(sum of all checks), whose lowest-energy states form the code space; two systems that a finite-depth local circuit turns into each other are in the same phase. “Gross is 6 toric codes” is a claim about phases that no paper supports (§3.2, §6.4). |
| 「对称性」(Sahay 等人的用法)“symmetry” (Sahay et al.'s usage) | 一组乘积为单位算符的检查;每个比特被它碰 0 次或 2 次,于是警报成对,可以跑匹配。gross 有 6 组独立的这种集合(72 − 66)。A set of checks whose product is the identity; it touches every qubit 0 or 2 times, so alarms come in pairs and matching applies. Gross has 6 independent such sets (72 − 66). |
| 平面图的边数上限 / 耦合层分法edge bound for planar graphs / coupling-layer split | 能画平的二分图最多 2V − 4 条边(欧拉公式,补课 5.1);gross 864 > 572,一层画不下。Bravyi 等人的引理 2 把边分成 G_A(A₂、A₃、B₃)与 G_B(A₁、B₁、B₂)两层,每层 432 条边、每个点度 3、各自可平面。A bipartite graph drawn flat has at most 2V − 4 edges (Euler's formula, catch-up in §5.1); gross has 864 > 572, too many for one layer. Lemma 2 of Bravyi et al. splits the edges into G_A (A₂, A₃, B₃) and G_B (A₁, B₁, B₂), 432 edges each, every node of degree 3, each planar. |
| 渐近好码 / BPT 界asymptotically good / BPT bound | n 增大时 k/n、d/n 都不趋于零的码族叫渐近好码。二维几何局域码满足 k·d² ≤ c·n(Bravyi–Poulin–Terhal,arXiv 0909.5200),所以多项式固定、只放大环面的 BB 码不可能是好码。A code family whose k/n and d/n both stay bounded away from zero as n grows is asymptotically good. Geometrically local 2D codes obey k·d² ≤ c·n (Bravyi–Poulin–Terhal, arXiv 0909.5200), so BB codes with fixed polynomials on ever larger tori cannot be good. |
延伸阅读Further reading
- 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
多项式表示、两层平面耦合、gross 码的出处;R1、R2、R4、R5 四级都引用它。QEC-Bank 键:bravyi2024bicycle(已登记)。Source of the polynomial presentation, the two planar coupling layers and the gross code; cited at R1, R2, R4 and R5. QEC-Bank key: bravyi2024bicycle (registered). - R. Wang, H.-K. Lin, L. P. Pryadko, “Abelian and non-abelian quantum two-block codes” (2023), arXiv 2305.06890
群代数视角与两块码家族;R5 group-algebra 的出处。QEC-Bank 键:wang2023abelian(据文献扫描报告,登记待补)。The group-algebra view and the two-block family; source of R5 group-algebra. QEC-Bank key: wang2023abelian (from the scout report, registration pending). - H.-K. Lin, L. P. Pryadko, “Quantum two-block group algebra codes” (2023), arXiv 2306.16400
把 2BGA 放进提升积家族,提醒「lifted product」「HGP」「BB」不是同义词;R2 与 R5 引用。QEC-Bank 键:lin2023twoblock(据文献扫描报告,登记待补)。Places 2BGA inside lifted products and warns that “lifted product”, “HGP” and “BB” are not synonyms; cited at R2 and R5. QEC-Bank key: lin2023twoblock (from the scout report, registration pending). - J. J. Postema, S. J. J. M. F. Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes” (2025), arXiv 2502.17052
商模、公因子与公共根、渐近限制;R5 quotient-module 的出处。QEC-Bank 键:postema2025existence(据文献扫描报告,登记待补)。Quotient module, common factors and roots, asymptotic limitation; source of R5 quotient-module. QEC-Bank key: postema2025existence (from the scout report, registration pending). - K. Chen et al., “Anyon Theory and Topological Frustration of High-Efficiency Quantum Low-Density Parity-Check Codes” (2025), arXiv 2503.04699
任意子 / Koszul 视角与拓扑受挫;R5 anyon-koszul 的出处。QEC-Bank 键:chen2025anyon(据文献扫描报告,登记待补)。The anyon / Koszul view and topological frustration; source of R5 anyon-koszul. QEC-Bank key: chen2025anyon (from the scout report, registration pending). - K. Sahay, D. J. Williamson, B. J. Brown, “A matching decoder for bivariate bicycle codes” (2026), arXiv 2602.22770
对称性约化到环面圆柱、匹配 + BP + 过度匹配;R2 toric-cylinder 的出处。QEC-Bank 键:sahay2026matching(据文献扫描报告,登记待补)。Symmetry reduction to toric cylinders, matching + BP + over-matching; source of R2 toric-cylinder. QEC-Bank key: sahay2026matching (from the scout report, registration pending). - M. H. Shaw, B. M. Terhal, “Lowering Connectivity Requirements For Bivariate Bicycle Codes Using Morphing Circuits” (2024, v3 2025), arXiv 2407.16336
为一个新的 BB 码家族设计变形电路,把每个比特的连接数从 6 降到 5;R4 tanner-circuit 的参考,说明换电路就换硬件图。QEC-Bank 键:shaw2025morphing(QEC-Bank 登记待补)。Morphing circuits for a new family of BB codes, lowering each qubit's number of connections from 6 to 5; reference of R4 tanner-circuit, showing that changing the circuit changes the hardware graph. QEC-Bank key: shaw2025morphing (QEC-Bank registration pending).
① 本篇每个出处标签都照抄 QEC-Bank 页面与 card.yaml:R1 derived;R2 一条 derived、一条 curated;R3 无记录;R4 curated;R5 一条 canonical、三条 curated。② 机器实际重算的只有 R1 与 R2-homological 的内容:矩阵、秩 66 / 132、k = 12、商维数 6、∂₁∂₂ = 0、toric_L3 的 d = 3;gross 的 d = 12 是 bounded。③ 第 2 章的 78 与 1.0 × 10¹⁶、第 3 章的 78 − 66 与 Z 检查 0 的九个「共享 2 个比特」、3.2 节的「6 组乘积为单位的检查」、5.1 节的 864、572 与两个耦合层(每层 432 条边、度 3、G_A 为 12 个轮子)、6.3 表格里 bb108、bb72 的秩,以及实验台的搜索结果 16,是本篇按同一定义在本地复算的(脚本 notes/views/verify.py、make_figs.py),与 QEC-Bank 记录相容但不是 QEC-Bank 断言。④ 「两层可平面」「公共根」「拓扑受挫」「环面圆柱」「渐近不好」是文献结论;本页转述 QEC-Bank 记录与词典页的措辞,并对照了各论文的 arXiv 摘要页(3.2 节与 5.1 节还对照了正文相关章节,2026-09-24),未复述任何论文的完整证明。⑤ 七个 bibkey 中只有 bravyi2024bicycle 在 QEC-Bank 完成登记;其余六个的标题与作者原取自文献扫描报告,本页已逐一对照 arXiv 摘要页并补上 arXiv 编号。⑥ 3.1 节的链复形图是示意;5.1 节的图 5.1 由脚本从矩阵生成,耦合层按论文引理 2 的分法。⑦ 「16 处命中、8 条记录」按 2026-09-12 的 card.yaml 计。
① Every provenance label here is copied from the QEC-Bank page and card.yaml: R1 derived; R2 one derived, one curated; R3 no record; R4 curated; R5 one canonical, three curated. ② The machine actually recomputes only the R1 and R2-homological content: the matrices, ranks 66 / 132, k = 12, quotient dimension 6, ∂₁∂₂ = 0, toric_L3's d = 3; gross's d = 12 is bounded. ③ Chapter 2's 78 and 1.0 × 10¹⁶, Chapter 3's 78 − 66 and Z check 0's nine “two shared qubits”, §3.2's “6 sets of checks with product identity”, §5.1's 864, 572 and the two coupling layers (432 edges each, degree 3, G_A made of 12 wheels), the bb108 / bb72 ranks in the table of §6.3, and the bench's search result 16 were recomputed locally for this page from the same definition (scripts notes/views/verify.py, make_figs.py); they are consistent with the QEC-Bank records but are not QEC-Bank assertions. ④ “Two planar layers”, “common roots”, “topological frustration”, “toric cylinders” and “asymptotically bad” are literature results; this page relays the wording of the QEC-Bank records and dictionary page and has checked it against each paper's arXiv abstract page (for §3.2 and §5.1 also the relevant sections of the text, 2026-09-24); it retells no paper's full proof. ⑤ Of the seven bibkeys only bravyi2024bicycle is registered in the QEC-Bank; the titles and authors of the other six came from the scout reports, and this page has checked each against its arXiv abstract page and added the arXiv number. ⑥ The chain-complex figure of §3.1 is schematic; Fig. 5.1 in §5.1 is generated from the matrices by a script, with the coupling layers split as in the paper's Lemma 2. ⑦ “16 hits, 8 records” is counted against card.yaml as of 2026-09-12.
条目总览 · 直觉 · 导览 · 表示阶梯(本篇) · 参数与实例 · 形式化 IR 与证书 · 译码器 · 逻辑操作 · 用例与实现 · 关系 · 推导与指南 · 参考文献 · 在 QEC-Bank 中查看此条目 →。QEC-Bank 的原始词典:representation dictionary,链复形推导:polynomial chain complex。同一侧面的表面码版本:《Surface Code · 表示阶梯》——那里的四本词典翻进别的物理,这里的四本翻进别的代数。
Entry overview · Intuition · Guided tour · Representation ladder (this page) · Parameters & instances · Formal IR & certificates · Decoders · Logical operations · Use cases & realizations · Relations · Derivations & guides · References · Open in the QEC-Bank →. The QEC-Bank's own dictionary: representation dictionary; the chain-complex derivation: polynomial chain complex. The surface-code version of this facet: “Surface Code · Representation Ladder” — its four dictionaries translate into other physics, these four into other algebra.