Mitiq

Latest version: v0.43.0

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

Scan your dependencies

Page 7 of 10

0.13.0

Summary

Mitiq is now compatible with the latest version (0.13.1) of Cirq! This update was blocked for a long time because of some technical difficulties. So, many thanks to vtomole for finding a solution to this issue!
This should solve several dependency conflicts or warnings that you may have got when running `pip install mitiq` or `pip install -U mitiq`.

The HTML rendering of all PyQuil examples in our documentation is now fixed. Thanks astrojuanlu for useful suggestions about readthedocs!

We also thank Rahul-Mistri for adding GHZ circuits to our benchmarking module and for making Clifford circuits compatible with the Mitiq CDR technique (instead of raising an error as it happened before this release).

We discussed and approved the design documents (RFC) for two new error-mitigation techniques: _learning-based PEC_ and _digital dynamical decoupling_. You can find them at [this link](https://github.com/unitaryfund/mitiq/projects/7). Special thanks go to Misty-W and Aaron-Robertson!

All Changes

- Add pre-executed pyquil notebooks (andreamari, gh-1142)
- Fix optimal representation tests and unskip one of them (andreamari gh-1141)
- Update amazon-braket-sdk requirement from ~=1.11.1 to ~=1.15.0 (dependabot, gh-1137, gh-1116, gh-1108, gh-1105)
- Update black requirement from ~=19.10b0 to ~=22.1 (dependabot, crazy4pi314, gh-1110)
- Bump actions/github-script from 5 to 6 (dependabot, gh-1129)
- Update mypy requirement from ~=0.930 to ~=0.931 (dependabot, gh-1078)
- docs: add vtomole as a contributor for test, code (allcontributors, andreamari, gh-1132)
- docs: add Rahul-Mistri as a contributor for test, code (allcontributors, andreamari, gh-1130)
- docs: add L-P-B as a contributor for test, code (allcontributors, gh-1131)
- Update PR template (nathanshammah, gh-1117)
- Remove unused functions from `cirq_utils` and fix non-deterministic tests. (andreamari gh-1123)
- Update pennylane requirement from ~=0.20.0 to ~=0.21.0 (dependabot, gh-1122)
- Bump cirq version from 0.10.0 to 0.13.0 (vtomole, gh-988)
- Can use Clifford Circuits with `execute_with_cdr` (Rahul-Mistri, gh-1104)
- Docstring for GHZ-circuits reformatted (Rahul-Mistri, gh-1101)

0.12.0

Summary

This release contains a considerable overhaul of the documentation organization and content:

- The guide is now divided into Core concepts and a new presentation of the quantum errror mitigation techniques (ZNE, PEC and CDR). Each technique contains subsections that explain with code snippets how to use them in Mitiq (gh-1021, gh-1004 gh-1031, gh-1099). Also the API doc has been extended and improved. Many thanks to purvathakre Misty-W for their help on rewriting the documentation and reviewing the pull requests.
- An example on how to use ZNE to improve the calculations of the energy potential landscape of molecular Hydrogen using VQE was added by andreamari.

**New features**

- GHZ circuits were added to the benchmark subpackage by Rahul-Mistri.
- Airspeed-velocity (asv) has been added to the CI by rmlarose.

All Changes

- Add core concepts guide page (crazy4pi314, nathanshammah, andreamari, gh-1053)
- Add cdr-2-use-case.myst (gh-1099) (andreamari, nathanshammah)
- CDR documentation reorg (nathanshammah, andreamari, crazy4pi314, gh-1031)
- Add molecular Hydrogen example (andreamari, gh-1087)
- Update pydata-sphinx-theme requirement from ~=0.7.2 to ~=0.8.0 (dependabot, gh-1091)
- Use raw.execute in asv benchmarks and remove GHZ circuits from asv (rmlarose)
- Added GHZ circuits to benchmark (Rahul-Mistri, gh-1089)
- Update scipy requirement from ~=1.7.2 to ~=1.7.3 (dependabot
, gh-1084)
- PR to trigger CI and fix a broken link (andreamari, gh-1082)
- Fix readthedocs by changing a LaTex equation (andreamari, nathanshammah, gh-1077)
- Add asv benchmarking framework (rmlarose, gh-1047)
- Update zne-3-options.myst (andreamari, gh-1075)
- Update API doc with REM, executors and observables (nathanshammah, gh-1050)
- ZNE Guide Reorg (crazy4pi314, Misty-W, purva-thakre, nathanshammah, andreamari, gh-1021)
- Fix broken link on master. (andreamari, gh-1069)
- Update mypy requirement from ~=0.910 to ~=0.930 (dependabot, gh-1065)
- Docs: add AkashNarayanan as a contributor for infra (allcontributors, gh-1059)
- Fixes 1034 release docs update (crazy4pi314, nathanshammah, gh-1054)
- Docs: add DSamuel1 as a contributor for code (allcontributors, Misty-W, gh-1056)
- Docs: add Misty-W as a contributor for code, example (allcontributors, gh-1055)
- Docs: update README.md (allcontributors)
- Update PEC docs (andreamari, nathanshammah, rmlarose, gh-1004)
- Revert "Update mypy requirement from ~=0.910 to ~=0.920 (nathanshammah, gh-1052)
- Update mypy requirement from ~=0.910 to ~=0.920 (dependabot, gh-1051)
- Update pytest-xdist[psutil] requirement from ~=2.4.0 to ~=2.5.0 (dependabot, gh-1044)
- Update amazon-braket-sdk requirement from ~=1.11.0 to ~=1.11.1 (dependabot, gh-1042)
- Update pennylane requirement from ~=0.19.0 to ~=0.19.1 (dependabot, gh-1029)
- Update amazon-braket-sdk requirement from ~=1.9.5 to ~=1.11.0 (dependabot, gh-1038)

0.11.1

Summary

This patch release fixes two bugs:

- Bug: PEC could only be used with `cirq.Circuit`s, not `mitiq.QPROGRAM`, due to a missing conversion.
- Fix: PEC can now be used with any `mitiq.QPROGRAM` (gh-1018).
- Bug: CDR classically simulated the wrong circuits when doing regression.
- Fix: The correct circuits are now classically simulated (gh-1026).

Also fixes a smaller bug where some tools in `mitiq.interface.mitiq_qiskit` modified `qiskit.QuantumCircuit`s when they shouldn't.

All Changes

- Update scipy requirement from ~=1.7.1 to ~=1.7.2 (dependabot, gh-1017)
- CDR: Run the training circuits on the simulator (rmlarose and andreamari, gh-1026).
- Update scipy requirement from ~=1.7.1 to ~=1.7.2 (dependabot, gh-1017)
- Update pydata-sphinx-theme requirement from ~=0.7.1 to ~=0.7.2 (dependabot, gh-1024)
- Update qiskit requirement from ~=0.31.0 to ~=0.32.0 (dependabot, gh-1025)
- Update pydata-sphinx-theme requirement from ~=0.7.1 to ~=0.7.2 (dependabot, gh-1024)
- [Bug fix] Avoid circuit mutation in qiskit executors (andreamari, gh-1019)
- [Bug fix] Add back-conversions in execute_with_pec (andreamari, gh-1018)
- Increase shots in zne tests with shot_list (andreamari, gh-1020)
- Update pennylane requirement from ~=0.18.0 to ~=0.19.0 (nathanshammah, gh-1022)
- Add workflow figures and technique descriptions (nathanshammah, gh-953)
- Prepare to release 0.11.0 (rmlarose, gh-1010)

0.11.0

Summary

This release introduces `Observable`s as a major new feature to the Mitiq workflow and a few breaking changes. Support
for Pennylane has been added by adding `pennylane.QuantumTape`s to `mitiq.QPROGRAM`.

**New features**

- Specify and use a `mitiq.Observable` in any error-mitigation technique.

- This means the `executor` function does not have to return the expectation value as a `float` anymore, but rather
can return a `mitiq.QuantumResult` - i.e., an object from which the expectation value can be computed provided
an observable.
- The `executor` function can still return a `float`, in which case the `Observable` does not need to be specified
(and should not be specified).

- All error mitigation techniques can now use batching with the same interface.

- PEC can be run with only a subset of representations of the gates in a circuit. In other words, if the circuit has
two gates, `H` and `CNOT`, you can run `execute_with_pec` by only providing an `OperationRepresentation` for, e.g.,
the `CNOT`.

- Before, you had to provide all representations or an error would be raised.
- Performance of PEC may be better by providing all `OperationRepresentation`s. This change is only with respect to
usability and not performance.

- Circuits written in `Pennylane` (as `QuantumTape`s) are now recognized and suppported by Mitiq.

**Breaking changes**

- Signatures of `execute_with_xxx` error-mitigation techniques have changed to include `Observable`s. The default value
is `None`, meaning that the `executor` should return a `float` as in the old usage, but the additional argument and
change to keyword-only arguments (see below) may require you to make updates.

- You must now use provide keywords for technique-specific arguments in error mitigation techniques. Example:

python
Example new usage of providing keyword arguments. Do this.
execute_with_pec(circuit, executor, observable, representations=representations)


instead of

python
Old usage. Don't do this. Technique-specific arguments like `representations` are now keyword-only.
execute_with_pec(circuit, executor, observable, representations)


The latter will raise ` TypeError: execute_with_pec() missing 1 required keyword-only argument: 'representations'`.

- The first argument of `execute_with_zne` is now `circuit` instead of `qp` to match signatures of other
`execute_with_xxx` functions.

All Changes

- Increase shots in test_zne.py (andreamari, gh-1011)
- Refactor `qp` to `circuit` in `execute_with_zne` (rmlarose, gh-1009)
- Add `Observable` documentation and `Observable.from_pauli_string_collections` method (rmlarose, gh-1007)
- Executor docs (rmlarose, gh-1008)
- Bump qiskit to version 0.31 and pin it explicitly in dev requirements (andreamari, gh-993)
- Use `Executor.evaluate` for batching in ZNE (rmlarose, gh-1005)
- Add `Executor.evaluate` and use for batched execution (rmlarose, gh-1001)
- Bump PyQuil (rmlarose, gh-992)
- CDR with Observables (rmlarose, gh-985)
- Fix bug in OperationRepresentation printing (andreamari, gh-975)
- Ignore patch releases in dependabot (rmlarose, gh-981)
- Update pydata-sphinx-theme requirement from ~=0.6.3 to ~=0.7.1 (dependabot, gh-962)
- Update flake8 requirement from ~=3.9.2 to ~=4.0.1 (dependabot, gh-982)
- Add PennyLane to frontend table in the readme (andreamari, gh-973)
- Update amazon-braket-sdk requirement from ~=1.9.1 to ~=1.9.5 (dependabot, gh-970)
- Update pytest-cov requirement from ~=2.12.1 to ~=3.0.0 (dependabot, gh-963)
- Fix pip package resolving problems (andreamari, gh-976)
- Add support for pennylane circuits (everybody and their grandmother, gh-836)
- Keyword only arguments in execute_with_technique functions (rmlarose, gh-971)
- Foldability check includes a check for inverse (purva-thakre, gh-939)
- Bump actions/github-script from 3 to 5 (dependabot, gh-969)
- PEC with Observables & skip operations without known representations (rmlarose, gh-954)
- Update qiskit-terra requirement from ~=0.18.2 to ~=0.18.3 (dependabot, gh-955)
- Add observable to zne_decorator (rmlarose, gh-967)
- Update qiskit-ibmq-provider requirement from ~=0.16.0 to ~=0.17.0 (dependabot, gh-965)
- Binder badge workflow (AkashNarayanan, gh-964)
- Fix links and typos in vqe-pyquil-demo.myst and pyquil_demo.myst (Misty-W, gh-959)
- ZNE with Observables (rmlarose, gh-948)
- Add PauliString multiplication (rmlarose, gh-949)
- Update amazon-braket-sdk requirement from ~=1.9.0 to ~=1.9.1 (dependabot, gh-950)
- Fixing changelog and improving release documentation (crazy4pi314, gh-946)
- Update version to 0.11.0dev (rmlarose, gh-947)
- Update pytest-xdist[psutil] requirement from ~=2.3.0 to ~=2.4.0 (dependabot, gh-938)
- Fix AWS example by fixing a bug in mirror circuits (andreamari, gh-940)
- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (dependabot, gh-922)
- Improve OperationRepresentation printing (andreamari, gh-901)
- Updating release process (crazy4pi314, gh-936)

Huge thanks to all contributors on this release! Misty-W, AkashNarayanan, purva-thakre, trbromley, nathanshammah,
crazy4pi314, andreamari, and rmlarose.

0.10.0

Summary

This release adds a ton of new stuff, both error mitigation tools as well as infrastructure upgrades.
Some highlights:

- New integration with [AWS Braket](https://aws.amazon.com/braket/)
- A new pyQuil example by Misty-W and lots of pyQuil debugging.
- Support for mirror circuits by DSamuel1.
- Dependabot is now helping us keep our dependencies up to date.
- Lots of documentation fixes and features like a gallery view of the examples and mybinder.org support.
- New `Observable` and `MeasurementResult` dataclass.

Thanks to Misty-W and DSamuel1 for their great contributions this release! 🎉

All Changes

- Reduce noise in braket example (andreamari, gh-933)
- Add ZNE example on AWS Braket (rmlarose, gh-929)
- A few changes / fixes to mirror circuits (rmlarose, gh-928)
- Change Binder link from jupyterlab to classic view (andreamari, gh-925)
- Dependabot settings patch: one dependancy per line (rmlarose, gh-921)
- Dependabot settings (rmlarose, gh-920)
- Update sphinxcontrib-bibtex requirement from ~=2.3.0 to ~=2.4.1 (dependabot, gh-919)
- Rename Mitiq Examples -> Examples (nathanshammah, gh-916)
- Update qiskit-terra requirement from ~=0.18.1 to ~=0.18.2 (dependabot, gh-912)
- Add `Observable.expectation` with support for measurement results and density matrices; Refactor `Collector` -> `Executor` (rmlarose, gh-904)
- Install mitiq in readthedocs to avoid mitiq.py files (andreamari, gh-903)
- Crazy4pi314/example gallery (crazy4pi314, gh-902)
- Import mirror circuits (rmlarose, gh-900)
- Mirror Circuits Update: Resolves 890 and 891 (DSamuel1, gh-895)
- Fix html rendering problems of the PEC example (andreamari, gh-894)
- Add `qubit_indices` to `MeasurementResult` (rmlarose, gh-892)
- Update mirror circuits docstrings (rmlarose, gh-889)
- Update flake8 requirement from ~=3.7.9 to ~=3.9.2 (dependabot, gh-887)
- Update pytest-cov requirement from ~=2.11.1 to ~=2.12.1 (dependabot, gh-885)
- Update sphinx-copybutton requirement from ~=0.3.0 to ~=0.4.0 (dependabot, gh-884)
- Update mypy requirement from ~=0.812 to ~=0.910 (dependabot, gh-883)
- Update pytest-xdist[psutil] requirement from ~=2.2.1 to ~=2.3.0 (dependabot, gh-880)
- Update sphinxcontrib-bibtex requirement from ~=2.2.0 to ~=2.3.0 (dependabot, gh-879)
- Update amazon-braket-sdk requirement from ~=1.5.10 to ~=1.8.0 (dependabot, gh-878)
- Bump codecov/codecov-action from 1.3.1 to 2.0.3 (dependabot, gh-875)
- Bump actions/stale from 3.0.19 to 4 (dependabot, gh-874)
- Updating pinned Scipy version (crazy4pi314, gh-871)
- Add some missing package metadata causing problems (crazy4pi314, gh-870)
- Fixing syntax for dependabot to make it work correctly (crazy4pi314, gh-866)
- Make `MeasurementResult` a dataclass; Add expectation from measurements (rmlarose, gh-860)
- Mirror circuits (DSamuel1, gh-859)
- Fix link in README (andreamari, gh-856)
- Add step-by-sep tutorial on PEC (andreamari, gh-854)
- Adding mitiq survey to readme (crazy4pi314, gh-853)
- Add `Observable` (rmlarose, gh-852)
- Manual PyPI deployment trigger (crazy4pi314, gh-851)
- Make sure stale marking of issues happens (crazy4pi314, gh-849)
- Fix invisible output in mitiq codeblocks (andreamari, gh-847)
- update references in README (andreamari, gh-846)
- Update to latest Qiskit (rmlarose, gh-845)
- Set measurement result type and add post-selection (rmlarose, gh-844)
- pyQuil parametric compilation example (Misty-W, gh-843)
- Add My Binder (nathanshammah, gh-841)
- Show output of Mitiq paper code blocks in example on RTD (nathanshammah, gh-840)
- Add code blocks from the paper (nathanshammah, gh-838)
- Make ZNE (more) usable with PyQuil (rmlarose, gh-835)
- Improve PEC efficiency with batched sampling (andreamari, gh-833)
- Fix warnings in docs log output during build (andreamari, gh-832)
- Update readme and remove research.rst (rmlarose, gh-831)
- Add linkcheck to docs build and fix broken links (rmlarose, gh-827)
- Initial support for executors which return measurement results: part 1/2 (rmlarose, gh-826)
- Adding table of techniques to readme (crazy4pi314, gh-825)
- Move example/template notebook to contributing TOC (rmlarose, gh-814)
- Fix multiplication order when adding NoisyOperations (andreamari, gh-811)
- Better error message for `CircuitConversionError`s (rmlarose, gh-809)
- Fix some documentation not being tested & remove global imports in docs config (rmlarose, gh-804)

0.9.3

Summary

This primary reason for this patch release is to fix a bug interfacing with Qiskit circuits (gh-802).

All Changes

- [Docs] Add CDR to README and braket to Overview (rmlarose, gh-778).
- Rename parameter calibration function and make it visible (rmlarose, gh-780).
- Allow adding qubits when transforming registers in a Qiskit circuit (rmlarose, gh-803).

Page 7 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.