← back to the board
[[180,4,19]] d ≤
n
180
k
4
d
19
kd²/n
8.022
w
7
X/Z
1
g
0.0048
r
6.4031
layers
2
swaps
1035

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 19, d_Z ≤ 19 · w_X = 7, w_Z = 7 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 19 · witness weight 19 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-10-12
witness operator (support, 19 qubits)
[1, 16, 17, 18, 41, 47, 50, 60, 81, 89, 94, 113, 120, 129, 134, 158, 168, 173, 176]
d_Z 19 · witness weight 19 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-10-12
witness operator (support, 19 qubits)
[10, 22, 34, 36, 47, 50, 57, 94, 98, 125, 128, 130, 133, 140, 144, 153, 161, 171, 178]
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 6 · H_Z 6 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 7 · H_Z 7
qubit degrees H_X 3–4 (mean 3.5) · H_Z 3–4 (mean 3.5)
trapping sets H_X (1,3)×90 (2,4)×270 (3,3)×90 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 90 (1,4): 90 (2,4): 270 (2,5): 1080 (2,6): 540 (3,3): 90 (3,4): 90 (3,5): 1260 (3,6): 9270 (3,7): 12780 (3,8): 4860 (3,9): 1620 (3,10): 360
trapping sets H_Z (1,3)×90 (2,4)×270 (3,3)×90 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 90 (1,4): 90 (2,4): 270 (2,5): 1080 (2,6): 540 (3,3): 90 (3,4): 90 (3,5): 1260 (3,6): 9270 (3,7): 12780 (3,8): 4860 (3,9): 1620 (3,10): 360
witness diameter X 10.0 · Z 10.2956 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
layout contributed by @MathysRennela · Simulated annealing over integer-grid site assignments with the repo's own research/local2d/fold_layout.search_layout, single layer at radius 4 then two layers at 7, plus a divisor scan of the two-block index convention Z_l x Z_m which gives the tighter embedding here; radius and per-site occupancy re-measured with the verifier's own rule. · 2026-10-13
r = 6.403
X checkZ checkqubit site (93)2 qubits stacked (2 layers)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 1035 nearest-neighbor SWAPs per round in total, at most 10 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

authors Lee, Gideon
provenance literature baseline
construction Two-block group-algebra code C(a,b) over C5 x D18 = SmallGroup(90, 1) (order 90), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 180; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 3, 14, 64}, b = {0, 11, 37} as element indices. Check weight 7. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race.
model Mimo-V2.6-Flash (claimed, not verified)
date 2026-10-12
notes Parameters and construction taken from the public database of arXiv:2610.13880v1. Distance is an upper bound certified by the witnesses attached here. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0; rebuilt here with the repo's own group data. Distance is an upper bound certified by the attached witnesses, not the paper's exact distance.
family 2bga-nonabelian (a tag, not a ranking)
locality 2D-local bilayer (computed from the layout)
weight class weight ≤ 8 (computed)

How this code was found

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

[[180,4,19]] — two-block group-algebra code over C5 x D18

Direction & hypothesis

Cell weight-8 x unrestricted, CSS board. The argument is coverage, not discovery: this code is published in arXiv:2610.13880v1 (Lee, "Bicycle Race"), and nothing on the board occupied this (n, k, d, w) point. It advances the four-axis Pareto frontier by moving into a cell that was empty at these parameters.

What was searched

Not a search for new codes. The arXiv:2610.13880v1 database (github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0, 12,448 records) was rebuilt here from its group and block data, then screened against every CSS entry on main under the site's Pareto rule (n <=, k >=, d >=, w <= with at least one strict) within the same weight class. Records whose parameters the paper already tabulates, and candidates claimed by other open filings, were removed first. Distances were re-searched locally:

  • X side: research/kit/surrogate.lightest_logical at 2,000 trials
  • Z side: research/kit/surrogate.lightest_logical at 2,000 trials

Evidence trail

Witness-backed upper bound, not an exact distance. The attached X and Z operators were found by the searches above and re-checked by the verifier's own criteria (in ker(opposite) and outside rowspace(own)). verify/validate_candidate.py reports passed: true and board_advancing: true, with d_only_gain: false.

The paper states an exact distance for this record, verified there with a second exact engine plus GAP rebuild and independent upper-bound attacks. That exactness is not claimed here; the board records what the witness certifies.

Dead ends

  • Direct sums of two board codes: rejected, CONTRIBUTING.md requires a single
  • connected Tanner graph and a connected stabilizer group.

  • Fitting a single-layer 2D layout to reach the local-2d cells: searched with
  • research/local2d/fold_layout.search_layout, best radii 10–13 against a ceiling of 4.0, so these codes stay unrestricted.

  • Hypergraph products of two parents from this pool: connectivity passes, but n
  • multiplies (two ~250-qubit parents give n = 80,010).

Tools

Model: Mimo-V2.6-Flash (self-reported, provenance.model), driving OpenCode. Rebuild: research/kit/group_algebra.build_2bga from the database's data/groups.jsonl Cayley table. Witness search: research/kit/surrogate (numpy backend, 2,000 trials/side screening) with the gf2_fast accelerator for longer runs. Gate: research/kit/coordination.py gate, which runs verify/validate_candidate.py unchanged. Search run by @mathysrennela.

