dqc_simulator.software

Everything needed to define, compile, and interpret quantum circuits on a distributed quantum computer.

This includes the capacity to parse openQASM 2.0 files for arbitrary monolithic quantum circuits, partition them then interpret them in a form the underlying NetSquid backend can understand or define pre-partitioned distributed quantum circuits and interpret those.

Todo

Could potentially change way control qubits are managed using :attr: ~netsquid.components.qmemory.MemoryPosition.in_use flag and corresponding pydynaa events. Could also make use of ~netsquid-qrepchain.processing_nodes.CommunicationMemoryManager. Finally, the modules related to parsing should potentially be moved.