Observable expectation value estimation with readout error mitigation is exponentially slow
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 358
- Avg merge
- 1d 58m
- Merged PRs (30d)
- 4
Description
Currently readout correction relies on readout symmetrization to work properly. The only symmetrization method currently provided is exhaustive symmetrization -- where all arrangements of bit flips are measured for any given observable that is to be measured. This means that, for an observable with n qubits, we need to run 2**n different measurements to get a symmetrized expectation value.
This is particularly pathological when running something like DFE, which has constant overhead wrt number of qubits, but gets exponentially slower when using readout error mitigation.
Exhaustive symmetrization is not an altogether bad idea -- it is the more efficient way to symmetrize small programs. So we need this option to exist.
The fix would be to add another method to symmetrize expectation values based on random sampling of bit flips for the readout symmetrization.
Yet another improvement would be to have symmetrization happen at lower levels of the stack, see e.g., rigetti/qvm#52
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the existing readout symmetrization implementation and its exhaustive bit-flip path, then trace how DFE requests observable expectation values. Done means random bit-flip sampling is available as an alternative while exhaustive symmetrization remains supported for small programs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- quantum-computing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100