Error Correction
Stabilizer Code
A quantum error-correcting code defined by a set of Pauli checks that every encoded state satisfies.
Definition
A stabilizer code protects quantum information by spreading it across many qubits in a way that obeys a set of rules, called stabilizers. Each rule is a simple check, such as whether two neighboring qubits agree. If an error happens, some checks fail, and the pattern of failures tells you what went wrong and how to fix it, without ever looking at the protected information itself. Most error-correcting codes in use, including the surface code, are stabilizer codes.
In depth
Daniel Gottesman introduced the stabilizer formalism in 1996 and 1997, and it unified earlier codes such as Shor's nine-qubit code and Steane's seven-qubit code. The key insight is that checking a Pauli operator on the encoded state does not reveal the logical information if the operator commutes with all logical operators. The code space is specified by the checks, and the logical operators are Paulis that commute with all the checks but are not themselves checks.
Measuring the stabilizer generators gives the error syndrome. For a code with distance d, any error affecting fewer than d over 2 qubits can be identified and corrected. For example, the five-qubit code is the smallest code that corrects any single-qubit error, and the Steane code uses a classical Hamming code to protect against bit flips and another to protect against phase flips. The surface code is a stabilizer code whose generators are four-body checks on a grid.
The stabilizer formalism has computational consequences. Because stabilizer states and Clifford operations can be simulated efficiently, researchers can study codes with thousands of qubits on classical computers. It also makes decoding a well-defined task: given the syndrome, find the most likely error, which is the job of decoders such as minimum-weight perfect matching or neural-network decoders.
Technical Definition
A stabilizer code is defined by an abelian subgroup S of the Pauli group that does not contain minus the identity. The code space is the simultaneous plus 1 eigenspace of all elements of S. An [[n, k, d]] code encodes k logical qubits in n physical qubits with distance d, using n minus k independent stabilizer generators. Errors anticommuting with some generators flip syndrome bits, and the syndrome identifies the error class.
Visual Explanation: An Analogy
Imagine a combination lock where several simple tests must all pass for the lock to be set correctly: this pair matches, that pair differs, and so on. If a bit of dust knocks one setting, only some tests fail, and the pattern tells you which setting to fix, without knowing the combination itself.
Key facts
| Item | Detail |
|---|---|
| Notation | [[n, k, d]] means n physical qubits, k logical qubits, distance d |
| Generators | n minus k independent commuting Pauli operators |
| Smallest perfect code | The [[5, 1, 3]] code corrects any single-qubit error |
| Examples | Shor [[9,1,3]], Steane [[7,1,3]], surface code, color codes |
| Introduced | Gottesman, 1996 to 1997 |
Where the idea comes from
Shor's nine-qubit code in 1995 and Steane's code in 1996 showed that quantum error correction is possible. Gottesman's stabilizer formalism and the CSS construction by Calderbank, Shor, and Steane gave a general framework, and the surface code and quantum LDPC codes are the modern descendants.
Real-World Use Cases
- Defining and analyzing nearly every practical quantum error-correcting code.
- Simulating error-correction circuits efficiently on classical computers.
- Designing decoders that infer errors from syndrome data.
- Constructing new codes with better rates and thresholds, such as qLDPC codes.
How it differs from related ideas
- Classical linear codes are defined by parity checks, and stabilizer codes are their quantum generalization with Pauli checks.
- CSS codes are a subclass of stabilizer codes that treat bit and phase errors separately.
- Non-stabilizer codes exist, such as some bosonic codes, but most practical proposals are stabilizer-based.
Common Misconceptions
- The stabilizers are not the encoded information. They are the checks that leave the information intact.
- Measuring the stabilizers does not collapse the logical state, since they commute with the logical operators.
- A stabilizer code does not eliminate errors. It lets you detect and correct them if they are few enough.
Frequently asked questions
What is a stabilizer code?
A quantum error-correcting code defined by a set of commuting Pauli operators, the stabilizers, that all encoded states satisfy.
How does it detect errors?
By measuring the stabilizers. An error flips the outcome of the checks it anticommutes with, and the pattern identifies the error.
Is the surface code a stabilizer code?
Yes. Its stabilizers are products of Pauli X or Z on groups of four neighboring qubits.
Related Terms
Keep exploring
- Algorithm: Quantum Error-Correcting Codes (Shor Code, Surface Code)
- Hardware: Google Willow