17
Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation Research Scholarships are funded jointly by the Department of Education and Training and the Australian Mathematical Sciences Institute.

Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Simplicial Homology and Computation

from Nerves

Vishnu MangalathSupervised by Lyle Noakes

The University of Western Australia

Vacation Research Scholarships are funded jointly by the Department of Education

and Training and the Australian Mathematical Sciences Institute.

Page 2: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Contents

1 Introduction 2

2 Simplicial Complexes 3

2.1 Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Simplicial Homology 5

3.1 Chain Complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2 Cycle and Boundary Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3 Homotopy type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Computational Methods 8

4.1 Generating Simplicial Complexes . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.2 Computing Homology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.4 Reducing Size of Complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 Future work 15

6 References 15

1

Page 3: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

1 Introduction

Algebraic topology is the study of topological spaces by looking at the algebraic invariants of

these spaces. One such invariant is called homology. Homology gives us information about the

shape of topological spaces, and we can use this information to determine whether or not two

different spaces have the same shape.

In this paper we will discuss the use of homology to extract information about shape from

datasets. To give a brief summary of this process, we generate a topological space that approx-

imates the data and then compute the homology of the generated space.

I would like to thank Lyle Noakes for his guidance and effort spent supervising this project,

and also the Australian Mathematical Sciences Institute for giving me the opportunity to

complete the Vacation Research Scholarship.

2

Page 4: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

2 Simplicial Complexes

Geometrically, simplicial complexes can be thought of as structures built from objects called

simplices; which are points, line segments, filled in triangles, and their higher dimensional

analogues. These structures are useful because often we can approximate spaces (via a home-

omorphism) by geometric simplicial complexes, which are easier to work with in some cases.

The precise definition of a simplicial complex is given below.

Definition 1. A simplicial complex K consists of a nonempty set V (K) called vertices and a

set S(K) of nonempty finite subsets of V (K) called simplices such that:

• every vertex of K is also a simplex of K, and,

• every nonempty subset of a simplex of K is also a simplex of K.

The dimension of a simplicial complex K is one less than the number of vertices in the

largest simplex of K, and a q-simplex is any simplex with q + 1 points.

Example 1. Let V (K1) = {a, b, c, d, e} and S(K1) = {{a}, {b}, {c}, {d}, {e}, {a, b}, {b, c}, {a, c},

{a, b, c}, {e, d}}. Then K1 is a simplicial complex of dimension 3.

We can now construct the geometric realisation of a simplicial complex. Given a nonempty

simplicial complex K, let |K| be the set of all functions α : V (K)→ [0, 1] such that

• for any α ∈ |K|, the set {v ∈ V (K) |α(v) = 0} is a simplex of K, and

•∑

v∈V (K) α(v) = 1.

From this, for any s ∈ S(K) we define the closed simplex |s| to be the set

|s| = {α ∈ |K| |α(v) = 0 =⇒ v ∈ s} .

We can attach a metric onto |K| such that for any α, β ∈ |K|,

d(α, β) =

√ ∑v∈V (K)

(α(v)− β(v))2 .

The set |K| with the topology induced by d is denoted |K|d. We will now define a new topology

on |K|. Since |s| ⊂ |K|, we can define |s|d to have the subspace topology from |K|d. If s is

3

Page 5: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

a q-simplex, then |s|d is homeomorphic to the set {x ∈ Rq+1 | 0 ≤ xi ≤ 1,∑

i xi = 1} ⊂ Rq+1

via the homeomorphism f(α) = (α(v0), . . . , α(vq)), which is the convex hull of q + 1 points in

Rq+1. Finally, from this we can define a topology on the set |K| where a set U ⊂ |K| is open

in |K| if and only if U ∩ |s|d is closed in |s|d for all s ∈ S(K). This topology is known as the

weak topology on |K| (Spanier, 1966).

Remark 1. For a finite simplicial complex K, the metric and weak topologies on |K| are equiv-

alent, however as shown in Example 2, for infinite simplicial complexes this is not always the

