loom.executor.main
Copyright (c) Entropica Labs Pte Ltd 2025.
Use, distribution and reproduction of this program in its source or compiled form is prohibited without the express written consent of Entropica Labs Pte Ltd.
- loom.executor.main.convert_circuit_to_cliffordsim(input_circuit, index_to_channel_map)[source]
Converts a Circuit object into a CliffordSim Circuit.
NOTE: Qubit indices are remapped for now as the Circuit Object does not contain any information about qubit indices.
NOTE: If input_circuit contains classical channels, additional operations will be added that create classical registers at the start and record the classical registers at the end of the circuit. The classical registers are created based on the labels of the classical channels. The first set of letters, separated by an _, in the label of the classical channel is the name of the classical register.
TODO: Resolved Mapping Issue but external requirement of data qubit map as input might be an issue. Maybe dqubit_dict or the final output from extract_qubits should be information “uploaded” onto the CRD as well. (As this contains information about the ancilla qubit which was previously not available. i.e. what qubit indices are they)
Parameter
input_circuit: Circuit dqubits_dict: dict
- returns:
A list containing CliffordSim Operations that represent the original input_circuit. This list can be passed into CliffordSim’s Engine to be simulated.
- rtype:
list[cliffordsim.operations.Operation]