{
  "id": "enwiki-001351316780",
  "slug": "surface-code",
  "title": "Surface code",
  "qid": "",
  "lead": "The surface code is a topological quantum error correcting code, and an example of a stabilizer code, defined on a two-dimensional spin lattice. The first type of surface code introduced by Alexei Kitaev in 1997 was the toric code, which gets its name from its periodic boundary conditions, giving it the shape of a torus. These conditions give the model translational invariance, which is useful for analytic study. The toric code is the simplest and most well studied of the quantum double models. It is also the simplest example of topological order—Z 2 topological order (first studied in the context of Z 2 spin liquid in 1991). The toric code can also be considered to be a Z 2 lattice gauge theory in a particular limit. However, on many quantum computation platforms, experimental realization of a surface code is much easier if the code can be embedded on a 2D plane. This motivated the design of another type of surface code with open boundary conditions, the planar code. As of 2025, Google Quantum AI has implemented a distance-7 planar code on their newest generation of superconducting quantum processors, Willow processor, demonstrating a below-threshold physical error rate.",
  "body": "The surface code is a topological quantum error correcting code, and an example of a stabilizer code, defined on a two-dimensional spin lattice. The first type of surface code introduced by Alexei Kitaev in 1997 was the toric code, which gets its name from its periodic boundary conditions, giving it the shape of a torus. These conditions give the model translational invariance, which is useful for analytic study. The toric code is the simplest and most well studied of the quantum double models. It is also the simplest example of topological order—Z 2 topological order (first studied in the context of Z 2 spin liquid in 1991). The toric code can also be considered to be a Z 2 lattice gauge theory in a particular limit. However, on many quantum computation platforms, experimental realization of a surface code is much easier if the code can be embedded on a 2D plane. This motivated the design of another type of surface code with open boundary conditions, the planar code. As of 2025, Google Quantum AI has implemented a distance-7 planar code on their newest generation of superconducting quantum processors, Willow processor, demonstrating a below-threshold physical error rate. A_v = \\prod_{i \\in v} X_i, \\,\\, B_p = \\prod_{i \\in p} Z_i. Here i \\in v denotes the edges touching the vertex , and i \\in p denotes the edges surrounding the plaquette p . The code space of the toric code is the subspace for which all stabilizers act trivially, hence for any state | \\psi \\rangle in this space it holds that A_v | \\psi \\rangle = | \\psi \\rangle, \\,\\, \\forall v, \\,\\, B_p | \\psi \\rangle = | \\psi \\rangle, \\,\\, \\forall p. For the toric code, this space is four-dimensional, and so can be used to store two qubits of quantum information. This can be proven by considering the number of independent stabilizer operators: For a lattice, there are vertex stabilizers and plaquette stabilizers, but the product of all vertex stabilizers is and so is the product of all plaquette stabilizers. Therefore there are independent stabilizers, leaving 2 qubits worth of degrees of freedom. The occurrence of errors will usually move the state out of the code space, resulting in vertices and plaquettes for which the above condition does not hold. Specifically, a Pauli error on qubit flips the two vertex stabilizers such that i \\in v (the endpoints of the edge ), and a Pauli error on qubit flips the two plaquette stabilizers such that i \\in p (the plaquettes on either side of the edge ). The positions of these violations is the syndrome of the code, which can be used for error correction. The unique nature of topological codes such as the surface code is that stabilizer violations can be interpreted as quasiparticles. Specifically, if the code is in a state | \\phi \\rangle such that A_v | \\phi \\rangle = - | \\phi \\rangle , a quasiparticle known as an anyon can be said to exist on the vertex . Similarly a violation of some B_p is associated with an anyon on the plaquette . The code space, with no stabilizer violation, corresponds to the anyonic vacuum. The above-mentioned fact that the product of all vertex (resp. plaquette) stabilizers is means that the number of (resp. ) anyons on a toric code is always even. A single-qubit error can be associated with an edge, and creates a pair of anyons at both endpoints of that edge. However, two anyons at the same location will annihilate each other, so a error can also effectively move an anyon along an edge, allowing anyons to be transported on the lattice. If the initial pair of anyons end up meeting each other and annihilating, then their paths form a loop. If the loop is topologically trivial, then it can be written as a combination of plaquettes ( stabilizer generators) on the lattice. Therefore the loop represents a stabilizer of the code, and has no effect on the stored information. The annihilation of the anyons, in this case, corrects all of the errors involved in their creation and transport. However, if the loop is topologically non-trivial, then it represents a non-trivial logical operator. Although re-annihilation of the anyons returns the state to the code space, it also implements a logical operation on the stored information. The errors, in this case, are therefore not corrected but consolidated. On a torus, there are two independent topologically non-trivial loops: One looping horizontally on the toric code lattice, one looping vertically. These can be identified with the operators of the two logical qubits encoded in the toric code. By considering the dual graph of the lattice, it can be seen that the above paragraph also applies to errors and anyons. Note that the horizontal operator and the vertical operator belong to the same qubit, and vice versa. This ensures the correct commutation relations between logical operators. ==Hamiltonian and self-correction== Since the stabilizer operators of the surface code are quasilocal, acting only on spins located near each other on a two-dimensional lattice, it is not unrealistic to define the following Hamiltonian, H_{\\rm TC} = - J_e\\sum_v A_v - J_m\\sum_p B_p, \\,\\,\\, J_e,J_m>0. The ground state space of this Hamiltonian is the stabilizer space of the code. Excited states correspond to those of anyons, with the energy proportional to their number. Local errors are therefore energetically suppressed by the gap, which has been shown to be stable against local perturbations. However, the dynamic effects of such perturbations can still cause problems for the code. The gap also gives the code a certain resilience against thermal errors, allowing it to be correctable almost surely for a certain critical time. This time increases with J , but since arbitrary increases of this coupling are unrealistic, the protection given by the Hamiltonian still has its limits. The means to make a surface code into a fully self-correcting quantum memory is often considered. Self-correction means that the Hamiltonian will naturally suppress errors indefinitely, leading to a lifetime that diverges in the thermodynamic limit. It has been found that this is possible in the toric code only if long range interactions are present between anyons. Proposals have been made for realization of these in the lab Another approach is the generalization of the model to higher dimensions, with self-correction possible in 4D with only quasi-local interactions. ==Generalizations== It is possible to define similar codes using higher-dimensional spins. These are the quantum double models and string-net models, which allow a greater richness in the behaviour of anyons, and so may be used for more advanced quantum computation and error correction proposals. These not only include models with Abelian anyons, but also those with non-Abelian statistics. ==Experimental progress== The most explicit demonstration of the properties of the toric code has been in state based approaches. Rather than attempting to realize the Hamiltonian, these simply prepare the code in the stabilizer space. Using this technique, experiments have been able to demonstrate the creation, transport and statistics of the anyons and measurement of the topological entanglement entropy. More recent experiments have also been able to demonstrate the error correction properties of the code. For realizations of the toric code and its generalizations with a Hamiltonian, much progress has been made using Josephson junctions. The theory of how the Hamiltonians may be implemented has been developed for a wide class of topological codes. An experiment has also been performed, realizing the toric code Hamiltonian for a small lattice, and demonstrating the quantum memory provided by its degenerate ground state. Other theoretical and experimental works towards realizations are based on cold atoms. A toolkit of methods that may be used to realize topological codes with optical lattices has been explored, as have experiments concerning minimal instances of topological order. Such minimal instances of the toric code has been realized experimentally within isolated square plaquettes. Progress is also being made into simulations of the toric model with Rydberg atoms, in which the Hamiltonian and the effects of dissipative noise can be demonstrated. Experiments in Rydberg atom arrays have also successfully realized the toric code with periodic boundary conditions in two dimensions by coherently transporting arrays of entangled atoms. As of 2025, Google Quantum AI has implemented the rotated planar code for up to code distance 7 on their newest generation of superconducting quantum processors, Willow, demonstrating a logical error suppression factor slightly larger than 2 when the code distance is increased by 2, indicating below-threshold behavior. ==References== ==External links== https://skepsisfera.blogspot.com/2010/04/kitaevs-toric-code.html",
  "categories": [
    "100393015",
    "115984962",
    "20247966",
    "22985218",
    "23603337",
    "24043274",
    "26220375",
    "49812499",
    "53200881"
  ],
  "license": "CC BY-SA 4.0",
  "source_uri": "https://en.wikipedia.org/w/index.php?oldid=1351316780",
  "content_hash": "",
  "created_at": null,
  "updated_at": 1777264350.0,
  "claims": [],
  "contradictions": [],
  "confidence": 0.6,
  "csl": {
    "id": "enwiki-001351316780",
    "type": "webpage",
    "title": "Surface code",
    "author": [
      {
        "family": "Anticloud FZ LLE",
        "literal": "Anticloud FZ LLE"
      }
    ],
    "container-title": "encyclopegia.org",
    "publisher": "Anticloud FZ LLE",
    "publisher-place": "Dubai, United Arab Emirates",
    "URL": "https://encyclopegia.org/a/surface-code",
    "issued": {
      "date-parts": [
        [
          2026,
          11,
          11
        ]
      ]
    },
    "accessed": {
      "date-parts": [
        [
          2026,
          11,
          11
        ]
      ]
    },
    "license": "CC BY-SA 4.0",
    "DOI": "eo1:enwiki-001351316780",
    "isBasedOn": "https://en.wikipedia.org/w/index.php?oldid=1351316780",
    "note": "Immutable snapshot enwiki-001351316780"
  }
}