← back to the board
[[196,56,6]] d =
n
196
k
56
d
6
kd²/n
10.286
w
12
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X = 6, d_Z = 6 · w_X = 12, w_Z = 12 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 6 · witness weight 6 (claimed upper_bound)
witness operator (support, 6 qubits)
[0, 5, 6, 105, 110, 111]
d_Z 6 · witness weight 6 (claimed upper_bound)
witness operator (support, 6 qubits)
[81, 84, 87, 156, 159, 162]
certificate exact, d = 6 · CryptoMiniSat 5.14.7 SAT
X: no logical < 6 exists; Z: no logical < 6 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–12 (mean 9.641) · H_Z 9–12 (mean 9.641)
qubit degrees H_X 2–8 (mean 3.837) · H_Z 2–8 (mean 3.837)
trapping sets H_X (1,2)×32 (2,2)×72 (3,3)×824 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 32 (1,3): 64 (1,4): 56 (1,5): 24 (1,6): 4 (1,8): 16 (2,2): 72 (2,3): 352 (2,4): 396 (2,5): 432 (2,6): 216 (2,7): 192 (2,8): 114 (2,9): 320 (2,10): 384 (2,11): 224 (2,12): 48 (3,3): 824 (3,4): 2512 (3,5): 4432 (3,6): 5508 (3,7): 5200 (3,8): 3864 (3,9): 4336 (3,10): 6600 (3,11): 10160 (3,12): 9200 (3,13): 7432 (3,14): 2708 (3,15): 1656 (3,16): 1080 (3,17): 920 (3,18): 216
trapping sets H_Z (1,2)×32 (2,2)×72 (3,3)×824 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 32 (1,3): 64 (1,4): 56 (1,5): 24 (1,6): 4 (1,8): 16 (2,2): 72 (2,3): 352 (2,4): 396 (2,5): 432 (2,6): 216 (2,7): 192 (2,8): 114 (2,9): 320 (2,10): 384 (2,11): 224 (2,12): 48 (3,3): 824 (3,4): 2512 (3,5): 4432 (3,6): 5508 (3,7): 5200 (3,8): 3864 (3,9): 4336 (3,10): 6600 (3,11): 10160 (3,12): 9200 (3,13): 7432 (3,14): 2708 (3,15): 1656 (3,16): 1080 (3,17): 920 (3,18): 216

Construction & provenance

authors @nihoniumqc
provenance submitted through the challenge
novelty novelty not audited
construction Central CSS tensor product of board inputs 12-8-2 and 15-7-3, in that order, using arXiv:2609.37231 Eqs. (14)-(15). Retained zero-based X/Z row indices: [[0, 2], [0, 2], [0, 1, 2, 3], [0, 1, 2, 3]]. Input attribution: 12-8-2: @MathysRennela; 15-7-3: @FarLab. 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 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

[[196,56,6]] weight-12 CSS tensor 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 | | ---: | ---: | | 100,000 (C++; root seed 20961004; threads=2, pair_depth=16) | 6 | | 1,000,000 (C++; root seed 21061005; threads=4, pair_depth=16) | 6 |

2 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 <= 6 (upper_bound), Z: d <= 6 (upper_bound).

The first accelerated confirmation used 100,000 trials per side, 2 threads and pair_depth=16. 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.

The 12-qubit factor is not a single all-ones parity amplifier. No matching lower-bound proof for this product is supplied; only the witnessed upper bounds are claimed.

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: 26.51 seconds. Unchanged challenge C++ accelerator with pybind11 3.0.1.

Reproduction

