Computing Simplicial Homology Based on Efficient Smith Normal Form Algorithms Jean-Guillaume Dumas 1 , Frank Heckenbach 2 , David Saunders 3 , and Volkmar Welker 4 1 Laboratoire de Mod´ elisation et Calcul, IMAG-B. P. 53, 38041 Grenoble, France 2 Universit¨atErlangen-N¨ urnberg, Mathematisches Institut, Bismarckstr. 1 1/2, 91054 Erlangen, Germany 3 University of Delaware, Department of Computer and Information Sciences, Newark, DE 19716, USA 4 Philipps-Universit¨at Marburg, Fachbereich Mathematik und Informatik, 35032 Marburg, Germany Abstract. We recall that the calculation of homology with integer coefficients of a simplicial complex reduces to the calculation of the Smith Normal Form of the boundary matrices which in general are sparse. We provide a review of several al- gorithms for the calculation of Smith Normal Form of sparse matrices and compare their running times for actual boundary matrices. Then we describe alternative ap- proaches to the calculation of simplicial homology. The last section then describes motivating examples and actual experiments with the GAP package that was im- plemented by the authors. These examples also include as an example of other homology theories some calculations of Lie algebra homology. 1 Introduction Geometric properties of topological spaces are often conveniently expressed by algebraic invariants of the space. Notably the fundamental group, the higher homotopy groups, the homology groups and the cohomology algebra play a prominent role in this respect. This paper focuses on methods for the computer calculation of the homology of finite simplicial complexes and its applications (see comments on the other invariants in Section 7). We assume that the topological space, whose homology we want to cal- culate, is given as an abstract simplicial complex. We recall now the basic notions and refer the reader to Munkres’ books [33] and [32] for further de- tails. A finite simplicial complex over the non-empty ground set is a non-empty subset of the power set 2 such that A B implies A . Without loss of generality we will always assume that =[n] := {1,...,n}. An element of is called a face. An inclusionwise maximal element of is called a facet. The dimension dim A of a face A is given by #A 1. The dimension dim of is the maximal dimension of one of its faces. The definitions imply that every simplicial complex contains the empty set as its unique face of dimension 1. By f i = f i () we denote the number of i-dimensional faces of and call (f 1 ,...,f d ), d = dim , the f -vector of .