UGate#

class iqm.pulse.gates.u.UGate(parent, name, locus, calibration_data, builder)#

Bases: CompositeGate

SU(2) gate implemented using PRX.

Assumes the chosen PRX implementation uses resonant driving, and that the virtual RZ technique can be used.

Module: iqm.pulse.gates.u

Attributes

customizable_gates

These member operations can be calibrated separately from their common calibration by adding OCalibrationData nodes for them under the OILCalibrationData node of the composite gate.

registered_gates

Names of the member operations used by the composite gate.

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:
registered_gates: tuple[str, ...] = ('prx',)#

Names of the member operations used by the composite gate. There must be corresponding keys in builder.op_table.

_call(theta, phi=0.0, lam=0.0)#

Convert pulses into timebox, via Euler decomposition.

\[U(\theta, \phi, \lambda) = R_Z(\phi) \cdot R_Y(\theta) \cdot R_Z(\lam)\]
Parameters:
Return type:

TimeBox

customizable_gates: tuple[str, ...] | None = ('prx',)#

These member operations can be calibrated separately from their common calibration by adding OCalibrationData nodes for them under the OILCalibrationData node of the composite gate. Must be a subset of registered_gates. By default all member operations are customizable.