Skip to content

Surface Code

The surface code is a family of two-dimensional local stabilizer codes whose logical information is protected by measuring local parity checks and decoding the resulting syndrome.

This is the compact model card. The canonical Surface Code page develops patch geometry, boundaries, repeated extraction, decoders, threshold contracts, lattice surgery, and overhead.

Surface-code models place qubits on a two-dimensional lattice or patch and measure local XX-type and ZZ-type checks repeatedly. Different variants use different qubit placements, boundaries, measurement schedules, and decoders, so “the surface code” is a family rather than a single fully specified circuit.

The model is central in fault-tolerant quantum computing because its checks are geometrically local and its threshold can be high for appropriate noise models and decoders.

In a common edge-qubit convention on a square lattice, star and plaquette checks have the schematic form

Av=∏e∋vXe,Bp=∏e∈∂pZe.A_v = \prod_{e\ni v} X_e, \qquad B_p = \prod_{e\in\partial p} Z_e.

The code space is the simultaneous +1+1 eigenspace of the measured stabilizer checks:

Av∣ψ⟩=∣ψ⟩,Bp∣ψ⟩=∣ψ⟩.A_v\lvert\psi\rangle=\lvert\psi\rangle, \qquad B_p\lvert\psi\rangle=\lvert\psi\rangle.

Other surface-code layouts move qubits to vertices or use rotated patches, but the operational idea is the same: local checks detect the endpoints or boundaries of error chains.

Logical Pauli operators are represented by strings or dual strings that commute with all stabilizer checks but are not themselves stabilizers. The code distance dd is the minimum weight of a nontrivial logical Pauli operator for the specified patch and boundary convention.

A planar rotated patch often encodes one logical qubit, while the toric-code version on a torus encodes two logical qubits. The encoded dimension is therefore not determined by the words “surface code” alone.

In a repeated-syndrome experiment, measurement outcomes are compared between rounds to locate detection events. A decoder uses the syndrome history and an assumed noise model to infer a likely correction or Pauli frame update.

Below threshold, increasing dd can suppress the logical error rate, but the quantitative scaling depends on the noise model, circuit schedule, leakage behavior, correlations, and decoder.

The surface code teaches how quantum error correction can use local checks to protect nonlocal logical degrees of freedom. It also shows why code performance is a property of a full fault-tolerant architecture, not just of an abstract stabilizer group.

  • Quoting a threshold without stating the noise model, measurement schedule, and decoder.
  • Confusing the toric code with every planar surface-code patch.
  • Treating syndrome measurement as a perfect abstract projection when circuit-level errors matter.
  • Forgetting that logical operators are equivalence classes modulo stabilizers.

Why does the distance of a surface-code patch depend on boundary conditions?

Solution

The distance is the smallest weight of a nontrivial logical Pauli operator. Boundaries determine which strings can begin and end without creating a syndrome, so changing the boundary type or patch shape changes the shortest allowed logical string.

  • A. Y. Kitaev, “Fault-tolerant quantum computation by anyons,” Annals of Physics 303, 2-30, 2003.
  • E. Dennis, A. Kitaev, A. Landahl, and J. Preskill, “Topological quantum memory,” Journal of Mathematical Physics 43, 4452-4505, 2002.
  • A. G. Fowler, M. Mariantoni, J. M. Martinis, and A. N. Cleland, “Surface codes: Towards practical large-scale quantum computation,” Physical Review A 86, 032324, 2012.