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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 tencirpauli-0.5.0.tar.gz.
File metadata
- Download URL: tencirpauli-0.5.0.tar.gz
- Upload date:
- Size: 342.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99e49f6d8b1aed7c3c46da03bc7ec90712ed68b6551872309c6ac0b7d0c78d2a
|
|
| MD5 |
b11f3882dd01a6d228aa2423a4991584
|
|
| BLAKE2b-256 |
d4ab6eedc0736d5f2bf5926e62a969700122300fe0141e1bebb79e99737effeb
|
Provenance
The following attestation bundles were made for tencirpauli-0.5.0.tar.gz:
Publisher:
release.yml on tensorcircuit/TenCirPauli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tencirpauli-0.5.0.tar.gz -
Subject digest:
99e49f6d8b1aed7c3c46da03bc7ec90712ed68b6551872309c6ac0b7d0c78d2a - Sigstore transparency entry: 2543932666
- Sigstore integration time:
-
Permalink:
tensorcircuit/TenCirPauli@264ff67806f36389acf997ff2f106e0be35a59ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/tensorcircuit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@264ff67806f36389acf997ff2f106e0be35a59ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file tencirpauli-0.5.0-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: tencirpauli-0.5.0-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ca3180817b091b033ca2f32d7e6eef03fdec0230c103988f44aeb190fd6755e
|
|
| MD5 |
bc417480f7e2d8855b9a0b90633ea984
|
|
| BLAKE2b-256 |
2669f4d37cb8d0a74d65e552d94188b47fa978d53d0c0b7613baef1d2440b82f
|
Provenance
The following attestation bundles were made for tencirpauli-0.5.0-cp39-abi3-win_amd64.whl:
Publisher:
release.yml on tensorcircuit/TenCirPauli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tencirpauli-0.5.0-cp39-abi3-win_amd64.whl -
Subject digest:
2ca3180817b091b033ca2f32d7e6eef03fdec0230c103988f44aeb190fd6755e - Sigstore transparency entry: 2543934761
- Sigstore integration time:
-
Permalink:
tensorcircuit/TenCirPauli@264ff67806f36389acf997ff2f106e0be35a59ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/tensorcircuit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@264ff67806f36389acf997ff2f106e0be35a59ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a5014f514b169b3fcbf1298ad13d95a2186f13cf90b99f392c074fad6d32320
|
|
| MD5 |
3d68a0d7bd89efa8b556a9bd84106f96
|
|
| BLAKE2b-256 |
cfb34fd394a6a16ed7854b02b6f87eed12e661a3433e66ce133607b586da1416
|
Provenance
The following attestation bundles were made for tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on tensorcircuit/TenCirPauli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
8a5014f514b169b3fcbf1298ad13d95a2186f13cf90b99f392c074fad6d32320 - Sigstore transparency entry: 2543935368
- Sigstore integration time:
-
Permalink:
tensorcircuit/TenCirPauli@264ff67806f36389acf997ff2f106e0be35a59ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/tensorcircuit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@264ff67806f36389acf997ff2f106e0be35a59ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1913f0b9be299f550f9fb531c9e118499cf32ca54ccde430c72d30cf835fd3f9
|
|
| MD5 |
c80c614592fbbc5e42fc3400be379339
|
|
| BLAKE2b-256 |
61d97d1f63c8952c03a5dffbd5c4be7dc2cc35277138aa5a7f53f54f33ae82e7
|
Provenance
The following attestation bundles were made for tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on tensorcircuit/TenCirPauli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tencirpauli-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
1913f0b9be299f550f9fb531c9e118499cf32ca54ccde430c72d30cf835fd3f9 - Sigstore transparency entry: 2543935731
- Sigstore integration time:
-
Permalink:
tensorcircuit/TenCirPauli@264ff67806f36389acf997ff2f106e0be35a59ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/tensorcircuit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@264ff67806f36389acf997ff2f106e0be35a59ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7d3c767d9ea14613b8f01ce03c16dda540d36f683e40e861c5affdad61e0898
|
|
| MD5 |
802b9419284c26189994843eebd3d7cc
|
|
| BLAKE2b-256 |
65ea14e860cd3557a5c65a9138c237bd4e5adf737bcbde4790a934202b2af2e8
|
Provenance
The following attestation bundles were made for tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on tensorcircuit/TenCirPauli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tencirpauli-0.5.0-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
f7d3c767d9ea14613b8f01ce03c16dda540d36f683e40e861c5affdad61e0898 - Sigstore transparency entry: 2543936077
- Sigstore integration time:
-
Permalink:
tensorcircuit/TenCirPauli@264ff67806f36389acf997ff2f106e0be35a59ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/tensorcircuit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@264ff67806f36389acf997ff2f106e0be35a59ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd16ded82d75b51600c97f6b870f84cdd9127e36ae3f2b8576e52b4a3571e73
|
|
| MD5 |
de6f5e032c0fa5d66895d547b51e9fe0
|
|
| BLAKE2b-256 |
c159cc2c633350f0c4f5c1ff590ca1bf15dcc093b0d171095fec3fe2ca975661
|
Provenance
The following attestation bundles were made for tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl:
Publisher:
release.yml on tensorcircuit/TenCirPauli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tencirpauli-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
bcd16ded82d75b51600c97f6b870f84cdd9127e36ae3f2b8576e52b4a3571e73 - Sigstore transparency entry: 2543933503
- Sigstore integration time:
-
Permalink:
tensorcircuit/TenCirPauli@264ff67806f36389acf997ff2f106e0be35a59ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/tensorcircuit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@264ff67806f36389acf997ff2f106e0be35a59ce -
Trigger Event:
release
-
Statement type: