summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Bottleneck_distance/doc/Intro_bottleneck_distance.h5
-rw-r--r--src/Bottleneck_distance/doc/bottleneck_distance_example.ipe8
-rw-r--r--src/Bottleneck_distance/doc/bottleneck_distance_example.pngbin21465 -> 19485 bytes
-rw-r--r--src/common/doc/main_page.md4
-rw-r--r--src/cython/doc/bottleneck_distance_sum.inc4
-rw-r--r--src/cython/doc/bottleneck_distance_user.rst10
6 files changed, 19 insertions, 12 deletions
diff --git a/src/Bottleneck_distance/doc/Intro_bottleneck_distance.h b/src/Bottleneck_distance/doc/Intro_bottleneck_distance.h
index 520aab4f..7cb0752e 100644
--- a/src/Bottleneck_distance/doc/Intro_bottleneck_distance.h
+++ b/src/Bottleneck_distance/doc/Intro_bottleneck_distance.h
@@ -40,7 +40,8 @@ namespace persistence_diagram {
*
* The bottleneck distance measures the similarity between two persistence diagrams. It is the shortest distance b for
* which there exists a perfect matching between the points of the two diagrams (completed with all the points on the
- * diagonal in order to ignore cardinality mismatchs) such that any couple of matched points are at distance at most b.
+ * diagonal in order to ignore cardinality mismatchs) such that any couple of matched points are at distance at most b,
+ * where the distance between points is the sup norm in \f$\mathbb{R}^2\f$ (not the Euclidean distance).
*
* \image html perturb_pd.png On this picture, the red edges represent the matching. The bottleneck distance is the length of the longest edge.
*
@@ -50,7 +51,7 @@ namespace persistence_diagram {
*
* \section bottleneckdistanceprecision Distance computation
*
- * Bottleneck distance does not use Euclidean distance, like explained in the following example:
+ * The following example explains how the distance is computed:
*
* \code{.cpp}
#include <gudhi/Bottleneck.h>
diff --git a/src/Bottleneck_distance/doc/bottleneck_distance_example.ipe b/src/Bottleneck_distance/doc/bottleneck_distance_example.ipe
index 9dc5420e..2033ea56 100644
--- a/src/Bottleneck_distance/doc/bottleneck_distance_example.ipe
+++ b/src/Bottleneck_distance/doc/bottleneck_distance_example.ipe
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70206" creator="Ipe 7.2.7">
-<info created="D:20190606115351" modified="D:20190606115351"/>
+<info created="D:20190606115351" modified="D:20190607172542"/>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
@@ -220,13 +220,13 @@ h
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<textsize name="large" value="\large"/>
+<textsize name="small" value="\small"/>
+<textsize name="tiny" value="\tiny"/>
<textsize name="Large" value="\Large"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="huge" value="\huge"/>
<textsize name="Huge" value="\Huge"/>
-<textsize name="small" value="\small"/>
<textsize name="footnote" value="\footnotesize"/>
-<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
@@ -274,7 +274,7 @@ h
224 320 l
</path>
<text matrix="1 0 0 1 -32 8" transformations="translations" pos="164 248" stroke="red" type="label" width="23.8" height="7.473" depth="2.49" valign="baseline">(0, 0)</text>
-<text matrix="1 0 0 1 -4 4" transformations="translations" pos="132 356" stroke="navy" type="label" width="28.781" height="7.473" depth="2.49" valign="baseline">(13, 0)</text>
+<text matrix="1 0 0 1 -4 4" transformations="translations" pos="132 356" stroke="navy" type="label" width="28.781" height="7.473" depth="2.49" valign="baseline">(0, 13)</text>
<text transformations="translations" pos="216 300" stroke="black" type="label" width="39.297" height="7.473" depth="2.49" valign="baseline">(6.5, 6.5)</text>
<path stroke="black" arrow="normal/normal" rarrow="normal/normal">
160.433 359.995 m
diff --git a/src/Bottleneck_distance/doc/bottleneck_distance_example.png b/src/Bottleneck_distance/doc/bottleneck_distance_example.png
index b56ee791..1d3b91aa 100644
--- a/src/Bottleneck_distance/doc/bottleneck_distance_example.png
+++ b/src/Bottleneck_distance/doc/bottleneck_distance_example.png
Binary files differ
diff --git a/src/common/doc/main_page.md b/src/common/doc/main_page.md
index e61eee81..a0a3496d 100644
--- a/src/common/doc/main_page.md
+++ b/src/common/doc/main_page.md
@@ -349,7 +349,9 @@
Bottleneck distance measures the similarity between two persistence diagrams.
It's the shortest distance b for which there exists a perfect matching between
the points of the two diagrams (+ all the diagonal points) such that
- any couple of matched points are at distance at most b.
+ any couple of matched points are at distance at most b,
+ where the distance between points is the sup norm in \f$\mathbb{R}^2\f$
+ (not the Euclidean distance).
</td>
<td width="15%">
<b>Author:</b> Fran&ccedil;ois Godi<br>
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 a6a4426f..9435c7f1 100644
--- a/src/cython/doc/bottleneck_distance_user.rst
+++ b/src/cython/doc/bottleneck_distance_user.rst
@@ -9,6 +9,10 @@ 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
@@ -16,7 +20,7 @@ Function
Distance computation
--------------------
-Bottleneck distance does not use Euclidean distance, like explained in the following example:
+The following example explains how the distance is computed:
.. testcode::
@@ -33,14 +37,14 @@ Bottleneck distance does not use Euclidean distance, like explained in the follo
../../doc/Bottleneck_distance/bottleneck_distance_example.png
:figclass: align-center
- The point (0, 13) is at 6.5 distance from the diagonal and more
+ 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 another example computes the bottleneck distance from 2 persistence diagrams:
+This other example computes the bottleneck distance from 2 persistence diagrams:
.. testcode::