quantify_scheduler.operations.pulse_factories

A module containing factory functions for pulses on the quantum-device layer.

These factories are used to take a parametrized representation of on a operation and use that to create an instance of the operation itself.

Module Contents

Functions

rxy_drag_pulse(...)

Generate a DRAGPulse that achieves the right

composite_square_pulse(...)

This is an example composite pulse to implement a CZ gate. It applies the

rxy_drag_pulse(amp180, motzoi, theta, phi, port, duration, clock) quantify_scheduler.operations.pulse_library.DRAGPulse[source]

Generate a DRAGPulse that achieves the right rotation angle theta based on a calibrated pi-pulse amplitude and motzoi parameter based on linear interpolation of the pulse amplitudes.

composite_square_pulse(square_amp: float, square_duration: float, square_port: str, square_clock: str, virt_z_parent_qubit_phase: float, virt_z_parent_qubit_clock: str, virt_z_child_qubit_phase: float, virt_z_child_qubit_clock: str, t0: float = 0) quantify_scheduler.operations.pulse_library.SquarePulse[source]

This is an example composite pulse to implement a CZ gate. It applies the square pulse and then corrects for the phase shifts on both the qubits.

Parameters
  • square_amp – Amplitude of the square envelope.

  • square_duration – The square pulse duration in seconds.

  • square_port – Port of the pulse, must be capable of playing a complex waveform.

  • square_clock – Clock used to modulate the pulse.

  • virt_z_parent_qubit_phase – The phase shift in degrees applied to the parent qubit.

  • virt_z_parent_qubit_clock – The clock of which to shift the phase applied to the parent qubit.

  • virt_z_child_qubit_phase – The phase shift in degrees applied to the child qubit.

  • virt_z_child_qubit_clock – The clock of which to shift the phase applied to the child qubit.

  • t0 – Time in seconds when to start the pulses relative to the start time of the Operation in the Schedule.