qiboteam / qibocal

Quantum calibration, characterization and validation module for Qibo.
https://qibo.science
Apache License 2.0
30 stars 7 forks source link

Execution parameters in protocols #890

Open alecandido opened 3 months ago

alecandido commented 3 months ago

As pointed out in #887, sometimes the routines might want to specify the ExecutionParameters by themselves.

However, direct usage of params.execution_parameters would be advantageous for all the routines, since it would leave the freedom to the caller to always override the parameters. Still, when parameters are not specified, some default values should be clearly routine-dependent (in particular, acquisition_type and averaging_mode).

Thus, we should enforce the internal usage of params.execution_parameters everywhere, but leave some space for the routine implementor to specify a default value, to be carefully used. If there is no special default value to recommend (like it will be always, or almost always, the case for nshots and relaxation_time), it should be left empty in the routine, and just use the one determined globally.