Skip to content

Pulser

The Pulser backend features a basic integration with the pulse-level programming interface Pulser. This backend offers for now few simple operations which are translated into a valid, non time-dependent pulse sequence. In particular, one has access to:

  • analog rotations: AnalogRx and AnalogRy blocks
  • free evolution blocks (basically no pulse, just interaction): AnalogWait block
  • a block for creating entangled states: AnalogEntanglement
  • digital rotation Rx and Ry

Backend dataclass

Bases: Backend

The Pulser backend.

create_register(register)

Convert Qadence Register to Pulser Register.

Source code in qadence/backends/pulser/backend.py
def create_register(register: Register) -> PulserRegister:
    """Convert Qadence Register to Pulser Register."""
    coords = np.array(list(register.coords.values()))
    return PulserRegister.from_coordinates(coords)

Device

Bases: StrEnum

Supported types of devices for Pulser backend.

IDEALIZED = IdealDevice class-attribute instance-attribute

Idealized device, least realistic.

REALISTIC = RealisticDevice class-attribute instance-attribute

Device with realistic specs.