Skip to main content

ParityOS Tket

ParityOS extension adding an interface to tket.

Installation

It is recommended to install this package in a separate Python virtual environment. For example:

# To create a standard Python virtual environment:
python -m venv my_new_venv && source my_new_venv/bin/activate
# Alternatively, to create a Anaconda/Miniconda environment:
conda create --name my_new_conda_env python=<version> && conda activate my_new_conda_env
# or a pyenv environment
pyenv virtualenv <version> my_new_venv && pyenv activate my_new_venv
# or a uv managed environment
uv venv -p <version>

where <version> is a python version and one of [3.11, 3.12, 3.13].

After activating the virtual environment, install via your favorite package manager, e.g.:

# using pip
pip install parityos-tket
# using uv
uv pip install parityos-tket

Exporter

parityos-tket offers an exporter of ParityOS to tket quantum circuits.

from parityos.bits import get_q
from parityos.operators.circuit import Circuit
from parityos.operators.controlled_operator import CNOT
from parityos.operators.elementary_operator import H, Z
from parityos.operators.rotation_operator import RX
from parityos_tket.exporter import export_parityos_to_pytket

# Create circuit qubits.
qubits = [get_q(name) for name in ("a", "b", "c")]

# Create the following circuit as sequence of gates, followed by a measurement of all qubits.
#     ┌───────┐┌───┐┌───┐   ┌─┐
# qa: ┤ Rx(2) ├┤ H ├┤ Z ├───┤M├
#     └───────┘├───┤└┬─┬┘   └╥┘
# qb: ─────────┤ X ├─┤M├─────╫─
#       ┌───┐  └─┬─┘ └╥┘ ┌─┐ ║
# qc: ──┤ H ├────■────╫──┤M├─╫─
#       └───┘         ║  └╥┘ ║
# c: 3/═══════════════╩═══╩══╩═
#                     1   2  0
circuit = Circuit(
    [
        RX(qubits[0], 2),
        H(qubits[0]),
        H(qubits[2]),
        CNOT(qubits[2], qubits[1]),
        Z(qubits[0]),
    ]
).measure_all()

# Export to tket.
tket_result = export_parityos_to_pytket(circuit)

# print converted circuit as sequence of commands
for cmd in tket_result.circuit.get_commands():
    print(cmd)
# Rx(2) q[0];
# H q[2];
# H q[0];
# CX q[2], q[1];
# Measure q[1] --> c[1];
# Measure q[2] --> c[2];
# Z q[0];
# Measure q[0] --> c[0];

print(tket_result.qubit_map)  # Maps ParityOS qubits to tket Qubit integer labels
# {Qubit(id='a'): 0, Qubit(id='b'): 1, Qubit(id='c'): 2}

print(tket_result.cbit_map)  # Maps ParityOS cbits to tket Clbit integer labels
# {Cbit(id=0): 0, Cbit(id=1): 1, Cbit(id=2): 2}

License

This software package is made available under the 3-Clause BSD License. See License.txt for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parityos_tket-0.2.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

parityos_tket-0.2.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file parityos_tket-0.2.0.tar.gz.

File metadata

  • Download URL: parityos_tket-0.2.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for parityos_tket-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9d9b46c9d55c1704670d4535870f1d1d7ad4523560ba4abba1111964ff80b958
MD5 a198980a3048dfa732137fade73a53a3
BLAKE2b-256 96730632ba9c428d2f31ebd37e9e3d9e39604311814ba9741edac0808550ba25

See more details on using hashes here.

File details

Details for the file parityos_tket-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: parityos_tket-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for parityos_tket-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c96bf3690e20201d2b40ba757256f831b9a026dddc81c81115caef4af3dd113b
MD5 6099637b5d4cea353c55d34d1cea11d7
BLAKE2b-256 f792c24bdab22bf0b70bfc0ad6dd059a2085ce8dd3c75571d253a49c4969bfa3

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page