← back to the board
[[394,2,30]] d ≤
n
394
k
2
d
30
kd²/n
4.569
w
6
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 30, d_Z ≤ 30 · 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 30 · witness weight 30 (claimed exact)
witness operator (support, 30 qubits)
[10, 44, 64, 68, 81, 98, 102, 126, 139, 150, 153, 156, 177, 187, 190, 232, 233, 234, 235, 245, 296, 318, 319, 345, 346, 347, 354, 368, 369, 370]
d_Z 30 · witness weight 30 (claimed exact)
witness operator (support, 30 qubits)
[7, 25, 26, 27, 55, 56, 57, 62, 63, 64, 65, 66, 67, 117, 150, 166, 177, 178, 179, 205, 235, 255, 272, 285, 309, 314, 331, 344, 347, 368]
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 2–4 (mean 3.0) · H_Z 2–4 (mean 3.0)
trapping sets H_X (1,2)×197 (2,2)×197 (3,2)×197 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 197 (1,4): 197 (2,2): 197 (2,4): 1576 (2,6): 1182 (3,2): 197 (3,4): 6304 (3,6): 18912 (3,8): 10638 (3,10): 788
trapping sets H_Z (1,2)×197 (2,2)×197 (3,2)×197 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 197 (1,4): 197 (2,2): 197 (2,4): 1576 (2,6): 1182 (3,2): 197 (3,4): 6304 (3,6): 18912 (3,8): 10638 (3,10): 788

Construction & provenance

authors @seunomonije
provenance submitted through the challenge
novelty novelty not audited
construction Generalized bicycle on the circulant ring Z_197: H_X = [B^T | A^T], H_Z = [A | B] with A = circ(a), B = circ(b), a = [0, 17, 30, 54], b = [0, 1]. Found by search over GB polynomial supports; distance proven exact by exhaustive DFS refutation (EMPTY at W = 29, 221,881,674,422 nodes).
model exhaustive verification (exhaustive-qec verifier 0.1.0) (claimed, not verified)
date 2026-08-14
notes Distance certified exhaustively, not estimated. Full method, evidence and a re-runnable notebook: https://github.com/qernelkit/verifiable-qec-experiments/blob/main/experiments/qldpc_challenge/qldpc_challenge.ipynb
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

[[394,2,30]] — generalized bicycle on Z_197, distance certified by exhaustive search

Direction & hypothesis

The unrestricted weight-6 cell thins out badly at high distance: the board's best distance at this blocklength and check weight is 28. Generalized bicycle codes at low k buy distance cheaply, and the open question was never *finding* a candidate with a large ISD estimate — it was being able to stand behind the number. This submission targets that gap: a deep-distance entry whose distance is proven rather than estimated.

What was searched

Generalized bicycle codes over the circulant ring Z_ell, parameterised by the two polynomial supports (a, b). Candidates were enumerated over supports at each ell, screened with an information-set-decoding style minimum-weight search, and only then handed to exhaustive certification. This code is the ell = 197 entry of that campaign.

Evidence trail

Two independent halves, both re-checkable:

  • Upper bound. A nontrivial logical of weight 30 on each side, found by
  • QDistRndMW ISD at 200,000 trials and re-verified before use: in ker(H), outside the stabilizer rowspace, weight exactly 30. Both witnesses are in this file's distance block.

  • Lower bound. Exhaustive canonical DFS over every support of weight
  • <= 29, which found no nontrivial logical: EMPTY at W = 29, 221,881,674,422 nodes, checksum xor64:f4ff0c32186d3a7c, assembled from 256 root-disjoint slices (sum nodes, XOR checksums), about 16 GPU-hours.

No logical below weight 30 exists and one of weight 30 does, so d = 30 exactly.

One sector's exhaustion suffices here, and that is a proof rather than a convention: the qubit permutation pi(j) = (-j mod ell) with the two circulant blocks exchanged maps rowspace(H_X) onto rowspace(H_Z) and back, so the code is isomorphic to its own sector swap and d_X = d_Z. The permutation is three lines to re-derive and is checked in the notebook linked below.

Claim stated precisely: d = 30, exact, on both sectors. The board displays an exact claim as an upper bound until a maintainer certifies it, which is the correct default; the evidence above is what a certifier would be re-running.

Dead ends

The honest limit of this approach is cost, and it is steep: exhaustion cost grows like beta^W, and beta is set by check weight rather than blocklength. At weight 6 that put this code at 16 GPU-hours, and the same method is already out of reach for the high-check-weight entries at the top of the board — a weight-28 code measured beta >= 11 and still rising, which prices its refutation far past any hardware. Deep distance is reachable here *because* the checks are light.

Tools

Exhaustive certification engine (matrix-free, check-driven DFS; CUDA and a dependency-free CPU engine with identical semantics), ISD witness search via QDistRndMW. No AI model produced this code — the provenance.model field records the verification method, since the search and the proof are both exhaustive rather than learned.

Reproduction

H_X = [B^T | A^T], H_Z = [A | B] over Z_197, with A = circ(a), B = circ(b), a = [0, 17, 30, 54], b = [0, 1].

Method, evidence and a notebook that rebuilds this code from those supports, re-derives (n, k) over GF(2), re-verifies both witnesses and replays the exhaustion record:

https://github.com/qernelkit/verifiable-qec-experiments/blob/main/experiments/qldpc_challenge/qldpc_challenge.ipynb

Parity checks

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