← back to the board
[[48,4,8]] d =
n
48
k
4
d
8
kd²/n
5.333
w
6
X/Z
1
g
0.0046
r
5.831
layers
2
swaps
126

Share this result

Distance

X/Z asymmetry 1 · d_X = 8, d_Z = 8 · w_X = 6, w_Z = 6 (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)
[5, 7, 18, 31, 34, 37, 42, 43]
d_Z 8 · witness weight 8 (claimed upper_bound)
witness operator (support, 8 qubits)
[5, 8, 12, 13, 18, 32, 34, 37]
certificate exact, d = 8 · scipy/HiGHS MILP
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 6 · H_Z 6
qubit degrees H_X 3 · H_Z 3
trapping sets H_X (1,3)×48 (2,2)×48 (3,3)×488 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 48 (2,2): 48 (2,4): 264 (3,3): 488 (3,5): 1992 (3,7): 168
trapping sets H_Z (1,3)×48 (2,2)×48 (3,3)×488 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 48 (2,2): 48 (2,4): 264 (3,3): 488 (3,5): 1992 (3,7): 168
witness diameter X 3.6056 · Z 3.1623 (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)

Circuit tier

syndrome-extraction memory circuits committed under circuits/48-4-8/ · canonical noise recipe, 8 rounds, stim 1.16.0
d_circ ≤ 8 (min over bases; penalty-only, clamped to ≤ d)
d_circ^X 8 · fault-set witness of 8 mechanisms (claimed upper_bound)
witness fault set (mechanism indices in the committed .dem, 8)
[445, 472, 576, 624, 680, 747, 748, 1104]
d_circ^Z 8 · fault-set witness of 8 mechanisms (claimed upper_bound)
witness fault set (mechanism indices in the committed .dem, 8)
[25, 33, 348, 473, 480, 538, 638, 794]
no measured logical error rate yet; d_circ is a floor, and the measured tier records the prefactor it cannot see

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
r = 5.831
X checkZ checkqubit site (24)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 126 nearest-neighbor SWAPs per round in total, at most 6 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 Zijian Liang and Ke Liu and Hao Song and Yu-An Chen
provenance literature baseline
construction Twisted-torus bivariate-bicycle code from Generalized toric codes on twisted tori for quantum error correction (PRX Quantum 6, 020357, 2025). Stabilizers f(x,y)=1+x+x2, g(x,y)=1+y+x2 on the abelian quotient group Z2/L with twist basis a_1=[0, 3], a_2=[8, 1] (n=2|det[a_1,a_2]|=2*24). Reconstructed from the published polynomials and twist; CSS form H_X=[f|g], H_Z=[gbar|fbar].
model classical construction (no AI model)
date 2025
notes Reconstructed baseline from Liang, Liu, Song, Chen, Generalized toric codes on twisted tori for quantum error correction (PRX Quantum 6, 020357, 2025), arXiv:2503.03827. The [[n,k,d]] parameter set and stabilizer polynomials are published in that paper; this entry reproduces them. Distance is an upper bound per the paper (probabilistic for d>20); the witness is the surrogate logical of that weight. Seeded to fill a board coverage gap at this block size, not a discovery. Also, a verifier-accepted honest bilayer layout (stacked 4x6 grid, 2 qubits per site, layers=2, measured interaction radius ~5.831) was found by @mathysrennela (Aug 2026) and is shipped in this file's locality block; it earns the code the local-2d-bilayer class and makes the site's geometric efficiency g = 4kd^2/(n rho^2 r^4) computable. Credit for this layout goes to @mathysrennela; code authorship remains with the paper's authors.
family bivariate bicycle (a tag, not a ranking)
locality 2D-local bilayer (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[48,4,8]] — layout certification for the twisted-torus bivariate-bicycle baseline

Direction & hypothesis

[[48,4,8]] (twisted-torus bivariate-bicycle, Liang–Liu–Song–Chen, PRX Quantum 6 020357 / arXiv:2503.03827) was seeded as a literature baseline without a layout, so it competed only in the unrestricted cells even though it comes from a family that is geometrically local on a torus. The goal was to certify a 2D-local layout: find an honest bilayer embedding (spacing >= 1, at most 2 qubits per site, every check diameter <= 7.0) so the code earns the local-2d-bilayer class and the site's geometric efficiency g becomes computable.

What was searched

Screened all 46 on-board codes that currently ship no accepted layout by constructing family-appropriate honest embeddings (stacked q x q grids, block-ring, and city-path) and judging each with the trusted verifier. Among the candidates that reach a plausible radius, [[48,4,8]] was the smallest: n/2 = 24 sites, so the stacked-grid pattern used by the accepted w-4 bivariate-bicycle siblings ([[72,6,6]], [[112,6,7]], [[128,6,8]], all at r ≈ 4.123) generalizes directly.

