pub struct Permutation { /* private fields */ }Implementations§
Source§impl Permutation
impl Permutation
pub fn new(perm: Vec<usize>) -> Result<Self, &'static str>
pub fn new_unchecked(perm: Vec<usize>) -> Self
pub fn n(&self) -> usize
pub fn call(&self, x: usize) -> usize
pub fn sign(&self) -> C2
pub fn disjoint_cycles(&self) -> Vec<Cycle>
pub fn cycle_shape(&self) -> Vec<usize>
pub fn all_permutations(n: usize) -> impl Iterator<Item = Self>
pub fn symmetric_composition_table( n: usize, ) -> (FiniteGroupMultiplicationTable, Vec<Self>, HashMap<Self, usize>)
pub fn alternating_composition_table( n: usize, ) -> (FiniteGroupMultiplicationTable, Vec<Self>, HashMap<Self, usize>)
Trait Implementations§
Source§impl Clone for Permutation
impl Clone for Permutation
Source§fn clone(&self) -> Permutation
fn clone(&self) -> Permutation
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Permutation
impl Debug for Permutation
Source§impl Display for Permutation
impl Display for Permutation
Source§impl From<Cycle> for Permutation
impl From<Cycle> for Permutation
Source§impl<const N: usize> From<Permutation<N>> for Permutation
impl<const N: usize> From<Permutation<N>> for Permutation
Source§fn from(value: Permutation<N>) -> Self
fn from(value: Permutation<N>) -> Self
Converts to this type from the input type.
Source§impl Group for Permutation
impl Group for Permutation
fn identity() -> Self
fn inverse(self) -> Self
fn compose_refs(a: &Self, b: &Self) -> Self
fn compose_mut(&mut self, other: &Self)
fn inverse_ref(&self) -> Self
fn compose(a: Self, b: Self) -> Self
fn compose_lref(a: &Self, b: Self) -> Self
fn compose_rref(a: Self, b: &Self) -> Self
fn compose_list(elems: Vec<impl Borrow<Self>>) -> Self
fn nat_pow(&self, n: &Natural) -> Self
fn int_pow(&self, n: &Integer) -> Self
fn generated_finite_subgroup_table(
generators: Vec<Self>,
) -> (FiniteGroupMultiplicationTable, Vec<Self>, HashMap<Self, usize>)where
Self: Hash,
fn generated_finite_subgroup(gens: Vec<Self>) -> FiniteSubgroup<Self>where
Self: Hash,
Source§impl Hash for Permutation
impl Hash for Permutation
Source§impl PartialEq for Permutation
impl PartialEq for Permutation
Source§impl<const N: usize> TryFrom<Permutation> for Permutation<N>
impl<const N: usize> TryFrom<Permutation> for Permutation<N>
impl Eq for Permutation
impl StructuralPartialEq for Permutation
Auto Trait Implementations§
impl Freeze for Permutation
impl RefUnwindSafe for Permutation
impl Send for Permutation
impl Sync for Permutation
impl Unpin for Permutation
impl UnwindSafe for Permutation
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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