Skip to main content
TenCirPauli logo

TenCirPauli

Rust-native Pauli algebra and structured quantum execution for TensorCircuit-NG.

CI status Documentation PyPI version Apache 2.0 license

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, 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
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
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, and measurement grouping.

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

tencirpauli-0.4.1.tar.gz (300.3 kB view details)

Uploaded Source

Built Distributions

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

tencirpauli-0.4.1-cp39-abi3-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.9+Windows x86-64

tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

tencirpauli-0.4.1-cp39-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

tencirpauli-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file tencirpauli-0.4.1.tar.gz.

File metadata

  • Download URL: tencirpauli-0.4.1.tar.gz
  • Upload date:
  • Size: 300.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tencirpauli-0.4.1.tar.gz
Algorithm Hash digest
SHA256 ca8294612d55ef70b3a63c609bf5514a0baa42ac59c50d1f3bd22c21e2530f9c
MD5 fa26eb9f9026d11c24c9eb8374f4c087
BLAKE2b-256 3660f9faef8fd501fe6821f21ec3ef021d885b75bff1892b33fb4bffbb731374

See more details on using hashes here.

Provenance

The following attestation bundles were made for tencirpauli-0.4.1.tar.gz:

Publisher: release.yml on tensorcircuit/TenCirPauli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tencirpauli-0.4.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: tencirpauli-0.4.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.3 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

Hashes for tencirpauli-0.4.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 60867b70b45a59a5a29c23f271b9b617f7c8072a01c085c1e63ef6d36428c4b3
MD5 8bece027d3954c9fccf17596935ac9c7
BLAKE2b-256 de8678e51be254c5c5b2b3af496b37d7484df4b5b52c8071f261b1b887da1d13

See more details on using hashes here.

Provenance

The following attestation bundles were made for tencirpauli-0.4.1-cp39-abi3-win_amd64.whl:

Publisher: release.yml on tensorcircuit/TenCirPauli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e37ddc622f1abfbc52c1b9656958af71a680cca93585bfbb368218369952cb6
MD5 1e5ca7b651025b66a1789ea10e4e2ba5
BLAKE2b-256 0e45a4720f9b3b0bd1a81f57a003da9967f630ec249f3efc9648213e1a4e4eb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tensorcircuit/TenCirPauli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 abb85ab16f4fa261a676ce6fd61b4327277d968bd602964bf2449cb48ae2d777
MD5 a50f5cdd55bd28b23fb099bbcf703ae3
BLAKE2b-256 0085579d0b2c2b826e1fac7ca11d9fa015ea59634ad425977e226db9934eed81

See more details on using hashes here.

Provenance

The following attestation bundles were made for tencirpauli-0.4.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tensorcircuit/TenCirPauli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tencirpauli-0.4.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tencirpauli-0.4.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 084ea37f7e8afe32a07c906545aaa9dcfbe5037ef6527801909b10640b1cb956
MD5 4494bd5158fc8a05899e83e45ebdb3fd
BLAKE2b-256 744a46526446e483dae6c0332ac3c6452c32aad3cc13ceb62853a8e414326191

See more details on using hashes here.

Provenance

The following attestation bundles were made for tencirpauli-0.4.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on tensorcircuit/TenCirPauli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tencirpauli-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tencirpauli-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5494a17ccb77f0b750cd7903bdc774d0c69031d5e43b31acfd7f2f55dcfef2c2
MD5 2aa182267cc427072dd75b90cf9f8fb8
BLAKE2b-256 fc94a54dd99dbef65d83a439ccb1ac6586cefc417f4c1a947f06f8a7b7038d69

See more details on using hashes here.

Provenance

The following attestation bundles were made for tencirpauli-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on tensorcircuit/TenCirPauli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.5.0

6 files

This release

0.4.1 This release

6 files

0.4.0

6 files

0.3.0

6 files

0.2.0

6 files

0.1.0

6 files

Supported by

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