user_guide:tutorials:persistent_homology

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
user_guide:persistent_homology [2019/01/25 09:27] – ↷ Page moved from tutorial:persistent_homology to user_guide:persistent_homology oroehriguser_guide:tutorials:persistent_homology [2019/01/29 21:46] – external edit 127.0.0.1
Line 4: Line 4:
 [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.5064|This paper]] introduces the concept and presents the algorithms. See e.g. [[http://www.ams.org/journals/bull/2009-46-02/S0273-0979-09-01249-X/|this article]] for a deeper survey of the topic. [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.5064|This paper]] introduces the concept and presents the algorithms. See e.g. [[http://www.ams.org/journals/bull/2009-46-02/S0273-0979-09-01249-X/|this article]] for a deeper survey of the topic.
  
-To use the function, one has to switch to the ''topaz'' application. See this [[topaz_tutorial|tutorial]] for a general introduction to ''topaz''.+To use the function, one has to switch to the ''topaz'' application. See this [[..:topaz_tutorial|tutorial]] for a general introduction to ''topaz''.
  
 <code> <code>
Line 17: Line 17:
 A filtration can be initialized by passing the Hasse diagram of the last frame of the filtration and an array containing the degree of each cell, indexed in the same order as the node indexing in the Hasse diagram (without the empty set and the dummy node with index 0, thus shifted by one). Consider this small three-frame example filtration: A filtration can be initialized by passing the Hasse diagram of the last frame of the filtration and an array containing the degree of each cell, indexed in the same order as the node indexing in the Hasse diagram (without the empty set and the dummy node with index 0, thus shifted by one). Consider this small three-frame example filtration:
  
-{{ :tutorial:small_filtration.png?800 |}}+{{ user_guide:small_filtration.png?800 |}}
  
 You can construct it in ''polymake'' like this: You can construct it in ''polymake'' like this:
Line 96: Line 96:
  
  
-{{ :tutorial:rp2_filtration.png?600|}}+{{ user_guide:rp2_filtration.png?600|}}
 ===== Computing Persistence ===== ===== Computing Persistence =====
 There are two different functions, one to compute persistent homology for coefficients from arbitrary euclidean domains, and another for computing persistence barcodes for field coefficients. Both are templated by the boundary matrix type. The following examples compute both for this filtration of the 5-simplex, whose 3rd frame is the real projective plane: There are two different functions, one to compute persistent homology for coefficients from arbitrary euclidean domains, and another for computing persistence barcodes for field coefficients. Both are templated by the boundary matrix type. The following examples compute both for this filtration of the 5-simplex, whose 3rd frame is the real projective plane:
Line 104: Line 104:
 The function for coefficients from arbitrary euclidean domains takes as parameters a filtration object matching the matrix type and indices ''i,p,k''. It outputs a sparse matrix containing (as rows) the generators of the torsion-free part of the ''p''-persistent ''k''-th homology group of the ''i''-th frame, and a list of paired torsion coefficients and corresponding generator matrices. The function for coefficients from arbitrary euclidean domains takes as parameters a filtration object matching the matrix type and indices ''i,p,k''. It outputs a sparse matrix containing (as rows) the generators of the torsion-free part of the ''p''-persistent ''k''-th homology group of the ''i''-th frame, and a list of paired torsion coefficients and corresponding generator matrices.
  
-The following code loads a filtration object with Integer coefficients containing the example that was previously saved to disk, which you can download {{ :tutorial:filtrationexample.top |here}}. It then computes the 3-persistent first homology group of frame 0, with the result that the torsion-free part is empty, and the part with torsion coefficient 2 has one generator, namely ''-v_0+v_1-v_5'':+The following code loads a filtration object with Integer coefficients containing the example that was previously saved to disk, which you can download {{ user_guide:filtrationexample.top |here}}. It then computes the 3-persistent first homology group of frame 0, with the result that the torsion-free part is empty, and the part with torsion coefficient 2 has one generator, namely ''-v_0+v_1-v_5'':
  
 <code> <code>
Line 115: Line 115:
 ==== Field coefficients and barcodes ==== ==== Field coefficients and barcodes ====
  
-{{ :tutorial:barcode.png?200|}}The function for field coefficients requires only a filtration object of matching type as parameter. The output is an array with an entry for each dimension, containing a list of persistence intervals encoded as tuples of integers (where -1 encodes infinite lifetime). The following computes the intervals of the same filtration as above but with rational coefficients, downloadable {{ :tutorial:filtrationexamplerational.top |here}}.+{{ user_guide:barcode.png?200|}}The function for field coefficients requires only a filtration object of matching type as parameter. The output is an array with an entry for each dimension, containing a list of persistence intervals encoded as tuples of integers (where -1 encodes infinite lifetime). The following computes the intervals of the same filtration as above but with rational coefficients, downloadable {{ user_guide:filtrationexamplerational.top |here}}.
  
 <code> <code>
  • user_guide/tutorials/persistent_homology.txt
  • Last modified: 2019/02/04 22:55
  • by 127.0.0.1