mqt.ionshuttler.multi_shuttler.inside.scheduling¶
Module Contents¶
- assign_gate_to_pz(graph: Graph, gate: GateRef) str[source]¶
Dispatch a gate ID or qubit tuple to the corresponding PZ assignment path.
- Parameters:
graph – Inside architecture graph holding scheduling state.
gate – Stable gate ID or direct tuple of qubit IDs.
- Returns:
The selected processing-zone name.
- create_priority_queue(graph: Graph, sequence: list[GateRef] | None = None, max_length: int = 10) tuple[dict[int, str], dict[str, GateRef]][source]¶
Create a priority queue based on a given graph and sequence of gates. Also creates a dictionary of the next gate of each processing zone.
- Parameters:
graph – The graph representing the QCCD architecture.
sequence – The sequence of gates. Defaults to
graph.sequence.max_length – The maximum length of the priority queue. Defaults to 10.
- Returns:
The priority queue
The next gate at each processing zone
- create_move_list(graph: Graph, partitioned_priority_queue: list[int], pz: ProcessingZone) list[int][source]¶
- create_cycles_for_moves(graph: Graph, move_list: list[int], cycle_or_paths: str, pz: ProcessingZone) dict[int, list[Edge]][source]¶
- find_conflict_cycle_idxs(graph: Graph, cycles_dict: dict[int, list[Edge]]) list[tuple[int, int]][source]¶