Gudhi::rips_complex::Rips_complex< Filtration_value > Class Template Reference

Rips complex data structure. More...

Public Types

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, boost::property< vertex_filtration_t, Filtration_value >, boost::property< edge_filtration_t, Filtration_value > > OneSkeletonGraph
 Type of the one skeleton graph stored inside the Rips complex structure.
 

Public Member Functions

template<typename ForwardPointRange , typename Distance >
 Rips_complex (const ForwardPointRange &points, Filtration_value threshold, Distance distance)
 Rips_complex constructor from a list of points. More...
 
template<typename DistanceMatrix >
 Rips_complex (const DistanceMatrix &distance_matrix, Filtration_value threshold)
 Rips_complex constructor from a distance matrix. More...
 
template<typename SimplicialComplexForRips >
void create_complex (SimplicialComplexForRips &complex, int dim_max)
 Initializes the simplicial complex from the Rips graph and expands it until a given maximal dimension. More...
 

Detailed Description

template<typename Filtration_value>
class Gudhi::rips_complex::Rips_complex< Filtration_value >

Rips complex data structure.

The data structure is a one skeleton graph, or Rips graph, containing edges when the edge length is less or equal to a given threshold. Edge length is computed from a user given point cloud with a given distance function, or a distance matrix.

Template Parameters
Filtration_valueis the type used to store the filtration values of the simplicial complex.
Examples:
Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp, Persistent_cohomology/rips_multifield_persistence.cpp, Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp, Rips_complex/example_one_skeleton_rips_from_distance_matrix.cpp, Rips_complex/example_one_skeleton_rips_from_points.cpp, Rips_complex/example_rips_complex_from_csv_distance_matrix_file.cpp, Rips_complex/example_rips_complex_from_off_file.cpp, Rips_complex/rips_distance_matrix_persistence.cpp, and Rips_complex/rips_persistence.cpp.

Constructor & Destructor Documentation

◆ Rips_complex() [1/2]

template<typename Filtration_value >
template<typename ForwardPointRange , typename Distance >
Gudhi::rips_complex::Rips_complex< Filtration_value >::Rips_complex ( const ForwardPointRange &  points,
Filtration_value  threshold,
Distance  distance 
)
inline

Rips_complex constructor from a list of points.

Parameters
[in]pointsRange of points.
[in]thresholdRips value.
[in]distancedistance function that returns a Filtration_value from 2 given points.
Template Parameters
ForwardPointRangemust be a range for which std::begin and std::end return input iterators on a point.
Distancefurnishes operator()(const Point& p1, const Point& p2), where Point is a point from the ForwardPointRange, and that returns a Filtration_value.

◆ Rips_complex() [2/2]

template<typename Filtration_value >
template<typename DistanceMatrix >
Gudhi::rips_complex::Rips_complex< Filtration_value >::Rips_complex ( const DistanceMatrix &  distance_matrix,
Filtration_value  threshold 
)
inline

Rips_complex constructor from a distance matrix.

Parameters
[in]distance_matrixRange of distances.
[in]thresholdRips value.
Template Parameters
DistanceMatrixmust have a size() method and on which distance_matrix[i][j] returns the distance between points \(i\) and \(j\) as long as \( 0 \leqslant j < i \leqslant distance\_matrix.size().\)

Member Function Documentation

◆ create_complex()

template<typename Filtration_value >
template<typename SimplicialComplexForRips >
void Gudhi::rips_complex::Rips_complex< Filtration_value >::create_complex ( SimplicialComplexForRips complex,
int  dim_max 
)
inline

Initializes the simplicial complex from the Rips graph and expands it until a given maximal dimension.

Template Parameters
SimplicialComplexForRipsmust meet SimplicialComplexForRips concept.
Parameters
[in]complexSimplicialComplexForRips to be created.
[in]dim_maxgraph expansion for Rips until this given maximal dimension.
Exceptions
std::invalid_argumentIn debug mode, if complex.num_vertices() does not return 0.
Examples:
Rips_complex/example_one_skeleton_rips_from_distance_matrix.cpp, and Rips_complex/example_one_skeleton_rips_from_points.cpp.

The documentation for this class was generated from the following file:
GUDHI  Version 3.1.1  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding.  - Copyright : MIT Generated on Fri Feb 7 2020 16:35:36 for GUDHI by Doxygen 1.8.13