The theory of quantum error correction plays a prominent role in the practical realization and engineering of quantum computing and quantum communication devices. The first quantum error-correcting codes are strikingly similar to classical block codes in their operation and performance. Quantum error-correcting codes restore a noisy, decohered quantum state to a pure quantum state. A stabilizer quantum error-correcting code appends ancilla qubits to qubits that we want to protect. A unitary encoding circuit rotates the global state into a subspace of a larger Hilbert space. This highly entangled, encoded state corrects for local noisy errors. A quantum error-correcting code makes quantum computation and quantum communication practical by providing a way for a sender and receiver to simulate a noiseless qubit channel given a noisy qubit channel whose noise conforms to a particular error model.

The stabilizer theory of quantum error correction allows one to import some

classical binary or quaternary codes for use as a quantum code. However, when importing the classical code, it must satisfy the dual-containing (or self-orthogonality) constraint. Researchers have found many examples of classical codes satisfying this constraint, but most classical codes do not. Nevertheless, it is still useful to import classical codes in this way (though, see how the entanglement-assisted stabilizer formalism overcomes this difficulty).

Stabilizer code

Mathematical background

The stabilizer formalism exploits elements of

the Pauli group in formulating quantum error-correcting codes. The set

consists of the Pauli operators:

Stabilizer code

The above operators act on a single qubit – a state represented by a vector in a two-dimensional Hilbert space. Operators in have eigenvalues and either commute or anti-commute. The set consists of -fold tensor products of Pauli operators:

Stabilizer code

Elements of act on a quantum register of qubits. We

occasionally omit tensor product symbols in what follows so that

The -fold Pauli group

plays an important role for both the encoding circuit and the

error-correction procedure of a quantum stabilizer code over qubits.

Definition

Let us define an stabilizer quantum error-correcting

code to encode logical qubits into physical qubits. The rate of such a

code is . Its stabilizer is an abelian subgroup of the

-fold Pauli group . does not contain the operator . The simultaneous -eigenspace of the operators constitutes the codespace. The codespace has dimension so that we can encode qubits into it. The stabilizer has a minimal representation in terms of independent generators

The generators are

independent in the sense that none of them is a product of any other two (up

to a global phase). The operators function in the same

way as a parity check matrix does for a classical linear block code.

Stabilizer error-correction conditions

One of the fundamental notions in quantum error correction theory is that it

suffices to correct a discrete error set with support in the Pauli group

. Suppose that the errors affecting an

encoded quantum state are a subset of the Pauli group :

Because and are both subsets of , an error that affects an

encoded quantum state either commutes or anticommutes with any particular

element in . The error is correctable if it

anticommutes with an element in . An anticommuting error

is detectable by measuring each element in and

computing a syndrome identifying . The syndrome is a binary

vector with length whose elements identify whether the

error commutes or anticommutes with each . An error

that commutes with every element in is correctable if

and only if it is in . It corrupts the encoded state if it

commutes with every element of but does not lie in . So we compactly summarize the stabilizer error-correcting conditions: a stabilizer code can correct any errors in if

or

where is the centralizer of (i.e., the subgroup of elements that commute with all members of , also known as the commutant).

Simple example of a stabilizer code

A simple example of a stabilizer code is a three qubit

stabilizer code. It encodes logical qubit

into physical qubits and protects against a single-bit flip

error in the set . This does not protect against other Pauli errors such as phase flip errors in the set .or . This has code distance . Its stabilizer consists of Pauli operators: