A Java High Performance Tool For Topological Data Analysis

The figure above is the graphical representation of jHoles. jHoles implements the following algorithm for completing a weighted undirected graph to a filtered simplicial complex

- Extract the descending (ascending) list W of all weights wt indexed by the discrete parameter t ;
- (Parallel) List all maximal cliques of each connected component in G with the Bron-Kerbosch algorithm;
- (Parallel) Find recursively all permutations of each clique (clique tessellation with a set of 3-cliques);
- (Parallel) For each permutation and clique, rank it according to the index t of the minimum (maximum) weight of the face;

Now the filtered simplicial complex can be analyzed with persistent homology. jHoles uses the newly developed jPHEngine for computing persistent homology.

# jHoles

## Technical description

Given a graph directed or undirected, it is possible to construct a simplicial complex from it following several approaches. In jHoles we deal with the the clique weight rank persistent homology (CWRPH). This innovative techniques is based on the concept of a ag complex: given a graph G, the simplices of a clique complex C(G) are the complete subgraphs of G and the 0-simplices of C(G) are the vertices of G, (i.e., the complete subgraph complex). The maximal simplices are given by the collection of vertices that make up the cliques of G. In the literature, a clique complex is also referred to as a flag complex. CWRPH describes a formal procedure for building a C(G) but taking into account the weights of the links of G