Pytket is a python module for interfacing with TKET, an optimising compiler for quantum circuits developed by Quantinuum. In addition to pytket there are several extension modules for accessing a range of quantum hardware and classical simulators. The extension modules also provide integration with several widely used quantum software tools.
The source code for the TKET compiler can be found in this github repository.
Installation is supported for Linux, MacOS and Windows. Installation requires python 3.9, 3.10 or 3.11.
To install run the pip command:
pip install pytket
See Installation troubleshooting for help with installation.
To install the pytket extension modules add a hyphen and the extension name to the command:
pip install pytket-quantinuum
For a list of pytket extensions see this page: https://tket.quantinuum.com/api-docs/extensions.
Warning. There is a known issue with installing pytket in a conda environment on MacOS: you may not be able to install versions more recent then 1.11.0. The only known remedy is to use an official Python distribution instead.
API reference: https://cqcl.github.io/tket/pytket/api/
To get started using pytket see the user manual.
For worked examples using TKET see our notebook examples.
For bugs and feature requests we recommend creating an issue on the github repository.
User support: [email protected]
For discussion, join the public slack channel here.
Mailing list: join here.
If you wish to cite TKET in any academic publications, we generally recommend citing our software overview paper for most cases.
If your work is on the topic of specific compilation tasks, it may be more appropriate to cite one of our other papers:
- "On the qubit routing problem" for qubit placement (a.k.a. allocation) and routing (a.k.a. swap network insertion, connectivity solving). https://arxiv.org/abs/1902.08091 .
- "Phase Gadget Synthesis for Shallow Circuits" for representing exponentiated Pauli operators in the ZX calculus and their circuit decompositions. https://arxiv.org/abs/1906.01734 .
- "A Generic Compilation Strategy for the Unitary Coupled Cluster Ansatz" for sequencing of terms in Trotterisation and Pauli diagonalisation. https://arxiv.org/abs/2007.10515 .