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

Sparse Rips complex data structure. More...

Public Member Functions

template<typename RandomAccessPointRange , typename Distance >
 Sparse_rips_complex (const RandomAccessPointRange &points, Distance distance, double const epsilon, Filtration_value const mini=-std::numeric_limits< Filtration_value >::infinity(), Filtration_value const maxi=std::numeric_limits< Filtration_value >::infinity())
 Sparse_rips_complex constructor from a list of points. More...
 
template<typename DistanceMatrix >
 Sparse_rips_complex (const DistanceMatrix &distance_matrix, double const epsilon, Filtration_value const mini=-std::numeric_limits< Filtration_value >::infinity(), Filtration_value const maxi=std::numeric_limits< Filtration_value >::infinity())
 Sparse_rips_complex constructor from a distance matrix. More...
 
template<typename SimplicialComplexForRips >
void create_complex (SimplicialComplexForRips &complex, int const dim_max)
 Fills the simplicial complex with the sparse Rips graph and expands it with all the cliques, stopping at a given maximal dimension. More...
 

Detailed Description

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

Sparse Rips complex data structure.

This class is used to construct a sparse \((1+O(\epsilon))\)-approximation of Rips_complex, i.e. a filtered simplicial complex that is multiplicatively \((1+O(\epsilon))\)-interleaved with the Rips filtration. More precisely, this is a \((1,\frac{1}{1-\epsilon}\)-interleaving.

Template Parameters
Filtration_valueis the type used to store the filtration values of the simplicial complex.
Examples
example_sparse_rips.cpp, and sparse_rips_persistence.cpp.

Constructor & Destructor Documentation

◆ Sparse_rips_complex() [1/2]

template<typename Filtration_value >
template<typename RandomAccessPointRange , typename Distance >
Gudhi::rips_complex::Sparse_rips_complex< Filtration_value >::Sparse_rips_complex ( const RandomAccessPointRange &  points,
Distance  distance,
double const  epsilon,
Filtration_value const  mini = -std::numeric_limits<Filtration_value>::infinity(),
Filtration_value const  maxi = std::numeric_limits<Filtration_value>::infinity() 
)
inline

Sparse_rips_complex constructor from a list of points.

Parameters
[in]pointsRange of points.
[in]distanceDistance function that returns a Filtration_value from 2 given points.
[in]epsilonApproximation parameter. epsilon must be positive.
[in]miniMinimal filtration value. Ignore anything below this scale. This is a less efficient version of Gudhi::subsampling::sparsify_point_set().
[in]maxiMaximal filtration value. Ignore anything above this scale.

◆ Sparse_rips_complex() [2/2]

template<typename Filtration_value >
template<typename DistanceMatrix >
Gudhi::rips_complex::Sparse_rips_complex< Filtration_value >::Sparse_rips_complex ( const DistanceMatrix &  distance_matrix,
double const  epsilon,
Filtration_value const  mini = -std::numeric_limits<Filtration_value>::infinity(),
Filtration_value const  maxi = std::numeric_limits<Filtration_value>::infinity() 
)
inline

Sparse_rips_complex constructor from a distance matrix.

Parameters
[in]distance_matrixRange of range of distances. distance_matrix[i][j] returns the distance between points \(i\) and \(j\) as long as \( 0 \leqslant j < i \leqslant distance\_matrix.size().\)
[in]epsilonApproximation parameter. epsilon must be positive.
[in]miniMinimal filtration value. Ignore anything below this scale. This is a less efficient version of Gudhi::subsampling::sparsify_point_set().
[in]maxiMaximal filtration value. Ignore anything above this scale.

Member Function Documentation

◆ create_complex()

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

Fills the simplicial complex with the sparse Rips graph and expands it with all the cliques, stopping at a given maximal dimension.

Template Parameters
SimplicialComplexForRipsmust meet SimplicialComplexForRips concept.
Parameters
[in]complexthe complex to fill
[in]dim_maxmaximal dimension of the simplicial complex.
Exceptions
std::invalid_argumentIn debug mode, if complex.num_vertices() does not return 0.
Examples
example_sparse_rips.cpp.

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