pytket-extensions

_images/CQCLogo.png

These extensions enable pytket to interface with different hardware platforms and classical simulators. One can also access additional quantum devices and simulators via the cloud through the extensions for Azure and Braket . In pytket a Backend represents a connection to a QPU (Quantum Processing Unit) or simulator for processing quantum circuits. The types of Backend available in pytket are the following.

Types of Backend

  • QPUs - These are real quantum computers that return shots based results. E.g the QuantinuumBackend .

  • Cloud Access - Cloud backends allow pytket to interface with cloud platforms to access additional QPUs and simulators. E.g BraketBackend .

  • Emulators - These classically simulate a circuit and produce shots based results. Sometimes emulators use a noise model and have connectivity constraints to emulate real QPUs. E.g. IBMQEmulatorBackend .

  • Statevector Simulators - Calculates the pure quantum state prepared by a circuit returning a vector/ndarray. Examples of statevector simulators are the ForestStateBackend and the AerStateBackend .

  • Unitary Simulators - Unitary simulators calculate the unitary operator that is applied by a circuit. A unitary matrix/ndarray is returned AerUnitaryBackend is an example of such a simulator.

  • Density Matrix Simulators - These simulators compute the density matrix prepared by a circuit. The result can be a statistical mixture of states in contrast to statevector simulation. E.g. CirqDensityMatrixSampleBackend .

  • Other specialised simulators - There are extensions for simulating specific types of circuit. For instance the SimplexBackend is designed to simulate Clifford circuits.

A full list of available pytket backends is shown below.

QPUs

IBMQBackend A backend for running circuits on remote IBMQ devices.

IonQBackend Interface to an IonQ device.

ForestBackend Interface to a Rigetti device.

AQTBackend Interface to an AQT device or simulator.

QuantinuumBackend Interface to a Quantinuum device. There are currently two Quantinuum devices offered (H1-1 and H1-2).

Cloud access

AzureBackend Backend for running circuits remotely using Azure Quantum devices and simulators.

BraketBackend Interface to Amazon Braket service.

Emulators

IBMQEmulatorBackend A backend which uses the AerBackend to emulate the behavior of IBMQBackend.

QuantinuumBackend The QuantinuumBackend has two available emulators namely H1-1E and H1-2E. These are device specific emulators for the H1-1 and H1-2 devices. These emualtors run remotely on a server.

Statevector simulators

CirqStateSampleBackend Backend for Cirq statevector simulator sampling.

CirqStateSimBackend Backend for Cirq statevector simulator state return.

AerStateBackend Backend for running simulations on the Qiskit Aer Statevector simulator.

ForestStateBackend State-based interface to a Rigetti device.

ProjectQBackend Backend for running statevector simulations on the ProjectQ simulator.

Unitary simulators

AerUnitaryBackend Backend for running simulations on the Qiskit Aer Unitary simulator.

Density matrix simulator

CirqDensityMatrixSampleBackend Backend for Cirq density matrix simulator sampling.

CirqDensityMatrixSimBackend Backend for Cirq density matrix simulator density_matrix return.

Clifford simulator

CirqCliffordSampleBackend Backend for Cirq Clifford simulator sampling.

CirqCliffordSimBackend Backend for Cirq Clifford simulator state return.

SimplexBackend Backend for simulating Clifford circuits using pysimplex.

StimBackend Backend for simulating Clifford circuits using Stim.

Other

AerBackend Backend for running simulations on the Qiskit Aer QASM simulator. This simulation runs locally on the users computer.

QulacsBackend Backend for running simulations on the Qulacs simulator.

QsharpSimulatorBackend Backend for simulating a circuit using the QDK.

QsharpToffoliSimulatorBackend Backend for simulating a Toffoli circuit using the QDK.

QsharpEstimatorBackend Backend for estimating resources of a circuit using the QDK.

More documentation: