Here is a list of QLDPC codes.
Code | Description |
---|---|
3D surface code | A variant of the Kitaev surface code on a 3D lattice. The closely related solid code [1] consists of several 3D surface codes stitched together in a way that the distance scales faster than the linear size of the system. |
Balanced product (BP) code | Family of CSS quantum codes based on products of two classical codes which share common symmetries. The balanced product can be understood as taking the usual tensor/hypergraph product and then factoring out the symmetries factored. This reduces the overall number of physical qubits \(n\), while, under certain circumstances, leaving the number of encoded qubits \(k\) and the code distance \(d\) invariant. This leads to a more favourable encoding rate \(k/n\) and normalized distance \(d/n\) compared to the tensor/hypergraph product. |
Bring's code | Also called a small stellated dodecahedron code. A \([[30,8,3]]\) hyperbolic surface code on a quotient of the \(\{5,5\}\) hyperbolic tiling called Bring's curve. Its qubits and stabilizer generators lie on the vertices of the small stellated dodecahedron. Admits a set of weight-five stabilizer generators. |
Classical-product code | A CSS code constructed by separately constructing the \(X\) and \(Z\) check matrices using product constructions from classical codes. A particular \([[512,174,8]]\) code performed well [2] against erasure and depolarizing noise when compared to other notable CSS codes, such as the asymptotically good quantum Tanner codes. |
Crystalline-circuit qubit code | Code dynamically generated by unitary Clifford circuits defined on a lattice with some crystalline symmetry. A notable example is the circuit defined on a rotated square lattice with vertices corresponding to iSWAP gates and edges decorated by \(R_X[\pi/2]\), a single-qubit rotation by \(\pi/2\) around the \(X\)-axis. This circuit is invariant under space-time translations by a unit cell \((T, a)\) and all transformations of the square lattice point group \(D_4\). |
Dinur-Hsieh-Lin-Vidick (DHLV) code | Stub. |
Distance-balanced code | Galois-qudit CSS code constructed from a CSS code and a classical code using a distance-balancing procedure based on a generalized homological product. The initial code is said to be unbalanced, i.e., tailored to noise biased toward either bit- or phase-flip errors, and the procedure can result in a code that is treats both types of errors on a more equal footing. The original distance-balancing procedure [3], later generalized [4; Thm. 4.2], can yield QLDPC codes [3; Thm. 1]. |
Expander LP code | Family of \(G\)-lifted product codes constructed using two random classical Tanner codes defined on expander graphs [5]. For certain parameters, this construction yields the first asymptotically good QLDPC codes. Classical codes resulting from this construction are one of the first two families of \(c^3\)-LTCs. |
Fiber-bundle code | Also called a twisted product code. CSS code constructed by combining a random LDPC code as the base and a cyclic repetition code as the fiber of a fiber bundle. After applying distance balancing, a QLDPC code with distance \(\Omega(n^{3/5}\text{polylog}(n))\) and rate \(\Omega(n^{-2/5}\text{polylog}(n))\) is obtained. |
Floquet code | Also called a Hastings-Haah code. Dynamically-generated stabilizer-based code whose logical qubits are generated through a particular sequence of check-operator measurements such that the number of logical qubits is larger than when the code is viewed as a static subsystem stabilizer code. |
Floquet color code | Also called the CSS Floquet code. Floquet code on a trivalent lattice whose parent topological phase is the \(\mathbb{Z}_2\times\mathbb{Z}_2\) 2D color-code phase and whose measurements cycle logical quantum information between the three \(\mathbb{Z}_2\) surface-code condensed phases of the parent phase. The code's ISG is the stabilizer group of one of the three surface codes. |
Fractal surface code | Kitaev surface code on a fractal geometry, which is obtained by removing qubits from the surface code on a cubic lattice. Stub. |
Fracton code | A code whose codewords make up the ground-state space of a fracton-phase Hamiltonian. |
Freedman-Meyer-Luo code | Hyperbolic surface code constructed using cellulation of a Riemannian Manifold \(M\) exhibiting systolic freedom [6]. Codes derived from such manifolds can achieve distances scaling better than \(\sqrt{n}\), something that is impossible using closed 2D surfaces or 2D surfaces with boundaries [7]. Improved codes are obtained by studying a weak family of Riemann metrics on closed 4-dimensional manifolds \(S^2\otimes S^2\) with the \(Z_2\)-homology. |
Generalized homological-product CSS code | CSS code whose properties are determined from an underlying chain complex, which often consists of some type of product of other chain complexes. |
Generalized homological-product code | Stabilizer code whose properties are determined from an underlying chain complex, which often consists of some type of product of other chain complexes. The Qubit CSS-to-homology correspondence yields an interpretation of codes in terms of manifolds, thus allowing for the use of various products from topology in constructing codes. |
Generalized surface code | Also called the \(D\)-dimensional surface or \(D\)-dimensional toric code. CSS-type extenstion of the Kitaev surface code to arbitrary \(D\)-dimensional manifolds. The 4D surface code serves as a self-correcting quantum memory, while surface codes in higher dimensions can have distances not possible in lower dimensions. |
Golden code | Variant of the Guth-Lubotzky hyperbolic surface code that uses regular tessellations for 4-dimensional hyperbolic space. |
Good QLDPC code | Also called asymptotically good QLDPC codes. A family of QLDPC codes \([[n_i,k_i,d_i]]\) whose asymptotic rate \(\lim_{i\to\infty} k_i/n_i\) and asymptotic distance \(\lim_{i\to\infty} d_i/n_i\) are both positive. |
Guth-Lubotzky code | Hyperbolic surface code based on cellulations of certain four-dimensional manifolds. The manifolds are shown to have good homology and systolic properties for the purposes of code construction, with corresponding codes exhibiting linear rate. |
Haah cubic code | Class of stabilizer codes on a length-\(L\) cubic lattice with one or two qubits per site. We also require that the stabilizer group \(\mathsf{S}\) is translation invariant and generated by two types of operators with support on a cube. In the non-CSS case, these two are related by spatial inversion. For CSS codes, we require that the product of all corner operators is the identity. We lastly require that there are no non-trival ''string operators'', meaning that single-site operators are a phase, and any period one logical operator \(l \in \mathsf{S}^{\perp}\) is just a phase. Haah showed in his original construction that there is exactly one non-CSS code of this form, and 17 CSS codes [8]. The non-CSS code is labeled code 0, and the rest are numbered from 1 - 17. Codes 1-4, 7, 8, and 10 do not have string logical operators [8,9]. |
Hemicubic code | Stub. |
Hierarchical code | Member of a family of \([[n,k,d]]\) qubit stabilizer codes resulting from a concatenation of a constant-rate QLDPC code with a rotated surface code. Concatenation allows for syndrome extraction to be performed efficiently on a 2D geometry at the expense of a logarithmically vanishing rate. |
High-dimensional expander (HDX) code | CSS code constructed from a Ramanujan quantum code and an asymptotically good classical LDPC code using distance balancing. Ramanujan quantum codes are defined using Ramanujan complexes which are simplicial complexes that generalise Ramanujan graphs [10,11]. Combining the quantum code obtained from a Ramanujan complex and a good classical LDPC code, which can be thought of as coming from a 1-dimensional chain complex, yields a new quantum code that is defined on a 2-dimensional chain complex. This 2-dimensional chain complex is obtained by the co-complex of the product of the 2 co-complexes. The length, dimension and distance of the new quantum code depend on the input codes. |
Homological product code | CSS code formulated using the homological product of two chain complexes (see Qubit CSS-to-homology correspondence). Stub. |
Homological rotor code | A homological quantum rotor code is an extension of analog stabilizer codes to rotors. The code is stabilized by a continuous group of rotor X-type and Z-type generalized Pauli operators. Codes are formulated using an extension of the qubit CSS-to-homology correspondence to rotors. The homology group of the logical operators has a torsion component because the chain complexes are defined over the ring of integers, which yields codes with finite logical dimension, i.e., encoding logical qudits instead of only logical rotors. Such finite-dimensional encodings are not possible with analog stabilizer codes. |
Honeycomb Floquet code | Floquet code based on the Kitaev honeycomb model [12] whose logical qubits are generated through a particular sequence of measurements. |
Hyperbolic surface code | An extension of the Kitaev surface code construction to hyperbolic manifolds. Given a cellulation of a manifold, qubits are put on \(i\)-dimensional faces, \(X\)-type stabilizers are associated with \((i-1)\)-faces, while \(Z\)-type stabilizers are associated with \(i+1\)-faces. |
Hypergraph product (HGP) code | A family of \([[n,k,d]]\) CSS codes whose construction is based on two binary linear seed codes \(C_1\) and \(C_2\). |
Hypersphere product code | Stub. |
Kitaev current-mirror qubit code | Member of the family of \([[2n,(0,2),(2,n)]]_{\mathbb{Z}}\) homological rotor codes on a thin Möbius strip. The ideal code can be obtained from a Josephson-junction [13] system [14]. |
Kitaev surface code | A family of abelian topological CSS stabilizer codes whose generators are few-body \(X\)-type and \(Z\)-type Pauli strings associated to the stars and plaquettes, respectively, of a cellulation of a two-dimensional surface (with a qubit located at each edge of the cellulation). Toric code often either refers to the construction on the two-dimensional torus or is an alternative name for the general construction. The construction on surfaces with boundaries is often called the planar code [15–17]. Codewords correspond to ground states of the surface code Hamiltonian, and error operators create or annihilate pairs of anyonic charges or vortices. |
Lifted-product (LP) code | Also called a Panteleev-Kalachev (PK) code. Code that utilizes the notion of a lifted product in its construction. Lifted products of certain classical Tanner codes are the first (asymptotically) good QLDPC codes. |
Lossless expander balanced-product code | QLDPC code constructed by taking the balanced product of lossless expander graphs. Using one part of a quantum-code chain complex constructed with one-sided loss expanders [18] yields a \(c^3\)-LTC [19]. Using two-sided expanders, which are only conjectured to exist, yields an asymptotically good QLDPC code family [20]. |
Projective-plane surface code | A family of Kitaev surface codes on the non-orientable 2-dimensional compact manifold \(\mathbb{R}P^2\) (in contrast to a genus-\(g\) surface). Whereas genus-\(g\) surface codes require \(2g\) logical qubits, qubit codes on \(\mathbb{R}P^2\) are made from a single logical qubit. |
Quantum Tanner code | Member of a family of QLDPC codes based on two compatible classical Tanner codes defined on a two-dimensional Cayley complex. For certain choices of codes and complex, the resulting codes have asymptotically good parameters. |
Quantum check-product code | Stub. |
Quantum convolutional code | One-dimensional translationally invariant qubit stabilizer code whose whose stabilizer group can be partitioned into constant-size subsets of constant support and of constant overlap between neighboring sets. Initially formulated as a quantum analogue of convolutional codes, which were designed to protect a continuous and never-ending stream of information. Precise formulations sometimes begin with a finite-dimensional lattice, with the intent to take the thermodynamic limit; logical dimension can be infinite as well. |
Quantum expander code | CSS codes constructed from a hypergraph product of bipartite expander graphs [5] with bounded left and right vertex degrees. For every bipartite graph there is an associated matrix (the parity check matrix) with columns indexed by the left vertices, rows indexed by the right vertices, and 1 entries whenever a left and right vertex are connected. This matrix can serve as the parity check matrix of a classical code. Two bipartite expander graphs can be used to construct a quantum CSS code (the quantum expander code) by using the parity check matrix of one as \(X\) checks, and the parity check matrix of the other as \(Z\) checks. |
Quantum low-density parity-check (QLDPC) code | Also called a sparse quantum code. Member of a family of \([[n,k,d]]\) modular-qudit or Galois-qudit stabilizer codes for which the number of sites participating in each stabilizer generator and the number of stabilizer generators that each site participates in are both bounded by a constant as \(n\to\infty\). A geometrically local stabilizer code is a QLDPC code where the sites involved in any syndrome bit are contained in a fixed volume that does not scale with \(n\). As opposed to general stabilizer codes, syndrome extraction of the constant-weight check operators of a QLDPC codes can be done using a constant-depth circuit. |
Quantum parity code (QPC) | Also called a generalized Shor code [21]. A \([[m_1 m_2,1,\min(m_1,m_2)]]\) CSS code family obtained from concatenating an \(m_1\)-qubit phase-flip repetition code with an \(m_2\)-qubit bit-flip repetition code. Logical codewords are \begin{align} \begin{split} |\overline{0}\rangle&=\frac{1}{2^{m_2/2}}\left(|0\rangle^{\otimes m_1}+|1\rangle^{\otimes m_1}\right)^{\otimes m_2}\\ |\overline{1}\rangle&=\frac{1}{2^{m_2/2}}\left(|0\rangle^{\otimes m_1}-|1\rangle^{\otimes m_1}\right)^{\otimes m_2}~. \end{split} \tag*{(1)}\end{align} |
Quantum repetition code | Encodes \(1\) qubit into \(n\) qubits according to \(|0\rangle\to|\phi_0\rangle^{\otimes n}\) and \(|1\rangle\to|\phi_1\rangle^{\otimes n}\). Also known as a bit-flip code when \(|\phi_i\rangle = |i\rangle\), and a phase-flip code when \(|\phi_0\rangle = |+\rangle\) and \(|\phi_1\rangle = |-\rangle\). |
Quantum spatially coupled (SC-QLDPC) code | QLDPC code whose stabilizer generator matrix resembles the parity-check matrix of SC-LDPC codes. There exist CSS [22] and stabilizer constructions [23]. In either case, the stabilizer generator matrix is constructed by "spatially" coupling sub-matrix blocks in chain-like fashion (or, more generally, in grid-like fashion) to yield a band matrix. The sub-matrix blocks have to satisfy certain conditions amongst themselves so that the resulting band matrix is a stabilizer generator matrix. |
Rotated surface code | Also called a checkerboard code. CSS variant of the surface code defined on a square lattice that has been rotated 45 degrees such that qubits are on vertices, and both \(X\)- and \(Z\)-type check operators occupy plaquettes in an alternating checkerboard pattern. |
Surface-17 code | A \([[9,1,3]]\) rotated surface code named for the sum of its 9 data qubits and 8 syndrome qubits. It uses the smallest number of qubits to perform error correction on a surface code with parallel syndrome extraction. |
Tensor-product HDX code | Code constructed in a similar way as the HDX code, but utilizing tensor products of Ramanujan complexes in order to improve code distance from \(\sqrt{n}\log n\) to \(\sqrt{n}~\text{polylog}(n)\). The utility of such tensor products comes from the fact that one of the Ramanujan complexes is a collective cosystolic expander as opposed to just a cosystolic expander. |
Three-rotor code | \([[3,1,2]]_{\mathbb Z}\) rotor code that is an extension of the \([[3,1,2]]_3\) qutrit CSS code to the integer alphabet, i.e., the angular momentum states of a planar rotor. The code is \(U(1)\)-covariant and its ideal codewords, \begin{align} |\overline{x}\rangle = \sum_{y\in\mathbb{Z}} \left| -3y,y-x,2(y+x) \right\rangle~, \tag*{(2)}\end{align} where \(x\in\mathbb{Z}\), are not normalizable. |
Translationally invariant stabilizer code | A geometrically local qubit, modular-qudit, or Galois-qudit stabilizer code with qudits organized on a lattice modeled by the additive group \(\mathbb{Z}^D\) for spatial dimension \(D\) such that each lattice point, referred to as a site, contains \(m\) qudits of dimension \(q\). The stabilizer group of the translationally invariant code is generated by site-local Pauli operators and their translations. |
Transverse-field Ising model (TFIM) code | A 1D translationally invariant stabilizer code whose encoding is a constant-depth circuit of nearest-neighbor gates on alternating even and odd bonds that consist of transverse-field Ising Hamiltonian interactions. The code allows for perfect state transfer of arbitrary distance using local operations and classical communications (LOCC). |
Two-dimensional hyperbolic surface code | Hyperbolic surface codes based on a tessellation of a closed 2D manifold with a hyperbolic geometry (i.e., non-Euclidean geometry, e.g., saddle surfaces when defined on a 2D plane). |
X-cube model code | A Type-I fracton code supporting a subextensive number of logical qubits. |
XYZ product code | A non-CSS QLDPC code constructed from three classical codes. The construction of an XYZ product code is similar to that of a hypergraph product code and related codes. The idea is that rather than taking a product of only two classical codes to produce a CSS code, a third classical code is considered, acting with Pauli-\(Y\) operators. |
Zero-pi qubit code | A \([[2,(0,2),(2,1)]]_{\mathbb{Z}}\) homological rotor code on the smallest tiling of the projective plane \(\mathbb{R}P^2\). The ideal code can be obtained from a four-rotor Josephson-junction [13] system after a choice of grounding [14]. |
\((5,1,2)\)-convolutional code | Quantum convolutional code with the stabilizer generators \begin{align} \begin{array}{cccccccc} X & Z & I & I & I & I & I & \cdots\\ Z & X & X & Z & I & I & I & \cdots\\ I & Z & X & X & Z & I & I & \cdots\\ I & I & Z & X & X & Z & I & \cdots\\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \ddots \end{array} \tag*{(3)}\end{align} |
\([[4,2,2]]\) CSS code | Four-qubit CSS stabilizer code is the smallest qubit stabilizer code to detect a single-qubit error. Admits generators \(\{XXXX, ZZZZ\} \) and codewords \begin{align} \begin{split} |\overline{00}\rangle = (|0000\rangle + |1111\rangle)/\sqrt{2}~{\phantom{.}}\\ |\overline{01}\rangle = (|0011\rangle + |1100\rangle)/\sqrt{2}~{\phantom{.}}\\ |\overline{10}\rangle = (|0101\rangle + |1010\rangle)/\sqrt{2}~{\phantom{.}}\\ |\overline{11}\rangle = (|0110\rangle + |1001\rangle)/\sqrt{2}~. \end{split} \tag*{(4)}\end{align} This code is the smallest instance of the toric code, and its various single-qubit subcodes are small planar surface codes. |
\([[9,1,3]]\) Shor code | Nine-qubit CSS code that is the first quantum error-correcting code. |