Quantum error correction


Quantum error correction comprises a set of techniques used in quantum memory and quantum computing to protect quantum information from errors arising from decoherence and other sources of quantum noise. QEC schemes that employ codewords stabilized by a set of commuting operators are known as stabilizer codes, and the corresponding codewords are referred to as quantum error-correcting codes.
Conceptually, to use a quantum error-correcting code, one can append ancilla qubits to qubits that need protection, and apply a unitary encoding circuit to rotate 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.

Overview

Much of the terminology in QEC is derived from its classical counterpart, the classical error-correcting code. In classical coding theory, a code is commonly denoted by the notation, which represents the encoding of logical bits into physical bits with code distance ; that is, any logical operation requires flipping at least d bits. Analogously, a quantum code that encodes k logical qubits into n physical qubits with code distance d is denoted by. Although this qubit-to-qubit encoding is the most common setting, other variants exist—such as encodings between qubits and oscillators, or between oscillators themselves—since physical implementations of quantum information may involve systems with more than two energy levels.
Based on the parameters, one can define a key figure of merit for QECCs—the code rate, given by the ratio. The code rate measures a code's efficiency: a higher value corresponds to lower resource overhead. It generally depends on the code distance d. An ideal QECC simultaneously achieves a large distance and a high code rate. Consequently, optimizing QECC designs to improve code rate while maintaining sufficient distance is a central objective in QEC, both theoretically and experimentally. Conversely, for cases where and are fixed, increasing the code rate reduces resource requirements, making such codes particularly suitable for small-scale or resource-limited experimental implementations.
Before considering scenario-dependent objectives, a QEC scheme fundamentally consists of three stages:
  1. Encoding the logical information into physical carriers,
  2. Transmitting or storing the encoded information through a spatial or temporal channel, and
  3. Syndrome extraction and recovery to identify and correct errors.
A QECC is constructed under specific assumptions about the types of errors that may occur and must be capable of correcting them. The stabilizers to be measured are carefully chosen so as not to reveal any logical information, but only information about the errors themselves—as otherwise the measurement would destroy any quantum superposition of this logical qubit with other qubits in the quantum computer, which would prevent it from being used to convey quantum information. In most QECCs, the type of error is either a bit flip, or a phase flip, or both.
Various strategies exist for encoding and decoding, including classical algorithms that map measured error syndromes to their corresponding recovery operations. The sequence of applied quantum gates can also be optimized, as multi-qubit gates are generally more challenging to implement than single-qubit ones. Furthermore, the total number of possible syndromes is, which can be prohibitively large for a simple lookup-table approach. Consequently, efficient classical decoding algorithms are generally required, except in cases where the code structure is sufficiently simple.
Compared with quantum memory, where channel-induced errors are the primary concern, the frequent application of quantum gates in quantum computation necessitates fault-tolerant design. For QECCs implemented on qubit-based platforms, fault tolerance additionally accounts for imperfect quantum gates, faulty state preparation, and measurement errors. In contrast, for QECCs that encode information into oscillators, the term fault tolerance is sometimes used interchangeably with ordinary quantum error correction and does not carry additional meaning.

Types of errors

The types of errors that occur in a quantum system depend strongly on the underlying physical platform, rather than on device-independent assumptions. For instance, even when a qubit is under active control, it remains coupled to its environment through nonzero Einstein coefficients. When the environment is cooled to its vacuum state, this coupling gives rise to amplitude-damping errors, which reflect the system's tendency to relax toward thermal equilibrium and are characterized by a relaxation time. Moreover, even an isolated qubit possesses an intrinsic Hamiltonian corresponding to its internal dynamics, leading to coherent errors. Together, amplitude damping and coherent evolution contribute to dephasing, one of the dominant noise processes in most qubit implementations.
As noted earlier, most QECCs assume that the dominant errors are bit flips, phase flips, or combinations of both—corresponding to the Pauli operators. An implicit assumption in this framework is that general physical errors can be approximated as elements of the Pauli group. Under this model, each qubit's error can be represented by two classical bits. Consequently, errors on an n-qubit system can be described by a binary string of length 2n, allowing classical error-correction techniques to be applied under suitable constraints. Although this approximation does not capture all realistic noise processes, it remains widely used because it greatly simplifies both theoretical analysis and code design.

