Skip to content

PyMatching v2.1.0

Compare
Choose a tag to compare
@oscarhiggott oscarhiggott released this 18 Jan 23:35
· 29 commits to master since this release

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 by pymatching.Matching.decode). For smaller/easier problems, Matching.decode_batch is much faster than iterating over the shots in python and calling Matching.decode for each one. E.g. When decoding d=11,rounds=11, p=0.1% surface code circuits, looping over Matching.decode in python is 1us per round vs 0.37us per round using Matching.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).