pub trait IrrepCharTabConstruction: CharacterProperties<CharTab = RepCharacterTable<<Self as CharacterProperties>::RowSymbol, <Self as ClassProperties>::ClassSymbol>>
where Self: Sync, Self::GroupElement: Mul<Output = Self::GroupElement> + Hash + Eq + Clone + Sync + Debug + FiniteOrder<Int = u32> + Pow<i32, Output = Self::GroupElement>,
{ // Required method fn set_irrep_character_table(&mut self, chartab: Self::CharTab); // Provided method fn construct_irrep_character_table(&mut self) { ... } }
Expand description

Trait for the ability to construct an irrep character table for the group.

This trait comes with a default implementation of character table calculation based on the Burnside–Dixon algorithm with Schneider optimisation.

Required Methods§

source

fn set_irrep_character_table(&mut self, chartab: Self::CharTab)

Sets the irrep character table internally.

Provided Methods§

source

fn construct_irrep_character_table(&mut self)

Constructs the irrep character table for this group using the Burnside–Dixon algorithm with Schneider optimisation.

§References
  • Dixon, J. D. High speed computation of group characters. Numerische Mathematik 10, 446–450 (1967).
  • Schneider, G. J. A. Dixon’s character table algorithm revisited. Journal of Symbolic Computation 9, 601–606 (1990).
  • Grove, L. C. Groups and Characters. (John Wiley & Sons, Inc., 1997).
§Panics

Panics if the Frobenius–Schur indicator for any resulted irrep takes on unexpected values and thus implies that the computed irrep is invalid.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, RowSymbol, ColSymbol> IrrepCharTabConstruction for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
where RowSymbol: LinearSpaceSymbol + Sync, ColSymbol: CollectionSymbol<CollectionElement = T> + Sync, T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder<Int = u32> + Pow<i32, Output = T>, for<'a, 'b> &'b T: Mul<&'a T, Output = T>,