mitiq
mitiq copied to clipboard
New technique: Quantum subspace expansion
New error mitigation technique: Quantum subspace expansion
Problem
Mitiq needs more error mitigation techniques.
The Quantum subspace expansion paper outlines a new error mitigation technique which involves error correcting codes. This is estimated to take ~6 months dev time.
Related papers
Rough requirements
- Requires ability to specify an error correcting code.
This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!
Just a note that #575 and #599 were somewhat related.
This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!
This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!
Colab with some prototype subspace expansion code: https://colab.research.google.com/drive/1hN8jtBK9PBVCVvT8WkcNmgHSQbBkSq00?usp=sharing
This issue had no activity for 2 months, and will be closed in one week unless there is new activity. Cheers!
Hello, We have been working on this error mitigation technique and we have an RFC ready: Request For Comments (RFC) — Error Mitigation by Subspace Expansion.
We also have a PR ready as well that I'll be sending soon.
bubakazouba, thanks for the very good work! we'll review your RFC soon!
The Request For Comments (RFC) — Error Mitigation by Subspace Expansion has been approved!
The current draft PR is very useful to have an idea of the overall code but it is hard to review and to merge in a single shot. So for the implementation, we suggest to sequentially focus on the following sub-issues and related sub-PRs:
- Adding support for multiplication of Observables (and or PauliStrings) #1810
- Implement the main utility functions into a new module called
mitiq/qse/
(qse
= quantum subspace expansion) #1811 - Implement standard Mitiq functions:
execute_with_qse
,mitigate_executor
,qse_decorator
without supporting the caseobservable=None
(consistently with the current draft). #1812 - Optional QSE improvement: support
observabe=None
by appending Paulis to circuits instead of absorbing them into theObservable
. #1813
Hi @bubakazouba, thanks for all you have already done about QSE! Are you also interested in working on #1812 in the next month? No problem if you can't, I am asking just to better plan the main topics for the next milestone.
Hi @bubakazouba, thanks for all you have already done about QSE! Are you also interested in working on #1812 in the next month? No problem if you can't, I am asking just to better plan the main topics for the next milestone.
Yes I plan to wrap it up early july.
I think now that #1812 is completed we can close this out. There is still #1813, but that is an improvement that can be made down the line.
Big congratulations to @bubakazouba and team, and looking forward to getting this technique into the hands of more people, along with further testing!