30 votes
Accepted

What is the "surface code" in the context of quantum error correction?

The surface codes are a family of quantum error correcting codes defined on a 2D lattice of qubits. Each code within this family has stabilizers that are defined equivalently in the bulk, but differ ...
James Wootton's user avatar
28 votes

What is the "surface code" in the context of quantum error correction?

The terminology of 'surface code' is a little bit variable. It might refer to a whole class of things, variants of the Toric code on different lattices, or it might refer to the Planar code, the ...
DaftWullie's user avatar
  • 57.1k
8 votes
Accepted

Can you give an intuitive idea behind how the Minimum Weight Perfect Matching (MWPM) decoder work?

I recommend reading the sparse blossom paper. Strings In the surface code, errors produce pairs of detection events. Chains of errors can cancel out the detection events along the chain, leaving only ...
Craig Gidney's user avatar
  • 35.3k
7 votes
Accepted

Logical qubit initialization for the surface code

For $|0\rangle$, $|1\rangle$, $|+\rangle$, and $|-\rangle$ you do transversal initialization (initialize all physical qubits to the desired state, then turn on the stabilizers). For $|i\rangle$ and $|...
Craig Gidney's user avatar
  • 35.3k
7 votes
Accepted

Magic State Distillation Understanding Check

1) Magic state distillation is performed within the surface code If you mean the distillation circuit is implemented with encoded logical qubits instead of raw physical qubits, then yes. 2) The ...
Craig Gidney's user avatar
  • 35.3k
6 votes
Accepted

GridQubit in Cirq vs LineQubit

When using a simulator, it doesn't really matter what kind of qubit you refer to. You can even mix-and-match the types. The type of qubit only becomes relevant when you intend to run on a device, ...
Craig Gidney's user avatar
  • 35.3k
6 votes

If Majorana qubits are analogous to surface codes, why do the diagrams use lines instead of squares?

The surface code has two types of boundary at which two different kinds of error string can terminate. I'll call these X and Z boundaries. The surface code also has two types of stabilizer generator. ...
James Wootton's user avatar
6 votes
Accepted

Why Is This the Ground State of a Toric Code?

The crucial point it seems you are missing is to recognize that $A_s^2=1$ (for that matter, $B_p^2=1$ also) and therefore $(1+A_s)/2$ is a projector onto the $+1$ eigenspace of $A_s$. We would then ...
nervxxx's user avatar
  • 520
5 votes

What is the motivation for using dual lattice in the surface code?

Primal and dual lattice We do not need to use the dual lattice. The observation that the primal lattice is sufficient to describe both the $X$- and $Z$-type stabilizer generators is correct. To that ...
Adam Zalcman's user avatar
  • 21.7k
5 votes
Accepted

Is there benefit to extra stabilizers in a rotated surface code?

an X error on the top left qubit and the qubit beneath it would be undetectable That error would be detected by the flipping of the four body Z stabilizer adjacent to the lower qubit you operated on: ...
Craig Gidney's user avatar
  • 35.3k
5 votes
Accepted

Lattice splitting: understanding mathematically why it works based on the stabilizer formalism

$\pm Z_1 Z_2$ is a stabilizer of the system, since you've been measuring it repeatedly for awhile. Now you measure $Z_M$. This forces $\pm Z_M$ to become a stabilizer of the system. This doesn't ...
Craig Gidney's user avatar
  • 35.3k
5 votes
Accepted

General definition for smooth and rough boundaries in surface code

I don't know if there's a paper that explains this well, but I've been working on slides to do it: https://docs.google.com/presentation/d/1IjZ-0W9Y22wNG5036WFnnkF5Az1Zt8jTHFTC1-e7Em4/edit?usp=sharing ....
Craig Gidney's user avatar
  • 35.3k
5 votes
Accepted

Injecting arbitrary rotations into the surface code

Generally speaking, you would never do a $\pi/2^{10}$ rotation by physical injection and distillation. It would be horrendously expensive. It's far cheaper to use a series of T and H gates to ...
Craig Gidney's user avatar
  • 35.3k
4 votes

How to understand the circuits used for magic state distillation in surface code?

The key property these circuits have to satisfy is that, if there is a small number of Z or X errors next to the key gate (the T gate or the S gate in this case), the measurements that you perform ...
Craig Gidney's user avatar
  • 35.3k
4 votes
Accepted

Understanding surface code diagrams

Each vertex has a physical data qubit. But what exactly do the operators (green circles) represent? Is there an X and Z operator on every vertex site, or only some of them (Figure 1b)? The circles on,...
DaftWullie's user avatar
  • 57.1k
4 votes

