I have come across the minimum weight perfect matching algorithm in a surface code decoder as a benchmark method. Could anyone explain why do we need it and how does the algorithm work in the surface code?
I have come across the minimum weight perfect matching algorithm in a surface code decoder as a benchmark method. Could anyone explain why do we need it and how does the algorithm work in the surface code?
Surface code is less intuitive, we can take a look at 1 dimensional repetition code first.
In 1D, the error syndromes are also in 1D. We can map the error syndrome to a graph by mapping detected stabilizers to nodes and the distance between them to be weighted edges.
If we are able to find a matching, then the qubits within the matching are which have errors. We can see there are multiple ways to choose matching(blue edges), but the minimum weight perfect matching corresponding to the most likely happened errors in the repetition code.
[1] Reference slides