laboneq_applications.contrib.experiments.measure_gain_curve
¶
This module defines the gain curve measurement workflow.
In this experiment, we measure the probe tone spectrum as a function of the pump power and probe frequency.
The gain curve experiment has the following pulse sequence:
TWPA --- [ measure ]
This experiment only supports 1 TWPA at the time.
create_experiment(qpu, parametric_amplifier, probe_frequency, pump_power, pump_on=False, options=None)
¶
Creates a Gain Curve 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 |
probe_frequency
|
ArrayLike
|
The pump frequencies to sweep over sent to the parametric amplifiers. Must be a list of numbers or an array. |
required |
pump_power
|
ArrayLike
|
The pump powers to sweep over sent to the parametric amplifiers. Must be a list of numbers or an array. |
required |
pump_on
|
bool
|
The flag to turn on the pump. |
False
|
options
|
TWPASpectroscopyExperimentOptions | None
|
The options for building the experiment.
See [TWPASpectroscopyExperimentOptions] and [BaseExperimentOptions] for
accepted options.
Overwrites the options from [TWPASpectroscopyExperimentOptions].
If the |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
experiment |
Experiment
|
The generated LabOne Q experiment instance to be compiled and executed. |
Example
options = TWPASpectroscopyExperimentOptions()
setup = DeviceSetup()
pa = TWPA("twpa0")
qpu = QPU(
qubits=[pa],
quantum_operations=paOperations(),
)
create_experiment(
qpu=qpu,
parametric_amplifier=pa,
pump_power=np.linspace(0, 10, 501),
probe_frequency=np.linspace(7.1e9, 7.6e9, 501),
options=options,
)
experiment_workflow(session, qpu, parametric_amplifier, *, probe_frequency, pump_power, selected_indexes=None, temporary_parameters=None, options=None)
¶
The gain curve measurement 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 parametric amplifiers and quantum operations. |
required |
parametric_amplifier
|
str
|
The parametric amplifier to run the experiments on, passed by UID. |
required |
probe_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 pa. Must be a list of numbers or an array. |
required |
selected_indexes
|
list | None
|
Select the indexes of the pump_power for plotting. |
None
|
temporary_parameters
|
dict[str, dict | TWPAParameters] | None
|
The temporary parameters to update the parametric amplifiers with. |
None
|
options
|
TuneUpWorkflowOptions | None
|
The options for building the workflow. In addition to options from [WorkflowOptions], the following custom options are supported: - create_experiment: The options for creating the experiment. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
result |
None
|
The result of the workflow. |
Example
options = experiment_workflow.options()
options.create_experiment.count(10)
pa = TWPA("twpa0")
qpu = QPU(
qubits=[pa],
quantum_operations=paOperations(),
)
result = experiment_workflow(
session=session,
qpu=qpu,
parametric_amplifier="twpa0",
pump_power=np.linspace(0, 10, 501),
probe_frequency=np.linspace(7.1e9, 7.6e9, 501),
options=options,
).run()