Mitiq

Latest version: v0.36.0

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

Scan your dependencies

Page 6 of 9

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).

0.9.2

Summary

This patch release fixes a Braket integration bug (gh-767).
It also adds an example about Clifford data regression in the documentation.

All Changes

- Ensure short circuit warning is multi-platform (andreamari gh-769).
- Add CDR example to docs + small change to `cdr.calculate_observable` (rmlarose, gh-750).

Page 6 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.