Error mitigation is a production feature only when its bias, variance, overhead, and applicability are measured continuously. Otherwise it is a way to make bad answers look more precise.
Qiskit Runtime’s EstimatorV2 exposes configurable mitigation and suppression options including dynamical decoupling, twirling, ZNE, PEC, and measurement mitigation. Availability and compatibility depend on the primitive, execution model, and target; these options are not interchangeable with SamplerV2 settings. Mitiq documents mitigation methods such as zero-noise extrapolation and probabilistic error cancellation. These techniques are valuable, but they are not error correction and they do not remove the need for baselines, holdouts, and uncertainty accounting. [R91] [R92] [R93]
53.1 Mitigation is an estimator transformation
View diagram source
flowchart LR
True[Unknown ideal value] --> Noisy[Noisy hardware samples]
Noisy --> Transform[Mitigation transform]
Transform --> Estimate[Mitigated estimate]
Estimate --> Interval[Uncertainty interval]
Transform --> Bias[Possible bias]
Transform --> Overhead[Sampling overhead]The mitigated estimate is not the truth. It is a transformed statistical estimate under assumptions. Those assumptions must be visible.
53.2 Mitigation catalog
| Method | Useful when | Main risk |
|---|---|---|
| measurement mitigation | readout errors dominate | calibration matrix stale |
| dynamical decoupling | idle-time decoherence matters | timing conflicts or sequence mismatch |
| gate twirling | coherent errors should be randomized | incompatible with some dynamic or custom constructs |
| ZNE | observable can be measured at amplified noise levels | extrapolation model bias |
| PEC | noise model is good and overhead is affordable | sampling overhead explosion |
| vendor performance management | provider/tool has tuned suppression stack | opacity and portability risk |
View diagram source
flowchart TB
Need[Error reduction need] --> Readout{Readout dominant?}
Need --> Idle{Idle-time issue?}
Need --> Coherent{Coherent error?}
Need --> Extrapolate{Can amplify noise?}
Need --> NoiseModel{Reliable noise model?}
Readout --> MM[Measurement mitigation]
Idle --> DD[Dynamical decoupling]
Coherent --> Twirl[Twirling]
Extrapolate --> ZNE[Zero-noise extrapolation]
NoiseModel --> PEC[Probabilistic error cancellation]53.3 Bias management
Mitigation can reduce apparent error while increasing hidden bias.
View diagram source
flowchart LR
Raw[Raw estimate] --> RawBias[Raw bias]
Raw --> RawVar[Raw variance]
Mitigated[Mitigated estimate] --> MitBias[Residual or introduced bias]
Mitigated --> MitVar[Increased variance]
Decision[Decision] --> Compare[Compare bias-variance tradeoff]
RawBias --> Compare
RawVar --> Compare
MitBias --> Compare
MitVar --> CompareA mitigation release should include:
- raw baseline
- mitigated result
- independent validation set
- known-fidelity circuit set
- overhead report
- model-sensitivity analysis
- conditions where mitigation must be disabled
53.4 Mitigation SLOs
mitigation_slo:
method: zne
workload_family: hamiltonian-estimation
required_artifacts:
- raw_expectation_values
- noise_factors
- extrapolator
- fit_quality
- unmitigated_baseline
quality_gates:
max_variance_multiplier: 25
max_bias_on_holdout: 0.02
min_holdout_pass_rate: 0.95
max_runtime_multiplier: 853.5 Release process
View diagram source
stateDiagram-v2
[*] --> Candidate
Candidate --> OfflineReplay
OfflineReplay --> HardwareCanary
HardwareCanary --> HoldoutValidation
HoldoutValidation --> Production: passes
HoldoutValidation --> Quarantine: fails
Production --> Monitor
Monitor --> Rollback: drift or regression
Rollback --> CandidateMitigation should be rolled out like a model or compiler change, not silently flipped in production.
53.6 Compatibility matrix
Mitigation settings interact with dynamic circuits, fractional gates, custom gates, and target features. Runtime options documentation notes incompatibilities among some features. A production platform should express these constraints as a compatibility matrix. [R91] [R92]
View diagram source
flowchart TD
Program[Program features] --> Dynamic[Dynamic control]
Program --> Custom[Custom/native gates]
Program --> Fractional[Fractional gates]
Program --> Timing[Explicit timing]
Mitigation[Mitigation policy] --> DD[DD]
Mitigation --> Twirling[Twirling]
Mitigation --> ZNE[ZNE]
Mitigation --> PEC[PEC]
Dynamic --> Check[Compatibility check]
Custom --> Check
Fractional --> Check
Timing --> Check
DD --> Check
Twirling --> Check
ZNE --> Check
PEC --> Check53.7 Vendor and third-party stacks
Q-CTRL Fire Opal and IBM Qiskit Function integrations show another route: managed error suppression and performance tooling layered into user workflows. These can be useful, but procurement should require evidence exports, baseline comparisons, and lock-in analysis. [R103]
View diagram source
flowchart LR
UserCircuit[User circuit] --> ThirdParty[Performance-management layer]
ThirdParty --> ProviderRuntime[Provider runtime]
ProviderRuntime --> QPU[QPU]
QPU --> Result[Result]
ThirdParty --> Evidence[Evidence report]
Evidence --> Governance[Governance review]53.8 Mitigation debt
Mitigation creates debt when it hides hardware regressions or makes algorithms dependent on opaque correction behavior.
| Debt type | Symptom | Control |
|---|---|---|
| hidden hardware debt | mitigated outputs stable while raw outputs degrade | monitor raw and mitigated streams |
| statistical debt | confidence intervals understate uncertainty | independent holdouts and bootstrap checks |
| portability debt | workflow only works with one mitigation provider | maintain unmitigated and alternative paths |
| cost debt | overhead consumes QPU capacity | track cost per useful precision |
View diagram source
flowchart TB
Debt[Mitigation debt] --> Hardware[Hidden hardware degradation]
Debt --> Stats[Underreported uncertainty]
Debt --> Portability[Provider lock-in]
Debt --> Cost[Capacity overhead]53.9 Operator rule
Never publish a mitigated number without the raw number, mitigation settings, overhead, uncertainty, and validation result.
View diagram source
flowchart LR
Publish[Publish result?] --> Raw{Raw result included?}
Raw -- no --> Stop[Do not publish]
Raw -- yes --> Settings{Settings included?}
Settings -- no --> Stop
Settings -- yes --> Uncertainty{Uncertainty included?}
Uncertainty -- no --> Stop
Uncertainty -- yes --> Validation{Validation passed?}
Validation -- no --> Label[Publish as exploratory]
Validation -- yes --> PublishOK[Publish as governed result]Mitigation earns trust through disciplined accounting.
Additional technical sources: [R263].