GUDHI installation

As GUDHI is a header only library, there is no need to install the library.

Examples of GUDHI headers inclusion can be found in Demos and examples.

The library uses c++11 and requires Boost with version 1.48.0 or more recent. It is a multi-platform library and compiles on Linux, Mac OSX and Visual Studio 2015.

To build the demos and examples, run the following commands in a terminal:

cd /path-to-gudhi/ mkdir build cd build/ cmake .. make

A list of examples is available here.

To test your build, run the following command in a terminal:

make test

To generate the documentation, Doxygen is required. Run the following command in a terminal:

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`

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:

Having GMP version 4.2 or higher installed is recommended.

The Alpha complex data structure, Bottleneck distance, and few examples requires CGAL, which is a C++ library which 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 .`

for CGAL version ≥ 4.8.0), thereafter you will be able to compile GUDHI by calling`cmake -DCGAL_DIR=/your/path/to/CGAL-X.Y .. && make`

Having CGAL version 4.4.0 or higher installed is recommended. 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 require the Computational Geometry Algorithms Library (CGAL [19]) and will not be built if CGAL is not installed:

- Persistent_cohomology/alpha_complex_3d_persistence.cpp
- Persistent_cohomology/exact_alpha_complex_3d_persistence.cpp
- Persistent_cohomology/weighted_alpha_complex_3d_persistence.cpp
- Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp

The following example requires CGAL version ≥ 4.6.0:

The following example requires CGAL version ≥ 4.7.0:

- Alpha_complex/Alpha_complex_from_off.cpp
- Alpha_complex/Alpha_complex_from_points.cpp
- Persistent_cohomology/alpha_complex_persistence.cpp
- Persistent_cohomology/periodic_alpha_complex_3d_persistence.cpp
- Persistent_cohomology/custom_persistence_sort.cpp

The following example requires CGAL version ≥ 4.8.1:

- Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp
- Bottleneck_distance/bottleneck_basic_example.cpp
- Bottleneck_distance/bottleneck_read_file_example.cpp
- Spatial_searching/example_spatial_searching.cpp
- Subsampling/example_choose_n_farthest_points.cpp
- Subsampling/example_custom_kernel.cpp
- Subsampling/example_pick_n_random_points.cpp
- Subsampling/example_sparsify_point_set.cpp
- Tangential_complex/example_basic.cpp
- Tangential_complex/example_with_perturb.cpp

The Alpha complex data structure and few examples requires Eigen3 is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

The following example requires the Eigen3 and will not be built if Eigen3 is not installed:

- Alpha_complex/Alpha_complex_from_off.cpp
- Alpha_complex/Alpha_complex_from_points.cpp
- Persistent_cohomology/alpha_complex_persistence.cpp
- Persistent_cohomology/periodic_alpha_complex_3d_persistence.cpp
- Persistent_cohomology/custom_persistence_sort.cpp

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 are using Intel® TBB if installed:

- Alpha_complex/Alpha_complex_from_off.cpp
- Alpha_complex/Alpha_complex_from_points.cpp
- Bitmap_cubical_complex/Bitmap_cubical_complex.cpp
- Bitmap_cubical_complex/Bitmap_cubical_complex_periodic_boundary_conditions.cpp
- Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp
- Persistent_cohomology/alpha_complex_3d_persistence.cpp
- Persistent_cohomology/alpha_complex_persistence.cpp
- Simplex_tree/simple_simplex_tree.cpp
- Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp
- Simplex_tree/simplex_tree_from_cliques_of_graph.cpp
- Persistent_cohomology/alpha_complex_3d_persistence.cpp
- Persistent_cohomology/alpha_complex_persistence.cpp
- Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp
- Persistent_cohomology/persistence_from_file.cpp
- Persistent_cohomology/persistence_from_simple_simplex_tree.cpp
- Persistent_cohomology/plain_homology.cpp
- Persistent_cohomology/rips_distance_matrix_persistence.cpp
- Persistent_cohomology/rips_multifield_persistence.cpp
- Persistent_cohomology/rips_persistence.cpp
- Persistent_cohomology/rips_persistence_step_by_step.cpp
- Persistent_cohomology/exact_alpha_complex_3d_persistence.cpp
- Persistent_cohomology/weighted_alpha_complex_3d_persistence.cpp
- Persistent_cohomology/periodic_alpha_complex_3d_persistence.cpp
- Persistent_cohomology/custom_persistence_sort.cpp
- Rips_complex/example_one_skeleton_rips_from_points.cpp
- Rips_complex/example_rips_complex_from_off_file.cpp

Please help us improving the quality of the GUDHI library. You may report bugs or suggestions to:

Contact: gudhi-users@lists.gforge.inria.fr

GUDHI is open to external contributions. If you want to join our development team, please contact us.

GUDHI Version 2.0.0 - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. | Generated on Wed Apr 19 2017 22:26:16 for GUDHI by 1.8.11 |