pytket-qirpass
This module provides a method to optimize QIR using pytket, and a method to convert QIR to pytket for simple circuits.
Installation
Python 3.10, 3.11, 3.12 or 3.13 is required.
To install from PyPI:
pip install pytket-qirpass
Usage
Optimizing QIR with apply_qirpass
The function apply_qirpass takes as input
- some QIR bitcode
- a pytket compilation pass
- a target gateset
and outputs some new QIR bitcode, where the pass has been applied to the basic blocks in the input program, followed by a rebase to the target gateset.
For example:
from pytket_qirpass import apply_qirpass
from pytket.circuit import OpType
from pytket.passes import FullPeepholeOptimise
qir_out = apply_qirpass(
qir_bitcode=qir_in,
comp_pass=FullPeepholeOptimise(allow_swaps=False),
target_1q_gates={OpType.Rx, OpType.Rz},
target_2q_gates={OpType.ZZPhase},
)
Both the input and the output are Python bytes objects.
Provided the pass preserves the circuit semantics, apply_qirpass preserves
the QIR semantics.
Converting QIR to pytket with qir_to_pytket
The function qir_to_pytket takes as input some QIR bitcode and outputs a
pytket circuit.
For example:
from pytket_qirpass import qir_to_pytket
circ = qir_to_pytket(qir_bitcode=qir_in)
The program represented by the bitcode must consist of a single basic block
comprised of quantum operations, i.e. __quantum__qis__* instructions; any
__quantum__rt__* instructions are accepted but ignored.
Metadata
Release files for pytket-qirpass 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytket_qirpass-0.10.0.tar.gz | 282.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytket_qirpass-0.10.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 292.9 kB
Release files / pytket_qirpass-0.10.0.tar.gz
| Download URL | pytket_qirpass-0.10.0.tar.gz |
|---|---|
| Size | 282.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8d66164d628a84a6346de2ae1b2c67aea877eabe8f4fa0237b55797b9580e664
|
|
BLAKE2b-256 checksum How to use checksums |
a73496c5306b5f709f9968b21299747522865154ad24b927b8582844be703b3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.3
|
Release files / pytket_qirpass-0.10.0-py2.py3-none-any.whl
| Download URL | pytket_qirpass-0.10.0-py2.py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
607a14d889d38c3941d130e7a669096c5760af7fc666888480cabe47dc4b16d0
|
|
BLAKE2b-256 checksum How to use checksums |
8c4f35fd467a557627622ebe33fa2639684328add6a5ce7c38cd283e9ee1aa6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.3
|