computeECC {TDAvec}R Documentation

A Vector Summary of the Euler Characteristic Curve

Description

Vectorizes the Euler characteristic curve

χ(t)=k=0d(1)kβk(t),\chi(t)=\sum_{k=0}^d (-1)^k\beta_k(t),

where β0,β1,,βd\beta_0,\beta_1,\ldots,\beta_d are the Betti curves corresponding to persistence diagrams D0,D1,,DdD_0,D_1,\ldots,D_d of dimeansions 0,1,,d0,1,\ldots,d respectively, all computed from the same filtration

Usage

computeECC(D, maxhomDim, scaleSeq)

Arguments

D

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

maxhomDim

maximum homological dimension considered (0 for H0H_0, 1 for H1H_1, etc.)

scaleSeq

numeric vector of increasing scale values used for vectorization

Value

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

(1Δt1t1t2χ(t)dt,1Δt2t2t3χ(t)dt,,1Δtn1tn1tnχ(t)dt),\Big(\frac{1}{\Delta t_1}\int_{t_1}^{t_2}\chi(t)dt,\frac{1}{\Delta t_2}\int_{t_2}^{t_3}\chi(t)dt,\ldots,\frac{1}{\Delta t_{n-1}}\int_{t_{n-1}}^{t_n}\chi(t)dt\Big),

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

Author(s)

Umar Islambekov

References

1. Richardson, E., & Werman, M. (2014). Efficient classification using the Euler characteristic. Pattern Recognition Letters, 49, 99-106.

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 ECC 
computeECC(D,maxhomDim=1,scaleSeq)

[Package TDAvec version 0.1.3 Index]