/*! \page installation GUDHI installation
* \tableofcontents
* As GUDHI is a header only library, there is no need to install the library.
*
* Examples of GUDHI headers inclusion can be found in \ref utilities.
*
* \section compiling Compiling
* The library uses c++14 and requires Boost ≥ 1.66.0
* and CMake ≥ 3.5.
* It is a multi-platform library and compiles on Linux, Mac OSX and Visual Studio 2015.
*
* \subsection utilities Utilities and examples
* To build the utilities, run the following commands in a terminal:
\verbatim cd /path-to-gudhi/
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE=Release ..
make \endverbatim
* By default, examples are disabled. You can activate their compilation with
* ccmake (on Linux and Mac OSX),
* cmake-gui (on Windows) or by modifying the
* cmake command as follows :
\verbatim cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=ON ..
make \endverbatim
* A list of utilities and examples is available here.
*
* \subsection libraryinstallation Installation
* To install the library (headers and activated utilities), run the following command in a terminal:
* \verbatim make install \endverbatim
* This action may require to be in the sudoer or administrator of the machine in function of the operating system and
* of CMAKE_INSTALL_PREFIX.
*
* \note Python module will be compiled by the `make` command, but `make install` will not install it. Please refer to
* the Python
* module installation documentation.
*
* \subsection testsuites Test suites
* To test your build, run the following command in a terminal:
* \verbatim make test \endverbatim
* `make test` is using Ctest (CMake test driver
* program). If some of the tests are failing, please send us the result of the following command:
* \verbatim ctest --output-on-failure \endverbatim
* Testing fetching datasets feature requires the use of the internet and is disabled by default. If you want to include this test, set WITH_GUDHI_REMOTE_TEST to ON when building in the previous step (note that this test is included in the python module):
* \verbatim cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_REMOTE_TEST=ON --DWITH_GUDHI_PYTHON=ON .. \endverbatim
*
* \subsection documentationgeneration Documentation
* To generate the documentation, Doxygen is required.
* Run the following command in a terminal:
* \verbatim make doxygen \endverbatim
* Documentation will be generated in a folder named html
.
*
* \subsection helloworld Hello world !
* The Hello world for GUDHI
* project is an example to help developers to make their own C++ project on top of the GUDHI library.
*
* \section optionallibrary Optional third-party library
* \subsection gmp GMP
* The multi-field persistent homology algorithm requires GMP which is a free library for arbitrary-precision
* arithmetic, operating on signed integers, rational numbers, and floating point numbers.
*
* The following example requires the GNU Multiple Precision Arithmetic
* Library (GMP) and will not be built if GMP is not installed:
* \li \gudhi_example_link{Persistent_cohomology,rips_multifield_persistence.cpp}
*
* Having GMP version 4.2 or higher installed is recommended.
*
* \subsection cgal CGAL
* Some GUDHI modules (cf. \ref main_page "modules list"), and few examples require CGAL, a C++ library that provides
* easy access to efficient and reliable geometric algorithms.
*
* \note There is no need to install CGAL, you can just cmake -DCMAKE_BUILD_TYPE=Release . && make
CGAL
* (or even cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_HEADER_ONLY=ON .
), thereafter you will be able to
* compile GUDHI by calling cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_DIR=/your/path/to/CGAL-X.Y .. && make
*
* The procedure to install this library according to
* your operating system is detailed here http://doc.cgal.org/latest/Manual/installation.html
*
* The following examples/utilities require the Computational Geometry Algorithms
* Library (CGAL \cite cgal:eb-19b) and will not be built if CGAL version 4.11.0 or higher is not installed:
* \li \gudhi_example_link{Simplex_tree,example_alpha_shapes_3_simplex_tree_from_off_file.cpp}
* \li \gudhi_example_link{Witness_complex,strong_witness_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,weak_witness_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,example_strong_witness_complex_off.cpp}
* \li \gudhi_example_link{Witness_complex,example_witness_complex_off.cpp}
* \li \gudhi_example_link{Witness_complex,example_witness_complex_sphere.cpp}
* \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_off.cpp}
* \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_points.cpp}
* \li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp}
* \li \gudhi_example_link{Persistent_cohomology,custom_persistence_sort.cpp}
* \li \gudhi_example_link{Bottleneck_distance,alpha_rips_persistence_bottleneck_distance.cpp}
* \li \gudhi_example_link{Bottleneck_distance,bottleneck_basic_example.cpp}
* \li \gudhi_example_link{Bottleneck_distance,bottleneck_distance.cpp}
* \li \gudhi_example_link{Nerve_GIC,CoordGIC.cpp}
* \li \gudhi_example_link{Nerve_GIC,FuncGIC.cpp}
* \li \gudhi_example_link{Nerve_GIC,Nerve.cpp}
* \li \gudhi_example_link{Nerve_GIC,VoronoiGIC.cpp}
* \li \gudhi_example_link{Spatial_searching,example_spatial_searching.cpp}
* \li \gudhi_example_link{Subsampling,example_choose_n_farthest_points.cpp}
* \li \gudhi_example_link{Subsampling,example_pick_n_random_points.cpp}
* \li \gudhi_example_link{Subsampling,example_sparsify_point_set.cpp}
* \li \gudhi_example_link{Tangential_complex,example_basic.cpp}
* \li \gudhi_example_link{Tangential_complex,example_with_perturb.cpp}
* \li \gudhi_example_link{Alpha_complex,Weighted_alpha_complex_3d_from_points.cpp}
* \li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp}
* \li \gudhi_example_link{Coxeter_triangulation,manifold_tracing_flat_torus_with_boundary.cpp}
*
* \subsection eigen Eigen
* Some GUDHI modules (cf. \ref main_page "modules list"), and few examples require
* Eigen is a C++ template library for linear algebra:
* matrices, vectors, numerical solvers, and related algorithms.
*
* The following examples/utilities require the Eigen and will not be
* built if Eigen is not installed:
* \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_off.cpp}
* \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_points.cpp}
* \li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp}
* \li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp}
* \li \gudhi_example_link{Alpha_complex,Weighted_alpha_complex_3d_from_points.cpp}
* \li \gudhi_example_link{Bottleneck_distance,alpha_rips_persistence_bottleneck_distance.cpp}
* \li \gudhi_example_link{Persistent_cohomology,custom_persistence_sort.cpp}
* \li \gudhi_example_link{Spatial_searching,example_spatial_searching.cpp}
* \li \gudhi_example_link{Subsampling,example_choose_n_farthest_points.cpp}
* \li \gudhi_example_link{Subsampling,example_pick_n_random_points.cpp}
* \li \gudhi_example_link{Subsampling,example_sparsify_point_set.cpp}
* \li \gudhi_example_link{Tangential_complex,example_basic.cpp}
* \li \gudhi_example_link{Tangential_complex,example_with_perturb.cpp}
* \li \gudhi_example_link{Witness_complex,strong_witness_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,weak_witness_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,example_strong_witness_complex_off.cpp}
* \li \gudhi_example_link{Witness_complex,example_witness_complex_off.cpp}
* \li \gudhi_example_link{Witness_complex,example_witness_complex_sphere.cpp}
* \li \gudhi_example_link{Coxeter_triangulation,cell_complex_from_basic_circle_manifold.cpp}
* \li \gudhi_example_link{Coxeter_triangulation,manifold_tracing_custom_function.cpp}
* \li \gudhi_example_link{Coxeter_triangulation,manifold_tracing_flat_torus_with_boundary.cpp}
*
* \subsection tbb Threading Building Blocks
* Intel® TBB lets you easily write parallel
* C++ programs that take full advantage of multicore performance, that are portable and composable, and that have
* future-proof scalability.
*
* Having Intel® TBB installed is recommended to parallelize and accelerate some GUDHI computations.
*
* The following examples/utilities are using Intel® TBB if installed:
* \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_off.cpp}
* \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_points.cpp}
* \li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp}
* \li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp}
* \li \gudhi_example_link{Bitmap_cubical_complex,cubical_complex_persistence.cpp}
* \li \gudhi_example_link{Bitmap_cubical_complex,periodic_cubical_complex_persistence.cpp}
* \li \gudhi_example_link{Bitmap_cubical_complex,Random_bitmap_cubical_complex.cpp}
* \li \gudhi_example_link{Nerve_GIC,CoordGIC.cpp}
* \li \gudhi_example_link{Nerve_GIC,FuncGIC.cpp}
* \li \gudhi_example_link{Nerve_GIC,Nerve.cpp}
* \li \gudhi_example_link{Nerve_GIC,VoronoiGIC.cpp}
* \li \gudhi_example_link{Simplex_tree,simple_simplex_tree.cpp}
* \li \gudhi_example_link{Simplex_tree,example_alpha_shapes_3_simplex_tree_from_off_file.cpp}
* \li \gudhi_example_link{Simplex_tree,simplex_tree_from_cliques_of_graph.cpp}
* \li \gudhi_example_link{Simplex_tree,graph_expansion_with_blocker.cpp}
* \li \gudhi_example_link{Persistent_cohomology,alpha_complex_3d_persistence.cpp}
* \li \gudhi_example_link{Persistent_cohomology,alpha_complex_persistence.cpp}
* \li \gudhi_example_link{Persistent_cohomology,rips_persistence_via_boundary_matrix.cpp}
* \li \gudhi_example_link{Persistent_cohomology,persistence_from_file.cpp}
* \li \gudhi_example_link{Persistent_cohomology,persistence_from_simple_simplex_tree.cpp}
* \li \gudhi_example_link{Persistent_cohomology,plain_homology.cpp}
* \li \gudhi_example_link{Persistent_cohomology,rips_multifield_persistence.cpp}
* \li \gudhi_example_link{Persistent_cohomology,rips_persistence_step_by_step.cpp}
* \li \gudhi_example_link{Persistent_cohomology,custom_persistence_sort.cpp}
* \li \gudhi_example_link{Rips_complex,example_one_skeleton_rips_from_points.cpp}
* \li \gudhi_example_link{Rips_complex,example_rips_complex_from_off_file.cpp}
* \li \gudhi_example_link{Rips_complex,rips_distance_matrix_persistence.cpp}
* \li \gudhi_example_link{Rips_complex,rips_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,strong_witness_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,weak_witness_persistence.cpp}
* \li \gudhi_example_link{Witness_complex,example_nearest_landmark_table.cpp}
*
* \section Contributions Bug reports and contributions
* Please help us improving the quality of the GUDHI library.
* You may report bugs or
* contact us for any suggestions.
*
* GUDHI is open to external contributions. If you want to join our development team, please take some time to read our
* contributing guide.
*
*/
/*! \page Citation Acknowledging the GUDHI library
* We kindly ask users to cite the GUDHI library as appropriately as possible in their papers, and to mention the use
* of the GUDHI library on the web pages of their projects using GUDHI and provide us with links to these web pages.
* Feel free to contact us in case you have any question or remark on this topic.
*
* We provide \ref GudhiBibtex entries for the modules of the User and Reference Manual, as well as for publications
* directly related to the GUDHI library.
* \section GudhiBibtex GUDHI bibtex
* \verbinclude biblio/how_to_cite_gudhi.bib
*/