All Classes Functions Variables Typedefs Friends Groups Pages
GUDHI Documentation
Gudhi_banner.png

Introduction

The Gudhi library (Geometry Understanding in Higher Dimensions) is a generic open source C++ library for Computational Topology and Topological Data Analysis (TDA). The GUDHI library intends to help the development of new algorithmic solutions in TDA and their transfer to applications. It provides robust, efficient, flexible and easy to use implementations of state-of-the-art algorithms and data structures.

The current release of the GUDHI library includes:

  • Data structures to represent, construct and manipulate simplicial complexes.
  • Algorithms to compute persistent homology and multi-field persistent homology.
  • Simplication of simplicial complexes by edge contraction.

All data-structures are generic and several of their aspects can be parameterized via template classes. We refer to [14] for a detailed description of the design of the library.

Data structures

Alpha complex

alpha_complex_representation.png
Alpha complex representation
Author: Vincent Rouvreau
Introduced in: GUDHI 1.3.0
Copyright: GPL v3
Alpha_complex is a simplicial complex constructed from the finite cells of a Delaunay Triangulation.
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.
User manual: Alpha complex - Reference manual: Gudhi::alphacomplex::Alpha_complex

Cubical complex

Cubical_complex_representation.png
Cubical complex representation
Author: Pawel Dlotko
Introduced in: GUDHI 1.3.0
Copyright: GPL v3
The cubical complex is an example of a structured complex useful in computational mathematics (specially rigorous numerics) and image analysis.
User manual: Cubical complex - Reference manual: Gudhi::Cubical_complex::Bitmap_cubical_complex

Simplex tree

Simplex_tree_representation.png
Simplex tree representation
Author: Clément Maria
Introduced in: GUDHI 1.0.0
Copyright: GPL v3
The simplex tree is an efficient and flexible data structure for representing general (filtered) simplicial complexes. The data structure is described in [4] .
User manual: Filtered Complexes - Reference manual: Gudhi::Simplex_tree

Skeleton blocker

ds_representation.png
Skeleton blocker representation
Author: David Salinas
Introduced in: GUDHI 1.1.0
Copyright: GPL v3
The Skeleton-Blocker data-structure proposes a light encoding for simplicial complexes by storing only an implicit representation of its simplices [1],[2]. Intuitively, it just stores the 1-skeleton of a simplicial complex with a graph and the set of its "missing faces" that is very small in practice. This data-structure handles all simplicial complexes operations such as simplex enumeration or simplex removal but operations that are particularly efficient are operations that do not require simplex enumeration such as edge iteration, link computation or simplex contraction.
User manual: Skeleton-Blocker - Reference manual: Gudhi::skbl::Skeleton_blocker_complex

Witness complex

Witness_complex_representation.png
Witness complex representation
Author: Siargey Kachanovich
Introduced in: GUDHI 1.3.0
Copyright: GPL v3
Witness complex $ Wit(W,L) $ is a simplicial complex defined on two sets of points in $\mathbb{R}^D$. The data structure is described in [4] .
User manual: Witness complex - Reference manual: Gudhi::witness_complex::SimplicialComplexForWitness

Toolbox

Contraction

sphere_contraction_representation.png
Sphere contraction example
Author: David Salinas
Introduced in: GUDHI 1.1.0
Copyright: GPL v3
The purpose of this package is to offer a user-friendly interface for edge contraction simplification of huge simplicial complexes. It uses the Skeleton-Blocker data-structure whose size remains small during simplification of most used geometrical complexes of topological data analysis such as the Rips or the Delaunay complexes. In practice, the size of this data-structure is even much lower than the total number of simplices.
User manual: Edge contraction

Persistent Cohomology

3DTorus_poch.png
Rips Persistent Cohomology on a 3D Torus
Author: Clément Maria
Introduced in: GUDHI 1.0.0
Copyright: GPL v3
The theory of homology consists in attaching to a topological space a sequence of (homology) groups, capturing global topological features like connected components, holes, cavities, etc. Persistent homology studies the evolution – birth, life and death – of these features when the topological space is changing. Consequently, the theory is essentially composed of three elements: topological spaces, their homology groups and an evolution scheme. Computation of persistent cohomology using the algorithm of [7] and [8] and the Compressed Annotation Matrix implementation of [5] .
User manual: Persistent Cohomology - Reference manual: Gudhi::persistent_cohomology::Persistent_cohomology
GUDHI  Version 1.3.0  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. Generated on Fri Apr 15 2016 17:36:35 for GUDHI by doxygen 1.8.6