Filtration Interface
Ripserer.AbstractFiltration — TypeAbstractFiltration{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
n_vertices(::AbstractFiltration)edges(::AbstractFiltration)diam(::AbstractFiltration, vertices)diam(::AbstractFiltration, ::AbstractSimplex, ::Any, ::Any)- only used whensimplex_typeis anIndexedSimplex.birth(::AbstractFiltration, v)- optional, defaults to returningzero(T).threshold(::AbstractFiltration)- optional, defaults to returningmissing.simplex_type(::AbstractFiltration, dim)
Ripserer.n_vertices — Methodn_vertices(filtration::AbstractFiltration)Return the number of vertices in filtration.
Ripserer.edges — Methodedges(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)`.
Ripserer.diam — Methoddiam(::AbstractFiltration, vertices)Get the diameter of a simplex with the vertex set vertices. Should return missing if vertices do not form a valid simplex.
Ripserer.diam — Methoddiam(::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
PersistenceDiagrams.birth — Methodbirth(::AbstractFiltration, v)Get the birth time of vertex v in filtration. Defaults to 0.
PersistenceDiagrams.threshold — Methodthreshold(::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.
Ripserer.simplex_type — Functionsimplex_type(::AbstractFiltration, d)Return the d-dimensional simplex type in the filtration.
Ripserer.AbstractRipsFiltration — TypeAbstractRipsFiltration{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.
Ripserer.dist — Functiondist(::AbstractRipsFiltration, u, v)Return the distance between vertices u and v. If the distance is higher than the threshold, return missing instead.