The mathematical and algorithmic ideas behind RIVET are explained in detail in the paper “Interactive Visualization of 2-D Persistence Modules.” A second paper concerning RIVET’s algorithm for computing the Betti numbers of 2-D persistence modules is in preparation.

RIVET is written in C++, and depends on the qt and Boost libraries.


RIVET was designed by Michael Lesnick and Matthew Wright. Matthew Wright is the primary author of the code, and was the sole author from 2013-2015. Since 2016, Bryn Keller has also played an important role in the development of RIVET, and several others have made valuable contributions to the code as well (some of which will be incorporated into later releases of RIVET):

Here is a list of contributors, with a brief summary of contributions (some of which are still in progress):

  • Madkour Abdel-Rahman (St. Olaf College): Error handling, code distribution
  • Bryn Keller (Intel Labs): Parallel-friendly code organization, command line interactivity, general code hygiene, software design leadership
  • Michael Lesnick (Princeton): Design, testing
  • Phil Nadolny (St. Olaf College): Error Handling, code distribution, code for constructing path through dual graph
  • Matthew Wright (St. Olaf College): Design, primary developer
  • Alex Yu (Princeton)
  • Roy Zhao (Princeton): Handling of multicritical bifiltrations and Rips bifiltrations. Fast vineyard updates.


This material is based upon work supported by the National Science Foundation under Grant Number 1606967. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Additional support has been been provided by the Institute for Mathematics and its Applications, Columbia University, Princeton University, St. Olaf College, and the NIH (grant U54-CA193313-01).


RIVET is made available under the under the terms of the GNU General Public License, available here. The software is provided “as is,” without warranty of any kind, even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for details.