pub struct FiniteGroup {
pub mul: Vec<Vec<usize>>,
pub id: usize,
}Expand description
A finite group by its (0-indexed) multiplication table.
Fields§
§mul: Vec<Vec<usize>>mul[a][b] = a · b.
id: usizeThe identity element.
Implementations§
Source§impl FiniteGroup
impl FiniteGroup
pub fn order(&self) -> usize
pub fn inverse(&self, a: usize) -> usize
Sourcepub fn trivial() -> FiniteGroup
pub fn trivial() -> FiniteGroup
The trivial group 1.
Sourcepub fn cyclic(m: usize) -> FiniteGroup
pub fn cyclic(m: usize) -> FiniteGroup
The cyclic group Z/m (elements 0..m, addition mod m).
Sourcepub fn symmetric(n: usize) -> FiniteGroup
pub fn symmetric(n: usize) -> FiniteGroup
The symmetric group S_n (all n! permutations, indexed; multiplication = composition). This
is the shape of a pigeonhole symmetry group (pigeon/hole permutations).
Trait Implementations§
Source§impl Clone for FiniteGroup
impl Clone for FiniteGroup
Source§fn clone(&self) -> FiniteGroup
fn clone(&self) -> FiniteGroup
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 FiniteGroup
impl RefUnwindSafe for FiniteGroup
impl Send for FiniteGroup
impl Sync for FiniteGroup
impl Unpin for FiniteGroup
impl UnsafeUnpin for FiniteGroup
impl UnwindSafe for FiniteGroup
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