CouplerFluxPulseQubitACStarkPulseGate#

class iqm.pulse.gates.cz.CouplerFluxPulseQubitACStarkPulseGate(parent, name, locus, calibration_data, builder)#

Bases: GateImplementation

Base class for CZ gates with coupler flux pulse and a qubit AC Stark pulse.

Analogous to the fast qubit flux pulse, the AC Stark pulse can tune the frequency of the qubit. Together with the coupler flux pulse, this can implement a fast qubit pulsed CZ gate.

Module: iqm.pulse.gates.cz

Attributes

excluded_parameters

Parameters names to be excluded from self.parameters.

root_parameters

coupler_wave

Flux pulse Waveform to be played in the coupler flux AWG.

qubit_drive_wave

Qubit drive pulse waveform to be played in the qubit drive AWG.

Methods

duration_in_seconds

Duration of the Schedule of the gate implementation (in seconds).

get_locus_mapping_name

Get the name of the locus mapping stored in ScheduleBuilder.ChipTopology for this implementation.

Parameters:
coupler_wave: type[Waveform] | None#

Flux pulse Waveform to be played in the coupler flux AWG.

qubit_drive_wave: type[Waveform] | None#

Qubit drive pulse waveform to be played in the qubit drive AWG.

excluded_parameters: list[str] = []#

Parameters names to be excluded from self.parameters. Inheriting classes may override this if certain parameters are not wanted in that class (also parameters defined by the waveforms can be excluded).

classmethod _ac_stark_pulse(*, phase, amplitude, phase_increment, **kwargs)#

Returns an AC Stark pulse which consists of a modulated I and modulated Q waveform, where the Q quadrature has an additional phase of -pi/2.

Parameters:
Return type:

IQPulse

_call()#

The GateImplementation-specific logic for implementing a quantum operation.

Inheriting classes may override this method if the default __call__() caching (based on the args & kwargs in the signature) is sufficient. Any additional caching may also be implemented inside this function if needed.

Return type:

TimeBox

duration_in_seconds()#

Duration of the Schedule of the gate implementation (in seconds).

Can be left unimplemented if the duration e.g. depends on the gate arguments. Subclasses can reimplement this method in case it makes sense in their context.

Return type:

float

classmethod get_locus_mapping_name(operation_name, implementation_name)#

Get the name of the locus mapping stored in ScheduleBuilder.ChipTopology for this implementation.

By default, it is "<operation_name>.<implementation_name>". Inheriting classes may override this for different behaviour.

Parameters:
  • operation_name (str) – name of the quantum operation.

  • implementation_name (str) – name of the implementation

Returns:

name of the locus mapping

Return type:

str