laboneq_applications.contrib.analysis.signal_propagation_delay
¶
This module defines the analysis for a signal propagation delay experiment.
The experiment is defined in laboneq_applications.experiments.
In this analysis, we extract the optimum integration delay defined by the maximum of the integrated signal. Finally, we plot the data and mark the optimal delay.
analysis_workflow(result, qubit, delays, options=None)
¶
The Amplitude Rabi analysis Workflow.
The workflow consists of the following steps:
Parameters:
Name | Type | Description | Default |
---|---|---|---|
result |
RunExperimentResults
|
The experiment results returned by the run_experiment task. |
required |
qubit |
Qubit
|
The qubits on which to run the analysis. May be either a single qubit or a list of qubits. The UIDs of these qubits must exist in the result. |
required |
delays |
QubitSweepPoints
|
The delays that were swept over in the signal propagation delay experiment.
|
required |
options |
TuneUpAnalysisWorkflowOptions | None
|
The options for building the workflow, passed as an instance of [TuneUpAnalysisWorkflowOptions]. In addition to options from [WorkflowOptions], the following custom options are supported: do_fitting, do_plotting, and the options of the [TuneupAnalysisOptions] class. See the docstring of [TuneUpAnalysisWorkflowOptions] for more details. |
None
|
Returns:
Name | Type | Description |
---|---|---|
WorkflowBuilder |
None
|
The builder for the analysis workflow. |
Example
options = TuneUpAnalysisWorkflowOptions()
result = analysis_workflow(
results=results
qubits=q0,
delays=np.linspace(0e-9, 200e-9, 21),
],
options=options,
).run()
extract_qubit_parameters(qubit, result, options=None)
¶
Extract the optimal integration delay.
The optimal integration delay is defined by the port_delay which results in a maximum of the integrated signal.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
qubit |
Qubit
|
The qubit on which to run the analysis. |
required |
result |
RunExperimentResults
|
The experiment results returned by the run_experiment task. |
required |
options |
TuneupAnalysisOptions | None
|
The options for extracting the qubit parameters. See [TuneupAnalysisOptions], [TuneupExperimentOptions] and [BaseExperimentOptions] for accepted options. |
None
|
Returns:
Type | Description |
---|---|
dict[str, dict[str, dict[str, int | float | None]]]
|
dict with extracted qubit parameters and the previous values for those qubit |
dict[str, dict[str, dict[str, int | float | None]]]
|
parameters. The dictionary has the following form: |
dict[str, dict[str, dict[str, int | float | None]]]
|
```python |
dict[str, dict[str, dict[str, int | float | None]]]
|
{ "new_parameter_values": { q.uid: { qb_param_name: qb_param_value }, } "old_parameter_values": { q.uid: { qb_param_name: qb_param_value }, } |
dict[str, dict[str, dict[str, int | float | None]]]
|
} |
dict[str, dict[str, dict[str, int | float | None]]]
|
``` |
dict[str, dict[str, dict[str, int | float | None]]]
|
If the do_fitting option is False, the new_parameter_values are not extracted |
dict[str, dict[str, dict[str, int | float | None]]]
|
and the function only returns the old_parameter_values. |
plot_data(qubit, result, qubit_parameters, options=None)
¶
Create the signal propagation delay plot.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
qubit |
Qubit
|
The qubit on which to run the analysis. The UID of this qubit must exist in qubit_parameters. |
required |
result |
RunExperimentResults
|
The experiment results returned by the run_experiment task. |
required |
qubit_parameters |
dict[str, dict[str, dict[str, int | float | None]]] | None
|
the qubit-parameters dictionary returned by extract_qubit_parameters |
required |
options |
TuneupAnalysisOptions | None
|
The options for processing the raw data. See [TuneupAnalysisOptions], [TuneupExperimentOptions] and [BaseExperimentOptions] for accepted options. |
None
|
Returns:
Type | Description |
---|---|
dict[str, Figure]
|
dict with qubit UID as key and the figure as values. |