ABC_Constant_smooth#

class iqm.pulse.gates.prx.ABC_Constant_smooth(parent, name, locus, calibration_data, builder)#

Bases: PRX_GateImplementation

ABC class for creating gates with an arbitrarily long Constant pulses with smooth rise and fall. This pulse creates a :’Segment’ consisting of three instructions : [rise_waveform, main_waveform, fall_waveform]. This class is created so that one can use middle waveform as a constant, thus enabling to use arbitrarily long pulses, not limited by the awg memory.

Attributes::

main_waveform: The middle part of the pulse, which should (but doesn’t have to) be a Constant waveform rise_waveform: rise part of the pulse fall_waveform: fall part of the pulse channel: Name of the drive channel on which the AC Stark pulse is played.

Constructs an instance of the AC Stark pulse for the given locus.

Module: iqm.pulse.gates.prx

Attributes

main_waveform

rise_waveform

fall_waveform

Methods

Parameters:
_call(angle, phase=0.0)#

Phased x rotation gate.

Parameters:
  • angle (float) – rotation angle (in radians)

  • phase (float) – phase angle (in radians)

Returns:

boxed instruction schedule implementing the phased x rotation gate

Return type:

TimeBox

classmethod _main_pulse(*, n_samples, amplitude_i, amplitude_q, phase=0.0, **kwargs)#

Returns the main part pulse. Waveform is the same for both I and Q channels

Parameters:
Return type:

IQPulse

classmethod _rise_pulse(*, n_samples, amplitude_i, amplitude_q, **kwargs)#

Returns a rise pulse.

Parameters:
  • n_samples (int) –

  • amplitude_i (float) –

  • amplitude_q (float) –

Return type:

IQPulse

classmethod _fall_pulse(*, n_samples, amplitude_i, amplitude_q, **kwargs)#

Returns a fall pulse

Parameters:
  • n_samples (int) –

  • amplitude_i (float) –

  • amplitude_q (float) –

Return type:

IQPulse