This library provides Pulse users with convenient methods to build Pulse waveforms.

Arbitrary waveforms can be described with Waveform s.

The discrete module will generate Waveform s for common waveform envelopes.

The parametric pulses, Gaussian, GaussianSquare, Drag and Constant will generate parameterized descriptions of those pulses, which can greatly reduce the size of the job sent to the backend.


Module for builtin discrete pulses.

Waveform(samples[, name, epsilon])

A pulse specified completely by complex-valued samples; each sample is played for the duration of the backend cycle-time, dt.

Constant(duration, amp[, name])

A simple constant pulse, with an amplitude value and a duration:

Drag(duration, amp, sigma, beta[, name])

The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component.

Gaussian(duration, amp, sigma[, name])

A truncated pulse envelope shaped according to the Gaussian function whose mean is centered at the center of the pulse (duration / 2):

GaussianSquare(duration, amp, sigma, width)

A square pulse with a Gaussian shaped risefall on either side: