|
CGAL 6.2 - Homological Discrete Vector Fields
|
Concepts | |
| concept | AbstractChainComplex |
The concept AbstractChainComplex describes the requirements for (topological) chain complexes associated to abstract complexes used in the concept HDVF. More... | |
| concept | Filtration |
The concept Filtration describes the requirements for persistent filtrations associated to persistent homology computation. More... | |
| concept | GeometricChainComplex |
The concept GeometricChainComplex refines the concept AbstractChainComplex and describes the requirements for (topological) chain complexes associated to geometric complexes used in the concept HDVF. It adds to AbstractChainComplex methods to get vertex coordinates. More... | |
| concept | HDVF |
The concept HDVF describes the requirements for Homological Discrete Vector Fields (HDVF for short) , a theory of computational homology unifying discrete Morse theory and effective homology. HDVFs were introduced by Aldo Gonzalez-Lorenzo in his PhD (see [AGL,2017], [AGL,2016]). More... | |
| concept | HDVFTraits |
The concept HDVFTraits describes the requirements for geometric traits classes used in this package. More... | |
| concept | SparseChain |
The concept SparseChain describes the requirements for sparse vectors (called sparse chains in homology) optimized for topological computations. More precisely, SparseChain provides all the operations on chains required by the SparseMatrix concept. More... | |
| concept | SparseMatrix |
The concept SparseMatrix describes the requirements for sparse matrices optimized for topological computations. Traditionally, sparse matrices data structures encode non zero coefficients of (sparse) matrices in order to optimize either matrices memory footprint, or linear algebra operations (which usually comes to optimize iterators over non zero coefficients and access to coefficients). However, topological operations require slightly different features: More... | |
| class AbstractChainComplex | dimension () |
| Returns the dimension of the complex, that is, the largest dimension of cells. | |
| size_t | number_of_cells (int q) |
Returns the number of cells of dimension q. | |
| const vector< Column_matrix > & | boundary_matrices () const |
| Returns all boundary matrices. | |
| const Column_matrix & | boundary_matrix (int q) const |
Returns the boundary matrix of dimension q (ie. the matrix of \(\partial_q\)). | |
| Column_chain | d (size_t id_cell, int q) |
Returns the boundary of the cell of index id_cell in dimension q. | |
| Row_chain | cod (size_t id_cell, int q) |
Returns the co-boundary of the cell of index id_cell in dimension q. | |
| std::vector< size_t > | bottom_faces (size_t id_cell, int q) const |
| Returns the vertices of a given cell (that is, the indices of its faces of dimension 0). | |
| template<typename CoefficientR , int StorageF> | |
| Column_chain | cofaces_chain (SparseChain< CoefficientR, StorageF > chain, int q) const |
Returns the cofaces of a given chain in dimension q. | |
| const vector< Column_matrix > & boundary_matrices | ( | ) | const |
#include <Concepts/AbstractChainComplex.h>
Returns all boundary matrices.
The function returns constant reference to a vector of column-major sparse matrices. The q-th element of this vector is the matrix of \(\partial_q\), which gives the boundary of cells of dimension q(as a linear combination of q-1 cells).
| const Column_matrix & boundary_matrix | ( | int | q | ) | const |
#include <Concepts/AbstractChainComplex.h>
Returns the boundary matrix of dimension q (ie. the matrix of \(\partial_q\)).
The function returns a column-major sparse matrices.
| Row_chain cod | ( | size_t | id_cell, |
| int | q | ||
| ) |
#include <Concepts/AbstractChainComplex.h>
Returns the co-boundary of the cell of index id_cell in dimension q.
This boundary is a finite linear combination of cells of dimension q+1. It is encoded as a row-major chain (which maps each cell with a non-zero coefficient to this coefficient). This co-boundary is thus the id_cell-th row of the boundary matrix in dimension q+1.
| Column_chain cofaces_chain | ( | SparseChain< CoefficientR, StorageF > | chain, |
| int | q | ||
| ) | const |
#include <Concepts/AbstractChainComplex.h>
Returns the cofaces of a given chain in dimension q.
The resulting chain, whatever the storage format of the input, is column-major, lies in dimension q+1 and is null if this dimension exceeds the dimension of the complex.
| CoefficientR | CoefficientRing of the chain. |
| StorageF | StorageFormat of the chain. |
| Column_chain d | ( | size_t | id_cell, |
| int | q | ||
| ) |
#include <Concepts/AbstractChainComplex.h>
Returns the boundary of the cell of index id_cell in dimension q.
This boundary is a finite linear combination of cells of dimension q-1. It is encoded as a column-major chain (which maps each cell with a non-zero coefficient to this coefficient). This boundary is thus the id_cell-th column of the boundary matrix in dimension q.
| size_t number_of_cells | ( | int | q | ) |
#include <Concepts/AbstractChainComplex.h>
Returns the number of cells of dimension q.
If q is negative of larger than the dimension of the complex, returns 0.