Steane code

The Steane code is a tool in quantum error correction introduced by Andrew Steane in 1996. It is a CSS code (Calderbank-Shor-Steane), using the classical binary [7,4,3] Hamming code to correct for both qubit flip errors (X errors) and phase flip errors (Z errors). The Steane code encodes one logical qubit in 7 physical qubits and is able to correct arbitrary single qubit errors.

Its check matrix in standard form is

\begin{bmatrix} H & 0 \\ 0 & H \end{bmatrix} $$

where H is the parity-check matrix of the Hamming code and is given by



H =  \begin{bmatrix} 1 & 0 & 0 & 1 & 0 & 1 & 1\\   0 & 1 & 0 & 1 & 1 & 0 & 1\\    0 & 0 & 1 & 0 & 1 & 1 & 1  \end{bmatrix}. $$

The $$7,1,3$$ Steane code is the first in the family of quantum Hamming codes, codes with parameters $$2^r-1, 2^r-1-2r, 3$$ for integers $$r \geq 3$$. It is also a quantum color code.

Expression in the stabilizer formalism
In a quantum error-correcting code, the codespace is the subspace of the overall Hilbert space where all logical states live. In an $$n$$-qubit stabilizer code, we can describe this subspace by its Pauli stabilizing group, the set of all $$n$$-qubit Pauli operators which stabilize every logical state. The stabilizer formalism allows us to define the codespace of a stabilizer code by specifying its Pauli stabilizing group. We can efficiently describe this exponentially large group by listing its generators.

Since the Steane code encodes one logical qubit in 7 physical qubits, the codespace for the Steane code is a $$2$$-dimensional subspace of its $$2^7$$-dimensional Hilbert space.

In the stabilizer formalism, the Steane code has 6 generators:

\begin{align} & IIIXXXX \\ & IXXIIXX \\ & XIXIXIX \\ & IIIZZZZ \\ & IZZIIZZ \\ & ZIZIZIZ. \end{align} $$ Note that each of the above generators is the tensor product of 7 single-qubit Pauli operations. For instance, $$IIIXXXX$$ is just shorthand for $$I \otimes I \otimes I \otimes X \otimes X \otimes X \otimes X$$, that is, an identity on the first three qubits and an $$X$$ gate on each of the last four qubits. The tensor products are often omitted in notation for brevity.

The logical $$X$$ and $$Z$$ gates are

\begin{align} X_L & = XXXXXXX \\ Z_L & = ZZZZZZZ. \end{align} $$

The logical $$| 0 \rangle$$ and $$| 1 \rangle$$ states of the Steane code are

\begin{align} & + | 0001111 \rangle + | 1011010 \rangle + | 0111100 \rangle + | 1101001 \rangle ] \\ \end{align} $$ Arbitrary codestates are of the form $$| \psi \rangle = \alpha | 0 \rangle_L + \beta | 1 \rangle_L$$.
 * 0 \rangle_L = & \frac{1}{\sqrt{8}} [ | 0000000 \rangle + | 1010101 \rangle + | 0110011 \rangle + | 1100110 \rangle \\
 * 1 \rangle_L = & X_L | 0 \rangle_L.