iqm.pulla.utils_qiskit.get_qiskit_compiler

iqm.pulla.utils_qiskit.get_qiskit_compiler#

iqm.pulla.utils_qiskit.get_qiskit_compiler(pulla, backend, loading_rules=None, *, exa_style_pp=True, controller_mapping=None, gate_definitions=None, options=None)#

Get the Qiskit-specific Pulla Compiler.

Parameters:
  • pulla (Pulla) – Pulla instance

  • backend (IQMBackendBase) – Qiskit backend.

  • loading_rules (list[RuleType] | None) – Observation loading rules. If None, will use the current default calibration set.

  • exa_style_pp (bool) – Whether to do EXA-style dataset post-processing by default.

  • controller_mapping (dict[str, dict[str, str]] | None) – Dictionary that maps physical QPU component names to their device controller names. The dictionary is of the form: {<component_name>: {<operation_name>: <controller name>}}, where operation is one of the following: “drive”, “readout”, “flux” (not all components have all operations supported).

  • gate_definitions (dict[str, QuantumOp] | None) – Names of quantum operations mapped to their definitions, see QuantumOp.

  • options (CompilerOptions | None) – General options to define the compiler behaviour.

Returns:

The Qiskit-specific Pulla Compiler.

Return type:

QiskitCompiler