kosmos.dqc_scheduling.space_time_matrix

Module Attributes

TWO_QUBIT_GATE_SIZE = 2

Classes

class SpaceTimeMatrix(num_qubits: int, num_timesteps: int)[source]

Matrix tracking QPU assignments for each qubit at each time step.

num_qubits

Number of qubits tracked in the matrix (rows).

Type:

int

num_timesteps

Number of gate-timesteps in the simulation (columns).

Type:

int

matrix

Matrix that stores which Qubit is assigned to what node in the simulation.

Type:

list[list[QuantumNode | None]]

partition_info

Mapping from Partition objects, storing circuit segments and metadata.

Type:

dict[str, Partition]

Initialize empty matrix.

Parameters:
  • num_qubits (int) – Number of qubits tracked in the matrix (rows).

  • num_timesteps (int) – Number of gate-timesteps in the simulation (columns).


Methods

get_node_at(qubit: int, time: int) kosmos.topology.node.QuantumNode | None[source]

Get node owning a qubit at a specific time.

Parameters:
  • qubit (int) – Qubit index.

  • time (time) – Time step.

Returns:

Node owning the qubit, or None if not allocated.

Return type:

QuantumNode | None