computeVAB {TDAvec}R Documentation

A Vector Summary of the Betti Curve

Description

For a given persistence diagram D=\{(b_i,d_i)\}_{i=1}^N, computeVAB() vectorizes the Betti Curve

\beta(t)=\sum_{i=1}^N w(b_i,d_i)\bold 1_{[b_i,d_i)}(t),

where the weight function w(b,d)\equiv 1

Usage

computeVAB(D, homDim, scaleSeq)

Arguments

D

matrix with three columns containing the dimension, birth and death values respectively

homDim

homological dimension (0 for H_0, 1 for H_1, etc.)

scaleSeq

numeric vector of increasing scale values used for vectorization

Value

A numeric vector whose elements are the average values of the Betti curve computed between each pair of consecutive scale points of scaleSeq=\{t_1,t_2,\ldots,t_n\}:

\Big(\frac{1}{\Delta t_1}\int_{t_1}^{t_2}\beta(t)dt,\frac{1}{\Delta t_2}\int_{t_2}^{t_3}\beta(t)dt,\ldots,\frac{1}{\Delta t_{n-1}}\int_{t_{n-1}}^{t_n}\beta(t)dt\Big),

where \Delta t_k=t_{k+1}-t_k

Author(s)

Umar Islambekov, Hasani Pathirana

References

1. Chazal, F., & Michel, B. (2021). An Introduction to Topological Data Analysis: Fundamental and Practical Aspects for Data Scientists. Frontiers in Artificial Intelligence, 108.

2. Chung, Y. M., & Lawson, A. (2022). Persistence curves: A canonical framework for summarizing persistence diagrams. Advances in Computational Mathematics, 48(1), 1-42.

Examples

N <- 100 
set.seed(123)
# sample N points uniformly from unit circle and add Gaussian noise
X <- TDA::circleUnif(N,r=1) + rnorm(2*N,mean = 0,sd = 0.2)

# compute a persistence diagram using the Rips filtration built on top of X
D <- TDA::ripsDiag(X,maxdimension = 1,maxscale = 2)$diagram 

scaleSeq = seq(0,2,length.out=11) # sequence of scale values

# compute vector of averaged Bettis (VAB) for homological dimension H_0
computeVAB(D,homDim=0,scaleSeq)

# compute vector of averaged Bettis (VAB) for homological dimension H_1
computeVAB(D,homDim=1,scaleSeq)

[Package TDAvec version 0.1.3 Index]