# Homology (mathematics)

(Redirected from Homology theory)

In mathematics (especially algebraic topology and abstract algebra), homology (in part from Greek ὁμός homos "identical") is a certain general procedure to associate a sequence of abelian groups or modules with a given mathematical object such as a topological space or a group. See singular homology for a concrete version for topological spaces, or group cohomology for a concrete version for groups.

For a topological space, the homology groups are generally much easier to compute than the homotopy groups, and consequently one usually will have an easier time working with homology to aid in the classification of spaces.

The original motivation for defining homology groups is the observation that shapes are distinguished by their holes. But because a hole is "not there", it is not immediately obvious how to define a hole, or how to distinguish between different kinds of holes. Homology is a rigorous mathematical method for defining and categorizing holes in a shape. As it turns out, subtle kinds of holes exist that homology cannot "see" — in which case homotopy groups may be what is needed.

## Informal examples

Informally, the homology of a topological space X is a set of topological invariants of X represented by its homology groups

$H_{0}(X),H_{1}(X),H_{2}(X),\ldots$ where the $k^{\rm {th}}$ homology group $H_{k}(X)$ describes the k-dimensional holes in X. A 0-dimensional hole is simply a gap between two components, consequently $H_{0}(X)$ describes the path-connected components of X.

A one-dimensional sphere $S^{1}$ is a circle. It has a single connected component and a one-dimensional hole, but no higher-dimensional holes. The corresponding homology groups are given as

$H_{k}(S^{1})={\begin{cases}\mathbb {Z} &k=0,1\\\{0\}&{\text{otherwise}}\end{cases}}$ where $\mathbb {Z}$ is the group of integers and $\{0\}$ is the trivial group. The group $H_{1}(S^{1})=\mathbb {Z}$ represents a finitely-generated abelian group, with a single generator representing the one-dimensional hole contained in a circle.

A two-dimensional sphere $S^{2}$ has a single connected component, no one-dimensional holes, a two-dimensional hole, and no higher-dimensional holes. The corresponding homology groups are

$H_{k}(S^{2})={\begin{cases}\mathbb {Z} &k=0,2\\\{0\}&{\text{otherwise}}\end{cases}}$ In general for an n-dimensional sphere Sn, the homology groups are

$H_{k}(S^{n})={\begin{cases}\mathbb {Z} &k=0,n\\\{0\}&{\text{otherwise}}\end{cases}}$ A one-dimensional ball B1 is a solid disc. It has a single path-connected component, but in contrast to the circle, has no one-dimensional or higher-dimensional holes. The corresponding homology groups are all trivial except for $H_{0}(B^{1})=\mathbb {Z}$ . In general, for an n-dimensional ball Bn,

$H_{k}(B^{n})={\begin{cases}\mathbb {Z} &k=0\\\{0\}&{\text{otherwise}}\end{cases}}$ The torus is defined as a Cartesian product of two circles $T=S^{1}\times S^{1}$ . The torus has a single path-connected component, two independent one-dimensional holes (indicated by circles in red and blue) and one two-dimensional hole as the interior of the torus. The corresponding homology groups are

$H_{k}(T)={\begin{cases}\mathbb {Z} &k=0,2\\\mathbb {Z} \times \mathbb {Z} &k=1\\\{0\}&{\text{otherwise}}\end{cases}}$ The two independent 1D holes form independent generators in a finitely-generated abelian group, expressed as the Cartesian product group $\mathbb {Z} \times \mathbb {Z}$ .

## History

Homology theory can be said to start with the Euler polyhedron formula, or Euler characteristic. This was followed by Riemann's definition of genus and n-fold connectedness numerical invariants in 1857 and Betti's proof in 1871 of the independence of "homology numbers" from the choice of basis.

A recognisable theory of homology, including homology classes and relations, was first introduced by Henri Poincaré in his seminal paper "Analysis situs", J. Ecole polytech. (2) 1. 1–121 (1895). Poincaré was also the first to consider the simplicial homology of a triangulated manifold and to create what is now called a chain complex. Homology remains the primary method of classifying manifolds.

The homology group was further developed by Emmy Noether and, independently, by Leopold Vietoris and Walther Mayer, in the period 1925–28. Prior to this, topological classes in combinatorial topology were not formally considered as abelian groups. The spread of homology groups marked the change of terminology and viewpoint from "combinatorial topology" to "algebraic topology".

## Construction of homology groups

The construction begins with an object such as a topological space X, on which one first defines a chain complex C(X) encoding information about X. A chain complex is a sequence of abelian groups or modules C0, C1, C2, ... connected by homomorphisms $\partial _{n}:C_{n}\to C_{n-1},$ which are called boundary operators. That is,

