LogicalQ.Experiments

Attributes

DEFAULT

Functions

execute_circuits(circuit_input[, target, backend, ...])

General function to execute a circuit with smart handling of parameters, especially for circuits with QEC.

_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.DEFAULT
LogicalQ.Experiments.execute_circuits(circuit_input, target=None, backend=None, hardware_model=None, noise_model=DEFAULT, noise_params=DEFAULT, coupling_map=DEFAULT, basis_gates=DEFAULT, method='statevector', optimization_level=0, shots=1024, memory=False, save_statevector=False, save_density_matrix=False, return_circuits_transpiled=False)

General function to execute a circuit with smart handling of parameters, especially for circuits with QEC.

The parameters target, backend, and hardware_model are the preferred input type to this function. If specified, noise_model, noise_params, coupling_map, and basis_gates will try to override anything specified in target, backend, or hardware_model.

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

},

]

},

],

},

]