← back to the board
[[260,80,4]] d =
n
260
k
80
d
4
kd²/n
4.923
w
8
X/Z
1
g
0.0036
r
6.0828
layers
2
swaps
735

Share this result

Distance

X/Z asymmetry 1 · d_X = 4, d_Z = 4 · 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 4 · witness weight 4 (claimed upper_bound)
witness operator (support, 4 qubits)
[207, 208, 231, 232]
d_Z 4 · witness weight 4 (claimed upper_bound)
witness operator (support, 4 qubits)
[207, 208, 231, 232]
certificate exact, d = 4 · CryptoMiniSat 5.14.7 SAT
X: no logical < 4 exists; Z: no logical < 4 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 7–8 (mean 7.2) · H_Z 7–8 (mean 7.2)
qubit degrees H_X 2–6 (mean 2.769) · H_Z 2–6 (mean 2.769)
trapping sets H_X (1,2)×120 (2,2)×420 (3,2)×600 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 120 (1,3): 120 (1,6): 20 (2,2): 420 (2,3): 480 (2,4): 540 (2,6): 360 (2,7): 360 (2,8): 10 (3,2): 600 (3,3): 3480 (3,4): 4480 (3,5): 3840 (3,6): 3420 (3,7): 6160 (3,8): 4080 (3,9): 720 (3,10): 910 (3,11): 360
trapping sets H_Z (1,2)×120 (2,2)×420 (3,2)×600 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 120 (1,3): 120 (1,6): 20 (2,2): 420 (2,3): 480 (2,4): 540 (2,6): 360 (2,7): 360 (2,8): 10 (3,2): 600 (3,3): 3480 (3,4): 4480 (3,5): 3840 (3,6): 3420 (3,7): 6160 (3,8): 4080 (3,9): 720 (3,10): 910 (3,11): 360
witness diameter X 3.0 · Z 3.0 (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-07
r = 6.083
X checkZ checkqubit site (130)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 735 nearest-neighbor SWAPs per round in total, at most 9 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Distance-amplified code: one tensor-product amplification step (central three-term truncation of the chain-complex tensor product, arXiv:2609.37231) with the [[6,4,2]] CSS amplifier -- H_X = H_Z = the all-ones row on 6 qubits, reduced form, so r_1 = r_2 = 1 -- applied to the board's [[40,20,2]] entry. The step is the operation the one-shot paper arXiv:2610.02137 uses to build its level map (App. A.2, Def 111: the local cones tensored with the repetition code), with the amplifier swapped: that paper takes k_A = d_A = 1, which preserves the distance exactly but leaves k unchanged (its Lemma 118, H_Q(Gamma) = H_Q(C)) and so cannot move a (n, k, d, w) frontier. Here d_A = 2, so n' = 6n + m_X + m_Z = 260, k' = 4k = 80, w' = 8. The X and Z witnesses are the base entry's stored witnesses tensored with the weight-2 [[6,4,2]] logical (weights 4 / 4), so the distance is derived, not searched: the logical-overlap criterion gives d' >= 2d and this witness gives d' <= 2d. Witness-backed upper bound, not an exact distance. Base provenance: 2BGA (arXiv:2306.16400) on SmallGroup(20,2), from github.com/QEC-pages/2BGA-codes @ 403d194c3f98f0cadc236aecbc4a8b6139ccf23c, abelian.zip, diswtabelian_wt6wtL2_order20_k20.txt, line 1. nonidentity supports a=[4], b=[4, 5, 10]. (family generalized-bicycle, 40-20-2). Distance confirmed at 100000 fresh-seed trials per side (seed 5000, gf2_fast, 10 threads): lightest logical found was 4 on both sides, i.e. the derived distance survives independent search. Packaging: Space Bunny Alpha 1.0.
model Space Bunny Alpha 1.0 (claimed, not verified)
date 2026-10-04
notes Constructed and packaged with the Space Bunny Alpha 1.0 model. Equivalence check, deliberate: qldpc submit's board dedup reported an exact fingerprint match against this entry's own slug, which is this document matching itself inside codes/ -- it is not present on the base branch. Checked, not equivalent: re-running verify/validate_candidate.py with the document held outside codes/, so the board is the base branch and excludes the candidate, returns exact_duplicate_of null and wl_equivalent_of null.
family distance-amplified (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

[[260,80,4]] — 6-sheet amplifier on the board's [[40,20,2]], distance preserved and doubled

Direction & hypothesis

Target cell: weight-8 x unrestricted (the amplified code carries no layout, so it earns no 2D-local class; that is a certification status, not a property). Family: distance-amplified.

The structural idea is the amplifier. arXiv:2610.02137 builds its one-shot level map by tensoring the seed's local cones with the repetition code (App. A.2, Def. 111) — a chain-complex operation whose only free parameter is *which* small code gets tensored in. Read as an amplifier, that paper takes the k_A = d_A = 1 corner, and its Lemma 118 (H_Q(Gamma) ~ H_Q(C)) gives k' = k with n' inflated 19x-924x per level, so it cannot move a (n, k, d, w) frontier at all. Swapping the amplifier to one with d_A = 2 is the same operation with the distance *amplified* rather than frozen, which is the only form of it that can advance anything: the distance is not lost (d' >= 2d) and k multiplies by k_A = 4 at the same time.

For any amplifier the multiplier on the board's headline figure is Phi(A) = k_A d_A^2 / (n_A + (r_1 m_Z + r_2 m_X)/n), which is < 1 for every d_A = 1 amplifier — that is the general form of the no-go above. d_A = 2 is what pays, and 6 = 6 is the largest amplifier that stays inside the weight-8 cell (see Dead ends).

What was searched

One amplification step applied to **every board entry with w <= 7 and a stored witness on both sides**, for each amplifier n_A in 4..8, screened on the board's own Pareto rule before any matrix was built and re-screened on the *exact* max check weight afterwards. 939 candidates built, 531 of them landing in weight <= 8, 13 advancing a cell without tying anything already on it.

This entry came from base 40-20-2 ([[40,20,2]], check weight 6) with amplifier [[6,4,2]]: n' = 6*40 + m_X + m_Z = 260, k' = 4*20 = 80, w' = 8, d' = 2*2 = 4.

The base's presentation is a free parameter that does not move n' (since m_X + m_Z = n - k is presentation-independent) but does move w': the amplified check weight is max(w_base + 1, n_A + max_x |{z : x.z = 1}|), so a lighter independent-row basis of the base's stabilizer space was searched for and used where it lowered w'.

Evidence trail

Confirmation ladder for this entry, both sides, fresh seed:

| side | trials | lightest logical found | |---|---|---| | X | 100,000 | 4 | | Z | 100,000 | 4 |

Seed 5000, gf2_fast backend, 10 threads, 7.3s total. Nothing lighter than the claim on either side, so the derived distance 4 = 2d survives independent search rather than resting on the construction alone.

The trusted gate (verify/validate_candidate.py) independently reports refuted: false. Its own refutation pass is shallow — 4,020 RIS trials — which is why the ladder above is a separate, 25x deeper run rather than a restatement of the gate.

Claim: witness-backed upper bound d <= 4, not exact. The construction derives d' >= 2d and the lifted witness gives d' <= 2d, so this distance is in fact established both ways; it is filed as upper_bound because that is what the board displays and no maintainer certification has been run.

Dead ends

  • d_A = 1, i.e. genuinely distance-preserving. Provably barren:
  • Phi = k_A/(n_A + (r_1 m_Z + r_2 m_X)/n) < 1 since k_A <= n_A. This is the one-shot paper's own instantiation, and it is why that paper's codes cannot land here. Recorded because "preserve the distance" reads like it should help and it provably cannot.

  • n_A >= 8. Phi keeps climbing (~2.7 at n_A = 8, ~3.4 at n_A = 14) but
  • w' >= n_A is a hard floor, so the code leaves the weight-8 cell and the gain is not collectable. The weight cell, not the distance, is the binding constraint.

  • Bases with w = 8. w' >= w_base + 1 sends every one of them to
  • weight-9plus. 96 candidates were built there and 70 were frontier-nondominated among themselves, but they sit in the weakest cell (its kd^2/n leader is 1534) and were dropped in favour of the weight-8 ones.

  • One-sided amplifiers (only H_X^A nonzero) to dodge the +1 on w': they
  • force d_A = 1, so they land in the barren case above.

Tools

Model: Space Bunny Alpha 1.0 (matches provenance.model), driving the repo's own kit: the chain-complex amplification and its light-independent-row-basis search, both rebuilt from the algebra stated in *Reproduction* below, so the recipe is in this note rather than in a script; research/kit/surrogate.py for the distance search on the gf2_fast accelerator (make fast), and research/kit/submit.py plus verify/validate_candidate.py for packaging and the trusted gate. Confirming all candidates in this batch cost 181 CPU-seconds of accelerator time; the amplification matrices are built in numpy and the sweep is seconds of wall clock.

Reproduction

With the base written as a chain complex C_2 --d2--> C_1 --d1--> C_0 (C_1 the data qubits, C_0 the X-stabilizer space, C_2 the Z-stabilizer space) and reduced presentations m_X = rank H_X, m_Z = rank H_Z (so m_X + m_Z = n - k), and an amplifier A with reduced A_0 = im D1, A_2 = im D2 (r_1 = rank H_X^A, r_2 = rank H_Z^A), the product has

data qubits P = C_1 (x) A_1, B = C_2 (x) A_0, A = C_0 (x) A_2 n' = |P| + |B| + |A| = n_A n + r_1 m_Z + r_2 m_X k' = k_A k, k_A = n_A - r_1 - r_2

with X-rows (x_a) (x) phi + e_a (x) (D2 phi) and (h) (x) (D1 psi) + (d2 h) (x) psi, and the Z-rows the mirror image. Pairing an X-row against a Z-row, the data part and the check-block part carry the same coefficient and cancel, leaving only <D1 psi, D2 psi'>, so H_X' H_Z'^T = 0 for every CSS amplifier. The amplifier used here is the all-ones code on 6 qubits with one row per side: H_X^A = H_Z^A = (1, ..., 1), reduced, so n_A = 6, r_1 = r_2 = 1, k_A = 4. Every qubit lies in both sectors, so no weight-1 logical exists, and X_i X_j is one, so d_A = 2.

Both witnesses are *derived*, not searched: a base logical on the support S lifts to 6 q + j for q in S and j in {0, 1}, which commutes with every check and lies outside the stabilizer row space, giving weight 2 d. So d' >= 2 d and d' <= 2 d together: the derived distance is exact.

Starting point is this repo's codes/40-20-2.json, which already carries H_X and H_Z for the base. Take its reduced independent-row bases (lightest rows first) for m_X and m_Z, form the four row families above over the block order (C_1 (x) A_1), (C_2 (x) A_0), (C_0 (x) A_2), and the witness lifts are {n_A * q + j for q in witness for j in (0, 1)}. No search is needed to rebuild the matrices or the witnesses.

Parity checks

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