rigetti / rigetti/pyquil

Observable expectation value estimation with readout error mitigation is exponentially slow

Open
#843 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.