BB 码 · 关系BB Codes · Relations
QEC-Bank 条目导读 · BB 码 · 关系QEC-Bank entry guide · BB codes · Relations

一条有类型的边,
一棵家谱,七根变体轴
One typed edge,
one family tree, seven variant axes

「关系」这一侧面回答的问题是:BB 码在 QEC-Bank 的地图上和谁相连、以什么方式相连。答案短得出乎意料:卡片里只登记了一条有类型的边——special_case_of → two_bga(BB 码是「两块群代数码」在可交换群 Zl × Zm 上的特例),而且这条边的另一端目前是 pending:QEC-Bank 里还没有叫 two_bga 的条目。本篇先把这一条边逐字读完、说清「pending」到底是什么意思;再把文献里的家谱摊开——从 2004 年一个变量的 bicycle 码,到广义 bicycle,到两个变量的 BB,再到群代数码与提升积,每一代都用 QEC-Bank 里真有的实例算一遍:[[6,2,2]]、[[18,2,3]]、[[144,12,12]];然后数一数 QEC-Bank 里另外七张 BB 家族的卡(bb72、bb90、bb108、bb288、bb5、bicycle、gross)和这张家族卡是什么关系;最后一章把「BB 的变体」拆成七根轴,说清每根轴改动了什么、哪些数字不能跨轴照抄。 The Relations facet answers one question: on the QEC-Bank map, what is the BB code connected to, and how? The answer is surprisingly short. The card records exactly one typed edge, special_case_of → two_bga (BB codes are the two-block group-algebra codes for the commutative group Zl × Zm), and the far end of that edge is currently pending: the QEC-Bank has no entry called two_bga yet. This guide first reads that single edge word by word and explains what “pending” really means; then it unfolds the family tree found in the literature, from the one-variable bicycle code of 2004 through generalized bicycle codes to two-variable BB, and on to group-algebra codes and lifted products, computing each generation on an instance the QEC-Bank actually ships: [[6,2,2]], [[18,2,3]], [[144,12,12]]; then it counts the seven other BB-family cards in the QEC-Bank (bb72, bb90, bb108, bb288, bb5, bicycle, gross) and asks how they relate to this family card; the last chapter splits “BB variants” into seven axes, saying what each axis changes and which numbers must not be copied across it.

前置:《BB 码 · 高中数学版》,尤其2.4 节的 bicycle 祖先、3.1 节的配方与第 5 章的八个条目。这里新增:QEC-Bank 一条「有类型的关系」的格式与 pending 状态;群代数码与提升积作为 BB 的父类(与《qLDPC 码 · 高中数学版》第 4 章衔接);成员卡与家族卡的层级;以及七根变体轴各自要重算什么。 Prerequisite: “BB Codes · High-School Edition”, especially the bicycle ancestor of §2.4, the recipe of §3.1 and the eight entries of Chapter 5. New here: the format of one QEC-Bank typed relation and its pending state; group-algebra codes and lifted products as BB's parents (continuing Chapter 4 of “qLDPC Codes · High-School Edition”); the tiers of member cards versus the family card; and what each of seven variant axes forces you to recompute.
开始 ↓Begin ↓ 全程约 40–50 分钟 · 在 QEC-Bank 中查看此条目 →About 40–50 minutes · Open in the QEC-Bank →
目录Contents
第 1 章Chapter 1

一条边:special_case_of → two_bga,另一端待建One edge: special_case_of → two_bga, far end not yet built

「BB 码和别的 qLDPC 码有关系」谁都会说。QEC-Bank 要的是一句能被程序存档、能被人核对的话:关系的类型是什么、指向哪个条目、凭哪两篇文献这么说。这一章先看这句话的格式,再逐字读 BB 条目仅有的一条,最后解释导出页上那个灰色的 pending 标签是怎么来的、说的是什么、不说什么。 Anyone can say “BB codes are related to other qLDPC codes”. The QEC-Bank wants a sentence a program can archive and a person can check: what type of relation, pointing at which entry, on the authority of which two papers. This chapter first shows the format of that sentence, then reads the BB entry's only one word by word, and finally explains where the grey pending chip on the exported page comes from, what it says, and what it does not.

1.1一条关系的四个字段,和它外面那层元数据The four fields of a relation, and the metadata around them

在源文件 codes/bivariate_bicycle/card.yaml 里,「关系」是 relations 列表下的一条小记录,内容只有四个字段:type(关系的类型,取自一份受控词表(一张事先定好、只能从中挑词的关系类型清单,防止同一种关系被写成五花八门的说法)——表面码条目用过 product_of 和 same_bulk_phase_as,本条目用的是 special_case_of,「是……的特例」)、target(指向的另一个 QEC-Bank 条目的 id)、how(一句话说「怎么个特例」)、refs(一组文献键,每个键都应在文献注册表里登记——参考文献导读专讲这件事)。记录外面还包着机器用的一层:applies_to = eczoo-entity:qcga#collection,即这句话的主语是整个 BB 码家族——QEC-Bank 把本条目映射到 Error Correction Zoo 的 qcga 实体——不是 gross 这一个实例;source_locator = bivariate_bicycle/card.yaml#/relations/0,它在源文件里的地址;source_sha256 = 91f961d0…,内容的指纹,改一个字母就对不上。在 card.yaml 里搜 "field": "relations" 会命中 2 处,但记录只有 1 条:一次在 /assertions 里,一次原样出现在 /scoped_facets/relations 里(后者是按侧面分好类的同一批断言,和表示阶梯导读 1.1 节数 16 处 8 条记录是同一个道理)。说人话:一条关系不是一句「有点像」,而是一句有主语、有类型、有出处、有指纹、能被程序核对的话。「有类型的关系」这个格式本身,《Surface Code · 关系》第 1 章有更从头的介绍,这里不重复。

In the source file codes/bivariate_bicycle/card.yaml, a relation is a small record under the relations list with just four content fields: type (drawn from a controlled vocabulary, a fixed list of relation types one must pick from, so that one kind of relation is not written in five different ways; the surface-code entry uses product_of and same_bulk_phase_as, this entry uses special_case_of), target (the id of another QEC-Bank entry), how (one sentence saying in what way it is a special case), and refs (bibkeys, each of which should be registered in the reference registry; the references guide is about exactly that). Around the record sits a layer of machine metadata: applies_to = eczoo-entity:qcga#collection, meaning the subject is the whole BB family, the QEC-Bank mapping this entry to the Error Correction Zoo entity qcga, and not the single gross instance; source_locator = bivariate_bicycle/card.yaml#/relations/0, its address in the source; and source_sha256 = 91f961d0…, a fingerprint of the content that one changed letter would break. Searching card.yaml for "field": "relations" hits 2 places, yet there is only 1 record: once under /assertions and once more, verbatim, under /scoped_facets/relations (the same assertions sorted by facet, the same reason the representation-ladder guide, §1.1 counts 16 hits for 8 records). In plain words: a relation is not “sort of similar”; it is a sentence with a subject, a type, sources, a fingerprint, and a program that can check it. For the format of a typed relation from scratch, see Chapter 1 of “Surface Code · Relations”; this page does not repeat it.

关系relation = ( type , target , how , refs[ ] )
主语subject = eczoo-entity:qcga#collection
位置locator = bivariate_bicycle/card.yaml#/relations/0
sha256 = 91f961d0…

记号:type、target、how、refs = 记录的四个字段名;refs[ ] 的方括号表示它是一个列表(可以有多个键);qcga = Error Correction Zoo 给 BB 码家族的条目代号;#collection = 「这一整族」,与 #object(单个码)、#subject(页面里被构造器实际实现的那个对象)相区分;sha256 = 一种内容哈希算法,输出 64 个十六进制字符,这里只写前 8 个。

Notation: type, target, how, refs = the record's four field names; the brackets in refs[ ] mean it is a list (several keys allowed); qcga = the Error Correction Zoo id of the BB family; #collection = “the whole family”, as opposed to #object (one code) or #subject (the object the constructor actually builds on a page); sha256 = a content-hash algorithm whose output is 64 hexadecimal characters, of which only the first 8 are shown.

1.2这条边说了什么:BB 是两块群代数码的可交换特例What the edge says: BB is the commutative special case of two-block group-algebra codes

字段Field卡片内容(原文 / 译文)Card content (verbatim / translation)
typespecial_case_of
targettwo_bga (导出页标 pendingrendered pending on the exported page)
how「Bivariate bicycle codes are the abelian two-block group-algebra codes for Z_l x Z_m; general 2BGA codes may use other groups and need not have a two-variable polynomial presentation.」—— 双变量 bicycle 码是 Zl × Zm 上的可交换两块群代数码;一般的 2BGA 码可以用别的群,也未必有「两个变量的多项式」这种写法。“Bivariate bicycle codes are the abelian two-block group-algebra codes for Z_l x Z_m; general 2BGA codes may use other groups and need not have a two-variable polynomial presentation.”
refswang2023abelian, lin2023twoblock (两个键在登记表里都还没有标题、作者、年份:「metadata pending」both keys still lack title, authors and year in the registry: “metadata pending”)

先回想 BB 的配方(《BB 码 · 高中数学版》3.1 节):在环 R = GF(2)[x, y]/(xl − 1, ym − 1) 里取两个稀疏多项式 A、B,每个多项式变成一张 lm × lm 的 0/1 矩阵,拼成 HX = [A | B]、HZ = [Bᵀ | Aᵀ],对易靠 AB = BA。两块群代数码(two-block group-algebra code,简称 2BGA)把这条配方里唯一有「BB 味」的东西——那个环 R——换成任意有限群 G 的群代数group algebra GF(2)[G]:形如「若干个群元素的 0/1 组合」的表达式全体,加法是逐项 XOR,乘法按群的乘法展开。BB 的环 R 就是 G = Z_l × Z_m 的群代数:群元素 (a, b) 写成单项式 x^a y^b。 GF(2)[G]:元素是「若干个群元素的 0/1 组合」,取两个这样的元素 a、b,仍然拼成两块 [A | B] 与 [Bᵀ | Aᵀ]。当 G = Zl × Zm——环面上的平移群,元素 (a, b) 表示「右移 a 格、上移 b 格」,两个平移的先后顺序无关——群代数正是 R,群元素 (a, b) 正是单项式 xayb,于是得到的就是 BB 码。这就是 how 的前半句。后半句在划边界:一般 2BGA 可以用别的群,包括不可交换的群(那时 AB = BA 不再自动成立,要靠「一块左乘、一块右乘」来保证对易,《qLDPC 码 · 高中数学版》4.4 节讲了这个技巧),因此也就没有「x、y 两个变量的多项式」这种写法。说人话:BB 是一个大家族里、群恰好是「环面平移」的那一支;家族里别的成员长得不像多项式,但两块的骨架是一样的。

a、b 怎样变成矩阵:一块左乘,一块右乘。比特和检查都用群元素 h 编号(每个群元素一个格子,每格两个比特)。一个群元素 g 给出两种「挪法」:左乘 h ↦ g h 与右乘 h ↦ h g。群代数的元素 a 是若干个群元素的和,令 A = L(a) = 这些 g 的左乘矩阵之和,B = R(b) = b 里各群元素的右乘矩阵之和(Lin–Pryadko,arXiv:2306.16400 第 IV.1 节式 (39)),再拼 HX = [A | B]、HZ = [Bᵀ | Aᵀ]。对易为什么总成立:先右乘再左乘与先左乘再右乘落点相同,g (h g′) = (g h) g′,这只是乘法结合律,所以 AB = BA,HXHZᵀ = AB + BA = 0。若两块都用左乘,就需要 g g′ = g′ g,一般不成立:在三个物体的置换群 S₃ 里,取 s = 交换第 0、1 个,r = 轮换 0 → 1 → 2 → 0,s r 与 r s 是不同的置换,但对全部 6 个 h 都有 (s h) r = s (h r)(本页脚本逐个核对)。一个最小的提升:G = Z₃ = {0, 1, 2}(按 mod 3 相加),a = 1 + g,其中 g 是元素 1。L(a) 是 3 × 3 矩阵:第 h 列在第 h 行和第 h + 1 行(mod 3)各有一个 1,即 1 × 1 的「底矩阵」[a] 里的一个群代数元素,被「提升」成一张 |G| × |G| 的 0/1 矩阵,每个群元素贡献一个置换矩阵。Z₃ 可交换,左乘右乘给出同一张矩阵,这就是 BB(与广义 bicycle)不必区分左右的原因。

First recall the BB recipe (§3.1 of “BB Codes · High-School Edition”): in the ring R = GF(2)[x, y]/(xl − 1, ym − 1) take two sparse polynomials A and B, turn each into an lm × lm binary matrix, assemble HX = [A | B] and HZ = [Bᵀ | Aᵀ], and let AB = BA do the commuting. A two-block group-algebra code (2BGA) replaces the one ingredient of that recipe that tastes of BB, the ring R, by the group algebraGF(2)[G]: all expressions of the form “a 0/1 combination of group elements”, added by termwise XOR and multiplied by expanding with the group's product. The BB ring R is the group algebra of G = Z_l × Z_m: the group element (a, b) is written as the monomial x^a y^b. GF(2)[G] of an arbitrary finite group G: its elements are 0/1 combinations of group elements; pick two of them, a and b, and assemble the same two blocks [A | B] and [Bᵀ | Aᵀ]. When G = Zl × Zm, the translation group of the torus, whose element (a, b) means “move a cells right and b cells up” in either order, the group algebra is exactly R and the element (a, b) is exactly the monomial xayb, so what comes out is a BB code. That is the first half of the how. The second half draws the boundary: general 2BGA codes may use other groups, including non-commutative ones (then AB = BA no longer comes for free and commutation is secured by “one block multiplies from the left, the other from the right”, the trick of §4.4 of “qLDPC Codes · High-School Edition”), so there is no “polynomial in two variables x, y” to write down. In plain words: BB is the branch of a large family whose group happens to be “torus translations”; other members do not look like polynomials, but the two-block skeleton is the same.

