Skip to content

Commit

Permalink
merge upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
hschreiber committed Sep 19, 2024
2 parents ba7ee4d + 1e31a4b commit f0978fc
Show file tree
Hide file tree
Showing 436 changed files with 46,736 additions and 43,130 deletions.
55 changes: 38 additions & 17 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
examples:
docker:
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image
- image: gudhi/ci_for_gudhi:latest
- image: gudhi/ci_for_gudhi:2024.06.02
steps:
- checkout
- run:
Expand All @@ -25,7 +25,7 @@ jobs:
tests:
docker:
- image: gudhi/ci_for_gudhi:latest
- image: gudhi/ci_for_gudhi:2024.06.02
steps:
- checkout
- run:
Expand All @@ -42,9 +42,28 @@ jobs:
make all
ctest --output-on-failure
debug_tests:
docker:
- image: gudhi/ci_for_gudhi:2024.06.02
steps:
- checkout
- run:
name: Checkout submodules
command: |
git submodule sync
git submodule update --init
- run:
name: Build and test unitary tests
command: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS=-fsanitize=address -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
make all
ctest --output-on-failure
utils:
docker:
- image: gudhi/ci_for_gudhi:latest
- image: gudhi/ci_for_gudhi:2024.06.02
steps:
- checkout
- run:
Expand All @@ -63,7 +82,8 @@ jobs:
python:
docker:
- image: gudhi/ci_for_gudhi:latest
- image: gudhi/ci_for_gudhi:2024.06.02
resource_class: large # Delaunay complex requires about 5 Gb of RAM to compile
steps:
- checkout
- run:
Expand All @@ -80,7 +100,7 @@ jobs:
cmake -DWITH_GUDHI_THIRD_PARTY=OFF -DUSER_VERSION_DIR=version ..
make user_version
cd version
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 -DWITH_GUDHI_REMOTE_TEST=ON .
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DWITH_GUDHI_REMOTE_TEST=ON .
cd python
python3 setup.py build_ext --inplace
ctest --output-on-failure
Expand All @@ -99,7 +119,7 @@ jobs:

doxygen:
docker:
- image: gudhi/doxygen_for_gudhi:latest
- image: gudhi/doxygen_for_gudhi:2024.06.01
steps:
- checkout
- run:
Expand Down Expand Up @@ -129,7 +149,7 @@ jobs:

bibliography:
docker:
- image: gudhi/doxygen_for_gudhi:latest
- image: gudhi/doxygen_for_gudhi:2024.06.01
steps:
- checkout
- run:
Expand All @@ -153,7 +173,7 @@ jobs:
examples_without_cgal_eigen:
docker:
# cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image_without_cgal
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -172,7 +192,7 @@ jobs:
tests_without_cgal_eigen:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -191,7 +211,7 @@ jobs:
utils_without_cgal_eigen:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -210,7 +230,7 @@ jobs:
python_without_cgal_eigen:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -223,7 +243,7 @@ jobs:
command: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 ..
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON ..
cd src/python
python3 setup.py build_ext --inplace
ctest --output-on-failure
Expand All @@ -233,7 +253,7 @@ jobs:

examples_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -252,7 +272,7 @@ jobs:
tests_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -271,7 +291,7 @@ jobs:
utils_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -290,7 +310,7 @@ jobs:
python_without_cgal:
docker:
- image: gudhi/ci_for_gudhi_wo_cgal:latest
- image: gudhi/ci_for_gudhi_wo_cgal:2024.06.01
steps:
- checkout
- run:
Expand All @@ -303,7 +323,7 @@ jobs:
command: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 ..
cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON ..
cd src/python
python3 setup.py build_ext --inplace
ctest --output-on-failure
Expand All @@ -322,6 +342,7 @@ workflows:
- python_without_cgal
- examples
- tests
- debug_tests
- utils
- python
- doxygen
Expand Down
91 changes: 89 additions & 2 deletions .github/changelog.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,102 @@
Release History
===============

