Ripserer

Ripserer.ripsererFunction
ripserer(dists::AbstractMatrix; kwargs...)
ripserer(points; metric=Euclidean(), births, kwargs...)
ripserer(filtration::AbstractFiltration; kwargs...)

Compute the persistent homology of metric space represented by dists, points and metric or an ::AbstractFiltration.

If using points, points must be an array of bitstypes, such as NTuples or SVectors.

Keyoword Arguments

  • dim_max: compute persistent homology up to this dimension. Defaults to 1.
  • modulus: compute persistent homology with coefficients in the prime field of integers mod modulus. Defaults to 2.
  • field_type: use this type of field of coefficients. Defaults to Mod{modulus}.
  • threshold: compute persistent homology up to diameter smaller than threshold. For non-sparse Rips filtrations, it defaults to radius of input space.
  • cutoff: only keep intervals with persistence(interval) > cutoff. Defaults to 0.
  • reps: if true, return representative cocycles along with persistence intervals. Defaults to false.
  • progress: If true, show a progress bar. Defaults to false.
  • metric: when calculating persistent homology from points, any metric from Distances.jl can be used. Defaults to Euclidean().
  • births: when calculating persistent homology from points, births can be used to add birth times to vertices. Defaults to all births equal to 0.
source
Ripserer.RipsType
Rips{T, V<:AbstractSimplex{<:Any, T}} <: AbstractFlagFiltration{T, V}

This type represents a filtration of Vietoris-Rips complexes. Diagonal items are treated as vertex birth times.

Constructor

Rips(
    distance_matrix;
    threshold=default_rips_threshold(dist),
    vertex_type=Simplex{0, T, Int64},
)
source
Ripserer.SparseRipsType
SparseRips{T, V<:AbstractSimplex{<:Any, T}} <: AbstractFlagFiltration{T, V}

This type represents a filtration of Vietoris-Rips complexes. The distance matrix will be converted to a sparse matrix with all values greater than threshold deleted. Off-diagonal zeros in the matrix are treated as missing. Diagonal items are treated as vertex birth times.

Constructor

SparseRips(
    distance_matrix;
    threshold=nothing,
    vertex_type=Simplex{0, T, Int64},
)
source
Ripserer.CubicalType
Cubical{T, N} <: AbstractFiltration{T, <:Cubelet{0, T}}

Cubical is used to compute sublevel persistent homology on N-dimensional images, which are of type AbstractArray{T, N}.

Constructor

Cubical(::AbstractArray{T, N})
source