Filtration Interface
Ripserer.AbstractFiltration — TypeAbstractFiltrationA filtration is used to find the edges in filtration and to determine diameters of simplices.
Interface
n_vertices(::AbstractFiltration)edges(::AbstractFiltration)diam(::AbstractFiltration, vertices)diam(::AbstractFiltration, ::AbstractSimplex, ::Any, ::Any)- only used whensimplex_typeis anIndexedSimplex.simplex_type(::AbstractFiltration, dim)birth(::AbstractFiltration, v)- optional, defaults to returningzero(T).threshold(::AbstractFiltration)- optional, defaults to returningInf.postprocess_interval(::AbstractFiltration, ::Any)- optional postprocessing function that is applied to each interval in resulting persistence diagram.
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. Defaults to missing.
Ripserer.simplex_type — Functionsimplex_type(::AbstractFiltration, d)Return the d-dimensional simplex type in the filtration.
Ripserer.postprocess_interval — Functionpostprocess_diagram(::AbstractFiltration, interval)This function is called on each resulting persistence interval. The default implementation does nothing.
Ripserer.AbstractRipsFiltration — TypeAbstractRipsFiltration{I<:Signed, T} <: AbstractFiltrationAn abstract Vietoris-Rips filtration. Its subtypes can overload dist(::AbstractRipsFiltration{T}, u, v)::Union{T, Missing} instead of diam.
diam(::AbstractRipsFiltration, ...) then defaults to maximum [dist] among vertices.
Comes with default implementations of edges and simplex_type.
Ripserer.dist — Functiondist(::AbstractRipsFiltration, u, v)
dist(::AbstractRipsFiltration)Return the distance between vertices u and v. If the distance is higher than the threshold, return missing instead. If u and v are not given, return the distance matrix.