Skip to content

Release 0.2.16

Latest
Compare
Choose a tag to compare
@shinich1 shinich1 released this 26 Aug 13:52
· 11 commits to master since this release

[0.2.16] - 2024-08-26

This version introduces several important interface changes, aimed at secure data manipulation and improved code maintainability.
More changes are expected in version 0.3.0, to reach a milestone of stable and reliable MBQC pattern expression, manipulation and simulation library around which other packages can be built.

Added

  • Added classes for a standardized definition of pattern commands and circuit instructions (graphix.commands, graphix.instructions). This is for data validation, readability and maintainability purposes. Preiously, the commands and instructions were represented as raw data inside lists, which are prone to errors and not readable. by @thierry-martinez
  • The following changes were made (#155):
    • Added class Command and all its child classes that represent all the pattern commands.
    • Added class Instruction for the gate network expression in quantum circuit model. Every instruction can be instanciated using this class by passing its name as defined in the Enum InstructionName.
  • class graphix.OpenGraph to transpile between graphix patterns and pyzx graphs.
  • class graphix.pauli.PauliMeasurement as a new Pauli measurement checks (used in pattern.perform_pauli_measurements).

Fixed

  • Typos and bugs in docs fixed.

Changed

  • Entire package was updated to follow the new data classes, e.g. pattern.add(["M", 0, "XY", 0, [], []]) -> pattern.add(M(node=0)).
  • Measure commands do no longer carry vertex operators (vop): Clifford gates can still be applied to measures with the method M.clifford, which returns a new measure commands where plane, angle and domains has been updated.
  • X- and Z-domains for measures and domain for correction commands are now set of nodes (instead of lists).
  • Migrated style checks to ruff, and corresponding CI is set up.
  • Codecov is now set up for coverage report on each PR and CI is set up.

Contributors

@thierry-martinez @EarlMilktea @wlcsm @vincentmr