Skip to content

Latest commit

 

History

History
52 lines (29 loc) · 2.77 KB

package.md

File metadata and controls

52 lines (29 loc) · 2.77 KB

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

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.

Documentation and Examples

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.

Support and Discussion

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.

Citation

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 .