/*! \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.56.0 * and CMake ≥ 3.1. * 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 .. 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 -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. * * \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 * * \subsection documentationgeneration Documentation * To generate the documentation, Doxygen is required. * Run the following command in a terminal: \verbatim make doxygen # Documentation will be generated in the folder YYYY-MM-DD-hh-mm-ss_GUDHI_X.Y.Z/doc/html/ # You can customize the directory name by calling `cmake -DUSER_VERSION_DIR=/my/custom/folder` \endverbatim * * \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 * 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 . && make CGAL (or even * cmake -DCGAL_HEADER_ONLY=ON .), thereafter you will be able to compile * GUDHI by calling cmake -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 * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp * \li * Witness_complex/strong_witness_persistence.cpp * \li * Witness_complex/weak_witness_persistence.cpp * \li * Witness_complex/example_strong_witness_complex_off.cpp * \li * Witness_complex/example_witness_complex_off.cpp * \li * Witness_complex/example_witness_complex_sphere.cpp * \li * Alpha_complex/Alpha_complex_from_off.cpp * \li * Alpha_complex/Alpha_complex_from_points.cpp * \li * Alpha_complex/alpha_complex_persistence.cpp * \li * Persistent_cohomology/custom_persistence_sort.cpp * \li * Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp * \li * Bottleneck_distance/bottleneck_basic_example.cpp * \li * Bottleneck_distance/bottleneck_distance.cpp * \li * Nerve_GIC/CoordGIC.cpp * \li * Nerve_GIC/FuncGIC.cpp * \li * Nerve_GIC/Nerve.cpp * \li * Nerve_GIC/VoronoiGIC.cpp * \li * Spatial_searching/example_spatial_searching.cpp * \li * Subsampling/example_choose_n_farthest_points.cpp * \li * Subsampling/example_custom_kernel.cpp * \li * Subsampling/example_pick_n_random_points.cpp * \li * Subsampling/example_sparsify_point_set.cpp * \li * Tangential_complex/example_basic.cpp * \li * Tangential_complex/example_with_perturb.cpp * \li * Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp * \li * Alpha_complex/alpha_complex_3d_persistence.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 * Alpha_complex/Alpha_complex_from_off.cpp * \li * Alpha_complex/Alpha_complex_from_points.cpp * \li * Alpha_complex/alpha_complex_persistence.cpp * \li * Alpha_complex/alpha_complex_3d_persistence.cpp * \li * Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp * \li * Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp * \li * Persistent_cohomology/custom_persistence_sort.cpp * \li * Spatial_searching/example_spatial_searching.cpp * \li * Subsampling/example_choose_n_farthest_points.cpp * \li * Subsampling/example_custom_kernel.cpp * \li * Subsampling/example_pick_n_random_points.cpp * \li * Subsampling/example_sparsify_point_set.cpp * \li * Tangential_complex/example_basic.cpp * \li * Tangential_complex/example_with_perturb.cpp * \li * Witness_complex/strong_witness_persistence.cpp * \li * Witness_complex/weak_witness_persistence.cpp * \li * Witness_complex/example_strong_witness_complex_off.cpp * \li * Witness_complex/example_witness_complex_off.cpp * \li * Witness_complex/example_witness_complex_sphere.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 * Alpha_complex/Alpha_complex_from_off.cpp * \li * Alpha_complex/Alpha_complex_from_points.cpp * \li * Alpha_complex/alpha_complex_3d_persistence.cpp * \li * Alpha_complex/alpha_complex_persistence.cpp * \li * Bitmap_cubical_complex/cubical_complex_persistence.cpp * \li * Bitmap_cubical_complex/periodic_cubical_complex_persistence.cpp * \li * Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp * \li * Nerve_GIC/CoordGIC.cpp * \li * Nerve_GIC/FuncGIC.cpp * \li * Nerve_GIC/Nerve.cpp * \li * Nerve_GIC/VoronoiGIC.cpp * \li * Simplex_tree/simple_simplex_tree.cpp * \li * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp * \li * Simplex_tree/simplex_tree_from_cliques_of_graph.cpp * \li * Simplex_tree/graph_expansion_with_blocker.cpp * \li * Persistent_cohomology/alpha_complex_3d_persistence.cpp * \li * Persistent_cohomology/alpha_complex_persistence.cpp * \li * Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp * \li * Persistent_cohomology/persistence_from_file.cpp * \li * Persistent_cohomology/persistence_from_simple_simplex_tree.cpp * \li * Persistent_cohomology/plain_homology.cpp * \li * Persistent_cohomology/rips_multifield_persistence.cpp * \li * Persistent_cohomology/rips_persistence_step_by_step.cpp * \li * Persistent_cohomology/custom_persistence_sort.cpp * \li * Rips_complex/example_one_skeleton_rips_from_points.cpp * \li * Rips_complex/example_rips_complex_from_off_file.cpp * \li * Rips_complex/rips_distance_matrix_persistence.cpp * \li * Rips_complex/rips_persistence.cpp * \li * Witness_complex/strong_witness_persistence.cpp * \li * Witness_complex/weak_witness_persistence.cpp * \li * 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 suggestions to: * \verbatim Contact: gudhi-users@lists.gforge.inria.fr \endverbatim * * GUDHI is open to external contributions. If you want to join our development team, please contact us. * */ /*! \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 */