Skip to content

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 use_probe_from_ppc option is set to True, the acquisition type is set to AcquisitionType.SPECTROSCOPY_PSD. Otherwise, the acquisition type is set to AcquisitionType.SPECTROSCOPY.

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()