|q⟩ Bad Qubits

advanced · Physics · Surface Codes & Topological Codes

Topological Codes Overview

A topological quantum error-correcting code stores logical information not in any single physical qubit, but in global, geometrically nonlocal degrees of freedom of a many-body system laid out on a surface. Local noise can only ever produce local, detectable disturbances; corrupting the protected information requires a coordinated error stretching across the entire system. This lesson surveys the core ideas that make topological codes the leading candidate for scalable fault tolerance, setting up the detailed study of the toric and surface codes in the rest of Module 8.

The stabilizer viewpoint

Every code in this module is a stabilizer code. We fix an abelian subgroup S\mathcal{S} of the Pauli group on nn physical qubits, not containing I-I, and define the code space as the simultaneous +1+1-eigenspace of all elements of S\mathcal{S}:

C={ψ:Sψ=ψ for all SS}.\mathcal{C} = \{\, |\psi\rangle : S|\psi\rangle = |\psi\rangle \text{ for all } S \in \mathcal{S} \,\}.

If S\mathcal{S} is generated by nkn - k independent commuting Pauli operators, the code encodes kk logical qubits into nn physical qubits. Measuring the generators (the stabilizers or checks) projects onto C\mathcal{C} without disturbing the encoded state, and a nontrivial pattern of 1-1 outcomes — the syndrome — signals that an error has occurred.

What makes a code topological

Two extra properties distinguish topological codes from generic stabilizer codes:

  1. Geometric locality of checks. Qubits sit on a lattice, and every stabilizer generator acts only on a small, bounded number of neighbouring qubits. No check ever reaches across the lattice. This is exactly the kind of measurement a physical device with nearest-neighbour coupling can actually perform fault-tolerantly.
  2. Topological logical operators. The logical Pauli operators that act within C\mathcal{C} are supported on extended, nonlocal objects — closed loops or boundary-to-boundary strings on the lattice — whose only invariant is their homology (winding) class. They cannot be deformed to the identity by multiplying by stabilizers.

Distance, and why locality helps

The distance dd of a code is the minimum weight (number of single-qubit Paulis) of any logical operator — any Pauli that commutes with all stabilizers but acts nontrivially on C\mathcal{C}. A code with distance dd can detect up to d1d-1 errors and correct up to (d1)/2\lfloor (d-1)/2 \rfloor of them. We summarize a code by its parameters [[n,k,d]][[n, k, d]].

In a topological code, distance is geometric: the shortest logical operator is the shortest noncontractible loop or boundary-spanning string, whose length grows with the linear size LL of the lattice. Enlarging the lattice raises dd while leaving every individual check local and constant-weight. This is the structural reason topological codes admit a positive error threshold pthp_{\text{th}}: a physical error rate pp below which the logical error rate can be driven arbitrarily low simply by growing LL.

The cast of Module 8

By the end of the module you will be able to read a surface-code patch, identify its stabilizers and logical operators, reason about its distance, and explain why it tolerates noise.

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