Skip to main content

Vector Representations of Persistence Diagrams

Project description

diagram2vec

Diagram2vec provides the following finite-dimensional vector representations of the persistence diagrams:

  • persistence statistics (statistics of quanitites such as persistence, midlife, mult.life)
  • Euler characteristic curve
  • k-th Betti number curves
  • persistence curves (curves of quanitites such as persistence, midlife, multitplicative life)
  • entropy curves (curves of entropy of quanitites such as persistence, midlife, multitplicative life)

All representations have ε-robust versions, i.e. not taking into account intervals with persistence below a certain threshold.

Installation

Dependencies

  • python (>= 3.6)
  • numpy
  • scipy

The latest version of the diagram2vec can be installed with pip:

pip install diagram2vec

Example of usage

import diagram2vec

# list of lists of ndarrays, representing a collection of persistence diagrams
diagrams = [
    [np.array([[0.0, np.inf], [0.0, 0.4], [0.0, 0.5]]), np.array([[0.1, 0.6], [0.2, 0.4]])], 
    [np.array([[0.0, np.inf], [0.0, 0.1]]), np.array([[0.4, 0.7]])],
]

# compute a list of statistics of a distribution of the persistence p := (d - b) quantity
stats = diagram2vec.statistics(diagrams, quantity="persistence", statistics=["min", "mean", "count"])

# compute an Euler characteristic curve (a vector of dimension 10)
euler_curve = diagram2vec.euler_curve(diagrams, m=10)

# compute a Betti number curve, which is default quantity for the `persistence_curve`
# (a vector of dimension 50, intervals with persistence below 0.05 are not used)
betti_curve = diagram2dec.persistence_curve(diagrams, m=50, f="linear", b=0.05)

# compute a curve of persistence quantity
# available quanities: 'betti', 'persistence', 'midlife', 'multlife'
persistence_curve = diagram2dec.persistence_curve(diagrams, quantity="persistence", m=50)

# compute a curve of midlife entropy
# available quanities: 'persistence', 'midlife', 'multlife'
entropy_curve = diagram2dec.entropy_curve(diagrams, quantity="midlife", m=20)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diagram2vec-0.0.1.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

diagram2vec-0.0.1-py3-none-any.whl (4.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page