← back to the board
[[192,10,20]] d ≤
n
192
k
10
d
20
kd²/n
20.833
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 20, d_Z ≤ 20 · 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 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[9, 16, 35, 37, 43, 55, 56, 77, 83, 85, 118, 121, 123, 124, 143, 147, 171, 172, 180, 181]
d_Z 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[1, 5, 6, 14, 32, 49, 65, 74, 76, 90, 131, 136, 137, 140, 143, 144, 147, 159, 164, 185]
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 4 · H_Z 4
trapping sets H_X (1,4)×192 (2,6)×2688 (3,6)×2016 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 192 (2,6): 2688 (3,6): 2016 (3,8): 50400 (3,10): 5376
trapping sets H_Z (1,4)×192 (2,6)×2688 (3,6)×2016 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 192 (2,6): 2688 (3,6): 2016 (3,8): 50400 (3,10): 5376

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_8 with weight-4 generators A = xy3 + x8y6 + x8y7 + x10y2, B = y2 + xy6 + x4y4 + x6y (weight-8 checks). Found by campaign 2 of a weight-8 BB sweep at n in {192, 216, 288}, beyond the regime searched by arXiv:2609.06572.
model Omen Alpha 1.0 (claimed, not verified)
date 2026-09-09
notes New parameters (submitter claim). Distance: RIS upper bound d<=20 (20k trials), corroborated by BP+OSD at 200k trials/side finding 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

[[192,10,20]] — weight-8 bivariate bicycle code on Z_12 x Z_8, from campaign 2 of the weight-8 sweep

Direction & hypothesis

Target cell: weight-8 × unrestricted. Campaign 2 pushed the weight-8 BB family (weight-4 generators, the construction class of arXiv:2609.06572) beyond that paper's n = 144 regime, to n in {192, 216, 288}. This is the k = 10 slot at n = 192: the smallest block where a d = 20 claim fits under the weight-8 cell's frontier, giving the campaign's best kd²/n per qubit spent (20.8).

What was searched

Campaign 2 sampled 94.5k constant-term-normalized random pairs (the normalization is complete per arXiv:2609.06572 Cor. 3.9) across 19 grid/weight configurations — n = 72 retry with asymmetric 3+5 / 2+6 weights (no survivors), n = 192, n = 216, n = 288 with 4+4 and 3+5 profiles. Screened at 300 RIS trials (600 records), 150 non-dominated shortlisted records deep-screened at 20,000 RIS trials, frontier-checked against the live board (base-branch codes/, so open PRs do not contaminate the comparison). 121 survivors; the n = 288 standouts and this final round of five slots were decoder-confirmed. Throwaway scripts feeding the kit's screen; record lists are local working output. Seeds: numpy default_rng(20260910), screen seeds 31 and 32.

Evidence trail

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

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

  • Packaging witness search (20,000-trial RIS): reproduced weight-20
  • logicals on both sides.

  • 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 <= 20. Two independent mechanisms agree at 20; exact certification was not run, so the d= tier is not claimed.

Dead ends

  • The campaign's [[192,12,16]] find coincides with an existing board entry
  • ([[192,12,16]], a dicyclic 2BGA at the same parameters and check weight) and was not submitted.

  • The n = 72 asymmetric-weight retry produced no non-dominated survivors —
  • the [[72,10,>=11]] and [[72,12,>=9]] gaps stay open.

  • Sibling slots at n = 216 ([[216,12,18]], [[216,8,21]], [[216,6,23]]) are
  • submitted separately, one code per PR.

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 ~5 min, confirmation ~4 min per code.

Reproduction

Rebuild (H_X, H_Z) with the kit on the torus Z_12 x Z_8 (n = 2*12*8 = 192):

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

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

Parity checks