case.

Example 2. (Munkres, 1999) Let K be a simplicial complex such that V (K) = {1/n |n ∈

N, n > 0} ∪ {0} and S(K) = {{1/(n+ 1), 1/n}, {1/n} |n ∈ N, n > 0}. Then the underlying set

of |K| is equivalent to [0, 1], however the set {1/n |n ∈ N, n > 0} is closed in |K| but not in

[0, 1].

2.1 Orientation

We can also attach an additional structure onto our simplicial complexes called orientation.

This is an ordering on the set of vertices of a simplicial complex such that any two orderings

are called equivalent if they differ by an even permutation. An ordering on the set of vertices

imposes an ordering on the set of simplices and so we have an ordered simplicial complex.

Ordered simplices are written with angle brackets ”〈” and ”〉”.

Example 3. Let K2 be an oriented simplicial complex with V (K2) = {a, b, c, d, e} and S(K2) =

{〈a〉, 〈b〉, 〈c〉, 〈d〉, 〈e〉, 〈a, b〉, 〈b, c〉, 〈a, c〉, 〈c, d〉, 〈a, d〉, 〈d, e〉, 〈a, c, d〉}. Figure 1 shows a realisation

of K2 with orientation.

a

b c

d e

Figure 1: |K2| with orientation

4

Page 6: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Oriented simplicial complexes will be our primary object of study when it comes to com-

puting homology.

3 Simplicial Homology

Using the structures defined in the previous section, we can now explore the topic of simplicial

homology. Loosely speaking, homology is a measure of the shape of an object; more precisely,

the homology groups give us information about the number of connected components, the

number of holes, and similar concepts in higher dimensions.

3.1 Chain Complexes

Here we will construct the algebraic equivalent of a simplicial complex known as a chain com-

plex. Chain complexes do not contain any kind of specific information about the nature of the

vertices or simplices of a simplicial complex (such as sets or distances), but contain abstract

information about the ”shape” of the complex.

Definition 2. The nth chain group of a simplicial complex K is the formal linear combination

of all n-simplices of K over the integers:

Cn(K) =

{∑i

λiei |λi ∈ Z, ei is an n-simplex of K

}

Note that if K is finite, then Cn(K) is a finitely generated Abelian group.

Definition 3. The nth boundary homomorphism of a simplicial complex K is a linear function

∂n : Cn(K)→ Cn−1(K) such that:

∂n(〈a0, . . . , an〉) =n∑i=0

(−1)i〈a0, . . . , ai, . . . , an〉 ,

where ai denoted the deletion of the ith entry.

An important property of the boundary operator is shown in Proposition 1.

Proposition 1. The composition of consecutive boundary operators is trivial.

∂n ◦ ∂n+1 = 0 .

5

Page 7: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Proof. Due to the linearity of the boundary operator, it suffices to show that

∂n ◦ ∂n+1(〈a0, . . . , an, an+1〉) = 0 .

∂n ◦ ∂n+1(〈a0, . . . , an, an+1〉) = ∂n

(n+1∑i=0

(−1)i〈a0, . . . , ai, . . . , an+1〉

)

=n+1∑i=0

(−1)i∂n(〈a0, . . . , ai, . . . , an+1〉)

=n+1∑i=0

(−1)i

(∑j<i

(−1)j〈a0, . . . , aj, . . . , ai, . . . , an+1〉

+∑j>i

(−1)j−1〈a0, . . . , ai, . . . , aj, . . . , an+1〉

)

=∑j<i

(−1)i(−1)j〈a0, . . . , aj, . . . , ai, . . . , an+1〉

+∑i<j

(−1)i(−1)j−1〈a0, . . . , ai, . . . , aj, . . . , an+1〉

=∑j<i

(−1)i(−1)j〈a0, . . . , aj, . . . , ai, . . . , an+1〉

−∑i<j

(−1)i(−1)j〈a0, . . . , ai, . . . , aj, . . . , an+1〉

= 0 .

