Loading...
Searching...
No Matches
FilteredComplex Struct Reference

The concept FilteredComplex describes the requirements for a type to implement a filtered cell complex, from which one can compute persistent homology via a model of the concept PersistentHomology. More...

#include <concept/Persistent_cohomology/FilteredComplex.h>

Public Types

typedef unspecified Simplex_handle
 Handle to specify a simplex.
 
typedef unspecified Filtration_value
 Type for the value of the filtration function. More...
 
typedef unspecified Indexing_tag
 Specifies the nature of the indexing scheme. More...
 
typedef unspecified Boundary_simplex_iterator
 Iterator on the simplices belonging to the boundary of a simplex. More...
 
typedef unspecified Boundary_simplex_range
 Range giving access to the simplices in the boundary of a simplex. More...
 
typedef unspecified Filtration_simplex_iterator
 Iterator over all simplices of the complex in the order of the indexing scheme. More...
 
typedef unspecified Filtration_simplex_range
 Range over the simplices of the complex in the order of the filtration. More...
 

Public Member Functions

Simplex_handle null_simplex ()
 Returns a Simplex_handle that is different from all simplex handles of the simplices.
 
size_t num_simplices ()
 Returns the number of simplices in the complex. More...
 
int dimension (Simplex_handle sh)
 Returns the dimension of a simplex.
 
Filtration_value filtration (Simplex_handle sh)
 Returns the filtration value of a simplex. More...
 
Simplex_handle simplex (size_t idx)
 Returns the simplex that has index idx in the filtration. More...
 
Boundary_simplex_range boundary_simplex_range (Simplex_handle sh)
 Returns a range giving access to all simplices of the boundary of a simplex, i.e. the set of codimension 1 subsimplices of the Simplex. More...
 
Filtration_simplex_range filtration_simplex_range ()
 Returns a range over the simplices of the complex in the order of the filtration. More...
 

Map interface

Conceptually a std::unordered_map<Simplex_handle,std::size_t>.

typedef unspecified Simplex_key
 Data stored for each simplex. More...
 
Simplex_key null_key ()
 Returns a constant dummy number that is either negative, or at least as large as num_simplices(). Suggested value: -1.

 
Simplex_key key (Simplex_handle sh)
 Returns the number stored for a simplex by assign_key. More...
 
void assign_key (Simplex_handle sh, Simplex_key n)
 Store a number for a simplex, which can later be retrieved with key(sh). More...
 

Detailed Description

The concept FilteredComplex describes the requirements for a type to implement a filtered cell complex, from which one can compute persistent homology via a model of the concept PersistentHomology.

Member Typedef Documentation

◆ Boundary_simplex_iterator

Iterator on the simplices belonging to the boundary of a simplex.

value_type must be 'Simplex_handle'.

◆ Boundary_simplex_range

Range giving access to the simplices in the boundary of a simplex.

.begin() and .end() return type Boundary_simplex_iterator.

◆ Filtration_simplex_iterator

Iterator over all simplices of the complex in the order of the indexing scheme.

'value_type' must be 'Simplex_handle'.

◆ Filtration_simplex_range

Range over the simplices of the complex in the order of the filtration.

.begin() and .end() return type Filtration_simplex_iterator.

◆ Filtration_value

typedef unspecified FilteredComplex::Filtration_value

Type for the value of the filtration function.

Must be comparable with <.

◆ Indexing_tag

typedef unspecified FilteredComplex::Indexing_tag

Specifies the nature of the indexing scheme.

is model of IndexingTag.

◆ Simplex_key

typedef unspecified FilteredComplex::Simplex_key

Data stored for each simplex.

Must be an integer type.

Member Function Documentation

◆ assign_key()

void FilteredComplex::assign_key ( Simplex_handle  sh,
Simplex_key  n 
)

Store a number for a simplex, which can later be retrieved with key(sh).

This is never called on null_simplex().

◆ boundary_simplex_range()

Boundary_simplex_range FilteredComplex::boundary_simplex_range ( Simplex_handle  sh)

Returns a range giving access to all simplices of the boundary of a simplex, i.e. the set of codimension 1 subsimplices of the Simplex.

If the simplex is \([v_0, \cdots ,v_d]\), with canonical orientation induced by \( v_0 < \cdots < v_d \), the iterator enumerates the simplices of the boundary in the order: \([v_0,\cdots,\widehat{v_i},\cdots,v_d]\) for \(i\) from 0 to d

We note that the alternate sum of the simplices given by the iterator gives the chains corresponding to the boundary of the simplex.

◆ filtration()

Filtration_value FilteredComplex::filtration ( Simplex_handle  sh)

Returns the filtration value of a simplex.

If sh is null_simplex(), returns the maximal value of the filtration function on the complex.

◆ filtration_simplex_range()

Filtration_simplex_range FilteredComplex::filtration_simplex_range ( )

Returns a range over the simplices of the complex in the order of the filtration.

.begin() and .end() return type Filtration_simplex_iterator.

◆ key()

Simplex_key FilteredComplex::key ( Simplex_handle  sh)

Returns the number stored for a simplex by assign_key.

This is never called on null_simplex().

◆ num_simplices()

size_t FilteredComplex::num_simplices ( )

Returns the number of simplices in the complex.

Does not count the empty simplex.

◆ simplex()

Simplex_handle FilteredComplex::simplex ( size_t  idx)

Returns the simplex that has index idx in the filtration.

This is only called on valid indices.


The documentation for this struct was generated from the following file: