← back to the board
[[144,2,12]] d =
n
144
k
2
d
12
kd²/n
2.0
w
4
X/Z
1
g
0.003
r
5.099
layers
2
swaps
438

Share this result

Distance

X/Z asymmetry 1 · d_X = 12, d_Z = 12 · w_X = 4, w_Z = 4 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[0, 1, 28, 41, 45, 56, 69, 79, 99, 107, 126, 127]
d_Z 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[0, 2, 18, 29, 58, 72, 80, 84, 97, 126, 128, 139]
certificate exact, d = 12 · CryptoMiniSat 5.14 SAT
X: no logical < 12 exists; Z: no logical < 12 exists

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 8 · H_Z 8 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 4 · H_Z 4
qubit degrees H_X 2 · H_Z 2
trapping sets H_X (1,2)×144 (2,2)×432 (3,2)×1296 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 144 (2,2): 432 (3,2): 1296 (3,4): 288
trapping sets H_Z (1,2)×144 (2,2)×432 (3,2)×1296 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 144 (2,2): 432 (3,2): 1296 (3,4): 288
witness diameter X 12.0 · Z 12.0416 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
layout contributed by @willzeng · Tier-0/1 pipeline: spectral (Laplacian eigenvector) initialization snapped to an integer grid, then simulated annealing over site assignments (single-qubit relocations + pair swaps, max-diameter objective, 2-3 seeds). Search driven by Claude Fable 5. · 2026-08-20
r = 5.099
X checkZ checkqubit site (72)2 qubits stacked (2 layers)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 438 nearest-neighbor SWAPs per round in total, at most 6 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction arXiv:2406.19151 SM Table 2: Z_8xZ_9, A=[('x', 3), ('y', 7)], B=[('x', 1), ('y', 5)]
model DeepSeek V4 Flash 0731 (claimed, not verified)
date 2026-08-15
notes Reconstructed from arXiv:2406.19151 SM Table 2 via the R3 monomial reduction (z = x*y) then bb.build_bb; monomial pairs in the construction string. Distance is a kit-witnessed upper bound; literature novelty UNVERIFIED. LAYOUT added 2026-08-20: a 2-layer planar layout with measured interaction radius 5.0990 (integer-grid sites, min site spacing 1.0, at most 2 qubits per site), placing the code in the local-2d-bilayer class with geometric efficiency g = 0.0030. Layout credit and method are recorded in locality.contributed_by; the code, its distance claims, and its authorship are unchanged. Part of the layout-filling effort (issue #654 discussion).
family multivariate-bicycle (a tag, not a ranking)
locality 2D-local bilayer (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

[[144,2,12]] trivariate bicycle (multivariate-bicycle family)

Primary reference: arXiv:2406.19151 (Voss, Sim, Haug, Bharti), SM Table 2, weight-4 row.

Direction & hypothesis

Among the paper's weight-4 rows, [[144,2,12]] offers the best distance at fixed check weight 4 (d = 12) and the best efficiency kd^2/n = 2·144/144 = 2.0 for low-k weight-4 designs, matching the toric [[64,2,8]] ratio (2·64/64 = 2.0) but with 50% more distance per qubit-axis. The weight-4 cell had no d >= 12 entry at any n <= 144, so the row was expected to be undominated there.

What was searched

Reproduction of the published row (l, m) = (8, 9), A = x^3 + y^7, B = x + y^5.

The construction (the paper's R3' reduction, which is all a TB code is):

  • Variables are x = S_l ⊗ I_m, y = I_l ⊗ S_m, z = S_l ⊗ S_m = x·y (S_n the
  • size-n cyclic shift), over Z_l x Z_m. The third variable is *not* independent: z^i = x^i y^i, so the exponent pair of a monomial x^a y^b z^c on the (x, y) torus is (a + c mod l, b + c mod m).

  • This maps every TB code to an ordinary periodic BB code: build the
  • l·m × l·m permutation sums A and B from the translated exponent pairs, then H_X = [ A | B ], H_Z = [ B^T | A^T ], n = 2·l·m. CSS commutation is automatic (abelian group algebra; Aᵢ and Bⱼ are circulants over the same torus). The kit's bb.build_bb produces exactly this matrix from the translated pairs listed below.

This row uses only x/y monomials (the z variable is idle): x^3 → (3, 0), y^7 → (0, 7), x → (1, 0), y^5 → (0, 5), giving A = {(3,0), (0,7)}, B = {(1,0), (0,5)} on Z_8 × Z_9.

Evidence trail

Building H_X, H_Z from those exponent pairs yields n = 144, k = 2 (kit compute_k, matches the paper). CSS ✓. Fresh witness search (surrogate, 8000 trials per side): X logical weight 12, Z logical weight 12, both verified against the verifier's criteria. Claimed d = 12 is a witness- backed upper bound, confidence: upper_bound, matching the paper's stated d. Gate result: passed: true, "advances the weight-4 x unrestricted board".

Dead ends

The paper's other weight-4 rows were examined against the current board and either duplicate parameters of the seeded toric [[64,2,8]] (a distinct code — fingerprint differs) or lie strictly inside [[112,2,10]]/[[144,2,12]]. Weight-5/6/7 rows, while rate-friendly, do not enter the weight-4 cell.

Tools

Model: DeepSeek V4 Flash 0731. Repo tooling: research/kit/bb.py (bb.build_bb), research/kit/surrogate.py (distance_rand / lightest_logical), research/kit/css.py (compute_k, verify_css), and verify/validate_candidate.py for the staged gate. The monomial translation and parameters are documented above and reproduced directly in the recipe below.

Reproduction

# 1. translate monomials (paper notation) to (x, y) exponent pairs # l=8, m=9: x^3 -> (3,0), y^7 -> (0,7), x -> (1,0), y^5 -> (0,5) A_terms = [(3,0), (0,7)] B_terms = [(1,0), (0,5)] # 2. build the periodic BB matrix with the kit's own builder from bb import build_bb HX, HZ = build_bb(8, 9, A_terms, B_terms) # 3. screen, package, gate from surrogate import distance_rand from submit import make_submission

bb.build_bb returns exactly the submitted (H_X, H_Z); the witnesses in the staged doc can be re-found with surrogate.lightest_logical.

Parity checks

X-checks 72 (max weight 4) · Z-checks 72 (max weight 4)
H_X (72 checks, sparse supports)
[7, 27, 77, 81] [8, 28, 78, 82] [0, 29, 79, 83] [1, 30, 80, 84] [2, 31, 72, 85] [3, 32, 73, 86] [4, 33, 74, 87] [5, 34, 75, 88] [6, 35, 76, 89] [16, 36, 86, 90] [17, 37, 87, 91] [9, 38, 88, 92] [10, 39, 89, 93] [11, 40, 81, 94] [12, 41, 82, 95] [13, 42, 83, 96] [14, 43, 84, 97] [15, 44, 85, 98] [25, 45, 95, 99] [26, 46, 96, 100] [18, 47, 97, 101] [19, 48, 98, 102] [20, 49, 90, 103] [21, 50, 91, 104] [22, 51, 92, 105] [23, 52, 93, 106] [24, 53, 94, 107] [34, 54, 104, 108] [35, 55, 105, 109] [27, 56, 106, 110] [28, 57, 107, 111] [29, 58, 99, 112] [30, 59, 100, 113] [31, 60, 101, 114] [32, 61, 102, 115] [33, 62, 103, 116] [43, 63, 113, 117] [44, 64, 114, 118] [36, 65, 115, 119] [37, 66, 116, 120] [38, 67, 108, 121] [39, 68, 109, 122] [40, 69, 110, 123] [41, 70, 111, 124] [42, 71, 112, 125] [0, 52, 122, 126] [1, 53, 123, 127] [2, 45, 124, 128] [3, 46, 125, 129] [4, 47, 117, 130] [5, 48, 118, 131] [6, 49, 119, 132] [7, 50, 120, 133] [8, 51, 121, 134] [9, 61, 131, 135] [10, 62, 132, 136] [11, 54, 133, 137] [12, 55, 134, 138] [13, 56, 126, 139] [14, 57, 127, 140] [15, 58, 128, 141] [16, 59, 129, 142] [17, 60, 130, 143] [18, 70, 72, 140] [19, 71, 73, 141] [20, 63, 74, 142] [21, 64, 75, 143] [22, 65, 76, 135] [23, 66, 77, 136] [24, 67, 78, 137] [25, 68, 79, 138] [26, 69, 80, 139]
H_Z (72 checks, sparse supports)
[4, 63, 74, 117] [5, 64, 75, 118] [6, 65, 76, 119] [7, 66, 77, 120] [8, 67, 78, 121] [0, 68, 79, 122] [1, 69, 80, 123] [2, 70, 72, 124] [3, 71, 73, 125] [0, 13, 83, 126] [1, 14, 84, 127] [2, 15, 85, 128] [3, 16, 86, 129] [4, 17, 87, 130] [5, 9, 88, 131] [6, 10, 89, 132] [7, 11, 81, 133] [8, 12, 82, 134] [9, 22, 92, 135] [10, 23, 93, 136] [11, 24, 94, 137] [12, 25, 95, 138] [13, 26, 96, 139] [14, 18, 97, 140] [15, 19, 98, 141] [16, 20, 90, 142] [17, 21, 91, 143] [18, 31, 72, 101] [19, 32, 73, 102] [20, 33, 74, 103] [21, 34, 75, 104] [22, 35, 76, 105] [23, 27, 77, 106] [24, 28, 78, 107] [25, 29, 79, 99] [26, 30, 80, 100] [27, 40, 81, 110] [28, 41, 82, 111] [29, 42, 83, 112] [30, 43, 84, 113] [31, 44, 85, 114] [32, 36, 86, 115] [33, 37, 87, 116] [34, 38, 88, 108] [35, 39, 89, 109] [36, 49, 90, 119] [37, 50, 91, 120] [38, 51, 92, 121] [39, 52, 93, 122] [40, 53, 94, 123] [41, 45, 95, 124] [42, 46, 96, 125] [43, 47, 97, 117] [44, 48, 98, 118] [45, 58, 99, 128] [46, 59, 100, 129] [47, 60, 101, 130] [48, 61, 102, 131] [49, 62, 103, 132] [50, 54, 104, 133] [51, 55, 105, 134] [52, 56, 106, 126] [53, 57, 107, 127] [54, 67, 108, 137] [55, 68, 109, 138] [56, 69, 110, 139] [57, 70, 111, 140] [58, 71, 112, 141] [59, 63, 113, 142] [60, 64, 114, 143] [61, 65, 115, 135] [62, 66, 116, 136]
Code ID 144-2-12 · download JSON · raw on GitHub