|
CGAL 6.2 - Homological Discrete Vector Fields
|
The concept Filtration describes the requirements for persistent filtrations associated to persistent homology computation.
A filtration is associated to an AbstractChainComplex. Each cell is equiped with a scalar value (called its degree) and the filtration is an enumeration of cells in any dimension by increasing degrees.
A filtration class provides:
operator<<() to output filtrations.Cells are indexed along each dimension and thus identified by their index together with their dimension.
CGAL::Homological_discrete_vector_field::Filtration_core<ChainComplex,Degree> CGAL::Homological_discrete_vector_field::Filtration_lower_star<ChainComplex,Degree> Concepts | |
| concept | Filtration_iter_value |
| Value type of the filtration iterator. More... | |
| concept | iterator |
| The iterator over filtration. More... | |
Public Types | |
| typedef unspecified_type | Complex |
| Type of the underlying complex. | |
| typedef unspecified_type | Degree |
(Scalar) type of degrees (model of RealEmbeddable). | |
| typedef Complex::Coefficient_ring | Coefficient_ring |
| Type of coefficients used to compute homology. | |
| typedef std::pair< size_t, int > | Cell |
| Type for indexing uniquely a cell. | |
Public Member Functions | |
| iterator | begin () |
| Iterator to the beginning of the filtration. | |
| iterator | end () |
| Returns a past-the-end iterator. | |
| size_t | size () const |
| Gets the filtration size. | |
| Cell | cell_index_dimension (size_t i) const |
Gets the cell (that is cell index and dimension) at the index i of the filtration. | |
| Degree | degree (size_t i) const |
Gets the degree of the ith element of the filtration. | |
| bool | is_valid () const |
| Checks that a filtration is valid. | |
Protected Types | |
| typedef SparseMatrix< Coefficient_ring, CGAL::OSM::COLUMN > | Column_matrix |
| Type of column-major sparse matrices. | |
| typedef SparseMatrix< Coefficient_ring, CGAL::OSM::ROW > | Row_matrix |
| Type of row-major sparse matrices. | |
| typedef SparseChain< Coefficient_ring, CGAL::OSM::COLUMN > | Column_chain |
| Type of column-major chains. | |
| typedef SparseChain< Coefficient_ring, CGAL::OSM::ROW > | Row_chain |
| Type of row-major chains. | |
Related Functions | |
(Note that these are not member functions.) | |
| istream & | operator>> (istream &in, Filtration &f) |
| extracts a filtration from a stream. | |
| ostream & | operator<< (ostream &out, const Filtration &f) |
| Inserts a filtration into a stream. | |
| typedef std::pair<size_t, int> Filtration::Cell |
Type for indexing uniquely a cell.
As stated in AbstractChainComplex, cells are identified by their dimension, together with their index along this dimension. The type Cell stores this pair:
| bool Filtration::is_valid | ( | ) | const |
Checks that a filtration is valid.
Checks that cells are ordered in increasing degrees and all cells have indices larger than their faces.