Steane code explained

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

[[2r-1,2r-1-2r,3]]

for integers

r\geq3

. It is also a quantum color code.

Expression in the stabilizer formalism

See main article: 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

27

-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

IIIXXXX

, 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} XL&=XXXXXXX\\ ZL&=ZZZZZZZ. \end{align}

The logical

|0\rangle

and

|1\rangle

states of the Steane code are

\begin{align} |0\rangleL=&

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. \endArbitrary codestates are of the form

|\psi\rangle=\alpha|0\rangleL+\beta|1\rangleL

.

References