mqt.ionshuttler.single_shuttler.scheduling¶
Module Contents¶
- show_plot = False¶
- save_plot = False¶
- run_folder¶
- create_starting_config(n_of_chains: int, graph: Graph, seed: int | None = None) tuple[dict[int, Edge], int][source]¶
- preprocess(memorygrid: MemoryZone, sequence: list[int]) MemoryZone[source]¶
- create_move_list(memorygrid: MemoryZone, sequence: list[int], max_length: int = 10) list[int][source]¶
max_length: max length of move_list (if sequence is longer than max_length, only first max_length elements are considered)
- create_initial_sequence(distance_map: dict[int, int], filename: Path, compilation: bool) tuple[list[tuple[int, ...]], list[int], DAGDependency | None, DAGDepNode | None][source]¶
- create_circles_for_moves(memorygrid: MemoryZone, move_list: list[int], flat_seq: list[int], gate_execution_finished: bool, new_gate_starting: bool) tuple[dict[int, list[Edge]], bool, int | None][source]¶
- find_movable_circles(memorygrid: MemoryZone, all_circles: dict[int, list[Edge]], move_list: list[int]) list[int][source]¶
- rotate_free_circles(memorygrid: MemoryZone, all_circles: dict[int, list[Edge]], free_circle_seq_idxs: list[int], rotate_entry: bool, chain_to_move_out_of_pz: int | None) None[source]¶
- update_sequence_and_process_gate(memorygrid: MemoryZone, seq_length: int, gate_execution_finished: bool, new_gate_starting: bool, dag_dep: DAGDependency | None, next_node: DAGDepNode | None, timestep: int, seq: list[tuple[int, ...]], flat_seq: list[int], time_in_pz_counter: int, next_gate_is_two_qubit_gate: bool, show_plot: bool) tuple[bool, bool, bool, list[tuple[int, ...]], list[int], int, DAGDependency | None, DAGDepNode | None, bool][source]¶
- check_duplicates(lst: list[int], memorygrid: MemoryZone, parking_idc: Edge, max_number_parking: int) None[source]¶
- run_simulation(memorygrid: MemoryZone, max_timesteps: int, seq: list[tuple[int, ...]], flat_seq: list[int], dag_dep: DAGDependency | None, next_node_initial: DAGDepNode | None, max_length: int) int[source]¶