pub struct WeylChamber { /* private fields */ }Expand description
Weyl chamber for a root system.
A Weyl chamber is a connected component of the complement of the reflecting hyperplanes in the dual Cartan space ๐ฅ*. The fundamental Weyl chamber (or dominant chamber) is defined by the simple roots:
C = {ฮป โ ๐ฅ* : โจฮป, ฮฑแตขโฉ โฅ 0 for all simple roots ฮฑแตข}ยงMathematical Background
- The Weyl group W acts on ๐ฅ* by reflections through root hyperplanes
- W partitions ๐ฅ* into finitely many Weyl chambers
- All chambers are isometric under W
- The fundamental chamber parametrizes dominant weights (highest weights of irreducible representations)
ยงExample
use lie_groups::root_systems::{RootSystem, WeylChamber, Root};
let root_system = RootSystem::type_a(2); // SU(3)
let chamber = WeylChamber::fundamental(&root_system);
// Fundamental weight ฯโ = (2/3, -1/3, -1/3) is dominant (traceless for SU(3))
let omega1 = Root::new(vec![2.0/3.0, -1.0/3.0, -1.0/3.0]);
assert!(chamber.contains(&omega1, false)); // Non-strict since on boundary
// Negative weight is not dominant
let neg = Root::new(vec![-1.0, 0.0, 1.0]);
assert!(!chamber.contains(&neg, false));ยงReferences
- Humphreys, Introduction to Lie Algebras, ยง10.2
- Hall, Lie Groups, ยง8.4
Implementationsยง
Sourceยงimpl WeylChamber
impl WeylChamber
Sourcepub fn fundamental(root_system: &RootSystem) -> Self
pub fn fundamental(root_system: &RootSystem) -> Self
Construct the fundamental Weyl chamber for a root system.
The fundamental chamber is bounded by hyperplanes perpendicular to the simple roots:
C = {ฮป : โจฮป, ฮฑแตขโฉ โฅ 0 for all simple ฮฑแตข}Sourcepub fn project(&self, weight: &Root) -> Root
pub fn project(&self, weight: &Root) -> Root
Project a weight onto the closure of the fundamental Weyl chamber.
Uses the Weyl group to map an arbitrary weight to its unique dominant representative (closest point in the chamber).
ยงAlgorithm
Iteratively reflect through violated hyperplanes until all simple root pairings are non-negative.
Sourcepub fn simple_roots(&self) -> &[Root]
pub fn simple_roots(&self) -> &[Root]
Get the simple roots defining the chamber walls.
Trait Implementationsยง
Sourceยงimpl Clone for WeylChamber
impl Clone for WeylChamber
Sourceยงfn clone(&self) -> WeylChamber
fn clone(&self) -> WeylChamber
Returns a duplicate of the value. Read more
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementationsยง
impl Freeze for WeylChamber
impl RefUnwindSafe for WeylChamber
impl Send for WeylChamber
impl Sync for WeylChamber
impl Unpin for WeylChamber
impl UnsafeUnpin for WeylChamber
impl UnwindSafe for WeylChamber
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Sourceยงfn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSourceยงfn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Sourceยงfn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Sourceยงfn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.