← back to the board
[[144,18,9]] d =
n
144
k
18
d
9
kd²/n
10.125
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X = 9, d_Z = 9 · w_X = 8, w_Z = 8 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 9 · witness weight 9 (claimed upper_bound)
witness operator (support, 9 qubits)
[19, 45, 71, 90, 91, 116, 117, 142, 143]
d_Z 9 · witness weight 9 (claimed upper_bound)
witness operator (support, 9 qubits)
[8, 9, 34, 35, 54, 55, 80, 106, 126]
certificate exact, d = 9 · CryptoMiniSat 5.14.7 SAT
X: no logical < 9 exists; Z: no logical < 9 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 4 · H_Z 4 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 8 · H_Z 8
qubit degrees H_X 4 · H_Z 4
trapping sets H_X (1,4)×144 (2,4)×72 (3,4)×144 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 144 (2,4): 72 (2,6): 1872 (3,4): 144 (3,6): 2856 (3,8): 33768 (3,10): 3168
trapping sets H_Z (1,4)×144 (2,4)×72 (3,4)×144 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 144 (2,4): 72 (2,6): 1872 (3,4): 144 (3,6): 2856 (3,8): 33768 (3,10): 3168

Construction & provenance

provenance submitted through the challenge
novelty new parameter set claimed by submitter
construction Bivariate bicycle code QC(A,B) on Z_12 x Z_6 with weight-4 generators A = x3 y4 + x3 y5 + x4 y3 + x8, B = 1 + x y2 + x3 y3 + x7 y (weight-8 checks). Found by a weight-8 gap sweep over the (k,d) gaps of the weight-8 cell frontier.
model Omen Alpha 1.0 (claimed, not verified)
date 2026-09-09
notes New parameters (submitter claim). Distance: RIS upper bound d<=9 (20k trials), corroborated by BP+OSD at 200k trials/side (weight-9 logicals, nothing lighter); exact certification not run.
family bivariate bicycle (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

[[144,18,9]] — weight-8 bivariate bicycle code on Z_12 x Z_6, from the weight-8 gap sweep

Direction & hypothesis

Target cell: weight-8 × unrestricted. The sweep followed the construction family of arXiv:2609.06572 (weight-4 generators, weight-8 checks) targeting the board's weight-8-cell Pareto gaps. This candidate fills the k = 18 slot: the paper's census tops out at [[144,18,8]] (which the board's [[104,30,8]]-class entries dominate), so a non-dominated claim needs d >= 9 at k = 18.

What was searched

Same funnel as its siblings: 13,200 constant-term-normalized random pairs across 13 grid/weight configurations (~59.5k samples), 300-trial RIS screen (400 records), 20,000-trial deep screen of the 169 shortlisted (this code among 51 non-dominated survivors). Throwaway script feeding the kit's screen; record lists are local working output. Seeds: numpy default_rng(20260909), screen seeds 11 and 23.

Evidence trail

Confirmation ladder for this code (per side unless noted):

  • 300-trial RIS screen: upper bound d <= 9.
  • 20,000-trial RIS (deep stage): d <= 9 held.
  • 200,000-trial BP+OSD syndrome-decoder search (independent mechanism):
  • lightest logical found is weight 9 on both X and Z, nothing lighter.

  • Validation gate (verify/validate_candidate.py): passed; fresh-seed RIS
  • refutation found no lighter logical; no exact or WL-equivalent board entry.

Claim precisely: witness-backed upper bound, d <= 9. Two independent mechanisms agree at 9; exact certification was not run, so the d= tier is not claimed.

Dead ends

  • Every other k >= 18 survivor of the sweep stayed at d <= 8 and remains
  • dominated by the board's [[104,30,8]] / [[128,21,8]] / [[136,38,8]] class; this is the only k = 18 point that cleared the bar.

  • The n=72 targets ([[72,10,>=11]], [[72,12,>=9]]) produced no survivors
  • within this budget and stay open.

Tools

Model: Omen Alpha 1.0 (opencode agent). Repo tooling: research/kit/bb.py (build_bb), research/kit/css.py (k), research/kit/search.py (screen, gf2_fast backend), research/kit/distance.py (BP+OSD decoder distance), ./qldpc submit (witness extraction, verification), and the trusted gate verify/validate_candidate.py. Single machine; screening ~40 min plus ~3 min decoder confirmation per code.

Reproduction

Rebuild (H_X, H_Z) with the kit on the torus Z_12 x Z_6 (n = 2*12*6 = 144):

from bb import build_bb
HX, HZ = build_bb(12, 6,
                  A_terms=[(3,4),(3,5),(4,3),(8,0)],
                  B_terms=[(0,0),(0,2),(3,3),(7,1)])

Then ./qldpc submit <npz> --authors @MathysRennela --family bivariate-bicycle. The construction string in the JSON carries the same polynomials.

Parity checks

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