From the previous definitions we can define the chain complex as follows.

Definition 4. A chain complex is a sequence of chain groups Cn(K) with connecting boundary

homomorphisms ∂n:

· · · ∂n+2−−−→ Cn+1(K)∂n+1−−−→ Cn(K)

∂n−→ Cn−1(K)∂n−1−−−→ · · · ,

such that ∂n ◦ ∂n+1 = 0 for all n.

6

Page 8: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

3.2 Cycle and Boundary Groups

Definition 5. For any σ ∈ Cn(K),

• σ is called a cycle if ∂n(σ) = 0.

• σ is called a boundary if ∂−1n+1(σ) 6= ∅.

The set of all cycles of Cn(K) is denoted Zn(K) = Ker∂n, and the set of all boundaries is

denoted Bn(K) = Im∂n+1.

Proposition 2. Bn(K) E Zn(K) ≤ Cn(K).

The preceding proposition allows us to construct a new group called the nth homology group

which is defined as the quotient group formed by Zn(K) and Bn(K).

Hn(K) = Zn(K)/Bn(K) .

Since Hn(K) is a finitely generated Abelian group, we can write this as

Hn(K) ∼= Zτ(n)1⊕ · · · ⊕ Z

τ(n)t⊕ Zβn , τ

(n)i |τ

(n)i+1 .

The constants τ(n)1 , . . . , τ

(n)t are called the nth torsion coefficients and βn is called the nth Betti

number.

3.3 Homotopy type

Roughly speaking, two spaces are said to have the same homotopy type (or to be homotopy

equivalent) if they can be continuously deformed into each other. This has important con-

nections to homology as spaces that have the same homotopy type have isomorphic homology

groups. In many cases, we can reduce a more complicated simplicial compled into a simpler

one and extract the same information. Formally the concept of homotopy equivalence is given

in the following two definitions.

Definition 6. Two continuous functions f and g from a topological space X to a topological

space Y are said to be homotopic if there exists a continuous function H : [0, 1]×X → Y such

that H(0, x) = f(x) and H(1, x) = g(x).

7

Page 9: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Definition 7. Two topological spaces X and Y are said to have the same homotopy type if

there exist continuous functions f : X → Y and g : Y → X such that g ◦ f is homotopic to

idX and f ◦ g is homotopic to idY .

The following theorem is proven in Munkres (1999).

Theorem 1. Two simplicial complexes K and L have isomorphic homology groups if their

geometric realisations |K| and |L| are homotopy equivalent.

4 Computational Methods

We can now discuss methods of extracting information about shape from data sets. To do

this, we must first generate a simplicial complex from the data that approximates its shape

effectively, and compute the Betti numbers and torsion coefficients of the complex.

4.1 Generating Simplicial Complexes

Many methods exist for generating simplicial complexes. The main method that will be dis-

cussed here is to take the nerve of an open cover, which is defined below.

Definition 8. Given an open cover U of a space X, the nerve of U is the simplicial complex

N (U) with V (N (U)) = U and for any U0, . . . , Uq ∈ U , {U0, . . . , Uq} is a q-simplex of N (U) if

and only if ∩qi=0Ui 6= ∅.

The following theorem shows that as long as the union of the open cover U is a good

approximation for the data, the homology of the nerve will give the desired information about

the shape of the data.

Theorem 2. (Nerve theorem) Given an open cover U , the nerve N (U) is homotopy equivalent

to ∪U∈UU

A proof of the general nerve theorem is given in Hatcher (2001).

A simple method of constructing this complex is known as the Cech complex.

8

Page 10: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Figure 2: The nerve of an open cover

Definition 9. The ε-Cech complex of a collection of points P is the nerve of the open cover:

U(P ) = {Bd(p, ε) | p ∈ P} ,

where Bd(p, ε) denoted the ball of radius ε centred at p with metric d.

Figure 3: The Cech complex of a point set

Unfortunately, the Cech complex becomes impractical to compute as ε becomes large due

to the increased number of intersections. To solve this problem, we introduce the α-complex

