A numerical library for working with (representations) of Lie Groups and Algebras.
- Spin matrices
su(2)
and ladder matricessl(2, C)
- Generalized Gell-Mann Matrices
su(n)
(Hermitian) - Sylverster "Clock" and "Shift" Matrices
su(n)
(non-Hermitian) -
su(n)
matrices by "Spherical Harmonics Tensors su(2) addition" via Clebsh-Gordan coefficients - Computation of Structure constants
- Computation of dot/cross product in
su(n)
through structure constants
import liepy as lp
su_algebra = lp.gen_gellmann(3)
Additional examples, and notebooks, can found here.
use lie::gellmann::*;
use lie::lie_algebra::*;
let su_algebra = get_gellmann(3);
let f = find_structure_constants(su_algebra);
println!("{:?}", f);
Pre-built binary wheels are available.
pip install liepy
Lie
depends on:
openblas-devel
, e.g. (for Ubuntu/Debiansudo apt install libopenblas-devel
) or equivalent- Rust >= 1.58
- Maturin
git clone https://github.com/RustyBamboo/lie
cd lie/liepy
maturin build --release --manylinux=off
pip3 install target/wheels/liepy-....whl --force-reinstall
For manylinux compiled wheel, a Docker container is used.
cd lie
docker build -t maturin liepy/
docker run --rm -v $(pwd):/io maturin build --release -m liepy/Cargo.toml
To ensure the library is working as intended, a test can be run:
cargo test
Lie
is free and opensource, released under MIT license.