


1. Persistent Homology of Cubical and Simplicial Complexes 

An
inclusion
of
pure
cubical
complexes
X_{1} > X_{2}
induces a natural homology homomorphism H_{n}(X_{1},F)
> H_{n}(X_{2},F) for each positive n and any
coefficient module F. Taking F to be a field, the induced homomorphism
is a homomorphism of vector spaces and is completely determined by its
rank P_{1,2}. A sequence of inclusions X_{1} > X_{2 }> X_{3} > ... > X_{k} induces a sequence of homology homomorphisms which, in each degree n, determine a kxk matrix of ranks P_{i,j} (where for i>j we define P_{i,j}=0). This matrix is referred to as the nth persistence matrix, over the field F, for the sequence of pure cubical complexes. A possible scenario is that X_{1} is a sample from an unknown manifold M, and that each space X_{i+1} is obtained by thickening X_{i} in some fashion. The hope is that the persistence matrices describe the shape of the manifold M from which X_{1} was sampled. 

Persistence
matrices
are
particularly
useful
when
analysing
highdimensional
data
since
the
shape
of such data is hard to visualize. However, as a toy
example let us consider the
2dimensional data cloud which, as we can see, was sampled (possibly with error) from an annulus. The following computations agree with this observation. The following commands produce a sequence of thickenings for this data cloud and then compute the degree 1 persistence matrix over the field of rational numbers. 

gap>
M:=ReadImageAsPureCubicalComplex("datacloud.eps",300); Pure cubical complex of dimension 2. gap> T:=ThickeningFiltration(M,10); Filtered pure cubical complex of dimension 2. gap> P:=PersistentHomologyOfFilteredCubicalComplex(T,1);; 

The
persistence matrix P can be viewed as a barcode. The following command
displays this barcode. The single horizontal line at the bottom of the
barcode corresponds to a single persistent 1dimensional homology. This
is consistent with the data having been sampled from an annulus  a
space with a single 1dimensional hole. The various dots in the barcode
correspond to homologies that arise briefly at various stages in the
thickening process. 

gap>
BarCodeDisplay(P); 

As
a more realistic illustration of this approach to topological data
analysis let us suppose that we have made 400 experimental observations
v_{1}, ..., v_{400} and that we are able to estimate
some metric distance d(v_{i},v_{j}) between each pair
of observations. For instance, the observations might be vectors of a
given length and d(v_{i},v_{j}) could be the
Euclidean distance. We could then build a filtered simplicial complex
K={K_{1}<K_{2}<...<K_{T}} from an
increasing sequence of thresholds d_{1}<...<d_{T}.
Each
term
in
the
filtration
has 400 vertices v_{1}, ..., v_{400,}
and K_{t} is determined by the threshold d_{t}: a
simplex belongs to K_{t} is and only if each pair of vertices
in the simplex satisfies d(v_{i},v_{j}) < d_{t }.
The
persistent
homology
of
the
filtered simplicial complex K could
provide information on the space from which our data was selected. The following data
We view the barcodes in compact form, where a line with label n is used to denote n lines which start at the same point in the filtration and end at the same point in the filtration. 

gap>
Read("symmetricMatrix.txt"); gap> S:=SymmetricMat;; gap> G:=SymmetricMatrixToFilteredGraph(S,10,30);; #Take a filtration with length T=10, and discard any distances greater than 30. gap> N:=SimplicialNerveOfFilteredGraph(G,2);; gap> C:=SparseFilteredChainComplexOfFilteredSimplicialComplex(N);; gap> P0:=PersistentHomologyOfFilteredSparseChainComplex(C,0);; gap> P1:=PersistentHomologyOfFilteredSparseChainComplex(C,1);; gap> BarCodeCompactDisplay(P0); gap>BarCodeCompactDisplay(P1); 

A
different scenario for the use of persitent homology of pure cubical
complexes is in the analysis of digital images. As a second toy example
consider the digital photo. The 20 longish lines in the following barcode for the degree 0 persistent homology correspond to the 20 objects in the photo. The 14 longish lines in the following barcode for the degree 1 persistent homology correspond to the fact that 14 of the objects have holes in them. We again view the barcodes in compact form, where a line with label n is used to denote n lines which start at the same point in the filtration and end at the same point in the filtration. 

gap>
F:=ReadImageAsFilteredCubicalComplex("nb.png",20); Filtered pure cubical complex of dimension 2. gap> P0:=PersistentHomologyOfFilteredCubicalComplex(F,0);; gap> BarCodeCompactDisplay(P0); gap> P1:=PersistentHomologyOfFilteredCubicalComplex(F,1);; gap> BarCodeCompactDisplay(P1); 

2. Persistent
Homology of Proteins 

Given
a
pure
cubical
complex K, let us denote its centre of gravity by c(K).
Given an increasing sequence of positive numbers 0 < t_{1 }<
t_{2} < ... , let us denote by FK_{n} the
intersection of K with the Euclidean ball of radius t_{n}
centred at c(K). This gives rise to a filtered pure cubical complex FK_{1}
< FK_{2} < ... which we refer to as the concetric filtration on K. For a protein backbone K, the degree 0 persistent homology of FK should contain useful information on the geometric shape of K. The following commands compute this shape descriptor for the T.thermophilus 1V2X protein and the H.sapiens 1XD3 protein pictured on the previous page. 

gap>
K:=ReadPDBfileAsPureCubicalComplex("1V2X.pdb");;
Reading chain containing 191 atoms. gap> FK:=ConcentricallyFilteredPureCubicalComplex(K,10);; gap> P:=PersistentHomologyOfFilteredCubicalComplex(FK,0);; gap> BarCodeCompactDisplay(P); Reading chain containing 243 atoms. gap> FK:=ConcentricallyFilteredPureCubicalComplex(K,10);; gap> P:=PersistentHomologyOfFilteredCubicalComplex(FK,0);; gap> BarCodeCompactDisplay(P); 

3. Persistent Homology of Groups 

Any
sequence of group homomorphisms G_{1} > G_{2}
> ... > G_{k} induces a sequence of homology
homomorphisms. In particular, the successive quotients of a group G by
the terms of its upper central series give a sequence of group
homomorphisms that induces an interesting sequence of homology
homomorphisms. For a finite pgroup we take homology coefficients in the field of p elements. The following commands compute and display the degree 3 homology barcode for the Sylow 2subgroup of the Mathieu group M_{12}. 

gap>
G:=SylowSubgroup(MathieuGroup(12),2);; gap> IdGroup(G); [ 64, 134 ] gap> P:=UniversalBarCode("UpperCentralSeries",64,134,3);; gap> BarCodeDisplay(P); 

4. Persistent Homology of Filtered Chain
Complexes 

The
LyndonHochschildSerre spectral sequence in group homology describes
the homology of a group G in terms of the homology of a normal subgroup
N and the homology of the quotient G/N. The spectral sequence arises
from a filtered chain complex. Barcodes can be used to represent the
differentials in this spectral sequence. For example, the following commands produce the degree 2 mod 2 homology LHS barcode for G the diherdal group of order 64 and N its centre. 

gap>
G:=DihedralGroup(64);; gap> N:=Center(G);; gap> R:=ResolutionNormalSeries([G,N],3);; gap> C:=FilteredTensorWithIntegersModP(R,2);; gap> P:=PersistentHomologyOfFilteredChainComplex(C,2,2);; gap> BarCodeDisplay(P); 