$\dotsb {\overset {\partial _{n+1}}{\longrightarrow \,}}C_{n}{\overset {\partial _{n}}{\longrightarrow \,}}C_{n-1}{\overset {\partial _{n-1}}{\longrightarrow \,}}\dotsb {\overset {\partial _{2}}{\longrightarrow \,}}C_{1}{\overset {\partial _{1}}{\longrightarrow \,}}C_{0}{\overset {\partial _{0}}{\longrightarrow \,}}0$ where 0 denotes the trivial group and $C_{i}\equiv 0$ for i < 0. It is also required that the composition of any two consecutive boundary operators be trivial. That is, for all n,

$\partial _{n}\circ \partial _{n+1}=0_{n+1,n-1},$ $H_{n}(X):=\ker(\partial _{n})/\mathrm {im} (\partial _{n+1})=Z_{n}(X)/B_{n}(X),$ called the n-th homology group of X. The elements of Hn(X) are called homology classes. Each homology class is an equivalence class over cycles and two cycles in the same homology class are said to be homologous.

A chain complex is said to be exact if the image of the (n + 1)-th map is always equal to the kernel of the n-th map. The homology groups of X therefore measure "how far" the chain complex associated to X is from being exact.

The reduced homology groups of a chain complex C(X) are defined as homologies of the augmented chain complex

$\dotsb {\overset {\partial _{n+1}}{\longrightarrow \,}}C_{n}{\overset {\partial _{n}}{\longrightarrow \,}}C_{n-1}{\overset {\partial _{n-1}}{\longrightarrow \,}}\dotsb {\overset {\partial _{2}}{\longrightarrow \,}}C_{1}{\overset {\partial _{1}}{\longrightarrow \,}}C_{0}{\overset {\epsilon }{\longrightarrow \,}}\mathbb {Z} {\longrightarrow \,}0$ $\epsilon \left(\sum _{i}n_{i}\sigma _{i}\right)=\sum _{i}n_{i}$ for a combination Σ niσi of points σi, which are the fixed generators of C0. The reduced homology groups ${\tilde {H}}_{i}(X)$ coincide with $H_{i}(X)$ for i ≠ 0. The extra $\mathbb {Z}$ in the chain complex represents the unique map $[\emptyset ]\longrightarrow X$ from the empty simplex to X.

Computing the cycle $Z_{n}(X)$ and boundary $B_{n}(X)$ groups is usually rather difficult since they have a very large number of generators. On the other hand, there are tools which make the task easier.

The simplicial homology groups Hn(X) of a simplicial complex X are defined using the simplicial chain complex C(X), with C(X)n the free abelian group generated by the n-simplices of X. The singular homology groups Hn(X) are defined for any topological space X, and agree with the simplicial homology groups for a simplicial complex.

Cohomology groups are formally similar to homology groups: one starts with a cochain complex, which is the same as a chain complex but whose arrows, now denoted dn point in the direction of increasing n rather than decreasing n; then the groups $\ker(d^{n})=Z^{n}(X)$ and $\mathrm {im} (d^{n-1})=B^{n}(X)$ follow from the same description. The n-th cohomology group of X is then the quotient group

$H^{n}(X)=Z^{n}(X)/B^{n}(X),$ in analogy with the n-th homology group.

## Types of homology

The different types of homology theory arise from functors mapping from various categories of mathematical objects to the category of chain complexes. In each case the composition of the functor from objects to chain complexes and the functor from chain complexes to homology groups defines the overall homology functor for the theory.

### Simplicial homology

