Here is a list of quantum CSS codes for qubits and qudits.

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. |

Approximate secret-sharing code | A family of \( [[n,k,d]]_q \) CSS codes approximately correcting errors on up to \(\lfloor (n-1)/2 \rfloor\) qubits, i.e., with approximate distance approaching the no-cloning bound \(n/2\). Constructed using a non-degenerate CSS code, such as a polynomial quantum code, and a classical authentication scheme. The code can be viewed as an \(t\)-error tolerant secret sharing scheme. Since the code yields a small logical subspace using large registers that contain both classical and quantum information, it is not useful for practical error correction problems, but instead demonstrates the power of approximate quantum error correction. |

Balanced product 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. |

Binary quantum Goppa code | Also known as a quantum AG code. Binary quantum Goppa codes are a family of \( [[n,k,d]]_q \) CSS codes for \( q=2^m \), generated using classical Goppa codes. |

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. |

CSS 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. |

Calderbank-Shor-Steane (CSS) stabilizer code | An \([[n,k,d]]\) stabilizer code admitting a set of stabilizer generators that are either \(Z\)-type or \(X\)-type Pauli strings. The stabilizer generator matrix is of the form \begin{align} H=\begin{pmatrix}0 & H_{Z}\\ H_{X} & 0 \end{pmatrix} \label{eq:parity} \tag*{(1)}\end{align} such that the rows of the two blocks must be orthogonal \begin{align} H_X H_Z^T=0~. \label{eq:comm} \tag*{(2)}\end{align} The above condition guarantees that the \(X\)-stabilizer generators, defined in the symplectic representation as rows of \(H_X\), commute with the \(Z\)-stabilizer generators associated with \(H_Z\). |

Color code | A family of abelian topological CSS stabilizer codes defined on a \(D\)-dimensional lattice which satisfies two properties: The lattice is (1) a homogeneous simplicial \(D\)-complex obtained as a triangulation of the interior of a \(D\)-simplex and (2) is \(D+1\)-colorable. Qubits are placed on the \(D\)-simplices and generators are supported on suitable simplices [3]. For 2-dimensional color code, the lattice must be such that it is 3-valent and has 3-colorable faces, such as a honeycomb lattice. The qubits are placed on the vertices and two stabilizer generators are placed on each face [4]. |

Dinur-Hsieh-Lin-Vidick (DHLV) code | Stub. |

Distance-balanced code | 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 [5], later generalized in Ref. [6], can yield QLDPC codes; see Thm. 1 in Ref. [5]. |

Expander lifted-product code | Family of \(G\)-lifted product codes constructed using two random classical Tanner codes defined on expander graphs. 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. |

Folded quantum Reed-Solomon (FQRS) code | CSS code on \(q^m\)-dimensional Galois-qudits that is constructed from folded Reed-Solomon (FRS) codes via the Galois-qudit CSS construction. This code is used to construct Singleton-bound approaching approximate quantum 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. |

Freedman-Meyer-Luo code | Hyperbolic surface code constructed using cellulation of a Riemannian Manifold \(M\) exhibiting systolic freedom [7]. 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 [8]. 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. |

Galois-qudit CSS code | An \([[n,k,d]]_q \) Galois-qudit true stabilizer code admitting a set of stabilizer generators that are either \(Z\)-type or \(X\)-type Galois-qudit Pauli strings. The stabilizer generator matrix, taking values from \(GF(q)\), is of the form \begin{align} H=\begin{pmatrix}0 & H_{Z}\\ H_{X} & 0 \end{pmatrix} \label{eq:parityg} \tag*{(3)}\end{align} such that the rows of the two blocks must be orthogonal \begin{align} H_X H_Z^T=0~. \label{eq:commG} \tag*{(4)}\end{align} The above condition guarantees that the \(X\)-stabilizer generators, defined in the symplectic representation as rows of \(H_X\), commute with the \(Z\)-stabilizer generators associated with \(H_Z\). |

Galois-qudit RS code | Also called a polynomial code (QPyC). An \([[n,k,n-k+1]]_q\) (with \(q>n\)) Galois-qudit CSS code constructed using two Reed-Solomon codes over \(GF(q)\). |

Galois-qudit topological code | Abelian topological code, such as a surface [9][10] or color [11] code, constructed on lattices of Galois qudits. |

Generalized homological product CSS code | Qubit, modular-qudit, or Galois-qudit generalized homological product code of CSS type. |

Golden code | Variant of the Guth-Lubotzky hyperbolic surface code that uses regular tessellations for 4-dimensional hyperbolic space. |

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. |

Hemicubic code | Stub. |

Higher-dimensional surface code | A family of Kitaev surface codes on planar or toric surfaces of dimension greater than two. Stub. |

Homological product code | CSS code formulated using the homological product of two chain complexes (see CSS-to-homology correspondence). Stub. |

Hyperbolic surface code | An extension of the Kitaev surface code construction to hyperbolic manifolds in dimension two or greater. 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 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 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 [12][13][14]. |

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. |

