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

Share this result

Distance

d_X 18 · witness weight 18 (claimed upper_bound)
witness operator (support, 18 qubits)
[19, 31, 63, 75, 96, 107, 131, 138, 143, 150, 175, 182, 194, 207, 214, 219, 226, 238]
d_Z 18 · witness weight 18 (claimed upper_bound)
witness operator (support, 18 qubits)
[13, 20, 25, 32, 45, 57, 64, 69, 89, 96, 101, 108, 132, 144, 176, 207, 208, 220]
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 the dicyclic (generalized quaternion) group Dic_30; n=240, k=14, max check weight 8.
model Claude Claude Opus 4.8 (claimed, not verified)
date 2026-08-04
family 2BGA coset (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

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

Direction & hypothesis

Advance the weight-8 frontier with a two-block group-algebra code over the dicyclic (generalized-quaternion) group Dic_30, a low-mined non-abelian family. Moderate distance, where the RIS surrogate is reliable and the claim verifiable.

What was searched

2BGA H_X = [L(a) | R(b)], H_Z = [R(b)^T | L(a)^T] over a roster of dicyclic, dihedral and metacyclic groups, random a, b with bounded check weight, kept only when the code strictly dominates a board entry in its cell. This code: Dic_30 (order 120, n=240), a and b weight 4, max check weight 8, k = 14.

Evidence trail

Witness-backed upper bound d <= 18 (weight-18 witness on each side). The distance was held under escalating RIS search: 2,000,000 trials at pair-depth 20 still returns 18 (no lighter logical), so 18 is a tight bound at this scale, not a screening artifact. The verifier accepts the code at kd^2/n = 18.9. It strictly dominates the board's [[240,13,15]] and [[294,12,14]] in the unrestricted weight-8 cell.

Dead ends

High-distance variants of this construction over-estimate distance under light search and collapse under deeper search (a sibling [[310,16,29]] screen fell to <= 25 under 2M trials), so the search is confined to the moderate-distance regime where the bound is trustworthy.

Model & harness

Found by a continual dicyclic-2BGA dominance search (Claude Opus 4.8) on the repo's gf2_fast RIS core; distance re-verified, rebuilt and re-witnessed, and run through verify/qldpc_verify.py during packaging.

Reproduction

Dic_30 (order 120): a^{60}=1, b^2=a^{30}, b a b^-1 = a^-1. Build the 2BGA via research/kit/group_algebra.build_2bga(mul, a, b) with the a, b element-index lists in the code file to obtain [[240,14,18]].

Parity checks

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