{{#invoke:main|main}}

The motivating example comes from algebraic topology: the simplicial homology of a simplicial complex X. Here An is the free abelian group or module whose generators are the n-dimensional oriented simplexes of X. The mappings are called the boundary mappings and send the simplex with vertices

$(a,a,\dots ,a[n])$ to the sum

$\sum _{i=0}^{n}(-1)^{i}\left(a,\dots ,a[i-1],a[i+1],\dots ,a[n]\right)$ (which is considered 0 if n = 0).

If we take the modules to be over a field, then the dimension of the n-th homology of X turns out to be the number of "holes" in X at dimension n. It may be computed by putting matrix representations of these boundary mappings in Smith normal form.

### Singular homology

{{#invoke:main|main}}

Using simplicial homology example as a model, one can define a singular homology for any topological space X. A chain complex for X is defined by taking An to be the free abelian group (or free module) whose generators are all continuous maps from n-dimensional simplices into X. The homomorphisms ∂n arise from the boundary maps of simplices.

### Group homology

{{#invoke:main|main}}

In abstract algebra, one uses homology to define derived functors, for example the Tor functors. Here one starts with some covariant additive functor F and some module X. The chain complex for X is defined as follows: first find a free module F1 and a surjective homomorphism p1 : F1X. Then one finds a free module F2 and a surjective homomorphism p2 : F2 → ker(p1). Continuing in this fashion, a sequence of free modules Fn and homomorphisms pn can be defined. By applying the functor F to this sequence, one obtains a chain complex; the homology Hn of this complex depends only on F and X and is, by definition, the n-th derived functor of F, applied to X.

## Homology functors

Chain complexes form a category: A morphism from the chain complex (dn: AnAn-1) to the chain complex (en: BnBn-1) is a sequence of homomorphisms fn: AnBn such that $f_{n-1}\circ d_{n}=e_{n}\circ f_{n}$ for all n. The n-th homology Hn can be viewed as a covariant functor from the category of chain complexes to the category of abelian groups (or modules).

If the chain complex depends on the object X in a covariant manner (meaning that any morphism X → Y induces a morphism from the chain complex of X to the chain complex of Y), then the Hn are covariant functors from the category that X belongs to into the category of abelian groups (or modules).

The only difference between homology and cohomology is that in cohomology the chain complexes depend in a contravariant manner on X, and that therefore the homology groups (which are called cohomology groups in this context and denoted by Hn) form contravariant functors from the category that X belongs to into the category of abelian groups or modules.

## Properties

If (dn: AnAn-1) is a chain complex such that all but finitely many An are zero, and the others are finitely generated abelian groups (or finite-dimensional vector spaces), then we can define the Euler characteristic

$\chi =\sum (-1)^{n}\,\mathrm {rank} (A_{n})$ (using the rank in the case of abelian groups and the Hamel dimension in the case of vector spaces). It turns out that the Euler characteristic can also be computed on the level of homology:

$\chi =\sum (-1)^{n}\,\mathrm {rank} (H_{n})$ and, especially in algebraic topology, this provides two ways to compute the important invariant χ for the object X which gave rise to the chain complex.

Every short exact sequence

$0\rightarrow A\rightarrow B\rightarrow C\rightarrow 0$ of chain complexes gives rise to a long exact sequence of homology groups

$\cdots \to H_{n}(A)\to H_{n}(B)\to H_{n}(C)\to H_{n-1}(A)\to H_{n-1}(B)\to H_{n-1}(C)\to H_{n-2}(A)\to \cdots$ All maps in this long exact sequence are induced by the maps between the chain complexes, except for the maps Hn(C)Hn-1(A) The latter are called connecting homomorphisms and are provided by the snake lemma. The snake lemma can be applied to homology in numerous ways that aid in calculating homology groups, such as the theories of relative homology and Mayer-Vietoris sequences.

## Applications

Notable theorems proved using homology include the following:

### Application in science and engineering

In topological data analysis, data sets are regarded as a point cloud sampling of a manifold or algebraic variety embedded in Euclidean space. By linking nearest neighbor points in the cloud into a triangulation, a simplicial approximation of the manifold is created and its simplicial homology may be calculated. Finding techniques to robustly calculate homology using various triangulation strategies over multiple length scales is the topic of persistent homology.

In sensor networks, sensors may communicate information via an ad-hoc network that dynamically changes in time. To understand the global context of this set of local measurements and communication paths, it is useful to compute the homology of the network topology to evaluate, for instance, holes in coverage.

In dynamical systems theory in physics, Poincare was one of the first to consider the interplay between the invariant manifold of a dynamical system and its topological invariants. Morse theory relates the dynamics of a gradient flow on a manifold to, for example, its homology. Floer homology extended this to infinite-dimensional manifolds. The KAM theorem established that periodic orbits can follow complex trajectories; in particular, they may form braids that can be investigated using Floer homology.

In one class of finite element methods, boundary-value problems for differential equations involving the Hodge-Laplace operator may need to be solved on topologically nontrivial domains, for example, in electromagnetic simulations. In these simulations, solution is aided by fixing the cohomology class of the solution based on the chosen boundary conditions and the homology of the domain. FEM domains can be triangulated, from which the simplicial homology can be calculated.

## Software

Various software packages have been developed for the purposes of computing homology groups of finite cell complexes. Linbox is a C++ library for performing fast matrix operations, including Smith normal form; it interfaces with both Gap and Maple. Chomp, CAPD::Redhom and Perseus are also written in C++. All three implement pre-processing algorithms based on Simple-homotopy equivalence and discrete Morse theory to perform homology-preserving reductions of the input cell complexes before resorting to matrix algebra. Kenzo is written in Lisp, and in addition to homology it may also be used to generate presentations of homotopy groups of finite simplicial complexes. Gmsh includes a homology solver for finite element meshes, which can generate Cohomology bases directly usable by finite element software.