Release 0.15.0 (development release)ΒΆ

New features since last release

Improvements πŸ› 

  • The default mcm_method for the finite-shots setting (dynamic one-shot) no longer silently falls back to single-branch statistics in most cases. Instead, an error message is raised pointing out alternatives, like explicitly selecting single-branch statistics. (#2398)

    Importantly, single-branch statistics only explores one branch of the MCM decision tree, meaning program outputs are typically probabilistic and statistics produced by measurement processes are conditional on the selected decision tree path.

Breaking changes πŸ’”

Deprecations πŸ‘‹

Bug fixes πŸ›

Internal changes βš™οΈ

  • The quantum dialect MLIR and TableGen source has been refactored to place type and attribute definitions in separate file scopes. (#2329)

  • Added PauliMeasure and PauliRot to the runtime CAPI and QuantumDevice C++ API. (#2348)

  • Added LLVM conversion patterns to lower QEC dialect operations to their corresponding runtime CAPI calls. This includes qec.ppr and qec.ppr.arbitrary (lowered to __catalyst__qis__PauliRot), qec.ppm (lowered to __catalyst__qis__PauliMeasure). This enables device execution of QEC operations through the Catalyst runtime. (#2389)

  • A new compiler pass unroll-conditional-ppr-ppm for lowering conditional PPR and PPMs into normal PPR and PPMs with SCF dialect to support runtime execution. (#2390)

Documentation πŸ“

Contributors ✍️

This release contains contributions from (in alphabetical order): Ali Asadi Sengthai Heng, Jeffrey Kam.