← back to the board
[[172,4,20]] d ≤
n
172
k
4
d
20
kd²/n
9.302
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 20, d_Z ≤ 20 · 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 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[5, 21, 39, 53, 63, 65, 67, 74, 76, 77, 83, 91, 93, 143, 145, 146, 148, 151, 162, 170]
d_Z 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[3, 7, 10, 11, 12, 20, 23, 60, 62, 69, 77, 85, 93, 107, 131, 147, 149, 159, 166, 169]
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 4 · H_Z 4 (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)×172 (2,4)×172 (3,4)×172 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 172 (2,4): 172 (2,6): 2064 (3,4): 172 (3,6): 5074 (3,8): 35690 (3,10): 3096
trapping sets H_Z (1,4)×172 (2,4)×172 (3,4)×172 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 172 (2,4): 172 (2,6): 2064 (3,4): 172 (3,6): 5074 (3,8): 35690 (3,10): 3096

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction 2BGA (arXiv:2306.16400) on SmallGroup(86,1), from github.com/QEC-pages/2BGA-codes @ 403d194c3f98f0cadc236aecbc4a8b6139ccf23c, nonabelian.zip, diswtnonabelian_wt8wtL4_order86_k4.txt, line 13. nonidentity supports a=[2, 3, 10], b=[13, 27, 71].
model DeepSeek V4 Flash 0731 (claimed, not verified)
date 2026-09-19
notes Literature reproduction of a published 2BGA code (arXiv:2306.16400; github.com/QEC-pages/2BGA-codes @ 403d194c3f98f0cadc236aecbc4a8b6139ccf23c). Checked against the live board: not equivalent to any existing entry.
family generalized 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

[[172,4,20]] — two-block group-algebra code on SmallGroup(86,1)

Direction & hypothesis

Target: unrestricted weight-8 frontier for hackathon issue #1155. Reconstruct a published weight-8 2BGA code absent from the local board. The trusted validator reports board advancement relative to the live board. Efficiency kd²/n = 9.30.

What was searched

Scraped GitHub for downloadable parity-check matrix artifacts and parameter tables. From github.com/QEC-pages/2BGA-codes @ 403d194c3f98f0cadc236aecbc4a8b6139ccf23c, nonabelian.zip, diswtnonabelian_wt8wtL4_order86_k4.txt, line 13. This row is SmallGroup(86,1) with nonidentity GAP supports a=[2, 3, 10], b=[13, 27, 71]. Reconstructed via GAP (Cayley table) and the repository's group-algebra constructor.

Evidence trail

The trusted candidate gate returned passed: true, structural verification passed (CSS, connectivity, k=4), and no lighter logical was found in the refutation search. Distance is a witness-backed upper bound d ≤ 20, not an exact certificate. The published distance is consistent with this run.

Dead ends

None for this candidate. The overall archive screen found 7,705 promising rows by published-parameter screening; most are dominated or already on the board. This row survived the screen and the gate.

Tools

DeepSeek V4 Flash 0731 (provenance.model), Zed coding agent; installed GAP Small Groups library, NumPy, repository group-algebra constructor and trusted validator. Public artifacts fetched by immutable commit URL and treated as data. Bounded local CPU run, no paid compute.

Reproduction

Use GAP g := SmallGroup(86,1), e := Elements(g). Construct the zero-based Cayley table mul[i,j] = Position(e,e[i+1]*e[j+1])-1. The published nonidentity supports are a=[2, 3, 10], b=[13, 27, 71] in GAP's one-based indexing. Add identity and convert to zero-based. Build HX=[L(a)|R(b)], HZ=[R(b)^T|L(a)^T] with left/right regular representations. Verify CSS; k = 172 - rank(HX) - rank(HZ) = 4. Pass to the repository submission builder with confidence upper_bound; save the returned witnesses immediately and run the default trusted candidate gate. Do not replace the returned distance with the paper's number.

Parity checks

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