← back to the board
[[216,6,23]] d ≤
n
216
k
6
d
23
kd²/n
14.694
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 23, d_Z ≤ 23 · 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 23 · witness weight 23 (claimed upper_bound)
witness operator (support, 23 qubits)
[2, 16, 20, 30, 35, 45, 68, 76, 91, 101, 105, 131, 135, 147, 150, 156, 162, 164, 172, 173, 176, 181, 213]
d_Z 23 · witness weight 23 (claimed upper_bound)
witness operator (support, 23 qubits)
[0, 7, 11, 13, 15, 23, 25, 26, 34, 37, 46, 64, 91, 102, 111, 112, 113, 127, 134, 135, 179, 184, 189]
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)×216 (2,6)×3024 (3,6)×1728 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 216 (2,6): 3024 (3,6): 1728 (3,8): 58320 (3,10): 6048
trapping sets H_Z (1,4)×216 (2,6)×3024 (3,6)×1728 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 216 (2,6): 3024 (3,6): 1728 (3,8): 58320 (3,10): 6048

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_9 with weight-4 generators A = x y2 + x2 y8 + x4 y7 + x11 y, B = x2 y4 + x9 y + x9 y6 + x10 y2 (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<=23 (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

[[216,6,23]] — weight-8 bivariate bicycle code on Z_12 x Z_9, 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 low-rate end of the n = 216 frontier: k = 6 at d = 23, a distance no weight-8 code on the board reaches at or below this length.

What was searched

Same funnel as the campaign's other submissions: 94.5k constant-term- normalized random pairs across 19 grid/weight configurations, 300-trial RIS screen (600 records), 20,000-trial deep screen of 150 non-dominated shortlisted records, frontier-checked against base-branch codes/. 121 survivors; five slots decoder-confirmed in the final round. 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 <= 23.
  • 20,000-trial RIS (deep stage): d <= 23 held.
  • 200,000-trial BP+OSD syndrome-decoder search (independent mechanism):
  • lightest logical found is weight 23 on both X and Z, nothing lighter.

  • Packaging witness search (20,000-trial RIS): reproduced weight-23
  • 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 <= 23. Two independent mechanisms agree at 23; 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
  • (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.
  • Sibling slots [[192,10,20]], [[216,12,18]], [[216,8,21]] 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_9 (n = 2*12*9 = 216):

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

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

Parity checks

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