Sie sind auf Seite 1von 20

Homology Computation

Homology

betti number of order 0 : number of connected components order 1 : number of tunnels order 2 : number of 3d voids and so on...

Need for fast computation


There are huge datasets to be found in-

topological data analysis Testing hypotheses in astronomy simulations problems in discrete dynamics

Available Software

CHOMP, CAPD, REDHOM - these basically use the same set of algorithms - certainly the fastest for cubical complexes - slower for simplicial homology

Plex, jPlex etc

Reduction of chain complexes

classical approach to homology calculations has exponential bound after sparsity of the boundary matrices involved is utilised, we get upto O(n^2) Idea of paper being discussed compute homology by reducing size of the complex to minimum while homology is preserved at each step Localizes homology calculation [similar work done by zomorodian as well], which gives scope for parallelization

reduction from a topological viewpoint


Input is finitely generated chain complex Fixed base Eq is given for Cq --- chains in each dimension q. Scalar Product is defined:

A single reduction step

Remarks

the homology of the complex we get after one reduction step is the same as the original complex it is no more a simplicial complex, however

Geometric interpretation of the reduction

In some cases we can visualize this reduction-work one example of interior face reduction, free face reduction

Steps for reduction

Find an m-generator F and choose any of its faces f. For all m-generators having f as one of their faces, get new expression for boundary. For all m+1-generators, having F as one of their faces, get new expression for boundary Remove (F,f) form the data structures of dimensions m-1, m, m+1

Algorithm for homology calculations

Reduce needs: List of all m-generators Faces of all m-generators List of faces(sorted in some way) of each m-generator

After Reduction: S and e are removed from data structures associated with dimensions m-1,m, m+1 Actually, no need to do this for dimension m+1 as that dimension is already reduced

Analysis, special cases

Worst case analysis gives O(n^3), O(n) for the collapse, O(n^2) for the reduce For a triangulation in R^2, homology can be computed in O(n) time. [as we can always find an edge of degree 1 and thus reduce step takes constant time[if we maintain for each edge a list of its coboundary]]

implementation details

Keep list of faces F(S) of each S in the form of a balanced tree Balanced tree A(e) for coboundary of each edge separately Maintain deg(e) for each face e in the array of mgenerators We should always try and minimize the face with lowest coboundary-- lesser work in reduce step

Other algorithms used in chomp/CAPD

I have discussed one of the basic algorithms in chomp/CAPD/redhom This is a paper from 1998. Many more algorithms on top of thiscoreductions, acyclic subspace methods etc are used

References for other algorithms used in chomp/CAPD (slide from Mrozek)

Other work on localizing homology

Localized homology by afra zomorodian and carlsson in 2008 Divides input complex into sets which cover the entire complex. Intersections between two covers are used to form a blowup complex This technique has been implemented by zomorodian in multicore homology paper,2012

thank you

Das könnte Ihnen auch gefallen