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

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 8 · witness Pauli weight 8 (claimed upper_bound)
witness operator (Pauli string, 8 qubits)
IIIIIIIXIIIIIXXIIIIIIXIIIIIIIXIIIIIXIIIIIIIIIXIXIIIIIIII X: [7, 13, 14, 21, 29, 35, 45, 47] Z: []
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 10–16 (mean 10.3)
qubit degrees S 5–9 (mean 7.357)
trapping sets S (1,5)×4 (2,5)×2 (3,6)×14 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for S
(1,5): 4 (1,6): 7 (1,7): 18 (1,8): 19 (1,9): 8 (2,5): 2 (2,6): 8 (2,7): 20 (2,8): 65 (2,9): 87 (2,10): 158 (2,11): 197 (2,12): 250 (2,13): 209 (2,14): 100 (2,15): 30 (2,16): 1 (3,6): 14 (3,7): 47 (3,8): 127 (3,9): 301 (3,10): 659 (3,11): 1256 (3,12): 1887 (3,13): 2674 (3,14): 3495 (3,15): 3588 (3,16): 3145 (3,17): 2612 (3,18): 1641 (3,19): 755 (3,20): 280 (3,21): 68 (3,22): 5 (3,23): 1

Construction & provenance

authors @hirobumii
provenance submitted through the challenge
novelty novelty not audited
construction Rank40 codimension-two subgroup of the literal FarLab public [[56,14,8]] 2BGA stabilizer. Selected cross-sector coefficient pairs (14,20) and (15,15) are identified, followed by a literal same-group basis exchange. Exact general-Pauli distance and global w16/M40/I412 follow from fresh source-direct enumerations. D9 is attained only. Sparse resource study; no literature-wide novelty claim.
model GPT-6 Astra + GPT-6.1 Sol (recorded multi-agent configuration) (claimed, not verified)
builds on H.-K. Lin and L. P. Pryadko, Quantum two-block group algebra codes, arXiv:2306.16400. https://arxiv.org/abs/2306.16400, https://github.com/unitaryfoundation/qldpc-challenge/blob/d8208c8da17e7db2285bacb62f99db9cd4863234/codes/56-14-8.json, A. M. Steane, Enlargement of Calderbank Shor Steane quantum codes, arXiv:quant-ph/9802061v2.
date 2026-10-18
notes Displayed presentation: maximum check weight 16, maximum qubit degree 9, 40 checks and total incidence 412.
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,16,8]] - general stabilizer subgroup code

Direction & hypothesis

Study the dimension–distance tradeoff obtained by selecting stabilizer subgroups and changing sparse presentations.

What was searched

Rank40 codimension-two subgroup of the literal FarLab public [[56,14,8]] 2BGA stabilizer. Selected cross-sector coefficient pairs (14,20) and (15,15) are identified, followed by a literal same-group basis exchange.

The displayed presentation has maximum check weight 16, maximum qubit degree 9, 40 checks and total incidence 412.

Evidence trail

The JSON contains weight-8 logical witnesses. Distance confidence: P: upper_bound.

Tools

Recorded workflow configuration: GPT-6 Astra + GPT-6.1 Sol. Official tooling: verify/qldpc_verify.py.

Reproduction

Read codes/56-16-8.json. For each checks.S row, set A[q]=1 for q in X and B[q]=1 for q in Z, using 56 columns in each half. Form S=(A|B); a column present in both halves carries Y. Preserve row and qubit order.

Coefficient annihilator: ["2199023271936","68719509504"].

Original parent rows: {"X":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,20,21,24],"Z":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,20,22,24]}.

Selected parent coefficient masks: ["1","2","4","8","16","32","64","128","256","512","1024","2048","4096","8192","65536","131072","262144","524288","1048576","2097152","4194304","8388608","16777216","33554432","67108864","134217728","268435456","536870912","1073741824","2147483648","4294967296","8589934592","17179869184","34359738368","137438953472","274877906944","549755813888","1099511627776","2199023271936","489592950783"].

Merged parent basis indices: [[14,20],[15,15]].

Coefficient masks use the selected X parent rows first, then selected Z parent rows; bit 21 starts the Z sector. Sum selected supports over GF(2).

Public source: 56-14-8, contributed by @FarLab.

Construction references:

  • H.-K. Lin and L. P. Pryadko, Quantum two-block group algebra codes, arXiv:2306.16400. https://arxiv.org/abs/2306.16400
  • A. M. Steane, Enlargement of Calderbank Shor Steane quantum codes, arXiv:quant-ph/9802061v2.

Local validation: the official verify/validate_candidate.py passed, including independent-seed distance refutation.

Stabilizer generators

