Skip to main content

Crate lie_groups

Crate lie_groups 

Source
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

GroupAlgebraRepresentationDimension
U1U1AlgebraPhase (complex unit)1
SU2Su2Algebra2×2 complex unitary3
SO3So3Algebra3×3 real orthogonal3
SU3Su3Algebra3×3 complex unitary8
SUN<N>SunAlgebra<N>N×N complex unitaryN²−1
RPlusRPlusAlgebraPositive reals1

§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