Modular-qudit CSS code | An \(((n,K,d))_q\) modular-qudit stabilizer code admitting a set of stabilizer generators that are either \(Z\)-type or \(X\)-type Pauli strings. The stabilizer generator matrix, taking values from \(\mathbb{Z}_q\), is of the form \begin{align} H=\begin{pmatrix}0 & H_{Z}\\ H_{X} & 0 \end{pmatrix} \label{eq:parityq} \tag*{(5)}\end{align} such that the rows of the two blocks must be orthogonal \begin{align} H_X H_Z^T=0~. \label{eq:commQ} \tag*{(6)}\end{align} The above condition guarantees that the \(X\)-stabilizer generators, defined in the symplectic representation as rows of \(H_X\), commute with the \(Z\)-stabilizer generators associated with \(H_Z\). |

Modular-qudit surface code | Also known as the \(\mathbb{Z}_q\) surface code. Extension of the surface code to prime-dimensional [15][9] and more general modular qudits [16]. Stabilizer generators are few-body \(X\)-type and \(Z\)-type Pauli strings associated to the stars and plaquettes, respectively, of a tessellation of a two-dimensional surface. Since qudits have more than one \(X\) and \(Z\)-type operator, various sets of stabilizer generators can be defined. Ground-state degeneracy and the associated phase depends on the qudit dimension and the stabilizer generators. |

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 Reed-Muller code | A CSS code formed from a classical Reed-Muller code (or its punctured versions) in which polynomials over finite fields encode data. This is done by transforming these polynomials into the stabilizer generator matrices. |

Quantum Reed-Solomon code | Also called prime-qudit polynomial code (QPyC). Prime-qudit CSS code constructed using two Reed-Solomon codes. |

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 divisible code | Consider a CSS code whose \(Z\)-stabilizers are determined by the dual of a classical \([n, k_1]\) linear binary code \(C_1\), and whose \(X\)-stabilizers are determined by a classical \([n, k_2]\) binary code \(C_2 \subset C_1\). This code is quantum divisible if all weights in \(C_2\) share a common divisor \(\Delta > 1\), and all weights in each coset of \(C_2\) in \(C_1\) are congruent to \(\Delta\). |

Quantum expander code | CSS codes constructed from a hypergraph product of bipartite expander graphs 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 parity code (QPC) | Also called a generalized Shor code [17]. 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*{(7)}\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\). |

Ramanujan-complex product 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. 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. |

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. |

Singleton-bound approaching AQECC | Approximate quantum code of rate \(R\) that can tolerate adversarial errors nearly saturating the quantum Singleton bound of \((1-R)/2\). The formulation of such codes relies on a notion of quantum list decoding. Sampling a description of this code can be done with an efficient randomized algorithm with \(2^{-\Omega(n)}\) failure probability. |

Skew-cyclic CSS code | Stub. |

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. |

Tensored-Ramanujan-complex product code | Code constructed in a similar way as the Ramanujan-complex product 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-qutrit code | A \([[3,1,2]]_3\) prime-qudit CSS code with stabilizer generators \(ZZZ\) and \(XXX\). The code defines a quantum secret-sharing scheme and serves as a minimal model for the AdS/CFT holographic duality. It is also the smallest non-trivial instance of a quantum maximum distance separable code (QMDS), saturating the quantum Singleton bound. The codewords are \begin{align} \begin{split} | \overline{0} \rangle &= \frac{1}{\sqrt{3}} (| 000 \rangle + | 111 \rangle + | 222 \rangle) \\ | \overline{1} \rangle &= \frac{1}{\sqrt{3}} (| 012 \rangle + | 120 \rangle + | 201 \rangle) \\ | \overline{2} \rangle &= \frac{1}{\sqrt{3}} (| 021 \rangle + | 102 \rangle + | 210 \rangle)~. \end{split} \tag*{(8)}\end{align} The elements in the superposition of each logical codeword are related to each other via cyclic permutations. |

Triorthogonal code | A triorthogonal \(m \times n\) binary matrix is triorthogonal if its rows \(r_1, \ldots, r_m\) satisfy \(|r_i \cdot r_j| = 0\) and \(|r_i \cdot r_j \cdot r_k| = 0\), where addition and multiplication are done on \(\mathbb{Z}_2\). The triorthogonal code associated with the matrix is constructed by mapping non-zero entries in even-weight rows to \(X\) operators, and \(Z\) operators for each row in the orthogonal complement. |

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). |

\([[15, 7, 3]]\) Hamming-based CSS code | Self-dual Hamming-based CSS code that admits permutation-based CZ logical gates. |

\([[15,1,3]]\) quantum Reed-Muller code | \([[15,1,3]]\) CSS code that is most easily thought of as a tetrahedral 3D color code. This code contains 15 qubits, represented by four vertices, four face centers, six edge centers, and one body center. The tetrahedron is cellulated into four identical polyhedron cells by connecting the body center to all four face centers, where each face center is then connected by three adjacent edge centers. Each colored cell corresponds to a weight-8 \(X\)-check, and each face corresponds to a weight-4 \(Z\)-check. A logical \(Z\) is any weight-3 \(Z\)-string along an edge of the entire tetrahedron. The logical \(X\) is any weight-7 \(X\)-face of the entire tetrahedron. |