Input entries are codes/12-8-2.json and codes/15-7-3.json at upstream commit da1f2c0a1611b215376b249c139f4951e2394418. Input attribution: 12-8-2: @MathysRennela; 15-7-3: @FarLab. 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('12-8-2.json') + read('15-7-3.json')
rows = [[0, 2], [0, 2], [0, 1, 2, 3], [0, 1, 2, 3]]
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 (78, 196) and (78, 196) and GF(2) ranks 70 and 70. Therefore k=196-70-70=56; maximum check weight is 12. The reconstruction was checked entry-for-entry against the submitted JSON. Use verify/qldpc_verify.py on codes/196-56-6.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 78 (max weight 12) · Z-checks 78 (max weight 12)
H_X (78 checks, sparse supports)
[0, 15, 60, 75, 90, 105, 150, 165, 188] [1, 16, 61, 76, 91, 106, 151, 166, 189] [2, 17, 62, 77, 92, 107, 152, 167, 188, 189] [3, 18, 63, 78, 93, 108, 153, 168, 190] [4, 19, 64, 79, 94, 109, 154, 169, 188, 190] [5, 20, 65, 80, 95, 110, 155, 170, 189, 190] [6, 21, 66, 81, 96, 111, 156, 171, 188, 189, 190] [7, 22, 67, 82, 97, 112, 157, 172, 191] [8, 23, 68, 83, 98, 113, 158, 173, 188, 191] [9, 24, 69, 84, 99, 114, 159, 174, 189, 191] [10, 25, 70, 85, 100, 115, 160, 175, 188, 189, 191] [11, 26, 71, 86, 101, 116, 161, 176, 190, 191] [12, 27, 72, 87, 102, 117, 162, 177, 188, 190, 191] [13, 28, 73, 88, 103, 118, 163, 178, 189, 190, 191] [14, 29, 74, 89, 104, 119, 164, 179, 188, 189, 190, 191] [0, 15, 30, 45, 90, 105, 120, 135, 192] [1, 16, 31, 46, 91, 106, 121, 136, 193] [2, 17, 32, 47, 92, 107, 122, 137, 192, 193] [3, 18, 33, 48, 93, 108, 123, 138, 194] [4, 19, 34, 49, 94, 109, 124, 139, 192, 194] [5, 20, 35, 50, 95, 110, 125, 140, 193, 194] [6, 21, 36, 51, 96, 111, 126, 141, 192, 193, 194] [7, 22, 37, 52, 97, 112, 127, 142, 195] [8, 23, 38, 53, 98, 113, 128, 143, 192, 195] [9, 24, 39, 54, 99, 114, 129, 144, 193, 195] [10, 25, 40, 55, 100, 115, 130, 145, 192, 193, 195] [11, 26, 41, 56, 101, 116, 131, 146, 194, 195] [12, 27, 42, 57, 102, 117, 132, 147, 192, 194, 195] [13, 28, 43, 58, 103, 118, 133, 148, 193, 194, 195] [14, 29, 44, 59, 104, 119, 134, 149, 192, 193, 194, 195] [0, 2, 4, 6, 8, 10, 12, 14, 180] [1, 2, 5, 6, 9, 10, 13, 14, 181] [3, 4, 5, 6, 11, 12, 13, 14, 182] [7, 8, 9, 10, 11, 12, 13, 14, 183] [15, 17, 19, 21, 23, 25, 27, 29, 180] [16, 17, 20, 21, 24, 25, 28, 29, 181] [18, 19, 20, 21, 26, 27, 28, 29, 182] [22, 23, 24, 25, 26, 27, 28, 29, 183] [30, 32, 34, 36, 38, 40, 42, 44, 180, 184] [31, 32, 35, 36, 39, 40, 43, 44, 181, 185] [33, 34, 35, 36, 41, 42, 43, 44, 182, 186] [37, 38, 39, 40, 41, 42, 43, 44, 183, 187] [45, 47, 49, 51, 53, 55, 57, 59, 180, 184] [46, 47, 50, 51, 54, 55, 58, 59, 181, 185] [48, 49, 50, 51, 56, 57, 58, 59, 182, 186] [52, 53, 54, 55, 56, 57, 58, 59, 183, 187] [60, 62, 64, 66, 68, 70, 72, 74, 184] [61, 62, 65, 66, 69, 70, 73, 74, 185] [63, 64, 65, 66, 71, 72, 73, 74, 186] [67, 68, 69, 70, 71, 72, 73, 74, 187] [75, 77, 79, 81, 83, 85, 87, 89, 184] [76, 77, 80, 81, 84, 85, 88, 89, 185] [78, 79, 80, 81, 86, 87, 88, 89, 186] [82, 83, 84, 85, 86, 87, 88, 89, 187] [90, 92, 94, 96, 98, 100, 102, 104, 180] [91, 92, 95, 96, 99, 100, 103, 104, 181] [93, 94, 95, 96, 101, 102, 103, 104, 182] [97, 98, 99, 100, 101, 102, 103, 104, 183] [105, 107, 109, 111, 113, 115, 117, 119, 180] [106, 107, 110, 111, 114, 115, 118, 119, 181] [108, 109, 110, 111, 116, 117, 118, 119, 182] [112, 113, 114, 115, 116, 117, 118, 119, 183] [120, 122, 124, 126, 128, 130, 132, 134, 180, 184] [121, 122, 125, 126, 129, 130, 133, 134, 181, 185] [123, 124, 125, 126, 131, 132, 133, 134, 182, 186] [127, 128, 129, 130, 131, 132, 133, 134, 183, 187] [135, 137, 139, 141, 143, 145, 147, 149, 180, 184] [136, 137, 140, 141, 144, 145, 148, 149, 181, 185] [138, 139, 140, 141, 146, 147, 148, 149, 182, 186] [142, 143, 144, 145, 146, 147, 148, 149, 183, 187] [150, 152, 154, 156, 158, 160, 162, 164, 184] [151, 152, 155, 156, 159, 160, 163, 164, 185] [153, 154, 155, 156, 161, 162, 163, 164, 186] [157, 158, 159, 160, 161, 162, 163, 164, 187] [165, 167, 169, 171, 173, 175, 177, 179, 184] [166, 167, 170, 171, 174, 175, 178, 179, 185] [168, 169, 170, 171, 176, 177, 178, 179, 186] [172, 173, 174, 175, 176, 177, 178, 179, 187]
H_Z (78 checks, sparse supports)
[0, 15, 30, 45, 90, 105, 120, 135, 180] [1, 16, 31, 46, 91, 106, 121, 136, 181] [2, 17, 32, 47, 92, 107, 122, 137, 180, 181] [3, 18, 33, 48, 93, 108, 123, 138, 182] [4, 19, 34, 49, 94, 109, 124, 139, 180, 182] [5, 20, 35, 50, 95, 110, 125, 140, 181, 182] [6, 21, 36, 51, 96, 111, 126, 141, 180, 181, 182] [7, 22, 37, 52, 97, 112, 127, 142, 183] [8, 23, 38, 53, 98, 113, 128, 143, 180, 183] [9, 24, 39, 54, 99, 114, 129, 144, 181, 183] [10, 25, 40, 55, 100, 115, 130, 145, 180, 181, 183] [11, 26, 41, 56, 101, 116, 131, 146, 182, 183] [12, 27, 42, 57, 102, 117, 132, 147, 180, 182, 183] [13, 28, 43, 58, 103, 118, 133, 148, 181, 182, 183] [14, 29, 44, 59, 104, 119, 134, 149, 180, 181, 182, 183] [30, 45, 60, 75, 120, 135, 150, 165, 184] [31, 46, 61, 76, 121, 136, 151, 166, 185] [32, 47, 62, 77, 122, 137, 152, 167, 184, 185] [33, 48, 63, 78, 123, 138, 153, 168, 186] [34, 49, 64, 79, 124, 139, 154, 169, 184, 186] [35, 50, 65, 80, 125, 140, 155, 170, 185, 186] [36, 51, 66, 81, 126, 141, 156, 171, 184, 185, 186] [37, 52, 67, 82, 127, 142, 157, 172, 187] [38, 53, 68, 83, 128, 143, 158, 173, 184, 187] [39, 54, 69, 84, 129, 144, 159, 174, 185, 187] [40, 55, 70, 85, 130, 145, 160, 175, 184, 185, 187] [41, 56, 71, 86, 131, 146, 161, 176, 186, 187] [42, 57, 72, 87, 132, 147, 162, 177, 184, 186, 187] [43, 58, 73, 88, 133, 148, 163, 178, 185, 186, 187] [44, 59, 74, 89, 134, 149, 164, 179, 184, 185, 186, 187] [0, 2, 4, 6, 8, 10, 12, 14, 188, 192] [1, 2, 5, 6, 9, 10, 13, 14, 189, 193] [3, 4, 5, 6, 11, 12, 13, 14, 190, 194] [7, 8, 9, 10, 11, 12, 13, 14, 191, 195] [15, 17, 19, 21, 23, 25, 27, 29, 188, 192] [16, 17, 20, 21, 24, 25, 28, 29, 189, 193] [18, 19, 20, 21, 26, 27, 28, 29, 190, 194] [22, 23, 24, 25, 26, 27, 28, 29, 191, 195] [30, 32, 34, 36, 38, 40, 42, 44, 192] [31, 32, 35, 36, 39, 40, 43, 44, 193] [33, 34, 35, 36, 41, 42, 43, 44, 194] [37, 38, 39, 40, 41, 42, 43, 44, 195] [45, 47, 49, 51, 53, 55, 57, 59, 192] [46, 47, 50, 51, 54, 55, 58, 59, 193] [48, 49, 50, 51, 56, 57, 58, 59, 194] [52, 53, 54, 55, 56, 57, 58, 59, 195] [60, 62, 64, 66, 68, 70, 72, 74, 188] [61, 62, 65, 66, 69, 70, 73, 74, 189] [63, 64, 65, 66, 71, 72, 73, 74, 190] [67, 68, 69, 70, 71, 72, 73, 74, 191] [75, 77, 79, 81, 83, 85, 87, 89, 188] [76, 77, 80, 81, 84, 85, 88, 89, 189] [78, 79, 80, 81, 86, 87, 88, 89, 190] [82, 83, 84, 85, 86, 87, 88, 89, 191] [90, 92, 94, 96, 98, 100, 102, 104, 188, 192] [91, 92, 95, 96, 99, 100, 103, 104, 189, 193] [93, 94, 95, 96, 101, 102, 103, 104, 190, 194] [97, 98, 99, 100, 101, 102, 103, 104, 191, 195] [105, 107, 109, 111, 113, 115, 117, 119, 188, 192] [106, 107, 110, 111, 114, 115, 118, 119, 189, 193] [108, 109, 110, 111, 116, 117, 118, 119, 190, 194] [112, 113, 114, 115, 116, 117, 118, 119, 191, 195] [120, 122, 124, 126, 128, 130, 132, 134, 192] [121, 122, 125, 126, 129, 130, 133, 134, 193] [123, 124, 125, 126, 131, 132, 133, 134, 194] [127, 128, 129, 130, 131, 132, 133, 134, 195] [135, 137, 139, 141, 143, 145, 147, 149, 192] [136, 137, 140, 141, 144, 145, 148, 149, 193] [138, 139, 140, 141, 146, 147, 148, 149, 194] [142, 143, 144, 145, 146, 147, 148, 149, 195] [150, 152, 154, 156, 158, 160, 162, 164, 188] [151, 152, 155, 156, 159, 160, 163, 164, 189] [153, 154, 155, 156, 161, 162, 163, 164, 190] [157, 158, 159, 160, 161, 162, 163, 164, 191] [165, 167, 169, 171, 173, 175, 177, 179, 188] [166, 167, 170, 171, 174, 175, 178, 179, 189] [168, 169, 170, 171, 176, 177, 178, 179, 190] [172, 173, 174, 175, 176, 177, 178, 179, 191]
Code ID 196-56-6 · download JSON · raw on GitHub