Skip to main content

Yuzuha SU(2) Protocol

PyPI Version License Documentation Python Version Rust Coverage Status

Yuzuha is a high-performance library for computing SU(2) recoupling coefficients in tensor network applications, providing efficient implementations of X-symbols (recoupling coefficients for arbitrary tensor network contractions) and R-symbols (axes permutation). The library features automatic database caching for computed canonical bases, enabling significant performance improvements for repeated calculations. Available for both Rust and Python, and optimized as the recoupling engine for the Nicole tensor library.

Features

  • X-symbols: Complete computation for arbitrary tensor network contractions
  • R-symbols: Tensor axis permutation transformations
  • Clebsch-Gordan (CG) coefficients: Real-valued Condon-Shortley convention with automatic caching
  • Invariant metric: Full support for arbitrary arrow directions via metric tensor
  • Outer multiplicity (OM) enumeration: Systematic enumeration of internal spin configurations
  • CG database: SQLite database for CG bases with automatic connection management
  • Python bindings: High-performance Python interface with NumPy integration
  • Type safety: Extensive use of Rust's type system for correctness
  • Comprehensive tests: >95% code coverage with unit and integration tests

Database Caching

Yuzuha automatically caches computed canonical basis data in an SQLite database for significant performance improvements on repeated calculations.

  • Persistent storage: Cached data survives between program runs
  • Thread-safe: Automatic connection management with mutex protection
  • Automatic: No explicit connection management needed
  • Efficient: Subsequent computations with same spin configurations are near-instantaneous

Conventions

Clebsch-Gordan Coefficients

Yuzuha uses the Condon-Shortley convention for Clebsch-Gordan (CG) coefficients, which describe the coupling of two angular momentum states:

$$C^{j_3 m_3}_{j_1 m_1, j_2 m_2} \equiv \langle j_1 m_1, j_2 m_2 | j_3 m_3 \rangle$$

These coefficients satisfy several important properties:

  • Real-valued: All CG coefficients are real numbers in the Condon-Shortley convention
  • Orthonormality: The coefficients form an orthonormal basis: $$\sum_{m_1, m_2} \langle j_1 m_1, j_2 m_2 | j_3 m_3 \rangle^2 = 1$$
  • Selection rules: Non-zero coefficients require:
    • Magnetic quantum number conservation: $m_1 + m_2 = m_3$
    • Triangle inequality: $|j_1 - j_2| \leqslant j_3 \leqslant j_1 + j_2$
    • Integer total spin: $j_1 + j_2 + j_3 \in \mathbb{Z}$

The library automatically caches computed CG coefficients in an SQLite database for efficient reuse across calculations.

Arrow Directions and the Invariant Metric

In tensor network diagrams, tensor edges can point either inward (incoming) or outward (outgoing), corresponding to primal and dual spaces, respectively. The invariant metric $g$ implements arrow reversal transformations:

$$g^{(j)}{m,m'} = (-1)^{j-m} \delta{m,-m'}$$

This metric tensor allows seamless conversion between incoming and outgoing edges while maintaining the correct sign conventions. Arrow inversion from incoming to outgoing uses the metric tensor $g$, while inversion from outgoing to incoming uses the inverse transformation $g^{-1}$.

Fusion Trees

Yuzuha represents tensor network contractions using left-associative fusion trees, which provide a systematic way to couple multiple angular momenta:

  • Left-associative structure: For $n$ spins, the coupling proceeds sequentially from left to right: $$(((j_1 \otimes j_2) \otimes j_3) \otimes \cdots) \otimes j_n$$

  • Internal spins ($\alpha$): Each intermediate fusion step produces an internal spin quantum number. For $n$ external edges, there are $n-2$ internal spins that characterize the coupling path.

  • Outer Multiplicity (OM) index ($\mu$): When multiple internal spin configurations (fusion patterns) lead to the same total coupling, they are distinguished by the OM index placed at the end of the canonical bases.

  • CG bases normalization: The canonical basis is normalized with respect to the OM space. As a result, 3rd order CG bases acquire a scaling factor relative to the standard CG coefficients.

