Skip to main content
Share Your Experience: Take the 2024 Developer Survey
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
  • 58.7k
8 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
  • 37.6k
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
  • 37.6k
8 votes
Accepted

What exactly is a subsystem code?

I too find the various descriptions of subsystem codes a little more opaque than necessary. At it's heart, a subsystem code is literally just a regular old "subspace" code with some ...
squiggles's user avatar
  • 925
7 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
  • 37.6k
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
  • 37.6k
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
  • 37.6k
6 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
  • 37.6k
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
  • 540
6 votes

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

There is not "the" $[\![7, 1, 3]\!]$ code in the sense that there is "the" $[\![5, 1, 3]\!]$ code. While the Steane code is not a surface code (it is a color code, locally ...
Andrew J. Landahl's user avatar
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
  • 22.9k
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
  • 37.6k
5 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
  • 37.6k
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
  • 37.6k
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
  • 37.6k
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
  • 37.6k
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
  • 58.7k
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
  • 37.6k
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
  • 22.9k
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
  • 37.6k
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
  • 37.6k
4 votes

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

The idea of how it works is very simple. Errors on the surface code form strings: when you measure the stabilizers, you detect the ends of the strings. The goal of error correction is, having ...
DaftWullie's user avatar
  • 58.7k
4 votes
Accepted

What's hook error in surface code?

A hook error is an error that occurs in the middle of a stabilizer measurement cycle, producing symptoms that would require multiple data errors when not in the middle of the cycle. For example, one ...
Craig Gidney's user avatar
  • 37.6k
4 votes
Accepted

What is the best way to parallelise processes across multiple cores when computing logical error rates with Stim and PyMatching?

(Sounds like you want sinter. In particular you should check out sinter.collect. It's for exactly this task, but supports additional features such as the ability to ...
Craig Gidney's user avatar
  • 37.6k
4 votes

Can you produce Non-Clifford gates via Lattice Surgery?

Merge and split can be performed with stabilizer operations (up to feedback due to ZX defining merge to use postselection whereas real computers have measurement instead): Therefore if merge or split ...
Craig Gidney's user avatar
  • 37.6k
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
  • 22.9k
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
  • 37.6k

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