Questions tagged [pymatching]
46 questions
5
votes
3 answers
Are there open source implementations of quantum error correction decoders?
To detect and correct for errors in a topological quantum memory (toric code for example) one needs a quantum error correction algorithm also known as decoder.
The minimum weight perfect matching (MWPM) decoder is currently the most standard decoder…
francois-marie
- 351
- 2
- 11
4
votes
1 answer
Why are $X$-logicals used when only $Z$ errors are allowed in logical error calculation instead of $Z$-logicals?
I'm following this toric code tutorial, where they constructed the $X$-logicals matrix using the Künneth theorem.
I'm confused about why they specifically used $X$-logicals when only $Z$ errors were allowed to occur.
I used the following code to…
Rahul Dev Sharma
- 49
- 5
3
votes
1 answer
pymatching for rotated surface code
I am trying to do MWPM with pymatching for a rotated surface code with distance $L$, but I can't figure out how to initialize the Matching object in a simple way. I only want a single round of decoding. For $L=3$, I have 9 qubits with the following…
forky40
- 8,168
- 2
- 13
- 33
3
votes
1 answer
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 strategy for parallelising this process over different…
3
votes
1 answer
Pymatching shows a large timing distribution to decode the same set of syndromes
I am interested in looking into histogram distributions of decoder timing for different syndrome inputs (sourced from stim) into pymatching. Unfortunately, it seems the histograms I product are more a function of how my PC runs the simulations vs…
Ian
- 94
- 6
2
votes
1 answer
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 a dictionary of counts for each bitstring that…
Marzio Vallero
- 37
- 4
2
votes
2 answers
How to force PyMatching into the opposite equivalence class
PyMatching finds the minimum weight matching, which will belong to a particular equivalence class. But sometimes it is useful to know the minimum matching of each equivalence class.
In the olden days, when we build our own matching decoders with…
James Wootton
- 11,790
- 1
- 35
- 74
2
votes
1 answer
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, OBSERVABLE_INCLUDE contains the value of the logical operator…
Antoni de Marti
- 95
- 5
2
votes
1 answer
How to compute Z logical operators of a toric code using Kunneth theorem?
I'm going through pymatching tutorial on constructing a toric code using hypergraph product of two repetition codes.
The hypergraph product code construction $H G P\left(H_1, H_2\right)$ takes as input the parity check matrices of two linear codes…
tomek
- 321
- 1
- 5
2
votes
1 answer
Can Stim and PyMatching analyze logical error rate of non-deterministic observable?
In Stim, logical observable has to be deterministic. To calculate the logical error rate, we compare the actual_observables sampled with stim circuit and predicted_observables which is the prediction from PyMatching.
I wander if we can analyze…
Jerry
- 59
- 2
2
votes
1 answer
PyMatching.Matching.decode() returns incorrectly sized array
I have having trouble getting the decode(...) function for a pymatching.Matching object to return an array of an appropriate size. Instead of returning an array with the number of qubits in a code, the function returns an array containing a single 0…
Ian
- 94
- 6
1
vote
2 answers
Is there a way to assign different weights to and get the decoding edges from 2D graphs in each round when using pymatching to decode 3D graph
It seems that when decoding 3D graph, pymatching only gives the overall decoding edges and only takes spacelike-weights in 2D graph which means the weights are the same in each round.
So I'd like to know if pymatching supports assigning different…
lyt
- 21
- 2
1
vote
1 answer
Get a correction ($e$) that satisfies $H.e=s$ from pymatching
I am running some experiments on the surface code where I need the correction that satisfies $H.e=s$ and not the prediction of whether the observable has flipped or not from pymatching. I am trying to use the in-built API…
control freak
- 169
- 7
1
vote
1 answer
Can gauge fixing be done with decoders other than MWPM?
I've been experimenting with subsystem codes decoded with BP-OSD decoders. The performance seems pretty bad compared to subspace code. I believe this is expected since the information used is the syndrome of the stabilizers only.
This paper claims…
unknown
- 2,623
- 1
- 9
- 22
1
vote
1 answer
Why does the error is always logical NOT when MWPM fails?
Consider the decoding of noisy syndrome using pymatching (as shown here) for the repetition code. The logical operator in this case is simply identity matrix. One could write the python code as
def repetition_stabilisers(N):
check_matrix =…
Himanshu
- 217
- 1
- 10