← back to the board
[[254,14,16]] d ≤
n
254
k
14
d
16
kd²/n
14.11
w
6
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 16, d_Z ≤ 16 · w_X = 6, w_Z = 6 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 16 · witness weight 16 (claimed upper_bound)
witness operator (support, 16 qubits)
[1, 2, 15, 31, 71, 73, 86, 99, 100, 115, 141, 153, 165, 177, 229, 252]
d_Z 16 · witness weight 16 (claimed upper_bound)
witness operator (support, 16 qubits)
[0, 12, 24, 28, 52, 80, 103, 115, 135, 149, 162, 164, 193, 205, 220, 247]
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 6 · H_Z 6
qubit degrees H_X 3 · H_Z 3
trapping sets H_X (1,3)×254 (2,4)×1905 (3,3)×254 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 254 (2,4): 1905 (3,3): 254 (3,5): 18288 (3,7): 2540
trapping sets H_Z (1,3)×254 (2,4)×1905 (3,3)×254 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 254 (2,4): 1905 (3,3): 254 (3,5): 18288 (3,7): 2540

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Generalized bicycle (two-block) code on Z_127: H_X=[A|B], H_Z=[B^T|A^T], a(x)=x11+x51+x63, b(x)=x37+x93+x122; k=2*deg(gcd)<=14 at w<=6
date 2026-08-15
family generalized bicycle (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

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

[[254,14,16]] — generalized bicycle (two-block) code on Z_127

Direction & hypothesis

The unrestricted / weight-6 cell rewards distance at low rate. A generalized-bicycle (two-block group-algebra) code on the cyclic group Z_127, H_X = [A | B], H_Z = [B^T | A^T] with trinomial supports, is the classic construction (Panteleev-Kalachev, arXiv:2111.03654; Lin-Pryadko two-block, arXiv:2306.16400). 127 is prime and 127 = 1 mod 2, so x^127 - 1 factors into one linear and 9 irreducible degree-7 factors; a trinomial's gcd with x^127 - 1 is at most one degree-7 factor, which caps k = 2*deg(gcd) at 14 (k=28 is structurally impossible at w<=6). The goal: a w<=6 code on the frontier with the best achievable d at k=14.

What was searched

Targeted search over trinomial supports on Z_127: enumerate pairs (a(x), b(x)) of weight-3 polynomials, build H_X = [A | B], H_Z = [B^T | A^T], filter CSS/k, screen distance with the RIS surrogate, rank by kd^2/n. The winner's true supports (recovered from the stored matrix, see Evidence trail) are

a(x) = x^11 + x^51 + x^63
b(x) = x^37 + x^93 + x^122

Evidence trail

  • Rebuild: `bb.build_bb(127, 1, A_terms=[(11,0),(51,0),(63,0)],
  • B_terms=[(37,0),(93,0),(122,0)])` reproduces the staged matrix exactly: n = 254, k = 14, CSS ok, max row weight 6.

  • Fresh staged witnesses (2026-08-15, 8000 trials/side): X 16, Z 16, each
  • verified in ker of the opposite checks and outside its own rowspace.

  • Trusted gate verify/validate_candidate.py (2026-08-15, fresh seed):
  • passed, refutation clean, dominated_by: [], advances the weight-6 x unrestricted board.

Tier: d <= 16 (witness-backed upper bound).

Provenance correction: the staged candidate's construction string says a(x) = 1 + x^64 + x^116, b(x) = 1 + x^5 + x^34, but rebuilding from those trinomials gives k = 0 and does not match the stored matrix. The two-block form is ambiguous under the shift-direction convention; the stored matrix is consistent with a(x) = x^11 + x^51 + x^63, b(x) = x^37 + x^93 + x^122 (or their negations), which rebuild with k = 14 and reproduce every stored check row. The corrected construction string is used in the submission.

Dead ends

  • Random supports on Z_127 with k >= 4: dominated quickly, best survivors
  • below (n, k, d) = (254, 14, 16).

  • The k=28 "possibility" on Z_127 does not exist: each weight-3 divisor
  • contains at most one degree-7 factor, bounding 2*deg(gcd) <= 14.

Tools

  • Model: none claimed (deterministic construction + search).
  • Repo tooling: research/kit/bb.py (build_bb for 2 x cyclic), css.py,
  • submit.py::make_submission (optional), verify/validate_candidate.py.

Reproduction

from research.kit.bb import build_bb
from research.kit.css import compute_k, verify_css

HX, HZ = build_bb(127, 1,
                  A_terms=[(11, 0), (51, 0), (63, 0)],
                  B_terms=[(37, 0), (93, 0), (122, 0)])
assert verify_css(HX, HZ) and compute_k(HX, HZ) == 14

n = 2 * 127 = 254. Build the JSON with `research/kit/submit.py make_submission(HX, HZ, ...)` (guards: witnesses recovered, schema-validated).

Parity checks

X-checks 127 (max weight 6) · Z-checks 127 (max weight 6)
H_X (127 checks, sparse supports)
[11, 51, 63, 164, 220, 249] [12, 52, 64, 165, 221, 250] [13, 53, 65, 166, 222, 251] [14, 54, 66, 167, 223, 252] [15, 55, 67, 168, 224, 253] [16, 56, 68, 127, 169, 225] [17, 57, 69, 128, 170, 226] [18, 58, 70, 129, 171, 227] [19, 59, 71, 130, 172, 228] [20, 60, 72, 131, 173, 229] [21, 61, 73, 132, 174, 230] [22, 62, 74, 133, 175, 231] [23, 63, 75, 134, 176, 232] [24, 64, 76, 135, 177, 233] [25, 65, 77, 136, 178, 234] [26, 66, 78, 137, 179, 235] [27, 67, 79, 138, 180, 236] [28, 68, 80, 139, 181, 237] [29, 69, 81, 140, 182, 238] [30, 70, 82, 141, 183, 239] [31, 71, 83, 142, 184, 240] [32, 72, 84, 143, 185, 241] [33, 73, 85, 144, 186, 242] [34, 74, 86, 145, 187, 243] [35, 75, 87, 146, 188, 244] [36, 76, 88, 147, 189, 245] [37, 77, 89, 148, 190, 246] [38, 78, 90, 149, 191, 247] [39, 79, 91, 150, 192, 248] [40, 80, 92, 151, 193, 249] [41, 81, 93, 152, 194, 250] [42, 82, 94, 153, 195, 251] [43, 83, 95, 154, 196, 252] [44, 84, 96, 155, 197, 253] [45, 85, 97, 127, 156, 198] [46, 86, 98, 128, 157, 199] [47, 87, 99, 129, 158, 200] [48, 88, 100, 130, 159, 201] [49, 89, 101, 131, 160, 202] [50, 90, 102, 132, 161, 203] [51, 91, 103, 133, 162, 204] [52, 92, 104, 134, 163, 205] [53, 93, 105, 135, 164, 206] [54, 94, 106, 136, 165, 207] [55, 95, 107, 137, 166, 208] [56, 96, 108, 138, 167, 209] [57, 97, 109, 139, 168, 210] [58, 98, 110, 140, 169, 211] [59, 99, 111, 141, 170, 212] [60, 100, 112, 142, 171, 213] [61, 101, 113, 143, 172, 214] [62, 102, 114, 144, 173, 215] [63, 103, 115, 145, 174, 216] [64, 104, 116, 146, 175, 217] [65, 105, 117, 147, 176, 218] [66, 106, 118, 148, 177, 219] [67, 107, 119, 149, 178, 220] [68, 108, 120, 150, 179, 221] [69, 109, 121, 151, 180, 222] [70, 110, 122, 152, 181, 223] [71, 111, 123, 153, 182, 224] [72, 112, 124, 154, 183, 225] [73, 113, 125, 155, 184, 226] [74, 114, 126, 156, 185, 227] [0, 75, 115, 157, 186, 228] [1, 76, 116, 158, 187, 229] [2, 77, 117, 159, 188, 230] [3, 78, 118, 160, 189, 231] [4, 79, 119, 161, 190, 232] [5, 80, 120, 162, 191, 233] [6, 81, 121, 163, 192, 234] [7, 82, 122, 164, 193, 235] [8, 83, 123, 165, 194, 236] [9, 84, 124, 166, 195, 237] [10, 85, 125, 167, 196, 238] [11, 86, 126, 168, 197, 239] [0, 12, 87, 169, 198, 240] [1, 13, 88, 170, 199, 241] [2, 14, 89, 171, 200, 242] [3, 15, 90, 172, 201, 243] [4, 16, 91, 173, 202, 244] [5, 17, 92, 174, 203, 245] [6, 18, 93, 175, 204, 246] [7, 19, 94, 176, 205, 247] [8, 20, 95, 177, 206, 248] [9, 21, 96, 178, 207, 249] [10, 22, 97, 179, 208, 250] [11, 23, 98, 180, 209, 251] [12, 24, 99, 181, 210, 252] [13, 25, 100, 182, 211, 253] [14, 26, 101, 127, 183, 212] [15, 27, 102, 128, 184, 213] [16, 28, 103, 129, 185, 214] [17, 29, 104, 130, 186, 215] [18, 30, 105, 131, 187, 216] [19, 31, 106, 132, 188, 217] [20, 32, 107, 133, 189, 218] [21, 33, 108, 134, 190, 219] [22, 34, 109, 135, 191, 220] [23, 35, 110, 136, 192, 221] [24, 36, 111, 137, 193, 222] [25, 37, 112, 138, 194, 223] [26, 38, 113, 139, 195, 224] [27, 39, 114, 140, 196, 225] [28, 40, 115, 141, 197, 226] [29, 41, 116, 142, 198, 227] [30, 42, 117, 143, 199, 228] [31, 43, 118, 144, 200, 229] [32, 44, 119, 145, 201, 230] [33, 45, 120, 146, 202, 231] [34, 46, 121, 147, 203, 232] [35, 47, 122, 148, 204, 233] [36, 48, 123, 149, 205, 234] [37, 49, 124, 150, 206, 235] [38, 50, 125, 151, 207, 236] [39, 51, 126, 152, 208, 237] [0, 40, 52, 153, 209, 238] [1, 41, 53, 154, 210, 239] [2, 42, 54, 155, 211, 240] [3, 43, 55, 156, 212, 241] [4, 44, 56, 157, 213, 242] [5, 45, 57, 158, 214, 243] [6, 46, 58, 159, 215, 244] [7, 47, 59, 160, 216, 245] [8, 48, 60, 161, 217, 246] [9, 49, 61, 162, 218, 247] [10, 50, 62, 163, 219, 248]
H_Z (127 checks, sparse supports)
[5, 34, 90, 191, 203, 243] [6, 35, 91, 192, 204, 244] [7, 36, 92, 193, 205, 245] [8, 37, 93, 194, 206, 246] [9, 38, 94, 195, 207, 247] [10, 39, 95, 196, 208, 248] [11, 40, 96, 197, 209, 249] [12, 41, 97, 198, 210, 250] [13, 42, 98, 199, 211, 251] [14, 43, 99, 200, 212, 252] [15, 44, 100, 201, 213, 253] [16, 45, 101, 127, 202, 214] [17, 46, 102, 128, 203, 215] [18, 47, 103, 129, 204, 216] [19, 48, 104, 130, 205, 217] [20, 49, 105, 131, 206, 218] [21, 50, 106, 132, 207, 219] [22, 51, 107, 133, 208, 220] [23, 52, 108, 134, 209, 221] [24, 53, 109, 135, 210, 222] [25, 54, 110, 136, 211, 223] [26, 55, 111, 137, 212, 224] [27, 56, 112, 138, 213, 225] [28, 57, 113, 139, 214, 226] [29, 58, 114, 140, 215, 227] [30, 59, 115, 141, 216, 228] [31, 60, 116, 142, 217, 229] [32, 61, 117, 143, 218, 230] [33, 62, 118, 144, 219, 231] [34, 63, 119, 145, 220, 232] [35, 64, 120, 146, 221, 233] [36, 65, 121, 147, 222, 234] [37, 66, 122, 148, 223, 235] [38, 67, 123, 149, 224, 236] [39, 68, 124, 150, 225, 237] [40, 69, 125, 151, 226, 238] [41, 70, 126, 152, 227, 239] [0, 42, 71, 153, 228, 240] [1, 43, 72, 154, 229, 241] [2, 44, 73, 155, 230, 242] [3, 45, 74, 156, 231, 243] [4, 46, 75, 157, 232, 244] [5, 47, 76, 158, 233, 245] [6, 48, 77, 159, 234, 246] [7, 49, 78, 160, 235, 247] [8, 50, 79, 161, 236, 248] [9, 51, 80, 162, 237, 249] [10, 52, 81, 163, 238, 250] [11, 53, 82, 164, 239, 251] [12, 54, 83, 165, 240, 252] [13, 55, 84, 166, 241, 253] [14, 56, 85, 127, 167, 242] [15, 57, 86, 128, 168, 243] [16, 58, 87, 129, 169, 244] [17, 59, 88, 130, 170, 245] [18, 60, 89, 131, 171, 246] [19, 61, 90, 132, 172, 247] [20, 62, 91, 133, 173, 248] [21, 63, 92, 134, 174, 249] [22, 64, 93, 135, 175, 250] [23, 65, 94, 136, 176, 251] [24, 66, 95, 137, 177, 252] [25, 67, 96, 138, 178, 253] [26, 68, 97, 127, 139, 179] [27, 69, 98, 128, 140, 180] [28, 70, 99, 129, 141, 181] [29, 71, 100, 130, 142, 182] [30, 72, 101, 131, 143, 183] [31, 73, 102, 132, 144, 184] [32, 74, 103, 133, 145, 185] [33, 75, 104, 134, 146, 186] [34, 76, 105, 135, 147, 187] [35, 77, 106, 136, 148, 188] [36, 78, 107, 137, 149, 189] [37, 79, 108, 138, 150, 190] [38, 80, 109, 139, 151, 191] [39, 81, 110, 140, 152, 192] [40, 82, 111, 141, 153, 193] [41, 83, 112, 142, 154, 194] [42, 84, 113, 143, 155, 195] [43, 85, 114, 144, 156, 196] [44, 86, 115, 145, 157, 197] [45, 87, 116, 146, 158, 198] [46, 88, 117, 147, 159, 199] [47, 89, 118, 148, 160, 200] [48, 90, 119, 149, 161, 201] [49, 91, 120, 150, 162, 202] [50, 92, 121, 151, 163, 203] [51, 93, 122, 152, 164, 204] [52, 94, 123, 153, 165, 205] [53, 95, 124, 154, 166, 206] [54, 96, 125, 155, 167, 207] [55, 97, 126, 156, 168, 208] [0, 56, 98, 157, 169, 209] [1, 57, 99, 158, 170, 210] [2, 58, 100, 159, 171, 211] [3, 59, 101, 160, 172, 212] [4, 60, 102, 161, 173, 213] [5, 61, 103, 162, 174, 214] [6, 62, 104, 163, 175, 215] [7, 63, 105, 164, 176, 216] [8, 64, 106, 165, 177, 217] [9, 65, 107, 166, 178, 218] [10, 66, 108, 167, 179, 219] [11, 67, 109, 168, 180, 220] [12, 68, 110, 169, 181, 221] [13, 69, 111, 170, 182, 222] [14, 70, 112, 171, 183, 223] [15, 71, 113, 172, 184, 224] [16, 72, 114, 173, 185, 225] [17, 73, 115, 174, 186, 226] [18, 74, 116, 175, 187, 227] [19, 75, 117, 176, 188, 228] [20, 76, 118, 177, 189, 229] [21, 77, 119, 178, 190, 230] [22, 78, 120, 179, 191, 231] [23, 79, 121, 180, 192, 232] [24, 80, 122, 181, 193, 233] [25, 81, 123, 182, 194, 234] [26, 82, 124, 183, 195, 235] [27, 83, 125, 184, 196, 236] [28, 84, 126, 185, 197, 237] [0, 29, 85, 186, 198, 238] [1, 30, 86, 187, 199, 239] [2, 31, 87, 188, 200, 240] [3, 32, 88, 189, 201, 241] [4, 33, 89, 190, 202, 242]
Code ID 254-14-16 · download JSON · raw on GitHub