From bdb5bb5bb9af58e4e61acae13ea1c35b52bde2e7 Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Wed, 30 Mar 2016 15:09:27 +0200 Subject: Some documentation for general simplicial complexes. --- README.md | 39 +++++++++++++++++++++++++++++++++++++++ phstuff/diphawrapper.py | 17 +++++++++++++---- 2 files changed, 52 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b2bc29b..e1afff0 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,45 @@ environment variables. bc.plot(ax, dipharunner.barcode[1], weights.min(), weights.max()) plt.show() +### PH of an arbitrary simplicial complex (EXPERIMENTAL) + +The code for arbitrary simplicial complexes, the `simplicial` module, +is dirty, fragile and inefficient. Its API and behavior may change at +any time. + + import phstuff.diphawrapper as dipha + import phstuff.barcode as bc + import matplotlib.pyplot as plt + import phstuff.simplicial as simpl + + cplx = simpl.Complex() + + cplx.add([0], 0) + cplx.add([1], 0) + cplx.add([2], 0) + cplx.add([3], 0) + cplx.add([4], 0) + cplx.add([0,1], 0) + cplx.add([0,2], 0) + cplx.add([2,4], 0) + cplx.add([3,4], 0) + cplx.add([1,3], 1) + cplx.add([0,3], 2) + cplx.add([2,3], 3) + cplx.add([0,2,3], 10) + cplx.add([0,1,3], 20) + + dipharunner = dipha.DiphaRunner(2) # Compute up to 2-simplices. + dipharunner.simplicial(cplx) + dipharunner.run() + + for interval in dipharunner.barcode[1]: + print(interval) + + fig = plt.figure() + ax = fig.add_subplot(1,1,1) + bc.plot(ax, dipharunner.barcode[1], 0.0, 20.0) + plt.show() ### PH of an alpha complex made with CGAL diff --git a/phstuff/diphawrapper.py b/phstuff/diphawrapper.py index b2c9444..4d1742e 100644 --- a/phstuff/diphawrapper.py +++ b/phstuff/diphawrapper.py @@ -187,6 +187,19 @@ def save_cubical(fname, array): f.write(struct.pack("