iqm.iqm_client.validation.validate_circuit_instructions

iqm.iqm_client.validation.validate_circuit_instructions#

iqm.iqm_client.validation.validate_circuit_instructions(architecture: DynamicQuantumArchitecture, circuits: list[Circuit], qubit_mapping: dict[str, str] | None = None, validate_moves: MoveGateValidationMode = MoveGateValidationMode.STRICT, *, must_close_sandwiches: bool = True) None#

Validate the given circuits against the given quantum architecture.

Parameters:
  • architecture (DynamicQuantumArchitecture) – Quantum architecture to check against.

  • circuits (list[Circuit]) – Circuits to be checked.

  • qubit_mapping (dict[str, str] | None) – Mapping of logical qubit names to physical qubit names. Can be set to None if all circuits already use physical qubit names. Note that the qubit_mapping is used for all circuits.

  • validate_moves (MoveGateValidationMode) – Determines how MOVE gate validation works.

  • must_close_sandwiches (bool) – Iff True, MOVE sandwiches cannot be left open when the circuit ends.

Raises:

CircuitValidationError – validation failed

Return type:

None