pub struct BipersistenceModule { /* private fields */ }Expand description
Exact finite H¹ module of a degree-Rips bifiltration.
Cover maps are cohomology restrictions. Their ranks equal the ranks of the dual homology inclusion maps over the same field.
Implementations§
Source§impl BipersistenceModule
impl BipersistenceModule
Sourcepub fn class_atlas(
&self,
base_grade: Bigrade,
base_class: &[BipersistenceTerm],
) -> Result<CohomologyClassAtlas>
pub fn class_atlas( &self, base_grade: Bigrade, base_class: &[BipersistenceTerm], ) -> Result<CohomologyClassAtlas>
Compute all extensions of one nonzero class over its upper parameter cone.
Source§impl BipersistenceModule
impl BipersistenceModule
Sourcepub fn circular_coordinate_family(
&self,
atlas: &CohomologyClassAtlas,
params: CircularCoordinateParams,
) -> Result<CircularCoordinateFamily>
pub fn circular_coordinate_family( &self, atlas: &CohomologyClassAtlas, params: CircularCoordinateParams, ) -> Result<CircularCoordinateFamily>
Compute checked circular coordinates for every unique atlas extension.
Ambiguous and absent extensions have status CircularCoordinateFamilyStatus::NotAttempted.
Every unique extension has a lift failure, solve failure, or success
status. A failed computation is reported at its node, and does not
discard coordinates computed at other nodes.
Automatic family construction requires an odd prime coefficient modulus.
Modulus two requires a caller-supplied integral lift and is rejected
before any node computation.
Source§impl BipersistenceModule
impl BipersistenceModule
Sourcepub fn from_degree_rips(
degree_rips: &DegreeRipsBifiltration,
modulus: u32,
limits: BipersistenceLimits,
) -> Result<Self>
pub fn from_degree_rips( degree_rips: &DegreeRipsBifiltration, modulus: u32, limits: BipersistenceLimits, ) -> Result<Self>
Construct the complete finite H¹ module on a degree-Rips grid.
Construction checks every cover restriction and every commutative square. The degree-Rips input must include homology dimension one.
Sourcepub fn minimum_degrees(&self) -> &[usize]
pub fn minimum_degrees(&self) -> &[usize]
Minimum degrees in strict descending order.
Sourcepub fn nodes(&self) -> &[BipersistenceNode]
pub fn nodes(&self) -> &[BipersistenceNode]
Nodes in scale-major, then density-major order.
Sourcepub fn cover_maps(&self) -> &[BipersistenceMap]
pub fn cover_maps(&self) -> &[BipersistenceMap]
Checked horizontal and vertical cover maps.
Sourcepub fn degree_rips(&self) -> &DegreeRipsBifiltration
pub fn degree_rips(&self) -> &DegreeRipsBifiltration
Source degree-Rips bifiltration.
Sourcepub fn node(&self, grade: Bigrade) -> Result<&BipersistenceNode>
pub fn node(&self, grade: Bigrade) -> Result<&BipersistenceNode>
Return one module node.
Sourcepub fn h1_graph(&self, grade: Bigrade) -> Result<&SparseDistanceMatrix>
pub fn h1_graph(&self, grade: Bigrade) -> Result<&SparseDistanceMatrix>
Return the zero-weight graph used for H¹ at one grid node.
The graph retains inactive vertices as isolated labels. It represents
positive-dimensional flag cohomology, not H⁰ of the degree-Rips
slice.
Sourcepub fn cohomology_space(&self, grade: Bigrade) -> Result<&CohomologySpace>
pub fn cohomology_space(&self, grade: Bigrade) -> Result<&CohomologySpace>
Return the canonical H¹ space at one grid node.
Source§impl BipersistenceModule
impl BipersistenceModule
Sourcepub fn map(&self, lower: Bigrade, upper: Bigrade) -> Result<BipersistenceMap>
pub fn map(&self, lower: Bigrade, upper: Bigrade) -> Result<BipersistenceMap>
Compute the exact map between comparable grades.
The result composes cover maps. Checked commutative squares make the result independent of the chosen monotone path.
Sourcepub fn map_rank(&self, lower: Bigrade, upper: Bigrade) -> Result<usize>
pub fn map_rank(&self, lower: Bigrade, upper: Bigrade) -> Result<usize>
Rank of the exact map between comparable grades.
Sourcepub fn rectangle_rank(&self, rectangle: BipersistenceRectangle) -> Result<usize>
pub fn rectangle_rank(&self, rectangle: BipersistenceRectangle) -> Result<usize>
Compute the generalized rank of one closed rectangle.
The value is the rank of the canonical map from the diagram limit to its colimit. The same value is obtained from the dual homology module.
Sourcepub fn region_rank(&self, region: &BipersistenceRegion) -> Result<usize>
pub fn region_rank(&self, region: &BipersistenceRegion) -> Result<usize>
Compute the generalized rank of one connected finite region.
The value is the rank of the canonical map from the diagram limit to its colimit. Every comparable pair in the induced subposet contributes its exact module map. A region with a minimum and maximum has the rank of the map between those grades.
Trait Implementations§
Source§impl Clone for BipersistenceModule
impl Clone for BipersistenceModule
Source§fn clone(&self) -> BipersistenceModule
fn clone(&self) -> BipersistenceModule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for BipersistenceModule
impl RefUnwindSafe for BipersistenceModule
impl Send for BipersistenceModule
impl Sync for BipersistenceModule
impl Unpin for BipersistenceModule
impl UnsafeUnpin for BipersistenceModule
impl UnwindSafe for BipersistenceModule
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
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> ⓘ
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> ⓘ
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