Esempio n. 1
0
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)

    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
Esempio n. 2
0
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
Esempio n. 3
0
def test_sparse_with_multiplicity():
    points = [
        [3, 4],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [0.1, 2],
        [3, 4.1],
    ]
    rips = RipsComplex(points=points, sparse=0.01)
    simplex_tree = rips.create_simplex_tree(max_dimension=2)
    assert simplex_tree.num_simplices() == 7
    diag = simplex_tree.persistence()
Esempio n. 4
0
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 list(simplex_tree.get_filtration()) == [
        ([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([0]) == [
        ([0], 0.0),
        ([0, 1], 1.0),
        ([0, 2], 1.0),
        ([0, 3], 1.4142135623730951),
    ]
    assert simplex_tree.get_cofaces([0], 1) == [
        ([0, 1], 1.0),
        ([0, 2], 1.0),
        ([0, 3], 1.4142135623730951),
    ]
Esempio n. 5
0
from gudhi import RipsComplex, SimplexTree
import gudhi
from src.datasets import mnist
from pprint import pprint
import sys

print('Making Rips complex')
if len(sys.argv) > 1:
    rc = RipsComplex(off_file=sys.argv[1])
else:
    rc = RipsComplex(points=mnist(7))
print('And simplex tree')
simplex_tree = rc.create_simplex_tree(max_dimension=10)

diag = simplex_tree.persistence()

print("betti_numbers()=")
print(simplex_tree.betti_numbers())

pprint(diag)
Esempio n. 6
0
def test_empty_rips():
    rips_complex = RipsComplex()