generators 40 (max weight 16; 2 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 (40, Pauli strings on 56 qubits)
XIIIIIIIIIIIIIXIIIIIIIXIIIIXXIXIIIXIIIIIIIIXIIXIXIIIIIII IXIIIIIIIIIIIIIXIIIIIIIXIIXIIXIXIIIXIIIIIIXIIIIXIXIIIIII IIXIIIIIIIIIXIIIIIIIXIIIIXIIXIXIXIIIIIIIIXIIXIIIIIXIIIII IIIXIIIIIIIIIXIIIIIIIXIIXIIIIXIXIXIIIIIIXIIIIXIIIIIXIIII IIIXXIIIIIIIIIIIIIXIIIIIIIXIIIIIXIXIIIXIIIIIIIIXIIXIXIII IIXIIXIIIIIIIIIIIIIXIIIIIIIXIIIIIXIXIIIXIIIIIIXIIIIXIXII IXIIIIXIIIIIIIIIXIIIIIIIXIIIIIIIXIXIXIIIIIIIIXIIXIIIIIXI XIIIIIIXIIIIIIIIIXIIIIIIIXIIIIIIIXIXIXIIIIIIXIIIIXIIIIIX IIXIIIIXXIIIIIIIIIIIIIXIIIIIXIIIIIIIXIXIIIXIIIIIIIIXIIXI IIIXIIXIIXIIIIIIIIIIIIIXIIIIIXIIIIIIIXIXIIIXIIIIIIXIIIIX XIIIIXIIIIXIIIIIIIIIXIIIIIIIIIXIIIIIXIXIXIIIIIIIIXIIXIII IXIIXIIIIIIXIIIIIIIIIXIIIIIIIIIXIIIIIXIXIXIIIIIIXIIIIXII IIIIIIXIIIIXXIIIIIIIIIIIIIXIIIXIXIIIIIIIXIXIIIXIIIIIIIIX IIIIIIIXIIXIIXIIIIIIIIIIIIIXIIIXIXIIIIIIIXIXIIIXIIIIIIXI IIIXIIIIIIIXIIXIIXIIIIIIIIIIIIXIIIIXIXIIIIIIIXIXIIIXIIII XIIIIIIIXIIIIXIIIIXIIIIIIIIIIXIIXIIIIIXIIIIIXIXIXIIIIIII IIIIIIXIIIIIIIXIIIIXXIIIIIIIIIIIIIIXIIXIXIIIIIIIXIXIIIXI IIIIIIIXIIIIIIIXIIXIIXIIIIIIIIIIIIXIIIIXIXIIIIIIIXIXIIIX IIIIIIIIIIXIIIIIIIXIIIIXXIIIIIXIIIIIIIIXIIXIXIIIIIIIXIXI ZIZIIIIIZIIIIIZIIIIZIIIIIIZIZIIIIIIZIIZIIIIIIIZIIIIIIIII IZIZIIIIIZIIIIIZIIZIIIIIIIIZIZIIIIZIIIIZIIIIIIIZIIIIIIII ZIZIIIIIIIZIZIIIIZIIIIIIZIIIIIZIIZIIZIIIIIIIZIIIIIIIIIII IZIZIIIIIIIZIZIIZIIIIIIIIZIIIIIZZIIIIZIIIIIIIZIIIIIIIIII IIZIZIZIIIIIZIIIIIZIIIIZIIIIIIIIZIIIIIIZIIZIIIIIIIZIIIII IIIZIZIZIIIIIZIIIIIZIIZIIIIIIIIIIZIIIIZIIIIZIIIIIIIZIIII ZIIIZIZIIIIIIIZIZIIIIZIIIIIIIIIIIIZIIZIIZIIIIIIIZIIIIIII IZIIIZIZIIIIIIIZIZIIZIIIIIIIIIIIIIIZZIIIIZIIIIIIIZIIIIII IIIIIIZIZIZIIIIIZIIIIIZIIIIZIIIIIIIIZIIIIIIZIIZIIIIIIIZI IIIIIIIZIZIZIIIIIZIIIIIZIIZIIIIIIIIIIZIIIIZIIIIZIIIIIIIZ IIIIZIIIZIZIIIIIIIZIZIIIIZIIIIIIIIIIIIZIIZIIZIIIIIIIZIII IIIIIZIIIZIZIIIIIIIZIZIIZIIIIIIIIIIIIIIZZIIIIZIIIIIIIZII IIIZIIIIIIZIZIZIIIIIZIIIIIZIIIZIIIIIIIIIZIIIIIIZIIZIIIII IIZIIIIIIIIZIZIZIIIIIZIIIIIZIIIZIIIIIIIIIZIIIIZIIIIZIIII IZIIIIIIZIIIZIZIIIIIIIZIZIIIZIIIIIIIIIIIIIZIIZIIZIIIIIII IIIZIIZIIIIIIIIZIZIZIIIIIZIIIIIIIIIZIIIIIIIIIZIIIIZIIIIZ ZIIIIZIIIIIIZIIIZIZIIIIIIIZIIIIIZIIIIIIIIIIIIIZIIZIIZIII ZIIIIIZIIIIZIIIIIIZIZIZIIIIIIIZIIIIIIIZIIIIIIIIIZIIIIIIZ IIZIZIIIIZIIIIIIZIIIZIZIIIIIZIIIIIIIZIIIIIIIIIIIIIZIIZII IIIIYIIIIXZIIIXZIIIIIIZIYIZIXIIZIIYIIIIIXIYIXIIIIIIIZXII IYIIZIIIIXIIXZIIIZIYIIIIIIIZXIIIIYIIIIIXIIIIIXIYZXIIIZII
symplectic rows (A | B) (40, sparse supports)
X: [0, 14, 22, 27, 28, 30, 34, 43, 46, 48] Z: [] X: [1, 15, 23, 26, 29, 31, 35, 42, 47, 49] Z: [] X: [2, 12, 20, 25, 28, 30, 32, 41, 44, 50] Z: [] X: [3, 13, 21, 24, 29, 31, 33, 40, 45, 51] Z: [] X: [3, 4, 18, 26, 32, 34, 38, 47, 50, 52] Z: [] X: [2, 5, 19, 27, 33, 35, 39, 46, 51, 53] Z: [] X: [1, 6, 16, 24, 32, 34, 36, 45, 48, 54] Z: [] X: [0, 7, 17, 25, 33, 35, 37, 44, 49, 55] Z: [] X: [2, 7, 8, 22, 28, 36, 38, 42, 51, 54] Z: [] X: [3, 6, 9, 23, 29, 37, 39, 43, 50, 55] Z: [] X: [0, 5, 10, 20, 30, 36, 38, 40, 49, 52] Z: [] X: [1, 4, 11, 21, 31, 37, 39, 41, 48, 53] Z: [] X: [6, 11, 12, 26, 30, 32, 40, 42, 46, 55] Z: [] X: [7, 10, 13, 27, 31, 33, 41, 43, 47, 54] Z: [] X: [3, 11, 14, 17, 30, 35, 37, 45, 47, 51] Z: [] X: [0, 8, 13, 18, 29, 32, 38, 44, 46, 48] Z: [] X: [6, 14, 19, 20, 35, 38, 40, 48, 50, 54] Z: [] X: [7, 15, 18, 21, 34, 39, 41, 49, 51, 55] Z: [] X: [10, 18, 23, 24, 30, 39, 42, 44, 52, 54] Z: [] X: [] Z: [0, 2, 8, 14, 19, 26, 28, 35, 38, 46] X: [] Z: [1, 3, 9, 15, 18, 27, 29, 34, 39, 47] X: [] Z: [0, 2, 10, 12, 17, 24, 30, 33, 36, 44] X: [] Z: [1, 3, 11, 13, 16, 25, 31, 32, 37, 45] X: [] Z: [2, 4, 6, 12, 18, 23, 32, 39, 42, 50] X: [] Z: [3, 5, 7, 13, 19, 22, 33, 38, 43, 51] X: [] Z: [0, 4, 6, 14, 16, 21, 34, 37, 40, 48] X: [] Z: [1, 5, 7, 15, 17, 20, 35, 36, 41, 49] X: [] Z: [6, 8, 10, 16, 22, 27, 36, 43, 46, 54] X: [] Z: [7, 9, 11, 17, 23, 26, 37, 42, 47, 55] X: [] Z: [4, 8, 10, 18, 20, 25, 38, 41, 44, 52] X: [] Z: [5, 9, 11, 19, 21, 24, 39, 40, 45, 53] X: [] Z: [3, 10, 12, 14, 20, 26, 30, 40, 47, 50] X: [] Z: [2, 11, 13, 15, 21, 27, 31, 41, 46, 51] X: [] Z: [1, 8, 12, 14, 22, 24, 28, 42, 45, 48] X: [] Z: [3, 6, 15, 17, 19, 25, 35, 45, 50, 55] X: [] Z: [0, 5, 12, 16, 18, 26, 32, 46, 49, 52] X: [] Z: [0, 6, 11, 18, 20, 22, 30, 38, 48, 55] X: [] Z: [2, 4, 9, 16, 20, 22, 28, 36, 50, 53] X: [4, 9, 14, 24, 28, 34, 40, 42, 44, 53] Z: [4, 10, 15, 22, 24, 26, 31, 34, 42, 52] X: [1, 9, 12, 19, 28, 33, 39, 45, 47, 49] Z: [1, 4, 13, 17, 19, 27, 33, 47, 48, 53]
Code ID 56-16-8 · download JSON · raw on GitHub