Overview of PyMatching
masterPyMatching is a high-performance Python/C++ library designed for decoding quantum error correcting (QEC) codes using the Minimum Weight Perfect Matching (MWPM) decoder. It is optimized for speed using a 'sparse blossom' algorithm implementation that is significantly faster than previous versions and alternatives like NetworkX.
Key features include:
- MWPM Decoding: Finds the most probable set of errors assuming they are independent and graphlike.
- Broad Code Support: Works with surface codes, subsystem codes, honeycomb codes, and 2D hyperbolic codes.
- High Performance: Version 2 uses a sparse blossom algorithm that is 100-1000x faster than previous versions and scales roughly linearly with the number of nodes.
- Correlated Matching: Supports correlated matching (as of v2.3) to improve accuracy in scenarios with hyperedge errors (e.g., $Y$ errors in surface codes).