[Release 3.10.1](https://github.com/GUDHI/gudhi-devel/releases/tag/tags%2Fgudhi-release-3.10.1)
-----------

Release date: June 2024

Below is a list of changes made since GUDHI 3.10.1:

Only bug fixes have been implemented for this minor version.

The [list of bugs that were solved](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.10.1+is%3Aclosed) is available on GitHub.

[Release 3.10.0](https://github.com/GUDHI/gudhi-devel/releases/tag/tags%2Fgudhi-release-3.10.0)
-----------

Release date: June 2024

Below is a list of changes made since GUDHI 3.9.0:

- [Persistence matrix](https://gudhi.inria.fr/doc/latest/group__persistence__matrix.html)
> Matrix API is in a beta version and may change in incompatible ways in the near future.
- Matrix structure for filtered complexes with multiple functionnalities related to persistence homology, such as
representative cycles computation or vineyards.

- [Rips complex](https://gudhi.inria.fr/python/latest/rips_complex_sklearn_itf_ref.html)
- Rips complex persistence scikit-learn like interface

- [Čech complex](https://gudhi.inria.fr/cechcomplex/)
- A new utility to compute the Delaunay-Čech filtration on a Delaunay triangulation.

- Installation
- CGAL ≥ 5.1.0 is now required (was ≥ 4.11.0).
- Eigen3 ≥ 3.3.0 is now required (was ≥ 3.1.0).

- Maintenance
- Some bug fix for CGAL ≥ 6.0, NumPy ≥ 2.0, Scikit-learn ≥ 1.4, Matplotlib ≥ 3.6 and TensorFlow ≥ 2.16.

- Miscellaneous
- The [list of bugs that were solved since GUDHI-3.9.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.10.0+is%3Aclosed) is available on GitHub.


[Release 3.9.0](https://github.com/GUDHI/gudhi-devel/releases/tag/tags%2Fgudhi-release-3.9.0)
-----------

Release date: December 2023

Below is a list of changes made since GUDHI 3.8.0:

- [CubicalPersistence](https://gudhi.inria.fr/python/latest/cubical_complex_sklearn_itf_ref.html)
- Much faster implementation for the 2d case with input from top-dimensional cells.

- [Simplex_tree](https://gudhi.inria.fr/doc/latest/group__simplex__tree.html)
- A helper `for_each_simplex` that applies a given function object on each simplex
- A new method `num_simplices_by_dimension` is now available thanks to this helper.
- A `clear` method to empty the data stucture.
- A new argument `ignore_infinite_values` for `initialize_filtration` method to skip infinite values. As a side effect, this change enhances the persistence computation.
- `Simplex_tree_options_full_featured` has been renamed `Simplex_tree_options_default` and `Simplex_tree_options_python`.
These are respectively the default options used by the `Simplex_tree` and by the python interface of the `SimplexTree` (as before this version).
- From GUDHI 3.9.0, `Simplex_tree_options_full_featured` now activates `link_nodes_by_label` and `stable_simplex_handles` (making it slower, except for browsing cofaces).

| Simplex_tree_options_* | :warning: full_featured | default | python | minimal |
| ---- | ---- | ---- | ---- | ---- |
| store_key | 1 | 1 | 1 | 0 |
| store_filtration | 1 | 1 | 1 | 0 |
| contiguous_vertices | 0 | 0 | 0 | 0 |
| link_nodes_by_label | ***1*** | 0 | 0 | 0 |
| stable_simplex_handles | ***1*** | 0 | 0 | 0 |
| Filtration_value | double | double | double | |

- [Simplex_tree options](https://gudhi.inria.fr/doc/latest/struct_simplex_tree_options.html)
- A new option `link_nodes_by_label` to speed up cofaces and stars access, when set to true.
- A new option `stable_simplex_handles` to keep Simplex handles valid even after insertions or removals, when set to true.

- [Čech complex](https://gudhi.inria.fr/doc/latest/group__cech__complex.html)
- A function `assign_MEB_filtration` that assigns to each simplex a filtration value equal to the squared radius of its minimal enclosing ball (MEB), given a simplicial complex and an embedding of its vertices. Applied on a Delaunay triangulation, it computes the Delaunay-Čech filtration.

- [Edge collapse](https://gudhi.inria.fr/python/latest/edge_collapse.html)
- A Python function `reduce_graph` to simplify a clique filtration (represented as a sparse weighted graph), while preserving its persistent homology.

- [Mapper/GIC/Nerve complexes](https://gudhi.inria.fr/python/latest/cover_complex_sklearn_isk_ref.html)
- A new method `save_to_html` to ease the Keppler Mapper visualization

- Installation
- Boost ≥ 1.71.0 is now required (was ≥ 1.66.0).
- cython >= 3.0.0 is now supported.
- Python 3.12 pip package.

- Miscellaneous
- The [list of bugs that were solved since GUDHI-3.8.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.9.0+is%3Aclosed) is available on GitHub.

[Release 3.8.0](https://github.com/GUDHI/gudhi-devel/releases/tag/tags%2Fgudhi-release-3.8.0)
-----------

Release date: April 2023

As a major new feature, the GUDHI library now offers Perslay, a Tensorflow model for the representations module, scikit-learn like interfaces for Cover Complexes, a new function to compute persistence of a function on ℝ and the possibility to build a Cubical Complex as a lower-star filtration from vertices.

We are now using GitHub to develop the GUDHI library, do not hesitate to [fork the GUDHI project on GitHub](https://github.com/GUDHI/gudhi-devel). From a user point of view, we recommend to download GUDHI user version (gudhi.3.X.X.tar.gz).

Below is a list of changes made since GUDHI 3.7.1:

- [Perslay](https://gudhi.inria.fr/python/latest/representations_tflow_itf_ref.html)
Expand Down
1 change: 0 additions & 1 deletion .github/code_conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
* Example files should be called `example_[what_it_is].cpp`. E.g. `example_sparsify_point_set.cpp`

### In CMakeLists.txt files:
* The name of the "project" should be in this form: `Package_[tests|examples|…]`. E.g. `project(Simplex_tree_examples)`.
* The name if each "target" (first parameter of add_executable) should be in this form: `Package_{name of the cpp file without extension}`. E.g `add_executable(Subsampling_test_sparsify_point_set test_sparsify_point_set.cpp)`.

### Code style
Expand Down
6 changes: 3 additions & 3 deletions .github/for_maintainers/new_gudhi_version_creation.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ nor [unlabelled closed PRs](https://github.com/GUDHI/gudhi-devel/pulls?q=is%3Apr
**Edit the file CMakeGUDHIVersion.txt**, and increment major, minor, or patch version number, in function of the version new delivery.
```bash
# cf. .gitignore - ignore this if it is a fresh clone version
rm -rf data/points/COIL_database/lucky_cat.off_dist data/points/COIL_database/lucky_cat.off_sc.dot data/points/KleinBottle5D.off_dist data/points/KleinBottle5D.off_sc.dot data/points/human.off_dist data/points/human.off_sc.off data/points/human.off_sc.txt src/python/test/__pycache__
rm -rf data/points/COIL_database/lucky_cat.off_dist data/points/COIL_database/lucky_cat.off_sc.dot data/points/KleinBottle5D.off_dist data/points/KleinBottle5D.off_sc.dot data/points/human.off_dist data/points/human.off_sc.off data/points/human.off_sc.txt src/python/test/__pycache__ src/python/gudhi/*.cpp
```

Checkin the modifications, build and test the version:
```bash
git submodule update --init
rm -rf build; mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$CONDA_PREFIX -DWITH_GUDHI_REMOTE_TEST=ON -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_BENCHMARK=ON -DUSER_VERSION_DIR=gudhi.@GUDHI_VERSION@ -DPython_ADDITIONAL_VERSIONS=3 ..
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$CONDA_PREFIX -DWITH_GUDHI_REMOTE_TEST=ON -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_BENCHMARK=ON -DUSER_VERSION_DIR=gudhi.@GUDHI_VERSION@ ..
make user_version
date +"%d-%m-%Y-%T" > gudhi.@GUDHI_VERSION@/timestamp.txt
tar -czvf gudhi.@GUDHI_VERSION@.tar.gz gudhi.@GUDHI_VERSION@
Expand All @@ -54,7 +54,7 @@ mkdir gudhi.doc.@GUDHI_VERSION@
```bash
cd gudhi.@GUDHI_VERSION@
rm -rf build; mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$CONDA_PREFIX -DWITH_GUDHI_EXAMPLE=ON -DPython_ADDITIONAL_VERSIONS=3 ..
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$CONDA_PREFIX -DWITH_GUDHI_EXAMPLE=ON ..
make doxygen && grep warning doxygen.log
```

Expand Down
4 changes: 2 additions & 2 deletions .github/for_maintainers/next_release_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ As a major new feature, the GUDHI library now offers **...**

We are now using GitHub to develop the GUDHI library, do not hesitate to [fork the GUDHI project on GitHub](https://github.com/GUDHI/gudhi-devel). From a user point of view, we recommend to download GUDHI user version (gudhi.3.X.X.tar.gz).

Below is a list of changes made since GUDHI 3.X-1.X-1:
Below is a list of changes:

- [Module](link)
- **...**
Expand All @@ -13,7 +13,7 @@ Below is a list of changes made since GUDHI 3.X-1.X-1:
- **...**

- Miscellaneous
- The [list of bugs that were solved since GUDHI-3.X-1.X-1](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.1.1+is%3Aclosed) is available on GitHub.
- The [list of bugs that were solved](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.1.1+is%3Aclosed) is available on GitHub.

All modules are distributed under the terms of the MIT license.
However, there are still GPL dependencies for many modules. We invite you to check our [license dedicated web page](https://gudhi.inria.fr/licensing/) for further details.
Expand Down
21 changes: 18 additions & 3 deletions .github/for_maintainers/switcher.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
[
{
"name": "v3.8.0 (latest)",
"version": "3.8.0",
"name": "v3.10.1 (latest)",
"version": "3.10.1",
"url": "https://gudhi.inria.fr/python/latest/"
},
{
"name": "v3.10.0",
"version": "3.10.0",
"url": "https://gudhi.inria.fr/python/3.10.0/"
},
{
"name": "v3.9.0",
"version": "3.9.0",
"url": "https://gudhi.inria.fr/python/3.9.0/"
},
{
"name": "v3.8.0",
"version": "3.8.0",
"url": "https://gudhi.inria.fr/python/3.8.0/"
},
{
"name": "v3.7.1",
"version": "3.7.1",
Expand Down Expand Up @@ -69,4 +84,4 @@
"version": "2.0.0",
"url": "https://gudhi.inria.fr/python/2.0.0/"
}
]
]
Loading

0 comments on commit f0978fc

Please sign in to comment.