iqm.iqm_client.models.RunRequest#

class iqm.iqm_client.models.RunRequest(*, circuits: list[Circuit], custom_settings: dict[str, Any] | None = None, calibration_set_id: UUID | None = None, qubit_mapping: list[SingleQubitMapping] | None = None, shots: int, max_circuit_duration_over_t2: float | None = None, heralding_mode: HeraldingMode = HeraldingMode.NONE, move_validation_mode: MoveGateValidationMode = MoveGateValidationMode.STRICT, move_gate_frame_tracking_mode: MoveGateFrameTrackingMode = MoveGateFrameTrackingMode.FULL, active_reset_cycles: int | None = None)#

Bases: BaseModel

Request for an IQM quantum computer to run a job that executes a batch of quantum circuits.

Note: all circuits in a batch must measure the same qubits otherwise batch execution fails.

Attributes

model_computed_fields

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

circuits

batch of quantum circuit(s) to execute

custom_settings

Custom settings to override default IQM hardware settings and calibration data.

calibration_set_id

ID of the calibration set to use, or None to use the latest calibration set

qubit_mapping

mapping of logical qubit names to physical qubit names, or None if using physical qubit names

shots

how many times to execute each circuit in the batch, must be greater than zero

max_circuit_duration_over_t2

Circuits are disqualified on the server if they are longer than this ratio of the T2 time of the qubits.

heralding_mode

which heralding mode to use during the execution of circuits in this request.

move_validation_mode

Which method of MOVE gate validation to use for circuit compilation.

move_gate_frame_tracking_mode

Which method of MOVE gate frame tracking to use for circuit compilation.

active_reset_cycles

Number of active reset operations inserted at the beginning of each circuit for each active qubit.

Methods

Parameters:
circuits: CircuitBatch#

batch of quantum circuit(s) to execute

custom_settings: dict[str, Any] | None#

Custom settings to override default IQM hardware settings and calibration data. Note: This field should be always None in normal use.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'active_reset_cycles': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'calibration_set_id': FieldInfo(annotation=Union[UUID, NoneType], required=False, default=None), 'circuits': FieldInfo(annotation=list[Circuit], required=True), 'custom_settings': FieldInfo(annotation=Union[dict[str, Any], NoneType], required=False, default=None), 'heralding_mode': FieldInfo(annotation=HeraldingMode, required=False, default=<HeraldingMode.NONE: 'none'>), 'max_circuit_duration_over_t2': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'move_gate_frame_tracking_mode': FieldInfo(annotation=MoveGateFrameTrackingMode, required=False, default=<MoveGateFrameTrackingMode.FULL: 'full'>), 'move_validation_mode': FieldInfo(annotation=MoveGateValidationMode, required=False, default=<MoveGateValidationMode.STRICT: 'strict'>), 'qubit_mapping': FieldInfo(annotation=Union[list[SingleQubitMapping], NoneType], required=False, default=None), 'shots': FieldInfo(annotation=int, required=True, metadata=[Gt(gt=0)])}#

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

calibration_set_id: UUID | None#

ID of the calibration set to use, or None to use the latest calibration set

qubit_mapping: list[SingleQubitMapping] | None#

mapping of logical qubit names to physical qubit names, or None if using physical qubit names

shots: int#

how many times to execute each circuit in the batch, must be greater than zero

max_circuit_duration_over_t2: float | None#

Circuits are disqualified on the server if they are longer than this ratio of the T2 time of the qubits. If set to 0.0, no circuits are disqualified. If set to None the server default value is used.

heralding_mode: HeraldingMode#

which heralding mode to use during the execution of circuits in this request.

move_validation_mode: MoveGateValidationMode#

Which method of MOVE gate validation to use for circuit compilation.

move_gate_frame_tracking_mode: MoveGateFrameTrackingMode#

Which method of MOVE gate frame tracking to use for circuit compilation.

active_reset_cycles: int | None#

Number of active reset operations inserted at the beginning of each circuit for each active qubit. None means active reset is not used but instead reset is done by waiting (relaxation). Integer values smaller than 1 result in neither active nor reset by wait being used, in which case any reset operations must be explicitly added in the circuit.