qat.devices

Predefined devices

The qat.devices module contains the topologies of various superconduction quantum processors. The following architectures are available:

qat.devices.GOOGLE_SYCAMORE

Topology of Google Sycamore

qat.devices.IBM_BURLINGTON

Topology of IBM Burlington

qat.devices.IBM_JOHANNESBURG

Topology of IBM Johannesburg

qat.devices.IBM_MELBOURNE

Topology of IBM Melbourne

qat.devices.IBM_RUESCHLIKON

Topology of IBM Rueschlikon

qat.devices.IBM_SINGAPORE

Topology of IBM Singapore

qat.devices.IBM_TOKYO

Topology of IBM Tokyo

qat.devices.IBM_YORKTOWN

Topology of IBM Yorktown

qat.devices.RIGETTI_AGAVE

Topology of Rigetti Agave

qat.devices.RIGETTI_ASPEN

Topology of Rigetti Aspen

qat.devices.ZUCHONGZHI

Topology of Zuchongzhi chip

Each architecture is describes via a HardwareSpecs object. For instance, to access the connectivity of Rigetti’s Aspen chip:

from qat.devices import RIGETTI_ASPEN

print("Type:", type(RIGETTI_ASPEN).__name__)
print(RIGETTI_ASPEN)
Type: HardwareSpecs

  4 -- 3         12 -- 11
 /      \       /        \
5        2 -- 13          10
|        |     |          |
6        1 -- 14          9
 \      /       \        /
  7 -- 0         15 -- 8

Device generators

Additionally, the module also provides generators for regular topologies:

qat.devices.AllToAll

A device with all-to-all connectivity

qat.devices.GridDevice

A device with a grid connectivity

qat.devices.LineDevice

A device with a Linear Nearest Neighbor (LNN) connectivity

qat.devices.SquareGridDevice

A device with a square grid connectivity