← back to the board
[[172,48,8]] d =
n
172
k
48
d
8
kd²/n
17.86
w
13
X/Z
1
g
0.0088
r
6.7082
layers
2
swaps
824

Share this result

Distance

X/Z asymmetry 1 · d_X = 8, d_Z = 8 · w_X = 13, w_Z = 13 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 8 · witness weight 8 (claimed upper_bound)
witness operator (support, 8 qubits)
[22, 28, 32, 39, 142, 148, 152, 159]
d_Z 8 · witness weight 8 (claimed upper_bound)
witness operator (support, 8 qubits)
[68, 73, 77, 79, 108, 113, 117, 119]
certificate exact, d = 8 · CryptoMiniSat 5.14 SAT
X: no logical < 8 exists; Z: no logical < 8 exists

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 9–13 (mean 9.676) · H_Z 9–13 (mean 9.676)
qubit degrees H_X 2–10 (mean 3.826) · H_Z 2–10 (mean 3.826)
trapping sets H_X (1,2)×24 (2,2)×84 (3,3)×448 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 24 (1,3): 64 (1,4): 48 (1,5): 16 (1,6): 8 (1,8): 11 (1,10): 1 (2,2): 84 (2,3): 176 (2,4): 488 (2,5): 352 (2,6): 392 (2,7): 48 (2,8): 108 (2,9): 232 (2,10): 281 (2,11): 144 (2,12): 118 (2,13): 8 (2,14): 8 (3,3): 448 (3,4): 2360 (3,5): 4840 (3,6): 5556 (3,7): 4640 (3,8): 3300 (3,9): 3128 (3,10): 4926 (3,11): 8048 (3,12): 7545 (3,13): 5920 (3,14): 3556 (3,15): 1640 (3,16): 1208 (3,17): 456 (3,18): 524 (3,19): 32 (3,20): 69
trapping sets H_Z (1,2)×24 (2,2)×84 (3,3)×448 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 24 (1,3): 64 (1,4): 48 (1,5): 16 (1,6): 8 (1,8): 11 (1,10): 1 (2,2): 84 (2,3): 176 (2,4): 488 (2,5): 352 (2,6): 392 (2,7): 48 (2,8): 108 (2,9): 232 (2,10): 281 (2,11): 144 (2,12): 118 (2,13): 8 (2,14): 8 (3,3): 448 (3,4): 2360 (3,5): 4840 (3,6): 5556 (3,7): 4640 (3,8): 3300 (3,9): 3128 (3,10): 4926 (3,11): 8048 (3,12): 7545 (3,13): 5920 (3,14): 3556 (3,15): 1640 (3,16): 1208 (3,17): 456 (3,18): 524 (3,19): 32 (3,20): 69
witness diameter X 6.0828 · Z 6.4031 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
layout contributed by @dorakingx · Simulated annealing over site assignments on an integer grid with the repo's own research/local2d/fold_layout.search_layout (max-diameter objective, several bounding boxes and seeds); single layer at radius 4 tried first, then two layers at 7. Radius and per-site occupancy re-measured with the verifier's rule. · 2026-10-04
r = 6.708
X checkZ checkqubit site (89)2 qubits stacked (2 layers)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 824 nearest-neighbor SWAPs per round in total, at most 12 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

authors @nihoniumqc
provenance submitted through the challenge
novelty novelty not audited
construction Central CSS tensor product of board inputs 8-6-2 and 20-8-4, in that order, using arXiv:2609.37231 Eqs. (14)-(15). Retained zero-based X/Z row indices: [[0], [0], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]]. Input attribution: 8-6-2: @MathysRennela; 20-8-4: @EthanFeld. The research note gives the complete reproducible matrix recipe.
model GPT-6 (claimed, not verified)
builds on https://arxiv.org/abs/2609.37231, https://arxiv.org/abs/1512.07081, https://arxiv.org/abs/2306.16400
date 2026-10-03
notes Known tensor construction; literature novelty unverified. Final duplicate and WL-signature checks use upstream da1f2c0a1611b215376b249c139f4951e2394418. Neither check constitutes exhaustive equivalence testing. X and Z distances remain witnessed upper bounds.
family other (a tag, not a ranking)
locality 2D-local bilayer (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,48,8]] weight-13 CSS parity amplification

The submitted JSON records witness-backed upper bounds on both distances. Randomized search is not a lower-bound certificate.

Direction & hypothesis

Target: CSS weight-9plus x unrestricted. Explore the rate, blocklength and check-weight tradeoffs of small-factor CSS tensor products. This applies an established construction; literature novelty remains unverified.

What was searched

Seven tensor instances were built after screening small board seeds and parity factors; all seven passed the original trusted gate and six were retained as non-dominated within the batch. Initial pilots used 500 NumPy trials per side. The confirmation ladder below starts with the subsequent 100,000-trial confirmation and includes the fresh million-trial rung. Final validation uses upstream da1f2c0a1611b215376b249c139f4951e2394418.

Evidence trail

Confirmation ladder for the submitted code, each rung a fresh seed unless marked otherwise, reading the lightest logical found:

