Skip to content

tlacombe/topt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TOPT : a Topological OPtimization Toolbox

Authors: Mathieu Carrière and Théo Lacombe.

This repository is a work in progress. Comments and feedback appreciated!

Quick start

A minimal working example is available as a tutorial based on this paper, see tutorial_0*.ipynb.
This tutorial provides an introduction to generalized gradient descent for Topological Data Analysis and showcase its use in the (very simple) case of total persistence minimization.

Dependencies

This repository was tested on Ubuntu 20.04 and relies on the following libraries:

  • tensorflow 2.2 for automatic differentiation.
  • gudhi for persistent homology related computations. It was tested with gudhi 3.4 and gudhi 3.5 (which has not been released yet as of 09/20/2021.)
  • cvxpy (tested with 1.13, other versions should work as well) to compute the element of minimal norm on a convex hull of sampled gradients.
  • numpy (tested with 1.20, other versions should work as well).

In addition, to run the notebooks provided in the ./tutorials/ folder, one needs (along with a jupyter notebook installation and the aforementioned packages):

  • matplotlib (tested with 3.4, other versions should work as well).

Repository organization

Note: the organization is subject to evolution depending on the future additions that will be made to this repository.

The topt.py file contains the most important methods for this repository. In particular, it defines the TopoMeanModel class, a natural (tensorflow-like) that compute (in an autodiff-compatible way) a loss of the form:

$$ x \mapsto \sum_{i=1}^L \mathrm{dist}(\mathrm{Dgm}(x,K), d_i)^\mathrm{order} $$

where the $(d_i)_i$s represent $L$ "target" persistence diagrams, $\mathrm{Dgm}(x)$ is the (ordinary or extended) diagram of a current filter function $x$ defined on a given simplicial complex $K$. Note that if $L=1$, we retrieve the common problem of minimizing $x \mapsto \mathrm{dist}(\mathrm{Dgm}(x, K), d)$ for some target diagram $d$.

Related content:

Non-exhaustive, feel free to mention code ressources related to optimization with topological descriptors.

Note: no license yet, all rights reserved (will be updated later).

About

Topological OPtimization Toolbox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published