pub struct CoreReduction { /* private fields */ }Expand description
Replayable evidence that beat-point deletions reach a canonical core.
Implementations§
Source§impl CoreReduction
impl CoreReduction
Sourcepub fn deletions(&self) -> &[BeatPoint]
pub fn deletions(&self) -> &[BeatPoint]
Beat-point deletions, in replay order and in original vertex ids.
Sourcepub fn retained_vertices(&self) -> &[VertexId] ⓘ
pub fn retained_vertices(&self) -> &[VertexId] ⓘ
Map from reduced-poset ids to retained original vertex ids.
Sourcepub fn canonical_labeling(&self) -> &Permutation
pub fn canonical_labeling(&self) -> &Permutation
Final permutation from reduced-poset ids to canonical-core ids.
Sourcepub fn graded_homology_invariants(
&self,
) -> Result<Vec<FinitelyGeneratedAbelianGroup>, PosetError>
pub fn graded_homology_invariants( &self, ) -> Result<Vec<FinitelyGeneratedAbelianGroup>, PosetError>
Compute lean integral homology from the canonical core.
Beat-point deletion preserves the homotopy type of the order complex, so these groups are also the integral homology of the source poset. The returned vector is indexed by homological degree.
Trait Implementations§
Source§impl Clone for CoreReduction
impl Clone for CoreReduction
Source§fn clone(&self) -> CoreReduction
fn clone(&self) -> CoreReduction
Returns a duplicate 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 moreAuto Trait Implementations§
impl !Freeze for CoreReduction
impl RefUnwindSafe for CoreReduction
impl Send for CoreReduction
impl Sync for CoreReduction
impl Unpin for CoreReduction
impl UnwindSafe for CoreReduction
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<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