:py:mod:`kosmos.dqc_scheduling.space_time_matrix` ================================================= .. py:module:: kosmos.dqc_scheduling.space_time_matrix Module Attributes ----------------- .. py:data:: TWO_QUBIT_GATE_SIZE :value: 2 Classes ------- .. py:class:: SpaceTimeMatrix(num_qubits: int, num_timesteps: int) Matrix tracking QPU assignments for each qubit at each time step. .. attribute:: num_qubits Number of qubits tracked in the matrix (rows). :type: int .. attribute:: num_timesteps Number of gate-timesteps in the simulation (columns). :type: int .. attribute:: matrix Matrix that stores which Qubit is assigned to what node in the simulation. :type: list[list[QuantumNode | None]] .. attribute:: partition_info Mapping from Partition objects, storing circuit segments and metadata. :type: dict[str, Partition] Initialize empty matrix. :param num_qubits: Number of qubits tracked in the matrix (rows). :type num_qubits: int :param num_timesteps: Number of gate-timesteps in the simulation (columns). :type num_timesteps: int | .. rubric:: Methods .. py:method:: get_node_at(qubit: int, time: int) -> kosmos.topology.node.QuantumNode | None Get node owning a qubit at a specific time. :param qubit: Qubit index. :type qubit: int :param time: Time step. :type time: time :returns: Node owning the qubit, or None if not allocated. :rtype: QuantumNode | None