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

Metadata

Release files for yuzuha 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yuzuha 0.1.6
File Size Uploaded
yuzuha-0.1.6.tar.gz 4.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for yuzuha 0.1.6
File
yuzuha-0.1.6-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details
yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details
yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details

Total release size: 12.3 MB

Release files / yuzuha-0.1.6.tar.gz

Download URL yuzuha-0.1.6.tar.gz
Size 4.7 MB
Tags Source
SHA-256 checksum
How to use checksums
b401ae38e5388fa68b81f06d467f0eab7eac86c76762692e826405123d54168c
BLAKE2b-256 checksum
How to use checksums
8f97364a2a81d48758edc67949ea4cbb0a363728544e0bae35d33a14570532d4
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / yuzuha-0.1.6-cp311-abi3-win_amd64.whl

Download URL yuzuha-0.1.6-cp311-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8a384ca9af7dcfd65151e124302ebb7d6be6fa32288e6be1cc9d6cd54ccbdf0f
BLAKE2b-256 checksum
How to use checksums
2dc14d5e3fa0822ea1fe88b7dbeaf5d9b9b4409cecd32a4337d19edb8c867c09
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL yuzuha-0.1.6-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
e20a97a2d32fe3127cbee8fabb44db7999107f5b7d87e5c18d596886727025da
BLAKE2b-256 checksum
How to use checksums
986245e214756722fbb7190aea132e606f7c8880597c0d5eafcc853e0927495f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL yuzuha-0.1.6-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
a37851055fa2a19d3cc246f106eade940443cea8c840ed5bf6d031693e216554
BLAKE2b-256 checksum
How to use checksums
253d339e3ccdad732e0919b810ebddfb01440faf9149c021e6191dc936ca442f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl

Download URL yuzuha-0.1.6-cp311-abi3-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3e0650ffdbcc751071b406a57fa6bf3f5e530b70032f092651b3e5034cc93f6e
BLAKE2b-256 checksum
How to use checksums
699967f03fb1130d6ec92d171356500eed27e5a231b12f5e87d7f37638da31b5
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl

Download URL yuzuha-0.1.6-cp311-abi3-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
fc24502f0dc03676196df6d24d021ddb0095d09b8a51f4ab004b47d6170e00b2
BLAKE2b-256 checksum
How to use checksums
ec7fe9711d35640f5d359b2d3b192891dc0fbd24c7a6551901294eb36ee6fa2f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.1.6 This release

6 release files

0.1.5

6 release files

0.1.4

6 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release 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