Trait qsym2::group::HasUnitarySubgroup

source ·
pub trait HasUnitarySubgroup: GroupProperties
where Self::UnitarySubgroup: GroupProperties<GroupElement = Self::GroupElement> + CharacterProperties,
{ type UnitarySubgroup; // Required methods fn unitary_subgroup(&self) -> &Self::UnitarySubgroup; fn check_elem_antiunitary(&self, element: &Self::GroupElement) -> bool; }
Expand description

Trait for indicating that a group can be partitioned into a unitary halving subgroup and and antiunitary coset.

Required Associated Types§

source

type UnitarySubgroup

The type of the unitary halving subgroup.

Required Methods§

source

fn unitary_subgroup(&self) -> &Self::UnitarySubgroup

Returns a shared reference to the unitary subgroup associated with this group.

source

fn check_elem_antiunitary(&self, element: &Self::GroupElement) -> bool

Checks if an element in the group belongs to the antiunitary coset.

§Arguments
  • element - A group element.
§Returns

Returns true if element is in the antiunitary coset of the group.

§Panics

Panics if element is not a member of the group.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, UG, RowSymbol> HasUnitarySubgroup for MagneticRepresentedGroup<T, UG, RowSymbol>
where T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder, for<'a, 'b> &'b T: Mul<&'a T, Output = T>, RowSymbol: ReducibleLinearSpaceSymbol<Subspace = UG::RowSymbol>, UG: Clone + GroupProperties<GroupElement = T> + CharacterProperties, <UG as ClassProperties>::ClassSymbol: Serialize + DeserializeOwned, CorepCharacterTable<RowSymbol, <UG as CharacterProperties>::CharTab>: Serialize + DeserializeOwned,