laboneq_applications.contrib.experiments.scan_pump_parameters
¶
This module defines the TWPA tune up workflow.
In this experiment, we sweep the pump frequency and power at a fixed probe frequency to characterize the parametric amplifier.
The TWPA tune up experiment has the following pulse sequence:
TWPA --- [ measure ]
This experiment only supports 1 TWPA at the time.
create_experiment(qpu, parametric_amplifier, pump_frequency, pump_power, pump_on=False, probe_on=False, options=None)
¶
Creates a TWPA tune up Experiment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
qpu
|
QPU
|
The qpu consisting of the original pas and quantum operations. |
required |
parametric_amplifier
|
TWPA
|
The parametric amplifier to run the experiments on. |
required |
pump_frequency
|
ArrayLike
|
The frequencies to sweep over for each amplifier. It must be a list of lists of numbers or arrays. |
required |
pump_power
|
ArrayLike
|
The powers to sweep over for each parametric amplifier. It must be a list of lists of numbers or arrays. |
required |
pump_on
|
bool
|
Whether to turn on the pump tone. |
False
|
probe_on
|
bool
|
Whether to turn on the probe tone. |
False
|
options
|
TWPATuneUpExperimentOptions | None
|
The options for building the experiment. See [TWPATuneUpExperimentOptions] 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 = TWPATuneUpExperimentOptions(**options)
twpa = TWPA("twpa0")
qpu = QPU(
pas=[twpa],
quantum_operations=TWPAOperations(),
)
create_experiment(
qpu=qpu,
parametric_amplifier=twpa,
pump_power=np.linspace(0, 10, 501),
pump_frequency=np.linspace(7.1e9, 7.6e9, 501),
options=options,
)
evaluate_experiment(analysis_results, parametric_amplifier, evaluation_parameters=None)
¶
Evaluates the scan pump parameters analysis workflow result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
analysis_results
|
WorkflowResult
|
The analysis workflow results. |
required |
parametric_amplifier
|
QuantumElement
|
The parametric amplifier to run the experiments on. |
required |
evaluation_parameters
|
dict[str, Any] | None
|
The evaluation parameters. |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, dict[str, bool]]
|
The evaluation flags. |
experiment_workflow(session, qpu, parametric_amplifier, *, pump_frequency, pump_power, evaluation_parameters=None, temporary_parameters=None, options=None)
¶
The Workflow for scanning the pump parameters of a TWPA.
The workflow consists of the following steps:
- create_experiment
- compile_experiment
- run_experiment
- analysis_workflow
- evaluate_experiment
- update_qpu
Changed in version 26.4.0.
The evaluation_parameters argument has been added, which is the dictionary of
parameters used for the newly added evaluation task. All arguments apart from
session, qpu, and qubits are now keyword arguments.
Deprecated in version 26.1.0.
The parametric_amplifier argument of type TWPA is deprecated.
Please pass parametric_amplifier of type str instead, i.e., the quantum
element UID instead of the quantum element instance.
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 parametric amplifiers and quantum operations. |
required |
parametric_amplifier
|
TWPA | str
|
The parametric amplifier to run the experiments on, passed by UID. |
required |
pump_frequency
|
ArrayLike
|
The pump frequencies to sweep over sent to the parametric amplifier. Must be a list of numbers or an array. |
required |
pump_power
|
ArrayLike
|
The pump powers to sweep over sent to the parametric amplifier. Must be a list of numbers or an array. |
required |
evaluation_parameters
|
dict[str, Any] | None
|
The dictionary of parameters used for the evaluation task. The default
evaluation parameters are defined in the |
None
|
temporary_parameters
|
dict[str, dict | TWPAParameters] | None
|
The temporary parameters to update the parametric amplifiers with. |
None
|
options
|
TWPATuneUpWorkflowOptions | None
|
The options for building the workflow. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
result |
None
|
The result of the workflow. |
Example
options = experiment_workflow.options()
options.create_experiment.count(10)
twpa = TWPA("twpa0")
qpu = QPU(
qubits=[twpa],
quantum_operations=TWPAOperations(),
)
result = experiment_workflow(
session=session,
qpu=qpu,
parametric_amplifier=twpa,
pump_power=np.linspace(0, 10, 501),
pump_frequency=np.linspace(7.1e9, 7.6e9, 501),
options=options,
).run()