pub struct FiniteGroupMultiplicationTable { /* private fields */ }Implementations§
Source§impl FiniteGroupMultiplicationTable
impl FiniteGroupMultiplicationTable
pub fn generating_set(&self) -> GeneratingSet<'_>
pub fn small_generating_set(&self, attempts: Option<usize>) -> GeneratingSet<'_>
Source§impl FiniteGroupMultiplicationTable
impl FiniteGroupMultiplicationTable
pub fn check_state(&self) -> Result<(), &'static str>
pub fn new( n: usize, ident: usize, inv: Vec<usize>, mul: Vec<Vec<usize>>, ) -> Result<Self, &'static str>
pub fn new_unchecked( n: usize, ident: usize, inv: Vec<usize>, mul: Vec<Vec<usize>>, is_abelian: Option<bool>, is_simple: Option<bool>, ) -> Self
pub fn mul(&self, x: usize, y: usize) -> usize
pub fn inv(&self, x: usize) -> usize
pub fn ident(&self) -> usize
pub fn from_raw_model<T: PartialEq + Eq + Hash + Clone + Debug>( elems: Vec<T>, ident: impl Fn() -> T, inv: impl Fn(T) -> T, mul: impl Fn(T, T) -> T, ) -> Result<Self, &'static str>
pub fn from_raw_model_unchecked<T: PartialEq + Eq + Hash + Clone + Debug>( elems: Vec<T>, ident: impl Fn() -> T, inv: impl Fn(T) -> T, mul: impl Fn(T, T) -> T, is_abelian: Option<bool>, is_simple: Option<bool>, ) -> Self
pub fn size(&self) -> usize
pub fn elems(&self) -> Range<usize>
pub fn mul_many(&self, elems: &Vec<usize>) -> usize
pub fn order(&self, x: usize) -> Result<usize, ()>
pub fn is_abelian(&self) -> bool
pub fn cache_conjugacy_classes(&mut self)
pub fn conjugacy_class(&mut self, x: usize) -> Result<Subset<'_>, ()>
pub fn conjugacy_classes(&self) -> GroupPartition<'_>
pub fn subgroups(&self) -> Vec<(Subgroup<'_>, Subset<'_>)>
pub fn normal_subgroups(&self) -> Vec<(NormalSubgroup<'_>, Subset<'_>)>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FiniteGroupMultiplicationTable
impl RefUnwindSafe for FiniteGroupMultiplicationTable
impl Send for FiniteGroupMultiplicationTable
impl Sync for FiniteGroupMultiplicationTable
impl Unpin for FiniteGroupMultiplicationTable
impl UnwindSafe for FiniteGroupMultiplicationTable
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more