← back to the stabilizer board
[[12,3,3]] d ≤stabilizer
n
12
k
3
d
3
kd²/n
2.25
w
4

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 3 · witness Pauli weight 3 (1 Y factor; Hamming weight over 2n bits 4) (claimed upper_bound)
witness operator (Pauli string, 3 qubits)
YXZIIIIIIIII X: [0, 1] Z: [0, 2]
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 4
qubit degrees S 2–4 (mean 3.0)
trapping sets S (1,2)×2 (2,2)×9 (3,1)×2 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for S
(1,2): 2 (1,3): 8 (1,4): 2 (2,2): 9 (2,3): 14 (2,4): 9 (2,5): 6 (2,6): 1 (3,1): 2 (3,2): 10 (3,3): 26 (3,4): 60 (3,5): 24 (3,6): 8 (3,7): 2

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Non-CSS stabilizer code with 9 independent generators of weight <= 4 on 12 qubits, found by a SAT search (kissat) over all such generator sets in which every pair of generators commutes and the 36 single-qubit Paulis have distinct nonzero syndromes (so every Pauli of weight 1 or 2 is detected and d >= 3). Generators: YZXIXIIIIIII, YIIIIIIIXYIX, IXIIZIZXIIII, XYIIIIIYIIIY, IIZYZIIIIYII, IIIIIZXYIIZI, IIIZXXYIIIII, IIIIIXIIZIYY, IIIXIZIIYXII. k = 12 - 9 = 3. Not CSS under any single-qubit Clifford.
model Claude Claude Opus 5.5 (Claude Code) (claimed, not verified)
builds on arXiv:2601.19848, arXiv:2501.17447, arXiv:2601.15446 (literature check; see the note)
date 2026-10-13
notes Distance: an exhaustive enumeration of every Pauli operator of weight 1 and 2 finds no nontrivial logical and no stabilizer element, and weight-3 logicals exist (36 of them, among them the stored witness), so d = 3 exactly for these generators; filed as an upper bound because the board's Pauli-weight certifier is not available yet. Not CSS under any single-qubit Clifford: checked by the verifier on the generators and, by two separate tests, on the whole stabilizer group. Same kd^2/n (2.25) as the published weight-4 [[8,2,3]] code of Cross and Vandeth (arXiv:2501.17447; on the board as the literature baseline codes/8-2-3.json), with one more logical qubit. Wei, Han, He, Li and Liu (arXiv:2601.19848, Table 2) list the lowest generator weight of a [[12,3,3]] stabilizer code as 4-5; these generators have weight 4. Literature novelty is not claimed.
family other (a tag, not a ranking)
locality unrestricted (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

[[12,3,3]] — weight-4 non-CSS stabilizer code

Direction & hypothesis

Among the general-stabilizer board's submissions with generator weight <= 4, the best kd^2/n was 1.999 when this entry was prepared (codes/761-1-39.json, @mrvee-qC-bee); the literature baseline codes/8-2-3.json (Cross and Vandeth) reaches 2.25. Weight <= 4 is the leaderboard's weight slider, not a separate track. Wei, Han, He, Li and Liu (arXiv:2601.19848) tabulate the lowest possible generator weight of small stabilizer codes; their Table 1 lists a weight-4 [[8,2,3]] code of Cross and Vandeth (arXiv:2501.17447), at kd^2/n = 2.25, and their Table 2 lists the lowest weight for [[12,3,3]] as 4-5. The hypothesis: a direct SAT search over weight-4 generator sets on 12 qubits decides whether weight 4 is enough for [[12,3,3]], which would give kd^2/n = 2.25 with k = 3.

Also builds on: the small-code weight tables of Wei, Han, He, Li and Liu (arXiv:2601.19848) and the weight-4 [[8,2,3]] code of Cross and Vandeth (arXiv:2501.17447).

Board precedents: the Cross and Vandeth [[8,2,3]] is on the board as a literature baseline (codes/8-2-3.json), with the same kd^2/n = 2.25; this entry has one more logical qubit and is not dominated by it. Weight-4 non-CSS stabilizer codes are already on the board from @mrvee-qC-bee (codes/761-1-39.json), @FarLab (codes/25-1-7.json) and @MathysRennela (codes/14-3-3.json, codes/13-1-5.json). SAT-based discovery of small codes is already on the board from @MathysRennela. The board's codes/12-3-3.json (@vprusso) is a different, CSS code with generators of weight up to 6; this one is non-CSS, hence the -s slug, as in @FarLab's codes/18-2-5-s.json.

Our contribution: the SAT search that found these generators, and the exact distance and non-CSS checks below.

Frontier: Dominates codes/14-3-3.json ([[14,3,3]], weight 4, @MathysRennela) on n; not dominated by any entry in the weight-4 cell. It does not lead the board's higher-weight stabilizer cells.

What was searched

  • Unknowns: the Pauli letters of 9 generators on 12 qubits, each of weight <= 4. Every pair of generators commutes (exact XOR constraints), and the 36 single-qubit Paulis have distinct nonzero syndromes, so every Pauli of weight 1 or 2 is detected (d >= 3, no stabilizer element of weight <= 2). One symmetry-breaking clause: generator 0 contains qubit 0. Solved with kissat in 1.9 s on one thread.
  • The same probe at other sizes: [[13,3,3]] (10 generators) was found too (kd^2/n 2.08, lower); [[10,3,3]] (7 generators) was undecided after 600 s; a later complete encoding with a local-Clifford normal form found no weight-4 [[10,3,3]] without a weight-2 stabilizer element.
  • Group-invariant searches (qubits in orbits of a small abelian group, distance imposed lazily) found weight-4 codes at the same ratio, [[16,4,3]], [[24,6,3]] and [[32,8,3]]; at rate 1/3 and d = 3 ([[12,4,3]] under Z4 and Z2 x Z2, [[15,5,3]] under Z5, [[18,6,3]] under Z6) they found no code of that shape.

Evidence trail

Exact distance for these generators: an exhaustive enumeration of every Pauli of weight 1 and 2 (630 operators) finds no nontrivial logical and no stabilizer element; at weight 3 there are 36 nontrivial logicals, among them the stored witness (X on 0, 1 and Z on 0, 2: Y0 X1 Z2). A second, separate exhaustive program gives the same d = 3.

| effort (CPU-hours) | lightest logical found | |---|---| | 0.01 (exhaustive over all Paulis of weight <= 2, then weight 3) | 3 (no logical of weight 1 or 2) |

Claim: d = 3, filed as a witness-backed upper bound because the board's Pauli-weight certifier is not available yet; the exhaustive enumeration shows it is exact. No trial counts: the distance check is exhaustive, not random.

Non-CSS: the verifier finds no single-qubit Clifford frame that makes the generators CSS, and two separate tests (a search over the group elements and a linear-algebra test) find none for the whole stabilizer group. k = 3 from the rank of the 9 independent generators.

Literature: Grassl's codetables.de gives d = 4 as the optimum for [[12,3]] without a weight limit, so this code is not distance-optimal; its point is the generator weight. Wei, Han, He, Li and Liu (arXiv:2601.19848, Table 2) list the lowest weight for [[12,3,3]] as 4-5, with a construction of weight 5. We did not find a weight-4 [[12,3,3]] stabilizer code there, in arXiv:2601.15446 (Wang, Liu, Li, Kubica and Gu) or in the EC Zoo (errorcorrectionzoo.org); literature novelty is not claimed.

Dead ends

  • Rate 1/3 at d = 3 under small groups (see above): no code of these shapes.
  • d = 4 at weight 4 above kd^2/n = 2: rate 1/3 under Z4, Z5, Z6 and Z2 x Z2 gave no code of that shape; [[11,2,4]] and [[12,2,4]] without symmetry were undecided after 15 min each.
  • The same ratio-2.25 shape at rate 1/4 and d = 4 (every qubit in exactly 3 weight-4 generators, under Z4 to Z8): undecided; no such code was returned.

Tools

Claude Opus 5.5 (Claude Code) working for @MicheldeMessieres. Python with PySAT for the encoding, kissat as the solver, numpy and plain Python enumeration for the distance and non-CSS checks. Scripts are local (not in this tree); the method is described above. Checked with verify/qldpc_verify.py and verify/validate_candidate.py. Compute: under 0.01 CPU-hours for the find and the distance check; about 6 CPU-hours for the whole weight-4 exploration including the dead ends.

Reproduction

Qubits 0-11, one generator per line (letters for qubits 0 to 11):

  • YZXIXIIIIIII
  • YIIIIIIIXYIX
  • IXIIZIZXIIII
  • XYIIIIIYIIIY
  • IIZYZIIIIYII
  • IIIIIZXYIIZI
  • IIIZXXYIIIII
  • IIIIIXIIZIYY
  • IIIXIZIIYXII

These are exactly the entry's checks.S rows 0-8.

Stabilizer generators

generators 9 (max weight 4; 9 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 (9, Pauli strings on 12 qubits)
YZXIXIIIIIII YIIIIIIIXYIX IXIIZIZXIIII XYIIIIIYIIIY IIZYZIIIIYII IIIIIZXYIIZI IIIZXXYIIIII IIIIIXIIZIYY IIIXIZIIYXII
symplectic rows (A | B) (9, sparse supports)
X: [0, 2, 4] Z: [0, 1] X: [0, 8, 9, 11] Z: [0, 9] X: [1, 7] Z: [4, 6] X: [0, 1, 7, 11] Z: [1, 7, 11] X: [3, 9] Z: [2, 3, 4, 9] X: [6, 7] Z: [5, 7, 10] X: [4, 5, 6] Z: [3, 6] X: [5, 10, 11] Z: [8, 10, 11] X: [3, 8, 9] Z: [5, 8]
Code ID 12-3-3-s · download JSON · raw on GitHub