More general QEC schemes

The QECCs do not encompass all possible quantum codes. These belong to the class of additive codes, defined within the stabilizer formalism. A more general class, known as non-additive codes, extends beyond this framework. For instance, the code encodes more than two qubits into five physical qubits with code distance two. Non-additive codes can, in principle, achieve higher code rates than additive ones, but their construction and analysis are considerably more challenging. As a result, they remain relatively unexplored, with only limited studies to date.
Beyond encoding qubits into qubits, quantum information can also be stored in more general physical systems, such as -level systems or infinite-dimensional oscillators. Encoding a smaller logical system into a larger physical Hilbert space is an active area of research.

Important code families

The first QECC, named after Peter Shor, can be generalized as a code, which increases the code distance at the expense of a reduced code rate. Its design philosophy employs inner and outer repetition codes to independently correct bit-flip and phase-flip errors. In contrast, Andrew Steane improved the code rate by replacing repetition codes with the classical Hamming code and treating bit-flip and phase-flip errors symmetrically, without distinguishing inner and outer layers. The approach of Steane can be generalized as quantum Hamming codes. A generalization of these approaches led to the development of the CSS codes—named after Robert Calderbank, Peter Shor, and Andrew Steane. The structure of CSS codes is particularly well-suited for fault-tolerant syndrome measurement, as the and stabilizers are cleanly separated.
While the Shor code emphasizes code distance and the Steane code emphasizes code rate, other CSS codes can be constructed to balance these parameters. For example, using overlapped-repetition codes enables CSS codes with improved performance and the Shor-type code is shown. Furthermore, this Shor-type code can be modified as subsystem codes such as the Bacon–Shor code which might optimize the syndrome measurement.
The quantum threshold theorem, shows that quantum computations of arbitrary length are possible. It states that errors can be corrected by recursively concatenating quantum codes—such as CSS codes—across logarithmically many levels, provided the error rate of individual quantum gates remains below a certain threshold. Above this threshold, attempts to measure syndromes and correct errors would introduce more errors than they eliminate. As of 2004, estimates suggest this threshold could be as high as 1–3%, assuming a sufficiently large number of qubits is available.
To achieve a higher code rate for encoding a single logical qubit with single-error correction, Raymond Laflamme et al. discovered a five-qubit code using four stabilizers that mix and operators. A well-known variant employs four cyclic stabilizers. Although this code is clearly not a CSS code, DiVincenzo and Shor demonstrated that it can still be made fault-tolerant. The five-qubit code is the smallest possible code capable of protecting one logical qubit against arbitrary single-qubit errors. According to the quantum Hamming bound, encoding a single logical qubit with the ability to correct any single-qubit error requires at least five physical qubits.
Beyond coding-theoretic designs, topological QECCs are particularly intuitive to visualize and can provide a clear layout of local stabilizer measurements, which is experimentally friendly. Alexei Kitaev introduced the toric code without boundaries, which was later adapted into the surface code with boundaries, yielding a 2D planar layout that avoids non-local measurements. Surface codes are pivotal for scalable quantum error correction in 2025, enabling below-threshold logical qubits with improved fidelity in superconducting systems.
YearYearextensionsModes
1999Cat state2019Pair-cat codesIt uses 2-mode and encodes a qubit.
2001Gottesman-Kitaev-Preskill code2022Multi-mode GKP codesIt uses multi-mode and encode multi-qubits.
2016Binomial code2025Extended binomial codesIt uses multi-mode and encode multi-qubits.

Unlike a two-level system, a quantum harmonic oscillator possesses infinitely many energy levels within a single physical system. These codes exploit the inherent redundancy within a single oscillator, rather than relying on multiple two-level qubits for encoding.
While the cat code and GKP codes are purely bosonic with no direct qubit correspondence, binomial codes are closely related to Shor codes. The underlying idea is to treat the grouped qubits in each inner repetition code as identical particles, mapping them to a single bosonic mode in the Fock basis, thereby linking qubit codes to bosonic codes.