Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField > Class Template Reference

Computes the persistent cohomology of a filtered complex. More...

Public Member Functions

 Persistent_cohomology (Complex_ds &cpx)
 Initializes the Persistent_cohomology class. More...
 
 Persistent_cohomology (Complex_ds &cpx, bool persistence_dim_max)
 Initializes the Persistent_cohomology class. More...
 
void init_coefficients (int charac)
 Initializes the coefficient field.
 
void init_coefficients (int charac_min, int charac_max)
 Initializes the coefficient field for multi-field persistent homology.
 
void compute_persistent_cohomology (Filtration_value min_interval_length=0)
 Compute the persistent homology of the filtered simplicial complex. More...
 
void output_diagram (std::ostream &ostream=std::cout)
 Output the persistence diagram in ostream. More...
 
std::vector< int > betti_numbers () const
 Returns Betti numbers. More...
 
int betti_number (int dimension) const
 Returns the Betti number of the dimension passed by parameter. More...
 
std::vector< int > persistent_betti_numbers (Filtration_value from, Filtration_value to) const
 Returns the persistent Betti numbers. More...
 
int persistent_betti_number (int dimension, Filtration_value from, Filtration_value to) const
 Returns the persistent Betti number of the dimension passed by parameter. More...
 
const std::vector< Persistent_interval > & get_persistent_pairs () const
 Returns the persistent pairs. More...
 
std::vector< std::pair< Filtration_value, Filtration_value > > intervals_in_dimension (int dimension)
 Returns persistence intervals for a given dimension. More...
 

Additional Inherited Members

- Public Types inherited from PersistentHomology
typedef unspecified Filtered_complex
 Type of filtered cell complex on which persistent homology is computed. More...
 
typedef unspecified Coefficient_field
 Type of coefficients to be used for computing persistent homology. More...
 

Detailed Description

template<class FilteredComplex, class CoefficientField>
class Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >

Computes the persistent cohomology of a filtered complex.

The computation is implemented with a Compressed Annotation Matrix (CAM)[6], and is adapted to the computation of Multi-Field Persistent Homology (MF) [4] .

Examples:
Bitmap_cubical_complex/Bitmap_cubical_complex.cpp, Bitmap_cubical_complex/Bitmap_cubical_complex_periodic_boundary_conditions.cpp, Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp, Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp, Persistent_cohomology/alpha_complex_3d_persistence.cpp, Persistent_cohomology/alpha_complex_persistence.cpp, Persistent_cohomology/custom_persistence_sort.cpp, Persistent_cohomology/exact_alpha_complex_3d_persistence.cpp, Persistent_cohomology/periodic_alpha_complex_3d_persistence.cpp, Persistent_cohomology/persistence_from_file.cpp, Persistent_cohomology/persistence_from_simple_simplex_tree.cpp, Persistent_cohomology/plain_homology.cpp, Persistent_cohomology/rips_distance_matrix_persistence.cpp, Persistent_cohomology/rips_multifield_persistence.cpp, Persistent_cohomology/rips_persistence.cpp, Persistent_cohomology/rips_persistence_step_by_step.cpp, Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp, Persistent_cohomology/weighted_alpha_complex_3d_persistence.cpp, Witness_complex/example_nearest_landmark_table.cpp, Witness_complex/example_strong_witness_persistence.cpp, and Witness_complex/example_witness_complex_persistence.cpp.

Constructor & Destructor Documentation

template<class FilteredComplex, class CoefficientField>
Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::Persistent_cohomology ( Complex_ds cpx)
inlineexplicit

Initializes the Persistent_cohomology class.

Parameters
[in]cpxComplex for which the persistent homology is computed. cpx is a model of FilteredComplex
Exceptions
std::out_of_rangeIn case the number of simplices is more than Simplex_key type numeric limit.
template<class FilteredComplex, class CoefficientField>
Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::Persistent_cohomology ( Complex_ds cpx,
bool  persistence_dim_max 
)
inline

Initializes the Persistent_cohomology class.

Parameters
[in]cpxComplex for which the persistent homology is compiuted. cpx is a model of FilteredComplex
[in]persistence_dim_maxif true, the persistent homology for the maximal dimension in the complex is computed. If false, it is ignored. Default is false.

Member Function Documentation

template<class FilteredComplex, class CoefficientField>
int Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::betti_number ( int  dimension) const
inline

Returns the Betti number of the dimension passed by parameter.

Parameters
[in]dimensionThe Betti number dimension to get.
Returns
Betti number of the given dimension
template<class FilteredComplex, class CoefficientField>
std::vector<int> Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::betti_numbers ( ) const
inline

Returns Betti numbers.

Returns
A vector of Betti numbers.
template<class FilteredComplex, class CoefficientField>
void Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::compute_persistent_cohomology ( Filtration_value  min_interval_length = 0)
inline

Compute the persistent homology of the filtered simplicial complex.

Parameters
[in]min_interval_lengththe computation discards all intervals of length less or equal than min_interval_length

Assumes that the filtration provided by the simplicial complex is valid. Undefined behavior otherwise.

template<class FilteredComplex, class CoefficientField>
const std::vector<Persistent_interval>& Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::get_persistent_pairs ( ) const
inline

Returns the persistent pairs.

Returns
Persistent pairs
template<class FilteredComplex, class CoefficientField>
std::vector< std::pair< Filtration_value , Filtration_value > > Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::intervals_in_dimension ( int  dimension)
inline

Returns persistence intervals for a given dimension.

Parameters
[in]dimensionDimension to get the birth and death pairs from.
Returns
A vector of persistence intervals (birth and death) on a fixed dimension.
template<class FilteredComplex, class CoefficientField>
void Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::output_diagram ( std::ostream &  ostream = std::cout)
inline

Output the persistence diagram in ostream.

The file format is the following: p1*...*pr dim b d

where "dim" is the dimension of the homological feature, b and d are respectively the birth and death of the feature and p1*...*pr is the product of prime numbers pi such that the homology feature exists in homology with Z/piZ coefficients.

template<class FilteredComplex, class CoefficientField>
int Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::persistent_betti_number ( int  dimension,
Filtration_value  from,
Filtration_value  to 
) const
inline

Returns the persistent Betti number of the dimension passed by parameter.

Parameters
[in]dimensionThe Betti number dimension to get.
[in]fromThe persistence birth limit to be added in the number $(persistent birth \leq from)$.
[in]toThe persistence death limit to be added in the number $(persistent death > to)$.
Returns
Persistent Betti number of the given dimension
template<class FilteredComplex, class CoefficientField>
std::vector<int> Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::persistent_betti_numbers ( Filtration_value  from,
Filtration_value  to 
) const
inline

Returns the persistent Betti numbers.

Parameters
[in]fromThe persistence birth limit to be added in the number $(persistent birth \leq from)$.
[in]toThe persistence death limit to be added in the number $(persistent death > to)$.
Returns
A vector of persistent Betti numbers.

The documentation for this class was generated from the following file:
GUDHI  Version 2.0.0  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. Generated on Wed Apr 19 2017 22:26:17 for GUDHI by doxygen 1.8.11