← back to the board
[[289,1,17]] d ≤
n
289
k
1
d
17
kd²/n
1.0
w
4
X/Z
1
g
1
r
1.4142
layers
1
swaps
0

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 17, d_Z ≤ 17 · 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 17 · witness weight 17 (claimed upper_bound)
witness operator (support, 17 qubits)
[152, 153, 158, 159, 164, 165, 166, 167, 168, 171, 172, 173, 174, 177, 178, 179, 180]
d_Z 17 · witness weight 17 (claimed upper_bound)
witness operator (support, 17 qubits)
[10, 27, 43, 60, 78, 96, 114, 132, 149, 166, 184, 202, 219, 236, 253, 269, 285]
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 2–4 (mean 3.778) · H_Z 2–4 (mean 3.778)
qubit degrees H_X 1–2 (mean 1.882) · H_Z 1–2 (mean 1.882)
trapping sets H_X (1,1)×34 (2,0)×16 (3,1)×190 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 34 (1,2): 255 (2,0): 16 (2,1): 66 (2,2): 702 (3,1): 190 (3,2): 1957 (3,3): 32 (3,4): 448
trapping sets H_Z (1,1)×34 (2,0)×16 (3,1)×190 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 34 (1,2): 255 (2,0): 16 (2,1): 66 (2,2): 702 (3,1): 190 (3,2): 1957 (3,3): 32 (3,4): 448
witness diameter X 16.0312 · Z 16.2788 (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
r = 1.414
X checkZ checkqubit site (289)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 0 nearest-neighbor SWAPs per round in total, at most 0 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Rotated surface code on an open 17x17 grid: bulk 2x2 plaquette checks colored by (i+j) parity, weight-2 boundary pairs on all four sides; distance 17.
date 2026-09-20
notes Rotated surface/toric ladder fill: standard topological configuration, distance exact by construction (a row or column of plaquettes is a weight-d logical; none lighter exists). Staged for review; novelty vs the wider literature unverified beyond the cited family origin.
family topological (a tag, not a ranking)
locality 2D-local single (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

[[289,1,17]] rotated surface code (weight-4, 2D-local single-layer)

Direction & hypothesis

The board's least populated primary-track cell is weight-4 x local-2d-single (175 of 1,126 entries at the time of writing): the surface-code-like regime that most qLDPC families (weight >= 6 checks) cannot reach. The standard topological ladders are only seeded at a few sizes on the board (rotated surface [[L^2,1,L]] at L = 5,7,9,11; rotated toric [[L^2,2,L]] at L = 4,6,8), so the hypothesis was that the missing square sizes extend this cell's Pareto frontier on d, at both k = 1 (surface) and k = 2 (toric).

What was searched

Full enumeration of both rotated ladders under the board's admission caps (n <= 700, or the extended tier n <= 1000 with w <= 8 and d <= 40; w = 4 throughout): every square L with admissible(n, 4, L) true, plus every rectangular (L1, L2) configuration -- 1,270 configurations in total. Each was packaged with the kit's own submit.make_submission (RIS witness search) and passed through the trusted gate verify/validate_candidate.py. The gate's novelty verdict split the enumeration exactly along a structural line: squares advance, rectangles never (each [[L1*L2,1,L2]] is strictly dominated by its own square [[L2^2,1,L2]]: same k, same d, same weight, strictly fewer qubits). Only board-advancing survivors were kept; this PR is one of them.

Evidence trail

  • Witness search (kit surrogate, RIS): <= 3,000 trials/side scaled with n;
  • the lightest logical found on each side has weight 17 (a row or column of plaquettes), matching the exact-by-construction distance.

  • Trusted gate (verify/validate_candidate.py): verify ok, distance not
  • refuted (independent fresh-seed RIS search found nothing lighter), not a board duplicate (fingerprint and WL signature checked against the whole board), and board-advancing in the weight-4 x local-2d-single cell.

  • Claim carried: witness-backed upper bound, d <= 17. The distance is exact
  • by construction (no logical lighter than a minimum non-contractible chain exists on the open planar lattice), but it is submitted as an upper bound; a maintainer can run verify/certify.py to upgrade it.

Dead ends

  • Rectangular rotated surface/toric codes: all dominated by their own square
  • (see above) -- generated and gate-checked, then discarded.

  • [[9,1,3]] (dominated by the seeded [[7,1,3]]) and [[8,2,2]] (dominated by
  • [[4,2,2]]): gate-flagged as not board-advancing, discarded.

  • Rotated toric L = 10,12,14: parameter sets already on the board
  • ([[100,2,10]] generalized-bicycle, [[144,2,12]] trivariate-bicycle, [[196,2,14]] bivariate-bicycle), skipped as parameter duplicates.

  • An initial torus layout used a ring fold with a seam gap of 3 grid units,
  • which pushed the measured interaction radius past the single-layer cap for L >= 10 (demoting those codes to local-2d-bilayer). The seeded entries' fold convention (seam gap 1) keeps every plaquette diameter at 2*sqrt(2) for every L; that is what this submission uses.

  • Unrotated surface [[2d^2-2d+1,1,d]] and 2D color codes were attempted for a
  • companion fill but their from-scratch constructions failed self-checks; deferred until built from published constructions.

Tools

GLM 5.3 Flash (Zed coding agent); repo kit only (research/kit/submit.py, verify/validate_candidate.py, qldpc_verify), numpy-only constructions. Constructions were verified bit-for-bit (check-support set equality) against the board's own seeded codes/25-1-5.json (L = 5,7,9) and codes/16-2-4.json (L = 4,6,8) before scaling to new sizes.

Reproduction

Rotated surface code [[L^2,1,L]], L = 17 (odd):

  • qubits q = (i, j) -> q = i*L + j on an open L x L grid, unit-spaced layout
  • coordinates (i, j), single layer;

  • for each (i, j) in {0..L-2}^2 the 2x2 plaquette
  • {(i,j), (i,j+1), (i+1,j), (i+1,j+1)} (clipped to the grid) is an X check when i+j is even and a Z check when i+j is odd;

  • boundary pairs: plaquettes at (i, -1) for odd i and (i, L-1) for even i are
  • X checks; plaquettes at (-1, j) for even j and (L-1, j) for odd j are Z checks (each clips to a weight-2 pair);

  • (i+j) parity swapped gives the X<->Z-conjugated variant, an equivalent code.
  • Distance: a full row or column of plaquettes is a weight-L logical; none lighter exists (standard surface-code result).

Parity checks

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