Expand description
Lie groups and Lie algebras for computational mathematics.
This crate provides concrete implementations of the classical Lie groups used in physics and geometry, with emphasis on correctness, numerical stability, and ergonomic APIs.
§Implemented Groups
| Group | Algebra | Representation | Dimension |
|---|---|---|---|
U1 | U1Algebra | Phase (complex unit) | 1 |
SU2 | Su2Algebra | 2×2 complex unitary | 3 |
SO3 | So3Algebra | 3×3 real orthogonal | 3 |
SU3 | Su3Algebra | 3×3 complex unitary | 8 |
SUN<N> | SunAlgebra<N> | N×N complex unitary | N²−1 |
RPlus | RPlusAlgebra | Positive reals | 1 |
§Trait Abstractions
The LieGroup and LieAlgebra traits provide a uniform interface:
use lie_groups::{LieGroup, LieAlgebra, SU2, Su2Algebra};
let g = SU2::identity();
let h = SU2::exp(&Su2Algebra::new([0.1, 0.2, 0.3]));
let gh = g.compose(&h);
let inv = h.inverse();§Features
- Quaternion-optimized SU(2): Rotation operations via unit quaternions
- Baker-Campbell-Hausdorff: Lie algebra composition up to 5th order
- Root systems: Type Aₙ (other families planned)
- Representation theory: Casimir operators, characters, Clebsch-Gordan
- Numerical stability: Conditioned logarithms, scaling-and-squaring exp
Re-exports§
pub use bch::bch_checked;pub use bch::bch_error_bound;pub use bch::bch_fifth_order;pub use bch::bch_fourth_order;pub use bch::bch_is_practical;pub use bch::bch_safe;pub use bch::bch_second_order;pub use bch::bch_split;pub use bch::bch_third_order;pub use bch::bch_will_converge;pub use bch::BchError;pub use bch::BchMethod;pub use error::ConditionedLogResult;pub use error::LogCondition;pub use error::LogError;pub use error::LogQuality;pub use error::LogResult;pub use error::RepresentationError;pub use error::RepresentationResult;pub use quaternion::UnitQuaternion;pub use representation::casimir::Casimir;pub use representation::su3_irrep::Su3Irrep;pub use representation::character;pub use representation::character_su2;pub use representation::clebsch_gordan_decomposition;pub use representation::Spin;pub use root_systems::Alcove;pub use root_systems::CartanSubalgebra;pub use root_systems::Root;pub use root_systems::RootSystem;pub use root_systems::WeightLattice;pub use root_systems::WeylChamber;pub use rplus::RPlus;pub use rplus::RPlusAlgebra;pub use so3::So3Algebra;pub use so3::SO3;pub use su2::Su2Algebra;pub use su2::SU2;pub use su3::Su3Algebra;pub use su3::SU3;pub use sun::SU2Generic;pub use sun::SU3Generic;pub use sun::SunAlgebra;pub use sun::SU4;pub use sun::SU5;pub use sun::SUN;pub use traits::Abelian;pub use traits::AntiHermitianByConstruction;pub use traits::Compact;pub use traits::LieAlgebra;pub use traits::LieGroup;pub use traits::SemiSimple;pub use traits::Simple;pub use traits::TracelessByConstruction;pub use u1::U1Algebra;pub use u1::U1;
Modules§
- bch
- Baker-Campbell-Hausdorff (BCH) Formula
- error
- Error types for Lie group and Lie algebra operations
- quaternion
- Quaternionic Formulation of SU(2)
- representation
- Representation theory for Lie groups and Lie algebras.
- root_
systems - Root Systems for Semisimple Lie Algebras
- rplus
- ℝ⁺: The Positive Reals (Multiplicative Scaling Group)
- so3
- Lie group SO(3) - 3D rotation group
- su2
- SU(2): The Special Unitary Group in 2 Dimensions
- su3
- Lie group SU(3) - Special unitary 3×3 group
- sun
- Generic SU(N) - Special unitary N×N matrices
- traits
- Traits for Lie groups and Lie algebras.
- u1
- U(1): The Circle Group