Japanese overview · English overview · Main page

Kasai Code Catalog

This catalog restores the individual Kasai-code instances, parameter files, and minimum-distance records formerly published on the main English page.

Classification: the affine-coset, two-branch finite-field, rate-2/3 two-branch, and Okada–Kasai PP constructions are separate code families and are not included in this catalog.


Binary LDPC-based quantum codes

In Breaking the Orthogonality Barrier in Quantum LDPC Codes , we focus on the orthogonality constraints between X/Z parity-check matrices, which tend to introduce short cycles and limit code distance. This barrier also means that classical LDPC design principles, such as degree-distribution design, girth control, and short-cycle removal, cannot be freely imported into quantum LDPC construction. We control the commutativity of permutation matrices and restrict orthogonality constraints to the “active” part of the construction, while preserving a regular sparse structure. This yields explicit CSS LDPC codes with large girth, avoiding short cycles in the Tanner graph, and aims to recover within qLDPC construction the design freedom developed in classical LDPC coding.


Minimum-distance benchmark from degree distributions

We use a distance benchmark based on the average weight enumerator of regular LDPC-type ensembles to see how favorable a given degree distribution is from the minimum-distance viewpoint.

Minimum-distance benchmark used in the Boston 2026 slides
Minimum-distance benchmark for regular degree distributions, as used in the Boston 2026 slides. The horizontal axis is the normalized minimum distance \(d/n\), the vertical axis is the rate \(R\), the black curve is the CSS GV bound, and the colored curves show regular LDPC-type benchmarks with column weight \(J=3,4,5,6\). The circled \((3,12)\), \((3,8)\), and \((3,6)\) points are the finite-length CSS design points tested in the cited constructions. This is a degree-distribution benchmark, not a rigorous minimum-distance lower bound for the constructed CSS codes.