What is the definition of Bell state on a n-qubit system?

1) There are 4 Bell states, namely the ones you listed divided by $\sqrt{2}$. There is no "the bell state". The Bell states are only defined for 2 qubits, so there is no "higher dimensional definition ...
bRost03's user avatar
  • 579
4 votes

Reference that explains how to read 3d topological diagrams for surface code computations

Here's an unfinished slide deck I have on reading these diagrams: https://docs.google.com/presentation/d/1IjZ-0W9Y22wNG5036WFnnkF5Az1Zt8jTHFTC1-e7Em4/edit?usp=sharing
Craig Gidney's user avatar
  • 35.3k
4 votes
Accepted

What is a "temporal" or "timelike" logical error in the surface code?

What is a “temporal” or “timelike” logical error in the surface code? An example of an undetectable timelike error is a stabilizer measurement being consistently wrong. For example, when you ...
Craig Gidney's user avatar
  • 35.3k
4 votes
Accepted

Reference for surface code error correction

Topological quantum memory by Eric Dennis, Alexei Kitaev, Andrew Landahl and John Preskill is a very nice introduction to the surface code. It develops intuitive description of the code in topological ...
Adam Zalcman's user avatar
  • 21.7k
4 votes

Why are the planar surface codes in articles always of odd distance?

I ran some simulations to answer this question. I did min(100M shots, 1K errors) runs of distances 2-9 and error rates 0.001-0.01. I used Stim's default surface code circuits and only depolarizing ...
Craig Gidney's user avatar
  • 35.3k
4 votes
Accepted

Physical qubit estimates when using surface codes

I'm using a paper by Aggarwal et al The implementation details of these algorithms have improved substantially since 2017. For example, you'll find much better logical gate counts (but not physical ...
Craig Gidney's user avatar
  • 35.3k
4 votes
Accepted

Is the [[7,1,3]] Steane code a surface code?

A surface code is defined by a planar graph, embedded on a plane (that's the "surface" part), where edges (E) are qubits, Z checks are faces (F), and X checks are vertices (V). All connected ...
Craig Gidney's user avatar
  • 35.3k
3 votes
Accepted

Struggle to understand the derivation of the probability of logical error per surface code cycle

Lowest order approximation of logical error We can generalize equation $(12)$ as follows $$ P_L=\sum_{k=1}^\infty N(k)p_e^k\tag{a} $$ where $P_L$ is the probability of a logical error, $N(k)$ is the ...
Adam Zalcman's user avatar
  • 21.7k
3 votes
Accepted

Defining logical X operator for surface code: equivalent possible definitions

An X error on a data qubit places an edge between the two Z stabilizers adjacent to it. The edges must form a contiguous path from one side to the other to be an observable (or equivalently an ...
Craig Gidney's user avatar
  • 35.3k
3 votes
Accepted

Is the common depiction of a surface code to be taken literally as a real-space image of the actual hardware?

is the common depiction of a surface code (the pattern of the measure qubits and data qubits) to be taken literally as a real-space image of the actual hardware? Correct. The surface code is ...
Craig Gidney's user avatar
  • 35.3k
3 votes
Accepted

How to read a graph representing the stabilizers and data qubits in surface code

Each bulb becomes an outside corner and each side-square because an inside corner. You get a zig-zaggy pattern of cuts:
Craig Gidney's user avatar
  • 35.3k
3 votes

How to know whether or not we have an X-cut or Z-cut without information on the boundaries

How to understand the boundary condition they are using to create this logical qubit. What did they precisely mean in the text. They just mean that the boundaries are unspecified but far enough way ...
Craig Gidney's user avatar
  • 35.3k
3 votes
Accepted

I don't understand the lattice splitting procedure for surface code

Why [doesn't the data measurement change the boundary stabilizers]? If I measure the pink data qubit belonging to the black plaquette with a Pauli X measurement, the black plaquette will have its ...
Craig Gidney's user avatar
  • 35.3k
3 votes
Accepted

Why do we need to keep of history of $d$ cycle for surface code in order to resist against data *and* measurement errors

I don't know a hard rule for how many rounds you need to keep in memory. For example, suppose you were using phenomenological noise with an extremely low data error rate of 1 in a billion but an ...
Craig Gidney's user avatar
  • 35.3k
3 votes
Accepted

Surface Code - Convert Control Error to Clifford Error

Answer from the literature Background The question of the validity of the incoherent approximation is explored in detail in this publication: Bravyi, S., Englbrecht, M., König, R. et al. Correcting ...
Lior's user avatar
  • 1,200

Only top scored, non community-wiki answers of a minimum length are eligible