Skip to content

Version 0.9.13

Latest
Compare
Choose a tag to compare
@sserita sserita released this 16 Jan 19:39
· 3 commits to master since this release

Notable changes include the implementation of the interleaved RB (IRB) protocol, a new PyTorch forward simulator, minor IBMQ updates, significant performance and code maintenance changes, and more (including the usual bugfixes and minor updates).

BLUF for performance results: Thanks to @coreyostrove's herculean efforts, we expect end-to-end 2Q GST runs to be 6x faster with default settings compared to previous versions of pyGSTi.

Added

  • PyTorch-backed forward simulation (#390)
  • Support for ECR gates in QASM translation (#440, #457)
  • Interleaved RB (#296, #468)
  • Pared-down Levenberg-Marquardt for nonlinear least-squares (#500)
  • Fisher information for quantum instruments (#464, #503)
  • Wildcard and Hessians for non-ExplicitOpModels (#511)

Fixed

  • Kraus operator decomposition with degenerate Choi matrix bugfix (#423)
  • NumPy improvements and fixes (#430, #431, #451, #458, #470, #518)
  • Model parameter desync bugfix (#456, #482)
  • FOGI parameter label accumulation bugfix (#486, #488)
  • Guarding signal to allow PyGSTi usage with Dask (#489)
  • Docstring escape and mismatch bugfixes (#502, #504)
  • CPTP deserialization sign flip bugfix (#341, #509)
  • LindbladErrorgen Hessian with dense representation bugfix (#512)
  • Test file updates (#510)
  • ProcessorSpec state space label bugfix (#474, #521)

Changed

  • Circuit primitive performance upgrades (#445)
  • Refactors for matrixtools.py and the Basis class (#429, #442, #493)
  • Layout and MDCStore creation performance upgrades (#448)
  • Major 2Q GST performance improvements (#496, #517)

Deprecated

  • We are deprecating the CVXOPT backend for CVXPY in favor of Clarabel (#437). Although pyGSTi will not warn you if you continue to use the CVXOPT backend, this change will occur with no additional warning in a future release.

Removed

  • Removed explicit dependency on CVXOPT for wildcard optimization (#444)
  • Removed deprecated QIBO interface (#262, #490)
  • Large "spring cleaning" of unused/commented out code (#424, #452)

Spring Cleaning Notes

Some of the code removed in the "spring cleaning" were features that we may want to revisit in the future. We flag some of the more likely features that we may want to revive in the future here (potentially even just as unit tests for the current/more sophisticated versions of code with the same functionality):

  • Original versions of the RB mirroring, random circuit generation, fitting, and plotting code
  • A reference Polynomial class (to be turned into a unit test)
  • Tensor product state representations for the CHP evotype
  • Dense POVM effect representations
  • Non-static marginalized POVMs
  • TermForwardSimulator cache generation code for modelpacks
  • Experimental optimizer implementations
  • Volumetric benchmarking grids

A big thank you to @rileyjmurray for spearheading this effort!

Contributors

@sserita, @enielse, @coreyostrove, and @rileyjmurray want to thank @eendebakpt for their continued bug reporting/fixing efforts and @pcwysoc, @adhumu, @tjproct, and @jordanh6 for their roles as code owners.

Full Changelog: v0.9.12.3...v0.9.13