| budget (trials/side) | lightest logical | | ---: | ---: | | 10,000 (NumPy; X/Z seeds 20761001/20761002) | 8 | | 10,000 (NumPy; X/Z seeds 20761003/20761004) | 8 | | 10,000 (NumPy; X/Z seeds 20761005/20761006) | 8 | | 10,000 (NumPy; X/Z seeds 20761007/20761008) | 8 | | 10,000 (NumPy; X/Z seeds 20761009/20761010) | 8 | | 10,000 (NumPy; X/Z seeds 20761011/20761012) | 8 | | 10,000 (NumPy; X/Z seeds 20761013/20761014) | 8 | | 10,000 (NumPy; X/Z seeds 20761015/20761016) | 8 | | 10,000 (NumPy; X/Z seeds 20761017/20761018) | 8 | | 10,000 (NumPy; X/Z seeds 20761019/20761020) | 8 | | 1,000,000 (C++; root seed 21061003; threads=4, pair_depth=16) | 8 |

11 fresh-seed rung(s) agree at the best bound, the deepest of them at 1,000,000 trials per side. The submitted witness reproduces it: X: d <= 8 (upper_bound), Z: d <= 8 (upper_bound).

Ten NumPy batches of 10,000 trials per side used X seeds 20761001, 20761003, through 20761019 and the adjacent even Z seeds; every batch found weight 8 on both sides. The final rung uses 1,000,000 trials per side and 4 threads. Each accelerated call searches both Pauli sides and returns the overall minimum, rather than separate minima. Root seeds differ between calls; within a call the backend uses matching thread-seed offsets across sides. NumPy and C++ trial budgets are not interchangeable. Returned witnesses were saved and checked. No smaller logical was found in these rungs. Both submitted sides remain witness-backed upper bounds.

For the even all-ones parity factor, complementary representatives v and v+1 have disjoint supports. The existing overlap bound (Lemma 4 of arXiv:2609.37231) and tensor upper bound give D_P=2d_P(B). The unchanged repository MILP certifier previously proved both distances of the 20-8-4 seed, with a 3-second limit per logical constraint. This supports D_X=D_Z=8 analytically, separately from the randomized evidence; the submitted JSON remains upper_bound and does not claim server exact certification of this product.

Dead ends

  • The tested 466-qubit tensor product was excluded because the 414-qubit
  • product dominates it in blocklength, encoded dimension and check weight.

  • A previous amplification fieldnote rejected three products for
  • noncommutation; reconstructing the general tensor blocks gives commuting checks. Rank conditions affect the homology dimension, not the square-zero differential identity.

Tools

Model: GPT-6 (Codex desktop; @nihoniumqc). Repo tooling: research/kit/submit.py, research/kit/surrogate.py, verify/gf2_fast.cpp, verify/certify.py. The local verdict is verify/validate_candidate.py; the bundle was assembled by research/kit/promote.py. Compute: Python 3.12 on macOS arm64. Fresh million-trial rung: 16.94 seconds. Unchanged challenge C++ accelerator with pybind11 3.0.1.

Reproduction

Input entries are codes/8-6-2.json and codes/20-8-4.json at upstream commit da1f2c0a1611b215376b249c139f4951e2394418. Input attribution: 8-6-2: @MathysRennela; 20-8-4: @EthanFeld. The 6-qubit factor is the known all-ones error-detecting CSS code. The 8- and 12-qubit factors, when used, are board reproductions of the 2BGA construction (arXiv:2306.16400). The 32-qubit seed is a SAT search result, the 20-qubit seed is a self-orthogonal CSS search result, and the 15-qubit seed is the standard quantum Hamming code. Only the two named inputs are used in this submission; their stored layout coordinates are not inherited.

The following code reconstructs the submitted checks, including their ordering:

import json
import numpy as np

def read(name):
    with open("codes/" + name) as f:
        doc = json.load(f)
    result = []
    for side in ("X", "Z"):
        h = np.zeros((len(doc["checks"][side]), doc["n"]), dtype=np.int8)
        for i, support in enumerate(doc["checks"][side]):
            h[i, support] = 1
        result.append(h)
    return result

matrices = read('8-6-2.json') + read('20-8-4.json')
rows = [[0], [0], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]]
hx, hz, gx, gz = [h[r] for h, r in zip(matrices, rows)]
mx, nq = hx.shape
mz = hz.shape[0]
ax, na = gx.shape
az = gz.shape[0]
I = lambda d: np.eye(d, dtype=np.int8)
Z = lambda r, c: np.zeros((r, c), dtype=np.int8)
HX = np.block([
    [np.kron(hx, I(na)), Z(mx*na, mz*ax), np.kron(I(mx), gz.T)],
    [np.kron(I(nq), gx), np.kron(hz.T, I(ax)), Z(nq*ax, mx*az)]])
HZ = np.block([
    [np.kron(hz, I(na)), np.kron(I(mz), gx.T), Z(mz*na, mx*az)],
    [np.kron(I(nq), gz), Z(nq*az, mz*ax), np.kron(hx.T, I(az))]])

The X/Z matrices have shapes (68, 172) and (68, 172) and GF(2) ranks 62 and 62. Therefore k=172-62-62=48; maximum check weight is 13. The reconstruction was checked entry-for-entry against the submitted JSON. Use verify/qldpc_verify.py on codes/172-48-8.json to verify the stored logical witnesses and structure. The accelerated search is the witness-returning research/kit/surrogate.py interface distance_rand_witness, backend="fast"; use the seeds, budgets, threads and pair_depth in the ladder. Save the returned support and verify it. There is no layout or circuit-distance claim.

Parity checks

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