TenCirPauli moves Pauli-heavy quantum workflows from Python object graphs into compact native data and Rust execution. It is the TensorCircuit-NG-facing layer for Hamiltonians, measurement grouping, symmetry reduction, restricted sectors, structured operators, classical-shadow snapshots, and observable propagation.
What it does
| Capability | Main entry points |
|---|---|
| Pauli algebra and Hamiltonians | PauliWord, PauliOperator, products, commutators, dense/COO/CSR targets, matrix-free MVP |
| Measurement planning | group_commuting(mode="qubit_wise"), QWCGroupingResult, basis-aware bitstring reconstruction |
| Classical-shadow snapshots | Snapshots.sample(), Pauli/global-Clifford protocols, native estimators, RDM, Rényi-2 entropy, and fidelity |
| Symmetry reduction | find_z2_symmetries(), taper_z2(), restrict_charge() with U1Sector or ChargeSector |
| Native circuit execution | U1Circuit, PropagationCircuit, SPPSCircuit, value/gradient and expectation terminals |
| Structured quantum operators | FermionOperator, BosonOperator, QuditWeylOperator, HybridOperator, MajoranaOperator |
| Fermion and chemistry workflows | Jordan–Wigner, parity, Bravyi–Kitaev, optional PySCF ingestion, TensorCircuit-NG integration |
Why it is fast
- Scalable symbolic work stays in Rust over packed Pauli, occupation, charge, and structured representations.
- Public results are lazy native-backed handles by default; Python materializes terms or arrays only when an API explicitly asks for them.
- Matrix-free and restricted-sector plans avoid dense matrices and full Hilbert spaces when the workload has useful structure.
- TensorCircuit-NG and JAX can remain at the backend boundary through reusable
backend_mvp_plan()plans, while native CPU paths use coarse-grained Rust execution and default parallelism.
Performance snapshots
These are representative runs from the linked research studies, not universal maxima. The benchmark page collects the workload definitions and runnable examples.
| Workload | Comparison | Result |
|---|---|---|
| 60-qubit, two-particle U(1) VQE | TensorCircuit-NG Python/JAX path | 688× faster on the first compiled value-and-gradient call; 2.6× faster when steady |
| 28-qubit Pauli-propagation VQE | PauliPropagation.jl | 7.8× faster on the first call; 1.43× faster when steady |
| 12-mode fermion mapping | OpenFermion | 22× faster for Jordan–Wigner; 12.6× faster for Bravyi–Kitaev |
| 64-qubit, 1,024-term QWC grouping | Qiskit | 38× faster grouping on the linked workload, with native reconstruction included in the study |
| 4×4 Fermi–Hubbard restricted MVP | QuSpin | 1.73× faster and 2.16× lower peak memory |
Choose an entry point
| If you need to... | Start with... |
|---|---|
| Build or transform Pauli operators | PauliOperator.from_terms() and PauliWord.from_string() |
| Group terms for measurements | operator.group_commuting(); use QWC mode for measurement-ready bases |
| Estimate observables from randomized measurements | Snapshots.sample() followed by expectation(), estimate_many(), or energy() |
| Apply a large Hamiltonian without a matrix | operator.native_mvp_plan() or operator.mvp() |
| Keep TensorCircuit-NG/JAX active | operator.backend_mvp_plan() and tencirpauli.backend_mvp() |
| Reduce a symmetry sector | operator.find_z2_symmetries() / operator.taper_z2() |
| Work at fixed particle number or additive charge | U1Sector, ChargeSector, and operator.restrict_charge() |
| Run a native circuit objective | U1Circuit, PropagationCircuit, or SPPSCircuit |
| Map or compile structured operators | FermionQubitMapping, MajoranaOperator, and the structured operator classes |
mode="general" is available for algebraic commuting groups, but its result is intentionally measurement_ready=False; use QWC grouping when the output must directly describe product-basis measurements.
TensorCircuit-NG ecosystem
TenCirPauli is designed as a TensorCircuit-NG companion, not a replacement for its circuit frontend. TensorCircuit-NG circuits can be converted with U1Circuit.from_circuit() or PropagationCircuit.from_circuit(), and Pauli backend plans can be called through TensorCircuit-NG's NumPy or JAX backend. The Rust core itself has no Python or TensorCircuit-NG dependency.
Research examples
The research index links to reproducible, manual studies covering Fermi–Hubbard, Holstein, SYK Majorana, BCH convergence, Lie closure, fermion mapping, U(1) VQE, Pauli propagation, measurement grouping, and classical shadows.
Install
python -m pip install tencirpauli
Released wheels cover common CPython 3.9+ platforms. Source builds require Rust, Cargo, and maturin; chemistry interop is optional via python -m pip install 'tencirpauli[chemistry]'.
Documentation and development
Read the documentation for concepts and API details, performance notes for benchmark context, and CONTRIBUTING.md for local development. The local quality gate is python scripts/check.py --benchmark smoke.
License
Apache License 2.0.
Metadata
Release files for tencirpauli 0.5.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 | |
|---|---|---|---|
| tencirpauli-0.5.0.tar.gz | 342.4 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| tencirpauli-0.5.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 8.3 MB
Release files / tencirpauli-0.5.0.tar.gz
| Download URL | tencirpauli-0.5.0.tar.gz |
|---|---|
| Size | 342.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99e49f6d8b1aed7c3c46da03bc7ec90712ed68b6551872309c6ac0b7d0c78d2a
|
|
BLAKE2b-256 checksum How to use checksums |
d4ab6eedc0736d5f2bf5926e62a969700122300fe0141e1bebb79e99737effeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / tencirpauli-0.5.0-cp39-abi3-win_amd64.whl
| Download URL | tencirpauli-0.5.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
2ca3180817b091b033ca2f32d7e6eef03fdec0230c103988f44aeb190fd6755e
|
|
BLAKE2b-256 checksum How to use checksums |
2669f4d37cb8d0a74d65e552d94188b47fa978d53d0c0b7613baef1d2440b82f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8a5014f514b169b3fcbf1298ad13d95a2186f13cf90b99f392c074fad6d32320
|
|
BLAKE2b-256 checksum How to use checksums |
cfb34fd394a6a16ed7854b02b6f87eed12e661a3433e66ce133607b586da1416
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
1913f0b9be299f550f9fb531c9e118499cf32ca54ccde430c72d30cf835fd3f9
|
|
BLAKE2b-256 checksum How to use checksums |
61d97d1f63c8952c03a5dffbd5c4be7dc2cc35277138aa5a7f53f54f33ae82e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f7d3c767d9ea14613b8f01ce03c16dda540d36f683e40e861c5affdad61e0898
|
|
BLAKE2b-256 checksum How to use checksums |
65ea14e860cd3557a5c65a9138c237bd4e5adf737bcbde4790a934202b2af2e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
bcd16ded82d75b51600c97f6b870f84cdd9127e36ae3f2b8576e52b4a3571e73
|
|
BLAKE2b-256 checksum How to use checksums |
c159cc2c633350f0c4f5c1ff590ca1bf15dcc093b0d171095fec3fe2ca975661
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency log