Steane code

From HandWiki
Short description: 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 qubit flip errors (X errors) and the dual of the Hamming code, the [7,3,4] code, to correct for 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

[math]\displaystyle{ \begin{bmatrix} H & 0 \\ 0 & H \end{bmatrix} }[/math]

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

[math]\displaystyle{ 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}. }[/math]

The [math]\displaystyle{ 7,1,3 }[/math] Steane code is the first in the family of quantum Hamming codes, codes with parameters [math]\displaystyle{ 2^r-1, 2^r-1-2r, 3 }[/math] for integers [math]\displaystyle{ r \geq 3 }[/math]. 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 [math]\displaystyle{ n }[/math]-qubit stabilizer code, we can describe this subspace by its Pauli stabilizing group, the set of all [math]\displaystyle{ n }[/math]-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 [math]\displaystyle{ 2 }[/math]-dimensional subspace of its [math]\displaystyle{ 2^7 }[/math]-dimensional Hilbert space.

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

[math]\displaystyle{ \begin{align} & IIIXXXX \\ & IXXIIXX \\ & XIXIXIX \\ & IIIZZZZ \\ & IZZIIZZ \\ & ZIZIZIZ. \end{align} }[/math]

Note that each of the above generators is the tensor product of 7 single-qubit Pauli operations. For instance, [math]\displaystyle{ IIIXXXX }[/math] is just shorthand for [math]\displaystyle{ I \otimes I \otimes I \otimes X \otimes X \otimes X \otimes X }[/math], that is, an identity on the first three qubits and an [math]\displaystyle{ X }[/math] gate on each of the last four qubits. The tensor products are often omitted in notation for brevity.

The logical [math]\displaystyle{ X }[/math] and [math]\displaystyle{ Z }[/math] gates are

[math]\displaystyle{ \begin{align} X_L & = XXXXXXX \\ Z_L & = ZZZZZZZ. \end{align} }[/math]

The logical [math]\displaystyle{ | 0 \rangle }[/math] and [math]\displaystyle{ | 1 \rangle }[/math] states of the Steane code are

[math]\displaystyle{ \begin{align} | 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{align} }[/math]

Arbitrary codestates are of the form [math]\displaystyle{ | \psi \rangle = \alpha | 0 \rangle_L + \beta | 1 \rangle_L }[/math].

References