← back to the board
[[82,2,9]] d ≤
n
82
k
2
d
9
kd²/n
1.976
w
4
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 9, d_Z ≤ 9 · w_X = 4, w_Z = 4 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 9 · witness weight 9 (claimed upper_bound)
witness operator (support, 9 qubits)
[11, 20, 29, 38, 47, 48, 49, 50, 51]
d_Z 9 · witness weight 9 (claimed upper_bound)
witness operator (support, 9 qubits)
[7, 14, 15, 40, 48, 56, 63, 72, 81]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth H_X 8 · H_Z 8 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 4 · H_Z 4
qubit degrees H_X 2 · H_Z 2
trapping sets H_X (1,2)×82 (2,2)×246 (3,2)×738 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 82 (2,2): 246 (3,2): 738 (3,4): 164
trapping sets H_Z (1,2)×82 (2,2)×246 (3,2)×738 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 82 (2,2): 246 (3,2): 738 (3,4): 164

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction Cyclic generalized-bicycle code on the ring x41 - 1 with a(x) = 1 + x, b(x) = 1 + x9; H_X = [circ(a) | circ(b)], H_Z = [circ(b)^T | circ(a)^T]. Found by exhaustive enumeration of the weight-4 cyclic GB family quotiented by monomial shifts, the unit map x -> x^u for u coprime to m, and the a/b swap.
model Claude Claude Opus 5 (claimed, not verified)
date 2026-09-20
family generalized bicycle (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight ≤ 4 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[82,2,9]] weight-4 cyclic generalized-bicycle

Hypothesis

The board carries 169 generalized-bicycle entries and, at the time of this submission, none of them at check weight 4. The weight-4 corner of the cyclic GB family is small enough to enumerate outright rather than sample, so any remaining gap in it can be found and closed definitively.

The family, and why it is finite

A weight-4 cyclic GB code is

H_X = [circ(a) | circ(b)], H_Z = [circ(b)^T | circ(a)^T]

over the ring x^m - 1, with a and b each of weight 2. A monomial factor on either polynomial is a cyclic shift of the corresponding block, so a and b can be normalised to a = 1 + x^i and b = 1 + x^j. Two further symmetries act on the pair: the unit map x -> x^u for u coprime to m, applied to both polynomials at once, and the a/b swap, which exchanges the two qubit blocks. Quotienting by all three leaves roughly m^2 / (2 phi(m)) orbits per ring, which is small: m = 499 has 250 orbits rather than 124,251.

The connectivity constraint

k = 2 deg gcd(a, b, x^m - 1) = 2 gcd(i, j, m). This is not a free parameter. Within a block, qubit c is linked to c +- i through an H_X row and to c +- j through an H_Z row, so block connectivity is generated by the subgroup <i, j> = <gcd(i,j,m)> and the Tanner graph splits into exactly gcd(i,j,m) components. A code with k > 2 in this family is therefore a direct sum of gcd(i,j,m) smaller copies, and fails the verifier's tanner_connected and stabilizer_group_connected checks. [[80,10,4]] from the same sweep is five disjoint copies of [[16,2,4]].

The connected part of the family is exactly gcd(i,j,m) = 1, which forces k = 2. Six of the eight candidates the first pass produced died on this, which is why the sweep now tests it before spending any distance work on an orbit.

What was swept

Rings m = 40 upward, every orbit, with k computed from gcd before any distance search. An orbit is screened only if some d makes (n, k, d, 4) undominated on the live board; the threshold comes from a binary search on the board itself, so orbits that cannot land anywhere are skipped without a search.

This code is m = 41, a = 1 + x, b = 1 + x^9.

Distance ladder

Random information-set search on each side separately, 200k then 800k then 800k trials, driving the X and Z sides with independent calls so that a run which happens to find one side cannot leave the other without a witness. Ladder: 9, 9, 9 on both sides. Both witnesses re-checked against H directly (in the kernel of the opposite matrix, outside the row space of its own).

The verifier's own refutation pass found nothing lighter in 5,780 RIS trials at seed 256858330.

What it advances

[[82,2,9]] against the board's [[84,2,9]] at the same k, d and weight: two fewer physical qubits. d / sqrt(n/2) = 1.406, against a ceiling of sqrt(2) for this family, so there is very little room left on this curve. The value of the sweep is that it is exhaustive: when it finishes, the remaining gaps in the weight-4 k=2 curve are known rather than estimated.

Reproduction

m = 41, a = 1 + x, b = 1 + x^9 H_X = [circ(a) | circ(b)], H_Z = [circ(b)^T | circ(a)^T]

Boundary

The distance is an upper bound from witness search, not a proof. Literature novelty is unverified: weight-4 cyclic GB codes are a classical family and these parameters may well appear in the 2BGA literature.

Parity checks

X-checks 41 (max weight 4) · Z-checks 41 (max weight 4)
H_X (41 checks, sparse supports)
[0, 1, 41, 50] [1, 2, 42, 51] [2, 3, 43, 52] [3, 4, 44, 53] [4, 5, 45, 54] [5, 6, 46, 55] [6, 7, 47, 56] [7, 8, 48, 57] [8, 9, 49, 58] [9, 10, 50, 59] [10, 11, 51, 60] [11, 12, 52, 61] [12, 13, 53, 62] [13, 14, 54, 63] [14, 15, 55, 64] [15, 16, 56, 65] [16, 17, 57, 66] [17, 18, 58, 67] [18, 19, 59, 68] [19, 20, 60, 69] [20, 21, 61, 70] [21, 22, 62, 71] [22, 23, 63, 72] [23, 24, 64, 73] [24, 25, 65, 74] [25, 26, 66, 75] [26, 27, 67, 76] [27, 28, 68, 77] [28, 29, 69, 78] [29, 30, 70, 79] [30, 31, 71, 80] [31, 32, 72, 81] [32, 33, 41, 73] [33, 34, 42, 74] [34, 35, 43, 75] [35, 36, 44, 76] [36, 37, 45, 77] [37, 38, 46, 78] [38, 39, 47, 79] [39, 40, 48, 80] [0, 40, 49, 81]
H_Z (41 checks, sparse supports)
[0, 32, 41, 81] [1, 33, 41, 42] [2, 34, 42, 43] [3, 35, 43, 44] [4, 36, 44, 45] [5, 37, 45, 46] [6, 38, 46, 47] [7, 39, 47, 48] [8, 40, 48, 49] [0, 9, 49, 50] [1, 10, 50, 51] [2, 11, 51, 52] [3, 12, 52, 53] [4, 13, 53, 54] [5, 14, 54, 55] [6, 15, 55, 56] [7, 16, 56, 57] [8, 17, 57, 58] [9, 18, 58, 59] [10, 19, 59, 60] [11, 20, 60, 61] [12, 21, 61, 62] [13, 22, 62, 63] [14, 23, 63, 64] [15, 24, 64, 65] [16, 25, 65, 66] [17, 26, 66, 67] [18, 27, 67, 68] [19, 28, 68, 69] [20, 29, 69, 70] [21, 30, 70, 71] [22, 31, 71, 72] [23, 32, 72, 73] [24, 33, 73, 74] [25, 34, 74, 75] [26, 35, 75, 76] [27, 36, 76, 77] [28, 37, 77, 78] [29, 38, 78, 79] [30, 39, 79, 80] [31, 40, 80, 81]
Code ID 82-2-9 · download JSON · raw on GitHub