The left-associative structure ensures a unique canonical form for each tensor network, enabling efficient computation and caching of recoupling coefficients.

Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, improving algorithms, or enhancing documentation, your help is appreciated. You can also contribute by requesting new features or reporting performance issues.

Yuzuha is created and maintained by Changkai Zhang as part of the Ideogenesis-AI effort in studying quantum many-body systems. If you have questions about contributing to the project or are interested in collaboration opportunities, please feel free to open an issue on GitHub or contact the maintainer directly.

License

Yuzuha is licensed under the GNU General Public License v3.0 (GPL-3.0). This means you are free to use, modify, and distribute this software under the terms of the GPL-3.0 license. We encourage you to share any improvements you make back to the community, helping Yuzuha grow and benefit all users. See the LICENSE file for the full license text. For more information about GPL-3.0, visit https://www.gnu.org/licenses/gpl-3.0.html

Download files

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

Source Distribution

yuzuha-0.1.6.tar.gz (4.7 MB view details)

Uploaded Source

Built Distributions

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

yuzuha-0.1.6-cp311-abi3-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11+Windows x86-64

yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

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

yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file yuzuha-0.1.6.tar.gz.

File metadata

  • Download URL: yuzuha-0.1.6.tar.gz
  • Upload date:
  • Size: 4.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 yuzuha-0.1.6.tar.gz
Algorithm Hash digest
SHA256 b401ae38e5388fa68b81f06d467f0eab7eac86c76762692e826405123d54168c
MD5 7437951616836b0baa478a96bae63893
BLAKE2b-256 8f97364a2a81d48758edc67949ea4cbb0a363728544e0bae35d33a14570532d4

See more details on using hashes here.

File details

Details for the file yuzuha-0.1.6-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: yuzuha-0.1.6-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 yuzuha-0.1.6-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8a384ca9af7dcfd65151e124302ebb7d6be6fa32288e6be1cc9d6cd54ccbdf0f
MD5 ca5dc6308e5ebefb855dd4bd0bce645f
BLAKE2b-256 2dc14d5e3fa0822ea1fe88b7dbeaf5d9b9b4409cecd32a4337d19edb8c867c09

See more details on using hashes here.

File details

Details for the file yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e20a97a2d32fe3127cbee8fabb44db7999107f5b7d87e5c18d596886727025da
MD5 8936087fbaa15632f7605a4e16d7a56f
BLAKE2b-256 986245e214756722fbb7190aea132e606f7c8880597c0d5eafcc853e0927495f

See more details on using hashes here.

File details

Details for the file yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a37851055fa2a19d3cc246f106eade940443cea8c840ed5bf6d031693e216554
MD5 ea243c546d22dba3978932b9b006a11a
BLAKE2b-256 253d339e3ccdad732e0919b810ebddfb01440faf9149c021e6191dc936ca442f

See more details on using hashes here.

File details

Details for the file yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e0650ffdbcc751071b406a57fa6bf3f5e530b70032f092651b3e5034cc93f6e
MD5 baa2ff6e3f1f8347004dac480cc60843
BLAKE2b-256 699967f03fb1130d6ec92d171356500eed27e5a231b12f5e87d7f37638da31b5

See more details on using hashes here.

File details

Details for the file yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fc24502f0dc03676196df6d24d021ddb0095d09b8a51f4ab004b47d6170e00b2
MD5 b9fa941753d5f395750e184414719e7d
BLAKE2b-256 ec7fe9711d35640f5d359b2d3b192891dc0fbd24c7a6551901294eb36ee6fa2f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.6 This release

6 files

0.1.5

6 files

0.1.4

6 files

0.1.3

2 files

0.1.2

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page