Reference articles on history, science, culture and more
Encyclopedia

Steane code

Code for quantum correction

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.

01Expression 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{aligned}&IIIXXXX\\&IXXIIXX\\&XIXIXIX\\&IIIZZZZ\\&IZZIIZZ\\&ZIZIZIZ.\end{aligned}}

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{aligned}X_{L}&=XXXXXXX\\Z_{L}&=ZZZZZZZ.\end{aligned}}

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

{\begin{aligned}|0\rangle _{L}=&{\frac {1}{\sqrt {8}}}[|0000000\rangle +|1010101\rangle +|0110011\rangle +|1100110\rangle \\&+|0001111\rangle +|1011010\rangle +|0111100\rangle +|1101001\rangle ]\\|1\rangle _{L}=&X_{L}|0\rangle _{L}.\end{aligned}}

Arbitrary codestates are of the form |\psi \rangle =\alpha |0\rangle _{L}+\beta |1\rangle _{L}.

Watch videos about Steane codeExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Steane code, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.