3 个版本

0.1.2 2022 年 2 月 8 日
0.1.1 2022 年 1 月 26 日
0.1.0 2021 年 5 月 25 日

#952 in 数学

MIT 许可证

21KB
420

Lie

用于处理李群和李代数(表示)的数值库。

特性

  • 自旋矩阵 su(2) 和梯形矩阵 sl(2, C)
  • 广义的 盖尔曼矩阵 su(n)(厄米)
  • 西尔维斯特 “时钟”和“位移”矩阵 su(n)(非厄米)
  • su(n) 矩阵通过 Clebsch-Gordan 系数通过“球谐张量 su(2) 加法”
  • 计算 结构常数
  • 通过结构常数计算 su(n) 中的点积/叉积

示例

Python 绑定

import liepy as lp
su_algebra = lp.gen_gellmann(3)

更多示例和笔记本可以在这里找到。

Rust

use lie::gellmann::*;
use lie::lie_algebra::*;
let su_algebra = get_gellmann(3);
let f = find_structure_constants(su_algebra); 

println!("{:?}", f);

安装

提供了预构建的二进制 wheel。

pip install liepy

从源代码编译

Lie 依赖于

  • openblas-devel,例如(对于 Ubuntu/Debian sudo apt install libopenblas-devel) 或等效
  • 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

为 manylinux 编译

对于 manylinux 编译的 wheel,使用 Docker 容器。

cd lie
docker build -t maturin liepy/
docker run --rm -v $(pwd):/io maturin build --release -m liepy/Cargo.toml

测试

为确保库按预期工作,可以运行测试

cargo test

许可证

Lie 是免费和开源的,在 MIT 许可证下发布。

依赖关系

~66MB
~877K SLoC