and Voronoi regions (Edelsbrunner & Mucke, 1994).

Definition 10. For a data set P ∈ Rn, the Voronoi region corresponding to a particular p ∈ P

is the set

Rp(P ) = {x ∈ Rn | d(x, p) ≤ d(x, q)∀q ∈ P\{p}} .

9

Page 11: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Figure 4: Voronoi regions corresponding to a point set

Definition 11. The α-complex of a data set P ∈ Rn is the nerve of the cover:

U(P ) = {Bd(p, α) ∩Rp(P ) | p ∈ P} ,

which is the Cech complex with the open balls restricted to the Voronoi regions.

Figure 5: Restricted ε balls

This has the advantage that for a data set in Rn, if we impose the restriction that no k

points lie on a sphere of dimension k−2, then the largest possible simplex will be an n-simplex.

Bauer and Edelsbrunner (2016) showed using the concept of collapses that the α-complex

and the Cech complex are homotopy equivalent, thus the α complex contains all the information

about shape contained in the Cech complex, but in a more compact form.

Computing the α-complex of a particular data set relies on the Delaunay triangulation of

the data set. The Delaunay triangulation is simply the nerve of the Voronoi regions. From

10

Page 12: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

Definition 11, the α-complex will always be a subcomplex of the Delaunay triangulation, so we

just need to delete all the unnecessary simplices from the Delaunay triangulation. This requires

us to determine whether or not a particular set of q + 1 points forms a q-simplex in Rn for

q ≤ n. For q = 1, this is trivial since to determine whether or not two points p1 and p2 form a

1-simplex, we only need to check if d(p1, p2) < α. However, for n ≥ 2 this is not so easy.

For any set of points in Rn, we say that these points are in general position if no k of them

lie on a hyperplane of dimension k−2 for 2 ≤ k ≤ n+1. Then if we have q+1 points in general

position, there exists a unique sphere of dimension q − 1 containing all these points. Since

this sphere is unique, there exists a unique point equidistant from the q + 1 points, and the

distance is called the circumradius. This implies that when α is greater than the circumradius,

all α-balls centred at the q+1 points intersect at a common point and so this forms a q-simplex.

A formula for the circumradius of a set of q + 1 points in general position developed by

Coxeter (1930) is shown in the following statements.

For any collection of points x1, . . . xk ∈ Rn, the Euclidean distance matrix D(x1, . . . , xk) ∈

Rm×m is the matrix:

D(x1, . . . , xk)ij = (d(xi, xj))2

Where d is the Euclidean metric.

Proposition 3. Let p0, . . . , pq ∈ Rn be a set of q + 1 points in general position. Then the

circumradius R of p0, . . . , pq is given by the relation:

−2R2 =detD(p0, . . . , pq)

det

0 1

1 D(p0, . . . , pq)

A proof of Proposition 3 can be found in Coxeter (1930).

Using the Delaunay triangulation does however restrict us to working with data sets that

are in general position. This along with the previous restrictions can be removed by for example

applying a small perturbation onto the data set (Edelsbrunner & Mucke, 1994).

4.2 Computing Homology

The set of n-simplices of a simplicial complex K forms a basis for the nth chain group Cn(K).

This means that we can represent the boundary homomorphism ∂n as a matrix Dn, where any

11

Page 13: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

column of Dn gives the coefficients of a particular n-simplex under the image of ∂n. An example

of this construction is given in Example 4.

Example 4. Let K be an oriented simplicial complex with V (K) = {a, b, c, d} and S(K) =

{〈a〉, 〈b〉, 〈c〉, 〈d〉, 〈a, b〉, 〈b, d〉, 〈a, c〉, 〈c, d〉, 〈a, d〉, 〈a, b, d〉, 〈a, c, d〉}. Then the chain groups C2(K)

and C1(K) are given by:

C2(K) = {λ1〈a, b, d〉+ λ2〈a, c, d〉 |λi ∈ Z}

