Here is a list of quantum Hamiltonian-based codes.
Code Description
3D surface code Also called the solid code. Stub.
Abelian topological code Code whose codewords realize topological order associated with an abelian group. Stub.
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.
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} \end{align} such that the rows of the two blocks must be orthogonal \begin{align} H_X H_Z^T=0~. \label{eq:comm} \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\).
Cat code Rotation-symmetric bosonic Fock-state code encoding a \(q\)-dimensional qudit into one oscillator. Codewords for a qubit code (\(q=2\)) consist of a coherent state \(|\alpha\rangle\) projected onto a subspace of Fock state number modulo \(2(S+1)\). The logical state \(|\overline{0}\rangle\) is in the \(\{|0\rangle , |2(S+1)\rangle , |4(S+1)\rangle \cdots \}\) Fock-state subspace, while \(|\overline{1}\rangle\) is in the \(\{|(S+1)\rangle, |3(S+1)\rangle , |5(S+1)\rangle , |7(S+1)\rangle \cdots \}\) subspace. An alternative basis, valid for for general \(q\) and \(\alpha\neq 0\), consists of \(q\) coherent states distributed equidistanctly around a circle in phase space of radius \(\alpha\).
Chuang-Leung-Yamamoto code Bosonic Fock-state code that encodes \(k\) qubits into \(n\) oscillators, with each oscillator restricted to having at most \(N\) excitations. Codewords are superpositions of oscillator Fock states which have exactly \(N\) total excitations, and are either uniform (i.e., balanced) superpositions or unbalanced superpositions. Codes can be denoted as \([[N,n,2^k,d]]\), which conflicts with stabilizer code notation.
Clifford-deformed surface code (CDSC) A generally non-CSS derivative of the surface code defined by applying a constant-depth Clifford circuit to the original (CSS) surface code. Unlike the surface code, CDSCs include codes whose thresholds and subthreshold performance are enhanced under noise biased towards dephasing. Examples of CDSCs include the XY code, XZZX code, and random CDSCs.
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 [1]. 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 [2].
Constant-excitation (CE) code Code whose codewords lie in an excited-state eigenspace of a Hamiltonian governing the total energy or total number of excitations of the underlying quantum system. For qubit codes, such a Hamiltonian is the total spin Hamiltonian, \(H=\sum_i Z_i\). For bosonic codes, such as Fock-state codes, codewords are in an eigenspace with eigenvalue \(N>0\) of the total excitation or energy Hamiltonian, \(H=\sum_i \hat{n}_i\).
Constant-excitation permutation-invariant code Stub.
Distance-balanced code CSS stabilizer 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 in Ref. [4], can yield QLDPC codes; see Thm. 1 in Ref. [3].
Double-semion code Stub.
Dual-rail code Two-mode code encoding a logical qubit in Fock states with one excitation. The logical-zero state is represented by \(|01\rangle\), while the logical-one state is represented by \(|10\rangle\).
Eigenstate thermalization hypothesis (ETH) code Also called a thermodynamic code [5]. An \(n\)-qubit approximate code whose codespace is formed by eigenstates of a translationally-invariant quantum many-body system which satisfies the Eigenstate Thermalization Hypothesis (ETH). ETH ensures that codewords cannot be locally distinguished in the thermodynamic limit. Relevant many-body systems include 1D non-interacting spin chains, Motzkin chains, or Heisenberg models.
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 [6].
Fiber-bundle 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.
Fibonacci string-net code Quantum error correcting code associated with the Levin-Wen string-net model with the Fibonacci input category, admitting two types of encodings.
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 Riemann Manifold \(M\) exhibitng 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.
GNU permutation-invariant code Can be expressed in terms of Dicke states where the logical states are \begin{align} |\overline{\pm}\rangle = \sum_{\ell=0}^{n} \frac{(\pm 1)^\ell}{\sqrt{2^n}} \sqrt{n \choose \ell} |D^m_{g \ell}\rangle~. \end{align} Here, \(m\) is the number of particles used for encoding \(1\) qubit, and \(g, n \leq m\) are arbitrary positive integers. The state \(|D^m_w\rangle\) is a Dicke state -- a normalized permutation-invariant state on \(m\) qubits with \(w\) excitations, i.e., a normalized sum over all basis elements with \(w\) ones and \(m - w\) zeroes.
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.
H code Family of \([[k+4,k,2]]\) CSS codes with transversal Hadmard 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}\).
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 [9]. 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 [9][10].
Hamiltonian-based code Encoding corresponds to a set of energy eigenstates of a quantum-mechanical Hamiltonian. The codespace is typically a set of low-energy eigenstates or ground states, but can include subspaces of arbitrarily high energy.
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 CSS chain-complex construction in the homological product construction. 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\).
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 [11].
Lifted-product (LP) 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.
Matching code Stub.
Modular-qudit surface code A family of stabilizer codes whose 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 (with a qudit located at each edge of the tesselation). The code has \( n=E \) many physical qudits, where \( E \) is the number of edges of the tesselation, and \( k=2g \) many logical qudits, where \( g \) is the genus of the surface.
Movassagh-Ouyang Hamiltonian code This is a family of codes derived via an algorithm that takes as input any binary classical code and outputs a quantum code (note that this framework can be extended to \(q\)-ary codes). The algorithm is probabalistic but succeeds almost surely if the classical code is random. An explicit code construction does exist for linear distance codes encoding one logical qubit. For finite rate codes, there is no rigorous proof that the construction algorithm succeeds, and approximate constructions are described instead.
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 in which polynomials over finite fields encode data. This is done by transforming these polynomials into the stabilizer generator matrices.
Quantum Tanner 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 low-density parity-check (QLDPC) code Family of \([[n,k,d]]\) stabilizer codes for which the number of sites (either qubit or qudit) 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\).
Quantum parity code (QPC) Also called a generalized Shor code [12]. 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} \end{align}
Quantum polar code Stub.
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-double code A family of topological codes, defined by a finite group \( G \), whose generators are few-body operators associated to the stars and plaquettes, respectively, of a tessellation of a two-dimensional surface (with a qudit of dimension \( |G| \) located at each edge of the tesselation).
Qubit stabilizer code Also called a Pauli stabilizer code. An \(((n,2^k,d))\) qubit stabilizer code is denoted as \([[n,k]]\) or \([[n,k,d]]\), where \(d\) is the code's distance. Logical subspace is the joint eigenspace of commuting Pauli operators forming the code's stabilizer group \(\mathsf{S}\). Traditionally, the logical subspace is the joint \(+1\) eigenspace of a set of \(2^{n-k}\) commuting Pauli operators which do not contain \(-I\). The distance is the minimum weight of a Pauli string that implements a nontrivial logical operation in the code.
Self-correcting quantum code Also called a self-correcting quantum memory or thermally stable encoding. A ground-state encoding of an \(n\)-body geometrically local Hamiltonian whose logical information is recoverable for arbitrary long times in the \(n\to\infty\) limit after interaction with a sufficiently cold thermal environment. Typically, one also requires a decoder whose decoding time scales polynomially with \(n\) and a finite energy density.
Shor \([[9,1,3]]\) code Nine-qubit CSS code that is the smallest such code to correct a single-qubit error. The logical state is encoded using \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} \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.
Steane \([[7,1,3]]\) code A \([[7,1,3]]\) CSS code that uses the classical binary \([7,4,3]\) Hamming code for protecting against \(X\) errors and its dual \([7,3,4]\) for \(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), \end{align} and the check matrix for the Steane code is therefore \begin{align} \left(\begin{matrix} 0&H\\ H&0 \end{matrix}\right). \end{align} The stabilizer group for the Steane code has six generators.
String-net code Also called a Turaev-Viro or Levin-Wen model code. A family of topological codes, defined by a finite unitary spherical category \( \mathcal{C} \), whose generators are few-body operators acting on a cell decomposition dual to a triangulation of a two-dimensional surface (with a qudit of dimension \( |\mathcal{C}| \) located at each edge of the decomposition).
Symmetry-protected self-correcting quantum code Also called a symmetry-protected self-correcting memory. An restricted notion of thermal stability against symmetric perturbations, i.e., perturbations that commute with a set of operators forming a group \(G\) called the symmetry group.
Topological code Stub.
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).
Wasilewski-Banaszek code Three-oscillator Fock-state code encoding a single logical qubit using codewords \begin{align} \begin{split} |\overline{0}\rangle &= \frac{1}{\sqrt{3}}(|003\rangle+|030\rangle+|300\rangle)\\ |\overline{1}\rangle &= |111\rangle \end{split}. \end{align}
XY surface code Non-CSS derivative of the surface code whose generators are \(XXXX\) and \(YYYY\), obtained by mapping \(Z \to Y\) in the surface code.
XYZ\(^2\) hexagonal stabilizer code An instance of the matching code based on the Kitaev honeycomb model. It is described on a hexagonal lattice with \(XYZXYZ\) stabilizers on each hexagonal plaquette. Each vertical pair of qubits has an \(XX\), \(YY\), or \(ZZ\) link stabilizer depending on the orientation of the plaquette stabilizers.
XZZX surface code Also called a rotated surface code. Non-CSS derivative of the surface code whose generators are \(XZXZ\) Pauli strings associated, clock-wise, to the vertices of each face of a two-dimensional lattice (with a qubit located at each vertex of the tessellation).
\([[15,1,3]]\) 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, 2^r-2r-1, 3]]\) Hamming-based CSS code A Hamming-based CSS code is a CCS code constructed with a classical Hamming code \([2^r-1,2^r-1-r,3]=C_X=C_Z\).
\([[4,2,2]]\) CSS 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} \end{align}
\([[5,1,3]]\) perfect code Five-qubit stabilizer code with generators that are symmetric under cyclic permutation of qubits, \begin{align} \begin{split} S_1 &= IXZZX \\ S_2 &= XZZXI \\ S_3 &= ZZXIX \\ S_4 &= ZXIXZ. \end{split} \end{align}

