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.
juliacallprovides access to Julia modules from Python.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e8b49afc97da85441d29cd2325a9a5a857245b4a1d6d195ad78a4268c081adc
|
|
| MD5 |
e6d4b485aaffa727fce8ce94ea58bfa2
|
|
| BLAKE2b-256 |
bde03ae95e3f8c326bcce778d3bfa9b4430b8e3301c13964bdb20f7ac0725f1c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8609023ead0b6f250fa39901b3aa9204eb980238f29422bf3f2a9a558da5b73
|
|
| MD5 |
02b6b8d22cf53bce12e2e525a7897d5c
|
|
| BLAKE2b-256 |
bed17e58c35169b622cacae1a973d7fbf040a84c5fb55a42adf837d3600a6716
|