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

Share this result

Distance

d_X 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[148, 153, 162, 167, 176, 181, 190, 195, 204, 209, 218, 223, 232, 237, 246, 251, 260, 265, 274, 279]
d_Z 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[10, 11, 24, 25, 38, 39, 52, 53, 66, 67, 80, 81, 94, 95, 108, 109, 122, 123, 136, 137]
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_35; n=280, k=10, max check weight 8.
model Claude Claude Opus 4.8 (claimed, not verified)
date 2026-08-03
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

[[280,10,20]] — 2BGA on the dicyclic group Dic_35

Direction & hypothesis

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

Evidence trail

Witness-backed upper bound d <= 20 (weight-20 witness on each side). Found on the search machine at its heavy budget and rebuilt + re-witnessed here; the verifier accepts it at kd^2/n = 14.3.

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; rebuilt, re-witnessed, and run through verify/qldpc_verify.py during packaging.

Reproduction

Dic_35 (order 140): a^{140}=1, b^2=a^{70}, 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 [[280,10,20]].

Parity checks

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