Code | Description |
---|---|

Bacon-Shor code | CSS subsystem stabilizer code defined on an \(m_1 \times m_2\) lattice of qubits. It is said to be symmetric when \(m_1=m_2\). The \(X\)-type and \(Z\)-type stabilizers defined as \(X\) and \(Z\) operators acting on all qubits on adjacent columns and rows, respectively. Let \(O_{i,j}\) denote an operator acting on the qubit at a position \((i,j)\) on the lattice, with \(i\in\{0,1,\ldots ,m_1-1\}\) and \(j\in\{0,1,\ldots,m_2-1\}\). The code's stabilizer group is \begin{align} \mathsf{S}=\langle X_{i,*}X_{i+1,*},Z_{*,j}Z_{*,j+1}\rangle~, \end{align} with generators expressed as products of nearest-neightbour 2-qubit gauge operators, \begin{align} \begin{split} X_{i,*}X_{i+1,*}= \bigotimes_{k=0}^{m_2-1} X_{i,k}X_{i+1,k} \\ Z_{*,j}Z_{*,j+1}=\bigotimes_{k=0}^{m_1-1} Z_{k,j}Z_{k,j+1}~. \end{split} \end{align} Syndrome extraction can be done by measuring these gauge operators, which are on fewer qubits and local. |

Bravyi-Bacon-Shor (BBS) code | An \([[n,k,d]]\) CSS subsystem stabilizer code generalizing Bacon-Shor codes to a larger set of qubit geometries. Defined through a binary matrix \(A\) such that physical qubits live on sites \((i,j)\) whenever \(A_{i,j}=1\). The gauge group is generated by 2-qubit operators, including \(XX\) interations between any two qubits sharing a column in \(A\), and \(ZZ\) interations between two qubits sharing a row. The code parameters are: \(n=\sum_{i,j}A_{i,j}\), \(k=\text{rank}(A)\), and the distance is the minimum weight of any row or column. |

Heavy-hexagon code | Subsystem stabilizer code on the heavy-hexagonal lattice that combines Bacon-Shor and surface-code stabilizers. Encodes one logical qubit into \(n=(5d^2-2d-1)/2\) physical qubits with distance \(d\). The heavy-hexagonal lattice allows for low degree (at most 3) connectivity between all the data and ancilla qubits, which is suitable for fixed-frequency transom qubits subject to frequency collision errors. |

Subsystem color code | Stub. |

Subsystem quantum error-correcting code | A subsystem code, also known as an operator QECC or gauge QECC, encodes information in a subsystem \(\mathsf{A}\) of the code space \(\mathsf{C}\), which is part of the system Hilbert space \(\mathsf{H}\), as \begin{align} \mathsf{H}=\mathsf{C} \oplus \mathsf{C}^{\perp} = \mathsf{A} \otimes \mathsf{B} \oplus \mathsf{C}^{\perp}~. \end{align} Following an error, it is sufficient to revert back to the original state modulo a transformation on the auxiliary or gauge subsystem \(\mathsf{B}\). The subsystem \(\mathsf{B}\) therefore gives additional freedom to the error correction process, and is said to encode gauge qubits when its dimension is a power of two. While strictly speaking all operator QECCs are also ordinary QECCs, the attachment of a subsystem to a code allows for a wider variety of encoding procedures, fault-tolerant logical operations, and efficient error-correction protocols. |

Subsystem qubit stabilizer code | Also called a gauge stabilizer code. A stabilizer code with some of its logical qubits denoted as gauge qubits and not used for storage of logical information. Note that this doesnt lead to new codes but does lead to new error correction and fault tolerance procedures. Subsystem codes are denoted by \([[n,k,r,d]]\), similar to stabilizer codes, but with an extra parameter \(r\) denoting the number of gauge qubits. |