PRX_SinglePulse_GateImplementation#

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

Bases: SinglePulseGate, PrxGateImplementation

Base class for PRX gates implemented using a single IQ pulse.

This class implements phased x rotation gates on a specific qubit using an IQPulse instance, derived from the pulse calibration data provided at construction by the static method _single_iq_pulse(). The pulse is used to resonantly drive the qubit to effect the required rotation.

The pulse calibration data consists of the parameters of an \(x_\pi\) IQPulse only. It is assumed that

  • the transfer function from the AWG to the qubit is linear, i.e., other rotation angles can be obtained by linearly scaling the pulse amplitude, and

  • other phase angles can be obtained by adjusting the IQ modulation phase.

The generated pulses all have the same time duration, also for identity rotations. In the special case of the duration being zero, the gate implementation will apply a Block(0) instruction to the qubit’s drive channel.

Module: iqm.pulse.gates.prx

Attributes

id

Unique str identifier, needed for certain caching properties.

sub_implementations

Single-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.

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