Trait CharacterProperties

Source
pub trait CharacterProperties: ClassProperties
where Self::RowSymbol: LinearSpaceSymbol, Self::CharTab: CharacterTable<RowSymbol = Self::RowSymbol, ColSymbol = Self::ClassSymbol>,
{ type RowSymbol; type CharTab; // Required methods fn character_table(&self) -> &Self::CharTab; fn unitary_represented(&self) -> bool; }
Expand description

Trait to indicate the presence of character properties in a group and enable access to the character table of the group.

Required Associated Types§

Source

type RowSymbol

Type of the row-labelling symbols in the associated character table.

Source

type CharTab

Type of the associated character table whose row-labelling symbol type is constrained to be the same as Self::RowSymbol.

Required Methods§

Source

fn character_table(&self) -> &Self::CharTab

Returns a shared reference to the character table of this group.

Source

fn unitary_represented(&self) -> bool

Returns a boolean indicating if this character table contains irreducible representations of a unitary-represented group.

If false, then some elements in the group are not unitary-represented and one has corepresentations instead of representations.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, RowSymbol, ColSymbol> CharacterProperties 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>,

Source§

type RowSymbol = RowSymbol

Source§

type CharTab = RepCharacterTable<RowSymbol, ColSymbol>

Source§

impl<T, RowSymbol, UG> CharacterProperties for MagneticRepresentedGroup<T, UG, RowSymbol>
where RowSymbol: ReducibleLinearSpaceSymbol<Subspace = UG::RowSymbol> + Serialize + DeserializeOwned, 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>, UG: Clone + GroupProperties<GroupElement = T> + ClassProperties<GroupElement = T> + CharacterProperties, <UG as ClassProperties>::ClassSymbol: Serialize + DeserializeOwned, <UG as CharacterProperties>::CharTab: Serialize + DeserializeOwned, CorepCharacterTable<RowSymbol, <UG as CharacterProperties>::CharTab>: Serialize + DeserializeOwned,