trace_schedules#

Contains various examples of trace schedules.

Module Contents#

Functions#

trace_schedule(...)

Generate a schedule to perform raw trace acquisition.

trace_schedule_circuit_layer(...)

Generate a simple schedule at circuit layer to perform raw trace acquisition.

two_tone_trace_schedule(...)

Generate a schedule for performing a two-tone raw trace acquisition.

long_time_trace(...)

The function generates a Schedule for a time trace experiment

long_time_trace_with_qubit(...)

Generate a simple schedule similar to a circuit layer to perform long trace acquisition.

trace_schedule(pulse_amp: float, pulse_duration: float, pulse_delay: float, frequency: float, acquisition_delay: float, integration_time: float, port: str, clock: str, init_duration: int = 0.0002, repetitions: int = 1) quantify_scheduler.schedules.schedule.Schedule[source]#

Generate a schedule to perform raw trace acquisition.

Parameters:
  • pulse_amp – The amplitude of the pulse in Volt.

  • pulse_duration – The duration of the pulse in seconds.

  • pulse_delay – The pulse delay in seconds.

  • frequency – The frequency of the pulse and of the data acquisition in Hertz.

  • acquisition_delay – The start of the data acquisition with respect to the start of the pulse in seconds.

  • integration_time – The time in seconds to integrate.

  • port – The location on the device where the pulse should be applied.

  • clock – The reference clock used to track the pulse frequency.

  • init_duration – The relaxation time or dead time.

  • repetitions – The amount of times the Schedule will be repeated.

Returns:

The Raw Trace acquisition Schedule.

trace_schedule_circuit_layer(qubit_name: str, repetitions: int = 1) quantify_scheduler.schedules.schedule.Schedule[source]#

Generate a simple schedule at circuit layer to perform raw trace acquisition.

Parameters:
  • qubit_name – Name of a device element.

  • repetitions – The amount of times the Schedule will be repeated.

Returns:

The Raw Trace acquisition Schedule.

two_tone_trace_schedule(qubit_pulse_amp: float, qubit_pulse_duration: float, qubit_pulse_frequency: float, qubit_pulse_port: str, qubit_pulse_clock: str, ro_pulse_amp: float, ro_pulse_duration: float, ro_pulse_delay: float, ro_pulse_port: str, ro_pulse_clock: str, ro_pulse_frequency: float, ro_acquisition_delay: float, ro_integration_time: float, init_duration: float = 0.0002, repetitions: int = 1) quantify_scheduler.schedules.schedule.Schedule[source]#

Generate a schedule for performing a two-tone raw trace acquisition.

Parameters:
  • qubit_pulse_amp – The amplitude of the pulse in Volt.

  • qubit_pulse_duration – The duration of the pulse in seconds.

  • qubit_pulse_frequency – The pulse frequency in Hertz.

  • qubit_pulse_port – The location on the device where the qubit pulse should be applied.

  • qubit_pulse_clock – The reference clock used to track the pulse frequency.

  • ro_pulse_amp – The amplitude of the readout pulse in Volt.

  • ro_pulse_duration – The duration of the readout pulse in seconds.

  • ro_pulse_delay – The time between the end of the pulse and the start of the readout pulse.

  • ro_pulse_port – The location on the device where the readout pulse should be applied.

  • ro_pulse_clock – The reference clock used to track the readout pulse frequency.

  • ro_pulse_frequency – The readout pulse frequency in Hertz.

  • ro_acquisition_delay – The start of the data acquisition with respect to the start of the pulse in seconds.

  • ro_integration_time – The integration time of the data acquisition in seconds.

  • init_duration – The relaxation time or dead time.

  • repetitions – The amount of times the Schedule will be repeated.

Returns:

The Two-tone Trace acquisition Schedule.

long_time_trace(pulse_amp: complex, frequency: float, acquisition_delay: float, integration_time: float, port: str, clock: str, num_points: int, pulse_delay: float = 0, acq_index: int = 0, repetitions: int = 1) quantify_scheduler.schedules.schedule.Schedule[source]#

The function generates a Schedule for a time trace experiment where single side band integration (i.e. SSBIntegrationComplex) is applied repeatedly. Compared to the Trace schedule which returns one point each ns for 16.4 μs (qblox instrument), the long time trace allows the user to customize the integration time and the number of data points in the trace (a minimum of 300 ns (qblox instrument) for the integration time is needed in between two points). The resulting Schedule can be used for quantum experiments involving dynamic processes (charge transition) and time-dependent measurements (Elzerman Readout).

Parameters:
  • pulse_amp – The amplitude of the pulse in Volt.

  • frequency – The frequency of the pulse and of the data acquisition in Hertz.

  • acquisition_delay – The start of the data acquisition with respect to the start of the pulse in seconds.

  • integration_time – Integration time per point in the trace. A minimum of 300ns is required du to the spacing of acquisition protocols in QbloxInstrument.

  • port – The location on the device where the pulse should be applied.

  • clock – The reference clock used to track the pulse frequency.

  • num_points – Number of points the output long_trace contains. The total time of the long_trace is then nb_pts*integration_time

  • pulse_delay – The pulse delay in seconds.

  • acq_index – The data register in which the acquisition is stored, by default 0. Describes the “when” information of the measurement, used to label or tag individual measurements in a large circuit. Typically corresponds to the setpoints of a schedule (e.g., tau in a T1 experiment).

  • repetitions – The amount of times the Schedule will be repeated.

Returns:

The custom long Trace acquisition Schedule.

long_time_trace_with_qubit(qubit: quantify_scheduler.device_under_test.device_element.DeviceElement, num_points: int, acq_index: int = 0, repetitions: int = 1) quantify_scheduler.schedules.schedule.Schedule[source]#

Generate a simple schedule similar to a circuit layer to perform long trace acquisition. Wrapper function for :func:~quantify_scheduler.schedules.long_time_trace to use with a quantum device element..

Parameters:
  • qubit – Device Element.

  • num_points – Number of points the output custom_long_trace contains. The total time of the custom_long_trace is then nb_pts*integration_time

  • acq_index – The data register in which the acquisition is stored, by default 0. Describes the “when” information of the measurement, used to label or tag individual measurements in a large circuit. Typically corresponds to the setpoints of a schedule (e.g., tau in a T1 experiment).

  • repetitions – The amount of times the Schedule will be repeated.

Returns:

The custom long Trace acquisition Schedule.