A common tool in computing reduced homology groups is boundary matrices.

Boundary Matrix

Let be a simplicial complex with -simplices and -simplices . The p-th boundary matrix, , of is the matrix defined by

The above definition is when working with the underlying group of . When working over , the non-zero entries are depending on the orientations. For now we work over . For example, consider the complex below:

center

Then the 0-th boundary matrix is

and the 1-st boundary matrix would be

Notice that a -chain is just a sum of columns and a -chain is a sum of rows. Boundary matrices get their name as they are the matrix representation of the boundary homomorphism. That is, if is a -chain over , then is given by the matrix-vector product .

As a result, the columns of generate the -chain group . Likewise, the rows of generate . We can make use of boundary matrices to get generators of the boundary and cycle groups and .

Smith Normal Form

Smith Normal Form

A matrix is in Smith normal form (SNF) if is of the form

where with , and .

When working over , we get that , the identity matrix.

The structure of the SNF of the boundary matrix tells us the rank of and .

center

For example,

implying that and .

Even more, the SNF is of the form

where is the product of elementary row operations and is the product of elementary column operations. The last columns of encode a basis for and the first columns of encode a basis for .

If we keep track of the row and column operations as we go, the labels for the last three columns are , , . These 1-cycles form a basis for .

SNF Algorithm over

Algorithm 1 Smith normal form of BZ2m×nB\in\Z_2^{m\times n}

procedure Reduce(ii)

if ji,ki with Bjk=1\exists j\ge i,k\ge i\text { with }B_{jk}=1 then

RjRiR_j\rightleftharpoons R_i

CjCiC_j\rightleftharpoons C_i

for h=i+1,,mh=i+1,\dots,m do

if Bhi=1B_{hi}=1 then

RhRh+RiR_h\leftarrow R_h+R_i

end if

end for

for =i+1,,n\ell=i+1,\dots,n do

if Bi=1B_{i\ell}=1 then

CC+CiC_\ell\leftarrow C_\ell+C_i

end if

end for

Reduce(i+1i+1)

end if

end procedure