quantumlib / Cirq

A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Apache License 2.0
4.24k stars 1.01k forks source link

Add uncorrelated readout error mitigation for arbitrarily long Pauli strings #6654

Closed eliottrosenberg closed 2 months ago

eliottrosenberg commented 3 months ago

This adds the method readout_mitigation_pauli_uncorrelated to cirq.experiments.readout_confusion_matrix.TensoredConfusionMatrices, which allows one to scalably perform readout error mitigation on arbitrarily long Pauli strings without having to construct any exponentially large matrices. For now, this is restricted to the case when the confusion matrix is a tensor product of single-qubit confusion matrices but could be generalized if desired. The test illustrates its usage. It is a reimplementation of work that I did in grad school (a special case of https://github.com/eliottrosenberg/correlated_SPAM).

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.81%. Comparing base (ac63c60) to head (8fb724e).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #6654 +/- ## ======================================= Coverage 97.81% 97.81% ======================================= Files 1066 1066 Lines 91779 91832 +53 ======================================= + Hits 89773 89826 +53 Misses 2006 2006 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.