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 Phase Diagram Experiment.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
qpu
|
QPU
|
The qpu consisting of the original pas and quantum operations. |
required |
parametric_amplifier
|
TWPAParameters
|
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:
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 |
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=pa,
pump_power=np.linspace(0, 10, 501),
probe_frequency=np.linspace(7.1e9, 7.6e9, 501),
options=options,
).run()