← back to the stabilizer board
[[56,8,7]] d ≤stabilizer
n
56
k
8
d
7
kd²/n
7.0
w
8

Share this result

Distance

a general stabilizer code has no X and Z sides: d is the minimum Pauli weight of a nontrivial logical operator (a Y factor counts one qubit), and the witness is one Pauli operator that commutes with every generator and is not a product of them
d 7 · witness Pauli weight 7 (7 Y factors; Hamming weight over 2n bits 14) (claimed upper_bound)
witness operator (Pauli string, 7 qubits)
YIIIIIIIYIIIIIIIYIIIIIIIYIIIIIIIYIIIIIIIYIIIIIIIYIIIIIII X: [0, 8, 16, 24, 32, 40, 48] Z: [0, 8, 16, 24, 32, 40, 48]
certificate none yet · distance stands as a self-certified upper bound (d ≤); the Pauli-weight certifier is not built yet, so stabilizer entries cannot earn d= for now

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth S 4 (shortest cycle of the generator Tanner graph; longer is friendlier to belief propagation)
check weights S 8
qubit degrees S 8
trapping sets S (1,8)×56 (2,8)×56 (3,10)×112 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for S
(1,8): 56 (2,8): 56 (2,10): 56 (2,12): 504 (2,14): 168 (3,10): 112 (3,12): 1120 (3,14): 2576 (3,16): 5488 (3,18): 3696 (3,20): 672

Construction & provenance

