Skip to content

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: AveragingMode.CYCLIC.

acquisition_type str | AcquisitionType

Acquisition type to use for the experiment. Default: AcquisitionType.INTEGRATION.

repetition_mode str | RepetitionMode

The repetition mode to use for the experiment. Default: RepetitionMode.FASTEST.

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: True.

fit_parameters_hints dict | None

Parameters hints accepted by lmfit Default: None.

save_figures bool

Whether to save the figures. Default: True.

close_figures bool

Whether to close the figures. Default: True.

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: True.

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

do_analysis: bool = option_field(True, description='Whether to run the analysis workflow.') class-attribute instance-attribute

update: bool = option_field(False, description='Whether to update the setup based on the results from the analysis.') class-attribute instance-attribute

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: True.

do_pca bool

Whether to perform principal component analysis on the raw data independent of whether there were calibration traces in the experiment. Default: False.

do_fitting bool

Whether to perform the fit. Default: True.

fit_parameters_hints dict | None

Parameters hints accepted by lmfit Default: None.

save_figures bool

Whether to save the figures. Default: True.

close_figures bool

Whether to close the figures. Default: True.

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: "ge" (i.e. ground to first excited state).

use_cal_traces bool

Whether to include calibration traces in the experiment. Default: True.

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

cal_states: str | tuple = option_field('ge', description='The states to prepare in the calibration traces.') class-attribute instance-attribute

transition: Literal['ge', 'ef'] = option_field('ge', description='Transition to perform the experiment on. May be any transition supported by the quantum operations.') class-attribute instance-attribute

use_cal_traces: bool = option_field(True, description='Whether to include calibration traces in the experiment.') class-attribute instance-attribute