Questions tagged [pymatching]

39 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…
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…
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
  • 7,988
  • 2
  • 12
  • 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
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,700
  • 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…
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

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
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…
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,405
  • 1
  • 8
  • 21
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
  • 215
  • 1
  • 10
1
vote
1 answer

PyMatching in presence of qubit error for the repetition code

I'm considering the repetition code in presence of measurement and qubit error as discussed in SEC IV B of this paper. I am trying to use pymatching for the syndrome decoding using mwvp in presence of qubit error, so it should work but it doesn't.…
1
vote
1 answer

MWPM decoding with PyMatching in presence of measurement error

I am trying to do decoding in presence of measurement error and bit-flip error for the repetition code. In the PyMatching version 0.2.2 https://pypi.org/project/PyMatching/0.2.3/ it mentions that To decode instead in the presence of measurement…
1
vote
1 answer

Stim: output decoded/predicted locations of Pauli errors

I created some Stim circuits to do circuit-level noise simulations of some Hyperbolic surface codes, and I was able to recover the thresholds in the literature. The detector error model is good at reporting whether if a logical variable is flipped…
user29731
1
2 3