v0.23.0
Changelog
Version 0.23.0
The main improvements introduced in this release are:
-
A significant refactoring of the Mitiq calibration module. We generalized the
Settings
object, which is now able to generate a more general list ofBenchmarkProblem
objects (wrapping circuits and ideal results) and a list ofStrategy
objects
representing the error mitigation strategies to compare. We also improved how the optimalStrategy
is determined. Specifically, we now average overBenchmarkProblems
to reduce fluctuations and spurious results.
We remark that themitiq.calibration
module is very new and quickly evolving. Therefore further significant breaking changes are likely to happen in future releases. -
A non-trivial refactoring of the REM module. We changed the underlying workflow of the technique which is now applied directly to executors, instead of applying REM during the evaluation of expectation values. Expectation values can still be mitigated as usual with
execute_with_rem
but mitigated executors can now return rawMeasurementResult
objects (bitstrings). -
We also significantly extended the REM documentation with new and informative sections. Special thanks to @amirebrahimi and @nickdgardner for their high-quality and useful contributions!
-
We now have 2 tutorials focused on digital dynamical decoupling (DDD)---one for Cirq and one for Qiskit---both showing an improvement for a theoretical highly-correlated noise model. Moreover, the Qiskit tutorial on DDD is a useful starting point for testing the technique on real hardware.
All changes
- Use closest probability distribution in REM (#1688) [@andreamari]
- REM: Write-up third section of docs (#1693) [@nickdgardner]
- Improve calibration method parameter selection (#1682) [@Misty-W]
- Add References about REM (#1691) [@nathanshammah]
- REM: mitigate executors as a first step and expectation values at a second step. (#1678) [@andreamari]
- Draft for glossary of QEM concepts in docs (#1647) [@nickdgardner]
- myst -> md (#1689) [@natestemen]
- use executor.run in rem docs (#1690) [@andreamari]
- REM: Write-up fourth section of docs (#1680) [@amirebrahimi]
- upgrade
_run
to a public function (#1684) [@natestemen] - Update pyquil requirement from ~=3.3.2 to ~=3.3.3 (#1686) [@dependabot[bot]]
- Update qiskit requirement from ~=0.39.5 to ~=0.40.0 (#1687) [@dependabot[bot]]
- Calibration improvements (#1676) [@natestemen]
- Further updates related to the measurement result class (#1673) [@andreamari]
- DDD on IBMQ backends (#1665) [@Misty-W]
- Update amazon-braket-sdk requirement from ~=1.35.2 to ~=1.35.3 (#1674) [@dependabot[bot]]
- Update qiskit requirement from ~=0.39.4 to ~=0.39.5 (#1675) [@dependabot[bot]]
- Use
md
extension for myst markdown files (#1671) [@natestemen] - add H2 image (#1677) [@andreamari]
- Use source svg files instead of exported pngs (#1651) [@amirebrahimi]
- Improve and modify MeasurementResult class (#1670) [@andreamari]
- Update pennylane requirement from ~=0.27.0 to ~=0.28.0 (#1643) [@dependabot[bot]]
- Update cirq requirement from ~=1.0.0 to ~=1.1.0 (#1644) [@dependabot[bot]]
- loosen numpy requirements (#1672) [@natestemen]
- clean up latex (#1669) [@natestemen]
- Fix executor and update wording of DDD tutorial (#1655) [@Misty-W]
- Update scipy requirement from ~=1.9.3 to ~=1.10.0 (#1657) [@dependabot[bot]]
- update link (#1661) [@natestemen]
- Update amazon-braket-sdk requirement from ~=1.35.1 to ~=1.35.2 (#1656) [@dependabot[bot]]
- Update numpy requirement from ~=1.24.0 to ~=1.24.1 (#1652) [@dependabot[bot]]