← back to the board
[[325,5,9]] d =
n
325
k
5
d
9
kd²/n
1.246
w
4
X/Z
1
g
1.25
r
1.4142
layers
1
swaps
0

Share this result

Distance

X/Z asymmetry 1 · d_X = 9, d_Z = 9 · 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 9 · witness weight 9 (claimed upper_bound)
witness operator (support, 9 qubits)
[280, 281, 282, 283, 286, 287, 288, 302, 303]
d_Z 9 · witness weight 9 (claimed upper_bound)
witness operator (support, 9 qubits)
[126, 155, 185, 215, 245, 268, 285, 302, 320]
certificate exact, d = 9 · CryptoMiniSat 5.14.7 SAT
X: no logical < 9 exists; Z: no logical < 9 exists

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.712) · H_Z 2–4 (mean 3.712)
qubit degrees H_X 1–2 (mean 1.828) · H_Z 1–2 (mean 1.828)
trapping sets H_X (1,1)×56 (2,0)×22 (3,0)×2 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 56 (1,2): 269 (2,0): 22 (2,1): 112 (2,2): 710 (3,0): 2 (3,1): 308 (3,2): 1909 (3,3): 62 (3,4): 440
trapping sets H_Z (1,1)×56 (2,0)×22 (3,0)×2 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 56 (1,2): 269 (2,0): 22 (2,1): 112 (2,2): 710 (3,0): 2 (3,1): 308 (3,2): 1909 (3,3): 62 (3,4): 440
witness diameter X 8.0 · Z 8.0623 (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 (325)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 Dense-packed surface code of arXiv:2511.06758 (Fujiu et al.), distance 9: five rotated surface-code patches fused via code deformation into one weight-4 patch, reconstructed from the authors' released stim simulation (five_dense_num site mask, data qubits at odd,odd sites, diagonal-neighbour stabilizers). Matches the board's [[101,5,5]] and [[197,5,7]] members of the same family.
builds on https://arxiv.org/abs/2511.06758
date 2026-08-13
notes Extends the dense-packed surface-code family to distance 9. At r=sqrt(2), rho=1, g = kd^2/n = 1.246. Not dominated by any board code in the weight-4 x local-2d-single cell.
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

[[325,5,9]] — dense-packed surface code, distance 9

Direction & hypothesis

Companion to the d = 5 and d = 7 dense-packed submissions ([[101,5,5]], [[197,5,7]]). Same construction family (arXiv:2511.06758, Fujiu et al., "Dense packing of the surface code") at distance 9. The paper evaluates dense packing at d = 5, 7, 9, 11 and finds the hook-avoiding dense patch matches or beats standalone at larger distance and lower physical error rate. This is the d = 9 member: five logical qubits, weight-4 checks, single-layer honest layout, nearest-neighbour tilted lattice (r = √2).

What was searched

Reconstruction identical to notes/101-5-5.md, with distance = 9 in research/build_dense_surface.py (the five_dense_num mask scales with d). n = 325 data qubits, k = 5, weight 4.

GF(2) sanity: CSS commutation exact, rank(H_X) = rank(H_Z) = 160, so k = 325 − 160 − 160 = 5.

Evidence trail

  • CLI RIS gate (2000 trials) finds no logical lighter than 9 on either side:
  • d ≤ 9 (X and Z), witnesses of weight 9 on both sides.

  • The paper's own logical operators at d = 9 have length 9, so this is a
  • genuine [[325,5,9]] witness-backed upper bound.

  • Not exhaustively certified here (consistent with the d = 7 member):
  • an exact d = 9 claim would need the repo's MILP certificate (verify/certify.py) or a deeper RIS refutation. Confidence: upper_bound.

Dead ends

Same k-counting / ancilla trap as the d = 5 instance (see notes/101-5-5.md); resolved by the verifier's data-qubit-only n rule. No density collapse at larger d: the shared-region structure persists and the n-savings vs standalone (5 × 81 = 405 data qubits) hold.

Tools

research/build_dense_surface.py (this repo) with argument 9; numpy GF(2) rref; ./qldpc submit (RIS witness search, schema, verifier, locality).

Reproduction

python research/build_dense_surface.py 9   # writes /tmp/dense_9.npz (hx, hz, coords)
./qldpc submit /tmp/dense_9.npz --coords /tmp/dense_9.npz --layers 1 \
  --authors @mathysrennela --family topological

Parity checks

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