loom.executor.legacy_functions.eka_to_cliffordsim

Copyright 2024 Entropica Labs Pte Ltd

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

loom.executor.legacy_functions.eka_to_cliffordsim.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.

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]