Loading...
Searching...
No Matches
FilteredComplex Struct Reference

The concept FilteredComplex describes the requirements for a type to implement a filtered cell complex, from which one can compute persistent homology via a model of the concept PersistentHomology. More...

`#include <concept/Persistent_cohomology/FilteredComplex.h>`

## Public Types

typedef unspecified | Simplex_handle
| Handle to specify a simplex.
typedef unspecified | Filtration_value
| Type for the value of the filtration function.
typedef unspecified | Indexing_tag
| Specifies the nature of the indexing scheme.
typedef unspecified | Boundary_simplex_iterator
| Iterator on the simplices belonging to the boundary of a simplex.
typedef unspecified | Boundary_simplex_range
| Range giving access to the simplices in the boundary of a simplex.
typedef unspecified | Filtration_simplex_iterator
| Iterator over all simplices of the complex in the order of the indexing scheme.
typedef unspecified | Filtration_simplex_range
| Range over the simplices of the complex in the order of the filtration.

## Public Member Functions

Simplex_handle | null_simplex ()
| Returns a Simplex_handle that is different from all simplex handles of the simplices.
size_t | num_simplices ()
| Returns the number of simplices in the complex.
int | dimension (Simplex_handle sh)
| Returns the dimension of a simplex.
Filtration_value | filtration (Simplex_handle sh)
| Returns the filtration value of a simplex.
Simplex_handle | simplex (size_t idx)
| Returns the simplex that has index idx in the filtration.
Boundary_simplex_range | boundary_simplex_range (Simplex_handle sh)
| Returns a range giving access to all simplices of the boundary of a simplex, i.e. the set of codimension 1 subsimplices of the Simplex.
Filtration_simplex_range | filtration_simplex_range ()
| Returns a range over the simplices of the complex in the order of the filtration.

## Map interface

Conceptually a std::unordered_map<Simplex_handle,std::size_t>.
typedef unspecified | Simplex_key
| Data stored for each simplex.
Simplex_key | null_key ()
| Returns a constant dummy number that is either negative, or at least as large as num_simplices(). Suggested value: -1.
Simplex_key | key (Simplex_handle sh)
| Returns the number stored for a simplex by assign_key.
void | assign_key (Simplex_handle sh, Simplex_key n)
| Store a number for a simplex, which can later be retrieved with key(sh).

## Detailed Description

The concept FilteredComplex describes the requirements for a type to implement a filtered cell complex, from which one can compute persistent homology via a model of the concept PersistentHomology.

## Member Typedef Documentation

## Boundary_simplex_iterator

typedef unspecified FilteredComplex::Boundary_simplex_iterator

Iterator on the simplices belonging to the boundary of a simplex.

`value_type` must be 'Simplex_handle'.

## Boundary_simplex_range

typedef unspecified FilteredComplex::Boundary_simplex_range

Range giving access to the simplices in the boundary of a simplex.

.begin() and .end() return type Boundary_simplex_iterator.

## Filtration_simplex_iterator

typedef unspecified FilteredComplex::Filtration_simplex_iterator

Iterator over all simplices of the complex in the order of the indexing scheme.

'value_type' must be 'Simplex_handle'.

## Filtration_simplex_range

typedef unspecified FilteredComplex::Filtration_simplex_range

Range over the simplices of the complex in the order of the filtration.

.begin() and .end() return type Filtration_simplex_iterator.

## Filtration_value

typedef unspecified FilteredComplex::Filtration_value

Type for the value of the filtration function.

Must be comparable with <.

## Indexing_tag

typedef unspecified FilteredComplex::Indexing_tag

Specifies the nature of the indexing scheme.

is model of IndexingTag.

## Simplex_key

typedef unspecified FilteredComplex::Simplex_key

Data stored for each simplex.

Must be an integer type.

## Member Function Documentation

## assign_key()

void FilteredComplex::assign_key | ( | Simplex_handle | sh,
|  | Simplex_key | n )

Store a number for a simplex, which can later be retrieved with key(sh).

This is never called on null_simplex().

## boundary_simplex_range()

Boundary_simplex_range FilteredComplex::boundary_simplex_range | ( | Simplex_handle | sh | ) |

Returns a range giving access to all simplices of the boundary of a simplex, i.e. the set of codimension 1 subsimplices of the Simplex.

If the simplex is \([v_0, \cdots ,v_d]\), with canonical orientation induced by \( v_0 < \cdots < v_d \), the iterator enumerates the simplices of the boundary in the order: \([v_0,\cdots,\widehat{v_i},\cdots,v_d]\) for \(i\) from 0 to d

We note that the alternate sum of the simplices given by the iterator gives the chains corresponding to the boundary of the simplex.

## filtration()

Filtration_value FilteredComplex::filtration | ( | Simplex_handle | sh | ) |

Returns the filtration value of a simplex.

If sh is null_simplex(), returns the maximal value of the filtration function on the complex.

## filtration_simplex_range()

Filtration_simplex_range FilteredComplex::filtration_simplex_range | ( |  | ) |

Returns a range over the simplices of the complex in the order of the filtration.

.begin() and .end() return type Filtration_simplex_iterator.

## key()

Simplex_key FilteredComplex::key | ( | Simplex_handle | sh | ) |

Returns the number stored for a simplex by assign_key.

This is never called on null_simplex().

## num_simplices()

size_t FilteredComplex::num_simplices | ( |  | ) |

Returns the number of simplices in the complex.

Does not count the empty simplex.

## simplex()

Simplex_handle FilteredComplex::simplex | ( | size_t | idx | ) |

Returns the simplex that has index idx in the filtration.

This is only called on valid indices.

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

- concept/Persistent_cohomology/FilteredComplex.h