Pulse

class Pulse(start, end, frequency, complex_envelope, driving_field=None)

Represents a single pulse.

The class defines a finite-duration pulse characterized by a constant frequency and a specified complex envelope. It can be attached to a driving field to specify its time-dependent behavior.

Note

Pulse is a low-level object representing a pulse or a pulse fragment (e.g. rising edge of a smooth pulse). To add pulses to driving fields, use the appropriate add_..._pulse() methods of the corresponding DrivingField instances.

Initialize a pulse.

Parameters:
  • start (float) – Trigger (start) time of the pulse (in \(\mu\text{s}\)).

  • end (float) – End time of the pulse (in \(\mu\text{s}\)).

  • frequency (float) – Frequency of the pulse (in \(\text{MHz}\)).

  • complex_envelope (complex | Callable) – Complex envelope of the pulse. It can be a complex number or a callable returning a complex-valued function (in \(\text{T}\)).

  • driving_field (DrivingField | None) – Driving field which the pulse is attached to.

Attributes

complex_envelope

Complex envelope of the pulse.

driving_field

Driving field which the pulse is attached to.

end

End time of the pulse.

frequency

Frequency of the pulse.

is_constant_envelope

Returns whether the pulse has a constant envelope or not.

signal

Returns the pulse's signal as a qiskit_dynamics.Signal instance.

start

Trigger (start) time of the pulse.