laboneq_applications.experiments.options
¶
Experiment task and workflow options.
T = TypeVar('T')
module-attribute
¶
BaseExperimentOptions
¶
Bases: TaskOptions
Base options for the experiment.
Attributes:
Name | Type | Description |
---|---|---|
count |
int
|
The number of repetitions. Default: A common choice in practice, 1024. |
averaging_mode |
str | AveragingMode
|
Averaging mode to use for the experiment.
Default: |
acquisition_type |
str | AcquisitionType
|
Acquisition type to use for the experiment.
Default: |
repetition_mode |
str | RepetitionMode
|
The repetition mode to use for the experiment.
Default: |
repetition_time |
float | None
|
The repetition time. Default: None. |
reset_oscillator_phase |
bool
|
Whether to reset the oscillator phase. Default: False. |
active_reset |
bool
|
Whether to use active reset. Default: False. |
active_reset_repetitions |
int
|
The number of times to repeat the active resets. Default: 1 |
active_reset_states |
str | tuple | None
|
The qubit states to actively reset. Default: "ge" |
acquisition_type: str | AcquisitionType = option_field(AcquisitionType.INTEGRATION, description='Acquisition type to use for the experiment.', converter=_parse_acquisition_type)
class-attribute
instance-attribute
¶
active_reset: bool = option_field(False, description='Whether to use active reset.')
class-attribute
instance-attribute
¶
active_reset_repetitions: int = option_field(1, description='The number of times to repeat the active resets.')
class-attribute
instance-attribute
¶
active_reset_states: str | tuple | None = option_field('ge', description='The qubit states to actively reset.')
class-attribute
instance-attribute
¶
averaging_mode: str | AveragingMode = option_field(AveragingMode.CYCLIC, description='Averaging mode to use for the experiment.', converter=_parse_averaging_mode)
class-attribute
instance-attribute
¶
count: int = option_field(default=1024, description='The number of repetitions.')
class-attribute
instance-attribute
¶
repetition_mode: str | RepetitionMode = option_field(RepetitionMode.FASTEST, description='The repetition mode to use for the experiment.', converter=_parse_repetition_mode)
class-attribute
instance-attribute
¶
repetition_time: float | None = option_field(None, description='The repetition time.')
class-attribute
instance-attribute
¶
reset_oscillator_phase: bool = option_field(False, description='Whether to reset the oscillator phase.')
class-attribute
instance-attribute
¶
QubitSpectroscopyAnalysisOptions
¶
Bases: QubitSpectroscopyExperimentOptions
Base options for the analysis of a qubit-spectroscopy experiment.
Attributes:
Name | Type | Description |
---|---|---|
do_fitting |
bool
|
Whether to perform the fit.
Default: |
fit_parameters_hints |
dict | None
|
Parameters hints accepted by lmfit Default: None. |
save_figures |
bool
|
Whether to save the figures.
Default: |
close_figures |
bool
|
Whether to close the figures.
Default: |
close_figures: bool = option_field(True, description='Whether to close the figures.')
class-attribute
instance-attribute
¶
do_fitting: bool = option_field(True, description='Whether to perform the fit.')
class-attribute
instance-attribute
¶
fit_parameters_hints: dict | None = option_field(None, description='Parameters hints accepted by lmfit.')
class-attribute
instance-attribute
¶
save_figures: bool = option_field(True, description='Whether to save the figures.')
class-attribute
instance-attribute
¶
QubitSpectroscopyAnalysisWorkflowOptions
¶
Bases: WorkflowOptions
Option class for qubit spectroscopy analysis workflows.
Attributes:
Name | Type | Description |
---|---|---|
do_plotting |
bool
|
Whether to make plots. Default: 'True'. |
do_raw_data_plotting |
bool
|
Whether to plot the raw data. Default: True. |
do_plotting_qubit_spectroscopy |
bool
|
Whether to plot the final qubit spectroscopy plot. Default: True. |
do_plotting: bool = option_field(True, description='Whether to make plots.')
class-attribute
instance-attribute
¶
do_plotting_qubit_spectroscopy: bool = option_field(True, description='Whether to plot the final qubit spectroscopy plot.')
class-attribute
instance-attribute
¶
do_raw_data_plotting: bool = option_field(True, description='Whether to plot the raw data.')
class-attribute
instance-attribute
¶
QubitSpectroscopyExperimentOptions
¶
Bases: BaseExperimentOptions
Base options for the resonator spectroscopy experiment.
Additional attributes
spectroscopy_reset_delay: How long to wait after an acquisition in seconds. Default: 1e-6.
spectroscopy_reset_delay: float = option_field(1e-06, description='How long to wait after an acquisition in seconds.')
class-attribute
instance-attribute
¶
ResonatorSpectroscopyExperimentOptions
¶
Bases: BaseExperimentOptions
Base options for the resonator spectroscopy experiment.
Additional attributes
use_cw:
Perform a CW spectroscopy where no measure pulse is played.
Default: False.
spectroscopy_reset_delay:
How long to wait after an acquisition in seconds.
Default: 1e-6.
acquisition_type:
Acquisition type to use for the experiment.
Default: AcquisitionType.SPECTROSCOPY
.
acquisition_type: AcquisitionType = option_field(AcquisitionType.SPECTROSCOPY, description='Acquisition type to use for the experiment.')
class-attribute
instance-attribute
¶
spectroscopy_reset_delay: float = option_field(1e-06, description='How long to wait after an acquisition in seconds.')
class-attribute
instance-attribute
¶
use_cw: bool = option_field(False, description='Perform a CW spectroscopy where no measure pulse is played.')
class-attribute
instance-attribute
¶
TuneUpAnalysisWorkflowOptions
¶
Bases: WorkflowOptions
Option class for tune-up analysis workflows.
Attributes:
Name | Type | Description |
---|---|---|
do_fitting |
bool
|
Whether to perform the fit.
Default: |
do_plotting |
bool
|
Whether to make plots. Default: 'True'. |
do_fitting: bool = option_field(True, description='Whether to perform the fit.')
class-attribute
instance-attribute
¶
do_plotting: bool = option_field(True, description='Whether to make plots.')
class-attribute
instance-attribute
¶
do_qubit_population_plotting: bool = option_field(True, description='Whether to plot the qubit population.')
class-attribute
instance-attribute
¶
do_raw_data_plotting: bool = option_field(True, description='Whether to plot the raw data.')
class-attribute
instance-attribute
¶
TuneUpWorkflowOptions
¶
Bases: WorkflowOptions
Option class for tune-up experiment workflows.
Attributes:
Name | Type | Description |
---|---|---|
do_analysis |
bool
|
Whether to run the analysis workflow. Default: True |
update |
bool
|
Whether to update the setup based on the results from the analysis. Default: False |
TuneupAnalysisOptions
¶
Bases: TuneupExperimentOptions
Base options for the analysis of a tune-up experiment.
Attributes:
Name | Type | Description |
---|---|---|
do_rotation |
bool
|
Whether to rotate the raw data based on calibration traces or principal
component analysis.
Default: |
do_pca |
bool
|
Whether to perform principal component analysis on the raw data independent
of whether there were calibration traces in the experiment.
Default: |
do_fitting |
bool
|
Whether to perform the fit.
Default: |
fit_parameters_hints |
dict | None
|
Parameters hints accepted by lmfit Default: None. |
save_figures |
bool
|
Whether to save the figures.
Default: |
close_figures |
bool
|
Whether to close the figures.
Default: |
close_figures: bool = option_field(True, description='Whether to close the figures.')
class-attribute
instance-attribute
¶
do_fitting: bool = option_field(True, description='Whether to perform the fit.')
class-attribute
instance-attribute
¶
do_pca: bool = option_field(False, description='Whether to perform principal component analysis on the raw data independent of whether there were calibration traces in the experiment.')
class-attribute
instance-attribute
¶
do_rotation: bool = option_field(True, description='Whether to rotate the raw data based on calibration traces or principal component analysis.')
class-attribute
instance-attribute
¶
fit_parameters_hints: dict | None = option_field(None, description='Parameters hints accepted by lmfit.')
class-attribute
instance-attribute
¶
save_figures: bool = option_field(True, description='Whether to save the figures.')
class-attribute
instance-attribute
¶
TuneupExperimentOptions
¶
Bases: BaseExperimentOptions
Base options for a tune-up experiment.
Attributes:
Name | Type | Description |
---|---|---|
transition |
Literal['ge', 'ef']
|
Transition to perform the experiment on. May be any
transition supported by the quantum operations.
Default: |
use_cal_traces |
bool
|
Whether to include calibration traces in the experiment.
Default: |
cal_states |
str | tuple
|
The states to prepare in the calibration traces. Can be any string or tuple made from combining the characters 'g', 'e', 'f'. Default: same as transition |