← back to the board
[[144,8,16]] d ≤
n
144
k
8
d
16
kd²/n
14.222
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 16, d_Z ≤ 16 · 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 16 · witness weight 16 (claimed upper_bound)
witness operator (support, 16 qubits)
[1, 10, 24, 33, 42, 68, 72, 73, 76, 82, 101, 102, 108, 111, 115, 118]
d_Z 16 · witness weight 16 (claimed upper_bound)
witness operator (support, 16 qubits)
[16, 37, 45, 50, 55, 56, 58, 60, 63, 74, 80, 97, 101, 106, 117, 138]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

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 6 · H_Z 6 (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 3–5 (mean 4.0) · H_Z 3–5 (mean 4.0)
trapping sets H_X (1,3)×72 (2,4)×216 (3,3)×72 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 72 (1,5): 72 (2,4): 216 (2,6): 1080 (2,8): 720 (3,3): 72 (3,5): 864 (3,7): 11304 (3,9): 21480 (3,11): 10800 (3,13): 720
trapping sets H_Z (1,3)×72 (2,4)×216 (3,3)×72 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 72 (1,5): 72 (2,4): 216 (2,6): 1080 (2,8): 720 (3,3): 72 (3,5): 864 (3,7): 11304 (3,9): 21480 (3,11): 10800 (3,13): 720

Construction & provenance

provenance submitted through the challenge
novelty known parameter set; see provenance notes
construction Bivariate bicycle code QC(A,B) on Z_12 x Z_6 with asymmetric weight-3+5 generators A = 1 + x5 y2 + x7, B = 1 + y5 + x3 y2 + x7 y + x8 y3 (weight-8 checks). Found by a weight-8 gap sweep extending arXiv:2609.06572's family; same parameters as the board's [[144,8,16]] but with weight-8 checks.
model Omen Alpha 1.0 (claimed, not verified)
date 2026-09-09
notes Same [[n,k,d]] parameter set as the board's existing [[144,8,16]] (w=10 checks) but a different construction reaching it at weight 8. Distance: RIS upper bound d<=16 (20k trials), corroborated by BP+OSD at 200k trials/side (weight-16 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,8,16]] — weight-8 bivariate bicycle code (asymmetric 3+5 generators) 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, extended it to asymmetric generator weights (w_A + w_B = 8 still gives weight-8 checks; the paper searched only the balanced 4+4 profile), and aimed at the board's weight-8-cell frontier gaps. This candidate targets the top of the k = 8 ladder: the board already carries [[144,8,16]] with weight-10 checks (outside this cell) and [[144,8,15]] with weight-8 checks, so a weight-8 construction reaching d = 16 dominates both.

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. Twelve distinct [[144,8,<=16]] survivors emerged; two (this code and a Z_18 x Z_4 backup) were confirmed further. 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 <= 16.
  • 20,000-trial RIS (deep stage): d <= 16 held.
  • 200,000-trial BP+OSD syndrome-decoder search (independent mechanism):
  • lightest logical found is weight 16 on both X and Z, nothing lighter.

  • Validation gate (verify/validate_candidate.py): passed; fresh-seed RIS
  • refutation found no lighter logical; dedup confirms this is a distinct code from the board's [[144,8,16]] (different check matrices).

Claim precisely: witness-backed upper bound, d <= 16. Two independent mechanisms agree at 16; exact certification was not run, so the d= tier is not claimed. The d <= 16 claim is the deepest of the campaign and the most exposed to collapse; the weekly board sweep is the backstop.

Dead ends

  • The Z_18 x Z_4 backup at [[144,8,16]] also passed confirmation and is
  • held locally; only one of the equal-parameter pair is submitted.

  • The ten remaining [[144,8,<=16]] survivors of the sweep were not
  • decoder-confirmed and are held as unstaged records.

  • 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); asymmetric weights (3 + 5 monomials, still weight-8 checks):

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

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