PRX_GateImplementation#

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

Bases: GateImplementation

ABC for different implementations of the PRX gate.

Module: iqm.pulse.gates.prx

Attributes

Methods

clifford

One-qubit XY Clifford gates.

get_locus_mapping_name

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

rx

X rotation gate.

ry

Y rotation gate.

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

rx(angle)#

X rotation gate.

Parameters:

angle (float) – rotation angle (in radians)

Returns:

boxed instruction schedule implementing the x rotation gate

Return type:

TimeBox

ry(angle)#

Y rotation gate.

Parameters:

angle (float) – rotation angle (in radians)

Returns:

boxed instruction schedule implementing the y rotation gate

Return type:

TimeBox

clifford(xy_gate)#

One-qubit XY Clifford gates.

Parameters:

xy_gate (XYGate) – Clifford gate

Returns:

boxed instruction schedule implementing the requested Clifford gate

Return type:

TimeBox

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