A Java High Performance Tool For Topological Data Analysis
For a more formal introduction to topology we refer to:
Topological spaces can be characterized by using topological invariants, algebraic objects which is invariant under homeomorphisms. Homology, one among the topological invariants, is a machinery for counting the number of n-dimensional holes. Persistent homology is the computational implementation of homology, which allows one to describe a simplicial complex in terms of n-dimensional holes. These holes are expressed by the Betti numbers Bi: B0 corresponds to the number of connected components; B1 corresponds to the number of planar holes; B2 corresponds to the number of voids in solid objects (2-dimensional holes), etc. Persistent homology is an incremental construction of the final filtered simplicial complex, as shown in Figure-3. In this case, Betti numbers, are visualised through barcodes. Barcodes is a graphical representation of Betti generators whose horizontal axis corresponds to the filtration parameter and whose vertical axis represents ordering of homology generators.
A simplicial complex is a geometrical representation of a topological space which is realized as a union of simplicies, such as points (0-simplex), line segment (1-simplex), triangles (2-simplex), tetrahedron (3-simplex) and other higher dimensional cousins. Simplicial complexes provide a particularly simple combinatorial way to describe certain topological spaces, if the complexes fulfill two conditions: the faces of the simplex k should be also in k and the intersection of any two simplices in k is either empty or share common faces.
Topology is the branch of geometry that studies shapes, it classifies objects, according to properties that do not change under certain feasible transformations, to capture more qualitative information about shapes. In this notion, a coffee cup and a torus are topologically equivalent; both have a single hole and can be deformed from one into another without tearing or gluing.