LogicalQ.Experiments ==================== .. py:module:: LogicalQ.Experiments Functions --------- .. autoapisummary:: LogicalQ.Experiments._basic_experiment_core LogicalQ.Experiments.circuit_scaling_experiment LogicalQ.Experiments.noise_scaling_experiment LogicalQ.Experiments.qec_cycle_efficiency_experiment LogicalQ.Experiments.qec_cycle_circuit_scaling_experiment LogicalQ.Experiments.qec_cycle_noise_scaling_experiment Module Contents --------------- .. py:function:: _basic_experiment_core(task_id, circuit, noise_model, kwargs) Basic core experiment function useful for multiprocessing .. py:function:: circuit_scaling_experiment(circuit_input, noise_model_input=None, min_n_qubits=1, max_n_qubits=16, min_circuit_length=1, max_circuit_length=16, with_mp=True, save_dir=None, save_filename=None, **kwargs) .. py:function:: noise_scaling_experiment(circuit_input, noise_model_input, error_scan_keys, error_scan_val_lists, basis_gates=None, compute_exact=False, exact_method=None, with_mp=False, save_dir=None, save_filename=None, **kwargs) Simulates physical and logical circuits across a range of noise models. :param circuit_input: The circuit(s) to simulate. Accepts instances or lists of QuantumCircuit objects. :param noise_model_input: The noise model(s) to scan across. Accepts instances or lists of NoiseModel, or error dictionaries from which a NoiseModel can be constructed. :returns: all_data :raises NotImplementedError: if user attempts to provide noise_scaling_experiment with a circuit factory or noise model factory. .. py:function:: qec_cycle_efficiency_experiment(circuit_input, qecc, constraint_scan_keys, constraint_scan_val_lists, with_mp=False, save_dir=None, save_filename=None, **kwargs) .. py:function:: qec_cycle_circuit_scaling_experiment(circuit_input, qecc, constraint_model=None, min_n_qubits=1, max_n_qubits=16, min_circuit_length=1, max_circuit_length=16, with_mp=True, save_dir=None, save_filename=None, **kwargs) .. py:function:: qec_cycle_noise_scaling_experiment(circuit_input, noise_model_input, qecc, constraint_scan_keys, constraint_scan_val_lists, error_scan_keys, error_scan_val_lists, compute_exact=False, with_mp=False, save_dir=None, save_filename=None, **kwargs) An extension of the `noise_scaling_experiment` method specifically for comparisons with QEC cycles scheduled given constraint models. Data format: ``` all_data = [ # for each constraint model: { "circuit_physical": QuantumCircuit, "circuit_logical": LogicalCircuit, "constraint_model": dict, "results_physical": [ # for each circuit: { "circuit": circuit, "density_matrix_exact": density_matrix_exact, "statevector_exact": statevector_exact, "results": [ { "error_dict": error_dict, "result": result }, ] }, ], "results_logical": [ { "circuit": circuit, "density_matrix_exact": density_matrix_exact, "statevector_exact": statevector_exact, "results": [ { "error_dict": error_dict, "result": result }, ] }, ], }, ] ```