pub struct SimplicialComplex { /* private fields */ }Expand description
Simplicial complex for topological data analysis
A simplicial complex is a collection of simplices (points, edges, triangles, etc.) that are “glued together” in a consistent way.
Implementations§
Source§impl SimplicialComplex
impl SimplicialComplex
Sourcepub fn add_simplex(&mut self, vertices: &[EntityId])
pub fn add_simplex(&mut self, vertices: &[EntityId])
Add a simplex and all its faces to the complex
Sourcepub fn get_simplices(&self, dimension: usize) -> Vec<Simplex>
pub fn get_simplices(&self, dimension: usize) -> Vec<Simplex>
Get all simplices of a given dimension
Sourcepub fn count_simplices(&self, dimension: usize) -> usize
pub fn count_simplices(&self, dimension: usize) -> usize
Get the number of simplices of a given dimension
Sourcepub fn betti_number(&self, dimension: usize) -> usize
pub fn betti_number(&self, dimension: usize) -> usize
Compute Betti number for a given dimension
Betti numbers are topological invariants:
- β₀ = number of connected components
- β₁ = number of 1-dimensional holes (loops)
- β₂ = number of 2-dimensional holes (voids)
This is a simplified stub implementation.
Sourcepub fn filtration(&self, _epsilon_range: (f32, f32)) -> Filtration
pub fn filtration(&self, _epsilon_range: (f32, f32)) -> Filtration
Build filtration (nested sequence of complexes) for persistent homology
This is a stub - a full implementation would assign filtration values to simplices based on some metric (e.g., edge weights, distances).
Sourcepub fn persistent_homology(
&self,
_dimension: usize,
_epsilon_range: (f32, f32),
) -> PersistenceDiagram
pub fn persistent_homology( &self, _dimension: usize, _epsilon_range: (f32, f32), ) -> PersistenceDiagram
Compute persistent homology (stub implementation)
Returns a persistence diagram showing birth and death of topological features. This is a placeholder - full implementation requires:
- Building a filtration
- Constructing boundary matrices
- Column reduction algorithm
Trait Implementations§
Source§impl Clone for SimplicialComplex
impl Clone for SimplicialComplex
Source§fn clone(&self) -> SimplicialComplex
fn clone(&self) -> SimplicialComplex
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more