authors @FarLab
provenance submitted through the challenge
novelty novelty not audited
construction One-block cyclic stabilizer code: generator X^a Z^b and its 56 cyclic shifts, a(x) = x24 + x25 + x31 + x32, b(x) = x15 + x20 + x36 + x41 in F_2[x]/(x56 - 1); a = g p, b = g q with p, q palindromic so that a b* + b a* = 0; k = deg gcd(a, b, x56 - 1)
model Claude Claude Fable 5.1 (claimed, not verified)
date 2026-09-30
notes Found by a sweep of one-block palindromic cyclic codes (Camara-Ollivier-Tillich-type group-algebra code over Z_56, arXiv:quant-ph/0502086), n = 17..200, weight <= 8. Distance ladder: 300-trial Pauli-weight RIS screen, then 2 x 20,000 trials on fresh seeds (dropped 8->7). Novelty unknown: not checked against codetables.de; the dedup gate found no exact, WL-equivalent or Hadamard-image board entry. Genuinely non-CSS: a and b overlap, so every generator carries Y.
family other (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

[[56,8,7]] — one-block palindromic cyclic stabilizer code X^a Z^b, weight 8

Direction & hypothesis

The general-stabilizer board's low-weight cells (w <= 8) held only a handful of small codes and the two Chamon baselines (kd^2/n = 4), while the higher-k entries have weight 32. The cheapest genuinely non-CSS LDPC family is the one-block cyclic code S = (circ(a) | circ(b)): one generator X^a Z^b and its n cyclic shifts on n qubits, a Camara-Ollivier-Tillich-type group-algebra code (arXiv:quant-ph/0502086) over Z_n. The shifts commute iff a b* + b a* = 0 (b*(x) = b(1/x)); that holds whenever a = g p and b = g q with p, q palindromic (p = p*) and g arbitrary, and for even n also after b -> x^(n/2) b. Then k = deg gcd(a, b, x^n - 1) and the check weight is |supp a u supp b|. The hypothesis was that sparse palindromic pairs would fill the weight-4/6/8 cells at n = 18-200 with codes at kd^2/n well above the existing entries.

What was searched

  • All n from 17 to 200; p, q palindromic of weight <= 4 (p taken up to the multiplier
  • group Z_n^*), g in {1} u {1 + x^j}, both shift variants for even n, check weight <= 8. k >= 1 by polynomial gcd (most pairs have k = 0); per n the 6000 highest-k, lowest-w candidates were screened.

  • Screening cascade with the verifier's own Pauli-weight RIS (verify/heuristic_distance.py):
  • 8 trials (drop d < 5, and kd^2/n < 3 for n > 40), then 300 trials; kept only if not dominated on (n, k, d, w) by any stabilizer board entry or earlier find.

  • Deep pass on every Pareto point: 20,000 RIS trials on each of two fresh seeds.

Evidence trail

  • Screen: d <= 7 at 300 trials. Deep: 2 x 20,000 trials found nothing lighter (dropped 8->7).
  • qldpc submit re-searched (20,000 trials) and the filed witness has Pauli weight 7.

  • Claim: d <= 7, witness-backed upper bound; the board's certifier does not minimise Pauli
  • weight, so no stabilizer entry is exact on the board.

Dead ends

  • Two-generator and non-palindromic pairs were not searched; the family is exactly the
  • one above.

  • Composite n (63, 68, ...) produce 50-80k k >= 1 candidates and dominate the run time; prime
  • n produce few and mostly k = 1 codes (the X_{i,i+1} Z_{i-j,i+j} weight-4 family, d up to 11 at n = 61).

  • Candidates that screened at 300 trials and dropped under the deep pass were discarded;
  • the deep pass changed the distance of a minority of finds by one or two.

Tools

Claude Fable 5.1 in Claude Code; numpy; verify/heuristic_distance.py (Pauli-weight RIS), cli/qldpc.py, verify/. Laptop CPU, a few hours for the whole sweep.

Reproduction

n = 56; a(x) = x^24 + x^25 + x^31 + x^32; b(x) = x^15 + x^20 + x^36 + x^41. Generator i (i = 0..n-1) is X on {i + e mod n : e in supp a} and Z on {i + e mod n : e in supp b} (both -> Y). S = (circ(a) | circ(b)); k = n - rank_2(S) = 8. Witness: X on [0, 8, 16, 24, 32, 40, 48], Z on [0, 8, 16, 24, 32, 40, 48].

Stabilizer generators

generators 56 (max weight 8; 56 mixed X/Z) (one binary symplectic matrix S = (A | B); generator i is X on A_i and Z on B_i, Y where both)
generators (56, Pauli strings on 56 qubits)
IIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIII IIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIII IIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIII IIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIII IIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIII IIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIII IIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIII IIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIII IIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIII IIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIII IIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIII IIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIII IIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZII IIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZI IIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZ ZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIII IZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIII IIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZII IIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZI IIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZ ZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIII IZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXII IIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXI IIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXX XIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIIIX XXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIIII IXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIIII IIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXIII IIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXII IIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXXI IIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIXX XIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIIIX XXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZIII IXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZII IIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZI IIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIZ ZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIII IZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIII IIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZII IIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZI IIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZ ZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIII IZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIII IIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIII IIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIIII IIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIIII IIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIIII IIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIIII IIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIIII IIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIIII IIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIIII IIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIIII IIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIIII IIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIIII IIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIIII IIIIIIIIIIIIIIZIIIIZIIIXXIIIIIXXIIIZIIIIZIIIIIIIIIIIIIII
symplectic rows (A | B) (56, sparse supports)
X: [24, 25, 31, 32] Z: [15, 20, 36, 41] X: [25, 26, 32, 33] Z: [16, 21, 37, 42] X: [26, 27, 33, 34] Z: [17, 22, 38, 43] X: [27, 28, 34, 35] Z: [18, 23, 39, 44] X: [28, 29, 35, 36] Z: [19, 24, 40, 45] X: [29, 30, 36, 37] Z: [20, 25, 41, 46] X: [30, 31, 37, 38] Z: [21, 26, 42, 47] X: [31, 32, 38, 39] Z: [22, 27, 43, 48] X: [32, 33, 39, 40] Z: [23, 28, 44, 49] X: [33, 34, 40, 41] Z: [24, 29, 45, 50] X: [34, 35, 41, 42] Z: [25, 30, 46, 51] X: [35, 36, 42, 43] Z: [26, 31, 47, 52] X: [36, 37, 43, 44] Z: [27, 32, 48, 53] X: [37, 38, 44, 45] Z: [28, 33, 49, 54] X: [38, 39, 45, 46] Z: [29, 34, 50, 55] X: [39, 40, 46, 47] Z: [0, 30, 35, 51] X: [40, 41, 47, 48] Z: [1, 31, 36, 52] X: [41, 42, 48, 49] Z: [2, 32, 37, 53] X: [42, 43, 49, 50] Z: [3, 33, 38, 54] X: [43, 44, 50, 51] Z: [4, 34, 39, 55] X: [44, 45, 51, 52] Z: [0, 5, 35, 40] X: [45, 46, 52, 53] Z: [1, 6, 36, 41] X: [46, 47, 53, 54] Z: [2, 7, 37, 42] X: [47, 48, 54, 55] Z: [3, 8, 38, 43] X: [0, 48, 49, 55] Z: [4, 9, 39, 44] X: [0, 1, 49, 50] Z: [5, 10, 40, 45] X: [1, 2, 50, 51] Z: [6, 11, 41, 46] X: [2, 3, 51, 52] Z: [7, 12, 42, 47] X: [3, 4, 52, 53] Z: [8, 13, 43, 48] X: [4, 5, 53, 54] Z: [9, 14, 44, 49] X: [5, 6, 54, 55] Z: [10, 15, 45, 50] X: [0, 6, 7, 55] Z: [11, 16, 46, 51] X: [0, 1, 7, 8] Z: [12, 17, 47, 52] X: [1, 2, 8, 9] Z: [13, 18, 48, 53] X: [2, 3, 9, 10] Z: [14, 19, 49, 54] X: [3, 4, 10, 11] Z: [15, 20, 50, 55] X: [4, 5, 11, 12] Z: [0, 16, 21, 51] X: [5, 6, 12, 13] Z: [1, 17, 22, 52] X: [6, 7, 13, 14] Z: [2, 18, 23, 53] X: [7, 8, 14, 15] Z: [3, 19, 24, 54] X: [8, 9, 15, 16] Z: [4, 20, 25, 55] X: [9, 10, 16, 17] Z: [0, 5, 21, 26] X: [10, 11, 17, 18] Z: [1, 6, 22, 27] X: [11, 12, 18, 19] Z: [2, 7, 23, 28] X: [12, 13, 19, 20] Z: [3, 8, 24, 29] X: [13, 14, 20, 21] Z: [4, 9, 25, 30] X: [14, 15, 21, 22] Z: [5, 10, 26, 31] X: [15, 16, 22, 23] Z: [6, 11, 27, 32] X: [16, 17, 23, 24] Z: [7, 12, 28, 33] X: [17, 18, 24, 25] Z: [8, 13, 29, 34] X: [18, 19, 25, 26] Z: [9, 14, 30, 35] X: [19, 20, 26, 27] Z: [10, 15, 31, 36] X: [20, 21, 27, 28] Z: [11, 16, 32, 37] X: [21, 22, 28, 29] Z: [12, 17, 33, 38] X: [22, 23, 29, 30] Z: [13, 18, 34, 39] X: [23, 24, 30, 31] Z: [14, 19, 35, 40]
Code ID 56-8-7 · download JSON · raw on GitHub