Layout chosen: qubits i and i+24 share a site on a 4 x 6 unit grid, layers = 2. The verifier's exact measurement:

  • interaction radius r = 5.831 (<= 7.0 bilayer cap)
  • max qubits per site 2 (<= layers)
  • min site spacing 1.0
  • bounding box [3.0, 5.0]

No locality.interaction_radius claim is stored beyond the measured value (none was asserted). The verifier also checked honesty of the layout; all checks pass, locality_class = local-2d-bilayer.

Evidence trail

  • Before: unrestricted (no locality block), no g.
  • After: local-2d-bilayer, `g = 4*k*d^2/(n*rho^2*r^4) = 4*4*8^2/(48*4*5.831^4)
  • = 0.0046`.

  • Operational efficiency unchanged: k*d^2/n = 5.333.
  • Distance unchanged and intact: upper bound d = 8 both sides, witnesses
  • preserved exactly from the original entry (this edit only adds locality and a provenance note; no checks or distance fields were touched).

The g value is small by design: the rho^2 = 4 capacity charge for the two layers and the w-8 check span (r ~ 5.8) price most of the surface-code-normalized score away. The value of this change is the certification status, not the score: [[48,4,8]] now competes in the 2D-local cell, where it is an (n,k,d,w) Pareto co-leader near [[45,5,4]] and [[49,1,7]].

Dead ends

  • The city-path embedding reaches r ~ 5.5 but piles 3+ qubits on single sites,
  • failing the per-site cap; only the stacked two-layer grid pattern keeps per-site <= 2 while staying under the radius cap.

  • The same stacked pattern does NOT work for the sibling [[98,6,12]]: its
  • twist basis a_2 = [7, 0] makes the w-6 checks span the full torus diagonal (pairwise torus wrap-distance 24), so no honest flat layout exists within the bilayer radius cap; it stays unrestricted.

Tools

Reproducible via the repository research kit: the layout is a stacked grid constructed independently and judged by verify/qldpc_verify.py (the trusted verifier used by the site build), then packaged with research/kit/submit.save_submission (schema-validated). No distance search, no SLSQP, no model.

Reproduction

Load codes/48-4-8.json, set `locality = {"coordinates": [[float((i % 24) % 4), float((i % 24) // 4)] for i in range(48)], "layers": 2} (qubits i and i+24` share a site), and validate:

uv run python verify/qldpc_verify.py codes/48-4-8.json

Expected: ok, earned_distance with d = 8 both sides, and computed locality_class = local-2d-bilayer with interaction_radius = 5.831.

Parity checks

X-checks 24 (max weight 6) · Z-checks 24 (max weight 6)
H_X (24 checks, sparse supports)
[0, 1, 3, 24, 26, 27] [1, 3, 6, 25, 28, 30] [2, 4, 7, 26, 29, 31] [3, 6, 9, 27, 31, 33] [4, 7, 10, 28, 32, 34] [5, 8, 11, 24, 29, 35] [6, 9, 12, 30, 34, 36] [7, 10, 13, 31, 35, 37] [8, 11, 14, 25, 32, 38] [9, 12, 15, 33, 37, 39] [10, 13, 16, 34, 38, 40] [11, 14, 17, 27, 35, 41] [12, 15, 18, 36, 40, 42] [13, 16, 19, 37, 41, 43] [14, 17, 20, 30, 38, 44] [5, 15, 18, 29, 39, 43] [16, 19, 21, 40, 44, 45] [17, 20, 22, 33, 41, 46] [5, 8, 18, 32, 42, 45] [0, 19, 21, 24, 43, 46] [20, 22, 23, 36, 44, 47] [0, 1, 21, 25, 45, 47] [2, 22, 23, 26, 39, 46] [2, 4, 23, 28, 42, 47]
H_Z (24 checks, sparse supports)
[0, 5, 19, 24, 43, 45] [1, 8, 21, 24, 25, 45] [0, 2, 22, 26, 46, 47] [0, 3, 11, 24, 25, 27] [1, 4, 23, 26, 28, 47] [2, 5, 15, 29, 39, 42] [1, 6, 14, 25, 27, 30] [2, 3, 7, 26, 28, 31] [4, 8, 18, 29, 32, 42] [3, 9, 17, 27, 30, 33] [4, 6, 10, 28, 31, 34] [5, 7, 11, 29, 32, 35] [6, 12, 20, 30, 33, 36] [7, 9, 13, 31, 34, 37] [8, 10, 14, 32, 35, 38] [9, 15, 22, 33, 36, 39] [10, 12, 16, 34, 37, 40] [11, 13, 17, 35, 38, 41] [12, 18, 23, 36, 39, 42] [13, 15, 19, 37, 40, 43] [14, 16, 20, 38, 41, 44] [16, 18, 21, 40, 43, 45] [17, 19, 22, 41, 44, 46] [20, 21, 23, 44, 46, 47]
Code ID 48-4-8 · download JSON · raw on GitHub