References

[1]
A. M. Kubica, The Abcs of the Color Code: A Study of Topological Quantum Codes as Toy Models for Fault-tolerant Quantum Computation and Quantum Phases of Matter, California Institute of Technology, 2018. DOI
[2]
H. Bombin, “An Introduction to Topological Quantum Codes”. 1311.0277
[3]
M. B. Hastings, “Weight Reduction for Quantum Codes”. 1611.03790
[4]
Shai Evra, Tali Kaufman, and Gilles Zémor, “Decodable quantum LDPC codes beyond the $\sqrt{n}$ distance barrier using high dimensional expanders”. 2004.07935
[5]
P. Faist et al., “Continuous Symmetries and Approximate Quantum Error Correction”, Physical Review X 10, (2020). DOI; 1902.07714
[6]
Pavel Panteleev and Gleb Kalachev, “Asymptotically Good Quantum and Locally Testable Classical LDPC Codes”. 2111.03654
[7]
M. H. Freedman, “Z2–Systolic-Freedom”, Proceedings of the Kirbyfest (1999). DOI
[8]
E. Fetaya, “Bounding the distance of quantum surface codes”, Journal of Mathematical Physics 53, 062202 (2012). DOI
[9]
J. Haah, “Local stabilizer codes in three dimensions without string logical operators”, Physical Review A 83, (2011). DOI; 1101.1962
[10]
A. Dua et al., “Sorting topological stabilizer models in three dimensions”, Physical Review B 100, (2019). DOI; 1908.08049
[11]
S. B. Bravyi and A. Yu. Kitaev, “Quantum codes on a lattice with boundary”. quant-ph/9811052
[12]
Dave Bacon and Andrea Casaccino, “Quantum Error Correcting Subsystem Codes From Two Classical Linear Codes”. quant-ph/0610088