Loading...
Searching...
No Matches
Gudhi::rips_complex::Rips_complex< Filtration_value > Class Template Reference

Rips complex data structure. More...

#include <include/gudhi/Rips_complex.h>

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
alpha_rips_persistence_bottleneck_distance.cpp, example_one_skeleton_rips_from_correlation_matrix.cpp, example_one_skeleton_rips_from_distance_matrix.cpp, example_one_skeleton_rips_from_points.cpp, example_rips_complex_from_csv_distance_matrix_file.cpp, example_rips_complex_from_off_file.cpp, rips_correlation_matrix_persistence.cpp, rips_distance_matrix_persistence.cpp, rips_multifield_persistence.cpp, rips_persistence.cpp, and rips_persistence_via_boundary_matrix.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]thresholdMaximal edge length. All edges of the graph strictly greater than threshold are not inserted in the graph.
[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]thresholdMaximal edge length. All edges of the graph strictly greater than threshold are not inserted in the graph.
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
example_one_skeleton_rips_from_correlation_matrix.cpp, example_one_skeleton_rips_from_distance_matrix.cpp, and example_one_skeleton_rips_from_points.cpp.

The documentation for this class was generated from the following file: