Skip to content

laboneq_applications.contrib.experiments.calibrate_cancellation

This module defines the cancellation tone calibration workflow.

In this experiment, we measure the amplitude and phase of the pump tone while sweeping the phase shift and attenuation of the cancellation tone.

The cancellation tone calibration experiment has the following pulse sequence:

TWPA --- [ measure ]

This experiment only supports 1 TWPA at the time.

create_experiment(qpu, parametric_amplifier, cancel_phase, cancel_attenuation, cancellation_on=False, options=None)

Creates a cancellation tone calibration 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
cancel_phase ArrayLike

The phase shift of the cancellation tone. Must be a list of numbers or an array.

required
cancel_attenuation ArrayLike

The attenuation of the cancellation tone. Must be a list of numbers or an array.

required
cancellation_on bool

Enable or disable the cancellation 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)
setup = DeviceSetup()
pa = TWPA("twpa0")
qpu = QPU(
    qubits=[pa],
    quantum_operations=TunableTransmonOperations(),
)
create_experiment(
    qpu=qpu,
    parametric_amplifier=pa,
    frequencies=np.linspace(7.1e9, 7.6e9, 501),
    options=options,
)

experiment_workflow(session, qpu, parametric_amplifier, cancel_phase, cancel_attenuation, temporary_parameters=None, options=None)

The cancellation tone calibration 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 pas and quantum operations.

required
parametric_amplifier TWPA

The parametric amplifier to run the experiments on.

required
cancel_phase ArrayLike

The phase shift of the cancellation tone. Must be a list of numbers or an array.

required
cancel_attenuation ArrayLike

The attenuation of the cancellation tone. 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 TuneUpWorkflowOptions | 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)
pa = TWPA("twpa0")
qpu = QPU(
    qubits=[pa],
    quantum_operations=TWPAOperations(),
)
temp_pas = qpu_copy_elements()
result = experiment_workflow(
    session=session,
    qpu=qpu,
    parametric_amplifier=pa,
    cancel_phase=[0.0, 0.1],
    cancel_attenuation=[0.1, 0.5],
    options=options,
).run()