Quantum error correction is a local subroutine used to protect quantum states against noise, decoherence, and imperfect operations. Unlike classical error correction, it cannot work by directly copying or measuring the protected information. Instead, the quantum state is encoded into a larger Hilbert space so that errors can be detected and corrected without revealing the logical state.
In quantum-network protocols, quantum error correction may be used inside a node to protect stored quantum states, prepare encoded states, process noisy quantum information, or support fault-tolerant operations. It may also appear as part of larger protocols for reliable quantum communication, quantum repeaters, distributed quantum computation, or fault-tolerant quantum computing.
You can find a lot of information about quantum error-correcting codes in The Error Correction Zoo [1].
The subroutine can be described abstractly as follows.
Let $\\\rho$ be a logical input state on $k$ qubits. An encoding isometry maps it to an encoded state
$$
\\\rho_{\\\mathrm{enc}} = V \\\rho V^{\\\dagger}.
$$
The encoded state is affected by a noise channel $\\\mathcal{N}$, producing
$$
\\\rho_{\\\mathrm{noisy}} = \\\mathcal{N}(\\\rho_{\\\mathrm{enc}}).
$$
A recovery operation $\\\mathcal{R}$ is then applied. The code corrects the noise if
$$
\\\mathcal{R}(\\\mathcal{N}(V\\\rho V^{\\\dagger})) = V\\\rho V^{\\\dagger}
$$
for all logical states $\\\rho$, or approximately corrects the noise if the two states are close.
For an error set ${E_a}$, the Knill-Laflamme condition states that the code corrects these errors if
$$
P_{\\\mathcal{C}} E_a^{\\\dagger} E_b P_{\\\mathcal{C}} = \\\alpha_{ab} P_{\\\mathcal{C}}
$$
for all errors $E_a,E_b$ in the error set, where $\\\alpha_{ab}$ are complex coefficients.
For stabilizer codes, the code space is defined as the simultaneous $+1$ eigenspace of a commuting set of stabilizer generators
$$
S = \\\langle g_1,\\\ldots,g_r\\\rangle .
$$
Syndrome extraction measures the eigenvalues of these generators. If an error has occurred, the syndrome is a string
$$
s = (s_1,\\\ldots,s_r),
$$
where each $s_i$ records the measurement outcome associated with $g_i$.
The decoder uses the syndrome $s$ to choose a correction operation $C_s$. The corrected state is then
$$
\\\rho_{\\\mathrm{corr}} = C_s \\\rho_{\\\mathrm{noisy}} C_s^{\\\dagger}.
$$
If the decoder succeeds, the corrected state is returned to the code space and preserves the original logical information.
Common examples of quantum error-correcting codes include the three-qubit bit-flip code, the three-qubit phase-flip code, Shor’s nine-qubit code, Steane’s seven-qubit code, CSS codes, surface codes, color codes, bosonic codes, and quantum LDPC codes.
Quantum error correction should be distinguished from classical error correction. Classical error correction protects classical strings and can use copying and direct comparison. Quantum error correction protects unknown quantum states and must respect the no-cloning principle and the disturbance caused by measurement.
.
.
.
.
.
.
.
.