Skip to content

laboneq_applications.contrib.experiments.twpa_spectroscopy

This module defines the TWPA spectroscopy experiment.

In this experiment, we sweep the frequency of a measure pulse to characterize the TWPA response.

The TWPA spectroscopy experiment has the following pulse sequence:

TWPA --- [ measure ]

This experiment only supports 1 TWPA at the time.

create_experiment(qpu, parametric_amplifier, frequencies, options=None)

Creates a TWPA Spectroscopy experiment.

Parameters:

Name Type Description Default
qpu QPU

The qpu consisting of the original TWPA and quantum operations.

required
parametric_amplifier TWPA

The parametric amplifier to run the experiments on.

required
frequencies ArrayLike

The readout frequencies to sweep over for the measure pulse (or CW) sent to the TWPA. Must be a list of numbers or an array.

required
options TWPASpectroscopyExperimentOptions | None

The options for building the experiment. See [TWPASpectroscopyExperimentOptions] 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 = TuneupExperimentOptions(**options)
setup = DeviceSetup()
qpu = QPU(
    qubits=[TunableTransmonQubit("q0"), TunableTransmonQubit("q1")],
    quantum_operations=TunableTransmonOperations(),
)
create_experiment(
    qpu=qpu,
    parametric_amplifier=twpa,
    frequencies=np.linspace(7.1e9, 7.6e9, 501),
    options=options,
)

experiment_workflow(session, qpu, parametric_amplifier, frequencies, temporary_parameters=None, options=None)

The TWPA Spectroscopy 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 TWPA and quantum operations.

required
parametric_amplifier TWPA

The parametric amplifier to run the experiments on.

required
frequencies ArrayLike

The readout frequencies to sweep over for the measure pulse (or CW) sent to the TWPA. Must be a list of numbers or an array.

required
temporary_parameters dict[str, dict | TWPAParameters] | None

The temporary parameters to update the TWPA with.

None
options TuneUpWorkflowOptions | None

The options for building the workflow. In addition to options from [WorkflowOptions]

None

Returns:

Name Type Description
result None

The result of the workflow.

Example
options = experiment_workflow.options()
options.spectroscopy_reset_delay(3e-6)
twpa = TWPA("twpa0")
qpu = QPU(
    pas=[twpa],
    quantum_operations=TWPAOperations(),
)
temp_qubits = qpu.copy_qubits()
result = experiment_workflow(
    session=session,
    qpu=qpu,
    parametric_amplifier=twpa,
    frequencies=np.linspace(7.1e9, 7.6e9, 501),
).run()