Skip to contents

AlphaComplex is a simplicial complex constructed from the finite cells of a Delaunay Triangulation.

Details

The filtration value of each simplex is computed as the square of the circumradius of the simplex if the circumsphere is empty (the simplex is then said to be Gabriel), and as the minimum of the filtration values of the codimension 1 cofaces that make it not Gabriel otherwise. All simplices that have a filtration value strictly greater than a given alpha squared value are not inserted into the complex.

See also

Other filtrations and reconstructions: RipsComplex, TangentialComplex, WitnessComplex

Author

Vincent Rouvreau

Super class

rgudhi::PythonClass -> AlphaComplex

Methods

Inherited methods


Method new()

AlphaComplex constructor.

Usage

AlphaComplex$new(points, precision = "safe")

Arguments

points

Either a n x d matrix or a length-n list of d-dimensional vectors or a file with extension .off.

precision

A string specifying the alpha complex precision. Can be one of "fast", "safe" or "exact". Defaults to "safe".

Returns

A AlphaComplex object storing the Alpha complex.


Method create_simplex_tree()

Generates a simplex tree from the Delaunay triangulation.

Usage

AlphaComplex$create_simplex_tree(
  max_alpha_square = Inf,
  default_filtration_value = FALSE
)

Arguments

max_alpha_square

A numeric value specifying the maximum alpha square threshold the simplices shall not exceed. Default is set to Inf, and there is very little point using anything else since it does not save time.

default_filtration_value

A boolean specifying whether filtration values should not be computed and will be set to NaN (default_filtration_value = TRUE). Defaults to FALSE (which means compute the filtration values).

Returns

A SimplexTree object storing the computed simplex tree.


Method get_point()

This function returns the point corresponding to a given vertex from the SimplexTree.

Usage

AlphaComplex$get_point(vertex)

Arguments

vertex

An integer value specifying the desired vertex.

Returns

A numeric vector storing the point corresponding to the input vertex.


Method clone()

The objects of this class are cloneable with this method.

Usage

AlphaComplex$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

if (FALSE) { # reticulate::py_module_available("gudhi")
Xl <- seq_circle(10)
Xm <- Reduce(rbind, Xl, init = numeric())
acm <- AlphaComplex$new(points = Xm)
acl <- AlphaComplex$new(points = Xl)
acl
}
if (FALSE) { # reticulate::py_module_available("gudhi")
X <- seq_circle(10)
ac <- AlphaComplex$new(points = X)
st <- ac$create_simplex_tree()
}
if (FALSE) { # reticulate::py_module_available("gudhi")
X <- seq_circle(10)
ac <- AlphaComplex$new(points = X)
st <- ac$create_simplex_tree()
ac$get_point(1)
}