FiQCIEstimator#
FiQCIEstimator computes expectation values of Pauli observables from quantum circuits with built-in error mitigation. It supports both readout error mitigation (M3) and zero-noise extrapolation (ZNE).
Basic Configuration#
Initialize the estimator with an IQM backend, mitigation level, and optional parameters:
from fiqci.ems import FiQCIEstimator
# Initialize estimator with mitigation level 1
estimator = FiQCIEstimator(backend, mitigation_level=1, calibration_shots=2000, calibration_file="cals.json")
For more details see the API reference documentation for FiQCIEstimator.
Mitigation Levels#
Mitigation levels apply predefined sets of error mitigation techniques.
Level |
Mitigation Applied |
Technique |
|---|---|---|
0 |
None |
Raw results |
1 |
Readout Error Mitigation |
M3 (matrix-free measurement mitigation) |
2 |
Level 1 + additional |
TBD |
3 |
Level 2 + Zero Noise Extrapolation |
Exponential Extrapolation, Local Folding |
Mitigation Options#
Mitigators can also be configured manually using the provided methods.
REM (Readout Error Mitigation)#
Readout error mitigation uses M3 (matrix-free measurement mitigation) to correct measurement errors. It is enabled by default at mitigation level 1.
Configure REM using the rem() method:
estimator.rem(enabled=True, calibration_shots=2000, calibration_file="cals.json")
Parameter |
Default |
Description |
|---|---|---|
|
|
Enable or disable readout error mitigation |
|
|
Number of shots used for M3 calibration circuits |
|
|
Path to save/load calibration data (JSON). Reuses cached calibrations when available. |
ZNE (Zero-Noise Extrapolation)#
ZNE artificially scales circuit noise by folding gates, then extrapolates to the zero-noise limit. It is enabled at mitigation level 3.
Configure ZNE using the zne() method:
estimator.zne(
enabled=True,
fold_gates=["cx", "cz"],
scale_factors=[1, 3, 5],
folding_method="local",
extrapolation_method="exponential",
)
Parameter |
Default |
Description |
|---|---|---|
|
|
Enable or disable ZNE |
|
|
Gate names to fold (e.g. |
|
|
List of positive odd integers for noise scaling. At least 2 required. |
|
|
|
|
|
Extrapolation fit method. One of: |
|
|
Polynomial degree (only for |
Inspecting Options#
Use the mitigator_options property to view currently applied mitigation settings:
estimator.mitigator_options
Results#
run() returns a FiQCIEstimatorJobCollection with the following methods:
Method |
Description |
|---|---|
|
Mitigated expectation values |
|
Raw (pre-extrapolation) expectation values |
|
All jobs executed by the estimator |
|
Results for each job |
|
Observables used in the computation |