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,
)
experiment_workflow(session, qpu, parametric_amplifier, pump_frequency, pump_power, temporary_parameters=None, options=None)
¶
The Workflow for scanning the pump parameters of a TWPA.
The workflow consists of the following steps:
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
|
The parametric amplifier to run the experiments on. |
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 |
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()