The colored curves are not exact minimum-distance computations for the constructed finite-length CSS codes. They are typical-relative-distance benchmarks obtained from the average weight enumerator of a \((J,L)\)-regular random LDPC-type ensemble. For relative weight \(\delta=d/n\), write the expected number of codewords as \(\mathbb{E}A_{\delta n}\doteq \exp(n\gamma_{J,L}(\delta))\). The plotted distance benchmark for each \((J,L)\) point is the first positive \(\delta\) satisfying \(\gamma_{J,L}(\delta)=0\). Here \[ \gamma_{J,L}(\delta) = h(\delta) +\frac{J}{L}\log P_L(x) -J\delta\log x -J h(\delta), \qquad P_L(x)=\frac{(1+x)^L+(1-x)^L}{2}, \] where \(x\) is the positive saddle-point solution of \[ \frac{xP_L'(x)}{P_L(x)}=L\delta . \] The curve for a fixed \(J\) is obtained by varying \(L\) and plotting the CSS design rate \(R=1-2J/L\). The black CSS GV curve is \(R=1-2h_2(\delta)\).


Live Upper-Bound Table

Upper-bound definitions are summarized here. The accompanying manuscript is arXiv:2604.15307.

The parameter files themselves are linked from the code entries below. See this short guide for how to read those files, and this note on upper-bound constructions for formal definitions of Latent UB, m-block UB, Fiber-quotient UB, CRT UB, Cycle-8 ETS UB, Direct CSS UB, and Decoder-fail UB. The m-block UB column records the full-fiber block-compression case, while Fiber-quotient UB records proper selected-fiber patterns only; the two columns are therefore separated method-specific entries, not a single minimized fiber-pattern value.

A consolidated supplementary page for this project is available here.

Exploratory Girth-6 Upper-Bound Table

These exploratory rows use girth at least 6 and enforce the two noncommuting pairs \((0,3)\) and \((1,2)\). They are kept separate from the girth-8 table below. The lower bound \(d \geq 8\) comes from an exact low-weight screening: odd weights are excluded by column weight 3, weight 2 is excluded by the girth condition, and weights 4 and 6 were not found in either CSS kernel. The decoder-fail upper bound also includes nondegenerate logical residuals found by the decoder-failure search.

A 3-Mac follow-up for smaller \(P\) found candidates at \(P=28,36,42,48\), but each was removed by a weight-6 logical witness. Rows whose upper-bound evidence already fixes \(d=8\) are omitted from this exploratory list; the current smallest listed row is \(P=92\). The exclusion summary is available as TSV. The \(P=192\) S1--S4 rows are the four survivor family members from the Toward-style P192 search.

Entries written as \(d=\cdots\) are exact: exhaustive low-weight search excludes every nontrivial logical operator below the stated weight on both CSS sides, and an independently checked logical witness attains the stated weight.

\(P\) Current best code Latent UB \(m\)-block UB Fiber-quotient UB CRT UB Cycle-8 ETS UB Direct CSS UB Decoder-fail UB DFC trials Seed
96 \(\left[\left[1152,580,d=10\right]\right]\) 36 32 24 54 -- 32 10 105.39M 960590001
120 \(\left[\left[1440,724,d=12\right]\right]\) 48 24 24 30 -- 30 12 6.00M 1203320015
140 S1 \(\left[\left[1680,844,d=14\right]\right]\) 24 28 20 20 -- 56 14 37,813,026+ 1405120011
192 S1 \(\left[\left[2304,1156,d=16\right]\right]\) 36 32 24 24 -- 128 16 10844.21M 1924120265
192 S2 \(\left[\left[2304,1156,d=16\right]\right]\) 36 32 24 72 -- 64 16 5981.19M 1924120041
192 S3 \(\left[\left[2304,1156,d=16\right]\right]\) 36 16 16 120 -- 74 16 5751.39M 1924168100
192 S4 \(\left[\left[2304,1156,d=16\right]\right]\) 36 32 24 102 -- 126 16 9499.30M 1924160123

Rows are sorted by increasing \(P\). All 47 listed girth-6 codes now report a rigorously verified exact distance \(d\): exhaustive no-witness certificates through \(d-1\) on both CSS sides, together with an independently checked weight-\(d\) logical witness.

\(P\) Current best code Latent UB \(m\)-block UB Fiber-quotient UB CRT UB Cycle-8 ETS UB Direct CSS UB Decoder-fail UB DFC trials Seed
240 \(\left[\left[2880,1444,d=14\right]\right]\)
d>=10 screen
24 40 24 40 NE 40 24 97.10M 2404844464
264 \(\left[\left[3168,1588,d=12\right]\right]\) 24 44 44 44 NE 44 22 128.00M 275023
288 \(\left[\left[3456,1732,d=16\right]\right]\) 24 24 24 64 NF 32 28 >448.00M 17230036422081291
384 \(\left[\left[4608,2308,18\leq d\leq 24\right]\right]\) 24 48 48 204 NE 128 28 84.00M 17229885754182916
384 (candidate) \(\left[\left[4608,2308,d=16\right]\right]\) 48 48 64 54 NE 64 -- 314.47M 3842304791
576 \(\left[\left[6912,3460,d=16\right]\right]\) 48 64 32 72 NF 72 -- 49.81M 17646913617314833
768 \(\left[\left[9216,4612,20\leq d\leq 48\right]\right]\) 48 108 64 222 NF 74 -- 102.24M 17592239305062458
768 (paper code) \(\left[\left[9216,4612,18\leq d\leq 24\right]\right]\) 48 32 24 96 NE 128 -- 40.00M paper
1536 \(\left[\left[18432,9220,\leq 48\right]\right]\) 48 256 96 978 NF 512 -- 86.05M 17613728482828666
1536 (candidate) \(\left[\left[18432,9220,\leq 48\right]\right]\) 192 96 48 996 NE 512 -- 18.05M 1536612105
1920 \(\left[\left[23040,11524,\leq 64\right]\right]\) 120 64 64 96 NF 96 -- 88.45M 17622415249116583
1920 (candidate) \(\left[\left[23040,11524,\leq 192\right]\right]\) 240 256 192 256 NE 256 -- 12.45M 1920612082
2688 \(\left[\left[32256,16132,\leq 128\right]\right]\) 336 128 128 224 NE 224 -- 76.98M 2688047043
3072 \(\left[\left[36864,18436,\leq 96\right]\right]\) 96 192 192 2048 NF 640 -- 4.00M 17613741499129833
3840 \(\left[\left[46080,23044,\leq 128\right]\right]\) 480 128 128 240 NF 240 -- 4.00M 17622378158439083
3840 (candidate) \(\left[\left[46080,23044,\leq 160\right]\right]\) 480 256 160 512 NE 256 -- 5.28M 3840356020
Figure 2. Current best upper bounds as a function of the code length \(n\). The blue polyline follows the best available row for each \(P\), including the follow-up candidates when they improve the record, while the red triangle marks the non-winner \(P=768\) reference row.

This table records upper bounds obtained from witnesses checked by the mechanisms named in the column headers.

In the Cycle-8 ETS UB column, NF means that the recorded evaluation produced no CSS witness, whereas NE means that no evaluation is recorded for that row. Neither label should be read as an exhaustive proof of nonexistence.

In the DFC trials column, -- means that no decoder-failure trial count is recorded for that row.



Rigorous minimum-distance verification

Every catalog entry written as \(d=d_0\) is backed by two logically separate computations: a complete no-witness search below \(d_0\) on both CSS sides, and an independently checked logical operator of weight \(d_0\). Decoder failures, topology catalogues, and heuristic upper-bound searches may locate useful witnesses, but they are not used as lower-bound certificates.

1. CSS quotient searched

Let \(H_XH_Z^{\mathsf T}=0\), with all linear algebra over \(\mathbb F_2\). The two distances are

\[ d_X=\min\{\operatorname{wt}(x):H_Zx^{\mathsf T}=0, \ x\notin\operatorname{rowspan}(H_X)\}, \] \[ d_Z=\min\{\operatorname{wt}(z):H_Xz^{\mathsf T}=0, \ z\notin\operatorname{rowspan}(H_Z)\}, \qquad d=\min(d_X,d_Z). \]

Thus an X-side search uses \((H,G)=(H_Z,H_X)\), and a Z-side search uses \((H,G)=(H_X,H_Z)\). It looks for \(\ker H\setminus\operatorname{rowspan}(G)\), not merely for a low-weight vector in \(\ker H\).

2. Complete connected-support search

For a weight limit \(W\), a depth-first-search state consists of a selected support \(S\), a locally forbidden set \(F\), and the syndrome \(\sigma(S)=H\mathbf 1_S^{\mathsf T}\). The search is performed as follows.

  1. Choose a root variable and require it to be the least variable in the support. Every permitted root is searched.
  2. If \(\sigma(S)=0\), test \(\mathbf 1_S\) by exact binary row reduction. If it is outside \(\operatorname{rowspan}(G)\), return it as a logical witness; otherwise close this branch.
  3. If the syndrome is nonzero, choose an unsatisfied check \(c\). Every zero-syndrome extension must add a variable from \(A_c=N(c)\setminus(S\cup F)\), so branch over every member of \(A_c\). After a branch is completed, add its candidate to the local forbidden set to avoid duplicate enumeration without deleting any support.
  4. Prune only when impossibility is proved: \(A_c=\varnothing\), the weight limit is exceeded, or a rigorous lower bound on the number of additional variables exceeds the remaining budget. Examples are \(\lceil|\sigma(S)|/\Delta\rceil\), where \(\Delta\) is the maximum column weight of \(H\), and a packing of unsatisfied checks having pairwise-disjoint available-variable sets.

A minimum logical operator has a Tanner-connected support and contains no proper nonempty zero-syndrome support. Consequently, closing a branch when it reaches a stabilizer does not hide a minimum logical operator, and the branching rule retains a path to every possible minimum logical support. A completed search returns no witness if and only if \(d(H,G)>W\).

3. Root coverage for APM codes

For a generic affine-permutation-matrix (APM) lift, the rigorous default is to use all \(n=LP\) physical variables as roots. The CPM reduction from \(LP\) roots to \(L\) roots uses a common cyclic translation and must not be applied automatically to APM blocks. For \(h(a)=\alpha a+\beta\), in general \(h(a+c)\neq h(a)+c\) when \(\alpha\neq1\). Root reduction is used only when an automorphism preserving both \(\ker H\) and \(\operatorname{rowspan}(G)\) has been explicitly verified; one root per verified orbit is then sufficient.

4. What constitutes an exact-distance certificate

The method and its completeness proof are given as the distance-verification algorithm in Okada and Kasai, Pair-Partition Constructions for CPM-Based Quantum LDPC Codes . The proof is stated for general binary matrices \(H,G\); cyclic symmetry is an optional CPM-specific acceleration, not a requirement for correctness.

Back to top