How a and b become matrices: one block multiplies from the left, the other from the right. Qubits and checks are labelled by group elements h (one site per group element, two qubits per site). A group element g gives two “moves”: left multiplication h ↦ g h and right multiplication h ↦ h g. An element a of the group algebra is a sum of group elements; let A = L(a) = the sum of their left-multiplication matrices and B = R(b) = the sum of the right-multiplication matrices of the elements in b (Lin and Pryadko, arXiv:2306.16400 §IV.1, Eq. (39)), then assemble HX = [A | B], HZ = [Bᵀ | Aᵀ]. Why they always commute: right then left lands where left then right does, g (h g′) = (g h) g′, which is just associativity, so AB = BA and HXHZᵀ = AB + BA = 0. With both blocks as left multiplications one would need g g′ = g′ g, which fails in general: in 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, while (s h) r = s (h r) for all 6 elements h (this page's script checks each). One smallest lift: G = Z₃ = {0, 1, 2} (addition mod 3), a = 1 + g with g the element 1. L(a) is a 3 × 3 matrix whose column h has a 1 in rows h and h + 1 (mod 3): the single group-algebra entry of the 1 × 1 “base matrix” [a] is “lifted” to a |G| × |G| 0/1 matrix, each group element contributing one permutation matrix. Z₃ is commutative, so left and right multiplication give the same matrix, which is why BB (and generalized bicycle) need not tell left from right.

2BGA(G; a, b): HX = [ A | B ], HZ = [ Bᵀ | Aᵀ ],
a, b ∈ GF(2)[G], A = L(a)(左乘left),B = R(b)(右乘right)
BB = 2BGA(Zl × Zm; A, B)
GF(2)[Zl × Zm] = R = GF(2)[x, y]/(xl − 1, ym − 1)
gross: l = 12, m = 6, |G| = 72, n = 2|G| = 144
toric_L3: l = m = 3, |G| = 9, n = 18

记号:G = 一个有限群(一组可以「相乘」、有单位元、可逆的对象,例如全部环面平移);|G| = G 的元素个数;GF(2)[G] = G 的群代数(上文);a、b = 群代数里选定的两个元素,A、B = 它们对应的 |G| × |G| 矩阵(在 BB 里就是两个多项式的矩阵,2.3 节);Zl × Zm = 「模 l 的整数」与「模 m 的整数」配成对的群,即 l × m 环面上的全部平移;l、m = 环面两个方向的格数;R = BB 的多项式环(同一教程 2.3 节「学名一瞥」);n = 数据比特数 = 2|G|,因为每个群元素(每个格子)放两个比特;∈ 读「属于」。

Notation: G = a finite group (a set of objects that can be multiplied, with an identity and inverses, e.g. all torus translations); |G| = the number of its elements; GF(2)[G] = its group algebra (above); a, b = the two chosen elements of the group algebra, A, B = their |G| × |G| matrices (in BB, the matrices of the two polynomials, §2.3); Zl × Zm = pairs of an integer mod l and an integer mod m, i.e. all translations of the l × m torus; l, m = cell counts along the two torus directions; R = the BB polynomial ring (§2.3 of the same guide, “a glance at the proper name”); n = number of data qubits = 2|G|, two qubits per group element (per cell); ∈ reads “belongs to”.

两个文献键。wang2023abelian:QEC-Bank 登记待补——Renyu Wang、Hsiang-Ku Lin、Leonid P. Pryadko,「Abelian and non-abelian quantum two-block codes」(2023,arXiv 2305.06890,摘要页已核对;摘要第一句:「a large class of CSS codes constructed from two commuting square matrices」)。扫描报告说它「用对易的方阵与群代数定义了更宽的两块框架,给出维数公式与距离界;BB 码是可交换的 Zr × Zs 特化」。lin2023twoblock:同样登记待补——Hsiang-Ku Lin、Leonid P. Pryadko,「Quantum two-block group algebra codes」(2023,arXiv 2306.16400,摘要页已核对:摘要称 2BGA 是「最小的提升积码」)。报告说它「把 2BGA 码放进提升积里,枚举小的最优例子,并提供精确的父类关系:每个 BB 码都是可交换 2BGA,不是每个 2BGA 都是 BB」。注意方向:边从 bivariate_bicycle 指向 two_bga,读作「BB 是 2BGA 的特例」;反过来「2BGA 是 BB 的什么」不成话。同样两个键还被表示阶梯的 R5「群代数」记录引用(表示阶梯导读 6.2 节)——那条记录的原文说这一视角「把 BB 码放进两块群代数码里而不把两个家族等同起来」,和这条关系是一句话的两面。

The two bibkeys. wang2023abelian: QEC-Bank registration pending: Renyu Wang, Hsiang-Ku Lin and Leonid P. Pryadko, “Abelian and non-abelian quantum two-block codes” (2023, arXiv 2305.06890, abstract page checked; its first sentence: “a large class of CSS codes constructed from two commuting square matrices”). The report says it “defines the wider two-block framework using commuting square matrices and group algebras, with dimension formulas and distance bounds; BB codes are the Abelian Zr × Zs specialization”. lin2023twoblock: likewise pending: Hsiang-Ku Lin and Leonid P. Pryadko, “Quantum two-block group algebra codes” (2023, arXiv 2306.16400, abstract page checked: it calls 2BGA codes “smallest lifted-product (LP) codes”); it “places 2BGA codes inside lifted products and enumerates small optimal examples; it supplies the precise parent relation: every BB code is Abelian 2BGA, not every 2BGA code is bivariate bicycle”. Mind the direction: the edge runs from bivariate_bicycle to two_bga and reads “BB is a special case of 2BGA”; “2BGA is a something of BB” does not parse. The same two keys are cited by the R5 “group-algebra” record on the representation ladder (representation-ladder guide, §6.2), whose text says the view “places BB codes inside two-block group-algebra codes without identifying the two families”: the relation and the view are two sides of one sentence.

1.3为什么另一端是 pending:边画好了,点还没建Why the far end is pending: the edge is drawn, the node is not built

导出页上,two_bga 不是一个链接,而是一段等宽的代码文字,旁边一个灰色小标签 pending。规则写在站点构建脚本 tools/site/build.py 里,只有一句:目标 id 在「已存在的条目」集合里,就渲染成链接,状态记 resolved;不在,就渲染成代码文字加 pending 标签。QEC-Bank 目前没有 codes/two_bga/card.yaml 这个条目。实体本体的一次评审记录(2026-08-31)把它列在「冻结的十二条指向未来条目的关系」清单里,同一张清单上还有 bacon_shor → compass_code_2d、color_666 → color_code_2d、haah_cubic → generalized_haah 等——也就是说,「先画边、后建点」在 QEC-Bank 里是一种正常状态,不是 BB 条目的疏漏。说人话:这条边已经画好,how 写了、两篇文献挂了、指纹算了;只是另一端的点还没建。将来有人写出 two_bga 的卡片,BB 这张卡一个字都不用改,重新导出,代码文字自动变成链接。反过来也要读对:pending 说的是目标条目的状态,不是这条断言的可信度——断言本身是完整的。

On the exported page, two_bga is not a link but a piece of monospace text with a grey chip, pending. The rule lives in the site builder tools/site/build.py and is one sentence long: if the target id is in the set of existing entries, render a link and record the state resolved; otherwise render code text plus the pending chip. The QEC-Bank currently has no codes/two_bga/card.yaml. An entity-ontology review record (2026-08-31) lists it among “the frozen twelve future-entry relations”, alongside bacon_shor → compass_code_2d, color_666 → color_code_2d, haah_cubic → generalized_haah and others, so “edge first, node later” is a normal state in the QEC-Bank, not an oversight of the BB entry. In plain words: the edge is drawn, the how is written, the two papers are attached, the fingerprint is computed; only the node at the far end is missing. When someone writes the two_bga card, not one character of the BB card changes; re-export, and the code text becomes a link. Read it the right way round, too: pending describes the state of the target entry, not the trustworthiness of the assertion, which is complete.

目标 id 在已有条目中?target id among existing entries?
是yes → <a href>two_bga</a>, resolved
否no → <code>two_bga</code> + 标签+ chip pending
今天:否today: no
为什么只有一条?bicycle、超图积、提升积都不是 typed 边Why only one? Neither bicycle, HGP nor lifted product is a typed edge

第 2 章会讲 BB 的家谱:bicycle → 广义 bicycle → BB,以及 BB ⊂ 2BGA ⊂ 提升积。这些都是文献里明明白白的话,为什么卡片只登记了「2BGA 的特例」这一条?Level-2 页「变体与边界地图」(Level-2 页是条目里比卡片更详细的讲解页,这一页的源文件是 pedagogy/variant-boundary-map.md)给了理由:「广义 bicycle、2BGA、提升积、双变量 bicycle 在历史上和代数上互相重叠,但它们不是可以互换的类型名」;「精确的父类是可交换两块群代数码」。也就是说,QEC-Bank 只把精确的那一层父子关系写成 typed 边,把历史沿革和更宽的包含关系留在散文里。另一个细节可以佐证:QEC-Bank 有一个 bicycle 条目(第 3 章),但 BB 卡片没有到它的边——「祖先」不是受控词表里的一种关系类型。还有一段来历:2026-07-05 的项目计划稿里,这条关系最初写的 how 是「bivariate bicycle codes are 2-block group-algebra codes over Z_l x Z_m」,refs 只有 bravyi2024high;发布的卡片把 how 改得更精确(加上「general 2BGA codes may use other groups…」的后半句),refs 换成了真正定义 2BGA 的两篇。

Chapter 2 tells the family tree: bicycle → generalized bicycle → BB, and BB ⊂ 2BGA ⊂ lifted product. All of that is plainly in the literature, so why does the card record only “a special case of 2BGA”? The Level-2 page “variant and boundary map” (a Level-2 page is an explanatory page of the entry, more detailed than the card; this one's source file is pedagogy/variant-boundary-map.md) gives the reason: “‘generalized bicycle’, ‘2BGA’, ‘lifted product’ and ‘bivariate bicycle’ overlap historically and algebraically, but they are not interchangeable type names”; “the exact parent is abelian two-block group-algebra code”. The QEC-Bank, in other words, writes only the exact parent as a typed edge and keeps the history and the wider inclusions as prose. A second detail supports this: the QEC-Bank has a bicycle entry (Chapter 3), yet the BB card has no edge to it; “ancestor” is not a relation type in the controlled vocabulary. And a piece of history: in the project plan of 2026-07-05 this relation's how first read “bivariate bicycle codes are 2-block group-algebra codes over Z_l x Z_m” with bravyi2024high as its only ref; the shipped card sharpened the how (adding the second half, “general 2BGA codes may use other groups…”) and replaced the refs by the two papers that actually define 2BGA.

关键想法Key idea

BB 条目在 QEC-Bank 地图上只有一条边:它是两块群代数码在 G = Zl × Zm 上的特例。边的四个字段都在、指纹也在,只是目标条目还没建,所以标 pending。这条边的方向、主语(整个家族)和边界(一般 2BGA 未必是多项式)都写在 how 里,一个字都不多。

The BB entry has one edge on the QEC-Bank map: it is the special case of two-block group-algebra codes at G = Zl × Zm. All four fields and the fingerprint are present; only the target entry is unbuilt, hence pending. The edge's direction, subject (the whole family) and boundary (general 2BGA need not be polynomial) are all in the how, with not one word to spare.

检查站Checkpoint第 1 章Chapter 1
假设明天有人写好了 codes/two_bga/card.yaml。为了让 BB 条目的关系页上 two_bga 从 pending 变成链接,BB 的卡片需要改什么?Suppose someone writes codes/two_bga/card.yaml tomorrow. What must change in the BB card so that two_bga on the BB relations page turns from pending into a link?

对。pending / resolved 不是卡片字段,是构建时算出来的:target 只存 id,链接地址和状态都由 build.py 按「该 id 是否有条目」现场决定。这也是为什么这条关系的 sha256 不会因为另一端建好而改变。

Right. pending / resolved is not a card field; it is computed at build time. The target stores only an id, and both the link and the state are decided on the spot by build.py from “does an entry with this id exist”. That is also why this relation's sha256 will not change when the far end gets built.

回看 1.3 节的那条规则:它读的是目标 id 和「已存在的条目集合」,卡片里没有任何一个字段叫 pending。

Look again at the rule in §1.3: it reads the target id and the set of existing entries; no field in the card is called pending.

第 2 章Chapter 2

家谱:从一只轮子到任意有限群The family tree: from one wheel to an arbitrary finite group

一条 typed 边只说了「父类是谁」。要理解为什么父类是它,得把家谱摊开:2004 年一只轮子的 bicycle 码,2019 年两只不同轮子的广义 bicycle,2024 年两个变量的 BB,以及把「环」换成「群代数」之后的 2BGA 与更一般的提升积。这一章每一代都用 QEC-Bank 里真有的实例算一遍——[[6,2,2]]、[[18,2,3]]、[[144,12,12]]——并在每一步标明:这一步在卡片上是 typed 边、是散文,还是什么都没有。 A typed edge only says who the parent is. To see why the parent is this one, unfold the family tree: the one-wheel bicycle code of 2004, the two-different-wheels generalized bicycle of 2019, the two-variable BB of 2024, and, once the ring is replaced by a group algebra, 2BGA and the still more general lifted product. Each generation is computed here on an instance the QEC-Bank actually ships, [[6,2,2]], [[18,2,3]], [[144,12,12]], and at every step we say whether, on the card, it is a typed edge, prose, or nothing at all.

2.1一只轮子:bicycle 码(2004)One wheel: the bicycle code (2004)

MacKay、Mitchison 与 McFadden 的「Sparse Graph Codes for Quantum Error-Correction」(mackay2004sparse,2004,已登记,arXiv quant-ph/0304161)只用一个变量造码:在环 GF(2)[x]/(xl − 1) 里取一个稀疏多项式 C——也就是一张 l × l 的循环矩阵circulant matrix:每一行都是上一行右移一格的方阵;等价于一个变量的多项式。任意两个循环矩阵对易。——令 H = [C | Cᵀ],并让 HX = HZ = H。对易条件自动成立:H Hᵀ = C Cᵀ + Cᵀ C = 2 C Cᵀ = 0,因为同一个变量的两个多项式一定对易(C 与 Cᵀ 都是 x 的多项式),而 GF(2) 里 1 + 1 = 0。「自行车」指的就是 C 与 Cᵀ 这两只轮子。QEC-Bank 的 bicycle 条目(T1)用 C = 1 + x、l = 3 给出见证实例 [[6,2,2]]:n = 6 个数据比特、k = 2 个逻辑比特、码距 d = 2,三个数全部 verified。码距 d = 2 意味着有一个只动两个比特的逻辑算符,于是一个单比特错误和另一个单比特错误可能给出同样的警报、却需要不同的修复,所以它只能探测、不能纠正单个错误(本页脚本穷举确认 d = 2)——但它把「同一个环上的多项式自动对易」这个想法压缩到了六个比特里,《BB 码 · 高中数学版》2.4 节正是从它讲起。在本条目的 card.yaml 里,mackay2004sparse 只出现在条目级的 refs 列表里,不绑定任何侧面记录:家谱这件事,QEC-Bank 写在 Level-2 页「变体与边界地图」的散文里,不是一条 typed 边。

MacKay, Mitchison and McFadden, “Sparse Graph Codes for Quantum Error-Correction” (mackay2004sparse, 2004, registered, arXiv quant-ph/0304161), build codes with one variable: in the ring GF(2)[x]/(xl − 1) take a sparse polynomial C, i.e. an l × l circulant matrixA square matrix each of whose rows is the previous row shifted one step right; equivalent to a polynomial in one variable. Any two circulants commute., set H = [C | Cᵀ], and let HX = HZ = H. Commutation is automatic: H Hᵀ = C Cᵀ + Cᵀ C = 2 C Cᵀ = 0, because two polynomials in the same variable always commute (C and Cᵀ are both polynomials in x) and 1 + 1 = 0 in GF(2). The “bicycle” is the pair of wheels C and Cᵀ. The QEC-Bank entry bicycle (T1) uses C = 1 + x with l = 3 for its witness [[6,2,2]]: n = 6 data qubits, k = 2 logical qubits, distance d = 2, all three verified. Distance d = 2 means some logical operator moves only two qubits, so two different single-qubit errors can raise the same alarms yet need different repairs; the code can therefore detect but not correct a single error (this page's script confirms d = 2 by exhaustion). Yet it compresses the idea “polynomials over one ring commute for free” into six qubits, which is where §2.4 of “BB Codes · High-School Edition” starts. In this entry's card.yaml, mackay2004sparse appears only in the entry-level refs list and is bound to no facet record: the QEC-Bank writes the ancestry as prose on the Level-2 page “variant and boundary map”, not as a typed edge.

bicycle: HX = HZ = [ C | Cᵀ ],
C ∈ GF(2)[x]/(xl − 1)
H Hᵀ = C Cᵀ + Cᵀ C = 2 C Cᵀ = 0 (mod 2)
QEC-Bank bicycle: C = 1 + x, l = 3
⇒ n = 2l = 6, k = 2, d = 2 (verified)

记号:C = 一个变量 x 的稀疏多项式,也就是一张 l × l 循环矩阵;Cᵀ = 它的转置,即每个平移倒过来(x ↦ x−1,2.3 节);l = 圈的长度(格数);H = 校验矩阵,[C | Cᵀ] 是把两张矩阵左右并排;n、k、d = 数据比特数、逻辑比特数、码距(《从高考数学到 Toric Code》4.4 节与5.8 节);n = 2l 因为两块各 l 列。

Notation: C = a sparse polynomial in one variable x, i.e. an l × l circulant; Cᵀ = its transpose, every translation reversed (x ↦ x−1, §2.3); l = length of the cycle (number of cells); H = a parity-check matrix, [C | Cᵀ] the two matrices side by side; n, k, d = data qubits, logical qubits, distance (§4.4 and §5.8 of “From High-School Math to the Toric Code”); n = 2l because each block has l columns.

2.2两只不同的轮子:广义 bicycle(2019/2021)Two different wheels: generalized bicycle (2019/2021)

Panteleev 与 Kalachev 的「Degenerate Quantum LDPC Codes With Good Finite Length Performance」(panteleev2021degenerate,2021,已登记,arXiv 1904.02703)把两只轮子换成两个各自独立选取、可以不同的多项式 a、b(仍然只有一个变量 x;相同也允许),并采用 BB 后来照抄的两块格式:HX = [A | B],HZ = [Bᵀ | Aᵀ]——「交换再转置」。对易证明和 BB 一模一样:HXHZᵀ = AB + BA = 2AB = 0,只用「一个变量的多项式互相对易」。这篇论文同时做了三件事(据其摘要页):构造了几个短的广义 bicycle(generalized bicycle,GB)码例子(摘要原话「construct several interesting examples of short generalized bicycle codes」;这一族本身更早就有人研究,本页不追溯首创者)、研究中等长度码在去极化噪声下的表现、提出 BP-OSD 译码器(在置信传播之后加「OSD 式后处理」)。所以在本条目的卡片上,这个键被 decoders[0](bp-osd,status standard)引用,而不是被关系引用:它对 BB 的贡献既是祖先,也是工具。QEC-Bank 目前没有独立的「广义 bicycle」条目,也就没有可以指向的 target。说人话:从 bicycle 到 GB,是「两只一样的轮子」变成「两只可以不同的轮子」;从 GB 到 BB,是「一个方向的圈」变成「两个方向的环面」。两步都保留了同一个证明。

Panteleev and Kalachev, “Degenerate Quantum LDPC Codes With Good Finite Length Performance” (panteleev2021degenerate, 2021, registered, arXiv 1904.02703), replace the two wheels by two polynomials a and b chosen independently, which may differ (still in one variable x; equal ones are allowed too) and use the two-block format BB later copies: HX = [A | B], HZ = [Bᵀ | Aᵀ], “swap, then transpose”. The commutation proof is identical to BB's: HXHZᵀ = AB + BA = 2AB = 0, using only that polynomials in one variable commute. The paper does three things at once (per its abstract page): it constructs several short generalized bicycle (GB) codes (abstract: “construct several interesting examples of short generalized bicycle codes”; the family itself was studied earlier, and this page does not trace who first defined it), studies medium-length codes under depolarizing noise, and proposes the BP-OSD decoder (belief propagation followed by “OSD-like post-processing”). On this entry's card the key is therefore cited by decoders[0] (bp-osd, status standard), not by the relation: its contribution to BB is both ancestor and tool. The QEC-Bank has no separate generalized-bicycle entry, so there is no target to point at. In plain words: bicycle to GB turns “two identical wheels” into “two wheels that may differ”; GB to BB turns “a cycle in one direction” into “a torus in two”. Both steps keep the same proof.

广义 bicyclegeneralized bicycle: HX = [ A | B ], HZ = [ Bᵀ | Aᵀ ],
a, b ∈ GF(2)[x]/(xl − 1)
HXHZᵀ = AB + BA = 2AB = 0
bicycle 是 b = aᵀ 的特例;
BB 是把 GF(2)[x]/(xl − 1) 换成 GF(2)[x, y]/(xl − 1, ym − 1)
bicycle is the case b = aᵀ;
BB replaces GF(2)[x]/(xl − 1) by GF(2)[x, y]/(xl − 1, ym − 1)

记号:a、b = 两个一变量多项式,A、B = 它们的循环矩阵;其余同上。「特例」的意思:把 b 取成 aᵀ,[A | B] 就变回 [C | Cᵀ]。

Notation: a, b = two one-variable polynomials, A, B = their circulants; the rest as above. “Special case” means: set b = aᵀ and [A | B] becomes [C | Cᵀ] again.

2.3两个变量:BB,以及它与环面码相切的那一点Two variables: BB, and the point where it touches the toric code

Bravyi、Cross、Gambetta、Maslov、Rall 与 Yoder 的「High-Threshold and Low-Overhead Fault-Tolerant Quantum Memory」(bravyi2024bicycle,2024,已登记,别名 bravyi2024high,arXiv 2308.07915)把环换成 R = GF(2)[x, y]/(xl − 1, ym − 1),也就是把一个圈换成 l × m 的环面。旗舰实例 gross:l = 12、m = 6,A = x³ + y + y²,B = y³ + x + x²;n = 2lm = 144,rank HX = rank HZ = 66,k = 144 − 66 − 66 = 12(这一步要求检查乘起来不会等于 −I;每条检查全是 X 或全是 Z 时这自动成立),每条检查 3 + 3 = 6 腿,每个数据比特被 3 条 X 检查和 3 条 Z 检查碰到,d = 12(bounded:下界引自这篇论文,上界由 QEC-Bank 的 rand-lowweight-v1、种子 5、2000 次迭代找到的重量 12 见证给出;参数导读 3.3 节)。最小的有意思的 BB 码是 A = 1 + x、B = 1 + y、l = m = 3:这正是环面码 [[18,2,3]],QEC-Bank 把它作为本条目的第二个实例 toric_L3(n、k、d 全部 verified)。它是「BB 码是环面码的直系后代」这句话的字面证明:环面码的四腿星形检查就是 A 的两项碰左层、B 的两项碰右层(3.1 节)。到实验台上看:预设 toric3,点一条检查数它的四条腿,读数里 rank = 8、8,k = 2。

Bravyi, Cross, Gambetta, Maslov, Rall and Yoder, “High-Threshold and Low-Overhead Fault-Tolerant Quantum Memory” (bravyi2024bicycle, 2024, registered, alias bravyi2024high, arXiv 2308.07915), replace the ring by R = GF(2)[x, y]/(xl − 1, ym − 1), i.e. one cycle by an l × m torus. The flagship instance gross: l = 12, m = 6, A = x³ + y + y², B = y³ + x + x²; n = 2lm = 144, rank HX = rank HZ = 66, k = 144 − 66 − 66 = 12 (this step needs that no product of checks equals −I, which holds automatically when every check is all-X or all-Z), every check has 3 + 3 = 6 legs, every data qubit is touched by 3 X checks and 3 Z checks, d = 12 (bounded: the lower bound cited to this paper, the upper bound a weight-12 witness found by the QEC-Bank's rand-lowweight-v1, seed 5, 2000 iterations; parameters guide, §3.3). The smallest interesting BB code is A = 1 + x, B = 1 + y, l = m = 3: exactly the toric code [[18,2,3]], which the QEC-Bank ships as this entry's second instance toric_L3 (n, k, d all verified). It is the literal proof of “BB codes are direct descendants of the toric code”: the toric code's four-leg star check is A's two terms on the left layer and B's two terms on the right (§3.1). See it on the bench: preset toric3, click a check to count its four legs, and read rank = 8, 8, k = 2.

同一个 [[18,2,3]] 还有第二种造法:两条长 3 的周期重复码(圈 C3,校验矩阵 3 × 3、每行两个相邻的 1)的超图积 HGP(C3, C3)——《qLDPC 码 · 高中数学版》2.1 节的配方,也是 QEC-Bank 的 toric 条目自己那条 product_of → hgp 关系所说的东西(《Surface Code · 关系》3.2 节)。两台机器、两套输入,得到同一张矩阵(可能只差行和列的排列顺序):n = 9 + 9 = 18,k = k₁k₂ + k₁ᵀk₂ᵀ = 1·1 + 1·1 = 2。所以环面码是 HGP 家族与 BB 家族相切的那一点。下面把超图积实验台的两个因子都设成「环 [3,1,3](周期)」,对照上面的读数:

The same [[18,2,3]] has a second construction: the hypergraph product HGP(C3, C3) of two periodic repetition codes of length 3 (the cycle C3, a 3 × 3 parity-check matrix with two adjacent 1s per row), the recipe of §2.1 of “qLDPC Codes · High-School Edition” and what the QEC-Bank toric entry's own relation product_of → hgp asserts (“Surface Code · Relations”, §3.2). Two machines, two sets of inputs, one matrix (up to the order of rows and columns): n = 9 + 9 = 18, k = k₁k₂ + k₁ᵀk₂ᵀ = 1·1 + 1·1 = 2. The toric code is thus the point where the HGP family and the BB family touch. Below, set both factors of the hypergraph-product bench to “cycle [3,1,3] (periodic)” and compare with the readout above:

记号:C3 = 长 3 的周期重复码(三个比特排成圈,检查「相邻两位一样吗」),它的校验矩阵是 3 × 3 循环矩阵 1 + x;HGP(·,·) = 超图积;k₁、k₂ = 两个经典因子的逻辑比特数(这里各 1),k₁ᵀ、k₂ᵀ = 它们的转置码的逻辑比特数(闭合的圈各 1,见《Surface Code · 关系》3.1 节)。

Notation: C3 = the periodic repetition code of length 3 (three bits in a ring, each check asking “are these two neighbours equal?”), whose parity-check matrix is the 3 × 3 circulant 1 + x; HGP(·,·) = the hypergraph product; k₁, k₂ = the two classical factors' logical bits (1 each here), k₁ᵀ, k₂ᵀ = those of their transpose codes (1 each for a closed cycle, see “Surface Code · Relations”, §3.1).

相切不是关系Touching is not a relation

BB 家族与 HGP 家族在整个周期环面码系列上重合(A = 1 + x、B = 1 + y、l = m = L;[[18,2,3]] 是 L = 3 那一个),但 BB 卡片上没有到 hgp、也没有到 toric 的边。「两族共享一个系列」和「一族是另一族的特例」是两句强度不同的话:没有任何 QEC-Bank 记录或本页引用的文献说 gross 是某两个经典码的超图积;gross 的「一格两个比特、两块矩阵」结构来自 1 × 1 底矩阵的提升(2.4 节),不来自两个经典码的乘积(超图积的 n = n₁n₂ + m₁m₂ 是两个因子尺寸的乘积之和,《qLDPC 码 · 高中数学版》4.3 节)。至于 gross 能不能碰巧被重新排列成某个超图积,本页没有证明,也不需要:只要没有人证明它是,就不能把超图积的公式与结论搬到它身上。toric 条目的 same_bulk_phase_as → surface、product_of → hgp 是它自己的边,不会因为 toric_L3 也是 BB 实例就传给 BB。

The BB and HGP families coincide on the whole periodic toric series (A = 1 + x, B = 1 + y, l = m = L; [[18,2,3]] is the L = 3 member), yet the BB card has no edge to hgp and none to toric. “Two families share a series” and “one family is a special case of the other” are sentences of different strength: no QEC-Bank record and no paper cited here says gross is the hypergraph product of two classical codes; gross's “two qubits per cell, two blocks” structure comes from lifting a 1 × 1 base matrix (§2.4), not from a product of two classical codes (an HGP has n = n₁n₂ + m₁m₂, a sum of products of factor sizes, §4.3 of “qLDPC Codes · High-School Edition”). Whether gross could happen to be rearranged into some hypergraph product this page does not prove, and need not: as long as nobody has shown it is one, the formulas and conclusions of hypergraph products cannot be carried over to it. The toric entry's same_bulk_phase_as → surface and product_of → hgp are its own edges and do not transfer to BB because toric_L3 happens to be a BB instance too.

2.4更大的家族:两块群代数码与提升积The larger family: two-block group-algebra codes and lifted products

现在往上走两级。第一级,从环到群代数。1.2 节已经说过:把 R 换成任意有限群 G 的群代数 GF(2)[G],两块骨架不动,就得到 2BGA 码(wang2023abelian)。BB 是 G = Zl × Zm 的可交换特例,这就是卡片上唯一的那条 typed 边。第二级,从 1 × 1 到任意大小的底矩阵。lin2023twoblock 把 2BGA 放进提升积lifted product(Panteleev–Kalachev):超图积的模板里,底矩阵的每个 0/1 元素换成环 R(或群代数 GF(2)[G])里的一个元素,「复制」时带上平移;转置附带环的反演。超图积是 R = GF(2) 的特例;BB 是底矩阵 1 × 1、R 为环面多项式环的特例。里:它们是「最小的提升积块」——底矩阵只有 1 × 1。《qLDPC 码 · 高中数学版》4.2 节从超图积的模板把这一点推了出来:两个 1 × 1 的底矩阵 [a]、[b],超图积模板给出 1·1 + 1·1 = 2 个「格」,每个格提升成 |G| 个比特,n = 2|G|,HX = [a | b],HZ = [bᵀ | aᵀ]——两个多项式、两层比特、交换转置,全部从模板里掉出来;|G| = 72 时 n = 144,正是 gross 的比特数。于是有一条包含链:BB ⊂ 2BGA ⊂ 提升积,每一步都是「特例」,不是「同义词」。表示扫描报告把这一点写成一条防错规则:它「防止把 BB、HGP、lifted product 当作同义词」。

Now climb two levels. Level one, from ring to group algebra. As §1.2 said: replace R by the group algebra GF(2)[G] of any finite group G, keep the two-block skeleton, and you have a 2BGA code (wang2023abelian). BB is the commutative case G = Zl × Zm, which is the card's single typed edge. Level two, from 1 × 1 to base matrices of any size. lin2023twoblock places 2BGA inside the lifted productLifted product (Panteleev–Kalachev): in the hypergraph-product template, every 0/1 entry of the base matrices is replaced by an element of a ring R (or a group algebra GF(2)[G]), so “copying” carries a translation; transposition carries the ring's inversion. HGP is the case R = GF(2); BB is the case of 1 × 1 base matrices with R the torus polynomial ring.: they are “the smallest lifted-product blocks”, with 1 × 1 base matrices. §4.2 of “qLDPC Codes · High-School Edition” derives this from the HGP template: two 1 × 1 base matrices [a], [b] give 1·1 + 1·1 = 2 “cells”, each lifted to |G| qubits, n = 2|G|, HX = [a | b], HZ = [bᵀ | aᵀ]: two polynomials, two layers, swapped transposes, all falling out of the template; at |G| = 72, n = 144, the gross qubit count. Hence a chain of inclusions, BB ⊂ 2BGA ⊂ lifted product, each step a special case, none a synonym. The representations scout report states it as a guard: it “prevents treating ‘BB’, ‘HGP’, and ‘lifted product’ as synonyms”.

bicycle ⇒ 广义 bicyclegeneralized bicycle ⇒ BB (历史:一变量 → 两变量history: one variable → two)
BB ⊂ 2BGA ⊂ 提升积lifted product
(代数:环面群 → 任意群 → 任意底矩阵algebra: torus group → any group → any base matrix)
卡片上的 typed 边只有中间那一步 BB ⊂ 2BGAthe only typed edge on the card is the middle step BB ⊂ 2BGA

记号:⇒ 这里读「演化为」(历史先后),⊂ 读「包含于」(每个左边的码都是右边的一个实例);底矩阵 = 超图积或提升积模板里那两张小矩阵,尺寸 n₁ × m₁、n₂ × m₂,超图积的 n = n₁n₂ + m₁m₂;|G| = 群的元素个数 = 每个格提升出的比特数。

Notation: ⇒ here reads “evolved into” (historical order), ⊂ reads “is contained in” (every code on the left is an instance of the right); base matrices = the two small matrices of the HGP or lifted-product template, of sizes n₁ × m₁ and n₂ × m₂, with HGP n = n₁n₂ + m₁m₂; |G| = the number of group elements = qubits per lifted cell.

bicycle(2004)bicycle (2004) 一个变量 x,H = [C | Cᵀ]one variable x, H = [C | Cᵀ] H_X = H_Z = H QEC-Bank:[[6,2,2]],三项 verifiedQEC-Bank: [[6,2,2]], all verified 广义 bicycle(2019/21 的例子)generalized bicycle (2019/21 examples) 一个变量 x,两个多项式 a、b 各自选取one variable x, a and b chosen independently H_X = [A | B],H_Z = [Bᵀ | Aᵀ]H_X = [A | B], H_Z = [Bᵀ | Aᵀ] QEC-Bank:无条目QEC-Bank: no entry BB(2024)· 本条目BB (2024) · this entry 两个变量 x、y,群 Z_l × Z_mtwo variables x, y, group Z_l × Z_m 同样的两块格式the same two-block format gross [[144,12,12]],d boundedgross [[144,12,12]], d bounded 环面码 toric_L3 [[18,2,3]]toric code toric_L3 [[18,2,3]] = BB(A = 1 + x, B = 1 + y) = HGP(C₃, C₃) 两族共享的一个实例one instance both families share 提升积(lifted product)lifted product 底矩阵可以任意大base matrices of any size 元素取自 GF(2)[G]entries taken from GF(2)[G] G 只有单位元时 = 超图积trivial group G: hypergraph product 2BGA · two_bga(待建)2BGA · two_bga (not yet built) 任意有限群 Gany finite group G a、b ∈ GF(2)[G],1 × 1 底矩阵a, b ∈ GF(2)[G], 1 × 1 base QEC-Bank:目标 pendingQEC-Bank: target pending b 不必 = aᵀb need not be aᵀ 圈 → 环面cycle → torus special_case_ofspecial_case_of (卡片上唯一的边)(the only edge on the card) ⊂⊂ 1 × 1 底矩阵1 × 1 base G 平凡,trivial G, 底矩阵 C₃base C₃ 共享实例:A = 1 + x,B = 1 + y,l = m = 3shared instance: A = 1 + x, B = 1 + y, l = m = 3 洋红实线:卡片上的 typed 边(唯一一条)magenta solid: the typed edge on the card (the only one) 灰实线:历史沿革(Level-2 页散文)grey solid: history (prose on the Level-2 page) 灰虚线:代数包含或共享实例,QEC-Bank 未登记grey dashed: algebraic inclusion or shared instance, not recorded 粗框 = 本条目;虚框 = 尚未建的条目thick frame = this entry; dashed frame = entry not yet built
图 2.1Fig. 2.1 BB 码的家谱。上排是历史(一个变量的 bicycle → 两只轮子不同的广义 bicycle → 两个变量的 BB),下排是代数(任意群的 2BGA → 任意底矩阵的提升积)。洋红实线是卡片上唯一的 typed 边;灰实线是 Level-2 页的散文;灰虚线是文献里的包含关系或共享实例,QEC-Bank 未登记。环面码同时是 BB(1 + x, 1 + y) 和 HGP(C₃, C₃),是两族相切的点。 The BB family tree. Top row: history (one-variable bicycle → generalized bicycle with two different wheels → two-variable BB); bottom row: algebra (2BGA over any group → lifted products with any base matrices). The magenta solid line is the card's only typed edge; grey solid lines are prose on the Level-2 page; grey dashes are inclusions or a shared instance found in the literature but unrecorded in the QEC-Bank. The toric code is both BB(1 + x, 1 + y) and HGP(C₃, C₃), the point where the two families touch.
构造Construction环 / 群Ring / group底矩阵Base matricesQEC-Bank 实例QEC-Bank instance在本条目里的地位Status in this entry
bicycleGF(2)[x]/(xl − 1)[c], [cᵀ]bicycle [[6,2,2]]祖先;Level-2 散文;键 mackay2004sparse 仅条目级ancestor; Level-2 prose; key mackay2004sparse entry-level only
广义 bicyclegeneralized bicycleGF(2)[x]/(xl − 1)[a], [b]无条目no entry祖先;键 panteleev2021degenerate 被译码器记录引用ancestor; key panteleev2021degenerate cited by a decoder record
BBGF(2)[x, y]/(xl − 1, ym − 1)[a], [b]gross [[144,12,12]], toric_L3 [[18,2,3]]本条目(主语 eczoo-entity:qcga#collection)this entry (subject eczoo-entity:qcga#collection)
2BGAGF(2)[G], G 任意有限群any finite group[a], [b]无条目(two_bga 待建)no entry (two_bga unbuilt)唯一的 typed 边the only typed edge: special_case_of, pending
提升积lifted productGF(2)[G]任意大小any size见 qLDPC 教程 4.3 节的表see the table in qLDPC guide §4.3文献包含关系(lin2023twoblock);未登记literature inclusion (lin2023twoblock); unrecorded
超图积hypergraph productGF(2)任意大小any sizetoric L3 = HGP(C₃, C₃)与 BB 共享实例 [[18,2,3]];未登记shares the instance [[18,2,3]] with BB; unrecorded
关键想法Key idea

家谱有两条线:历史线(一只轮子 → 两只轮子 → 两个变量)和代数线(环面群 → 任意群 → 任意底矩阵)。BB 站在两条线的交点。QEC-Bank 只把代数线上精确的下一级——2BGA——写成 typed 边;历史线留在散文里;与超图积的关系是共享整个周期环面码系列(A = 1 + x、B = 1 + y、l = m = L)。读文献时,凡看到「BB 就是提升积 / 就是 HGP」这类同义化的说法,都该按这张表纠正成「是……的特例」或「共享一个系列」。

The tree has two lines: the historical one (one wheel → two wheels → two variables) and the algebraic one (torus group → any group → any base matrix). BB stands at their crossing. The QEC-Bank writes only the exact next level on the algebraic line, 2BGA, as a typed edge; the historical line stays prose; the link to hypergraph products is a shared series, the periodic toric codes (A = 1 + x, B = 1 + y, l = m = L). Whenever a paper says “BB is just a lifted product / just an HGP”, correct it by this table to “is a special case of” or “shares a series with”.

第 3 章Chapter 3

八张卡:一张家族卡、七张成员卡,中间没有边Eight cards: one family card, seven member cards, and no edges between them

QEC-Bank 里叫「BB」的东西不止一张卡。除了本条目(家族卡,T3),还有七张:bb72、bb90、bb108、bb288、bb5、bicycle、gross。这一章说清每张卡是什么层级、记了哪几个数字、哪个数字带哪个证据词,以及它们和家族卡是什么关系——答案有点意外:在地图上,这八张卡之间目前没有任何一条 typed 边;把它们连在一起的是同一台构造器。 More than one card in the QEC-Bank is called “BB”. Besides this entry (the family card, T3) there are seven: bb72, bb90, bb108, bb288, bb5, bicycle, gross. This chapter states each card's tier, which numbers it records and with which evidence word, and how it relates to the family card. The answer is a little surprising: on the map there is currently no typed edge at all among the eight; what ties them together is the same constructor.

3.1一张家族卡,七张成员卡One family card, seven member cards

先看层级。QEC-Bank 给每张卡一个完成层级QEC-Bank 的 tier:T0 = 新建的宽泛骨架(只有身份与范围);T1 = 「verified formal skeleton」,验证了一个有限见证的检查矩阵,其他侧面「尚未调研,不是负结论」;T3 = 「reader contract complete」,研究、直觉、推导、复现、导览全套齐备。。本条目是 T3:整套读者契约(QEC-Bank 要求一个完整条目具备的全部读者材料:研究、直觉、推导、复现、导览)齐备。七张成员卡里,bb72、bb90、bb108、bb288、bicycle、gross 是 T1:「验证了形式骨架」——构造器存下精确的约定、重算了二元辛商(就是 n 与 k),并从同一批检查导出了那张可以拖拽的关联图;它们的页面原话是「This T1 card does not yet promote decoder, realization, operation, or relation seeds」。bb5 特别一点:它的主实体 eczoo-entity:bb5#collection 是 T0(「BB5 指的是由重量为五的检查条件选出的一族 BB 码,不只是 QEC-Bank 目前构造的那一个成员」),而页面上被构造器实现的 atlas-entity:bb5#subject 是 T1。下表把八张卡的数字与证据词并排,全部照抄各自的条目页:

Tiers first. The QEC-Bank gives every card a completion tierThe QEC-Bank tier: T0 = a new broad skeleton (identity and scope only); T1 = “verified formal skeleton”, one finite witness's check matrix verified, other facets “not yet surveyed, not negative results”; T3 = “reader contract complete”, the full research, intuition, derivation, reproduction and tour packet.. This entry is T3: the full reader contract (all the reader material the QEC-Bank requires of a complete entry: research, intuition, derivation, reproduction, tour) is present. Of the seven member cards, bb72, bb90, bb108, bb288, bicycle and gross are T1, “verified formal skeleton”: the constructor stores the exact convention, recomputes the binary symplectic quotient (that is n and k) and derives the draggable incidence view from those same checks; their pages say verbatim “This T1 card does not yet promote decoder, realization, operation, or relation seeds”. bb5 is special: its primary entity eczoo-entity:bb5#collection is T0 (“BB5 denotes the collection of bivariate-bicycle codes selected by a weight-five stabilizer-check condition, not only the finite member currently constructed by QEC-Bank”), while the constructor-built atlas-entity:bb5#subject on the same page is T1. The table lines up the eight cards' numbers and evidence words, all copied from the entry pages:

条目Entry形态 · 层级Form · tier实例 [[n, k, d]]Instance [[n, k, d]]证据词(n · k · d)Evidence words (n · k · d)「关系」侧面Relations facet
bivariate_bicyclecollection (qcga) · T3gross [[144,12,12]]
toric_L3 [[18,2,3]]
verified · verified · bounded
verified · verified · verified
1 条:special_case_of → two_bga(pending)1 edge: special_case_of → two_bga (pending)
bb72object · T1[[72,12,6]]verified · verified · claimed尚未调研not yet surveyed
bb90object · T1[[90,8,10]]verified · verified · claimed尚未调研not yet surveyed
bb108object · T1[[108,8,10]]verified · verified · claimed尚未调研not yet surveyed
bb288object · T1[[288,12,18]]verified · verified · claimed尚未调研not yet surveyed
bb5collection T0 + subject T1[[30,4,5]]verified · verified · verified尚未调研not yet surveyed
bicyclecollection · T1[[6,2,2]]verified · verified · verified尚未调研not yet surveyed
grosscollection · T1n = 144, k = 12, d = ?verified · verified · 未记录not recorded尚未调研not yet surveyed

记号:[[n, k, d]] = n 个数据比特存 k 个逻辑比特、码距 d;三个证据词依次对应 n、k、d。verified = 机器重算并断言相等;bounded = 文献下界 + 机器上界相符、未穷举;claimed = 只有文献声称,机器未重算;「?」是 gross 成员卡上码距一栏的原样显示。「尚未调研」译自成员卡上的原话「Not yet surveyed at T1; this absence is not a negative literature conclusion」。

Notation: [[n, k, d]] = n data qubits storing k logical qubits at distance d; the three evidence words refer to n, k, d in turn. verified = machine-recomputed and asserted equal; bounded = literature lower bound and machine upper bound agree, not exhaustive; claimed = literature statement only, not recomputed; “?” is what the gross member card literally shows in its distance column. “Not yet surveyed” is the member cards' own phrase, “Not yet surveyed at T1; this absence is not a negative literature conclusion”.

下面的账本在你的浏览器里现场重算 7 个 BB 预设的 n 与 k(GF(2) 上的秩):家族卡的两个实例 toric_L3 与 gross,加上 bb5、bb72、bb90、bb108、bb288 五张成员卡的码。bicycle 不是双变量码,不在账本里(它的 [[6,2,2]] 本页脚本单独验证过,见 2.1 节)。「证据」一栏的三个词是三句强度不同的话:bb5、toric_L3(以及账本外的 bicycle)的 d 是穷举证明的;gross 的 d = 12 是「文献下界 + QEC-Bank 见证上界」;Table 3 另外四个码的 d 只是论文声称——参数导读 4.1 节专门讲这「八张卡,三个证据词」。

The ledger below recomputes n and k in your browser (GF(2) ranks) for 7 BB presets: the family card's two instances toric_L3 and gross, plus the codes of the five member cards bb5, bb72, bb90, bb108, bb288. Bicycle is not a two-variable code and is not in the ledger (this page's script checks its [[6,2,2]] separately, see §2.1). The three words in the “evidence” column are three sentences of different strength: for bb5 and toric_L3 (and bicycle, outside the ledger) the d is proved by enumeration; gross's d = 12 is “literature lower bound plus QEC-Bank witness upper bound”; the d of the other four Table 3 codes is only claimed in the paper. §4.1 of the parameters guide is devoted to these “eight cards, three evidence words”.

3.2成员与家族之间:不是边,是同一台构造器Between members and family: not an edge but the same constructor

七张成员卡的「关系」侧面都写着同一句:「Not yet surveyed at T1; this absence is not a negative literature conclusion.」所以「bb72 是一个 BB 码」这句话,在 QEC-Bank 地图上今天不是一条 typed 边,而是你从两处读出来的事实:成员卡的描述(「A fixed 72-qubit polynomial block」,一个固定的 72 比特多项式块),以及它的构造器——同一条配方 HX = [A | B]、HZ = [Bᵀ | Aᵀ]。《BB 码 · 高中数学版》第 5 章对八个条目逐个重算了 n 与 k:bb72 两个秩各 30,k = 72 − 60 = 12;bb90 各 41,k = 90 − 82 = 8;bb108 各 50,k = 108 − 100 = 8;bb288 各 138,k = 288 − 276 = 12;bb5 各 13,k = 30 − 26 = 4。说人话:地图上这八个点排在一起,是因为它们长得像、算法一样,不是因为有人画了线。这和表面码那边刚好相反:表面码的亲戚们(XZZX、扭结缺陷……)各有条目、也各无边,但表面码自己至少有两条边(《Surface Code · 关系》1.2 节);BB 家族则是一条边指向家族之外,家族之内一条也没有。

All seven member cards' Relations facets carry the same sentence: “Not yet surveyed at T1; this absence is not a negative literature conclusion.” So “bb72 is a BB code” is, on today's QEC-Bank map, not a typed edge but a fact you read off two places: the member card's description (“A fixed 72-qubit polynomial block”) and its constructor, the same recipe HX = [A | B], HZ = [Bᵀ | Aᵀ]. Chapter 5 of “BB Codes · High-School Edition” recomputes n and k for all eight: bb72 has both ranks 30, k = 72 − 60 = 12; bb90 both 41, k = 90 − 82 = 8; bb108 both 50, k = 108 − 100 = 8; bb288 both 138, k = 288 − 276 = 12; bb5 both 13, k = 30 − 26 = 4. In plain words: the eight points sit together on the map because they look alike and compute alike, not because someone drew lines. This is the mirror image of the surface-code situation: the surface code's relatives (XZZX, twist defects, …) each have an entry and no edge, but the surface code itself has at least two edges (“Surface Code · Relations”, §1.2); the BB family has one edge pointing outside the family and none inside it.

家族内部还有一层代数上的亲缘,同样没有登记成边:bb72、bb108 与 gross 用完全相同的 A = x³ + y + y²、B = y³ + x + x²,只是环面不同——6 × 6、9 × 6、12 × 6——商空间 R/(A, B) 的维数分别是 6、4、6,所以 k 是 12、8、12(4.3 节「三项不决定 k」与5.5 节)。「同样的多项式、不同的环面」是一种真实的关系,但受控词表里没有这种类型,QEC-Bank 就不写;它留在推导页里供人核对。

There is a further algebraic kinship inside the family, likewise not recorded as an edge: bb72, bb108 and gross use exactly the same A = x³ + y + y², B = y³ + x + x², differing only in the torus, 6 × 6, 9 × 6, 12 × 6, so the quotient R/(A, B) has dimension 6, 4, 6 and k is 12, 8, 12 (§4.3, “three terms do not fix k”, and §5.5). “Same polynomials, different torus” is a real relationship, but the controlled vocabulary has no such type, so the QEC-Bank does not write it; it stays on the derivation pages for anyone to check.

3.3「gross」为什么有两张卡Why “gross” has two cards

同一张 144 比特的矩阵在 QEC-Bank 里出现两次。在家族卡上,它是实例 gross:n = 144 verified、k = 12 verified、d = 12 bounded——两份证书,文献下界加种子 5 的见证上界。在成员卡 gross(T1,映射到 eczoo 的 gross 实体)上,它只有 n = 144 verified、k = 12 verified,码距一栏显示「?」:T1 卡只重算秩,不承诺码距,成员卡的描述也明说「Decoder, operation, relation, and realization facets remain unsurveyed」。说人话:同一个对象,家族卡上是「带两份证书的实例」,成员卡上是「只验证了骨架的条目」。引用 d = 12 时要指向家族卡的实例,不要指向成员卡。两张卡之间同样没有 typed 边——参数导读 4.2 节从实例表的角度把这件事讲全了,这里不重复。

The same 144-qubit matrix appears twice in the QEC-Bank. On the family card it is the instance gross: n = 144 verified, k = 12 verified, d = 12 bounded, two certificates, the literature lower bound and the seed-5 witness upper bound. On the member card gross (T1, mapped to the eczoo entity gross) it has only n = 144 verified and k = 12 verified, with “?” in the distance column: a T1 card recomputes ranks and promises no distance, and its description says so, “Decoder, operation, relation, and realization facets remain unsurveyed”. In plain words: one object, “an instance with two certificates” on the family card and “an entry with only its skeleton verified” on the member card. When you cite d = 12, point at the family card's instance, not the member card. There is no typed edge between the two cards either; §4.2 of the parameters guide covers this from the instance table's side, so it is not repeated here.

关键想法Key idea

QEC-Bank 里的 BB 家族是「一张 T3 的家族卡 + 七张 T1/T0 的成员卡」,成员资格写在构造器里,不写在边里。读任何一张成员卡,先看层级:成员卡上 n 与 k 都是 verified;d 则分三种——bicycle 与 bb5 穷举 verified,bb72 / bb90 / bb108 / bb288 只是 claimed,gross 成员卡上根本没有。

The BB family in the QEC-Bank is “one T3 family card plus seven T1/T0 member cards”; membership is written in the constructor, not in edges. Reading any member card, check the tier first: on the member cards n and k are verified, while d comes in three kinds — exhaustively verified for bicycle and bb5, merely claimed for bb72 / bb90 / bb108 / bb288, and absent altogether on the gross member card.

第 4 章Chapter 4

七根变体轴:每改一根,哪些数字要重算Seven variant axes: what must be recomputed when each one moves

Level-2 页「变体与边界地图」开头就纠正一个常见误会:「双变量 bicycle」是一条构造原则,而 gross、double-gross、BB5、BB6 这些名字指的是有限实例或检查重量的类,不是新的构造原则。真正的变体是沿着七根轴改动配方;每改一根,那一页都写明「必须重算什么」。这一章每根轴一段,人话加真数字,并标出每个键的登记状态——七根轴牵涉的十个键里,只有 steffan2025tile 一个已登记,三个甚至不在本条目的 32 个键里。 The Level-2 page “variant and boundary map” opens by correcting a common confusion: “bivariate bicycle” is a construction principle, while names such as gross, double-gross, BB5 or BB6 refer to finite instances or check-weight classes, not new principles. Real variants move the recipe along seven axes, and for each axis that page states what must be recomputed. This chapter gives one plain-language paragraph per axis with real numbers, and marks every key's registration status: of the ten keys the seven axes involve, only steffan2025tile is registered, and three are not even among this entry's 32 keys.

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

表格逐字译自 codes/bivariate_bicycle/pedagogy/variant-boundary-map.md 的「Variant axes」。键的登记状态:steffan2025tile 已登记;voss2025multivariate、wang2026coprime、eberhardt2024pruning、liang2025planar、liang2025selfdual、shaw2025morphing 在本条目的 32 个键里但「metadata pending」;liang2026qudit、cruzbenito2026evolutionary、wang2026bbs(4.2 节)只在登记表里有一行裸 id,不在本条目的 32 个键里——它们是扫描报告与 Level-2 页用到、条目卡片没有引用的键。以下标题、作者、arXiv 号原取自文献扫描报告 docs/lit/bivariate_bicycle/bivariate_bicycle-variants.md;本次修订已逐一对照 arXiv 摘要页(2026-09-24)。除已登记者外,它们在 QEC-Bank 里都还「登记待补」。

The table is translated word for word from “Variant axes” in codes/bivariate_bicycle/pedagogy/variant-boundary-map.md. Registration status of the keys: steffan2025tile is registered; voss2025multivariate, wang2026coprime, eberhardt2024pruning, liang2025planar, liang2025selfdual, shaw2025morphing are among this entry's 32 keys but “metadata pending”; liang2026qudit, cruzbenito2026evolutionary and wang2026bbs (§4.2) exist in the registry only as bare ids and are not among the entry's 32 keys: the scout report and the Level-2 page use them, the entry card does not. Titles, authors and arXiv ids below originally came from the scout report docs/lit/bivariate_bicycle/bivariate_bicycle-variants.md; this revision checked each against its arXiv abstract page (2026-09-24). Except for the registered key, all are still “registration pending” in the QEC-Bank.

4.1变量数与多项式限制:多变量,互素子类Number of variables and polynomial restrictions: multivariate, the coprime subclass

多变量。Lukas Voss、Sim Jian Xian、Tobias Haug 与 Kishor Bharti「Multivariate Bicycle Codes」(voss2025multivariate,2025,arXiv 2406.19151,登记待补)在 x、y 之外加第三个变量 z,但论文实际研究的三变量码(trivariate bicycle,TB)里 z 不是第三个独立方向,而是 z = xy:三张矩阵 x = Sl ⊗ Im、y = Il ⊗ Sm、z = Sl ⊗ Sm 都还是 lm × lm(S = 循环移位矩阵),环是 GF(2)[x, y, z]/(xl − 1, ym − 1, z − xy)。既然 z 就是 xy(Sl ⊗ Sm = (Sl ⊗ Im)(Il ⊗ Sm) 是 Kronecker 积混合乘积律 (A ⊗ B)(C ⊗ D) = AC ⊗ BD 的直接结果),任何 x、y、z 的多项式把 z 换成 xy,就是 R = GF(2)[x, y]/(xl − 1, ym − 1) 里的普通多项式。所以按构造说,TB 码就是 1.2 节那条宽的二元配方的实例:同一个环,同样的 HX = [A | B]、HZ = [Bᵀ | Aᵀ]。它和 gross 所属的那类 BB 码的区别只在多项式的支撑与重量(支撑 = 多项式里出现了哪些单项式)。gross 那类是 A = xa + yb + yc、B = yd + xe + xf:三项加三项,每项只沿一条坐标轴走。TB 的每一项必须是 x、y 或 xy 的某次幂(只沿横轴、竖轴或主对角线走),项不许重复,项数也不必是三加三:论文表 1 的码重量从 4 到 7(重量 5 与重量 7 各有一个 [[30,4,5]])。相对宽配方,这是一种限制;相对 gross 那类,它多了对角方向,重量也可以不同。比特的编号仍是 l × m 的二维周期网格,但编号是二维的,不等于连线都是近邻。能不能摆成「环面布局」(Tanner 图里有一个与 ℤ2μ × ℤ2λ 网格一模一样的、经过全部顶点的子图)要用论文的判据(命题 2)逐码检查:表 1 里重量 5、6、7 的码通过,重量 4 的 [[144,2,12]] 不通过。即使通过,每个检查也只有 4 条边落在网格近邻上,其余 W − 4 条(W = 检查重量)仍是非局域的长程连线,只是在布局上处处平移相同。论文另外提到一种可选编码,让 r 个变量彼此独立,那时每个独立变量多一个正交方向,编号变成 r 维,环面布局也要到 r 维环面上找。于是 Level-2 页的判决「一个检查重量相同的多变量候选,不是参数表更长的 BB 实例」要分开读:对独立变量的推广,它按字面成立,码离开了二元环;对 z = xy 的 TB 码,按宽配方它就是 BB 的一个实例,判决还站得住的意思是:gross 那类三加三码的具体数字(秩、码距、布局)不能直接照搬,因为支撑与重量都可能变;一般成立的恒等式照样成立,每条结论要逐一检查它的前提在新码上是否满足(TB 本身就包含原来三加三的那一类)。两种都仍是可交换群代数的亲戚(仍在 1.2 节那条边的父类 2BGA 里)。说人话:「是不是 BB」由配方决定;数字能不能搬,要看腿伸向哪些方向、有几条腿、变量是否独立。

Multivariate. Lukas Voss, Sim Jian Xian, Tobias Haug and Kishor Bharti, “Multivariate Bicycle Codes” (voss2025multivariate, 2025, arXiv 2406.19151, registration pending), add a third variable z to x and y, but in the trivariate bicycle (TB) codes the paper actually studies z is not a third independent direction: z = xy. The three matrices x = Sl ⊗ Im, y = Il ⊗ Sm, z = Sl ⊗ Sm are all still lm × lm (S = cyclic shift matrix), and the ring is GF(2)[x, y, z]/(xl − 1, ym − 1, z − xy). Since z is just xy (Sl ⊗ Sm = (Sl ⊗ Im)(Il ⊗ Sm) follows directly from the mixed-product rule (A ⊗ B)(C ⊗ D) = AC ⊗ BD of Kronecker products), any polynomial in x, y, z becomes an ordinary polynomial of R = GF(2)[x, y]/(xl − 1, ym − 1) once z is replaced by xy. So as a construction, a TB code is an instance of the broad bivariate recipe of §1.2: the same ring, the same HX = [A | B], HZ = [Bᵀ | Aᵀ]. What separates it from the BB codes of gross's kind is only the support and weight of the polynomials (support = which monomials occur). Gross's kind is A = xa + yb + yc, B = yd + xe + xf: three terms plus three, each moving along one coordinate axis only. In a TB code every term must be a power of x, y or xy (a move along the horizontal axis, the vertical axis or the main diagonal), no term may repeat, and the term count need not be three plus three: the codes of the paper's Table 1 have weights 4 to 7 (weight 5 and weight 7 each give a [[30,4,5]]). Relative to the broad recipe this is a restriction; relative to gross's kind it adds the diagonal direction and allows other weights. The qubits still carry two-dimensional periodic indexing on the l × m grid, but two-dimensional indexing does not make every connection a nearest-neighbour one. Whether a code has a “toric layout” (its Tanner graph contains a subgraph through all vertices that is identical to the ℤ2μ × ℤ2λ grid) must be checked code by code with the paper's criterion (Proposition 2): in Table 1 the weight-5, 6 and 7 codes pass and the weight-4 [[144,2,12]] does not. Even when it passes, only 4 edges of each check land on grid neighbours; the other W − 4 (W = check weight) remain nonlocal long-range connections, identical under translation across the layout. The paper also mentions an optional encoding in which the r variables are independent; then each independent variable adds an orthogonal direction, the indexing becomes r-dimensional, and a toric layout has to be sought on an r-dimensional torus. The Level-2 verdict, “a multivariate candidate with the same check weight is not a BB instance with a longer parameter list”, must therefore be read case by case: for the independent-variable generalization it holds literally, since the code leaves the bivariate ring; a TB code with z = xy is, by the broad recipe, a BB instance, and what survives of the verdict is that the specific numbers (rank, distance, layout) of the three-plus-three codes of gross's kind cannot simply be copied, because support and weight can change; general identities still hold, and each result's hypotheses must be checked for the new code (TB itself contains the original three-plus-three class). Both remain abelian group-algebra relatives (still inside the parent 2BGA of the edge in §1.2). In plain words: the recipe decides whether a code is BB; whether a number carries over depends on which directions the legs point in, how many legs there are, and whether the variables are independent.

互素子类。Ming Wang 与 Frank Mueller「Coprime Bivariate Bicycle Codes and Their Layouts on Cold Atoms」(wang2026coprime,v1 2024、v7 2026,arXiv 2408.10001,本页已核对摘要与定义,QEC-Bank 登记待补)要求环面的两个边长 l、m 互素coprime:两个整数除了 1 以外没有公因数,例如 3 与 5。这里指环面的两个边长 l、m 互素。,并只用乘积 π = xy 这一个量来写多项式(论文原话:「Let l, m be two coprime numbers and π = xy」)。l、m 互素时,从原点出发每步沿对角线走一格 (1, 1),要走满 lm 步才第一次回到原点,所以 π 的各次幂恰好走遍全部 lm 个格子,A、B 变成一个变量 π 的多项式。好处是 k 可以直接用多项式算出来,不用做 lm × lm 的消元:k = 2 · deg gcd(a(π), b(π), πlm + 1)(deg = 多项式的次数,gcd = 最大公因式)。手算一个例子:l = 3、m = 5(lm = 15),a = 1 + π + π²,b = 1 + π + π⁵。因为 π³ − 1 = (π − 1)(π² + π + 1) 且 3 整除 15,1 + π + π² 整除 π¹⁵ + 1;又 π³ ≡ 1 时 π⁵ ≡ π²,所以 b ≡ 1 + π + π² ≡ 0,也被它整除。最大公因式就是 1 + π + π²,次数 2,k = 4。本页脚本对这个 3 × 5 环面上所有「三项 + 三项」的组合,把公式与 GF(2) 秩的结果逐一核对,全部相等。这是一个子类:每个互素 BB 都是普通 BB(只是多项式写成 π 的形式),反过来不成立。gross 的 l = 12、m = 6 有公因数 6,根本不在这个子类里,Level-2 页的警告「子类的码率公式不能不检查因子与周期就套到 gross 码上」在这里有一个直接的理由。

The coprime subclass. Ming Wang and Frank Mueller, “Coprime Bivariate Bicycle Codes and Their Layouts on Cold Atoms” (wang2026coprime, v1 2024, v7 2026, arXiv 2408.10001; abstract and definition checked by this page; QEC-Bank registration pending), require the two side lengths l, m of the torus to be coprimeTwo integers are coprime when they share no factor other than 1, e.g. 3 and 5. Here the two torus side lengths l and m are coprime. and write the polynomials in the single product π = xy (the paper: “Let l, m be two coprime numbers and π = xy”). When l and m are coprime, stepping diagonally by (1, 1) from the origin first returns to the origin after lm steps, so the powers of π visit all lm sites exactly once and A, B become polynomials in one variable π. The payoff is that k follows from the polynomials without any lm × lm elimination: k = 2 · deg gcd(a(π), b(π), πlm + 1) (deg = degree, gcd = greatest common divisor of polynomials). A hand example: l = 3, m = 5 (lm = 15), a = 1 + π + π², b = 1 + π + π⁵. Since π³ − 1 = (π − 1)(π² + π + 1) and 3 divides 15, 1 + π + π² divides π¹⁵ + 1; and when π³ ≡ 1 we have π⁵ ≡ π², so b ≡ 1 + π + π² ≡ 0, also divisible. The gcd is 1 + π + π², of degree 2, so k = 4. This page's script checked the formula against the GF(2) rank for every “three terms + three terms” pair on this 3 × 5 torus; all agree. It is a subclass: every coprime BB code is an ordinary BB code (with its polynomials written in π), not conversely. Gross has l = 12, m = 6, which share the factor 6, so gross is not in this subclass at all — a direct reason behind the Level-2 warning “rate formulas from the subclass must not be assigned to the gross code without checking its factors and periods”.

4.2边界:剪开环面之后,k 与 d 要从头算Boundary: once the torus is cut open, k and d start from scratch

周期 BB 码把环面对边粘起来(xl = 1、ym = 1)。去掉一些比特和检查、或者把重复的瓷砖在某处截断,这层粘合就破了。Level-2 页把随之出现的问题拆成三个:① 哪些内部检查原样保留?② 哪些边界检查必须缩短、增加或删除,CSS 对易条件才仍然成立?③ 哪些圈变成了边界或开放的串,从而改变 k 与 d?三篇文献从三个方向做这件事。Eberhardt、Pereira 与 Steffan「Pruning qLDPC Codes: Towards Bivariate Bicycle Codes with Open Boundary Conditions」(eberhardt2024pruning,2024,arXiv 2412.04181,登记待补)从周期 BB 码里剪掉检查和比特得到开边界的后代,并在例子上给出折叠横向门fold-transversal gate:利用码的一种对称把比特两两配对,只在配对的比特之间(或单个比特上)施加门,所以一个故障最多波及一对比特。;扫描报告特别注明:剪枝在「循环超图积子情形」有保证,在此之外只是演示,「不是对任意 BB 多项式的定理」。Liang、Eberhardt 与 Yu-An Chen「Planar Quantum Low-Density Parity-Check Codes with Open Boundaries」(liang2025planar,2025,arXiv 2504.08887,登记待补)构造与 BB 内部图案相关的平面开边界码,并区分「有限平面的局域」与「周期环面的近局域」。Steffan、Choe、Breuckmann、Pereira 与 Eberhardt「Tile Codes: High-Efficiency Quantum Codes on a Lattice with Boundary」(steffan2025tile,2025,已登记,arXiv 2504.09171)把反复出现的 BB 式稳定子瓷砖变成开边界平面码;报告的一句话是全章的钉子:「共享一块内部瓷砖不意味着与环面 BB 码相等;边界的截断改变逻辑维数与逻辑算符。」

A periodic BB code glues opposite torus edges together (xl = 1, ym = 1). Remove some qubits and checks, or terminate a repeated tile somewhere, and the gluing breaks. The Level-2 page splits what follows into three questions: ① Which bulk checks survive unchanged? ② Which boundary checks must be shortened, added or removed so that CSS commutation still holds? ③ Which cycles become boundaries or open strings, changing k and d? Three papers attack this from three sides. Eberhardt, Pereira and Steffan, “Pruning qLDPC Codes: Towards Bivariate Bicycle Codes with Open Boundary Conditions” (eberhardt2024pruning, 2024, arXiv 2412.04181, registration pending), prune checks and qubits from periodic BB codes to get open-boundary descendants and give fold-transversal gatesGates that use a symmetry of the code to pair the qubits up and act only between paired qubits (or on single qubits), so one fault reaches at most one pair. on examples; the scout report notes that pruning is guaranteed for the “cyclic-HGP subcase” and beyond it only demonstrated, “not a theorem for arbitrary BB polynomials”. Liang, Eberhardt and Yu-An Chen, “Planar Quantum Low-Density Parity-Check Codes with Open Boundaries” (liang2025planar, 2025, arXiv 2504.08887, registration pending), build planar open-boundary codes related to BB bulk patterns and distinguish finite planar locality from periodic-torus near-locality. Steffan, Choe, Breuckmann, Pereira and Eberhardt, “Tile Codes: High-Efficiency Quantum Codes on a Lattice with Boundary” (steffan2025tile, 2025, registered, arXiv 2504.09171), turn recurring BB-like stabilizer tiles into open-boundary planar codes; one sentence of the report nails the whole chapter: “Sharing a bulk tile does not imply equality to a toric BB code; boundary termination changes logical dimension and operators.”

安全的工作流程,Level-2 页原话:构造有限的开边界矩阵,重算秩,验证对易,找出新的逻辑代表元。把周期情形的 k、d 照抄到剪开之后是无效的。你已经在最简单的例子上见过这个现象:《Surface Code · 关系》第 3 章把两条重复码链闭合,k 从 1 变成 2;反过来剪开环面码,k 从 2 变回 1。BB 只是把同一件事放到了「六腿、两层、跨三格」的检查上,所以切口附近要改的检查多得多(一条跨三格的腿,只要它的检查离切口不超过三格,就可能被剪断),哪些要缩短、补全或删除,得一条条算。另有一个扫描报告收录、但不在本条目 32 个键里的键 wang2026bbs(Renyu Wang、Leonid P. Pryadko,「Algebra of Bivariate-Bicycle Surface Codes」,arXiv 2606.08771)说明多项式在零点或无穷远的根需要特殊的边界生成元,并区分矩形、对角、倾斜三种边界方案——所以「开边界 BB」不是一种边界条件,而是好几种。

The safe workflow, in the Level-2 page's words: construct the finite open matrices, recompute rank, validate commutation, and find new logical representatives. Copying periodic k, d across the cut is invalid. You have already seen the phenomenon in its simplest form: Chapter 3 of “Surface Code · Relations” closes two repetition chains and k goes from 1 to 2; cut the toric code open and k drops from 2 back to 1. BB only moves the same fact onto “six-leg, two-layer, three-cells-away” checks, so near a cut edge many more checks lose legs (a leg that reaches three cells across can be cut whenever its check sits within three cells of the cut), and which of them must be shortened, completed or dropped has to be worked out case by case. A further key that the scout report collected but that is not among this entry's 32, wang2026bbs (Renyu Wang and Leonid P. Pryadko, “Algebra of Bivariate-Bicycle Surface Codes”, arXiv 2606.08771), shows that polynomial roots at zero or infinity require special boundary generators and distinguishes rectangular, diagonal and tilted prescriptions; so “open BB” is not one boundary condition but several.

周期periodic: xl = 1, ym = 1 → 剪开cut: 粘合失效gluing lost
→ 重算recompute: rank, HXHZᵀ = 0 ?, 逻辑代表元logical representatives, k, d
最简单的例子:环面码 k = 2 → 平面表面码 k = 1simplest instance: toric k = 2 → planar surface k = 1

4.3对偶性与字母表:自对偶不是白送的,qudit 换了单位Duality and alphabet: self-duality is not free, qudits change the unit

自对偶。普通 BB 已经有一种 X/Z 之间的对称:HZ 是 HX 交换两块再转置。但 Level-2 页强调这不自动给出能实现逻辑 H 或 S 门的「物理自对偶」。Zijian Liang 与 Yu-An Chen「Self-Dual Bivariate Bicycle Codes with Transversal Clifford Gates」(liang2025selfdual,2025,arXiv 2510.05211,登记待补)在扭环面(twisted torus:把长方形粘成环面时,一对对边错开若干格再粘)上加额外约束,得到检查重量为八的自对偶 BB 码,带横向(每个物理门只碰每个码块里的一个比特,因此一个故障不会在块内扩散)的 CNOT、H 与 S 门;摘要列出的例子从 [[16,4,4]] 到 [[160,8,16]]。两层含义必须分开:「CSS 的转置对称帮助证明对易」——这是发布的构造都有的;「物理自对偶加上算清的逻辑作用可以认证横向 H/S」——这只属于被引用的那个子族。本条目「逻辑操作」侧面的第五条记录就是它,标 claimed,cost 一栏明写「not a gross-code claim」。说人话:自对偶 BB 的八腿检查和 gross 的六腿检查是两种不同的码;不能因为都叫 BB,就把 H、S 门搬到 gross 上。

Self-duality. Ordinary BB already has a symmetry between X and Z: HZ is HX with the blocks swapped and transposed. But the Level-2 page stresses that this does not automatically yield a “physical self-duality” implementing logical H or S. Zijian Liang and Yu-An Chen, “Self-Dual Bivariate Bicycle Codes with Transversal Clifford Gates” (liang2025selfdual, 2025, arXiv 2510.05211, registration pending), impose extra constraints on a twisted torus (when the rectangle is glued into a torus, one pair of opposite edges is shifted by some cells before gluing) and obtain self-dual BB codes of check weight eight with transversal (each physical gate touches only one qubit of each code block, so a fault cannot spread within a block) CNOT, H and S gates; the examples listed in the abstract run from [[16,4,4]] to [[160,8,16]]. Two implications must stay apart: “CSS transpose symmetry helps prove commutation”, which every shipped construction has; and “physical self-duality plus a resolved logical action can certify transversal H/S”, which belongs only to the cited subfamily. The fifth record of this entry's Logical operations facet is exactly this, labelled claimed, its cost field saying “not a gross-code claim”. In plain words: the eight-leg checks of self-dual BB and the six-leg checks of gross are two different codes; sharing the name BB does not move the H and S gates onto gross.

qudit。Liang 与 Chen 的另一篇「Generalized Z_p Toric Codes as Qudit Low-Density Parity-Check Codes」(liang2026qudit,2026,arXiv 2602.20158,扫描报告键,不在本条目的 32 个键里)把扭环面与 BB 的想法推到素数维 quditqudit:p 个能级的量子数字(p 为素数),量子比特是 p = 2 的情形;稳定子的系数在 GF(p) 里,对易条件用 GF(p) 上的辛形式而不是二元 XOR。上(qudit 版本的「广义环面码」,每条稳定子比环面码多带两个 qudit),在 p = 3、5、7、11 上做系统搜索;摘要的代表例子是 [[242,10,22]]₃ 与 [[120,6,20]]₁₁(下标是 p),按报告的 d 算 k·d²/n 都是 20。这两个 d 不是认证过的精确值:论文明说码距用一个概率算法得到,「reported values of d are upper bounds on the exact distance」(每个码抽 5 000 到 10 000 个信息集、重复 1 000 次看是否一致,作者相信这些上界在实践中是紧的),所以 22、20 和由它们算出的 20 都是基于上界的报告估计。论文并说明这种增长与「作用范围随尺寸变大」的 BPT 型权衡相容。Level-2 页的提醒有三条:qudit 稳定子的对易用 GF(p) 上的辛形式而不是二元 XOR;它的 k 数的是逻辑 p 能级系统,不是逻辑比特;硬件错误信道的 Pauli 种类和归一化都不同。所以「不写明 p 就把 qudit 例子的 k·d²/n 与 gross 的 12 并排」是在混单位。将来若有 qudit 条目,应当用真正验证 GF(p) 对易的引擎,而不是把数据硬塞进二元构造器。

Qudits. Liang and Chen's other paper, “Generalized Z_p Toric Codes as Qudit Low-Density Parity-Check Codes” (liang2026qudit, 2026, arXiv 2602.20158, a scout-report key not among this entry's 32), extends the twisted-torus and BB ideas to prime-dimensional quditsA qudit is a quantum digit with p levels (p prime); a qubit is the case p = 2. Stabilizer coefficients live in GF(p) and commutation uses a symplectic form over GF(p) rather than binary XOR. (a qudit version of the “generalized toric code”, each stabilizer carrying two more qudits than the toric code's) and searches p = 3, 5, 7, 11 systematically; the abstract's representative examples are [[242,10,22]]₃ and [[120,6,20]]₁₁ (subscript = p), both with k·d²/n = 20 as computed from the reported d. Those d are not certified exact values: the paper says the distances come from a probabilistic algorithm and that the “reported values of d are upper bounds on the exact distance” (5,000 to 10,000 information sets sampled per code and the procedure repeated 1,000 times for consistency; the authors believe the bounds are tight in practice), so 22, 20 and the resulting 20 are reported estimates based on upper bounds. The paper and it notes this growth is compatible with a BPT-type tradeoff when the interaction range grows with system size. The Level-2 page gives three reminders: qudit stabilizers commute via a symplectic form over GF(p), not binary XOR; their k counts logical p-level systems, not logical qubits; and the hardware error channel has different Pauli types and normalization. So placing a qudit example's k·d²/n next to gross's 12 without stating p mixes units. A future qudit entry should use an engine that actually validates GF(p) commutation rather than forcing the data through the binary constructor.

记号:p = qudit 的能级数(素数);GF(p) = 只有 0 到 p − 1 这 p 个数、按 mod p 运算的数域,GF(2) 是 p = 2;k·d²/n = 逻辑比特数乘码距平方除以数据比特数,一个「存得多、护得牢、花得少」的综合品质因数;对二维几何局域的码,Bravyi–Poulin–Terhal(BPT)界说 k·d² ≤ c·n,所以它不超过一个由检查作用范围决定的常数 c(《BB 码 · 高中数学版》1.1 节),gross 为 12 × 144 / 144 = 12;[[16,4,4]] = 16 个数据比特、4 个逻辑比特、码距 4。

Notation: p = number of qudit levels (a prime); GF(p) = the number system with the p values 0 … p − 1 and arithmetic mod p, GF(2) being p = 2; k·d²/n = logical qubits times distance squared over data qubits, a combined figure of merit for “stores much, protects well, costs little”; for geometrically local 2D codes the Bravyi–Poulin–Terhal (BPT) bound says k·d² ≤ c·n, so it cannot exceed a constant c set by the range of the checks (§1.1 of “BB Codes · High-School Edition”), 12 × 144 / 144 = 12 for gross; [[16,4,4]] = 16 data qubits, 4 logical qubits, distance 4.

4.4CSS 条件与提取方式:搜索扰动出的非 CSS 码,中途变形的电路CSS condition and extraction: search-perturbed non-CSS codes, circuits that morph midway

搜索扰动。Cruz-Benito、Cross、Kremer 与 Faro「Evolutionary Discovery of Bivariate Bicycle Codes with LLM-Guided Search」(cruzbenito2026evolutionary,2026,arXiv 2606.02418,扫描报告键,不在本条目的 32 个键里)把程序变异、GF(2) 秩、码距认证、图去重和局部 Clifford 检查串成一条搜索流水线,报告了新的有限 CSS BB 候选,也报告了离开严格 CSS 形式的扰动变体。Level-2 页划的线是:一旦 X 与 Z 在同一行稳定子里混起来,定义这个码的对象就是一张完整的辛校验矩阵(表示阶梯导读 2.1 节的 (x | z) 写法),「多项式对易证明不再适用」;「Tanner 图相似或来自 BB 搜索的血统,都不足以保留严格的家族标签」。说人话:从 gross 变异出来的码,未必还是 BB 码。

Search perturbations. Cruz-Benito, Cross, Kremer and Faro, “Evolutionary Discovery of Bivariate Bicycle Codes with LLM-Guided Search” (cruzbenito2026evolutionary, 2026, arXiv 2606.02418, a scout-report key not among the entry's 32), chain program mutation, GF(2) rank, distance certification, graph deduplication and local-Clifford checks into a search pipeline, reporting new finite CSS BB candidates and perturbed variants that leave the strict CSS ansatz. The Level-2 line: once X and Z are mixed within a stabilizer row, the defining object is a full symplectic check matrix (the (x | z) notation of the representation-ladder guide, §2.1) and “the CSS polynomial commutation proof no longer applies”; “Similarity of a Tanner graph or ancestry in a BB search is not enough to keep the strict family label.” In plain words: a code mutated from gross is not necessarily a BB code any more.

变形电路。Mackenzie H. Shaw 与 Barbara M. Terhal「Lowering Connectivity Requirements for Bivariate Bicycle Codes Using Morphing Circuits」(shaw2025morphing,v1 2024、v3 2025,arXiv 2407.16336,登记待补)为一个新定义的 BB 码家族设计校验电路。要点是反过来用已知的码:一个已知的 BB 码 C 不是每轮开始和结束时的码,而是一轮走到一半(3 层 CNOT 之后)时数据比特和辅助比特共同所处的「中途码」。每轮开始与结束时,没被测量的比特处在新的「端点码」C̃₁ 或 C̃₂ 里(稳定子重量 9,只住在 C 的左层比特上)。一轮电路测完 C̃₁ 的全部稳定子,中途经过 C,结束时变成 C̃₂;下一轮反过来:

Morphing circuits. Mackenzie H. Shaw and Barbara M. Terhal, “Lowering Connectivity Requirements for Bivariate Bicycle Codes Using Morphing Circuits” (shaw2025morphing, v1 2024, v3 2025, arXiv 2407.16336, registration pending), design check circuits for a newly defined family of BB codes. The trick is to use a known code the other way round: a known BB code C is not the code at the start and end of each round but the “mid-cycle code” that data and ancilla qubits share halfway through a round (after 3 CNOT layers). At the start and end of a round the unmeasured qubits sit in a new “end-cycle code”, C̃₁ or C̃₂ (weight-9 stabilizers, living only on the left qubits of C). One round measures all stabilizers of C̃₁, passes through C halfway, and ends in C̃₂; the next round goes back:

C̃₁ →(3 层 CNOT)→ C →(3 层 CNOT,测量)→ C̃₂ → C → C̃₁ → …C̃₁ → (3 CNOT layers) → C → (3 more, measure) → C̃₂ → C → C̃₁ …

C̃₁ 与 C̃₂ 的稳定子群只差一个平移(整体挪若干格),所以两个端点码的参数相同。论文表 1 的例子:以 gross [[144,12,12]] 为中途码,端点码是 [[72,12,6]];以 [[288,12,18]] 为中途码,端点码是 [[144,12,12]](与 gross 参数相同的另一个码)。三个码距要分开:中途码 C 的码距(gross 为 12)、端点码的码距 d̃(论文用整数规划算出,gross 的例子是 6)、整套电路的电路级码距(论文用 BP-OSD 估计的上界,gross 的例子 ≤ 6)。每个比特只需连 5 个邻居而不是 6 个,每轮 CNOT 深度 6(gross 的标准电路是 7 层,6.2 节)。摘要原话是「a new family of BB codes whose parity check circuits require a qubit connectivity of degree five instead of six」:测的是新家族的码,不是给 gross 本身的度 5 电路。Level-2 页说它改变的是「瞬时稳定子、探测器、电路码距」;卡片的实现记录(realizations[3],proposed)说得更直接:「它改变了家族与探测器模型;它不是每个 BB 块都能用的更便宜的调度。」说人话:变形电路里,一轮之内活动的稳定子群在变,所以「这个码的 d」在电路进行中根本不是一个固定的数——这也是为什么表示阶梯的 R3(动力学)对本条目仍然空着(表示阶梯导读第 4 章)。

The stabilizer groups of C̃₁ and C̃₂ differ only by a translation (a shift of all qubits), so both end-cycle codes have the same parameters. Examples from the paper's Table 1: with gross [[144,12,12]] as the mid-cycle code the end-cycle codes are [[72,12,6]]; with [[288,12,18]] as the mid-cycle code they are [[144,12,12]] (another code with gross's parameters). Three distances must be kept apart: the distance of the mid-cycle code C (12 for gross), the distance d̃ of the end-cycle codes (computed by the paper with integer programming; 6 in the gross example), and the circuit-level distance of the whole circuit (an upper bound the paper estimates with BP-OSD; ≤ 6 in the gross example). Each qubit needs 5 neighbours instead of 6, with CNOT depth 6 per round (gross's standard circuit has 7, §6.2). The abstract says “a new family of BB codes whose parity check circuits require a qubit connectivity of degree five instead of six”: the codes measured belong to the new family; this is not a degree-5 circuit for gross itself. The Level-2 page says this changes “instantaneous stabilizers, detectors, circuit distance”; the card's realization record (realizations[3], proposed) is blunter: “It changes the family and detector model; it is not a cheaper schedule for every BB block.” In plain words: in a morphing circuit the active stabilizer group changes within one round, so “this code's d” is not even a fixed number while the circuit runs, which is also why the representation ladder's R3 (dynamics) is still empty for this entry (representation-ladder guide, Chapter 4).

4.5渐近边界,与搬动一个数字之前的六问The asymptotic boundary, and six questions before moving any number

最后一根「轴」不是变体,而是一条天花板;要分清它罩住了哪些变体、哪些还开着。Postema 与 Kokkelmans「Existence and Characterisation of Bivariate Bicycle Codes」(postema2025existence,2025,arXiv 2502.17052,登记待补)证明所研究的 BB 子类渐近是坏的(论文定理 2.19):这个子类是「三项 + 三项、检查重量 6」的码,A = xa₁ + ya₂ + ya₃、B = yb₁ + xb₂ + xb₃,指数可以随环面一起变;任何一列这样的码,随 n 变大,相对码距 d/n 都趋于 0,所以不是渐近好码。同一篇论文引用的定理 2.18(Arnault 等人推广的 Bravyi–Terhal 界)罩得更宽:任何检查重量固定为 Δ 的阿贝尔 2BGA 码都满足 d ≤ 2√γD(√D + 4)·n1−1/D,其中 D = Δ − 2、γD 是 Hermite 常数(一个只依赖 D 的数),条件是 n ≥ (8√γD)D(即 n1/D ≥ 8√γD);指数 1 − 1/D < 1,所以 d/n → 0。这覆盖了普通 BB、互素子类和仍用阿贝尔群的多变量码。具体数字要先代入 D。检查重量 6 的 BB 码 Δ = 6、D = 4、γ₄ = √2,条件成了 n ≥ (8 · 21/4)⁴ = 8192,界成了 d ≤ 12 · 21/4 · n3/4 ≈ 14.3 n3/4。论文说这个界只在 n ≥ 8192 适用、到 n ≈ 4 × 10⁵ 前都自动满足,说的正是这个重量 6(D = 4)的情形;别的检查重量门槛不同。按上式复算:γ₄ = √2 正好给出 8192;但「12 · 21/4 · n3/4 ≥ n」(码距不可能超过 n,此时界排除不了任何码)只到 n = (12 · 21/4)4 = 41 472 ≈ 4 × 10⁴ 为止,论文的 4 × 10⁵ 本页没能复现。不论取哪个数,gross 的 n = 144 远在 8192 以下,定理 2.18 对它根本不适用。还开着的是另一件事:非阿贝尔群上的 2BGA 能不能渐近好,论文明说这是开放问题。Level-2 页说这个结果和 gross 这个强有力的有限点并存:有限搜索可以找到有价值的高码率、中等码距的存储器;固定的构造约束不必给出非零的渐近码率与相对码距。于是正确的产品说法是——原文——「在特定连接模型下的强有限常数」,而不是「来自二维局域环面的渐近好 qLDPC 码」。《BB 码 · 高中数学版》6.6 节与参数导读 5.4 节都从各自角度说过这一点;已被证明渐近好的码在更一般的提升积构造里(论文引 Panteleev–Kalachev 2022;BB 所属的提升积家族「contains the first asymptotically good quantum codes」),《qLDPC 码 · 高中数学版》4.4 节讲这条路。要分清:那是更大的提升积构造,不是只把 1.2 节那条边的群换成非阿贝尔群;后者(仍是 2BGA,底矩阵 1 × 1)能否渐近好,论文列为开放问题。

The last “axis” is not a variant but a ceiling; one must see which variants it covers and which remain open. Postema and Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes” (postema2025existence, 2025, arXiv 2502.17052, registration pending), prove the studied BB subclass asymptotically bad (their Theorem 2.19): the subclass is the “three terms + three terms, check weight 6” codes A = xa₁ + ya₂ + ya₃, B = yb₁ + xb₂ + xb₃, whose exponents may change along with the torus; for any sequence of such codes, as n grows, the relative distance d/n goes to 0, so they are not asymptotically good. Theorem 2.18, which the same paper quotes (the generalized Bravyi–Terhal bound of Arnault et al.), covers more: every abelian 2BGA code with fixed stabilizer weight Δ satisfies d ≤ 2√γD(√D + 4)·n1−1/D, with D = Δ − 2 and γD the Hermite constant (a number depending only on D), whenever n ≥ (8√γD)D (that is, n1/D ≥ 8√γD); the exponent 1 − 1/D is below 1, so d/n → 0. This covers ordinary BB codes, the coprime subclass and multivariate codes that still use an abelian group. Concrete numbers need a value of D. For weight-6 BB codes Δ = 6, D = 4 and γ₄ = √2, so the condition becomes n ≥ (8 · 21/4)⁴ = 8192 and the bound becomes d ≤ 12 · 21/4 · n3/4 ≈ 14.3 n3/4. The paper's remark that the bound applies only for n ≥ 8192 and is automatically satisfied up to n ≈ 4 × 10⁵ is about this weight-6 (D = 4) case; other check weights give other cutoffs. Recomputing from the formula above: γ₄ = √2 gives exactly 8192, but 12 · 21/4 · n3/4 ≥ n (a distance can never exceed n, so the bound then excludes no code) holds only up to n = (12 · 21/4)4 = 41 472 ≈ 4 × 10⁴; this page could not reproduce the paper's 4 × 10⁵. Whichever number one takes, gross has n = 144, far below 8192, so Theorem 2.18 does not apply to it at all. What remains open is something else: whether 2BGA codes over non-abelian groups can be asymptotically good, which the paper states as an open question. The Level-2 page says this result and the strong finite gross point coexist: a finite search can find a valuable high-rate, moderate-distance memory; fixed construction constraints need not yield nonzero asymptotic rate and relative distance simultaneously. Hence the correct product claim, verbatim, is “strong finite constants under a specific connectivity model”, not “asymptotically good qLDPC from a two-dimensional local torus”. §6.6 of “BB Codes · High-School Edition” and §5.4 of the parameters guide each say this from their own angle; the codes proved asymptotically good lie in the more general lifted-product constructions (the paper cites Panteleev and Kalachev 2022; the lifted-product family BB belongs to “contains the first asymptotically good quantum codes”), the road of §4.4 of “qLDPC Codes · High-School Edition”. Keep apart: those are larger lifted-product constructions, not merely the edge of §1.2 with its group swapped for a non-abelian one; whether the latter (still 2BGA, 1 × 1 base matrix) can be asymptotically good is listed by the paper as open.

负结果清单:把一个数字从一个变体搬到另一个之前Negative-result checklist: before carrying a number from one variant to another

Level-2 页的六问,逐字:① 系数域与变量数没变吗?② 周期与边界条件一样吗?③ 稳定子在提取过程中是静态的还是变形的?④ 这个块的自对偶性真的被证明了吗?⑤ 剪枝之后重算过秩吗?⑥ 所引的译码器用的是同一个探测器模型吗?「任何一问答否,新对象就需要自己的可执行实例与来源账本。」说人话:d = 12、k = 12、「十二倍」属于 gross 这一块普通的、周期的、静态的、二元的 BB 码;0.8% 则是那篇论文 v1、v2 摘要里的数(「for a family of LDPC codes」),不是把几个尺寸的曲线画在一起找交叉点得到的阈值。它概括的是逐码的伪阈值 p₀:对每个码单独解保本方程 pL(p) = kp,pL = 整个码块每轮失败(k 个逻辑比特里任何一个出错)的概率,kp 近似「k 个不编码的比特至少有一个出错」的概率;pL 在 p ≥ 10⁻³ 上模拟、更低处外推。条件是标准电路级噪声、深度 7 的提取电路与 BP-OSD 译码。v1 表 1 印的是 0.007(3) 到 0.008(3)(括号里那一位论文没有解释),正文说「close to 0.008」;v2 表 1 是 0.0048 到 0.0069,gross 为 0.0065;Nature 版摘要写 0.7%。这些数字的定义与版本差异见译码器侧面 3.3 节。换了其中任何一个条件,就是另一个实验。

The Level-2 page's six questions, verbatim: ① Are the coefficient field and number of variables unchanged? ② Are the periods and boundary conditions identical? ③ Are the stabilizers static or morphed during extraction? ④ Is self-duality actually proved for this block? ⑤ Was rank recomputed after pruning? ⑥ Does the cited decoder use the same detector model? “If any answer is no, the new object needs its own executable instance and provenance ledger.” In plain words: d = 12, k = 12 and “twelve-fold” belong to the one ordinary, periodic, static, binary BB block called gross; 0.8% is the number in the v1 and v2 abstracts of that paper (“for a family of LDPC codes”), not a threshold read off from curves of several sizes crossing. It summarises per-code pseudo-thresholds p₀: each code's own solution of the break-even equation pL(p) = kp, where pL is the probability that the whole block fails in one round (any of its k logical qubits errs) and kp approximates the probability that at least one of k unencoded qubits errs; pL is simulated for p ≥ 10⁻³ and extrapolated below. The conditions are the standard circuit-level noise model, depth-7 extraction and BP-OSD decoding. v1's Table 1 prints 0.007(3) to 0.008(3) (the parenthesized digit is not explained in the paper) and the text says “close to 0.008”; v2's Table 1 gives 0.0048 to 0.0069, gross 0.0065; the Nature abstract says 0.7%. the definitions and version differences are in decoders facet §3.3. Change any one of those conditions and it is a different experiment.

关键想法Key idea

变体不是「BB 的花样」,而是七根各自独立的轴:变量数、多项式限制、边界、对偶性、字母表、CSS 条件、提取方式。每根轴一动,n、k、d、电路码距、译码器里至少有一个要重算。名字(gross、BB5、BB6)不是轴;渐近坏:定理 2.19 针对所研究的三项加三项子类,论文引用的定理 2.18 罩住所有检查重量固定的阿贝尔 2BGA 码;剪开边界、非 CSS 扰动这类已不再是 2BGA 的变体不在它们的前提里,非阿贝尔 2BGA 能否渐近好仍是开放问题。

Variants are not “flavours of BB” but seven independent axes: number of variables, polynomial restrictions, boundary, duality, alphabet, CSS condition, extraction. Move any one and at least one of n, k, d, circuit distance or decoder must be recomputed. Names (gross, BB5, BB6) are not axes; asymptotic badness: Theorem 2.19 concerns the studied three-plus-three subclass, and Theorem 2.18, which the paper quotes, covers every abelian 2BGA code of fixed check weight; variants that are no longer 2BGA (cut boundaries, non-CSS perturbations) are outside their premises, and whether non-abelian 2BGA codes can be asymptotically good is still open.

尾声Epilogue

一条边的重放,与这张地图的其余部分One edge replayed, and the rest of the map

回放一遍。一条关系 = (type, target, how, refs),主语是整个 BB 家族 eczoo-entity:qcga#collection;BB 条目只有一条:special_case_of → two_bga,「BB 是两块群代数码在 G = Zl × Zm 上的可交换特例」,refs 是 wang2023abelian 与 lin2023twoblock;目标条目未建,所以标 pending,建好后卡片一字不改(第 1 章)→ 家谱两条线:历史线 bicycle [[6,2,2]] → 广义 bicycle → BB gross [[144,12,12]];代数线 BB ⊂ 2BGA ⊂ 提升积;环面码 [[18,2,3]] 是 BB 与超图积相切的一个实例,不是边(第 2 章)→ 一张 T3 家族卡、七张 T1/T0 成员卡,成员资格写在构造器里,八张卡之间没有边;gross 有两张卡,d = 12 bounded 只在家族卡上(第 3 章)→ 七根变体轴,每根都写明必须重算什么;名字不是轴;渐近坏已对所有检查重量固定的阿贝尔 2BGA 码证明(定理 2.18,gross 所在的子类另有定理 2.19),非阿贝尔 2BGA 仍开放(第 4 章)。

Replay. A relation = (type, target, how, refs), its subject the whole BB family eczoo-entity:qcga#collection; the BB entry has exactly one, special_case_of → two_bga, “BB is the commutative special case of two-block group-algebra codes at G = Zl × Zm”, with refs wang2023abelian and lin2023twoblock; the target entry is unbuilt, hence pending, and the card changes by not one character when it is built (Ch. 1) → two lines of ancestry: the historical bicycle [[6,2,2]] → generalized bicycle → BB gross [[144,12,12]], and the algebraic BB ⊂ 2BGA ⊂ lifted product; the toric code [[18,2,3]] is an instance where BB and HGP touch, not an edge (Ch. 2) → one T3 family card and seven T1/T0 member cards, membership written in the constructor, no edges among the eight; gross has two cards and d = 12 bounded lives only on the family card (Ch. 3) → seven variant axes, each with what must be recomputed; names are not axes; asymptotic badness is proved for every abelian 2BGA code of fixed check weight (Theorem 2.18, with Theorem 2.19 for the subclass gross belongs to), while non-abelian 2BGA remains open (Ch. 4).

三条去处。文献:这一页里出现的 16 个键(另有 1 个别名),只有 4 个在登记表里有名字(mackay2004sparse、panteleev2021degenerate、bravyi2024bicycle、steffan2025tile),参考文献导读把这个缺口整个摊开。表示阶梯:群代数、商模、任意子三本词典是本页家谱的「代数说法」,见表示阶梯导读第 6 章。对照组:《Surface Code · 关系》是本页的表面码版:两条边、一屋子亲戚——和 BB 的一条边、一屋子成员,正好互为镜像。

Three roads. References: of the 16 keys on this page (plus one alias) only 4 have names in the registry (mackay2004sparse, panteleev2021degenerate, bravyi2024bicycle, steffan2025tile); the references guide lays the whole gap open. Representation ladder: the group-algebra, quotient-module and anyon dictionaries are the “algebraic wording” of this page's family tree, Chapter 6 of the representation-ladder guide. The control group: “Surface Code · Relations” is this page's surface-code version: two edges and a house full of relatives, the mirror image of BB's one edge and a house full of members.

符号与读法Symbols & how to read them

符号Symbol名称与读法Name & how to read it在本页中的含义Meaning on this page
[[n, k, d]]双方括号,读「n、k、d 码」Double brackets, read “an n, k, d code”n 个数据比特存 k 个逻辑比特、码距 d(n、k 见《从高考数学到 Toric Code》4.4 节,d 见5.8 节)。本页:[[6,2,2]]、[[18,2,3]]、[[144,12,12]]、[[16,4,4]]。n data qubits storing k logical qubits at distance d (n, k in §4.4 of “From High-School Math to the Toric Code”, d in §5.8). Here: [[6,2,2]], [[18,2,3]], [[144,12,12]], [[16,4,4]].
l, m「l」「m」,环面尺寸“l”, “m”, the torus size环面两个方向的格数,xl = 1、ym = 1;gross 12 × 6,toric_L3 3 × 3。Cell counts along the two torus directions, xl = 1, ym = 1; gross 12 × 6, toric_L3 3 × 3.
A, B, C两个多项式;bicycle 的一个多项式The two polynomials; bicycle's single polynomialBB:HX = [A | B],HZ = [Bᵀ | Aᵀ];bicycle:HX = HZ = [C | Cᵀ](3.1 节、2.4 节)。BB: HX = [A | B], HZ = [Bᵀ | Aᵀ]; bicycle: HX = HZ = [C | Cᵀ] (§3.1, §2.4).
ᵀ上标 T,读「转置」Superscript T, read “transpose”行列互换;对多项式矩阵 = 每个平移倒过来(x ↦ x−1)。Swap rows and columns; for a polynomial matrix, reverse every translation (x ↦ x−1).
R读「环」Read “the ring”GF(2)[x, y]/(xl − 1, ym − 1):BB 的多项式环 = Zl × Zm 的群代数。GF(2)[x, y]/(xl − 1, ym − 1): the BB polynomial ring = the group algebra of Zl × Zm.
G, |G|, GF(2)[G]「群 G」「G 的阶」「G 的群代数」“the group G”, “its order”, “its group algebra”2BGA 的输入:任意有限群、它的元素个数、群元素的 0/1 组合全体。BB:G = Zl × Zm,|G| = lm,n = 2|G|。The 2BGA inputs: any finite group, its element count, all 0/1 combinations of its elements. BB: G = Zl × Zm, |G| = lm, n = 2|G|.
Zl × Zm读「Z l 叉 Z m」Read “Z-l cross Z-m”模 l 与模 m 的整数配成对的可交换群 = l × m 环面上的全部平移;元素 (a, b) ↔ 单项式 xayb。The commutative group of pairs of an integer mod l and one mod m = all translations of the l × m torus; element (a, b) ↔ monomial xayb.
∈, ⊂读「属于」「包含于」Read “belongs to”, “is contained in”a ∈ GF(2)[G]:a 是群代数的一个元素;BB ⊂ 2BGA:每个 BB 码都是一个 2BGA 码。a ∈ GF(2)[G]: a is an element of the group algebra; BB ⊂ 2BGA: every BB code is a 2BGA code.
HGP(C₃, C₃)「C₃ 与 C₃ 的超图积」“the hypergraph product of C₃ with C₃”两条长 3 的周期重复码的超图积 = 环面码 [[18,2,3]](qLDPC 教程 2.1 节)。The HGP of two periodic length-3 repetition codes = the toric code [[18,2,3]] (qLDPC guide §2.1).
k₁, k₂, k₁ᵀ, k₂ᵀ因子码及其转置码的逻辑比特数Logical bits of the factor codes and of their transposes超图积维数公式 k = k₁k₂ + k₁ᵀk₂ᵀ;闭合圈 (1, 1),所以环面 k = 2。HGP dimension formula k = k₁k₂ + k₁ᵀk₂ᵀ; a closed cycle gives (1, 1), hence toric k = 2.
rank, R/(A, B)读「秩」「R 模 (A, B)」Read “rank”, “R mod (A, B)”独立行数;商空间,其维数 = 秩亏损 = k/2(4.2 节)。gross 6,bb108 4。Number of independent rows; the quotient space whose dimension = rank deficit = k/2 (§4.2). gross 6, bb108 4.
p, GF(p)「p」「p 元域」“p”, “the field with p elements”qudit 的能级数(素数)与其系数域;p = 2 回到量子比特。只在 4.3 节。The qudit level count (prime) and its coefficient field; p = 2 is the qubit case. §4.3 only.
k·d²/n读「k d 平方除以 n」Read “k d squared over n”品质因数;对二维几何局域码,BPT 界 k·d² ≤ c·n 说它不超过由检查作用范围决定的常数 c。gross 12。跨字母表比较必须写明 p。A figure of merit; for geometrically local 2D codes the BPT bound k·d² ≤ c·n caps it by a constant c set by the range of the checks. Gross 12. Cross-alphabet comparison must state p.
special_case_of关系类型(受控词表)Relation type (controlled vocabulary)「是……的特例」;BB 条目唯一的一条边的类型。“is a special case of”; the type of the BB entry's only edge.
pending / resolved关系目标的渲染状态Render state of a relation target构建时算出:目标 id 有条目 → resolved(链接);无 → pending(代码文字 + 标签)。不是卡片字段。Computed at build time: target id has an entry → resolved (a link); none → pending (code text + chip). Not a card field.
eczoo-entity:qcga#collection实体 idEntity id这条关系的主语:Error Correction Zoo 的 BB 家族条目(qcga),整族而非单个实例。The relation's subject: the Error Correction Zoo's BB family entry (qcga), the whole family rather than one instance.
T0 / T1 / T3条目完成层级Entry completion tiersT0 = 新建的宽泛骨架;T1 = 只验证了形式骨架(n、k);T3 = 读者契约完整(本条目)。T0 = new broad skeleton; T1 = formal skeleton only (n, k); T3 = reader contract complete (this entry).

本页新增词汇New terms on this page

术语Term白话定义Plain definition
有类型的关系(typed relation)typed relationcard.yaml 里的 (type, target, how, refs) 记录,带主语、位置与 sha256;不是「有点像」。A (type, target, how, refs) record in card.yaml with a subject, locator and sha256; not “sort of similar”.
两块群代数码(2BGA)two-block group-algebra code (2BGA)任意有限群 G 的群代数里取 a、b,A = L(a)(左乘)、B = R(b)(右乘),拼 [A | B] 与 [Bᵀ | Aᵀ];左右乘总对易,所以检查对易(1.2 节);BB 是 G = Zl × Zm 的可交换特例,左右不分。Take a, b in the group algebra of any finite group G, set A = L(a) (left multiplication) and B = R(b) (right multiplication), and assemble [A | B], [Bᵀ | Aᵀ]; left and right multiplications always commute, so the checks commute (§1.2); BB is the commutative case G = Zl × Zm, where left and right coincide.
广义 bicycle 码generalized bicycle code一个变量、两个各自独立选取(可以不同)的多项式的两块码(Panteleev–Kalachev 构造过短的例子并配上 BP-OSD);BB 的直接前身。A two-block code with one variable and two independently chosen polynomials (which may differ) (Panteleev–Kalachev built short examples and paired them with BP-OSD); BB's immediate predecessor.
提升积lifted product超图积模板 + 环上的元素;底矩阵 1 × 1 时是 2BGA / BB,环为 GF(2) 时是超图积。The HGP template with ring entries; 1 × 1 base matrices give 2BGA / BB, ring GF(2) gives HGP.
相切的实例shared (touching) instance两族构造在一个具体码上重合(环面码 = BB(1 + x, 1 + y) = HGP(C₃, C₃)),不构成族与族之间的关系。Two constructions coinciding on one concrete code (toric = BB(1 + x, 1 + y) = HGP(C₃, C₃)); not a relation between the families.
家族卡 / 成员卡family card / member cardbivariate_bicycle(T3,两实例)对 bb72、bb90、bb108、bb288、bb5、bicycle、gross(T1/T0,各一实例);成员资格写在构造器里。bivariate_bicycle (T3, two instances) versus bb72, bb90, bb108, bb288, bb5, bicycle, gross (T1/T0, one instance each); membership lives in the constructor.
变体轴variant axis配方里可以独立改动的一处:变量数、多项式限制、边界、对偶性、字母表、CSS 条件、提取方式。One independently movable part of the recipe: variables, polynomial restrictions, boundary, duality, alphabet, CSS condition, extraction.
瓷砖码 / 剪枝tile code / pruning把重复的 BB 式检查图案截成开边界平面码 / 从周期 BB 里删比特与检查;两者都要重算 k、d。Terminating a repeated BB-like check pattern into an open planar code / deleting qubits and checks from periodic BB; both require recomputing k, d.
自对偶 BBself-dual BB扭环面上加约束、检查重量 8、带横向 CNOT/H/S 的子族;不是 gross 的性质。A subfamily on twisted tori with extra constraints, check weight 8 and transversal CNOT/H/S; not a property of gross.
变形电路morphing circuit为一个新的 BB 码家族设计的电路:已知的 BB 码是一轮走到一半时的「中途码」C,每轮的起点和终点是两个只差一个平移的「端点码」,交替出现:C̃₁ → C → C̃₂ → C → C̃₁。每比特连 5 个邻居而不是 6 个,每轮 CNOT 深度 6;端点码的码距与电路级码距要分开报(4.4 节)。不是给 gross 的度 5 电路。Circuits for a new family of BB codes: the known BB code is the “mid-cycle code” C halfway through a round, and each round starts and ends in one of two “end-cycle codes” that differ by a translation and alternate: C̃₁ → C → C̃₂ → C → C̃₁. Each qubit needs 5 neighbours instead of 6, CNOT depth 6 per round; end-cycle distance and circuit-level distance must be reported separately (§4.4). Not a degree-5 circuit for gross.

延伸阅读Further reading

  • D. J. C. MacKay, G. Mitchison, P. L. McFadden, “Sparse Graph Codes for Quantum Error-Correction” (2004)
    mackay2004sparse(已登记)· bicycle 码的出生地:[C | Cᵀ]。arXiv quant-ph/0304161mackay2004sparse (registered) · birthplace of bicycle codes: [C | Cᵀ]. arXiv quant-ph/0304161
  • P. Panteleev, G. Kalachev, “Degenerate Quantum LDPC Codes With Good Finite Length Performance” (2021)
    panteleev2021degenerate(已登记)· 短的广义 bicycle 码例子、[A | B] / [Bᵀ | Aᵀ] 格式、BP-OSD。arXiv 1904.02703,Quantum 5, 585 (2021)panteleev2021degenerate (registered) · short generalized bicycle examples, the [A | B] / [Bᵀ | Aᵀ] format, BP-OSD. arXiv 1904.02703, Quantum 5, 585 (2021)
  • 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)
    bravyi2024bicycle(已登记,别名 bravyi2024high)· BB 家族与 gross。arXiv 2308.07915bravyi2024bicycle (registered, alias bravyi2024high) · the BB family and gross. arXiv 2308.07915
  • R. Wang, H.-K. Lin, L. P. Pryadko, “Abelian and non-abelian quantum two-block codes” (2023); H.-K. Lin, L. P. Pryadko, “Quantum two-block group algebra codes” (2023)
    wang2023abelian, lin2023twoblock(登记待补)· 唯一那条 typed 边的两个 refs:2BGA 的定义与「BB ⊂ 2BGA ⊂ 提升积」。arXiv 2305.06890;2306.16400(摘要页已核对)wang2023abelian, lin2023twoblock (registration pending) · the two refs of the only typed edge: the definition of 2BGA and “BB ⊂ 2BGA ⊂ lifted product”. arXiv 2305.06890; 2306.16400 (abstract pages checked)
  • V. Steffan, S. H. Choe, N. P. Breuckmann, F. R. F. Pereira, J. N. Eberhardt, “Tile Codes: High-Efficiency Quantum Codes on a Lattice with Boundary” (2025)
    steffan2025tile(已登记)· 边界轴上唯一已登记的键;「共享瓷砖 ≠ 同一个码」。arXiv 2504.09171steffan2025tile (registered) · the only registered key on the boundary axis; “shared tile ≠ same code”. arXiv 2504.09171
  • J. J. Postema, S. J. J. M. F. Kokkelmans, “Existence and Characterisation of Bivariate Bicycle Codes” (2025)
    postema2025existence(登记待补)· 所研究子类(三项 + 三项、重量 6)渐近坏,定理 2.19;所引定理 2.18 把渐近坏推到所有检查重量固定的阿贝尔 2BGA 码;非阿贝尔 2BGA 列为开放问题。arXiv 2502.17052(摘要页与定理已核对)postema2025existence (registration pending) · asymptotic badness of the studied subclass (three terms + three terms, weight 6), Theorem 2.19; the quoted Theorem 2.18 extends asymptotic badness to every abelian 2BGA code of fixed check weight; non-abelian 2BGA is listed as open. arXiv 2502.17052 (abstract page and theorem checked)
诚实总账The honesty ledger

本页机器重算过的是:实验台里的 n、k 与秩(bbbuilder、hgpbuilder、bbfamily 在浏览器里算 GF(2) 秩);2.3 节的 18 = 9 + 9、2 = 1·1 + 1·1 与 144 = 2 × 72 这几步算术;以及本次修订的脚本 notes/relations/verify.py 算的 bicycle [[6,2,2]](含穷举 d = 2)、3.2 节五个成员码的秩、bb5 的 d = 5、HGP(C₃, C₃) 的 k = 2、d = 3,和 4.1 节互素子类的 k 公式例子(与秩逐一核对)。实验台的搜索结果(gross 16)是在无头 Chrome 里实测的。唯一那条关系是带两个文献键的 typed 断言,QEC-Bank 没有给关系附加 verified / claimed 一类标签,本页也没有替它加。第 3 章八张卡的数字与证据词照抄各条目页;第 4 章的全部结论照抄 Level-2 页「变体与边界地图」与变体扫描报告,本页没有重算任何变体的 k、d。16 个文献键里只有 4 个在登记表里有标题、作者、年份、链接;其余 12 个的标题与 arXiv 号原取自 docs/lit/bivariate_bicycle/ 的扫描报告(检索日期 2026-07-26),本次修订已逐一对照 arXiv 摘要页(2026-09-24),并据此改正了作者名、标题大小写与一处关于互素子类定义的错误;其中 liang2026qudit、cruzbenito2026evolutionary、wang2026bbs 不在本条目的 32 个键里。「pending 是构建时算出的」这一句读自 tools/site/build.py;「十二条冻结的未来条目关系」读自 2026-08-31 的评审记录。hgpbuilder 实验台可能以不同的行列顺序显示同一个 [[18,2,3]]。

Machine-recomputed on this page: the n, k and ranks inside the benches (bbbuilder, hgpbuilder and bbfamily compute GF(2) ranks in the browser); the arithmetic of §2.3: 18 = 9 + 9, 2 = 1·1 + 1·1, 144 = 2 × 72; and, by this revision's script notes/relations/verify.py, bicycle's [[6,2,2]] (with d = 2 by exhaustion), the ranks of the five member codes in §3.2, bb5's d = 5, HGP(C₃, C₃)'s k = 2 and d = 3, and the coprime-subclass k formula example of §4.1 (checked against ranks). The bench search result (gross 16) was measured in headless Chrome. The single relation is a typed assertion with two bibkeys; the QEC-Bank attaches no verified/claimed label to relations and this page has added none. The numbers and evidence words of the eight cards in Chapter 3 copy the entry pages; every conclusion of Chapter 4 copies the Level-2 page “variant and boundary map” and the variants scout report, and this page recomputes no variant's k or d. Of the 16 bibkeys only 4 have title, authors, year and link in the registry; the titles and arXiv ids of the other 12 originally came from the scout reports under docs/lit/bivariate_bicycle/ (fetched 2026-07-26); this revision checked each against its arXiv abstract page (2026-09-24) and corrected author names, title capitalisation and one error about the definition of the coprime subclass; liang2026qudit, cruzbenito2026evolutionary and wang2026bbs are not among this entry's 32 keys. “Pending is computed at build time” was read from tools/site/build.py; “twelve frozen future-entry relations” from the review record of 2026-08-31. The hgpbuilder bench may display the same [[18,2,3]] with a different row and column order.