laboneq_applications.contrib.experiments.twpa_spectroscopy
¶
This module defines the TWPA spectroscopy experiment.
In this experiment, we sweep the frequency of a measure pulse to characterize the TWPA response.
The TWPA spectroscopy experiment has the following pulse sequence:
TWPA --- [ measure ]
This experiment only supports 1 TWPA at the time.
create_experiment(qpu, parametric_amplifier, frequencies, options=None)
¶
Creates a TWPA Spectroscopy experiment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
qpu
|
QPU
|
The qpu consisting of the original TWPA and quantum operations. |
required |
parametric_amplifier
|
TWPA
|
The parametric amplifier to run the experiments on. |
required |
frequencies
|
ArrayLike
|
The readout frequencies to sweep over for the measure pulse (or CW) sent to the TWPA. Must be a list of numbers or an array. |
required |
options
|
TWPASpectroscopyExperimentOptions | None
|
The options for building the experiment. See [TWPASpectroscopyExperimentOptions] and [BaseExperimentOptions] for accepted options. Overwrites the options from [BaseExperimentOptions]. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
experiment |
Experiment
|
The generated LabOne Q experiment instance to be compiled and executed. |
Example
options = {
"count": 10,
"spectroscopy_reset_delay": 3e-6
}
options = TWPASpectroscopyExperimentOptions(**options)
twpa = TWPA("twpa0")
qpu = QPU(
qubits=[twpa],
quantum_operations=TWPAOperations(),
)
create_experiment(
qpu=qpu,
parametric_amplifier=twpa,
frequencies=np.linspace(7.1e9, 7.6e9, 501),
options=options,
)
experiment_workflow(session, qpu, parametric_amplifier, *, frequencies, temporary_parameters=None, options=None)
¶
The TWPA Spectroscopy Workflow.
The workflow consists of the following steps:
Removed in version 26.7.0.
The parametric_amplifier argument of type TWPA has been removed.
Please pass parametric_amplifier of type str instead, i.e., the quantum
element UID instead of the quantum element instance.
Changed in version 26.4.0.
All arguments apart from session, qpu, and qubits are now keyword
arguments.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
Session
|
The connected session to use for running the experiment. |
required |
qpu
|
QPU
|
The qpu consisting of the original TWPA and quantum operations. |
required |
parametric_amplifier
|
str
|
The parametric amplifier to run the experiments on, passed by UID. |
required |
frequencies
|
ArrayLike
|
The readout frequencies to sweep over for the measure pulse (or CW) sent to the TWPA. Must be a list of numbers or an array. |
required |
temporary_parameters
|
dict[str, dict | TWPAParameters] | None
|
The temporary parameters to update the TWPA with. |
None
|
options
|
TuneUpWorkflowOptions | None
|
The options for building the workflow. In addition to options from [WorkflowOptions] |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
result |
None
|
The result of the workflow. |
Example
options = experiment_workflow.options()
options.spectroscopy_reset_delay(3e-6)
twpa = TWPA("twpa0")
qpu = QPU(
pas=[twpa],
quantum_operations=TWPAOperations(),
)
result = experiment_workflow(
session=session,
qpu=qpu,
parametric_amplifier="twpa0",
frequencies=np.linspace(7.1e9, 7.6e9, 501),
).run()