|q⟩ Bad Qubits

advanced · Physics · Fault-Tolerant Quantum Computing

The Fault-Tolerance Problem

Why error correction is not enough

A quantum error-correcting code, on its own, tells a comforting story. Spread one logical qubit across nn physical qubits, measure the stabilizers to learn a syndrome, apply a recovery, and the encoded information survives any error of weight up to (d1)/2\lfloor (d-1)/2 \rfloor, where dd is the code distance. The implicit assumption in that story is fatal: it treats the encoding circuit, the syndrome measurement, and the recovery as perfect. In reality every gate, every measurement, and every idle qubit is itself noisy. The very operations we use to fight errors introduce errors.

The fault-tolerance problem is the question of whether reliable computation is still possible when every component — including error correction itself — is faulty.

The naive picture fails

Suppose each physical gate fails independently with probability pp. A useful algorithm might call for NN gates, where NN can be in the billions for a problem like factoring a 20482048-bit number. The probability that not a single gate fails is (1p)N(1-p)^N. With p=103p = 10^{-3} and N=109N = 10^{9}, this is

(1103)109=eNln(1p)epN=e106,(1 - 10^{-3})^{10^{9}} = e^{N \ln(1-p)} \approx e^{-pN} = e^{-10^{6}},

which is indistinguishable from zero. Without protection, a long computation is overwhelmingly likely to be corrupted. Worse, naively wrapping the computation in a code does not automatically help: if a single faulty gate inside the encoded block can corrupt many physical qubits at once, it can produce an error of weight greater than d/2d/2 and defeat the code in one stroke.

Three places errors enter

To see the difficulty sharply, list where faults occur in an encoded computation:

  1. Storage (memory) errors. Qubits decohere while idling between operations.
  2. Gate errors. Each logical operation is built from physical gates, each imperfect.
  3. Measurement and preparation errors. Syndrome extraction relies on measuring ancillas and preparing fresh states; both are noisy, so the syndrome itself can be wrong.

A correct design must tolerate all three, and must do so using only the same kind of noisy hardware. There is no clean room to retreat to.

The fault-tolerance challenge, stated

The two non-negotiable requirements hidden in that statement are:

The promise to be proved

The remarkable resolution, which the rest of this module develops, is the threshold theorem: provided the physical error rate pp is below a constant threshold pthp_{\text{th}}, the logical error rate can be suppressed to any target ε\varepsilon with only polylog(1/ε)\mathrm{polylog}(1/\varepsilon) overhead. The whole subject is the construction that makes this promise concrete: fault-tolerant gadgets that contain errors, codes (concatenated or topological) that suppress them, and an honest accounting of the cost. This lesson has only posed the problem; the constructions that solve it follow.

What to carry forward

The single idea to keep is that fault tolerance is a statement about circuits built from faulty parts, not about idealized codes. Every later lesson — error propagation through CNOTs, the transversality of gates, the threshold calculation, the overhead of the surface code — is in service of the two requirements above: contain each fault, then suppress what remains.

Sign in on the full site to ask questions and join the discussion.