unitaryfund / mitiq

Mitiq is an open source toolkit for implementing error mitigation techniques on most current intermediate-scale quantum computers.
https://mitiq.readthedocs.io
GNU General Public License v3.0
368 stars 163 forks source link

New technique: Measurement error mitigation #815

Closed crazy4pi314 closed 1 year ago

crazy4pi314 commented 3 years ago

New technique: Measurement error mitigation (by inverting confusion matrix)

Problem

Mitiq needs more error mitigation techniques.

Measurement error mitigation is based on Measurement Error Mitigation for Variational Quantum Algorithms, should be relatively easy to implement.

Rough requirements

rmlarose commented 3 years ago

844 added on technique for measurement error mitigation, more to come!

rmlarose commented 3 years ago

RFC for this issue here, please review:

https://docs.google.com/document/d/1Mb-OoojXBm0k8VTapNUkQQi4YQR5vsUvNJqmVgFpIns/edit?usp=sharing

github-actions[bot] commented 2 years ago

This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!

amirebrahimi commented 2 years ago

I'd like to offer to take this on as part of a final project for QCourse511. Final deliverables are due January 11th though, so my question to the Mitiq team is whether it would be feasible to reach an agreement on the design to allow implementation time before that deadline? At the very least I could perform a preliminary implementation based on the current state of the design doc.

rmlarose commented 2 years ago

Thanks @amirebrahimi. You are more than welcome to take this up but I have concerns about the Jan 11th date, especially with the holiday break - there are a few points that need to be worked out in the RFC, then once that is accepted, we need to review the PR(s).

As a practical suggestion for your final project, you may consider doing your own complete implementation on a fork so you are not slowed down by the review process. You can of course make a pull request with this at any time. I hesitate to promise it can be merged before Jan 11th though.

amirebrahimi commented 2 years ago

Thanks @amirebrahimi. You are more than welcome to take this up but I have concerns about the Jan 11th date, especially with the holiday break - there are a few points that need to be worked out in the RFC, then once that is accepted, we need to review the PR(s).

As a practical suggestion for your final project, you may consider doing your own complete implementation on a fork so you are not slowed down by the review process. You can of course make a pull request with this at any time. I hesitate to promise it can be merged before Jan 11th though.

I think that is a good plan and anything after the 11th can be worked out as the RFC firms up.

github-actions[bot] commented 2 years ago

This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!

github-actions[bot] commented 2 years ago

This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!

andreamari commented 2 years ago

This a the new RFC by @amirebrahimi. Thanks Amir!

Manually converted from the md file in #1294. Given the new contribution policy discussed in #1194.

nathanshammah commented 2 years ago

Thanks @amirebrahimi, we can discuss together, whenever you can, during the Mitiq meetings, the timeframe and follow-up issues to implement the feature.

amirebrahimi commented 2 years ago

Sounds good. I'll plan on joining tomorrow's meeting.

andreamari commented 2 years ago

@allcontributors please add @amirebrahimi for code, test, doc.

allcontributors[bot] commented 2 years ago

@andreamari

I've put up a pull request to add @amirebrahimi! :tada:

kun-wang commented 2 years ago

I would like to recommend the QCompute:QEP project, which implements a list of measurement error mitigation methods, including

andreamari commented 2 years ago

Thanks @kun-wang, very interesting! In this first stage we are probably going to just self-implement the matrix inversion method. However, in a second stage, we can consider using some of your advanced post-processing methods. Out of curiosity, is QCompute:QEP a self-contained PyPy package or is it instead a part of the full qcompute SDK?

andreamari commented 1 year ago

A MVP of the REM module is in Mitiq since we merged its main implementation PR https://github.com/unitaryfund/mitiq/pull/1449 . We are still working on some improvements (e.g. writing docs), but I would say that this issue can be closed.