Mitiq

Latest version: v0.36.0

Safety actively analyzes 630052 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 9

0.23.0

The main improvements introduced in this release are:

- A significant refactoring of the Mitiq [calibration module](https://mitiq.readthedocs.io/en/latest/guide/calibrators.html). We generalized the `Settings`
object, which is now able to generate a more general list of `BenchmarkProblem` objects (wrapping circuits and ideal results) and a list of `Strategy` objects
representing the error mitigation strategies to compare. We also improved how the optimal `Strategy` is determined. Specifically, we now average over `BenchmarkProblems` to reduce fluctuations and spurious results.
We remark that the `mitiq.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 raw `MeasurementResult` 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]]

0.22.0

Summary

In this release we focused on improving our documentation with three new examples, new REM docs, and navigation improvements, along with some bug fixes.
This release also adds a new module `calibration` which allows one to run a series of experiments to see what error mitigation parameters will work best for their particular setup.
This feature is still under active development.

Many thanks to amirebrahimi for his continued work on making readout error mitigation available, and usable in Mitiq.

Thanks to everyone who contributed to Mitiq this year!
It's been a great time for error mitigation, and we look forward to continuing to grow Mitiq in the new year!
Happy holidays! 🎄🎉🎊

All changes

- Digital Dynamical Decoupling Tutorial on Mirror Circuits (1645) [Misty-W]
- Fix bug for Qiskit circuits with idle qubits (1646) [andreamari]
- Calibration core concepts docs (1648) [natestemen]
- Calibration prototype (1614) [natestemen]
- Noise scaling tutorial (identity insertion/folding) (1633) [natestemen]
- Fill in second sub-section of REM docs (1630) [amirebrahimi]
- Add REM docs sections and fill out the first section (1629) [amirebrahimi]
- Update pennylane-qiskit requirement from ~=0.27.0 to ~=0.28.0 (1641) [dependabot]
- Revert "Update pennylane requirement from ~=0.27.0 to ~=0.28.0 (1640)" (1642) [natestemen]
- Update pennylane requirement from ~=0.27.0 to ~=0.28.0 (1640) [dependabot]
- Update numpy requirement from ~=1.23.5 to ~=1.24.0 (1638) [dependabot]
- Update mitiq build badge display name (1636) [Misty-W]
- Fix build badge (1635) [andreamari]
- Contributing/dev tasks docs improvements (1615) [natestemen]
- Fix extrapolations for ExpFactory in special cases (1631) [Misty-W]
- docs: add Misty-W as a contributor for ideas, test, and 2 more (1632) [allcontributors]
- Update learning depolarizing noise tutorial to avoid long execution time (1628) [Misty-W]
- Format examples' titles and list (1622) [nathanshammah]
- Update qiskit requirement from ~=0.39.3 to ~=0.39.4 (1625) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.34.3 to ~=1.35.1 (1626) [dependabot]
- Add list of accepted RFCs to docs (1623) [nathanshammah]
- REM: Utility method maintenance (1610) [amirebrahimi]
- Adding PEC simulator mitiq tutorial (1612) [vprusso]

0.21.0

Summary

This release officially adds support for the learning-based PEC sub-technique which is now
[fully documented](https://mitiq.readthedocs.io/en/latest/guide/pec-3-options.html#applying-learning-based-pec) and ready to be applied by
Mitiq users.
We are still assessing the stability of this new sub-technique, so if you notice any bugs, please let us know by opening
[issues](https://github.com/unitaryfund/mitiq/issues) on GitHub.

Functions to apply Readout Error Mitigation (REM) are also introduced in this release, special thanks to Amir Ebrahimi for this contribution!

Also, the [noise scaling by identity insertion](https://mitiq.readthedocs.io/en/latest/guide/zne-3-options.html#identity-scaling)
method is included in the ZNE section of the user guide.
Special thanks to Purva Thakre for this contribution!

During the release cycle we accepted the
[RFC for implementation of calibration tools (Solution 1)](https://github.com/unitaryfund/mitiq/issues/1578).
We also completed a prototype of this approach, which will be released in a future version of Mitiq.

In addition, this release adds support for qubit-independent representations for PEC, along with bug fixes and minor dependency upgrades.

All changes

- Cleanup (some) Deprecation Warnings (1556) [purva-thakre]
- Update qiskit requirement from ~=0.39.2 to ~=0.39.3 (1611) [dependabot]
- Documentation for Identity Scaling (1573) [purva-thakre]
- Bump flake8 from 5.0.4 to 6.0.0 (1609) [dependabot]
- Techniques intro documentation (1603) [nathanshammah]
- Update pennylane requirement from ~=0.26.0 to ~=0.27.0 (1590) [dependabot]
- Enable user to define qubit-independent representations (1565) [Misty-W]
- Refactor generate_inverse_confusion_matrix (1607) [amirebrahimi]
- REM implementation (1449) [amirebrahimi]
- Update numpy requirement from ~=1.23.4 to ~=1.23.5 (1600) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.34.1 to ~=1.34.3 (1599) [dependabot]
- remove skipped test (1598) [natestemen]
- Write user guide section for learning-based PEC (1395) [Misty-W]
- Raise error when inserting DDD sequence with midcircuit measurement (1586) [natestemen]
- use \prod instead of \Pi documentationImprovements or additions to documentation (1592) [natestemen]
- Update amazon-braket-sdk requirement from ~=1.34.0 to ~=1.34.1 (1595) [dependabot]
- Learn biased noise parameters (1510) [Misty-W]
- Update qiskit requirement from ~=0.39.0 to ~=0.39.1 (1579) [dependabot]
- Update qiskit requirement from ~=0.39.1 to ~=0.39.2 (1581) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.31.1 to ~=1.33.1 (1585) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.33.1 to ~=1.33.2 (1588) [dependabot]
- Update pennylane-qiskit requirement from ~=0.24.0 to ~=0.27.0 (1591) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.33.2 to ~=1.34.0 (1589) [dependabot]
- color output from pytest on CI (1587) [natestemen]
- Implement conversions of IonQ native gates for Braket (1525) [yitchen-tim]
- use python 3.10 for asv (1580) [natestemen]

0.20.0

Summary

This milestone focused on updating our support for numpy (1.23), adding a tutorial demonstrating the learning-based PEC workflow, and scoping out what device/noise calibration might look like as part of Mitiq.
Additionally identity insertion has been added as a noise-scaling technique available for mitigation protocols such as zero-noise extrapolation.
Expect more documentation of this feature in future releases.
Big thanks to purva-thakre for getting this in Mitiq!

There are also some minor bug fixes, documentation updates, and a new example contributed by nickdgardner as well!

All changes

- Port BQSKit example to 1.0 release (1557) [natestemen]
- Add Qiskit example on mitigating the energy landscape of a variational circuit (1551) [nickdgardner]
- Bump pytest-xdist[psutil] from 2.5.0 to 3.0.2 (1569) [dependabot]
- remove badges from contributing to docs doc (1571) [natestemen]
- Warn when unsupported gate fidelity is passed (1542) [natestemen]
- remove gh-pages deploy action (1566) [natestemen]
- First demo of learning function (1514) [Misty-W]
- remove stale bot (1558) [natestemen]
- Update scipy requirement from ~=1.9.2 to ~=1.9.3 (1561) [dependabot]
- Docs infrastructure improvements (1559) [natestemen]
- Identity Insertion Scaling (1442) [purva-thakre]
- Update scipy requirement from ~=1.9.1 to ~=1.9.2 (1548) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.31.0 to ~=1.31.1 (1549) [dependabot]
- Update qiskit requirement from ~=0.38.0 to ~=0.39.0 (1550) [dependabot]
- Update numpy requirement from ~=1.23.3 to ~=1.23.4 (1553) [dependabot]
- Revert "[temporary] ignore errors from first-interaction (1532)" (1555) [natestemen]
- allow all tests to run if one fails (1554) [natestemen]
- Update numpy requirement from ~=1.21.6 to ~=1.23.3 (1486) [dependabot]
- Update black requirement from ~=22.8 to ~=22.10 (1544) [dependabot]
- Update pydata-sphinx-theme requirement from ~=0.10.1 to ~=0.11.0 (1545) [dependabot]
- add robots.txt 🤖 (1543) [natestemen]
- Set master in dev mode (1536) [andreamari]
- Update mypy requirement from ~=0.981 to ~=0.982 (1537) [dependabot]
- Update pyquil requirement from ~=3.3.1 to ~=3.3.2 (1539) [dependabot]

0.19.0

Summary

With this release Mitiq supports most recent versions of Python: `3.8`, `3.9` and `3.10`!
We drop support for Python `3.7`.

Mitiq is now compatible with Numpy `1.21.6`. Different versions of NumPy may not work properly.

Another important update is the addition of new tools for applying learning-based PEC!
This release introduces a function for learning depolarizing noise representations from Clifford circuit data.
Read more in our updated [API-doc](https://mitiq.readthedocs.io/en/latest/apidoc.html#module-mitiq.pec.representations.biased_noise).

Special thanks to the external contributors yitchen-tim, amirebrahimi and isaac-gs!

All Changes

- Implement conversions of IonQ native gates for Braket (1525) [yitchen-tim]
- [temporary] ignore errors from first-interaction (1532) [natestemen]
- Update sphinx-autodoc-typehints requirement from ~=1.12.0 to ~=1.19.4 (1515) [dependabot[bot]]
- Update pytest-cov requirement from ~=3.0.0 to ~=4.0.0 (1521) [dependabot[bot]]
- Update myst-nb requirement from ~=0.16.0 to ~=0.17.1 (1529) [dependabot[bot]]
- replace deprecated `execution_excludepatterns` (1530) [natestemen]
- Support python 3.10 (1504) [natestemen]
- Fix outdated link in README (2021 -> 2022) (1528) [andreamari]
- Add learning-based PEC subsection in API doc (1524) [nathanshammah]
- remove `print` calls (1519) [natestemen]
- BQSKit tutorial (1489) [natestemen]
- Update pyquil requirement from ~=3.3.0 to ~=3.3.1 (1516) [dependabot[bot]]
- Update scipy requirement from ~=1.7.3 to ~=1.9.1 (1467) [dependabot[bot]]
- Update mypy requirement from ~=0.971 to ~=0.981 (1511) [dependabot[bot]]
- (partially) upgrade numpy (1501) [natestemen]
- Update amazon-braket-sdk requirement from ~=1.30.2 to ~=1.31.0 (1512) [dependabot[bot]]
- Add whitepaper publication info/links (1456) [natestemen]
- Support python 3.9 (1505) [natestemen]
- Learning function for biased noise (1358) [Misty-W]
- Update amazon-braket-sdk requirement from ~=1.30.1 to ~=1.30.2 (1506) [dependabot[bot]]
- Bump actions/stale from 5 to 6 (1502) [dependabot[bot]]
- Update amazon-braket-sdk requirement from ~=1.30.0 to ~=1.30.1 (1499) [dependabot[bot]]
- Restore the titles of the examples in the Mitiq docs (1497) [andreamari]
- Update amazon-braket-sdk requirement from ~=1.29.4 to ~=1.30.0 (1492) [dependabot[bot]]
- Bump codecov/codecov-action from 3.1.0 to 3.1.1 (1496) [dependabot[bot]]
- removed unused lindblad doc (1494) [natestemen]
- Update pennylane requirement from ~=0.25.1 to ~=0.26.0 (1495) [dependabot[bot]]
- [MCMC 1/3] Moving clifford utils for cdr to own files (1480) [isaac-gs]
- Update qiskit requirement from ~=0.37.2 to ~=0.38.0 (1490) [dependabot[bot]]
- docs: add amirebrahimi as a contributor for code, test, doc (1487) [allcontributors[bot]]
- Move MeasurementResult into \_typing to fix circular dependency in 1449 (1484) [amirebrahimi]
- Update amazon-braket-sdk requirement from ~=1.29.3 to ~=1.29.4 (1483) [dependabot[bot]]

0.18.0

Summary

This release cycle focused on review and approval of two RFCs, one for Readout Error Mitigation (REM) [1387](https://github.com/unitaryfund/mitiq/issues/1387) and one for Identity insertion noise scaling [#335](https://github.com/unitaryfund/mitiq/issues/335) (not listed as PRs). It also includes bug fixes and minor dependency upgrades.

All Changes

- Update amazon-braket-sdk requirement from ~=1.29.2 to ~=1.29.3 (1481) [dependabot]
- Update black requirement from ~=22.6 to ~=22.8 (1477) [dependabot]
- docs: add Aaron-Robertson as a contributor for ideas, code, doc (1464) [allcontributors]
- docs: add 1ucian0 as a contributor for infra, code (1461) [allcontributors]
- Update amazon-braket-sdk requirement from ~=1.29.0 to ~=1.29.2 (1459) [dependabot]
- Update qiskit requirement from ~=0.37.1 to ~=0.37.2 (1458) [dependabot]
- Update sphinxcontrib-bibtex requirement from ~=2.4.2 to ~=2.5.0 (1457) [dependabot]
- Mid circuit measurement fixed for ddd (1446) [Aaron-Robertson]
- Update pennylane requirement from ~=0.24.0 to ~=0.25.1 (1444) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.28.1 to ~=1.29.0 (1437) [dependabot]
- Update pyquil requirement from ~=3.2.1 to ~=3.3.0 (1436) [dependabot]
- remove patch release docs (1435) [natestemen]
- 0.18.0 in dev (1433) [natestemen]

Page 4 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.