Skip to content

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