PHAT

PHAT - Persistent Homology Algorithms Toolbox. PHAT is a C++ library for the computation of persistent homology. This task is usually split into two major tasks: (1) building a boundary matrix representation of the given filtration and (2) bringing it into a reduced form by elementary matrix operations. PHAT focuses entirely on the latter step. We aim for a simple generic design that allows for flexibility, without sacrificing efficiency or user-friendliness. This makes PHAT a versatile platform for experimenting with novel algorithmic ideas and comparing them to state of the art implementations. A major aspect of PHAT is to decouple the reduction strategy from the representation of the boundary matrix and the low-level operations to query and manipulate it. We recap the reduction algorithms currently implemented in PHAT as well as the available representation types. In particular, we decribe a novel approach that transforms a column of the matrix into an intermediate data structure that is more suitable for efficient manipulations. We show in experimental evaluations that the choice of a suitable representation has an equally important effect on the practical performance as the choice of the reduction strategy.