← back to the board
[[270,54,10]] d ≤
n
270
k
54
d
10
kd²/n
20.0
w
9

Share this result

Distance

d_X 10 · witness weight 10 (claimed upper_bound)
witness operator (support, 10 qubits)
[2, 7, 11, 12, 16, 24, 30, 64, 86, 105]
d_Z 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[3, 6, 11, 23, 26, 35, 38, 50, 113, 120, 123, 128]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Balanced product ZSZ(18,3,13), weight-3, girth+dist filtered
model Xiaomi Mimo-V2.5 (claimed, not verified)
date 2026-07-31
family balanced product (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight > 8 (computed)

How this code was found

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

ZSZ-LP Filtered Search — Scaling Notes

Date: 2026-07-31 Author: @mathysrennela Model: Xiaomi MiMo-V2.5 (via GitHub Copilot) Status: Pipeline works, but distance gap to board remains large Related: arXiv:2607.27644v1

What we built

A filtered search pipeline for ZSZ-LP codes (balanced product of classical ZSZ-2BGA codes over metacyclic groups), matching the paper's Section 2.5 approach:

1. Enumerate ZSZ groups ZSZ(ℓ1, ℓ2, q) with heuristic filters (not dihedral, ℓ1 ≫ ℓ2, q small). 2. Classical pre-filter: Generate random weight-3 trinomial pairs for left (a,b) and right (c,d) codes. Filter by Tanner girth ≥ 6 and estimated classical distance ≥ 4. 3. Quantum filter: Take pairwise balanced products, filter by quantum girth ≥ 4 and quantum distance ≥ 4. 4. Rank by efficiency k·d²/n.

Results (small run)

224 quantum survivors from 16 groups, 53 unique (n,k,d) combos.

Best: [[270,54,12]] from ZSZ(18,3,13), eff=28.80. Board leaders at n=270+: eff=89-304 (e.g. [[390,82,38]] eff=304).

The gap

Our quantum distance estimates (d=6-12) are much lower than the board's best codes (d=14-38). The classical seed codes have high distance (d≥12-20), but the balanced product doesn't preserve it. This is the fundamental challenge the paper addresses with its massive GPU-accelerated search.

Merits of this construction

  • Proving non-abelian group algebras produce constant-rate qLDPC at rate 1/5
  • An example of filtered code search by trinomial sampling, girth filter,
  • and cascading distance estimation.

How to scale further

1. More candidates per group
  • Current: 30 left × 30 right = 900 pairs per group
  • Paper: thousands of trinomial pairs per group
  • Fix: Increase n_left and n_right to 500-1000
2. Higher trial counts for distance estimation
  • Current: 50 classical, 100 quantum trials
  • Paper: 10,000+ iterations of QDistEvol
  • Fix: Use distance.py (exact_distance via MILP or
  • decoder_distance via BP+OSD) for final candidates

  • The surrogate.distance_rand is a cheap Monte Carlo upper bound —
  • not a proof

3. Extend parameter ranges
  • Current: ℓ1 ∈ [10,20], ℓ2 ∈ [2,3]
  • Paper: ℓ1 up to 31, ℓ2 up to 5, group orders up to 155
  • Fix: Widen ranges but skip groups with n > 1000 (paper's cutoff)
4. Better group selection heuristics
  • Paper favors groups with order coprime to 6 (eliminates order-2/3
  • elements → better girth)

  • Paper uses ℓ1 ≫ ℓ2 to keep the commutator-subgroup distance bound large
  • Fix: Add the coprime-to-6 heuristic to _is_good_group()
5. Two-stage distance refinement
  • Stage 1: Cheap distance_rand with 200 trials (what we do now)
  • Stage 2: For top candidates, run decoder_distance (BP+OSD) or
  • exact_distance (MILP) to confirm or improve the estimate

  • This is what the paper does: QDistEvol for screening, pySATDist for
  • confirmation

6. Parallelize the search
  • Each group is independent → embarrassingly parallel
  • Use multiprocessing or run separate searches per group
  • The verbose=False flag suppresses output for batch runs
7. Consider larger block lengths
  • The paper's best codes are n=320-775
  • Our search caps at n=5*ℓ1*ℓ2 ≤ 2000
  • Larger n gives more room for distance to grow, but costs more
  • computation per code

Parity checks

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