Mitiq

Latest version: v0.36.0

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

Scan your dependencies

Page 1 of 9

2009.04417

1612.02058

All Changes

- Fix broken links on the website (erkska, gh-400).
- Use cirq v0.9.0 instead of cirq-unstable (karalekas, gh-402).
- Update mitiq.about() (rmlarose, gh-399).
- Refresh the release process documentation (karalekas, gh-392).
- Redesign factories, batch runs in BatchedFactory, fix Qiskit utils tests (rmlarose, andreamari, gh-381).
- Add note on batched executors to docs (rmlarose, gh-405).
- Added Tensorflow Quantum executor to docs (k-m-schultz, gh-348).
- Fix a collection of small build & docs issues (karalekas, gh-410).
- Add optimal QPR decomposition for depolarizing noise (karalekas, gh-371).
- Add PEC basic implementation assuming a decomposition dictionary is given (andreamari, gh-373).
- Make tensorflow requirements optional for docs (karalekas, gh-417).

Thanks to erkska and k-m-schultz for their contributions to this release!

1.03

│ Scale method: fold_global │ Improvement factor: 0.3333 │ Improvement factor: 0.9709 │
├────────────────────────────────────┼────────────────────────────┼────────────────────────────┤
│ Technique: ZNE │ ✘ │ ✔ │
│ Factory: Richardson │ Noisy error: 0.03 │ Noisy error: 1.0 │

0.9975

│ Scale method: fold_global │ Improvement factor: 0.72 │ Improvement factor: 1.0025 │
└────────────────────────────────────┴────────────────────────────┴────────────────────────────┘


**New benchmarking circuits:** `mitiq.benchmarks` now contains a function `generate_random_clifford_t_circuit` which does what it says on the tin.
Special shoutout to new UF team member Farrokh Labib (farlab) for this contribution.

py
from mitiq.benchmarks import generate_random_clifford_t_circuit

clifft = generate_random_clifford_t_circuit(
num_qubits=2,
num_oneq_cliffords=5,
num_twoq_cliffords=5,
num_t_gates=5
)
print(clifft)
0: ──────────────S───T──────H───T───X───T───T─────────────
│ │ │ │ │
1: ───S───T──────────────X──────────────S──────────X───S───


The `Executor.run` method now supports a single circuit instance in addition to a list for ease of use when working with a single circuit.

diff
- executor.run([circuit])
+ executor.run(circuit)


**Faster Tests!** Working on Mitiq has never been easier to develop with a faster (by 36%) test suite.

📓 Documentation

This release contains quite a few documentation improvements, including

1. New workflow images to elucidate the workflow for for using the `mitiq.shadows` module (available [here](https://mitiq.readthedocs.io/en/stable/guide/shadows.html))
2. A reorganized API-doc which should be easier to navigate
3. General clean up of the CDR user guide pages

Commits

- Clarify CDR training docs regarding the use of a markov chain monte carlo (2130) [natestemen]
- Update workflow images in documentation (2034) [purva-thakre]
- 2115 pauli twirling callibration of expectation estimation shadow needs continue (2116) [bdg221]
- Add randomized clifford+T benchmarking circuits. (2118) [farlab]
- Frontend/Backend docs clean up (2124) [natestemen]
- Speed up tests using mocks (2126) [natestemen]
- resolve flaky mirror QV circuit test (2127) [natestemen + misty-w]
- Simplify expectation_estimation_shadow code (2113) [bdg221]
- Refactor calibration logs (2074) [kozhukalov]
- Organize API-doc (2104) [purva-thakre]
- add support for single circuit on exeuctor run method (2099) [emilianog-byte]

📦 Dependency updates

- Update qiskit-ibm-provider requirement from ~=0.7.2 to ~=0.7.3 (2122) [dependabot]
- Update cirq requirement from <1.3.0,>=1.0.0 to >=1.0.0,<1.4.0 (2107) [dependabot]
- Update pennylane requirement from ~=0.32.0 to ~=0.33.1 (2091) [dependabot]
- Update pennylane-qiskit requirement from ~=0.32.0 to ~=0.33.0 (2081) [dependabot]
- Bump stim/stimcirq from 1.12.0 to 1.12.1 (2106) [dependabot]
- Update amazon-braket-sdk requirement from ~=1.59.2 to ~=1.64.1 (2089 + 2094 + 2114 + 2123) [dependabot]
- Update scipy requirement from <=1.11.3,>=1.5.0 to >=1.5.0,<=1.11.4 (2095) [dependabot]

🧑‍💻 Dev Dependency updates

- Bump myst-nb from 0.17.1 to 1.0.0 (2090) [dependabot]
- Bump pandas from 2.1.2 to 2.1.3 (2093) [dependabot]
- Bump matplotlib from 3.8.0 to 3.8.1 (2084) [dependabot]
- Bump isort from 5.12.0 to 5.13.2 (2120 + 2125) [dependabot]
- Bump actions/setup-python from 4 to 5 (2112) [dependabot]

0.97

│ Scale method: fold_global │ Improvement factor: 0.5333 │ Improvement factor: 1.0309 │
├────────────────────────────────────┼────────────────────────────┼────────────────────────────┤
│ Technique: ZNE │ ✘ │ ✔ │
│ Factory: Linear │ Noisy error: 0.03 │ Noisy error: 1.0 │

0.36.0

([Full Changelog](https://github.com/unitaryfund/mitiq/compare/v0.35.0...v0.36.0))

Highlights

**Support for Qiskit 1.0**: Mitiq now fully supports programs written in Qiskit 1.0, thanks to the contributions of André Alves!

**Enhanced Package Requirements**: We've clarified the requirements for frontend packages. Each frontend is now available as an "extra" within the Mitiq package. For instance, to use Mitiq with Qiskit, simply run:

bash
pip install mitiq[qiskit]

and similarly for all other [supported integrations](https://github.com/unitaryfund/mitiq/blob/main/INTEGRATIONS.txt).
This ensures compatibility between all dependency packages required by Mitiq for frontend integration and those in the user's environment.

**Quantum Error Mitigation methods**: Users can now discover the available quantum error mitigation techniques by executing:
python3
mitiq.qem_methods()

This function provides an accessible way to understand the module naming of each technique supported by Mitiq.

Thanks to andre-a-alves, cosenal, jordandsulliva, mistywahl, purva-thakre for the PRs in this milestone.

Enhancements

- Created method to get available QEM methods in mitiq (2298) [jordandsullivan]
- Define type for frontend supported programs (2276) [cosenal]
- Introduce requirement setup for integrations (2303) [cosenal]

Maintenance and upkeep improvements

- Upgrade Qiskit to 1.0.2 (2269) [andre-a-alves]
- Remove unused folding functions (2289) [jordandsullivan]
- Use Jupyter cache in gh workflow docs build (2279) [cosenal]
- Run linkcheck on 'release' PR workflow (2332) [cosenal]

Dev environment improvements

- Rename master branch to main (2263) [jordandsullivan]
- Pre-commit hook with style checks (2264) [cosenal]
- Indicate master is under development (2258) [natestemen]
- Remove unused devcontainer (2302) [cosenal]

📦 Dependency updates

- Bump myst-parser from 2.0.0 to 3.0.1 (2333) [dependabot[bot]]
- Bump bqskit and scipy (2262) [dependabot[bot]]
- Bump qibo from 0.2.4 to 0.2.7 (2268) [dependabot[bot]]

🧑‍💻 Dev Dependency updates

- Update to codecov-action v4 and use token (2271) [cosenal]

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.