def concatenate_circuits(circuit_set: Union[str, List[Circuit]]): if isinstance(circuit_set, str): circuit_set = load_circuit_set(circuit_set) result_circuit = Circuit() for circuit in circuit_set: result_circuit += circuit save_circuit(result_circuit, "result-circuit.json")
def run_circuitset_and_measure( backend_specs: Specs, circuitset: str, n_samples: Optional[int] = None, noise_model: Optional[str] = None, device_connectivity: Optional[str] = None, ): if isinstance(backend_specs, str): backend_specs = json.loads(backend_specs) if noise_model is not None: backend_specs["noise_model"] = load_noise_model(noise_model) if device_connectivity is not None: backend_specs["device_connectivity"] = load_circuit_connectivity( device_connectivity) circuit_set = load_circuit_set(circuitset) backend = create_object(backend_specs) measurements_set = backend.run_circuitset_and_measure(circuit_set, n_samples=n_samples) list_of_measurements = [ measurement.bitstrings for measurement in measurements_set ] save_list(list_of_measurements, "measurements-set.json")
def test_batch_circuits_all_objects_circuit_set_is_artifact( self, input_circuits, input_circuit_set_filename): # Given expected_circuit_set_filename = "circuit-set.json" expected_circuit_set = load_circuit_set(input_circuit_set_filename) for circuit in input_circuits: expected_circuit_set.append(copy.deepcopy(circuit)) # When batch_circuits(input_circuits, circuit_set=input_circuit_set_filename) # Then try: circuit_set = load_circuit_set(expected_circuit_set_filename) assert circuit_set == expected_circuit_set finally: remove_file_if_exists(expected_circuit_set_filename)
def test_batch_circuits_all_objects_no_circuit_set(self, input_circuits): # Given expected_circuit_set_filename = "circuit-set.json" expected_circuit_set = copy.deepcopy(input_circuits) # When batch_circuits(input_circuits) # Then try: circuit_set = load_circuit_set(expected_circuit_set_filename) assert circuit_set == expected_circuit_set finally: remove_file_if_exists(expected_circuit_set_filename)
def batch_circuits( circuits: List[Union[str, Circuit]], circuit_set: Optional[Union[str, List[Circuit]]] = None, ): if circuit_set is None: circuit_set = [] else: if isinstance(circuit_set, str): circuit_set = load_circuit_set(circuit_set) for circuit in circuits: if isinstance(circuit, str): circuit = load_circuit(circuit) circuit_set.append(circuit) save_circuit_set(circuit_set, "circuit-set.json")
def test_batch_circuits_all_artifacts_no_circuit_set( self, input_circuits_filenames): # Given expected_circuit_set_filename = "circuit-set.json" expected_circuit_set = [] for circuit_filename in input_circuits_filenames: expected_circuit_set.append(load_circuit(circuit_filename)) # When batch_circuits(input_circuits_filenames) # Then try: circuit_set = load_circuit_set(expected_circuit_set_filename) assert circuit_set == expected_circuit_set finally: remove_file_if_exists(expected_circuit_set_filename)
def test_concatenate_circuits_artifact_file(self, circuit_set_filename): # Given expected_concatenated_circuit_filename = "result-circuit.json" circuit_set = load_circuit_set(circuit_set_filename) expected_concatenated_circuit = Circuit() for circuit in copy.deepcopy(circuit_set): expected_concatenated_circuit += circuit # When concatenate_circuits(circuit_set_filename) # Then try: concatenated_circuit = load_circuit(expected_concatenated_circuit_filename) assert concatenated_circuit.gates == expected_concatenated_circuit.gates finally: remove_file_if_exists(expected_concatenated_circuit_filename)
def create_circuit_set_from_circuit_artifacts( circuit1: str, circuit2: str = "None", circuit3: str = "None", circuit4: str = "None", circuit_set: str = "None", ): if circuit_set != "None": # TODO None isse in workflow v1 circuit_set_object = load_circuit_set(circuit_set) else: circuit_set_object = [] object_names = [circuit1, circuit2, circuit3, circuit4] for object in object_names: if object != "None": circuit_set_object.append(load_circuit(object)) save_circuit_set(circuit_set_object, "circuit-set.json")
def concatenate_circuits(circuit_set: str): circuit_set_object = load_circuit_set(circuit_set) result_circuit = Circuit() for circuit in circuit_set_object: result_circuit += circuit save_circuit(result_circuit, "result-circuit.json")