Reproduction

from group_algebra import build_2bga
# a and b are element indices from github.com/gideonlsx/bicycle-race @ aed705a data/codes.jsonl
HX, HZ = build_2bga(mul, a, b)   # mul from data/groups.jsonl, n = 2|G| = 180

Parameters are also spelled out in provenance.construction of codes/180-4-19.json.

Parity checks

X-checks 90 (max weight 7) · Z-checks 90 (max weight 7)
H_X (90 checks, sparse supports)
[0, 26, 28, 48, 90, 102, 149] [1, 6, 20, 40, 91, 108, 157] [2, 42, 45, 64, 92, 114, 163] [0, 3, 46, 50, 93, 98, 116] [4, 44, 47, 67, 94, 117, 165] [5, 15, 36, 57, 95, 122, 169] [6, 17, 37, 59, 96, 104, 124] [7, 18, 38, 60, 97, 125, 171] [1, 8, 59, 76, 98, 130, 172] [2, 9, 62, 66, 99, 110, 132] [10, 61, 63, 79, 100, 133, 174] [3, 11, 64, 68, 90, 101, 111] [4, 12, 14, 65, 102, 112, 134] [11, 13, 66, 81, 93, 103, 129] [0, 14, 29, 71, 104, 139, 175] [15, 31, 54, 73, 105, 118, 141] [16, 32, 55, 74, 106, 142, 177] [8, 17, 19, 56, 91, 107, 119] [18, 34, 57, 75, 108, 120, 143] [19, 21, 35, 58, 96, 109, 138] [5, 17, 20, 73, 110, 116, 147] [6, 8, 21, 78, 111, 126, 149] [7, 22, 75, 85, 112, 150, 178] [9, 23, 76, 80, 92, 113, 127] [10, 24, 28, 77, 114, 128, 151] [23, 25, 78, 87, 99, 115, 146] [12, 26, 29, 79, 94, 116, 130] [13, 27, 30, 80, 101, 117, 131] [2, 12, 28, 46, 118, 124, 155] [3, 29, 48, 82, 119, 135, 157] [4, 30, 49, 83, 120, 158, 179] [20, 31, 33, 70, 95, 121, 136] [32, 51, 71, 84, 122, 137, 159] [33, 37, 52, 72, 105, 123, 154] [1, 22, 34, 73, 97, 124, 139] [35, 39, 53, 74, 107, 125, 140] [14, 31, 36, 82, 126, 132, 161] [15, 19, 20, 37, 90, 127, 163] [16, 34, 38, 84, 128, 134, 164] [17, 21, 39, 86, 98, 129, 144] [18, 22, 40, 45, 130, 145, 165] [19, 39, 41, 89, 111, 131, 160] [24, 42, 46, 85, 100, 132, 147] [25, 43, 47, 86, 113, 133, 148] [27, 44, 49, 87, 103, 134, 150] [8, 24, 45, 62, 135, 141, 167] [9, 26, 46, 64, 91, 136, 169] [10, 27, 47, 65, 137, 143, 170] [11, 36, 48, 50, 104, 138, 152] [12, 49, 67, 88, 139, 153, 171] [13, 50, 54, 68, 119, 140, 166] [5, 38, 51, 82, 106, 141, 155] [52, 56, 69, 83, 121, 142, 156] [7, 41, 53, 84, 109, 143, 158] [29, 33, 36, 54, 92, 144, 172] [30, 51, 55, 88, 145, 151, 173] [31, 35, 37, 56, 93, 110, 146] [1, 32, 38, 57, 94, 147, 174] [33, 53, 56, 58, 101, 127, 148] [34, 40, 59, 62, 112, 149, 161] [35, 41, 60, 63, 129, 150, 162] [43, 61, 65, 89, 115, 151, 164] [21, 42, 62, 76, 95, 152, 175] [22, 43, 63, 77, 153, 159, 176] [0, 23, 64, 66, 96, 118, 154] [24, 44, 65, 79, 97, 155, 177] [3, 25, 66, 80, 107, 136, 156] [14, 26, 55, 67, 120, 157, 167] [27, 68, 70, 81, 138, 158, 168] [16, 58, 69, 88, 123, 159, 170] [48, 52, 54, 70, 99, 126, 160] [5, 49, 55, 71, 100, 161, 178] [50, 69, 70, 72, 113, 144, 162] [6, 51, 57, 73, 102, 128, 163] [7, 52, 58, 74, 103, 146, 164] [53, 60, 75, 77, 131, 165, 173] [2, 39, 76, 78, 105, 135, 166] [40, 61, 77, 85, 106, 167, 179] [9, 41, 78, 86, 121, 152, 168] [4, 28, 42, 79, 108, 137, 169] [11, 43, 80, 87, 109, 154, 170] [30, 44, 72, 81, 140, 171, 176] [15, 67, 71, 82, 114, 145, 172] [16, 68, 72, 83, 115, 160, 173] [18, 69, 74, 84, 117, 148, 174] [10, 45, 59, 85, 122, 153, 175] [23, 60, 86, 89, 123, 166, 176] [13, 47, 61, 87, 125, 156, 177] [32, 81, 83, 88, 133, 162, 178] [25, 63, 75, 89, 142, 168, 179]
H_Z (90 checks, sparse supports)
[0, 11, 37, 90, 93, 104, 154] [1, 17, 46, 91, 98, 124, 147] [2, 23, 54, 92, 99, 118, 166] [3, 13, 56, 93, 101, 119, 156] [4, 26, 57, 94, 102, 120, 169] [5, 31, 62, 95, 110, 141, 161] [6, 19, 64, 91, 96, 111, 163] [7, 34, 65, 97, 112, 143, 164] [3, 8, 39, 98, 107, 111, 135] [9, 25, 70, 99, 113, 136, 168] [10, 42, 71, 100, 114, 137, 175] [11, 27, 58, 101, 103, 138, 170] [0, 12, 73, 102, 116, 118, 139] [13, 44, 74, 103, 117, 140, 177] [6, 14, 48, 102, 104, 126, 157] [15, 33, 76, 95, 105, 127, 172] [16, 51, 77, 106, 128, 159, 173] [17, 35, 66, 96, 107, 110, 129] [1, 18, 79, 97, 108, 130, 174] [19, 53, 80, 107, 109, 127, 131] [9, 20, 56, 91, 110, 121, 127] [11, 21, 41, 109, 111, 129, 152] [12, 22, 59, 112, 124, 130, 153] [23, 43, 72, 113, 115, 154, 176] [2, 24, 82, 114, 132, 135, 155] [25, 61, 83, 115, 133, 156, 179] [3, 20, 26, 90, 116, 136, 157] [4, 27, 84, 117, 134, 137, 158] [15, 28, 64, 90, 114, 118, 169] [17, 29, 50, 104, 116, 119, 144] [18, 30, 67, 117, 120, 145, 171] [31, 52, 78, 105, 121, 126, 146] [5, 32, 85, 106, 122, 147, 178] [33, 69, 86, 121, 123, 144, 148] [6, 28, 34, 108, 124, 128, 149] [7, 35, 87, 109, 125, 146, 150] [21, 36, 70, 95, 126, 138, 144] [23, 37, 58, 96, 123, 127, 146] [24, 38, 73, 97, 128, 141, 147] [13, 39, 60, 125, 129, 131, 166] [8, 26, 40, 91, 130, 149, 167] [27, 41, 75, 131, 143, 150, 168] [9, 36, 42, 92, 132, 152, 169] [10, 43, 88, 133, 151, 153, 170] [12, 38, 44, 94, 134, 155, 171] [29, 45, 76, 92, 130, 135, 175] [31, 46, 66, 93, 118, 132, 136] [32, 47, 79, 94, 133, 137, 177] [19, 48, 68, 90, 119, 138, 160] [14, 34, 49, 120, 134, 139, 161] [35, 50, 81, 93, 138, 140, 162] [15, 45, 51, 122, 141, 145, 163] [16, 52, 89, 123, 142, 160, 164] [18, 47, 53, 125, 143, 148, 165] [39, 54, 72, 105, 140, 144, 160] [40, 55, 82, 106, 145, 157, 161] [25, 56, 74, 107, 142, 146, 148] [20, 42, 57, 95, 108, 147, 163] [43, 58, 84, 109, 148, 159, 164] [0, 21, 59, 96, 98, 149, 175] [22, 44, 60, 97, 150, 165, 176] [24, 55, 61, 100, 151, 167, 177] [48, 62, 78, 99, 135, 149, 152] [49, 63, 85, 100, 150, 153, 179] [33, 64, 80, 92, 101, 136, 154] [28, 51, 65, 102, 137, 151, 155] [52, 66, 87, 99, 103, 154, 156] [1, 29, 67, 94, 139, 157, 172] [30, 53, 68, 101, 140, 158, 173] [32, 63, 69, 142, 159, 162, 174] [41, 70, 83, 121, 158, 160, 162] [36, 59, 71, 104, 122, 161, 172] [60, 72, 88, 123, 162, 171, 173] [2, 37, 73, 105, 110, 124, 163] [38, 61, 74, 106, 125, 164, 174] [4, 40, 75, 108, 112, 165, 179] [50, 76, 86, 98, 113, 152, 166] [45, 67, 77, 114, 153, 165, 167] [68, 78, 89, 111, 115, 166, 168] [5, 46, 79, 100, 116, 155, 169] [47, 69, 80, 113, 117, 156, 170] [7, 49, 81, 103, 158, 171, 178] [8, 54, 82, 119, 126, 141, 172] [55, 75, 83, 120, 142, 173, 178] [10, 57, 84, 122, 128, 143, 174] [14, 62, 85, 112, 132, 167, 175] [63, 81, 86, 129, 133, 168, 176] [16, 65, 87, 115, 134, 170, 177] [22, 71, 88, 139, 145, 159, 178] [30, 77, 89, 131, 151, 176, 179]
Code ID 180-4-19 · download JSON · raw on GitHub