Loading...
Searching...
No Matches
Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField > Class Template Reference
Persistent Cohomology

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

`#include <include/gudhi/Persistent_cohomology.h>`

## Public Types

typedef FilteredComplex::Simplex_key | Simplex_key
| Data stored for each simplex.
typedef FilteredComplex::Simplex_handle | Simplex_handle
| Handle to specify a simplex.
typedef FilteredComplex::Filtration_value | Filtration_value
| Type for the value of the filtration function.
typedef CoefficientField::Element | Arith_element
| Type of element of the field.
typedef std::tuple< Simplex_handle, Simplex_handle, Arith_element > | Persistent_interval
| Type for birth and death FilteredComplex::Simplex_handle. The Arith_element field is used for the multi-field framework.
Public Types inherited from PersistentHomology
typedef unspecified | Filtered_complex
| Type of filtered cell complex on which persistent homology is computed.
typedef unspecified | Coefficient_field
| Type of coefficients to be used for computing persistent homology.

## Public Member Functions

| Persistent_cohomology (FilteredComplex &cpx, bool persistence_dim_max=false)
| Initializes the Persistent_cohomology class.
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.
void | output_diagram (std::ostream &ostream=std::cout)
| Output the persistence diagram in ostream.
std::vector< int > | betti_numbers () const
| Returns Betti numbers.
int | betti_number (int dimension) const
| Returns the Betti number of the dimension passed by parameter.
std::vector< int > | persistent_betti_numbers (Filtration_value from, Filtration_value to) const
| Returns the persistent Betti numbers.
int | persistent_betti_number (int dimension, Filtration_value from, Filtration_value to) const
| Returns the persistent Betti number of the dimension passed by parameter.
const std::vector< Persistent_interval > & | get_persistent_pairs () const
| Returns a list of persistence birth and death FilteredComplex::Simplex_handle pairs.
std::vector< std::pair< Filtration_value, Filtration_value > > | intervals_in_dimension (int dimension)
| Returns persistence intervals for a given dimension.

## 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)[DBLP:conf/esa/BoissonnatDM13], and is adapted to the computation of Multi-Field Persistent Homology (MF) [boissonnat:hal-00922572] .

Examples
  Random_bitmap_cubical_complex.cpp, alpha_complex_3d_persistence.cpp, alpha_complex_persistence.cpp, alpha_rips_persistence_bottleneck_distance.cpp, cech_persistence.cpp, cubical_complex_persistence.cpp, custom_persistence_sort.cpp, distance_matrix_edge_collapse_rips_persistence.cpp, edge_collapse_conserve_persistence.cpp, example_nearest_landmark_table.cpp, periodic_cubical_complex_persistence.cpp, persistence_from_simple_simplex_tree.cpp, plain_homology.cpp, point_cloud_edge_collapse_rips_persistence.cpp, rips_correlation_matrix_persistence.cpp, rips_distance_matrix_persistence.cpp, rips_multifield_persistence.cpp, rips_persistence.cpp, rips_persistence_step_by_step.cpp, rips_persistence_via_boundary_matrix.cpp, sparse_rips_persistence.cpp, strong_witness_persistence.cpp, and weak_witness_persistence.cpp.

## Constructor & Destructor Documentation

## Persistent_cohomology()

template<class FilteredComplex, class CoefficientField>

Gudhi::persistent_cohomology::Persistent_cohomology< FilteredComplex, CoefficientField >::Persistent_cohomology | ( | FilteredComplex & | cpx,
|  | bool | persistence_dim_max = false )

inline explicit

Initializes the Persistent_cohomology class.

Parameters

  [in] | cpx | Complex for which the persistent homology is computed. cpx is a model of FilteredComplex
  [in] | persistence_dim_max | if true, the persistent homology for the maximal dimension in the complex is computed. If false, it is ignored. Default is false.

Exceptions

  std::out_of_range | In case the number of simplices is more than Simplex_key type numeric limit.

## Member Function Documentation

## betti_number()

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] | dimension | The Betti number dimension to get.

Returns
  Betti number of the given dimension

## betti_numbers()

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.

## compute_persistent_cohomology()

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_length | the 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.

## get_persistent_pairs()

template<class FilteredComplex, class CoefficientField>

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

inline

Returns a list of persistence birth and death FilteredComplex::Simplex_handle pairs.

Returns
  A list of Persistent_cohomology::Persistent_interval

## intervals_in_dimension()

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] | dimension | Dimension to get the birth and death pairs from.

Returns
  A vector of persistence intervals (birth and death) on a fixed dimension.

## output_diagram()

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.

## persistent_betti_number()

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] | dimension | The Betti number dimension to get.
  [in] | from | The persistence birth limit to be added in the number \((persistent birth \leq from)\).
  [in] | to | The persistence death limit to be added in the number \((persistent death > to)\).

Returns
  Persistent Betti number of the given dimension

## persistent_betti_numbers()

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] | from | The persistence birth limit to be added in the number \((persistent birth \leq from)\).
  [in] | to | The 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:

- include/gudhi/Persistent_cohomology.h