pub struct SylowElem<S, const L: usize, C: SylowDecomposable<S>> {
pub coords: [u128; L],
/* private fields */
}
Expand description
An element of the decomposition of a finite cyclic group into the direct sum of its Sylow subgroups.
Fields§
§coords: [u128; L]
The powers on the generators of the Sylow subgroups. In particular, if an element of a group $G$ with generators $g_1,\ldots,g_n$ is $$g = \prod_{i = 1}^n g_i^{r_i},$$ then the coordinates of that element are $r_1,\ldots,r_n$.
Implementations§
source§impl<S, const L: usize, C: SylowDecomposable<S>> SylowElem<S, L, C>
impl<S, const L: usize, C: SylowDecomposable<S>> SylowElem<S, L, C>
sourcepub const fn new(coords: [u128; L]) -> SylowElem<S, L, C>
pub const fn new(coords: [u128; L]) -> SylowElem<S, L, C>
Returns an element of the Sylow decomposition with the given coordinates.
sourcepub fn to_product(&self, g: &SylowDecomp<S, L, C>) -> C
pub fn to_product(&self, g: &SylowDecomp<S, L, C>) -> C
Returns the element of the original group with the given coordinates.
Trait Implementations§
source§impl<S, const L: usize, C: SylowDecomposable<S>> Factor<S> for SylowElem<S, L, C>
impl<S, const L: usize, C: SylowDecomposable<S>> Factor<S> for SylowElem<S, L, C>
source§const FACTORS: Factorization = _
const FACTORS: Factorization = _
The prime factorization of this object.
source§impl<S, const L: usize, C> GroupElem for SylowElem<S, L, C>where
C: SylowDecomposable<S> + Eq,
impl<S, const L: usize, C> GroupElem for SylowElem<S, L, C>where C: SylowDecomposable<S> + Eq,
source§fn multiply(&self, other: &SylowElem<S, L, C>) -> SylowElem<S, L, C>
fn multiply(&self, other: &SylowElem<S, L, C>) -> SylowElem<S, L, C>
Returns the product of two elements under the group binary operator.
If you implement this trait, you must guarantee that the operation is associative; that is,
a.multiply(b.multiply(c)) == a.multiply(b).multiply(c)
.source§fn inverse(&self) -> SylowElem<S, L, C>
fn inverse(&self) -> SylowElem<S, L, C>
Returns the multiplicative inverse of this element.
If you implement this trait, you must guarantee
x.inverse().multiply(x)
and
x.multiply(x.inverse())
both evaluate to ONE
.source§const ONE_256: [Self; 256] = _
const ONE_256: [Self; 256] = _
👎Deprecated: To be replaced by inline
const
expressions once stabilized.! 256 copies of
Self::ONE
in an array.source§impl<S, const L: usize, C: SylowDecomposable<S>> PartialEq<SylowElem<S, L, C>> for SylowElem<S, L, C>
impl<S, const L: usize, C: SylowDecomposable<S>> PartialEq<SylowElem<S, L, C>> for SylowElem<S, L, C>
source§impl<S, const L: usize, C: SylowDecomposable<S>> SylowDecomposable<S> for SylowElem<S, L, C>
impl<S, const L: usize, C: SylowDecomposable<S>> SylowDecomposable<S> for SylowElem<S, L, C>
source§fn find_sylow_generator(i: usize) -> Self
fn find_sylow_generator(i: usize) -> Self
Finds a Sylow generator for the Sylow subgroup of prime power index
i
.source§fn is_sylow_generator(candidate: &Self, d: (u128, usize)) -> Option<Self>
fn is_sylow_generator(candidate: &Self, d: (u128, usize)) -> Option<Self>
True if the given element is a generator of the Sylow subgroup of the prime power
represented by
d
.source§fn count_elements_of_order(ds: &[usize]) -> u128
fn count_elements_of_order(ds: &[usize]) -> u128
Returns the number of elements of a particular order.
The argument is the powers of the prime factors of the group’s order.
impl<S, const L: usize, C: SylowDecomposable<S>> Copy for SylowElem<S, L, C>
impl<S, const L: usize, C: SylowDecomposable<S>> Eq for SylowElem<S, L, C>
Auto Trait Implementations§
impl<S, const L: usize, C> RefUnwindSafe for SylowElem<S, L, C>where C: RefUnwindSafe, S: RefUnwindSafe,
impl<S, const L: usize, C> Send for SylowElem<S, L, C>where C: Send, S: Send,
impl<S, const L: usize, C> Sync for SylowElem<S, L, C>where C: Sync, S: Sync,
impl<S, const L: usize, C> Unpin for SylowElem<S, L, C>where C: Unpin, S: Unpin,
impl<S, const L: usize, C> UnwindSafe for SylowElem<S, L, C>where C: UnwindSafe, S: UnwindSafe,
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