Skip to content

Commit

Permalink
Merge branch 'main' into 2449-REM-typehinting
Browse files Browse the repository at this point in the history
  • Loading branch information
bdg221 authored Dec 6, 2024
2 parents 8a68dfe + da77ec0 commit 72fcc27
Show file tree
Hide file tree
Showing 58 changed files with 2,045 additions and 273 deletions.
2 changes: 2 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ updates:
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "pandas"
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "pyqrack"
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
# Allow up to 10 open pull requests for pip dependencies
open-pull-requests-limit: 10
labels:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
- name: Submit coverage report to Codecov
# Only submit to Codecov once.
if: ${{ matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'}}
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
3 changes: 0 additions & 3 deletions .github/workflows/greeting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,3 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: 'Hello @${{ github.actor }}, thank you for submitting a PR to Mitiq! We will respond as soon as possible, and if you have any questions in the meantime, you can ask us on the [Unitary Fund Discord](http://discord.unitary.fund).'
issue-message: |
Hello @${{ github.actor }}, thank you for your interest in Mitiq!
If this is a bug report, please provide screenshots and/or **minimum viable code to reproduce your issue**, so we can do our best to help get it fixed. If you have any questions in the meantime, you can also ask us on the [Unitary Fund Discord](http://discord.unitary.fund).
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ mitiq.egg-info/
dist/
build/
jupyter_execute/

.mypy_cache/
# Coverage reports
coverage.xml
.coverage
Expand Down
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,4 @@ Vladimir Kozhukalov
Francesc Sabater
Emiliano Godinez
Tommy Nguyen
Duong H. D. Tran
91 changes: 90 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,97 @@
# Changelog


## Version 0.42.0

In Development.

## Version 0.41.0

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

### Highlights

📓 The Layerwise Richardson Extrapolation **(LRE) user guide is complete**!
The user guide contains information about both the ins and outs of using the implementation, as well as covering the theory behind the technique so you can make judgements about when to apply the technique.
In addition to finishing the user guide, we also have a new tutorial comparing both the performance and overhead needed for LRE and ZNE.
Big thanks to @purva-thakre and @FarLab for the documentation!

📹 As part of launching LRE we made a **short tutorial video** to showcase the technique, along with how to use it.
Check it out [here](https://www.youtube.com/watch?v=47GWi4h7TWM)!

🧑‍🔬 **First time contributor** @jpacold recreated results from [a paper](https://arxiv.org/abs/2211.08318) on phase transitions in the Ising model.
Both the paper authors, and @jpacold both used Mitiq's ZNE module to apply error mitigation.
This is both an informative tutorial on turning physics problems into something amenable on a quantum computer, and a class in applying error-mitigation.

#### ✨ Enhancements

- Ensure LRE compatibility with all supported frontends (#2547) [@natestemen]

#### 🧑🏽‍💻 Developer Improvements

- remove failing test; simplify layerwise ZNE tests (#2545) [@natestemen]

### 📞 Call for ideas

We're currently looking into what features we could add to make Mitiq more **noise-aware**.
If you have ideas and features requests in this area, do make a post on the GitHub discussion [here](https://github.com/unitaryfund/mitiq/discussions/2193)!

## Version 0.40.0

_In development._
([Full Changelog](https://github.com/unitaryfund/mitiq/compare/v0.39.0...v0.40.0))

### Highlights

🔉 A new quantum error-mitigation technique is available in Mitiq!
**Layerwise Richardson Extrapolation** is now available through `mitiq.lre.execute_with_lre`.
Documentation is also available in the user guide, with more advanced docs and demonstrations coming in the next release.
Special thanks to Purva Thakre for this contribution!

🥇 We had two **first time contributions** from @ecarlander and @mbrotos!
Thank you both for your contributions!

🛡️ A **helpful error message** is raised when passing data of the incorrect type to the `MeasurementResult` class, where before it silently gave confusing results.

#### ✨ Enhancements
- LRE Executors (#2499) [@purva-thakre]
- LRE Inference Functions (#2447) [@purva-thakre]
- Raise TypeError when a dictionary is passed to MeasurementResult constructor (#2523) [@natestemen]

#### 📓 Documentation

- Add theory, intro and use case pages of LRE user guide (#2522) [@purva-thakre]
- add QOSS survey banner (#2533) [@natestemen]
- Update broken link in the readme (#2528) [@purva-thakre]
- Move class documentation to class docstrings (#2525) [@natestemen]
- QSE docs cleanup (#2490) [@natestemen]
- Add tags to tutorials (#2467) [@purva-thakre]
- Correct CDR and VNCDR acronyms in example (#2479) [@bdg221]
- added roadmap link to readme (#2468) [@ecarlander]
- Update ibmq-backends.md (#2474) [@mbrotos]

#### 🧑🏽‍💻 Developer Improvements

- Remove `make requirements` (#2481) [@purva-thakre]
- Fix flaky REM test / refactor (#2464) [@natestemen]

#### 📦 Dependency Updates

- Bump pyscf from 2.6.2 to 2.7.0 (#2518) [@dependabot]
- Bump pyqrack from 1.30.24 to 1.30.30 (#2521) [@dependabot]
- Bump pyqrack from 1.30.22 to 1.30.24 (#2497) [@dependabot]
- Update qiskit requirement from ~=1.2.1 to ~=1.2.2 (#2507) [@dependabot]
- Bump qibo from 0.2.10 to 0.2.12 (#2506) [@dependabot]
- Update qiskit-aer requirement from ~=0.15.0 to ~=0.15.1 (#2504) [@dependabot]
- Update qiskit requirement from ~=1.2.0 to ~=1.2.1 (#2503) [@dependabot]
- Bump pyqrack from 1.30.20 to 1.30.22 (#2489) [@dependabot]
- Update qiskit-aer requirement from ~=0.14.2 to ~=0.15.0 (#2484) [@dependabot]
- Bump pyqrack from 1.30.8 to 1.30.20 (#2487) [@dependabot]
- Update cirq-core requirement from <1.4.0,>=1.0.0 to >=1.0.0,<1.5.0 (#2390) [@dependabot]
- Update qiskit requirement from ~=1.1.1 to ~=1.2.0 (#2482) [@dependabot]
- Update scipy requirement from <=1.14.0,>=1.10.1 to >=1.10.1,<=1.14.1 (#2477) [@dependabot]
- Bump pyqrack from 1.30.0 to 1.30.8 (#2476) [@dependabot]
- Bump sphinx from 7.2.6 to 8.0.2 (#2455) [@dependabot]
- Bump qibo from 0.2.9 to 0.2.10 (#2458) [@dependabot]

## Version 0.39.0

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ mitiq.qem_methods()
| Readout-error mitigation | [REM](https://mitiq.readthedocs.io/en/latest/guide/rem.html) | [`mitiq.rem`](https://github.com/unitaryfund/mitiq/tree/main/mitiq/rem) | [1907.08518](https://arxiv.org/abs/1907.08518) <br>[2006.14044](https://arxiv.org/abs/2006.14044)
| Quantum Subspace Expansion | [QSE](https://mitiq.readthedocs.io/en/stable/guide/qse.html) | [`mitiq.qse`](https://github.com/unitaryfund/mitiq/tree/main/mitiq/qse) | [1903.05786](https://arxiv.org/abs/1903.05786)|
| Robust Shadow Estimation 🚧 | [RSE](https://mitiq.readthedocs.io/en/stable/guide/shadows.html)| [`mitiq.qse`](https://github.com/unitaryfund/mitiq/tree/main/mitiq/shadows) | [2011.09636](https://arxiv.org/abs/2011.09636) <br> [2002.08953](https://arxiv.org/abs/2002.08953)|
| Layerwise Richardson Extrapolation 🚧 | Coming soon | [`mitiq.lre`](https://github.com/unitaryfund/mitiq/tree/main/mitiq/lre) | [2402.04000](https://arxiv.org/abs/2402.04000) |
| Layerwise Richardson Extrapolation | [LRE](https://mitiq.readthedocs.io/en/stable/guide/lre.html) | [`mitiq.lre`](https://github.com/unitaryfund/mitiq/tree/main/mitiq/lre) | [2402.04000](https://arxiv.org/abs/2402.04000) |


In addition, we also have a noise tailoring technique currently available with limited functionality:
Expand Down Expand Up @@ -147,7 +147,7 @@ You can use Mitiq with any backend you have access to that can interface with su

If you use Mitiq in your research, please reference the [Mitiq whitepaper](https://quantum-journal.org/papers/q-2022-08-11-774/) using the bibtex entry found in [`CITATION.bib`](https://github.com/unitaryfund/mitiq/blob/main/CITATION.bib).

A list of papers citing Mitiq can be found on [Google Scholar](https://scholar.google.com/scholar?cites=12810395086731011605) / [Semantic Scholar](https://api.semanticscholar.org/CorpusID:221555755?).
A list of papers citing Mitiq can be found on [Google Scholar](https://scholar.google.com/scholar?oi=bibs&hl=en&cites=1985661232443186918) / [Semantic Scholar](https://api.semanticscholar.org/CorpusID:221555755?).

## License

Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.40.0dev
0.42.0dev
Binary file added docs/source/_thumbnails/loschmidt_echo_qiskit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 6 additions & 1 deletion docs/source/apidoc.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,11 @@ See Ref. {cite}`Czarnik_2021_Quantum` for more details on these methods.

### Layerwise Richardson Extrapolation

```{eval-rst}
.. automodule:: mitiq.lre.lre
:members:
```

```{eval-rst}
.. automodule:: mitiq.lre.multivariate_scaling.layerwise_folding
:members:
Expand Down Expand Up @@ -128,7 +133,6 @@ See Ref. {cite}`Czarnik_2021_Quantum` for more details on these methods.
:members:
```


#### Learning-based PEC

```{eval-rst}
Expand Down Expand Up @@ -378,6 +382,7 @@ See Ref. {cite}`Czarnik_2021_Quantum` for more details on these methods.
.. automodule:: mitiq.interface.mitiq_pyquil.conversions
:members:
```

#### Qibo Conversions

```{eval-rst}
Expand Down
2 changes: 2 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ def setup(app):
r"https://link\.aps\.org/doi/.*",
r"https://www\.sciencedirect\.com/science/article/.*",
r"https://github.com/unitaryfund/mitiq/compare/.*",
r"https://github.com/unitaryfund/mitiq/projects/7",
]

linkcheck_retries = 3
Expand Down Expand Up @@ -444,6 +445,7 @@ def get_incollection_template(self, e):
"examples/zne_logical_rb_cirq_stim": "_static/mitiq_stim_logo.png",
"examples/quantum_simulation_1d_ising": "_static/quantum_simulation.png",
"examples/cdr_qrack": "_static/cdr-qrack.png",
"examples/loschmidt_echo_revival_zne": "_static/loschmidt_echo_qiskit.png",
# default images if no thumbnail is specified
"examples/*": "_static/mitiq-logo.png",
}
4 changes: 3 additions & 1 deletion docs/source/examples/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ ZNE with Qiskit: Energy landscape of a variational circuit <simple-landscape-qis
ZNE with Pennylane Energy landscape of a variational circuit <simple-landscape-pennylane.md>
ZNE with Qiskit: Layerwise folding <layerwise-folding.md>
ZNE with Qiskit: Quantum simulation of quantum many body scars <quantum_simulation_scars_ibmq.md>
ZNE with Qiskit: Simulation of Loschmidt echo revival <loschmidt_echo_revival_zne.md>
ZNE with Cirq: Solving MaxCut with QAOA <maxcut-demo.md>
ZNE with Cirq: Hamiltonian simulation with Pauli gates<hamiltonians.md>
ZNE with Cirq: Energy of molecular Hydrogen <molecular_hydrogen.md>
Expand All @@ -28,6 +29,7 @@ ZNE and CDR with Cirq: 1D Ising Simulation <quantum_simulation_1d_ising.md>
ZNE with PennyLane + Cirq: Energy of molecular Hydrogen <molecular_hydrogen_pennylane.md>
ZNE with BQSKit compiled circuits <bqskit.md>
ZNE on Stim backend with Cirq: Logical randomized benchmarking circuits <zne_logical_rb_cirq_stim.md>
LRE vs ZNE: comparing performance and overhead <lre-zne-comparison.md>
PEC on a Braket simulator: Mirror circuits <pec_tutorial.md>
PEC with Cirq: Learning representations <learning-depolarizing-noise.md>
Classical Shadows with Cirq: State Reconstruction and Observable Estimation <shadows_tutorial.md>
Expand All @@ -39,4 +41,4 @@ GGI Summer School ZNE Hands-On Tutorial <ggi_summer_school_unsolved.md>
Composing techniques: REM + ZNE <combine_rem_zne.md>
Composing techniques: DDD + ZNE <combine_ddd_zne.md>
The Mitiq paper code <mitiq-paper/mitiq-paper-codeblocks.md>
```
```
Loading

0 comments on commit 72fcc27

Please sign in to comment.