summaryrefslogtreecommitdiff
path: root/doc/Rips_complex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Rips_complex')
-rw-r--r--doc/Rips_complex/COPYRIGHT19
-rw-r--r--doc/Rips_complex/Intro_rips_complex.h243
-rw-r--r--doc/Rips_complex/rips_complex_representation.ipe326
-rw-r--r--doc/Rips_complex/rips_complex_representation.pngbin15677 -> 0 bytes
-rw-r--r--doc/Rips_complex/rips_one_skeleton.ipe326
-rw-r--r--doc/Rips_complex/rips_one_skeleton.pngbin47651 -> 0 bytes
6 files changed, 0 insertions, 914 deletions
diff --git a/doc/Rips_complex/COPYRIGHT b/doc/Rips_complex/COPYRIGHT
deleted file mode 100644
index 2c31a0d6..00000000
--- a/doc/Rips_complex/COPYRIGHT
+++ /dev/null
@@ -1,19 +0,0 @@
-The files of this directory are part of the Gudhi Library. The Gudhi library
-(Geometric Understanding in Higher Dimensions) is a generic C++ library for
-computational topology.
-
-Author(s): Clément Maria, Pawel Dlotko, Vincent Rouvreau
-
-Copyright (C) 2015 Inria
-
-This program is free software: you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation, either version 3 of the License, or (at your option) any later
-version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/doc/Rips_complex/Intro_rips_complex.h b/doc/Rips_complex/Intro_rips_complex.h
deleted file mode 100644
index 712d3b6e..00000000
--- a/doc/Rips_complex/Intro_rips_complex.h
+++ /dev/null
@@ -1,243 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Clément Maria, Pawel Dlotko, Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef DOC_RIPS_COMPLEX_INTRO_RIPS_COMPLEX_H_
-#define DOC_RIPS_COMPLEX_INTRO_RIPS_COMPLEX_H_
-
-namespace Gudhi {
-
-namespace rips_complex {
-
-/** \defgroup rips_complex Rips complex
- *
- * \author Clément Maria, Pawel Dlotko, Vincent Rouvreau, Marc Glisse
- *
- * @{
- *
- * \section ripsdefinition Rips complex definition
- *
- * The Vietoris-Rips complex
- * <a target="_blank" href="https://en.wikipedia.org/wiki/Vietoris%E2%80%93Rips_complex">(Wikipedia)</a>
- * is an abstract simplicial complex
- * defined on a finite metric space, where each simplex corresponds to a subset
- * of point whose diameter is smaller that some given threshold.
- * Varying the threshold, we can also see the Rips complex as a filtration of
- * the \f$(n-1)-\f$dimensional simplex, where the filtration value of each
- * simplex is the diameter of the corresponding subset of points.
- *
- * This filtered complex is most often used as an approximation of the
- * Čech complex. After rescaling (Rips using the length of the edges and Čech
- * the half-length), they share the same 1-skeleton and are multiplicatively
- * 2-interleaved or better. While it is slightly bigger, it is also much
- * easier to compute.
- *
- * The number of simplices in the full Rips complex is exponential in the
- * number of vertices, it is thus usually restricted, by excluding all the
- * simplices with filtration value larger than some threshold, and keeping only
- * the dim_max-skeleton.
- *
- * In order to build this complex, the algorithm first builds the graph.
- * The filtration value of each edge is computed from a user-given distance
- * function, or directly read from the distance matrix.
- * In a second step, this graph is inserted in a simplicial complex, which then
- * gets expanded to a flag complex.
- *
- * The input can be given as a range of points and a distance function, or as a
- * distance matrix.
- *
- * Vertex name correspond to the index of the point in the given range (aka. the point cloud).
- *
- * \image html "rips_complex_representation.png" "Rips-complex one skeleton graph representation"
- *
- * On this example, as edges (4,5), (4,6) and (5,6) are in the complex, simplex (4,5,6) is added with the filtration
- * value set with \f$max(filtration(4,5), filtration(4,6), filtration(5,6))\f$.
- * And so on for simplex (0,1,2,3).
- *
- * If the Rips_complex interfaces are not detailed enough for your need, please refer to
- * <a href="_persistent_cohomology_2rips_persistence_step_by_step_8cpp-example.html">
- * rips_persistence_step_by_step.cpp</a> example, where the constructions of the graph and
- * the Simplex_tree are more detailed.
- *
- * \section sparserips Sparse Rips complex
- *
- * Even truncated in filtration value and dimension, the Rips complex remains
- * quite large. However, it is possible to approximate it by a much smaller
- * filtered simplicial complex (linear size, with constants that depend on
- * &epsilon; and the doubling dimension of the space) that is
- * \f$(1+O(\epsilon))-\f$interleaved with it (in particular, their persistence
- * diagrams are at log-bottleneck distance at most \f$O(\epsilon)\f$).
- *
- * The sparse Rips filtration was introduced by Don Sheehy
- * \cite sheehy13linear. We are using the version described in
- * \cite buchet16efficient (except that we multiply all filtration values
- * by 2, to match the usual Rips complex), which proves a
- * \f$\frac{1+\epsilon}{1-\epsilon}\f$-interleaving, although in practice the
- * error is usually smaller.
- * A more intuitive presentation of the idea is available in
- * \cite cavanna15geometric, and in a video \cite cavanna15visualizing.
- *
- * The interface of `Sparse_rips_complex` is similar to the one for the usual
- * `Rips_complex`, except that one has to specify the approximation factor, and
- * there is no option to limit the maximum filtration value (the way the
- * approximation is done means that larger filtration values are much cheaper
- * to handle than low filtration values, so the gain would be too small).
- *
- * Theoretical guarantees are only available for \f$\epsilon<1\f$. The
- * construction accepts larger values of &epsilon;, and the size of the complex
- * keeps decreasing, but there is no guarantee on the quality of the result.
- *
- * \section ripspointsdistance Point cloud and distance function
- *
- * \subsection ripspointscloudexample Example from a point cloud and a distance function
- *
- * This example builds the one skeleton graph from the given points, threshold value, and distance function.
- * Then it creates a `Simplex_tree` with it.
- *
- * Then, it is asked to display information about the simplicial complex.
- *
- * \include Rips_complex/example_one_skeleton_rips_from_points.cpp
- *
- * When launching (Rips maximal distance between 2 points is 12.0, is expanded until dimension 1 - one skeleton graph
- * in other words):
- *
- * \code $> ./Rips_complex_example_one_skeleton_from_points
- * \endcode
- *
- * the program output is:
- *
- * \include Rips_complex/one_skeleton_rips_for_doc.txt
- *
- * \subsection ripsoffexample Example from OFF file
- *
- * This example builds the Rips_complex from the given points in an OFF file, threshold value, and distance
- * function.
- * Then it creates a `Simplex_tree` with it.
- *
- *
- * Then, it is asked to display information about the Rips complex.
- *
- * \include Rips_complex/example_rips_complex_from_off_file.cpp
- *
- * When launching:
- *
- * \code $> ./Rips_complex_example_from_off ../../data/points/alphacomplexdoc.off 12.0 3
- * \endcode
- *
- * the program output is:
- *
- * \include Rips_complex/full_skeleton_rips_for_doc.txt
- *
- *
- * \subsection sparseripspointscloudexample Example of a sparse Rips from a point cloud
- *
- * This example builds the full sparse Rips of a set of 2D Euclidean points, then prints some minimal
- * information about the complex.
- *
- * \include Rips_complex/example_sparse_rips.cpp
- *
- * When launching:
- *
- * \code $> ./Rips_complex_example_sparse
- * \endcode
- *
- * the program output may be (the exact output varies from one run to the next):
- *
- * \code Sparse Rips complex is of dimension 2 - 19 simplices - 7 vertices.
- * \endcode
- *
- *
- *
- * \section ripsdistancematrix Distance matrix
- *
- * \subsection ripsdistancematrixexample Example from a distance matrix
- *
- * This example builds the one skeleton graph from the given distance matrix and threshold value.
- * Then it creates a `Simplex_tree` with it.
- *
- * Then, it is asked to display information about the simplicial complex.
- *
- * \include Rips_complex/example_one_skeleton_rips_from_distance_matrix.cpp
- *
- * When launching (Rips maximal distance between 2 points is 1.0, is expanded until dimension 1 - one skeleton graph
- * with other words):
- *
- * \code $> ./Rips_complex_example_one_skeleton_from_distance_matrix
- * \endcode
- *
- * the program output is:
- *
- * \include Rips_complex/one_skeleton_rips_for_doc.txt
- *
- * \subsection ripscsvdistanceexample Example from a distance matrix read in a csv file
- *
- * This example builds the one skeleton graph from the given distance matrix read in a csv file and threshold value.
- * Then it creates a `Simplex_tree` with it.
- *
- *
- * Then, it is asked to display information about the Rips complex.
- *
- * \include Rips_complex/example_rips_complex_from_csv_distance_matrix_file.cpp
- *
- * When launching:
- *
- * \code $> ./Rips_complex_example_from_csv_distance_matrix ../../data/distance_matrix/full_square_distance_matrix.csv 1.0 3
- * \endcode
- *
- * the program output is:
- *
- * \include Rips_complex/full_skeleton_rips_for_doc.txt
- *
- *
- * \section ripscorrelationematrix Correlation matrix
- *
- * Analogously to the case of distance matrix, Rips complexes can be also constructed based on correlation matrix.
- * Given a correlation matrix M, comportment-wise 1-M is a distance matrix.
- * This example builds the one skeleton graph from the given corelation matrix and threshold value.
- * Then it creates a `Simplex_tree` with it.
- *
- * Then, it is asked to display information about the simplicial complex.
- *
- * \include Rips_complex/example_one_skeleton_rips_from_correlation_matrix.cpp
- *
- * When launching:
- *
- * \code $> ./example_one_skeleton_from_correlation_matrix
- * \endcode
- *
- * the program output is:
- *
- * \include Rips_complex/one_skeleton_rips_from_correlation_matrix_for_doc.txt
- *
- * All the other constructions discussed for Rips complex for distance matrix can be also performed for Rips complexes
- * construction from correlation matrices.
- *
- * @warning As persistence diagrams points will be under the diagonal, bottleneck distance and persistence graphical
- * tool will not work properly, this is a known issue.
- *
- */
-/** @} */ // end defgroup rips_complex
-
-} // namespace rips_complex
-
-} // namespace Gudhi
-
-#endif // DOC_RIPS_COMPLEX_INTRO_RIPS_COMPLEX_H_
diff --git a/doc/Rips_complex/rips_complex_representation.ipe b/doc/Rips_complex/rips_complex_representation.ipe
deleted file mode 100644
index 7f6028f4..00000000
--- a/doc/Rips_complex/rips_complex_representation.ipe
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE ipe SYSTEM "ipe.dtd">
-<ipe version="70107" creator="Ipe 7.1.10">
-<info created="D:20150603143945" modified="D:20160928121844"/>
-<ipestyle name="basic">
-<symbol name="arrow/arc(spx)">
-<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/farc(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="mark/circle(sx)" transformations="translations">
-<path fill="sym-stroke">
-0.6 0 0 0.6 0 0 e
-0.4 0 0 0.4 0 0 e
-</path>
-</symbol>
-<symbol name="mark/disk(sx)" transformations="translations">
-<path fill="sym-stroke">
-0.6 0 0 0.6 0 0 e
-</path>
-</symbol>
-<symbol name="mark/fdisk(sfx)" transformations="translations">
-<group>
-<path fill="sym-fill">
-0.5 0 0 0.5 0 0 e
-</path>
-<path fill="sym-stroke" fillrule="eofill">
-0.6 0 0 0.6 0 0 e
-0.4 0 0 0.4 0 0 e
-</path>
-</group>
-</symbol>
-<symbol name="mark/box(sx)" transformations="translations">
-<path fill="sym-stroke" fillrule="eofill">
--0.6 -0.6 m
-0.6 -0.6 l
-0.6 0.6 l
--0.6 0.6 l
-h
--0.4 -0.4 m
-0.4 -0.4 l
-0.4 0.4 l
--0.4 0.4 l
-h
-</path>
-</symbol>
-<symbol name="mark/square(sx)" transformations="translations">
-<path fill="sym-stroke">
--0.6 -0.6 m
-0.6 -0.6 l
-0.6 0.6 l
--0.6 0.6 l
-h
-</path>
-</symbol>
-<symbol name="mark/fsquare(sfx)" transformations="translations">
-<group>
-<path fill="sym-fill">
--0.5 -0.5 m
-0.5 -0.5 l
-0.5 0.5 l
--0.5 0.5 l
-h
-</path>
-<path fill="sym-stroke" fillrule="eofill">
--0.6 -0.6 m
-0.6 -0.6 l
-0.6 0.6 l
--0.6 0.6 l
-h
--0.4 -0.4 m
-0.4 -0.4 l
-0.4 0.4 l
--0.4 0.4 l
-h
-</path>
-</group>
-</symbol>
-<symbol name="mark/cross(sx)" transformations="translations">
-<group>
-<path fill="sym-stroke">
--0.43 -0.57 m
-0.57 0.43 l
-0.43 0.57 l
--0.57 -0.43 l
-h
-</path>
-<path fill="sym-stroke">
--0.43 0.57 m
-0.57 -0.43 l
-0.43 -0.57 l
--0.57 0.43 l
-h
-</path>
-</group>
-</symbol>
-<symbol name="arrow/fnormal(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/pointed(spx)">
-<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0 0 m
--1 0.333 l
--0.8 0 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/fpointed(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--0.8 0 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/linear(spx)">
-<path stroke="sym-stroke" pen="sym-pen">
--1 0.333 m
-0 0 l
--1 -0.333 l
-</path>
-</symbol>
-<symbol name="arrow/fdouble(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
--1 0 m
--2 0.333 l
--2 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/double(spx)">
-<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
--1 0 m
--2 0.333 l
--2 -0.333 l
-h
-</path>
-</symbol>
-<pen name="heavier" value="0.8"/>
-<pen name="fat" value="1.2"/>
-<pen name="ultrafat" value="2"/>
-<symbolsize name="large" value="5"/>
-<symbolsize name="small" value="2"/>
-<symbolsize name="tiny" value="1.1"/>
-<arrowsize name="large" value="10"/>
-<arrowsize name="small" value="5"/>
-<arrowsize name="tiny" value="3"/>
-<color name="red" value="1 0 0"/>
-<color name="green" value="0 1 0"/>
-<color name="blue" value="0 0 1"/>
-<color name="yellow" value="1 1 0"/>
-<color name="orange" value="1 0.647 0"/>
-<color name="gold" value="1 0.843 0"/>
-<color name="purple" value="0.627 0.125 0.941"/>
-<color name="gray" value="0.745"/>
-<color name="brown" value="0.647 0.165 0.165"/>
-<color name="navy" value="0 0 0.502"/>
-<color name="pink" value="1 0.753 0.796"/>
-<color name="seagreen" value="0.18 0.545 0.341"/>
-<color name="turquoise" value="0.251 0.878 0.816"/>
-<color name="violet" value="0.933 0.51 0.933"/>
-<color name="darkblue" value="0 0 0.545"/>
-<color name="darkcyan" value="0 0.545 0.545"/>
-<color name="darkgray" value="0.663"/>
-<color name="darkgreen" value="0 0.392 0"/>
-<color name="darkmagenta" value="0.545 0 0.545"/>
-<color name="darkorange" value="1 0.549 0"/>
-<color name="darkred" value="0.545 0 0"/>
-<color name="lightblue" value="0.678 0.847 0.902"/>
-<color name="lightcyan" value="0.878 1 1"/>
-<color name="lightgray" value="0.827"/>
-<color name="lightgreen" value="0.565 0.933 0.565"/>
-<color name="lightyellow" value="1 1 0.878"/>
-<dashstyle name="dashed" value="[4] 0"/>
-<dashstyle name="dotted" value="[1 3] 0"/>
-<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="footnote" value="\footnotesize"/>
-<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}"/>
-<gridsize name="4 pts" value="4"/>
-<gridsize name="8 pts (~3 mm)" value="8"/>
-<gridsize name="16 pts (~6 mm)" value="16"/>
-<gridsize name="32 pts (~12 mm)" value="32"/>
-<gridsize name="10 pts (~3.5 mm)" value="10"/>
-<gridsize name="20 pts (~7 mm)" value="20"/>
-<gridsize name="14 pts (~5 mm)" value="14"/>
-<gridsize name="28 pts (~10 mm)" value="28"/>
-<gridsize name="56 pts (~20 mm)" value="56"/>
-<anglesize name="90 deg" value="90"/>
-<anglesize name="60 deg" value="60"/>
-<anglesize name="45 deg" value="45"/>
-<anglesize name="30 deg" value="30"/>
-<anglesize name="22.5 deg" value="22.5"/>
-<tiling name="falling" angle="-60" step="4" width="1"/>
-<tiling name="rising" angle="30" step="4" width="1"/>
-</ipestyle>
-<page>
-<layer name="alpha"/>
-<view layers="alpha" active="alpha"/>
-<path layer="alpha" matrix="1 0 0 1 0 -8" fill="darkblue">
-109.771 601.912 m
-159.595 601.797 l
-140.058 541.915 l
-h
-</path>
-<path matrix="1 0 0 1 0 -8" fill="darkblue">
-79.8776 552.169 m
-109.756 601.699 l
-139.812 542.209 l
-h
-</path>
-<path matrix="1 0 0 1 0 -8" fill="lightblue">
-69.8453 682.419 m
-159.925 712.208 l
-90.12 732.039 l
-h
-</path>
-<text matrix="1 0 0 1 -230.178 14.1775" transformations="translations" pos="380 530" stroke="seagreen" type="label" width="68.836" height="8.307" depth="2.32" valign="baseline" size="large">Rips complex</text>
-<text matrix="1 0 0 1 -212.333 10.6762" transformations="translations" pos="282.952 524.893" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">0</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="352.708 510.349" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="310.693 578.759" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="375.332 578.49" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="272.179 660.635" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text>
-<text matrix="1 0 0 1 -209.478 4.0238" transformations="translations" pos="296.419 724.197" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="375.332 689.453" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-60 710 m
-40 660 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-40 660 m
-130 690 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-130 690 m
-60 710 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-40 660 m
-80 580 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-80 580 m
-130 580 l
-130 580 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-130 580 m
-110 520 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-110 520 m
-50 530 l
-50 530 l
-50 530 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-50 530 m
-80 580 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-130 580 m
-130 690 l
-</path>
-<use matrix="1 0 0 1 -209.478 4.0238" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="280 660" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="370 690" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="370 580" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="290 530" size="normal" stroke="black" fill="white"/>
-<path matrix="1 0 0 1 -40 -16" stroke="black" pen="heavier">
-150.038 609.9 m
-179.929 549.727 l
-</path>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="320 580" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="350 520" size="normal" stroke="black" fill="white"/>
-<path stroke="black" pen="heavier">
-158.7 593.269 m
-81.4925 544.805 l
-</path>
-<path matrix="1 0 0 1 -17.9662 -17.9662" stroke="gray">
-256.324 639.958 m
-370.055 639.958 l
-</path>
-<path matrix="1 0 0 1 -17.9662 -17.9662" stroke="gray">
-56.8567 0 0 56.8567 313.217 639.756 e
-</path>
-<use matrix="1 0 0 1 52.1387 -98.0941" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="gray" fill="white"/>
-<use matrix="1 0 0 1 -61.4926 -98.0942" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="gray" fill="white"/>
-<text matrix="1 0 0 1 -26.6167 -33.2708" transformations="translations" pos="295.735 657.944" stroke="gray" type="label" width="63.374" height="6.926" depth="1.93" valign="baseline">Rips threshold</text>
-</page>
-</ipe>
diff --git a/doc/Rips_complex/rips_complex_representation.png b/doc/Rips_complex/rips_complex_representation.png
deleted file mode 100644
index e901d92e..00000000
--- a/doc/Rips_complex/rips_complex_representation.png
+++ /dev/null
Binary files differ
diff --git a/doc/Rips_complex/rips_one_skeleton.ipe b/doc/Rips_complex/rips_one_skeleton.ipe
deleted file mode 100644
index 3a35970c..00000000
--- a/doc/Rips_complex/rips_one_skeleton.ipe
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE ipe SYSTEM "ipe.dtd">
-<ipe version="70107" creator="Ipe 7.1.10">
-<info created="D:20150603143945" modified="D:20160928130224"/>
-<ipestyle name="basic">
-<symbol name="arrow/arc(spx)">
-<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/farc(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="mark/circle(sx)" transformations="translations">
-<path fill="sym-stroke">
-0.6 0 0 0.6 0 0 e
-0.4 0 0 0.4 0 0 e
-</path>
-</symbol>
-<symbol name="mark/disk(sx)" transformations="translations">
-<path fill="sym-stroke">
-0.6 0 0 0.6 0 0 e
-</path>
-</symbol>
-<symbol name="mark/fdisk(sfx)" transformations="translations">
-<group>
-<path fill="sym-fill">
-0.5 0 0 0.5 0 0 e
-</path>
-<path fill="sym-stroke" fillrule="eofill">
-0.6 0 0 0.6 0 0 e
-0.4 0 0 0.4 0 0 e
-</path>
-</group>
-</symbol>
-<symbol name="mark/box(sx)" transformations="translations">
-<path fill="sym-stroke" fillrule="eofill">
--0.6 -0.6 m
-0.6 -0.6 l
-0.6 0.6 l
--0.6 0.6 l
-h
--0.4 -0.4 m
-0.4 -0.4 l
-0.4 0.4 l
--0.4 0.4 l
-h
-</path>
-</symbol>
-<symbol name="mark/square(sx)" transformations="translations">
-<path fill="sym-stroke">
--0.6 -0.6 m
-0.6 -0.6 l
-0.6 0.6 l
--0.6 0.6 l
-h
-</path>
-</symbol>
-<symbol name="mark/fsquare(sfx)" transformations="translations">
-<group>
-<path fill="sym-fill">
--0.5 -0.5 m
-0.5 -0.5 l
-0.5 0.5 l
--0.5 0.5 l
-h
-</path>
-<path fill="sym-stroke" fillrule="eofill">
--0.6 -0.6 m
-0.6 -0.6 l
-0.6 0.6 l
--0.6 0.6 l
-h
--0.4 -0.4 m
-0.4 -0.4 l
-0.4 0.4 l
--0.4 0.4 l
-h
-</path>
-</group>
-</symbol>
-<symbol name="mark/cross(sx)" transformations="translations">
-<group>
-<path fill="sym-stroke">
--0.43 -0.57 m
-0.57 0.43 l
-0.43 0.57 l
--0.57 -0.43 l
-h
-</path>
-<path fill="sym-stroke">
--0.43 0.57 m
-0.57 -0.43 l
-0.43 -0.57 l
--0.57 0.43 l
-h
-</path>
-</group>
-</symbol>
-<symbol name="arrow/fnormal(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/pointed(spx)">
-<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0 0 m
--1 0.333 l
--0.8 0 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/fpointed(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--0.8 0 l
--1 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/linear(spx)">
-<path stroke="sym-stroke" pen="sym-pen">
--1 0.333 m
-0 0 l
--1 -0.333 l
-</path>
-</symbol>
-<symbol name="arrow/fdouble(spx)">
-<path stroke="sym-stroke" fill="white" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
--1 0 m
--2 0.333 l
--2 -0.333 l
-h
-</path>
-</symbol>
-<symbol name="arrow/double(spx)">
-<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
-0 0 m
--1 0.333 l
--1 -0.333 l
-h
--1 0 m
--2 0.333 l
--2 -0.333 l
-h
-</path>
-</symbol>
-<pen name="heavier" value="0.8"/>
-<pen name="fat" value="1.2"/>
-<pen name="ultrafat" value="2"/>
-<symbolsize name="large" value="5"/>
-<symbolsize name="small" value="2"/>
-<symbolsize name="tiny" value="1.1"/>
-<arrowsize name="large" value="10"/>
-<arrowsize name="small" value="5"/>
-<arrowsize name="tiny" value="3"/>
-<color name="red" value="1 0 0"/>
-<color name="green" value="0 1 0"/>
-<color name="blue" value="0 0 1"/>
-<color name="yellow" value="1 1 0"/>
-<color name="orange" value="1 0.647 0"/>
-<color name="gold" value="1 0.843 0"/>
-<color name="purple" value="0.627 0.125 0.941"/>
-<color name="gray" value="0.745"/>
-<color name="brown" value="0.647 0.165 0.165"/>
-<color name="navy" value="0 0 0.502"/>
-<color name="pink" value="1 0.753 0.796"/>
-<color name="seagreen" value="0.18 0.545 0.341"/>
-<color name="turquoise" value="0.251 0.878 0.816"/>
-<color name="violet" value="0.933 0.51 0.933"/>
-<color name="darkblue" value="0 0 0.545"/>
-<color name="darkcyan" value="0 0.545 0.545"/>
-<color name="darkgray" value="0.663"/>
-<color name="darkgreen" value="0 0.392 0"/>
-<color name="darkmagenta" value="0.545 0 0.545"/>
-<color name="darkorange" value="1 0.549 0"/>
-<color name="darkred" value="0.545 0 0"/>
-<color name="lightblue" value="0.678 0.847 0.902"/>
-<color name="lightcyan" value="0.878 1 1"/>
-<color name="lightgray" value="0.827"/>
-<color name="lightgreen" value="0.565 0.933 0.565"/>
-<color name="lightyellow" value="1 1 0.878"/>
-<dashstyle name="dashed" value="[4] 0"/>
-<dashstyle name="dotted" value="[1 3] 0"/>
-<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="footnote" value="\footnotesize"/>
-<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}"/>
-<gridsize name="4 pts" value="4"/>
-<gridsize name="8 pts (~3 mm)" value="8"/>
-<gridsize name="16 pts (~6 mm)" value="16"/>
-<gridsize name="32 pts (~12 mm)" value="32"/>
-<gridsize name="10 pts (~3.5 mm)" value="10"/>
-<gridsize name="20 pts (~7 mm)" value="20"/>
-<gridsize name="14 pts (~5 mm)" value="14"/>
-<gridsize name="28 pts (~10 mm)" value="28"/>
-<gridsize name="56 pts (~20 mm)" value="56"/>
-<anglesize name="90 deg" value="90"/>
-<anglesize name="60 deg" value="60"/>
-<anglesize name="45 deg" value="45"/>
-<anglesize name="30 deg" value="30"/>
-<anglesize name="22.5 deg" value="22.5"/>
-<tiling name="falling" angle="-60" step="4" width="1"/>
-<tiling name="rising" angle="30" step="4" width="1"/>
-</ipestyle>
-<page>
-<layer name="alpha"/>
-<view layers="alpha" active="alpha"/>
-<path layer="alpha" matrix="1 0 0 1 0 -8" stroke="0">
-109.771 601.912 m
-159.595 601.797 l
-140.058 541.915 l
-h
-</path>
-<path matrix="1 0 0 1 0 -8" stroke="0">
-79.8776 552.169 m
-109.756 601.699 l
-139.812 542.209 l
-h
-</path>
-<path matrix="1 0 0 1 0.665417 -8.66542" stroke="0">
-69.8453 682.419 m
-159.925 712.208 l
-90.12 732.039 l
-h
-</path>
-<text matrix="1 0 0 1 -230.178 14.1775" transformations="translations" pos="380 530" stroke="seagreen" type="label" width="98.916" height="8.307" depth="2.32" valign="baseline" size="large">One skeleton graph</text>
-<text matrix="1 0 0 1 -212.333 10.6762" transformations="translations" pos="282.952 524.893" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">0</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="352.708 510.349" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="310.693 578.759" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="375.332 578.49" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="272.179 660.635" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text>
-<text matrix="1 0 0 1 -209.478 4.0238" transformations="translations" pos="296.419 724.197" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text>
-<text matrix="1 0 0 1 -210.178 14.1775" transformations="translations" pos="375.332 689.453" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text>
-<path matrix="1 0 0 1 30.6497 14.0396" stroke="black" pen="heavier">
-60 710 m
-40 660 l
-</path>
-<path matrix="1 0 0 1 30.3739 13.9018" stroke="black" pen="heavier">
-40 660 m
-130 690 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-130 690 m
-60 710 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-40 660 m
-80 580 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-80 580 m
-130 580 l
-130 580 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-130 580 m
-110 520 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-110 520 m
-50 530 l
-50 530 l
-50 530 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-50 530 m
-80 580 l
-</path>
-<path matrix="1 0 0 1 29.8225 14.1775" stroke="black" pen="heavier">
-130 580 m
-130 690 l
-</path>
-<use matrix="1 0 0 1 -209.478 4.0238" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="280 660" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="370 690" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="370 580" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="290 530" size="normal" stroke="black" fill="white"/>
-<path matrix="1 0 0 1 -40 -16" stroke="black" pen="heavier">
-150.038 609.9 m
-179.929 549.727 l
-</path>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="320 580" size="normal" stroke="black" fill="white"/>
-<use matrix="1 0 0 1 -210.178 14.1775" name="mark/fdisk(sfx)" pos="350 520" size="normal" stroke="black" fill="white"/>
-<path stroke="black" pen="heavier">
-158.7 593.269 m
-81.4925 544.805 l
-</path>
-<path matrix="1 0 0 1 -17.9662 -17.9662" stroke="gray">
-256.324 639.958 m
-370.055 639.958 l
-</path>
-<path matrix="1 0 0 1 -17.9662 -17.9662" stroke="gray">
-56.8567 0 0 56.8567 313.217 639.756 e
-</path>
-<use matrix="1 0 0 1 52.1387 -98.0941" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="gray" fill="white"/>
-<use matrix="1 0 0 1 -61.4926 -98.0942" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="gray" fill="white"/>
-<text matrix="1 0 0 1 -26.6167 -33.2708" transformations="translations" pos="295.735 657.944" stroke="gray" type="label" width="63.374" height="6.926" depth="1.93" valign="baseline">Rips threshold</text>
-</page>
-</ipe>
diff --git a/doc/Rips_complex/rips_one_skeleton.png b/doc/Rips_complex/rips_one_skeleton.png
deleted file mode 100644
index 1028770e..00000000
--- a/doc/Rips_complex/rips_one_skeleton.png
+++ /dev/null
Binary files differ