Filtration Interface

Ripserer.AbstractFiltrationType
AbstractFiltration{T, S<:AbstractSimplex}

A filtration is used to find the edges in filtration and to determine diameters of simplices.

T is the distance type, accessible by dist_type and S is the simplex type.

Interface

source
Ripserer.edgesMethod
edges(filtration::AbstractFiltration)

Get edges in distance matrix in filtration, sorted by decresing length and increasing combinatorial index. Edges should be of type simplex_type(filtration, 1)`.

source
Ripserer.diamMethod
diam(::AbstractFiltration, vertices)

Get the diameter of a simplex with the vertex set vertices. Should return missing if vertices do not form a valid simplex.

source
Ripserer.diamMethod
diam(::AbstractFiltration, simplex, vertices, new_vertex)

Get the diameter of coface of a Simplex that is formed by adding new_vertex to vertices. Should return missing if new simplex is not valid.

This functions is used with the coboundary function for IndexedSimplex

source
PersistenceDiagrams.thresholdMethod
threshold(::AbstractFiltration)

Get the threshold of filtration. This is the maximum diameter a simplex in the filtration can have. Used only for placing the infinity line in plotting.

source
Ripserer.AbstractRipsFiltrationType
AbstractRipsFiltration{T, S} <: AbstractFiltration{T, S}

An abstract Vietoris-Rips filtration. Its subtypes can overload dist(::AbstractRipsFiltration{T}, u, v)::Union{T, Missing} instead of diam. diam(::AbstractRipsFiltration, ...) defaults to maximum dist among vertices.

source
Ripserer.distFunction
dist(::AbstractRipsFiltration, u, v)

Return the distance between vertices u and v. If the distance is higher than the threshold, return missing instead.

source