\([[2^r-1, 1, 3]]\) quantum Reed-Muller code | Member of CSS code family constructed with a first-order punctured RM\((1,r)\) \([2^r-1,r+1,2^{r-1}-1]\) code and its even subcode for \(r \geq 3\). Each code transversally implements a member of an infinite family of diagonal gates from the Clifford hierarchy [18]. |

\([[2^r-1, 2^r-2r-1, 3]]\) Hamming-based CSS code | CCS code constructed with a classical Hamming code \([2^r-1,2^r-1-r,3]=C_X=C_Z\) a.k.a. a first-order punctured Reed-Muller code RM\((r-2,r)\). |

\([[2^r-1, 2^r-2r-1, 3]]_p\) prime-qudit CSS code | A family of CSS codes extending Hamming-based CSS codes to prime qudits of dimension \(p\) by expressing the qubit code stabilizers in local-dimension-invariant (LDI) form [19]. |

\([[2^{2r-1}-1,1,2^r-1]]\) quantum punctured Reed-Muller code | Member of CSS code family constructed with a punctured self-dual RM \([2^r-1,2^{r-1},\sqrt{2}^{r-1}-1]\) code and its even subcode for \(r \geq 2\). |

\([[2m,2m-2,2]]\) error-detecting code | Also known as the iceberg code. CSS stabilizer code for \(m\geq 2\) with generators \(\{XX\cdots X, ZZ\cdots Z\} \) acting on all \(2m\) physical qubits. Admits a basis such that each codeword is a superposition of a computational basis state labeled by a bitstring \(b\) and a state labeled by the negation of \(b\). Such states generalize the two-qubit Bell states and three-qubit GHz states and are often called cat states. |

\([[4,2,2]]\) CSS code | Also known as the \(C_4\) code. Four-qubit CSS stabilizer code with 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*{(9)}\end{align} This code is the smallest single-qubit error-detecting code. It is also the smallest instance of the toric code, and its various single-qubit subcodes are small planar surface codes. |

\([[7,1,3]]\) Steane code | A \([[7,1,3]]\) CSS code that uses the classical binary \([7,4,3]\) Hamming code for protecting against both \(X\) and \(Z\) errors. The parity-check matrix for the \([7,4,3]\) Hamming code is \begin{align} H = \left(\begin{matrix} 1&0&0&1&0&1&1\\ 0&1&0&1&1&0&1\\ 0&0&1&0&1&1&1 \end{matrix}\right), \tag*{(10)}\end{align} and the check matrix for the Steane code is therefore \begin{align} \left(\begin{matrix} 0&H\\ H&0 \end{matrix}\right). \tag*{(11)}\end{align} The stabilizer group for the Steane code has six generators. Logical codewords are \begin{align} \begin{split} |\overline{0}\rangle&=\frac{1}{\sqrt{8}}\Big(|0000000\rangle+|1010101\rangle+|0110011\rangle+|1100110\rangle\\&\,\,\,\,\,\,\,\,+|0001111\rangle+|1011010\rangle+|0111100\rangle+|1101001\rangle\Big)\\|\overline{1}\rangle&=\frac{1}{\sqrt{8}}\Big(|1111111\rangle+|0101010\rangle+|1001100\rangle+|0011001\rangle\\&\,\,\,\,\,\,\,\,+|1110000\rangle+|0100101\rangle+|1000011\rangle+|0010110\rangle\Big)~. \end{split} \tag*{(12)}\end{align} The automorphism group of the code is \(PGL(3,2)\) [20]. |

\([[8,3,2]]\) code | Smallest 3D color code whose physical qubits lie on vertices of a cube and which admits a transversal CCZ gate. Similar constructions exist on \(d\)-dimensional hypercubes and are called hyperoctahedron \([[2^d,d,2]]\) codes [21]. |

\([[9,1,3]]\) Shor code | Nine-qubit CSS code that is the smallest such code to correct a single-qubit error. Logical codewords are \begin{align} \begin{split} |\overline{0}\rangle&=\frac{1}{2\sqrt{2}}\left(|000\rangle+|111\rangle\right)^{\otimes3}\\ |\overline{1}\rangle&=\frac{1}{2\sqrt{2}}\left(|000\rangle-|111\rangle\right)^{\otimes3}~. \end{split} \tag*{(13)}\end{align} The code works by concatenating each qubit of a phase-flip with a bit-flip repetition code. Therefore, the code can correct both type of errors simultaneously. |

\([[9,1,3]]_{\mathbb{Z}_q}\) qudit code | Modular-qudit CSS code that generalizes the \([[9,1,3]]\) Shor code using properties of the multiplicative group \(\mathbb{Z}_q\). |

\([[k+4,k,2]]\) H code | Family of \([[k+4,k,2]]\) CSS codes with transversal Hadamard gates; relevant to magic state distillation. Four stablizer generators are \(X_1X_2X_3X_4\), \(Z_1Z_2Z_3Z_4\), \(X_1X_2X_5X_6...X_{k+4}\), and \(Z_1Z_2Z_5Z_6...Z_{k+4}\). |