← back to the board
[[400,2,20]] d ≤
n
400
k
2
d
20
kd²/n
2.0
w
4
X/Z
1
g
0.125
r
2.8284
layers
1
swaps
1044

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 20, d_Z ≤ 20 · 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 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[280, 281, 302, 303, 304, 319, 325, 328, 329, 332, 333, 336, 337, 338, 346, 347, 350, 351, 354, 355]
d_Z 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[11, 30, 50, 71, 92, 113, 134, 155, 175, 194, 213, 232, 251, 271, 291, 310, 330, 351, 372, 392]
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)×400 (2,2)×1200 (3,2)×3600 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 400 (2,2): 1200 (3,2): 3600 (3,4): 800
trapping sets H_Z (1,2)×400 (2,2)×1200 (3,2)×3600 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 400 (2,2): 1200 (3,2): 3600 (3,4): 800
witness diameter X 19.9249 · Z 19.4165 (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 = 2.828
X checkZ checkqubit site (400)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 1044 nearest-neighbor SWAPs per round in total, at most 3 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 toric code on the periodic 20x20 lattice: all plaquette checks, (i+j) even -> X; distance 20 (cycle lengths).
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

[[400,2,20]] rotated toric 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 20 (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 <= 20. The distance is exact
  • by construction (no logical lighter than a minimum non-contractible chain exists on the torus), 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 toric code [[L^2,2,L]], L = 20 (even):

  • qubits q = (i, j) -> q = i*L + j on an L x L torus (periodic in both axes);
  • for each (i, j) in {0..L-1}^2 the periodic 2x2 plaquette
  • {(i,j), (i,j+1 mod L), (i+1 mod L, j), (i+1 mod L, j+1 mod L)} is an X check when i+j is even and a Z check when i+j is odd;

  • layout: ring fold per axis, i -> 2i for i < L/2 and i -> 2(L-i)-1 for
  • i >= L/2 (the seeded entries' convention; seam gap 1, so every plaquette has diameter 2*sqrt(2)), single layer. Distance: a non-contractible row or column of plaquettes is a weight-L logical; none lighter exists (cycle lengths of the torus).

Parity checks

X-checks 200 (max weight 4) · Z-checks 200 (max weight 4)
H_X (200 checks, sparse supports)
[0, 1, 20, 21] [2, 3, 22, 23] [4, 5, 24, 25] [6, 7, 26, 27] [8, 9, 28, 29] [10, 11, 30, 31] [12, 13, 32, 33] [14, 15, 34, 35] [16, 17, 36, 37] [18, 19, 38, 39] [21, 22, 41, 42] [23, 24, 43, 44] [25, 26, 45, 46] [27, 28, 47, 48] [29, 30, 49, 50] [31, 32, 51, 52] [33, 34, 53, 54] [35, 36, 55, 56] [37, 38, 57, 58] [20, 39, 40, 59] [40, 41, 60, 61] [42, 43, 62, 63] [44, 45, 64, 65] [46, 47, 66, 67] [48, 49, 68, 69] [50, 51, 70, 71] [52, 53, 72, 73] [54, 55, 74, 75] [56, 57, 76, 77] [58, 59, 78, 79] [61, 62, 81, 82] [63, 64, 83, 84] [65, 66, 85, 86] [67, 68, 87, 88] [69, 70, 89, 90] [71, 72, 91, 92] [73, 74, 93, 94] [75, 76, 95, 96] [77, 78, 97, 98] [60, 79, 80, 99] [80, 81, 100, 101] [82, 83, 102, 103] [84, 85, 104, 105] [86, 87, 106, 107] [88, 89, 108, 109] [90, 91, 110, 111] [92, 93, 112, 113] [94, 95, 114, 115] [96, 97, 116, 117] [98, 99, 118, 119] [101, 102, 121, 122] [103, 104, 123, 124] [105, 106, 125, 126] [107, 108, 127, 128] [109, 110, 129, 130] [111, 112, 131, 132] [113, 114, 133, 134] [115, 116, 135, 136] [117, 118, 137, 138] [100, 119, 120, 139] [120, 121, 140, 141] [122, 123, 142, 143] [124, 125, 144, 145] [126, 127, 146, 147] [128, 129, 148, 149] [130, 131, 150, 151] [132, 133, 152, 153] [134, 135, 154, 155] [136, 137, 156, 157] [138, 139, 158, 159] [141, 142, 161, 162] [143, 144, 163, 164] [145, 146, 165, 166] [147, 148, 167, 168] [149, 150, 169, 170] [151, 152, 171, 172] [153, 154, 173, 174] [155, 156, 175, 176] [157, 158, 177, 178] [140, 159, 160, 179] [160, 161, 180, 181] [162, 163, 182, 183] [164, 165, 184, 185] [166, 167, 186, 187] [168, 169, 188, 189] [170, 171, 190, 191] [172, 173, 192, 193] [174, 175, 194, 195] [176, 177, 196, 197] [178, 179, 198, 199] [181, 182, 201, 202] [183, 184, 203, 204] [185, 186, 205, 206] [187, 188, 207, 208] [189, 190, 209, 210] [191, 192, 211, 212] [193, 194, 213, 214] [195, 196, 215, 216] [197, 198, 217, 218] [180, 199, 200, 219] [200, 201, 220, 221] [202, 203, 222, 223] [204, 205, 224, 225] [206, 207, 226, 227] [208, 209, 228, 229] [210, 211, 230, 231] [212, 213, 232, 233] [214, 215, 234, 235] [216, 217, 236, 237] [218, 219, 238, 239] [221, 222, 241, 242] [223, 224, 243, 244] [225, 226, 245, 246] [227, 228, 247, 248] [229, 230, 249, 250] [231, 232, 251, 252] [233, 234, 253, 254] [235, 236, 255, 256] [237, 238, 257, 258] [220, 239, 240, 259] [240, 241, 260, 261] [242, 243, 262, 263] [244, 245, 264, 265] [246, 247, 266, 267] [248, 249, 268, 269] [250, 251, 270, 271] [252, 253, 272, 273] [254, 255, 274, 275] [256, 257, 276, 277] [258, 259, 278, 279] [261, 262, 281, 282] [263, 264, 283, 284] [265, 266, 285, 286] [267, 268, 287, 288] [269, 270, 289, 290] [271, 272, 291, 292] [273, 274, 293, 294] [275, 276, 295, 296] [277, 278, 297, 298] [260, 279, 280, 299] [280, 281, 300, 301] [282, 283, 302, 303] [284, 285, 304, 305] [286, 287, 306, 307] [288, 289, 308, 309] [290, 291, 310, 311] [292, 293, 312, 313] [294, 295, 314, 315] [296, 297, 316, 317] [298, 299, 318, 319] [301, 302, 321, 322] [303, 304, 323, 324] [305, 306, 325, 326] [307, 308, 327, 328] [309, 310, 329, 330] [311, 312, 331, 332] [313, 314, 333, 334] [315, 316, 335, 336] [317, 318, 337, 338] [300, 319, 320, 339] [320, 321, 340, 341] [322, 323, 342, 343] [324, 325, 344, 345] [326, 327, 346, 347] [328, 329, 348, 349] [330, 331, 350, 351] [332, 333, 352, 353] [334, 335, 354, 355] [336, 337, 356, 357] [338, 339, 358, 359] [341, 342, 361, 362] [343, 344, 363, 364] [345, 346, 365, 366] [347, 348, 367, 368] [349, 350, 369, 370] [351, 352, 371, 372] [353, 354, 373, 374] [355, 356, 375, 376] [357, 358, 377, 378] [340, 359, 360, 379] [360, 361, 380, 381] [362, 363, 382, 383] [364, 365, 384, 385] [366, 367, 386, 387] [368, 369, 388, 389] [370, 371, 390, 391] [372, 373, 392, 393] [374, 375, 394, 395] [376, 377, 396, 397] [378, 379, 398, 399] [1, 2, 381, 382] [3, 4, 383, 384] [5, 6, 385, 386] [7, 8, 387, 388] [9, 10, 389, 390] [11, 12, 391, 392] [13, 14, 393, 394] [15, 16, 395, 396] [17, 18, 397, 398] [0, 19, 380, 399]
H_Z (200 checks, sparse supports)
[1, 2, 21, 22] [3, 4, 23, 24] [5, 6, 25, 26] [7, 8, 27, 28] [9, 10, 29, 30] [11, 12, 31, 32] [13, 14, 33, 34] [15, 16, 35, 36] [17, 18, 37, 38] [0, 19, 20, 39] [20, 21, 40, 41] [22, 23, 42, 43] [24, 25, 44, 45] [26, 27, 46, 47] [28, 29, 48, 49] [30, 31, 50, 51] [32, 33, 52, 53] [34, 35, 54, 55] [36, 37, 56, 57] [38, 39, 58, 59] [41, 42, 61, 62] [43, 44, 63, 64] [45, 46, 65, 66] [47, 48, 67, 68] [49, 50, 69, 70] [51, 52, 71, 72] [53, 54, 73, 74] [55, 56, 75, 76] [57, 58, 77, 78] [40, 59, 60, 79] [60, 61, 80, 81] [62, 63, 82, 83] [64, 65, 84, 85] [66, 67, 86, 87] [68, 69, 88, 89] [70, 71, 90, 91] [72, 73, 92, 93] [74, 75, 94, 95] [76, 77, 96, 97] [78, 79, 98, 99] [81, 82, 101, 102] [83, 84, 103, 104] [85, 86, 105, 106] [87, 88, 107, 108] [89, 90, 109, 110] [91, 92, 111, 112] [93, 94, 113, 114] [95, 96, 115, 116] [97, 98, 117, 118] [80, 99, 100, 119] [100, 101, 120, 121] [102, 103, 122, 123] [104, 105, 124, 125] [106, 107, 126, 127] [108, 109, 128, 129] [110, 111, 130, 131] [112, 113, 132, 133] [114, 115, 134, 135] [116, 117, 136, 137] [118, 119, 138, 139] [121, 122, 141, 142] [123, 124, 143, 144] [125, 126, 145, 146] [127, 128, 147, 148] [129, 130, 149, 150] [131, 132, 151, 152] [133, 134, 153, 154] [135, 136, 155, 156] [137, 138, 157, 158] [120, 139, 140, 159] [140, 141, 160, 161] [142, 143, 162, 163] [144, 145, 164, 165] [146, 147, 166, 167] [148, 149, 168, 169] [150, 151, 170, 171] [152, 153, 172, 173] [154, 155, 174, 175] [156, 157, 176, 177] [158, 159, 178, 179] [161, 162, 181, 182] [163, 164, 183, 184] [165, 166, 185, 186] [167, 168, 187, 188] [169, 170, 189, 190] [171, 172, 191, 192] [173, 174, 193, 194] [175, 176, 195, 196] [177, 178, 197, 198] [160, 179, 180, 199] [180, 181, 200, 201] [182, 183, 202, 203] [184, 185, 204, 205] [186, 187, 206, 207] [188, 189, 208, 209] [190, 191, 210, 211] [192, 193, 212, 213] [194, 195, 214, 215] [196, 197, 216, 217] [198, 199, 218, 219] [201, 202, 221, 222] [203, 204, 223, 224] [205, 206, 225, 226] [207, 208, 227, 228] [209, 210, 229, 230] [211, 212, 231, 232] [213, 214, 233, 234] [215, 216, 235, 236] [217, 218, 237, 238] [200, 219, 220, 239] [220, 221, 240, 241] [222, 223, 242, 243] [224, 225, 244, 245] [226, 227, 246, 247] [228, 229, 248, 249] [230, 231, 250, 251] [232, 233, 252, 253] [234, 235, 254, 255] [236, 237, 256, 257] [238, 239, 258, 259] [241, 242, 261, 262] [243, 244, 263, 264] [245, 246, 265, 266] [247, 248, 267, 268] [249, 250, 269, 270] [251, 252, 271, 272] [253, 254, 273, 274] [255, 256, 275, 276] [257, 258, 277, 278] [240, 259, 260, 279] [260, 261, 280, 281] [262, 263, 282, 283] [264, 265, 284, 285] [266, 267, 286, 287] [268, 269, 288, 289] [270, 271, 290, 291] [272, 273, 292, 293] [274, 275, 294, 295] [276, 277, 296, 297] [278, 279, 298, 299] [281, 282, 301, 302] [283, 284, 303, 304] [285, 286, 305, 306] [287, 288, 307, 308] [289, 290, 309, 310] [291, 292, 311, 312] [293, 294, 313, 314] [295, 296, 315, 316] [297, 298, 317, 318] [280, 299, 300, 319] [300, 301, 320, 321] [302, 303, 322, 323] [304, 305, 324, 325] [306, 307, 326, 327] [308, 309, 328, 329] [310, 311, 330, 331] [312, 313, 332, 333] [314, 315, 334, 335] [316, 317, 336, 337] [318, 319, 338, 339] [321, 322, 341, 342] [323, 324, 343, 344] [325, 326, 345, 346] [327, 328, 347, 348] [329, 330, 349, 350] [331, 332, 351, 352] [333, 334, 353, 354] [335, 336, 355, 356] [337, 338, 357, 358] [320, 339, 340, 359] [340, 341, 360, 361] [342, 343, 362, 363] [344, 345, 364, 365] [346, 347, 366, 367] [348, 349, 368, 369] [350, 351, 370, 371] [352, 353, 372, 373] [354, 355, 374, 375] [356, 357, 376, 377] [358, 359, 378, 379] [361, 362, 381, 382] [363, 364, 383, 384] [365, 366, 385, 386] [367, 368, 387, 388] [369, 370, 389, 390] [371, 372, 391, 392] [373, 374, 393, 394] [375, 376, 395, 396] [377, 378, 397, 398] [360, 379, 380, 399] [0, 1, 380, 381] [2, 3, 382, 383] [4, 5, 384, 385] [6, 7, 386, 387] [8, 9, 388, 389] [10, 11, 390, 391] [12, 13, 392, 393] [14, 15, 394, 395] [16, 17, 396, 397] [18, 19, 398, 399]
Code ID 400-2-20 · download JSON · raw on GitHub