Extension packages¶
The pytket extensions are separate python modules which allow pytket to interface with backends from a range of providers including quantum devices from Quantinuum and IBM.
In pytket a Backend represents a connection to a QPU (Quantum Processing Unit) or simulator for processing quantum circuits. One can also access additional quantum devices and simulators via the cloud through the extensions for Braket.
Additionally, the extensions allow pytket to cross-compile circuits from different quantum computing libraries such qiskit. This enables pytket’s compilation features to be used in conjunction with other software tools.
The additional modules can be installed adding the extension name to the installation command for pytket. For example pytket-quantinuum can be installed by running
pip install pytket-quantinuum
Warning
The following extensions are now unmaintained:
pytket-cirq, pytket-pennylane, pytket-pyquil, pytket-pysimplex ,pytket-pyzx, pytket-stim, pytket-quest
The source code will remain on the Quantinuum github organisation in an archived state. The packages will remain on pypi. There will be no active maintenance of these projects.
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. An Example of a statevector simulator is the
AerStateBackend.Unitary Simulators - Unitary simulators calculate the unitary operator that is applied by a circuit. A unitary matrix/ndarray is returned
AerUnitaryBackendis 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.
AerDensityMatrixBackend.
A full list of available pytket backends is shown below.
QPUs¶
QuantinuumBackend
- Interface to a remote Quantinuum device or simulator. There are currently two Quantinuum devices offered (H1-1 and H2-1).
IBMQBackend
- A backend for running circuits on remote IBMQ devices.
IQMBackend
- Interface to an IQM device or simulator.
Cloud Access¶
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 H2-1E. These are device specific emulators for the H1-1 and H2-1 devices. These emulators run remotely on a server.
Statevector Simulators¶
AerStateBackend - Backend for running simulations on the Qiskit Aer Statevector simulator.
Unitary Simulators¶
AerUnitaryBackend - Backend for running simulations on the Qiskit Aer unitary simulator.
Density Matrix Simulators¶
AerDensityMatrixBackend - Backend for density matrix simulation using qiskit Aer. Can take a NoiseModel as an optional argument.
QulacsBackend - This has a configurable density matrix simulation option.
Use QulacsBackend(result_type="density_matrix").
Other¶
AerBackend
- Backend for running simulations on the Qiskit Aer QASM simulator. This simulator is noiseless by default but can take a user defined NoiseModel.
QulacsBackend
- Backend for running simulations of variational quantum circuits on the Qulacs simulator.