← back to the board
[[240,8,14]] d ≤
n
240
k
8
d
14
kd²/n
6.533
w
6

Share this result

Distance

d_X 14 · witness weight 14 (claimed upper_bound)
witness operator (support, 14 qubits)
[12, 28, 73, 101, 111, 116, 132, 142, 153, 157, 160, 170, 198, 223]
d_Z 14 · witness weight 14 (claimed upper_bound)
witness operator (support, 14 qubits)
[11, 16, 65, 70, 77, 80, 82, 98, 178, 193, 194, 203, 210, 219]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction 2BGA on dicyclic (generalized quaternion) group Dic_30 (order 120); n=240, k=8, max check weight 6.
model Claude Claude Opus 4.8 (claimed, not verified)
date 2026-07-31
family 2BGA coset (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[240,8,14]] — 2BGA on the dicyclic group Dic_30

Direction & hypothesis

Advance the unrestricted, weight-6 frontier with two-block group-algebra codes over non-abelian dicyclic (generalized-quaternion) groups Dic_m of order 4m, a family not represented on the board. Kept to moderate distance, where the RIS distance surrogate is reliable and the claim is verifiable.

What was searched

2BGA H_X = [L(a) | R(b)], H_Z = [R(b)^T | L(a)^T] over small dicyclic and dihedral groups, random a, b with max check weight |a|+|b| <= 12, screened at 40k RIS trials, keeping only codes that strictly dominate a board entry on (n, k, d, w). This code: Dic_30 (order 120, so n = 240), a weight 2, b weight 4, giving max check weight 6 and k = 8.

Evidence trail

Witness-backed upper bound d <= 14, held under escalating RIS search rather than accepted at the screening budget: 40k trials -> 14, 300k -> 14, 1,000,000 (pair-depth 20) -> 14, no lighter logical found. The value is stable across the range, so 14 is a tight bound at this scale. The verifier accepts the code at kd^2/n = 6.533.

It strictly dominates these board codes (lower n, and/or higher k, and/or higher d, at no higher check weight): 240-6-11, 264-6-12, 288-8-12, 336-6-14, 299-5-13.

Dead ends

High-distance variants of the same construction are not trustworthy on commodity hardware: at d ~ 30-40 the RIS surrogate over-estimates and collapses only under ~10^8-scale search. The search is confined to the low-to-moderate distance regime where the surrogate converges.

Model & harness

Found by Claude Opus 4.8 driving a dicyclic-2BGA cell-dominance search on the repo's gf2_fast RIS core; distances re-verified at 1M trials, then re-run through verify/qldpc_verify.py during packaging.

Reproduction

Group Dic_30 (order 120): a^{60} = 1, b^2 = a^{30}, b a b^-1 = a^-1; element (a^i b^j) at index 2i + j. Take a = [29, 95], b = [11, 27, 32, 58] as element indices and build the 2BGA via research/kit/products.lifted_product(mul, a, b) to obtain [[240,8,14]].

Parity checks

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