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

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 12, d_Z ≤ 12 · 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 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[12, 20, 21, 48, 56, 57, 75, 76, 93, 111, 112, 129]
d_Z 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[10, 11, 29, 46, 47, 65, 96, 101, 104, 132, 137, 140]
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 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 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): 1152 (2,8): 576 (3,3): 72 (3,5): 864 (3,7): 12744 (3,9): 19536 (3,11): 7848 (3,13): 360
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): 1152 (2,8): 576 (3,3): 72 (3,5): 864 (3,7): 12744 (3,9): 19536 (3,11): 7848 (3,13): 360

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 asymmetric weight-3+5 generators A = 1 + y5 + x9 y, B = 1 + x4 y2 + x5 y4 + x6 y2 + x11 y5 (weight-8 checks). Found by a weight-8 gap sweep that extended arXiv:2609.06572's family to unbalanced generator weights.
model Omen Alpha 1.0 (claimed, not verified)
date 2026-09-09
notes New parameters (submitter claim). Distance: RIS upper bound d<=12 (20k trials), corroborated by BP+OSD at 200k trials/side (weight-12 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,16,12]] — 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 but extended it to asymmetric generator weights: w_A + w_B = 8 still yields weight-8 checks, and the paper only searched the balanced 4+4 profile. This candidate aims at the k = 16 slot, where the board's frontier point was [[144,16,10]]; a non-dominated claim needs d >= 11.

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 <= 12.
  • 20,000-trial RIS (deep stage): d <= 12 held.
  • 200,000-trial BP+OSD syndrome-decoder search (independent mechanism):
  • lightest logical found is weight 12 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 <= 12. Two independent mechanisms agree at 12; exact certification was not run, so the d= tier is not claimed.

Dead ends

  • The balanced 4+4 profile on the paper's own grids never reached
  • d >= 11 at k = 16 in this sweep — the 3+5 asymmetric profile found this point, supporting the extension to unbalanced generator weights.

  • The five [[144,14,12]] survivors of the same sweep are dominated by this
  • code (higher k, equal d) and were not submitted.

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

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

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