X-checks 96 (max weight 8) · Z-checks 96 (max weight 8)
H_X (96 checks, sparse supports)
[11, 70, 71, 82, 98, 110, 132, 145] [12, 64, 71, 83, 99, 111, 133, 146] [13, 64, 65, 84, 100, 104, 134, 147] [14, 65, 66, 85, 101, 105, 135, 148] [15, 66, 67, 86, 102, 106, 128, 149] [8, 67, 68, 87, 103, 107, 129, 150] [9, 68, 69, 80, 96, 108, 130, 151] [10, 69, 70, 81, 97, 109, 131, 144] [19, 78, 79, 90, 106, 118, 140, 153] [20, 72, 79, 91, 107, 119, 141, 154] [21, 72, 73, 92, 108, 112, 142, 155] [22, 73, 74, 93, 109, 113, 143, 156] [23, 74, 75, 94, 110, 114, 136, 157] [16, 75, 76, 95, 111, 115, 137, 158] [17, 76, 77, 88, 104, 116, 138, 159] [18, 77, 78, 89, 105, 117, 139, 152] [2, 27, 86, 87, 114, 126, 148, 161] [3, 28, 80, 87, 115, 127, 149, 162] [4, 29, 80, 81, 116, 120, 150, 163] [5, 30, 81, 82, 117, 121, 151, 164] [6, 31, 82, 83, 118, 122, 144, 165] [7, 24, 83, 84, 119, 123, 145, 166] [0, 25, 84, 85, 112, 124, 146, 167] [1, 26, 85, 86, 113, 125, 147, 160] [10, 35, 94, 95, 122, 134, 156, 169] [11, 36, 88, 95, 123, 135, 157, 170] [12, 37, 88, 89, 124, 128, 158, 171] [13, 38, 89, 90, 125, 129, 159, 172] [14, 39, 90, 91, 126, 130, 152, 173] [15, 32, 91, 92, 127, 131, 153, 174] [8, 33, 92, 93, 120, 132, 154, 175] [9, 34, 93, 94, 121, 133, 155, 168] [6, 7, 18, 43, 130, 142, 164, 177] [0, 7, 19, 44, 131, 143, 165, 178] [0, 1, 20, 45, 132, 136, 166, 179] [1, 2, 21, 46, 133, 137, 167, 180] [2, 3, 22, 47, 134, 138, 160, 181] [3, 4, 23, 40, 135, 139, 161, 182] [4, 5, 16, 41, 128, 140, 162, 183] [5, 6, 17, 42, 129, 141, 163, 176] [14, 15, 26, 51, 138, 150, 172, 185] [8, 15, 27, 52, 139, 151, 173, 186] [8, 9, 28, 53, 140, 144, 174, 187] [9, 10, 29, 54, 141, 145, 175, 188] [10, 11, 30, 55, 142, 146, 168, 189] [11, 12, 31, 48, 143, 147, 169, 190] [12, 13, 24, 49, 136, 148, 170, 191] [13, 14, 25, 50, 137, 149, 171, 184] [22, 23, 34, 59, 97, 146, 158, 180] [16, 23, 35, 60, 98, 147, 159, 181] [16, 17, 36, 61, 99, 148, 152, 182] [17, 18, 37, 62, 100, 149, 153, 183] [18, 19, 38, 63, 101, 150, 154, 176] [19, 20, 39, 56, 102, 151, 155, 177] [20, 21, 32, 57, 103, 144, 156, 178] [21, 22, 33, 58, 96, 145, 157, 179] [30, 31, 42, 67, 105, 154, 166, 188] [24, 31, 43, 68, 106, 155, 167, 189] [24, 25, 44, 69, 107, 156, 160, 190] [25, 26, 45, 70, 108, 157, 161, 191] [26, 27, 46, 71, 109, 158, 162, 184] [27, 28, 47, 64, 110, 159, 163, 185] [28, 29, 40, 65, 111, 152, 164, 186] [29, 30, 41, 66, 104, 153, 165, 187] [38, 39, 50, 75, 100, 113, 162, 174] [32, 39, 51, 76, 101, 114, 163, 175] [32, 33, 52, 77, 102, 115, 164, 168] [33, 34, 53, 78, 103, 116, 165, 169] [34, 35, 54, 79, 96, 117, 166, 170] [35, 36, 55, 72, 97, 118, 167, 171] [36, 37, 48, 73, 98, 119, 160, 172] [37, 38, 49, 74, 99, 112, 161, 173] [46, 47, 58, 83, 108, 121, 170, 182] [40, 47, 59, 84, 109, 122, 171, 183] [40, 41, 60, 85, 110, 123, 172, 176] [41, 42, 61, 86, 111, 124, 173, 177] [42, 43, 62, 87, 104, 125, 174, 178] [43, 44, 63, 80, 105, 126, 175, 179] [44, 45, 56, 81, 106, 127, 168, 180] [45, 46, 57, 82, 107, 120, 169, 181] [54, 55, 66, 91, 116, 129, 178, 190] [48, 55, 67, 92, 117, 130, 179, 191] [48, 49, 68, 93, 118, 131, 180, 184] [49, 50, 69, 94, 119, 132, 181, 185] [50, 51, 70, 95, 112, 133, 182, 186] [51, 52, 71, 88, 113, 134, 183, 187] [52, 53, 64, 89, 114, 135, 176, 188] [53, 54, 65, 90, 115, 128, 177, 189] [3, 62, 63, 74, 102, 124, 137, 186] [4, 56, 63, 75, 103, 125, 138, 187] [5, 56, 57, 76, 96, 126, 139, 188] [6, 57, 58, 77, 97, 127, 140, 189] [7, 58, 59, 78, 98, 120, 141, 190] [0, 59, 60, 79, 99, 121, 142, 191] [1, 60, 61, 72, 100, 122, 143, 184] [2, 61, 62, 73, 101, 123, 136, 185]
H_Z (96 checks, sparse supports)
[6, 55, 68, 90, 118, 129, 130, 189] [7, 48, 69, 91, 119, 130, 131, 190] [0, 49, 70, 92, 112, 131, 132, 191] [1, 50, 71, 93, 113, 132, 133, 184] [2, 51, 64, 94, 114, 133, 134, 185] [3, 52, 65, 95, 115, 134, 135, 186] [4, 53, 66, 88, 116, 128, 135, 187] [5, 54, 67, 89, 117, 128, 129, 188] [2, 14, 63, 76, 101, 126, 137, 138] [3, 15, 56, 77, 102, 127, 138, 139] [4, 8, 57, 78, 103, 120, 139, 140] [5, 9, 58, 79, 96, 121, 140, 141] [6, 10, 59, 72, 97, 122, 141, 142] [7, 11, 60, 73, 98, 123, 142, 143] [0, 12, 61, 74, 99, 124, 136, 143] [1, 13, 62, 75, 100, 125, 136, 137] [10, 22, 71, 84, 109, 134, 145, 146] [11, 23, 64, 85, 110, 135, 146, 147] [12, 16, 65, 86, 111, 128, 147, 148] [13, 17, 66, 87, 104, 129, 148, 149] [14, 18, 67, 80, 105, 130, 149, 150] [15, 19, 68, 81, 106, 131, 150, 151] [8, 20, 69, 82, 107, 132, 144, 151] [9, 21, 70, 83, 108, 133, 144, 145] [18, 30, 79, 92, 117, 142, 153, 154] [19, 31, 72, 93, 118, 143, 154, 155] [20, 24, 73, 94, 119, 136, 155, 156] [21, 25, 74, 95, 112, 137, 156, 157] [22, 26, 75, 88, 113, 138, 157, 158] [23, 27, 76, 89, 114, 139, 158, 159] [16, 28, 77, 90, 115, 140, 152, 159] [17, 29, 78, 91, 116, 141, 152, 153] [4, 26, 38, 87, 125, 150, 161, 162] [5, 27, 39, 80, 126, 151, 162, 163] [6, 28, 32, 81, 127, 144, 163, 164] [7, 29, 33, 82, 120, 145, 164, 165] [0, 30, 34, 83, 121, 146, 165, 166] [1, 31, 35, 84, 122, 147, 166, 167] [2, 24, 36, 85, 123, 148, 160, 167] [3, 25, 37, 86, 124, 149, 160, 161] [12, 34, 46, 95, 133, 158, 169, 170] [13, 35, 47, 88, 134, 159, 170, 171] [14, 36, 40, 89, 135, 152, 171, 172] [15, 37, 41, 90, 128, 153, 172, 173] [8, 38, 42, 91, 129, 154, 173, 174] [9, 39, 43, 92, 130, 155, 174, 175] [10, 32, 44, 93, 131, 156, 168, 175] [11, 33, 45, 94, 132, 157, 168, 169] [7, 20, 42, 54, 141, 166, 177, 178] [0, 21, 43, 55, 142, 167, 178, 179] [1, 22, 44, 48, 143, 160, 179, 180] [2, 23, 45, 49, 136, 161, 180, 181] [3, 16, 46, 50, 137, 162, 181, 182] [4, 17, 47, 51, 138, 163, 182, 183] [5, 18, 40, 52, 139, 164, 176, 183] [6, 19, 41, 53, 140, 165, 176, 177] [15, 28, 50, 62, 149, 174, 185, 186] [8, 29, 51, 63, 150, 175, 186, 187] [9, 30, 52, 56, 151, 168, 187, 188] [10, 31, 53, 57, 144, 169, 188, 189] [11, 24, 54, 58, 145, 170, 189, 190] [12, 25, 55, 59, 146, 171, 190, 191] [13, 26, 48, 60, 147, 172, 184, 191] [14, 27, 49, 61, 148, 173, 184, 185] [23, 36, 58, 70, 97, 98, 157, 182] [16, 37, 59, 71, 98, 99, 158, 183] [17, 38, 60, 64, 99, 100, 159, 176] [18, 39, 61, 65, 100, 101, 152, 177] [19, 32, 62, 66, 101, 102, 153, 178] [20, 33, 63, 67, 102, 103, 154, 179] [21, 34, 56, 68, 96, 103, 155, 180] [22, 35, 57, 69, 96, 97, 156, 181] [31, 44, 66, 78, 105, 106, 165, 190] [24, 45, 67, 79, 106, 107, 166, 191] [25, 46, 68, 72, 107, 108, 167, 184] [26, 47, 69, 73, 108, 109, 160, 185] [27, 40, 70, 74, 109, 110, 161, 186] [28, 41, 71, 75, 110, 111, 162, 187] [29, 42, 64, 76, 104, 111, 163, 188] [30, 43, 65, 77, 104, 105, 164, 189] [39, 52, 74, 86, 102, 113, 114, 173] [32, 53, 75, 87, 103, 114, 115, 174] [33, 54, 76, 80, 96, 115, 116, 175] [34, 55, 77, 81, 97, 116, 117, 168] [35, 48, 78, 82, 98, 117, 118, 169] [36, 49, 79, 83, 99, 118, 119, 170] [37, 50, 72, 84, 100, 112, 119, 171] [38, 51, 73, 85, 101, 112, 113, 172] [47, 60, 82, 94, 110, 121, 122, 181] [40, 61, 83, 95, 111, 122, 123, 182] [41, 62, 84, 88, 104, 123, 124, 183] [42, 63, 85, 89, 105, 124, 125, 176] [43, 56, 86, 90, 106, 125, 126, 177] [44, 57, 87, 91, 107, 126, 127, 178] [45, 58, 80, 92, 108, 120, 127, 179] [46, 59, 81, 93, 109, 120, 121, 180]
Code ID 192-10-20 · download JSON · raw on GitHub