PyMatching v2.1.0
Features and improvements
Added the following methods to pymatching.Matching
:
pymatching.Matching.decode_batch
: decodes a batch of (optionally bit-packed) shots to decode, instead of just a single shot (as done bypymatching.Matching.decode
). For smaller/easier problems,Matching.decode_batch
is much faster than iterating over the shots in python and callingMatching.decode
for each one. E.g. When decoding d=11,rounds=11, p=0.1% surface code circuits, looping overMatching.decode
in python is 1us per round vs 0.37us per round usingMatching.decode_batch
. For d=5,rounds=5, p=0.01%, looping Matching.decode in python is 0.8us per round vs 0.02us per round with Matching.decode_batch.pymatching.Matching.decode_to_edges_array
: returns the solution as an array of edges (given as pairs of detector node indices).pymatching.Matching.from_detector_error_model_file
pymatching.Matching.from_stim_circuit
pymatching.Matching.from_stim_circuit_file
Adds pymatching.cli
, which provides access to the pymatching command line tool via the Python API.
Adds the pymatching
console script entry point to the setup.py. Makes the pymatching
command line tool available when pip installing.
Bug fixes
Fixes a bug in the command line tool where b8-formatted stim dets files couldn't be read on windows machines (also causing issues with sinter, which uses the command line tool).