mqt.sqr.routing.default_routing

Module Contents

MAX_REPLANS = 50
MAX_GLOBAL_ITERS = 50
class DefaultRoutingPlanner[source]

Bases: mqt.sqr.routing.routing_strategy.RoutingStrategy

Helper class that provides a standard way to create an ABC using inheritance.

route(graph: networkx.Graph, qubits: list[Qubit], pairs: list[tuple[Qubit, Qubit]], p_success: float, p_repair: float) → RoutingResult[source]
static plan_layer_only(graph: networkx.Graph, current_pos: dict[int, Coord], layer_pairs: list[tuple[int, int]], layer_starts: set[Coord], defective_edges: set[frozenset], banned_meetings: dict[frozenset, set[Coord]] | None = None, all_ins: set[Coord] | None = None) → tuple[dict[int, list[TimedNode]], dict[frozenset, Coord], bool, list[tuple[int, int]], list[tuple[int, int]]][source]
static path_nodes_of_pair(plans: dict[int, list[TimedNode]], a: int, b: int) → set[Coord][source]
static collect_layer_nodes(plans: dict[int, list[TimedNode]], fixed_meetings: dict[frozenset, Coord]) → set[Coord][source]
static best_meeting_candidates(graph: networkx.Graph, q0: Coord, q1: Coord, reserved: set[Coord] | None = None, forbidden_nodes: set[Coord] | None = None) → list[Coord][source]
static entry_sn_from_path(path: list[TimedNode], meeting: Coord) → Coord | None[source]
static retime_until_pre_in_wait(path: list[TimedNode], meeting: Coord, sync_time: int) → list[TimedNode] | None[source]
static mapf_to_targets(graph: networkx.Graph, starts: dict[int, Coord], targets: dict[int, Coord], blocked_nodes: set[Coord] | None = None, blocked_edges: set[frozenset] | None = None) → dict[int, list[TimedNode]][source]
static sample_edge_failures(graph: networkx.Graph, defective_edges: set[frozenset], p_fail: float, p_repair: float) → None[source]
static path_uses_defective_edge(path: list[TimedNode], defective_edges: set[frozenset]) → bool[source]
static nearest_free_sn(graph: networkx.Graph, source: Coord, avoid: set[Coord]) → Coord | None[source]
static stitch_batches(qubits: list[Qubit], batch_plans: list[dict[int, list[TimedNode]]], batch_defects: list[set[frozenset]] | None = None) → tuple[dict[int, list[TimedNode]], list[tuple[int, int, set[frozenset]]]][source]