JPlex library | javadoc tree

NOTE: As of 2011, JPlex is being phased out in favor of the software package Javaplex, which is also written in Java and has a tutorial. We suggest that JPlex users switch to Javaplex.


JPlex is a software package for computing persistent homology of finite simplicial complexes, often generated from point cloud data. This is the third of four versions of Plex, and because it is written in Java it is often referred to as JPlex. JPlex can be run in Matlab or in a standalone mode, using an integrated Java interpreter called Beanshell (our thanks to the author, Patrick Niemeyer, for allowing us to repackage the interpreter with our library). The initial goals of this rewrite were to fix several longstanding memory management problems and to make installation easy. These goals were met, but our experience is that JPlex is also faster and capable of running larger cases than the previous versions. The complete library is in a single jar file that is currently less than .5 megabytes, including the Beanshell interpreter, and requires no compilation. You must, however, have access to a version 1.5 or later java runtime, either through Matlab or directly through a command line. This is explained in more detail either in the tutorials or in the online documentation.


Here is the JPlex library and the javadoc tree.

The complete source code for the library is available either as a Tarball or as a Zip file. This version of Plex can easily be extended by Java programmers.

We have both a JPlex with Matlab tutorial and a JPlex with BeanShell tutorial. The former is for those with access to Matlab, and the latter is for those wishing to run plex standalone. To complete the tutorials, you will need the companion files for the Matlab version or the companion files for the standalone version.

Other Software Options

There are several other software packages for computing persistent homology.


Here is a version of the Beanshell manual and the Beanshell documentation.

Please direct questions or bug reports to Henry Adams.


Here is a sample BibTeX entry for jPlex:
     title = {{jPlex}},
     author = {Sexton, Harlan and Vejdemo-Johansson, Mikael},
     month = {December},
     year = {2008},
     note = {},
     keywords = {computational topology, persistence software, software}