Difference between revisions of "List of Software"

From STRUCTURES Wiki
Jump to navigation Jump to search
m
 
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
* CGAL (https://www.cgal.org/)
 
* CGAL (https://www.cgal.org/)
 
* JavaPlex (https://github.com/appliedtopology/javaplex), [[JavaPlex Tutorial| Tutorial]]
 
* JavaPlex (https://github.com/appliedtopology/javaplex), [[JavaPlex Tutorial| Tutorial]]
* GUDHI (http://gudhi.gforge.inria.fr/)
+
* GUDHI (http://gudhi.gforge.inria.fr/), [[GUDHI Tutorial|Tutorial]]
 
* Ripser (https://github.com/Ripser)
 
* Ripser (https://github.com/Ripser)
 
* PHAT (https://github.com/blazs/phat)
 
* PHAT (https://github.com/blazs/phat)
Line 12: Line 12:
 
* Rivet (http://rivet.online/)
 
* Rivet (http://rivet.online/)
  
This collection has been created without any claim of comprehensiveness. Whoever is aware of interesting topological data analysis software packages may contact the authors by mail at structures-hiwi@mathi.uni-heidelberg.de.
+
This collection has been created without any claim of comprehensiveness. Whoever is aware of interesting topological data analysis software packages not listed here may contact the authors by mail at structures-hiwi@mathi.uni-heidelberg.de.
  
 
== Overview ==
 
== Overview ==
  
Comparison of some of these packages e.g. by Otter et al. <ref>Otter, Nina, et al. A roadmap for the computation of persistent homology. EPJ Data Science, 2017, 6. Jg., Nr. 1, S. 17. [[doi:10.1140/epjds/s13688-017-0109-5]] </ref>.
+
The following table summarizes information from Otter et al <ref name=":0">Otter, Nina, et al. A roadmap for the computation of persistent homology. EPJ Data Science, 2017, 6. Jg., Nr. 1, S. 17. [[doi:10.1140/epjds/s13688-017-0109-5]] </ref> and Wikipedia<ref>Wikipedia. Persistent homology. Information drawn on May 20th, 2019 https://en.wikipedia.org/wiki/Persistent_homology</ref>. Nomenclature within the following table follows Otter et al <ref name=":0" />.
Eventually we will put put the results of this comparison in a table somewhere on this page.
+
{| class="wikitable sortable mw-collapsible"
 +
|+
 +
!Software
 +
!CGAL
 +
!JavaPlex
 +
!GUDHI
 +
!Ripser
 +
!PHAT
 +
!Dionysus
 +
!R-Package TDA
 +
!Perseus
 +
!Rivet
 +
|-
 +
|Language
 +
|C++
 +
|Java,
 +
Matlab
 +
|C++
 +
|C++
 +
|C++,
 +
Python bindings
 +
|C++,
 +
Python bindings
 +
|R
 +
|C++
 +
|stand-alone
 +
|-
 +
|Filtrations computed
 +
|alpha
 +
|VR, W, W_v
 +
|VR, alpha, W,
 +
lower star of
 +
 
 +
cubical complex
 +
|VR
 +
|<nowiki>-</nowiki>
 +
|VR, alpha, Čech
 +
|VR, alpha,
 +
sublevels of
 +
 
 +
function on grid
 +
|VR, lower star of
 +
 
 +
cubical complex
 +
|VR
 +
|-
 +
|Persistent homology
 +
computation
 +
|no
 +
|yes
 +
|yes
 +
|yes
 +
|yes
 +
|yes
 +
|yes
 +
|yes
 +
|yes
 +
|-
 +
|Homology
 +
| -
 +
|simplicial,
 +
 
 +
cellular
 +
|simplicial
 +
|simplicial
 +
|simplicial,
 +
cubical
 +
|simplicial
 +
|simplicial
 +
|simplicial,
 +
cubical
 +
|simplicial
 +
|-
 +
|Coefficient field
 +
| -
 +
|[math]\mathbb{Q}[/math], [math]\mathbb{F}_p[/math]
 +
|[math]\mathbb{F}_p[/math]
 +
|[math]\mathbb{F}_p[/math]
 +
|[math]\mathbb{F}_2[/math]
 +
|[math]\mathbb{F}_2[/math] (standard, zigzag),
 +
 
 +
[math]\mathbb{F}_p[/math] (dual)
 +
|[math]\mathbb{F}_2[/math]?
 +
|[math]\mathbb{F}_2[/math]
 +
|[math]\mathbb{F}_2[/math]?
 +
|-
 +
|Remarks
 +
|Provides a lot of
 +
versatile geometry algorithms
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|Routines for two-dimensional
 +
persistence computations
 +
|}
  
 
== Details ==
 
== Details ==

Latest revision as of 15:06, 21 May 2019

In recent years, a whole landscape of software emerged that deals with computational topology tasks in different fashions. On this page, we provide starting points for the selection of software suited for the problem of interest.

Packages described here include the following:

This collection has been created without any claim of comprehensiveness. Whoever is aware of interesting topological data analysis software packages not listed here may contact the authors by mail at structures-hiwi@mathi.uni-heidelberg.de.

Overview

The following table summarizes information from Otter et al [1] and Wikipedia[2]. Nomenclature within the following table follows Otter et al [1].

Software CGAL JavaPlex GUDHI Ripser PHAT Dionysus R-Package TDA Perseus Rivet
Language C++ Java,

Matlab

C++ C++ C++,

Python bindings

C++,

Python bindings

R C++ stand-alone
Filtrations computed alpha VR, W, W_v VR, alpha, W,

lower star of

cubical complex

VR - VR, alpha, Čech VR, alpha,

sublevels of

function on grid

VR, lower star of

cubical complex

VR
Persistent homology

computation

no yes yes yes yes yes yes yes yes
Homology - simplicial,

cellular

simplicial simplicial simplicial,

cubical

simplicial simplicial simplicial,

cubical

simplicial
Coefficient field - [math]\mathbb{Q}[/math], [math]\mathbb{F}_p[/math] [math]\mathbb{F}_p[/math] [math]\mathbb{F}_p[/math] [math]\mathbb{F}_2[/math] [math]\mathbb{F}_2[/math] (standard, zigzag),

[math]\mathbb{F}_p[/math] (dual)

[math]\mathbb{F}_2[/math]? [math]\mathbb{F}_2[/math] [math]\mathbb{F}_2[/math]?
Remarks Provides a lot of

versatile geometry algorithms

Routines for two-dimensional

persistence computations

Details

CGAL

The basic design of CGAL is described in Fabri et al 2000[3].

The software's webpage can be found here: https://www.cgal.org/.

JavaPlex

The basic design of JavaPlex is described in Adams et al 2014[4].

We provide an introductory tutorial to Javaplex on a different page.

The software's webpage can be found here: https://www.cgal.org/.

GUDHI

The basic design of GUDHI is described in Maria et al 2014[5].

We provide an introductory tutorial to using GUDHI on a different page.

The software's webpage including tons of useful example codes can be found here: http://gudhi.gforge.inria.fr/.

Ripser

The software's webpage can be found here: https://github.com/Ripser.

PHAT

The basic design of the Persistent Homology Algorithms Toolbox (PHAT) is described in Bauer et al 2017[6].

The software's webpage can be found here: https://github.com/blazs/phat.

Dionysus

The software's webpage can be found here: http://www.mrzv.org/software/dionysus.

R-Package TDA

The Package TDA provides an R interface for the algorithms of the C++ libraries GUDHI, Dionysus and PHAT.

For an extensive reference manual and further information the reader may consult https://cran.r-project.org/web/packages/TDA/index.html.

Perseus

The efficient Morse-theoretic algorithm to compute persistent homology implemented in Perseus has been descibed first in Mischaikow and Nanda 2013[7].

For details on the software we refer to http://www.sas.upenn.edu/~vnanda/perseus/index.html.

Rivet

The software Rivet is described in [8]. The software's webpage can be found here: http://rivet.online/.

References

  1. 1.0 1.1 Otter, Nina, et al. A roadmap for the computation of persistent homology. EPJ Data Science, 2017, 6. Jg., Nr. 1, S. 17. doi:10.1140/epjds/s13688-017-0109-5
  2. Wikipedia. Persistent homology. Information drawn on May 20th, 2019 https://en.wikipedia.org/wiki/Persistent_homology
  3. FABRI, Andreas, et al. On the design of CGAL a computational geometry algorithms library. Software: Practice and Experience, 2000, 30. Jg., Nr. 11, S. 1167-1202. doi:10.1002/1097-024X(200009)30:11<1167::AID-SPE337>3.0.CO;2-B
  4. ADAMS, Henry; TAUSZ, Andrew; VEJDEMO-JOHANSSON, Mikael. JavaPlex: A research software package for persistent (co) homology. In: International Congress on Mathematical Software. Springer, Berlin, Heidelberg, 2014. S. 129-136. doi:10.1007/978-3-662-44199-2_23
  5. MARIA, Clément, et al. The gudhi library: Simplicial complexes and persistent homology. In: International Congress on Mathematical Software. Springer, Berlin, Heidelberg, 2014. S. 167-174. doi:10.1007/978-3-662-44199-2_28
  6. BAUER, Ulrich, et al. Phat–persistent homology algorithms toolbox. Journal of symbolic computation, 2017, 78. Jg., S. 76-90. doi:10.1016/j.jsc.2016.03.008
  7. MISCHAIKOW, Konstantin; NANDA, Vidit. Morse theory for filtrations and efficient computation of persistent homology. Discrete & Computational Geometry, 2013, 50. Jg., Nr. 2, S. 330-353. doi:10.1007/s00454-013-9529-6
  8. LESNICK, M.; WRIGHT, M. RIVET: The rank invariant visualization and exploration tool, 2016. Software available at http://rivet.online/.