Filtrations
Ripserer.AbstractFiltration
— TypeAbstractFiltration{T, V<:AbstractSimplex{0, T}}
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 edge type, accesible by vertex_type
.
Interface
n_vertices(::AbstractFiltration)
edges(::AbstractFiltration)
diam(::AbstractFiltration, vs)
diam(::AbstractFiltration, ::AbstractSimplex, ::Any, ::Any)
birth(::AbstractFiltration, v)
- optional, defaults to returningzero(T)
.threshold(::AbstractFiltration)
- optional, defaults to returningmissing
.
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 edge_type(filtration)
.
Ripserer.diam
— Methoddiam(flt::AbstractFiltration, vertices)
Get the diameter of list of vertices i.e. diameter of simplex with vertices
. Retrun missing
if vertices
do not form a valid simplex.
Ripserer.diam
— Methoddiam(flt::AbstractFiltration, simplex, vertices, vertex)
Get the diameter of coface of a Simplex
that is formed by adding vertex
to vertices
. Return missing
if new simplex is not valid.
PersistenceDiagrams.birth
— Methodbirth(::AbstractFiltration, v)
Get the birth time of vertex v
.
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.AbstractFlagFiltration
— TypeAbstractFlagFiltration{T, V} <: AbstractFiltration{T, V}
An abstract flag filtration is a filtration of flag complexes. Its subtypes can overload dist(::AbstractFlagFiltration{T}, u, v)::Union{T, Missing}
instead of diam
. diam(::AbstractFlagFiltration, ...)
defaults to maximum dist
among vertices.