summaryrefslogtreecommitdiff
path: root/src/cython
diff options
context:
space:
mode:
authorVincent Rouvreau <VincentRouvreau@users.noreply.github.com>2019-06-13 09:32:41 +0200
committerGitHub <noreply@github.com>2019-06-13 09:32:41 +0200
commitf9a2172f24da8d7538c67fbf4e7580ab09b456c5 (patch)
tree00929e00513e0780d955aea8c3230d8ba543ac2c /src/cython
parentdb3f192fbc3ea8b47b208563735ef0958e7adab9 (diff)
parent48d625be3d6ee81bc3bc785276dcb32721cc7417 (diff)
Merge pull request #69 from VincentRouvreau/bottleneck_documentation
Bottleneck documentation
Diffstat (limited to 'src/cython')
-rw-r--r--src/cython/doc/bottleneck_distance_sum.inc4
-rw-r--r--src/cython/doc/bottleneck_distance_user.rst37
2 files changed, 34 insertions, 7 deletions
diff --git a/src/cython/doc/bottleneck_distance_sum.inc b/src/cython/doc/bottleneck_distance_sum.inc
index 41b9c5a3..6840e838 100644
--- a/src/cython/doc/bottleneck_distance_sum.inc
+++ b/src/cython/doc/bottleneck_distance_sum.inc
@@ -6,8 +6,8 @@
| ../../doc/Bottleneck_distance/perturb_pd.png | diagrams. It's the shortest distance b for which there exists a | |
| :figclass: align-center | perfect matching between the points of the two diagrams (+ all the | :Introduced in: GUDHI 2.0.0 |
| | diagonal points) such that any couple of matched points are at | |
- | Bottleneck distance is the length of | distance at most b. | :Copyright: GPL v3 |
- | the longest edge | | |
+ | Bottleneck distance is the length of | distance at most b, where the distance between points is the sup | :Copyright: GPL v3 |
+ | the longest edge | norm in :math:`\mathbb{R}^2`. | |
| | | :Requires: CGAL :math:`\geq` 4.8.0 |
+-----------------------------------------------------------------+----------------------------------------------------------------------+-----------------------------------------------+
| * :doc:`bottleneck_distance_user` | |
diff --git a/src/cython/doc/bottleneck_distance_user.rst b/src/cython/doc/bottleneck_distance_user.rst
index 605db022..9435c7f1 100644
--- a/src/cython/doc/bottleneck_distance_user.rst
+++ b/src/cython/doc/bottleneck_distance_user.rst
@@ -9,15 +9,42 @@ Definition
.. include:: bottleneck_distance_sum.inc
+This implementation is based on ideas from "Geometry Helps in Bottleneck Matching and Related Problems"
+:cite:`DBLP:journals/algorithmica/EfratIK01`. Another relevant publication, although it was not used is
+"Geometry Helps to Compare Persistence Diagrams" :cite:`Kerber:2017:GHC:3047249.3064175`.
+
Function
--------
.. autofunction:: gudhi.bottleneck_distance
+Distance computation
+--------------------
+
+The following example explains how the distance is computed:
+
+.. testcode::
+
+ import gudhi
+
+ message = "Bottleneck distance = " + '%.1f' % gudhi.bottleneck_distance([[0., 0.]], [[0., 13.]])
+ print(message)
+
+.. testoutput::
+
+ Bottleneck distance = 6.5
+
+.. figure::
+ ../../doc/Bottleneck_distance/bottleneck_distance_example.png
+ :figclass: align-center
+
+ The point (0, 13) is at distance 6.5 from the diagonal and more
+ specifically from the point (6.5, 6.5)
+
Basic example
-------------
-This example computes the bottleneck distance from 2 persistence diagrams:
+This other example computes the bottleneck distance from 2 persistence diagrams:
.. testcode::
@@ -26,15 +53,15 @@ This example computes the bottleneck distance from 2 persistence diagrams:
diag1 = [[2.7, 3.7],[9.6, 14.],[34.2, 34.974], [3.,float('Inf')]]
diag2 = [[2.8, 4.45],[9.5, 14.1],[3.2,float('Inf')]]
- message = "Bottleneck distance approximation=" + '%.2f' % gudhi.bottleneck_distance(diag1, diag2, 0.1)
+ message = "Bottleneck distance approximation = " + '%.2f' % gudhi.bottleneck_distance(diag1, diag2, 0.1)
print(message)
- message = "Bottleneck distance value=" + '%.2f' % gudhi.bottleneck_distance(diag1, diag2)
+ message = "Bottleneck distance value = " + '%.2f' % gudhi.bottleneck_distance(diag1, diag2)
print(message)
The output is:
.. testoutput::
- Bottleneck distance approximation=0.81
- Bottleneck distance value=0.75
+ Bottleneck distance approximation = 0.81
+ Bottleneck distance value = 0.75