Skip to main content

Thin Python wrapper for the Julia library QuantumClifford.jl and QuantumClifford.ECC. Supports extremely fast Stabilizer state simulations, weakly non-Clifford dynamics, and generation of many modern quantum error correcting codes.

Project description

pyquantumclifford

Thin Python wrapper for QuantumClifford.jl and QuantumClifford.ECC using the JuliaPy stack. Supports extremely fast Stabilizer state simulations, weakly non-Clifford dynamics, and generation of many modern quantum error correcting codes.

Instalation

pip install pyquantumclifford

or

uv add pyquantumclifford

On first import the Julia runtime will be downloaded and QuantumClifford.jl will be compiled (optimized for your hardware). This is a slow process, might take around 5 minutes.

Optional: Having juliaup installed in your system (and available in your PATH) makes managing Julia versions much simpler behind the scenes. Consider manually installing juliaup before installing pyquantumclifford. The install command is curl -fsSL https://install.julialang.org | sh for a selfcontained install in ~/.julia that you can delete at any time.

Usage

import numpy as np
from pyquantumclifford import QuantumClifford, ECC

# Optional, for calling arbitrary Julia code
from juliacall import Main as jl

# Simple ECC code
code = ECC.Shor9()

# Access parity checks and matrices
ECC.parity_checks(ECC.Shor9())
ECC.parity_matrix(ECC.Shor9())
np.array(ECC.parity_matrix(ECC.Shor9()))

Notes

  • Windows is not supported due to the Oscar computer algebra system being unavailable on it. Use WSL on Windows.
  • juliacall provides access to Julia modules from Python.

Project details


Download files

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

Source Distribution

pyquantumclifford-0.10.1.tar.gz (1.8 kB view details)

Uploaded Source

Built Distribution

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

pyquantumclifford-0.10.1-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file pyquantumclifford-0.10.1.tar.gz.

File metadata

  • Download URL: pyquantumclifford-0.10.1.tar.gz
  • Upload date:
  • Size: 1.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyquantumclifford-0.10.1.tar.gz
Algorithm Hash digest
SHA256 7e8b49afc97da85441d29cd2325a9a5a857245b4a1d6d195ad78a4268c081adc
MD5 e6d4b485aaffa727fce8ce94ea58bfa2
BLAKE2b-256 bde03ae95e3f8c326bcce778d3bfa9b4430b8e3301c13964bdb20f7ac0725f1c

See more details on using hashes here.

File details

Details for the file pyquantumclifford-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: pyquantumclifford-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 2.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyquantumclifford-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8609023ead0b6f250fa39901b3aa9204eb980238f29422bf3f2a9a558da5b73
MD5 02b6b8d22cf53bce12e2e525a7897d5c
BLAKE2b-256 bed17e58c35169b622cacae1a973d7fbf040a84c5fb55a42adf837d3600a6716

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page