In the recent cost estimates functions, there are a number of hardcoded parameters in the system:
|
for logical_data_qubit_distance in range(7, 35, 2): |
|
params = AlgorithmParameters( |
|
physical_error_rate=physical_error_rate, |
|
surface_code_cycle_time=datetime.timedelta(microseconds=1), |
|
logical_data_qubit_distance=logical_data_qubit_distance, |
|
magic_state_factory=factory, |
|
toffoli_count=num_toffoli, |
|
max_allocated_logical_qubits=num_logical_qubits, |
|
factory_count=4, |
|
routing_overhead_proportion=0.5, |
|
proportion_of_bounding_box=portion_of_bounding_box) |
|
cost = params.estimate_cost() |
|
if cost.algorithm_failure_probability > 0.1: |
Should we add them as parameters to some class that the user can willingly change?
In the recent cost estimates functions, there are a number of hardcoded parameters in the system:
OpenFermion/src/openfermion/resource_estimates/surface_code_compilation/physical_costing.py
Lines 189 to 201 in cf53c06
Should we add them as parameters to some class that the user can willingly change?