C2(K) = {λ1〈a, b〉+ λ2〈b, d〉+ λ3〈a, c〉+ λ4〈c, d〉+ λ5〈a, d〉 |λi ∈ Z}

We also have that

∂n(〈a, b, d〉) = 〈b, d〉 − 〈a, d〉+ 〈a, b〉

∂n(〈a, c, d〉) = 〈c, d〉 − 〈a, d〉+ 〈a, c〉

So the boundary matrix Dn is:

Dn =

〈a,b,d〉 〈a,c,d〉

〈a,b〉 1 0

〈b,d〉 1 0

〈a,c〉 0 1

〈c,d〉 0 1

〈a,d〉 −1 −1

Proposition 4. If A is an n ×m matrix with integer entries, then there exists a sequence of

row and column operations that transforms A into the following Smith normal form

a1 0 0 · · · 0

0 a2 0 · · · 0

0 0. . . 0

...... at

...

0. . .

0 · · · 0

where a1|a2| · · · |at.

12

Page 14: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

An algorithm that performs this reduction is presented in Munkres (1984).

Row operations and column operations on the boundary matrix correspond to changes in

basis in the spaces Cn(K) and Cn+1(K), so reducing to Smith normal form leaves the rank

and nullity of the matrix unchanged. Recall that the nth Betti number of a complex K is

the number of copies of Z in the nth Homology group, that it, the rank of Hn(K). Since

Hn(K) = Zn(K)/Bn(K) we have that rankHn(K) = rankZn(K) − rankBn(K). Furthermore

Zn(K) = Ker∂n so rankZn(K) = dim(nullspSn) which is just the number of zero columns in

Sn, ln. Similarly, Bn(K) = Im∂n+1 so rankBn(K) = dim(rowspSn+1) which is just the number

of nonzero columns in Sn+1, mn+1. Therefore βn = ln −mn+1. The nth torsion coefficients are

simply the diagonal entries of Sn+1 greater than one (Robins, 2000).

4.3 Complexity

For subsets of R2, Guibas and Stolfi (1985) shows that using a divide and conquer method, the

Delaunay triangulation of n points can be computed in O(n log n) time in general, and a mod-

ification by Dwyer (1987) improved this for uniformly distributed data sets to O(n log log n).

In general, Cignoni et al (1998) gave a generalisation of this method for point sets in Rd with

complexity O(ndd/2e+1). Various other algorithms exist for Delaunay triangulations in R2 and

R3, and these are summarised in Su and Drysdale (1997).

Algorithms for determining the Smith normal form of integer matrices however tend to be

of high polynomial degrees in the dimensions of the matrix. A summary of some Smith normal

form algorithms can be found in Koukouvinos (1998).

4.4 Reducing Size of Complex

Since the computation of Smith normal form is of a high degree polynomial in the dimensions

of the matrix, it is then desirable to decrease the number of simplices in the generated complex.

The α-complex and the Cech complex both treat each point in the dataset as a vertex, so the

complex is much larger than necessary in many cases. A way to decrease the size of our complex

is to successively take ε-balls at random points in the set, and then delete all points within the

ε-balls. This will eventually result in an open cover of the data. An algorithm that inputs a

dataset X0 with an ε and outputs an open cover of ε-balls U along with the set of centres of

13

Page 15: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

those balls P is shown below.

Require: Dataset X0, ε > 0 .

1: procedure ReducePoints

2: i := 0

3: U := ∅

4: P := ∅

5: while Xi 6= ∅ do:

6: xr := Random(Xi)

7: Xi+1 := Xi\{x ∈ Xi |x ∈ Bd(xr, ε)}

8: U := U ∪Bd(xr, ε)

9: P := P ∪ {xr}

10: i := i+ 1

return U , P

From this we can compute the nerve of U or compute the α-complex of P with α = ε.

Since P is a subset of X0, the α-complex of P will have at most the number of vertices in the

α-complex of X0.

4.5 Examples

Two examples of the number of vertices produced by the above algorithm with a uniform

