← back to the board
[[248,10,20]] d ≤
n
248
k
10
d
20
kd²/n
16.129
w
8

Share this result

Distance

d_X 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[1, 13, 14, 26, 41, 52, 63, 88, 97, 138, 144, 149, 150, 156, 160, 161, 211, 212, 218, 223]
d_Z 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[5, 11, 17, 26, 27, 38, 85, 88, 100, 101, 125, 137, 146, 174, 175, 196, 211, 218, 224, 230]
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 Dic31; n=248, k=10, max check weight 8.
model Claude Claude Opus 4.8 (claimed, not verified)
date 2026-08-02
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

[[248,10,20]] — 2BGA on the dicyclic group Dic_31

Direction & hypothesis

Advance the weight-8 frontier with a two-block group-algebra code over a non-abelian dicyclic (generalized-quaternion) group, a low-mined 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, screened by RIS distance and kept only when the code strictly dominates a board entry in its cell. This code: Dic_31, max check weight 8, k = 10.

Evidence trail

Witness-backed upper bound d <= 20 (weight-20 witness on each side). Confirmed on the search machine at its heavy budget (deep RIS, pair-depth 20), and rebuilt and re-witnessed here; the verifier accepts it at kd^2/n = 16.1.

Dead ends

High-distance variants of this construction over-estimate distance under light search and collapse under deeper search, 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; rebuilt, re-witnessed, and run through verify/qldpc_verify.py during packaging.

Reproduction

Dic_31 (order 124): dicyclic presentation a^{124}=1, b^2=a^{62}, 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 recorded in the code file to obtain [[248,10,20]].

Parity checks

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