Trait Group

Source
pub trait Group:
    Debug
    + Clone
    + PartialEq
    + Eq {
Show 13 methods // Required methods fn identity() -> Self; fn inverse(self) -> Self; fn compose_mut(&mut self, other: &Self); // Provided methods 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_refs(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>, ) -> (Group, Vec<Self>, HashMap<Self, usize>) where Self: Hash { ... } fn generated_finite_subgroup(gens: Vec<Self>) -> FiniteSubgroup<Self> where Self: Hash { ... }
}

Required Methods§

Source

fn identity() -> Self

Source

fn inverse(self) -> Self

Source

fn compose_mut(&mut self, other: &Self)

Provided Methods§

Source

fn inverse_ref(&self) -> Self

Source

fn compose(a: Self, b: Self) -> Self

Source

fn compose_lref(a: &Self, b: Self) -> Self

Source

fn compose_rref(a: Self, b: &Self) -> Self

Source

fn compose_refs(a: &Self, b: &Self) -> Self

Source

fn compose_list(elems: Vec<impl Borrow<Self>>) -> Self

Source

fn nat_pow(&self, n: &Natural) -> Self

Source

fn int_pow(&self, n: &Integer) -> Self

Source

fn generated_finite_subgroup_table( generators: Vec<Self>, ) -> (Group, Vec<Self>, HashMap<Self, usize>)
where Self: Hash,

Source

fn generated_finite_subgroup(gens: Vec<Self>) -> FiniteSubgroup<Self>
where Self: Hash,

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 Group for C2

Source§

impl Group for algebraeon_groups::permutation::Permutation

Source§

impl<const N: usize> Group for algebraeon_groups::examples::symmetric::Permutation<N>