LogicalQ.Experiments

Functions

_basic_experiment_core(task_id, circuit, noise_model, ...)

Basic core experiment function useful for multiprocessing

circuit_scaling_experiment(circuit_input[, ...])

noise_scaling_experiment(circuit_input, ...[, ...])

Simulates physical and logical circuits across a range of noise models.

qec_cycle_efficiency_experiment(circuit_input, qecc, ...)

qec_cycle_circuit_scaling_experiment(circuit_input, qecc)

qec_cycle_noise_scaling_experiment(circuit_input, ...)

An extension of the noise_scaling_experiment method specifically for comparisons with QEC cycles scheduled given constraint models.

Module Contents

LogicalQ.Experiments._basic_experiment_core(task_id, circuit, noise_model, kwargs)

Basic core experiment function useful for multiprocessing

LogicalQ.Experiments.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)
LogicalQ.Experiments.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.

Parameters:
  • circuit_input – The circuit(s) to simulate. Accepts instances or lists of QuantumCircuit objects.

  • 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.

Return type:

dict

LogicalQ.Experiments.qec_cycle_efficiency_experiment(circuit_input, qecc, constraint_scan_keys, constraint_scan_val_lists, with_mp=False, save_dir=None, save_filename=None, **kwargs)
LogicalQ.Experiments.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)
LogicalQ.Experiments.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

},

]

},

],

},

]