iqm.benchmarks.readout_mitigation.M3IQM

iqm.benchmarks.readout_mitigation.M3IQM#

class iqm.benchmarks.readout_mitigation.M3IQM(system: IQMBackend | IQMFacadeBackend | None = None, iter_threshold: int = 4096)#

Bases: M3Mitigation

M3 readout mitigation class modified to work with IQM devices.

Methods

_custom_system_info(system)

Custom system_info implementation for IQM systems.

_grab_additional_cals(qubits[, shots, ...])

Grab missing calibration data from backend.

_prepare_calibration_circuits(qubits, ...)

Prepare REM calibration circuits based on the specified method.

_submit_calibration_jobs(trans_qcs, shots, ...)

Submit calibration circuits as jobs to the backend.

cals_from_system([qubits, shots, method, ...])

Grab calibration data from system.

Parameters:
cals_from_system(qubits: list[dict[int, int]] | dict[int, int] | list[int] | None = None, shots: int | None = None, method: str | None = None, initial_reset: bool = False, cals_file: str | None = None, async_cal: bool = False, cal_id: str | None = None) None#

Grab calibration data from system.

Parameters:
  • qubits (list[dict[int, int]] | dict[int, int] | list[int] | None) – Qubits over which to correct calibration data.

  • shots (int | None) – Number of shots per circuit. min(1e4, max_shots).

  • method (str | None) – Type of calibration, ‘balanced’ (default for hardware), ‘independent’ (default for simulators), or ‘marginal’.

  • initial_reset (bool) – Use resets at beginning of calibration circuits.

  • cals_file (str | None) – Output path to write JSON calibration data to.

  • async_cal (bool) – Do calibration async in a separate thread.

  • cal_id (str | None) – Calibration set ID to use when submitting calibration circuits.

Raises:

M3Error – Called while a calibration currently in progress.

Return type:

None