# Quantum Error Correction (QEC)

Quantum Error Correction (QEC) refers to a set of techniques used to protect quantum information from errors due to decoherence and other quantum noise. Unlike classical error correction, where bits are either 0 or 1, quantum error correction must deal with qubits that can exist in superpositions of states. This complexity makes QEC a challenging but essential component of practical quantum computing.

The most common method of QEC is to encode a logical qubit using several physical qubits. By entangling these qubits and carefully choosing the encoding, errors in individual qubits can be detected and corrected without directly measuring the qubits' states, thus preserving their quantum information. The Quantum Error Correction Codes, such as the Shor code and the Surface code, are examples of schemes that apply these principles. These codes can correct for various types of errors, including bit-flip and phase-flip errors.

Quantum Error Correction is vital for the development of large-scale, fault-tolerant quantum computers. Without effective error correction, quantum computations become unreliable as the size and complexity of a quantum system increase. However, implementing QEC in physical systems is highly challenging. It requires a significant overhead in terms of additional qubits and gates, and the precise control necessary to detect and correct errors without disturbing the delicate quantum states is a significant technical hurdle.

Quantum Error Correction represents a critical intersection between the theoretical foundations of quantum computing and the practical challenges of building a quantum computer. It's an area of active research and development, with ongoing progress essential for the future of quantum technology.

**What is Quantum Error Correction**

Two classes of error correction codes help summarize popular approaches to implementing fault tolerance on quantum computers. Technically, surface codes are actually examples of stabilizer codes. However, the terms can arise separately, and so here are high level descriptions for both, as well as how to distinguish between them:

- Stabilizer codes use measurements to detect errors and then use classical logic to apply specific error-correcting operations to the corrupted qubits; an intuition for this can be found in examples of the Shor code and the Steane code

- Surface codes are two-dimensional lattices of physical qubits that form logical qubits with topological protection, which means that errors can occur throughout the lattice without negatively affecting the global state of the logical qubit

As shown by the Shor and Steane codes, stabilizer codes can be demonstrated with quantum algorithms. On quantum computers that support dynamic circuits, mid-circuit measurements can be taken of stabilizer qubits, and then classical logic can implement specific operations, conditional to those measurements, in real-time during the execution time of the algorithm. One relatively-simple method to implement stabilizer qubits is to entangle and disentangle qubits in such a way that each qubit will measure 0 if its neighboring qubits are the same and 1 if they are different.

A paper titled “Quantum Error Correction: An Introductory Guide” by Joschka Roffe of the Department of Physics & Astronomy at the University of Sheffield provides a 29-page introduction to quantum error correction. The paper goes into considerably more detail about stabilizer codes and surface codes. The author provides a combination of visuals, mathematics, and circuit diagrams.

An additional article worth reading is Quantum Error Correction – The Key To Realizing Quantum Computing’s Potential.

**The Quantum Error Correction Paradox**

A Q-CTRL blog post titled “What is Quantum Error Correction?” explains a paradox that arises in trying to build fault-tolerant quantum computers. Although estimates vary, a common projection is that 1000 physical qubits will be required to achieve a single logical qubit. Therefore, attempting to make quantum computers useful paradoxically reduces the resources available to do anything useful.

The page includes an explanatory video which visualizes **analog quantum error correction**. And because Q-CTRL is a commercial entity, they also discuss their **autonomous quantum error correction** solution.

It is worth noting that some researchers are hoping to find utility in the NISQ era despite the prevalence of errors. In other words, instead of correcting the errors, they’re exploring whether they can exploit the errors. As a general rule of thumb, however, practical quantum applications are expected to require fault tolerance, and fault tolerance will be achieved with quantum error correction codes.