mqt.ionshuttler.linear.compiler

User-facing entry point for Linear shuttling compilation.

Module Contents

class LinearCompiler[source]

Compile supported circuits to a fixed Linear hardware model.

action_types selects the architecture-supported operations available to this compilation. It defaults to the architecture’s full catalog. Time advancement remains an internal part of scheduling.

architecture: Architecture
config: LinearCompilerConfig
action_types: tuple[type[Action], ...] | None = None
__post_init__() → None[source]

Ensure the hardware action catalog contains action classes.

Raises:
  • TypeError – If an entry is not an Action subclass.

  • ValueError – If two entries have the same serialized name.

compile(circuit: CircuitInput, *, initial_positions: Sequence[int] | None = None, pre_partition: bool = False) → CompilationResult[source]

Compile a circuit from QASM text, a QASM file, or Qiskit.

Parameters:
  • circuit – Circuit to compile.

  • initial_positions – Optional starting site for each circuit qubit.

  • pre_partition – Bias multi-zone search toward a fine-grained gate partition. Partitioning consumes the compile time budget but is not interrupted when the budget expires.

Returns:

The resulting schedule and completion status.