diff options
author | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2017-02-16 14:58:11 +0000 |
---|---|---|
committer | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2017-02-16 14:58:11 +0000 |
commit | 518acce63202c7b89fa3f76467e50eee7630cf62 (patch) | |
tree | d9877e63720c6a6fa2cef113182fe1178c049cb1 /src/cython/doc/rips_complex_user.rst | |
parent | df173dbefd275c54d8f5e33794d51709b887d2d3 (diff) |
Remove pandas examples and use of OFF files interfaces to be more consistent (pandas interface is not that hard to be done)
Add of distance matrix in Rips
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/ST_cythonize@2081 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: 3a3b24f0824eed2710edb5bf17d120039973bf62
Diffstat (limited to 'src/cython/doc/rips_complex_user.rst')
-rw-r--r-- | src/cython/doc/rips_complex_user.rst | 126 |
1 files changed, 115 insertions, 11 deletions
diff --git a/src/cython/doc/rips_complex_user.rst b/src/cython/doc/rips_complex_user.rst index be9481de..a5d17e19 100644 --- a/src/cython/doc/rips_complex_user.rst +++ b/src/cython/doc/rips_complex_user.rst @@ -38,16 +38,16 @@ set with :math:`max(filtration(4,5), filtration(4,6), filtration(5,6))`. And so If the Rips_complex interfaces are not detailed enough for your need, please refer to rips_persistence_step_by_step.cpp example, where the graph construction over the Simplex_tree is more detailed. -Point cloud and distance function ---------------------------------- +Point cloud +----------- -Example from a point cloud and a distance function -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Example from a point cloud +^^^^^^^^^^^^^^^^^^^^^^^^^^ -This example builds the one skeleton graph from the given points, threshold value, and distance function. Then it -creates a :doc:`Simplex_tree <simplex_tree_ref>` with it. +This example builds the one skeleton graph from the given points, and max_edge_length value. +Then it creates a :doc:`Simplex_tree <simplex_tree_ref>` with it. -Then, it is asked to display information about the simplicial complex. +Finally, it is asked to display information about the simplicial complex. .. testcode:: @@ -63,7 +63,8 @@ Then, it is asked to display information about the simplicial complex. for filtered_value in simplex_tree.get_filtered_tree(): print(filtered_value) -The output is: +When launching (Rips maximal distance between 2 points is 12.0, is expanded +until dimension 1 - one skeleton graph in other words), the output is: .. testoutput:: @@ -90,10 +91,11 @@ The output is: Example from OFF file ^^^^^^^^^^^^^^^^^^^^^ -This example builds the :doc:`Rips_complex <rips_complex_ref>` from the given points in an OFF file, threshold value, -and distance function. Then it creates a :doc:`Simplex_tree <simplex_tree_ref>` with it. +This example builds the :doc:`Rips_complex <rips_complex_ref>` from the given +points in an OFF file, and max_edge_length value. +Then it creates a :doc:`Simplex_tree <simplex_tree_ref>` with it. -Then, it is asked to display information about the Rips complex. +Finally, it is asked to display information about the Rips complex. .. testcode:: @@ -131,3 +133,105 @@ the program output is: ([0, 3], 9.433981132056603) ([4, 6], 9.486832980505138) ([3, 6], 11.0) + +Distance matrix +--------------- + +Example from a distance matrix +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This example builds the one skeleton graph from the given distance matrix, and max_edge_length value. +Then it creates a :doc:`Simplex_tree <simplex_tree_ref>` with it. + +Finally, it is asked to display information about the simplicial complex. + +.. testcode:: + + import gudhi + rips_complex = gudhi.RipsComplex(distance_matrix=[[], + [6.0827625303], + [5.8309518948, 6.7082039325], + [9.4339811321, 6.3245553203, 5], + [13.0384048104, 15.6524758425, 8.94427191, 12.0415945788], + [18.0277563773, 19.6468827044, 13.152946438, 14.7648230602, 5.3851648071], + [17.88854382, 17.1172427686, 12.0830459736, 11, 9.4868329805, 7.2801098893]], + max_edge_length=12.0) + + simplex_tree = rips_complex.create_simplex_tree(max_dimension=1) + result_str = 'Rips complex is of dimension ' + repr(simplex_tree.dimension()) + ' - ' + \ + repr(simplex_tree.num_simplices()) + ' simplices - ' + \ + repr(simplex_tree.num_vertices()) + ' vertices.' + print(result_str) + for filtered_value in simplex_tree.get_filtered_tree(): + print(filtered_value) + +When launching (Rips maximal distance between 2 points is 12.0, is expanded +until dimension 1 - one skeleton graph in other words), the output is: + +.. testoutput:: + + Rips complex is of dimension 1 - 18 simplices - 7 vertices. + ([0], 0.0) + ([1], 0.0) + ([2], 0.0) + ([3], 0.0) + ([4], 0.0) + ([5], 0.0) + ([6], 0.0) + ([2, 3], 5.0) + ([4, 5], 5.3851648071) + ([0, 2], 5.8309518948) + ([0, 1], 6.0827625303) + ([1, 3], 6.3245553203) + ([1, 2], 6.7082039325) + ([5, 6], 7.2801098893) + ([2, 4], 8.94427191) + ([0, 3], 9.4339811321) + ([4, 6], 9.4868329805) + ([3, 6], 11.0) + +Example from OFF file +^^^^^^^^^^^^^^^^^^^^^ + +This example builds the :doc:`Rips_complex <rips_complex_ref>` from the given +points in an OFF file, and max_edge_length value. +Then it creates a :doc:`Simplex_tree <simplex_tree_ref>` with it. + +Finally, it is asked to display information about the Rips complex. + + +.. testcode:: + + import gudhi + rips_complex = gudhi.RipsComplex(csv_file='full_square_distance_matrix.csv', max_edge_length=12.0) + simplex_tree = rips_complex.create_simplex_tree(max_dimension=1) + result_str = 'Rips complex is of dimension ' + repr(simplex_tree.dimension()) + ' - ' + \ + repr(simplex_tree.num_simplices()) + ' simplices - ' + \ + repr(simplex_tree.num_vertices()) + ' vertices.' + print(result_str) + for filtered_value in simplex_tree.get_filtered_tree(): + print(filtered_value) + +the program output is: + +.. testoutput:: + + Rips complex is of dimension 1 - 18 simplices - 7 vertices. + ([0], 0.0) + ([1], 0.0) + ([2], 0.0) + ([3], 0.0) + ([4], 0.0) + ([5], 0.0) + ([6], 0.0) + ([2, 3], 5.0) + ([4, 5], 5.3851648071) + ([0, 2], 5.8309518948) + ([0, 1], 6.0827625303) + ([1, 3], 6.3245553203) + ([1, 2], 6.7082039325) + ([5, 6], 7.2801098893) + ([2, 4], 8.94427191) + ([0, 3], 9.4339811321) + ([4, 6], 9.4868329805) + ([3, 6], 11.0) |