Dqc Net Topo

class sequence.topology.dqc_net_topo.DQCNetTopo(conf_file_name: str)

Class for generating distributed quantum computing network with distributed quantum computing nodes

Class DQCNodeNetTopo is the child of class Topology. Distributed quantum computing nodes, BSM nodes, quantum channels, classical channels and timeline for simulation could be generated by using this class.

bsm_to_router_map

mapping of bsm node to two connected routers

Type:

dict[str, list[Node]]

nodes

mapping of type of node to a list of same type node.

Type:

dict[str, list[Node]]

qchannels

list of quantum channel objects in network.

Type:

list[QuantumChannel]

cchannels

list of classical channel objects in network.

Type:

list[ClassicalChannel]

tl

the timeline used for simulation

Type:

Timeline

infer_memory_owners(total_wires: int, ancilla_inds: list[int]) tuple[dict[str, dict[int, int]], dict[str, dict[int, int]]]

Returns (data_owners, ancilla_owners) where each is node_name → { wire_index: slot_index_in_memory_array }.

Parameters:
  • total_wires (int) – The total number of wires (qubits) in the system.

  • ancilla_inds (list[int]) – The list of indices for the ancilla qubits.

infer_qubit_to_node(total_wires: int) dict[int, str]
Auto-infer the {wire_index: node_name} map by

first assigning every node’s n_data qubits in JSON order, then every node’s n_ancilla qubits.

Parameters:

total_wires (int) – The total number of wires (qubits) in the system.

Returns:

A mapping from wire indices to node names.

Return type:

dict[int, str]