Skip to main content

Questions tagged [surface-code]

The surfaces 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 they differ in their boundary conditions.

Filter by
Sorted by
Tagged with
0 votes
1 answer
31 views

Obtaining and Applying XX and ZZ Parity in Stim for Controlled Paulis

I am attempting to perform a CNOT between two surface code qubits in Stim, based on this paper by Daniel Litinski and Felix von Oppen. The CNOT they perform is shown in the figure below (Figure 3 from ...
Maxwell Poster's user avatar
0 votes
3 answers
62 views

Does the threshold estimation of the surface code not need a fault-tolerant setup?

The threshold estimation of the $[[9,1,3]]$ surface code in stim's getting started tutorial extracts the syndromes by having a single ancilla for each stabilizer generator. It is the same setup as in ...
qubitzer's user avatar
  • 517
0 votes
1 answer
45 views

Why do Surface codes generate so much measurement data?

I read in the Sparse Blossom paper: "A surface code superconducting quantum computer with a million physical qubits will generate measurement data at a rate of around 1 terabit per second". ...
Daniel Mandragona's user avatar
2 votes
1 answer
73 views

Locally transforming a color code into two surface codes

I've heard before that there are 2d-local unitary operations that transform color code stabilizers into two sets of surface code stabilizers. Globally this would presumably do things like transform a ...
Craig Gidney's user avatar
  • 38.8k
0 votes
1 answer
40 views

Is there a proof in the literature of magic state injection for surface codes?

Proofs of correctness for fault-tolerance schemes rarely give tight constants for error correction performance. However, they do provide formal reasoning that a scheme is correct and all the pieces ...
Chris Pattison's user avatar
1 vote
1 answer
27 views

Simulating an ideal circuit with surface code

In a seminal paper AGP, the authors proved the threshold theorem and obtained a threshold for concatenated Steane code $[[7^k,1,3^k]]$. One thing to note is that, to ensure fault-tolerance, error ...
AndyLiuin's user avatar
  • 376
0 votes
1 answer
53 views

Is there a relation between number of non-equivalent logical operators and number of logical qubits?

I've been reading this blog post about surface code and it says There are four non-equivalent types of loops: the trivial ones (stabilizers), the horizontal ones ($X_1$ operator), the vertical ones ($...
Hamed's user avatar
  • 89
0 votes
1 answer
37 views

error correction after lattice surgery for merging

Imagine you have merged two surface codes with lattice surgery by measuring all the stabilizers and treating both surface codes as one surface code, then are we doing error correction before or after ...
Shahrooz Pooryousef's user avatar
0 votes
1 answer
50 views

Confusion about lattice-surgery operation

According to https://arxiv.org/abs/1111.4022, to perform a logical CNOT using lattice surgery, three patches of surface codes are needed and nearest neighbour operations are performed. However, I ...
AndyLiuin's user avatar
  • 376
3 votes
1 answer
76 views

How does the surface code satisfy constraints of relativity?

Consider a surface code in the shape of a rectangle that has very very long horizontal edges and very short vertical edges. I initialize the surface code into the logical state $\vert 0\rangle$. Let's ...
user1936752's user avatar
  • 3,075
1 vote
0 answers
51 views

State injection in a surface code

I am reading this paper on lattice surgery by Dominic Horsman et al, and am struggling to understand a simple method they put forward in their Figure 8(a)(b)(c) to inject an arbitrary state into a ...
quantumctrl's user avatar
0 votes
1 answer
24 views

Fault tolerance of turning off a stabilizer measurement for later rounds of error correction?

Suppose during a smooth lattice merge operation, I perform one round of error correction, treating the two code patches as one single lattice that stretches across the intermediate qubits. Then, one ...
usermm's user avatar
  • 101
0 votes
1 answer
42 views

Surface code with measurement errors

I am trying to implement error correction to a surface code with circuit-based noise model. In this model, there is a probability $p$ for an error in: initialization, Hadamard, CZ (or CNOT) and ...
David Dentelski's user avatar
1 vote
1 answer
79 views

How is Magic State Distillation (MSD) compatible with Stabiliser Measurement?

Suppose I have the rotated surface code in which I want to inject a $T$-state. What I don't get it is: suppose we do end up with the logical state $|0_L\rangle+e^{i\pi/4}|1_L\rangle$, then we must ...
JoJo P's user avatar
  • 348
2 votes
1 answer
57 views

How is a surface code state measured?

What is the exact operation required to measure the logical state of a surface code? Does one need to measure every data qubit, or only some subset of them to perform the measurement? For simplicity, ...
Whitman's user avatar
  • 23
3 votes
1 answer
71 views

Can you produce Non-Clifford gates via Lattice Surgery?

Is there any theorem stating that lattice merge/split operations (or perhaps more generally, so-called gauge-fixing) cannot produce a non-Clifford gate that can complete the universal gateset for the ...
usermm's user avatar
  • 101
2 votes
0 answers
41 views

How can I obtain the rotated surface code from the original unrotated one?

I am trying to understand the equivalence between the original planar surface code and the rotated version. Looking at Tomita and Svore's paper (2014), they say "The number of qubits [from ...
Ezequiel Rodriguez Chiacchio's user avatar
2 votes
3 answers
142 views

Rotated surface code vs unrotated surface code - Boundary stabilizers

I use these image for the questions below: When we look at the surface code, we can define it in two slightly different ways. The first figure shows a way where we keep all the data qubits and ...
user1936752's user avatar
  • 3,075
0 votes
1 answer
123 views

Initialization of surface code into a logical state

I read this nice answer about how to initialize a surface code into a logical state but have a basic question about it. If I take a surface code patch with all physical qubits in the $\vert 0\rangle$ ...
user1936752's user avatar
  • 3,075
1 vote
1 answer
52 views

What is the reason for qubit indexing in Stim's surface code skipping some indices?

A very silly question perhaps but why does Stim skip certain numbers when it initializes the surface code? For example, a distance 2 surface code has 4 data qubits and 3 ancilla qubits. The Stim ...
user1936752's user avatar
  • 3,075
1 vote
1 answer
46 views

Relating different surface code diagrams

How do I relate the surface code plaquette and vertex stabilisers of this depiction of the surface code (where the qubits are the edges): to this depiction (measurement qubits are the black dots, ...
compp's user avatar
  • 113
6 votes
1 answer
447 views

What exactly is a subsystem code?

I'm sure I'm just tripping up on terminology here. I'm new to the wonderful field of QEC, and so far am familiar with the stabiliser formalism and basic codes such as the generic surface code. I keep ...
compp's user avatar
  • 113
3 votes
0 answers
41 views

How many $ [[9,1,3]] $ surface codes are there?

Two codes are said to be equivalent if their code spaces are related by a non-entangling gate, i.e., a gate from $U(2)^{\otimes n} \rtimes S_n$, the local unitaries together with permutations. The ...
Ian Gershon Teixeira's user avatar
3 votes
1 answer
164 views

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

I am currently trying to compute logical error rates for the surface code using Stim's detector error models and PyMatching for different distances and noise strengths. tl;dr : What is the best ...
Ezequiel Rodriguez Chiacchio's user avatar
1 vote
1 answer
107 views

How can we decode non CSS codes like XZZX code with Pymatching?

I am trying to use Pymatching to decode some non CSS codes like the XZZX code. Pymatching is a perfect decoder for CSS codes, which can work effectively even of a large code distance. I have tried to ...
Qingwei Wang's user avatar
1 vote
1 answer
89 views

Lattice surgery and real-time decoding

This question pertains to the real-time classical processing required while running the surface code. Consider two logical patches $P$, $P'$. Let's assume that after $d$ rounds, a ...
control freak's user avatar
1 vote
1 answer
71 views

How can I use surface code measurement data produced with Qiskit to run matching algorithms (e.g. PyMatching)?

I built a complex time-space dependent error model with Qiskit, and I am simulating surface codes with such error model to test their error correction capabilities. Qiskit supplies measurement data as ...
Marzio Vallero's user avatar
0 votes
0 answers
25 views

3D surface code and unionfind

I was reading some papers about the UnionFind Decoder but I don't get how matching can be used to decode on a 3D surface code. If I understood correctly every layer in our 3D surface code corresponds ...
Feder's user avatar
  • 1
1 vote
0 answers
28 views

How to estimate the logical error rate function of different code distance parameters?

I know that if we have physical qubits in a grid of square shape with the same code distance of $X$ and $Z$, $d_X=d_Z=d$, then given physical qubit error rate $p$, we have logical estimate $$p_L\sim A\...
Zehong Fan's user avatar
0 votes
1 answer
90 views

Quantum Error Correction on a hexagonal lattice

I have an exercise in QEC, where I have given a hexagonal lattice with periodic boundary conditions (wrapped around a torus), with a qubit at each vertex. I have also given the Stabilizer generators $...
Ruebli's user avatar
  • 85
2 votes
1 answer
116 views

Number of logical cycles to implement $R_Z(\theta)$ gates in lattice surgery: why isn't it the number of layers $\times$ the $T$-count in $R_Z$?

Let's assume I want to implement a rotation $R_Z(\theta)$ for a lattice-surgery based computation, for $\theta$ being an arbitrary angle (i.e. the gate is not necessarily Clifford nor a $T$-gate). It ...
Marco Fellous-Asiani's user avatar
0 votes
1 answer
54 views

Litinsky's fast block scheme: should the tile count also include the number of **purified** magic-states

I was looking at the assumptions behind the Microsoft Azure resource estimator, which is mostly built on Litinsky's paper. Calling $Q_{\text{Alg}}$ the number of logical qubits required by the end-...
Marco Fellous-Asiani's user avatar
2 votes
0 answers
58 views

MWPM / Union Find Implementations for 3D Toric Code

I am currently looking into 3D surface codes and was wondering if there are open-source implementations for decoders like MWPM or the Union Find decoder. I found quite a lot of different GitHub repos ...
Oliver's user avatar
  • 21
1 vote
1 answer
92 views

What are the logical 0 & 1 states for the 17 qubit (9 data qubit) surface code?

What are the logical 1 and logical 0 states for the 17 qubit (9 data qubit ) surface code given stabilixzers below ? I have read there is an algorithm that calculates the logical 0 and 1 states ...
Doug Beveridge's user avatar
3 votes
0 answers
60 views

How to address the 2 logical qubits on the toric code individually? In general, how to address $k$ logical qubits in a $[[n,k,d]]$ code independently?

Suppose I have a $[[n,k,d]]$-quantum error correction code. Let us take the toric code $(T^2=S^1 \times S^1)$ as an example. We have 2 logical qubits whose logical operators lie along the different ...
JoJo P's user avatar
  • 348
3 votes
1 answer
100 views

Single-shot error correction for the surface code with measurement errors

I am trying to implement a single-shot error correction for the surface code with data + measurement errors (both with prob. p), using the (build-in) BP+OSD decoder. I am mostly following these papers:...
David Dentelski's user avatar
2 votes
2 answers
243 views

Complexity of translation between Measurement Based and Circuit Based with Error Correction

As I know, translation between measurement-based and circuit-based is polynomial, not trivial, and might not be efficient in real time. It behaves this way because given some quantum circuit, we have ...
Ron Cohen's user avatar
  • 1,482
1 vote
1 answer
125 views

What is the motivation for quantum color codes?

I am a beginner in topological quantum codes and have been interested in quantum color codes recently. The 2-D quantum color codes have a very clear physical picture and can check stabilizers locally. ...
Yunzhe's user avatar
  • 761
4 votes
0 answers
45 views

When do we need to decode live the syndromes? Various examples to understand

I would like to precisely understand why we need to decode syndrome "live" when we want to perform $T$ gates. For this reason I consider different scenario (some are fictive but helpful to ...
Marco Fellous-Asiani's user avatar
2 votes
1 answer
268 views

What is OBSERVABLE_INCLUDE in Stim and what is usefulness Pymatching

I have a question about the role of OBSERVABLE_INCLUDE within Stim circuits and how Pymatching uses it in order to decode syndromes. As far as I have understood from the documentation, ...
Antoni de Marti 's user avatar
1 vote
1 answer
72 views

15-to-1 distillation protocol in lattice surgery: doesn't the potential rejection of the level-1 magic states makes it last longer than $15$ timestep?

Overview of my question I am following Litinsky's paper, and I would like to better understand how the duration of the level-2 15-to-1 distillation protocol is being estimated. Litinsky's says that it ...
Marco Fellous-Asiani's user avatar
6 votes
1 answer
237 views

Getting intuition on the state-injection relations for the generalized $\exp(-iP \pi/8)$ $T$-gates (ideally using ZX calculus)

In Litinsky's paper, there are many circuits relations, like the one below. The left handside represents the "rotation" $\exp(-i P \phi)$ with $\phi=\pi/8$ with similar definitions for the ...
Marco Fellous-Asiani's user avatar
0 votes
1 answer
187 views

How to use surface codes on a quantum circuit?

So far, I have used surface codes on Stim simulations only. The simulation is for a surface code and I want to understand how surface codes work when I comes to quantum circuit. How is this done for a ...
Avimita Chatterjee's user avatar
1 vote
1 answer
133 views

Y observable from surface code in Stim

I understand that, in the surface code, it is generally harder to measure $Y_L$ compared to $X_L$ or $Z_L$, and code deformations are generally required. However, is there an easier way to calculate ...
jchadwick's user avatar
  • 451
2 votes
1 answer
134 views

15-to-1 distillation protocol implemented with lattice surgery: don't we loose transversality by commuting Clifford toward measurements?

I am following Litinsky's paper explaining the 15-to-1 distillation protocol. The usual "trick" done to distill, say the $|T \rangle \equiv T |+ \rangle$ magic state, is to use a code ...
Marco Fellous-Asiani's user avatar
2 votes
1 answer
118 views

Lattice Surgery: how does lattice merging act on the physical qubits?

I am reading 2013, Horsman D. et al. - Surface code quantum computing by lattice surgery. I have been trying to understand how the outcome of rough lattice merging, which is discussed using both ...
Giovanni Canossa's user avatar
2 votes
0 answers
235 views

The planar surface code vs the toric code

Where can I find a numerical or analytical comparison of the effect of open and closed boundaries on surface code error correction power, such as the logical error rate at the threshold, logical error ...
Yaron Jarach's user avatar
0 votes
0 answers
96 views

Why does Stim/PyMatching evaluate the threshold error rate differently for even and odd distances?

For the toric code, the threshold error rate value for no measurement errors should be around $p_{th}\approx 0.109$. If simulated with even distances, one finds that this is true. However, when I ...
JoJo P's user avatar
  • 348
1 vote
1 answer
115 views

Using Pymatching to decode lattice surgery process

I want to simulate the error correction procedure for a CNOT gate on surface code and RHG cube, made by the lattice surgery process of "merge and split". In this case, the code has an H-...
Yaron Jarach's user avatar
3 votes
1 answer
140 views

Absorbing Clifford gates in Pauli measurements: we should care about the post-meas quantum state, why no Clifford correction *after* measurement?

I am reading Litinski's paper, in particular the figure 4 shown below: To implement a computation with surface code, we need to "commute" all the Clifford toward the end of the circuit, ...
Marco Fellous-Asiani's user avatar