distribution of points are given below. A uniform distribution of 1000 points was taken on each

object, and the average number of vertices for 100 trials of the above algorithm was computed

for ε ranging form 0.01 to 1.8.

14

Page 16: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

0 0.2 0.4 0.6 0.8 1 1.2 1.4

0

200

400

600

800

ε

vert

ices

(a) Unit square

0 0.5 1 1.5

0

200

400

600

800

1,000

ε

vert

ices

(b) Unit cube

Figure 6: Average number of simplices for various ε

The data suggests that as ε increases, the number of vertices in the reduced complex rapidly

decreases to 1. For example, for the unit square, on average by ε = 0.08 we find the number of

vertices is less than 100 (compared to 1000 in the standard α-complex).

5 Future work

In future work I would like to explore further increases in efficiency to the algorithm presented

in Section 4.4, as well as an analysis of the complexity of the algorithm. It would also be useful

to determine an expression for the expected value of the number of vertices as a function of ε

for the unit square, the unit cube, as well as for other subsets of Rn. Possible improvements

could be made using a multiresolution approach to generating the complex.

6 References

• Bauer, U. and Edelsbrunner, H. (2016). The Morse theory of Cech and Delaunay com-

plexes. Transactions of the American Mathematical Society, [online] 369(5), pp.3741-3762.

Available at: https://doi.org/10.1090/tran/6991 [Accessed 17 Feb. 2018].

• Cignoni, P., Montani, C. and Scopigno, R. (1998). DeWall: A fast divide and conquer De-

15

Page 17: Simplicial Homology and Computation from Nerves · Simplicial Homology and Computation from Nerves Vishnu Mangalath Supervised by Lyle Noakes The University of Western Australia Vacation

launay triangulation algorithm in Ed. Computer-Aided Design, [online] 30(5), pp.333-341.

Available at: https://doi.org/10.1016/S0010-4485(97)00082-1 [Accessed 16 Feb. 2018].

• Coxeter, H. (1930). The Circumradius of the General Simplex. The Mathematical

Gazette, [online] 15(210), p.229. Available at: https://doi.org/10.2307/3607191 [Accessed

2 Feb. 2018].

• Dwyer, R. (1987). A faster divide-and-conquer algorithm for constructing delaunay trian-

gulations. Algorithmica, [online] 2(1-4), pp.137-151. Available at: https://doi.org/10.1007

/BF01840356 [Accessed 16 Feb. 2018].

• Edelsbrunner, H. and Mucke, E. (1994). Three-dimensional alpha shapes. [ ACM Trans-

actions on Graphics], [online] 13(1), pp.43-72. Available at: http://doi.org/10.1145/174462

.156635 [Accessed 12 Jan. 2018].

• Guibas, L. and Stolfi, J. (1985). Primitives for the manipulation of general subdivisions

and the computation of Voronoi. ACM Transactions on Graphics, [online] 4(2), pp.74-123.

Available at: http://doi.org/10.1145/282918.282923 [Accessed 16 Feb. 2018].

• Hatcher, A. (2017). Algebraic topology. Cambridge: Cambridge University Press, p.459.

Available at: https://www.math.cornell.edu/ hatcher/AT/AT.pdf [Accessed 15 Feb. 2018].

• Koukouvinos, C., Mitrouli, M. and Seberry, J. (1998). Numerical algorithms for the

computation of the Smith normal form of integral matrices. Congressus Numerantium,

(133), pp.127-162.

• Munkres, J. (1999). Elements of Algebraic Topology. Addison-Wesley.

• Robins, V. (2000). Computational Topology at Multiple Resolutions: Foundations and

Applications to Fractals and Dynamics. Ph.D. University of Colorado, Boulder.

• Su, P. and Scot Drysdale, R. (1997). A comparison of sequential Delaunay triangu-

lation algorithms. Computational Geometry, [online] 7(5-6), pp.361-385. Available at:

http://doi.org/10.1016/s0925-7721(96)00025-9 [Accessed 16 Feb. 2018].

16