diff options
Diffstat (limited to 'src/cython/test/test_rips_complex.py')
-rwxr-xr-x | src/cython/test/test_rips_complex.py | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/src/cython/test/test_rips_complex.py b/src/cython/test/test_rips_complex.py index 687e8529..464c69e5 100755 --- a/src/cython/test/test_rips_complex.py +++ b/src/cython/test/test_rips_complex.py @@ -1,4 +1,5 @@ from gudhi import RipsComplex +from math import sqrt """This file is part of the Gudhi Library. The Gudhi library (Geometric Understanding in Higher Dimensions) is a generic C++ @@ -31,7 +32,7 @@ def test_empty_rips(): rips_complex = RipsComplex() assert rips_complex.__is_defined() == True -def test_rips(): +def test_rips_from_points(): point_list = [[0, 0], [1, 0], [0, 1], [1, 1]] rips_complex = RipsComplex(points=point_list, max_edge_length=42) @@ -55,7 +56,7 @@ def test_rips(): [([0, 1], 1.0), ([0, 2], 1.0), ([0, 3], 1.4142135623730951)] -def test_filtered_rips(): +def test_filtered_rips_from_points(): point_list = [[0, 0], [1, 0], [0, 1], [1, 1]] filtered_rips = RipsComplex(points=point_list, max_edge_length=1.0) @@ -66,3 +67,45 @@ def test_filtered_rips(): assert simplex_tree.num_simplices() == 8 assert simplex_tree.num_vertices() == 4 + +def test_rips_from_distance_matrix(): + distance_matrix = [[0], + [1, 0], + [1, sqrt(2), 0], + [sqrt(2), 1, 1, 0]] + rips_complex = RipsComplex(distance_matrix=distance_matrix, max_edge_length=42) + + simplex_tree = rips_complex.create_simplex_tree(max_dimension=1) + + assert simplex_tree.__is_defined() == True + assert simplex_tree.__is_persistence_defined() == False + + assert simplex_tree.num_simplices() == 10 + assert simplex_tree.num_vertices() == 4 + + assert simplex_tree.get_filtered_tree() == \ + [([0], 0.0), ([1], 0.0), ([2], 0.0), ([3], 0.0), + ([0, 1], 1.0), ([0, 2], 1.0), ([1, 3], 1.0), + ([2, 3], 1.0), ([1, 2], 1.4142135623730951), + ([0, 3], 1.4142135623730951)] + assert simplex_tree.get_star_tree([0]) == \ + [([0], 0.0), ([0, 1], 1.0), ([0, 2], 1.0), + ([0, 3], 1.4142135623730951)] + assert simplex_tree.get_coface_tree([0], 1) == \ + [([0, 1], 1.0), ([0, 2], 1.0), + ([0, 3], 1.4142135623730951)] + +def test_filtered_rips_from_distance_matrix(): + distance_matrix = [[0], + [1, 0], + [1, sqrt(2), 0], + [sqrt(2), 1, 1, 0]] + filtered_rips = RipsComplex(distance_matrix=distance_matrix, max_edge_length=1.0) + + simplex_tree = filtered_rips.create_simplex_tree(max_dimension=1) + + assert simplex_tree.__is_defined() == True + assert simplex_tree.__is_persistence_defined() == False + + assert simplex_tree.num_simplices() == 8 + assert simplex_tree.num_vertices() == 4 |