← back to the board
[[180,24,15]] d ≤
n
180
k
24
d
15
kd²/n
30.0
w
9
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 15, d_Z ≤ 15 · w_X = 9, w_Z = 9 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 15 · witness weight 15 (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, 15 qubits)
[10, 12, 20, 26, 58, 87, 88, 116, 119, 131, 133, 149, 166, 168, 171]
d_Z 15 · witness weight 15 (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, 15 qubits)
[10, 25, 27, 28, 43, 46, 66, 74, 82, 85, 101, 112, 151, 153, 157]
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 9 · H_Z 9
qubit degrees H_X 4–5 (mean 4.5) · H_Z 4–5 (mean 4.5)
trapping sets H_X (1,4)×90 (2,6)×540 (3,6)×390 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 90 (1,5): 90 (2,6): 540 (2,7): 1800 (2,8): 900 (3,6): 390 (3,7): 1080 (3,8): 5760 (3,9): 28290 (3,10): 36450 (3,11): 14310 (3,12): 3600 (3,13): 900
trapping sets H_Z (1,4)×90 (2,6)×540 (3,6)×390 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 90 (1,5): 90 (2,6): 540 (2,7): 1800 (2,8): 900 (3,6): 390 (3,7): 1080 (3,8): 5760 (3,9): 28290 (3,10): 36450 (3,11): 14310 (3,12): 3600 (3,13): 900

Construction & provenance

authors Lee, Gideon
provenance literature baseline
construction Two-block group-algebra code C(a,b) over C30 x C3 = SmallGroup(90, 10) (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, 6, 24, 45, 50}, b = {0, 2, 18, 69} as element indices. Check weight 9. 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 generalized bicycle (a tag, not a ranking)
locality unrestricted (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,24,15]] — two-block group-algebra code over C30 x C3

Direction & hypothesis

Cell weight-9plus 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-24-15.json.

Parity checks

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