pub struct CrossedModule {
pub g: FiniteGroup,
pub h: FiniteGroup,
pub partial: Vec<usize>,
}Expand description
A crossed module ∂: H → G — the algebraic model of a 2-group. partial[h] is ∂(h) ∈ G,
a group homomorphism. Its homotopy groups are π₁ = coker(∂) and π₂ = ker(∂).
Fields§
§g: FiniteGroup§h: FiniteGroup§partial: Vec<usize>partial[x] = ∂(x) for x ∈ H.
Implementations§
Source§impl CrossedModule
impl CrossedModule
Sourcepub fn is_homomorphism(&self) -> bool
pub fn is_homomorphism(&self) -> bool
∂ must be a group homomorphism: ∂(x · y) = ∂(x) · ∂(y).
Sourcepub fn pi_two(&self) -> Vec<usize>
pub fn pi_two(&self) -> Vec<usize>
π₂ = ker(∂) — the elements of H mapping to the identity of G. The genuine higher homotopy.
Sourcepub fn image_size(&self) -> usize
pub fn image_size(&self) -> usize
|im(∂)| — the size of ∂’s image in G.
Sourcepub fn pi_one_order(&self) -> usize
pub fn pi_one_order(&self) -> usize
|π₁| = |coker(∂)| = |G| / |im(∂)| (valid when im(∂) is normal, which holds for our examples).
Auto Trait Implementations§
impl Freeze for CrossedModule
impl RefUnwindSafe for CrossedModule
impl Send for CrossedModule
impl Sync for CrossedModule
impl Unpin for CrossedModule
impl UnsafeUnpin for CrossedModule
impl UnwindSafe for CrossedModule
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