\magnification=2000
\overfullrule=0pt
\parindent=0pt

\nopagenumbers

\input amstex

%\voffset=-.6in
%\hoffset=-.5in
%\hsize = 7.5 true in
%\vsize=10.4 true in

\voffset=1.8 true in
\hoffset=-.6 true in
\hsize = 10.2 true in
\vsize=8 true in

\input colordvi

\def\cltr{\Red}		  % Red  VERY-Approx PANTONE RED
\def\cltb{\Blue}		  % Blue  Approximate PANTONE BLUE-072
\def\cltg{\PineGreen}	  % ForestGreen  Approximate PANTONE 349
\def\cltp{\DarkOrchid}	  % DarkOrchid  No PANTONE match
\def\clto{\Orange}	  % Orange  Approximate PANTONE ORANGE-021
\def\cltpk{\CarnationPink}	  % CarnationPink  Approximate PANTONE 218
\def\clts{\Salmon}	  % Salmon  Approximate PANTONE 183
\def\cltbb{\TealBlue}	  % TealBlue  Approximate PANTONE 3145
\def\cltrp{\RoyalPurple}	  % RoyalPurple  Approximate PANTONE 267
\def\cltp{\Purple}	  % Purple  Approximate PANTONE PURPLE

\def\cgy{\GreenYellow}     % GreenYellow  Approximate PANTONE 388
\def\cyy{\Yellow}	  % Yellow  Approximate PANTONE YELLOW
\def\cgo{\Goldenrod}	  % Goldenrod  Approximate PANTONE 109
\def\cda{\Dandelion}	  % Dandelion  Approximate PANTONE 123
\def\capr{\Apricot}	  % Apricot  Approximate PANTONE 1565
\def\cpe{\Peach}		  % Peach  Approximate PANTONE 164
\def\cme{\Melon}		  % Melon  Approximate PANTONE 177
\def\cyo{\YellowOrange}	  % YellowOrange  Approximate PANTONE 130
\def\coo{\Orange}	  % Orange  Approximate PANTONE ORANGE-021
\def\cbo{\BurntOrange}	  % BurntOrange  Approximate PANTONE 388
\def\cbs{\Bittersweet}	  % Bittersweet  Approximate PANTONE 167
%\def\creo{\RedOrange}	  % RedOrange  Approximate PANTONE 179
\def\cma{\Mahogany}	  % Mahogany  Approximate PANTONE 484
\def\cmr{\Maroon}	  % Maroon  Approximate PANTONE 201
\def\cbr{\BrickRed}	  % BrickRed  Approximate PANTONE 1805
\def\crr{\Red}		  % Red  VERY-Approx PANTONE RED
\def\cor{\OrangeRed}	  % OrangeRed  No PANTONE match
\def\paru{\RubineRed}	  % RubineRed  Approximate PANTONE RUBINE-RED
\def\cwi{\WildStrawberry}  % WildStrawberry  Approximate PANTONE 206
\def\csa{\Salmon}	  % Salmon  Approximate PANTONE 183
\def\ccp{\CarnationPink}	  % CarnationPink  Approximate PANTONE 218
\def\cmag{\Magenta}	  % Magenta  Approximate PANTONE PROCESS-MAGENTA
\def\cvr{\VioletRed}	  % VioletRed  Approximate PANTONE 219
\def\parh{\Rhodamine}	  % Rhodamine  Approximate PANTONE RHODAMINE-RED
\def\cmu{\Mulberry}	  % Mulberry  Approximate PANTONE 241
\def\parv{\RedViolet}	  % RedViolet  Approximate PANTONE 234
\def\cfu{\Fuchsia}	  % Fuchsia  Approximate PANTONE 248
\def\cla{\Lavender}	  % Lavender  Approximate PANTONE 223
\def\cth{\Thistle}	  % Thistle  Approximate PANTONE 245
\def\corc{\Orchid}	  % Orchid  Approximate PANTONE 252
\def\cdo{\DarkOrchid}	  % DarkOrchid  No PANTONE match
\def\cpu{\Purple}	  % Purple  Approximate PANTONE PURPLE
\def\cpl{\Plum}		  % Plum  VERY-Approx PANTONE 518
\def\cvi{\Violet}	  % Violet  Approximate PANTONE VIOLET
\def\clrp{\RoyalPurple}	  % RoyalPurple  Approximate PANTONE 267
\def\cbv{\BlueViolet}	  % BlueViolet  Approximate PANTONE 2755
\def\cpe{\Periwinkle}	  % Periwinkle  Approximate PANTONE 2715
\def\ccb{\CadetBlue}	  % CadetBlue  Approximate PANTONE (534+535)/2
\def\cco{\CornflowerBlue}  % CornflowerBlue  Approximate PANTONE 292
\def\cmb{\MidnightBlue}	  % MidnightBlue  Approximate PANTONE 302
\def\cnb{\NavyBlue}	  % NavyBlue  Approximate PANTONE 293
\def\crb{\RoyalBlue}	  % RoyalBlue  No PANTONE match
%\def\cbb{\Blue}		  % Blue  Approximate PANTONE BLUE-072
\def\cce{\Cerulean}	  % Cerulean  Approximate PANTONE 3005
\def\ccy{\Cyan}		  % Cyan  Approximate PANTONE PROCESS-CYAN
\def\cpb{\ProcessBlue}	  % ProcessBlue  Approximate PANTONE PROCESS-BLUE
\def\csb{\SkyBlue}	  % SkyBlue  Approximate PANTONE 2985
\def\ctu{\Turquoise}	  % Turquoise  Approximate PANTONE (312+313)/2
\def\ctb{\TealBlue}	  % TealBlue  Approximate PANTONE 3145
\def\caq{\Aquamarine}	  % Aquamarine  Approximate PANTONE 3135
\def\cbg{\BlueGreen}	  % BlueGreen  Approximate PANTONE 320
\def\cem{\Emerald}	  % Emerald  No PANTONE match
%\def\cjg{\JungleGreen}	  % JungleGreen  Approximate PANTONE 328
\def\csg{\SeaGreen}	  % SeaGreen  Approximate PANTONE 3268
\def\cgg{\Green}	  % Green  VERY-Approx PANTONE GREEN
\def\cfg{\ForestGreen}	  % ForestGreen  Approximate PANTONE 349
\def\cpg{\PineGreen}	  % PineGreen  Approximate PANTONE 323
\def\clg{\LimeGreen}	  % LimeGreen  No PANTONE match
\def\cyg{\YellowGreen}	  % YellowGreen  Approximate PANTONE 375
\def\cspg{\SpringGreen}	  % SpringGreen  Approximate PANTONE 381
\def\cog{\OliveGreen}	  % OliveGreen  Approximate PANTONE 582
\def\pars{\RawSienna}	  % RawSienna  Approximate PANTONE 154
\def\cse{\Sepia}		  % Sepia  Approximate PANTONE 161
\def\cbr{\Brown}		  % Brown  Approximate PANTONE 1615
\def\cta{\Tan}		  % Tan  No PANTONE match
\def\cgr{\Gray}		  % Gray  Approximate PANTONE COOL-GRAY-8
\def\cbl{\Black}		  % Black  Approximate PANTONE PROCESS-BLACK
\def\cwh{\White}		  % White  No PANTONE match


\loadmsbm

\input epsf

\def\ctln{\centerline}
\def\u{\underbar}
\def\ssk{\smallskip}
\def\msk{\medskip}
\def\bsk{\bigskip}
\def\hsk{\hskip.1in}
\def\hhsk{\hskip.2in}
\def\dsl{\displaystyle}
\def\hskp{\hskip1.5in}

\def\lra{$\Leftrightarrow$ }
\def\ra{\rightarrow}
\def\mpto{\logmapsto}
\def\pu{\pi_1}
\def\mpu{$\pi_1$}
\def\sig{\Sigma}
\def\msig{$\Sigma$}
\def\ep{\epsilon}
\def\sset{\subseteq}
\def\del{\partial}
\def\inv{^{-1}}
\def\wtl{\widetilde}
%\def\lra{\Leftrightarrow}
\def\del{\partial}
\def\delp{\partial^\prime}
\def\delpp{\partial^{\prime\prime}}
\def\sgn{{\roman{sgn}}}
\def\wtih{\widetilde{H}}
\def\bbz{{\Bbb Z}}
\def\bbr{{\Bbb R}}

{\bf Computing homology groups:} Computing simplicial homology
groups for a finite $\Delta$-complex is, in the end, a matter of
straightforward linear algebra. First the punchline!
Start with the chain complex

\ssk

\ctln{
$\cdots\ra C_{n+1}(X){\buildrel{\del_{n+1}}\over\ra}C_n(X)
{\buildrel{\del_n}\over\ra}C_{n-1}(X)\ra\cdots$
}

\ssk

for the simplicial homology of a finite $\Delta$-complex $X$,
with matrices $\Delta_n$ representing the boundary maps $\del_n$
(in the standard bases given by the $(n+1)$- and $n$-simplices).
We can, by row and column operations over $\bbz$ (that is, we
add integer multiples of a row or column to another, permute
rows  or columns, and multiply a row or column by $-1$) put the
matrix $\Delta_n=(d_{ij})$ into {\it Smith normal form} 
$A_n=(a_{ij})$, which means that
its entries are $0$ except along the ``diagonal'' $a_{ii}=b_i$; and
further, $b_i|b_{i+1}$ for all $i$ (where everything is 
assumed to divide $0$ and $0$ divides only $0$). We sketch 
the proof below. 

\msk

Then if we let $M_n$ = the number of columns of zeros of $A_n$
and $m_n$ = the number of {\it non-zero} rows of $A_{n+1}$ 
[note the change of subscript!], and $b_1,\ldots b_k$ the non-zero
diagonal entries of $A_{n+1}$ [note that $m_n=k$], then

\ssk

\ctln{
$H_n(X)\cong\bbz^{M_n-m_n}\oplus Z_{b_1}\oplus\cdots\oplus Z_{b_k}$
}

\msk

The point is that the matrices $A_n$ are representatives of the 
boundary maps $\del_n$, with respect to some very carefully chosen 
(and compatible) bases for $C_n(X)$. Essentially, $Z_n(X)\cong Z^{M_n}$ with
basis the last $M_n$ elements of our basis for $C_n(X)$, and 

$B_n(X)\cong b_1\bbz\oplus\cdots\oplus b_k\bbz$, mapping into
the last $k$ coordinates.

\vfill
\eject

Specifically, we show that we can decompose each
$C_n(X)=U_n\oplus V_n\oplus W_n$,  where $Z_n(X)=\{0\}\oplus V_n\oplus W_n$ 
(so $\del_n$ is injective on $U_n$), and
$\del_{n}(U_{n})\subseteq W_{n-1}$ (with finite index). 
Furthermore, we may choose bases
so that the matrix of $\del_{n+1}:U_{n+1}\ra W_{n}$ is the
diagonal matrix diag$(b_1,\ldots,b_k)$. Note that, choosing
bases for the $V_n$ to fill out a basis for $C_n(X)$ (using
the bases for $U_n$ and $W_n$ implied by the above statement),
the matrix for $\del_{n+1}$ has the block form consisting
of all $0$'s, except for the ``$U_{n+1}$ to $W_n$'' part,
which is the diagonal matrix. (This is a slightly permuted version of
Smith normal form.)
Then

\ssk

\ctln{$B_n(X)=$im$(\del_{n+1})=
b_1\bbz\oplus\cdots\oplus b_k\bbz
\subseteq \{0\}\oplus W_n\subseteq V_n\oplus W_n$}

\ssk

so $H_n(X)=Z_n(X)/B_n(X)\cong 
(V_n\oplus W_n)/(\{0\}\oplus b_1\bbz\oplus\cdots\oplus b_k\bbz)\cong 
V_n\oplus Z_{b_1}\oplus\cdots\oplus Z_{b_k}$. The dimension of
$V_n$ can be determined from the normal forms of $\del_{n+1}$ and
$\del_n$ as
$\dim(V_n)=\dim(V_n\oplus W_n)-\dim(W_n)=\dim(Z_n(X))-\dim(U_{n+1})$ =
number of non-pivot columns of $\del_n$ $-$ number of pivot rows of $\del_{n+1}$ =
number of zero columns of $A_n$ $-$ number of non-zero rows of $A_{n+1}$,
as desired.


\msk

It remains only to show that the matrices $\Delta_n$ can be put into Smith normal form,
and that this {\it implies} the existence of the decompositions of $C_n(X)$ as described.
The basic idea is that row and column operations on a matrix can really be interpreted 
as choosing different (ordered) bases for the domain or codomain, 
to describe a linear transformation $L:V\ra W$. Working with integer matrices and 
operations over 
$\bbz$ means that we can work with bases of $\bbz^n$. Since $Lu_i=\sum_j a_{ij}w_j$ for
bases $\{u_i\}$ and $\{w_j\}$, interchanging rows or columns corresponds to interchanging
basis elements in $W$  or $V$, repsectively (to make the actual vectors described by the 
summation remain the same). Multiplication of a row or column by $-1$
multiplies the corresponding basis element by $-1$. And adding a multiple $m$ of
one row, $k$, to another, $\ell$ amounts to replacing the basis vector
$u_\ell$  with $u_\ell+mu_k$ (since the new row describes, in terms of the
$w_j$, the image of that vector in $V$); adding a multiple $m$ of 
one column $k$ to another, $\ell$, is reflected in the bases as

\ssk

\ctln{$a_{i1}w_1+\cdots +a_{im}w_m= a_{i1}+\cdots a_{ik}(w_k-mw_\ell)+
\cdots +(a_{i\ell}+ma_{ik})w_\ell+\cdots +a_{im}w_m$}

\ssk

so it can be interpreted as a change of basis in the codomain. 

\msk

Using these operations to arrive in Smith normal form is a fairly 
straighforward matter of induction. Given an integer matrix $A=(a_{ij})$,
Let $N(A)$ be the minimum, among all non-zero entries of $A$, of their absolute value.
If $|a_{ij}|=N(A)$ does not divide some entry $a_{kl}=b$ of $A$, we can by row and column operations
decrease $N(A)$. If $i=k$ or $j=\ell$,
then adding the right multiple of the column or row containing $a_{ij}$ to the one containing $b$
will yield the remainder of $b$ upon division by $a_{ij}$ in $b$'s place, lowering $N(A)$.
Otherwise, we may assume that both $a_{i\ell}=\alpha a_{ij}$  and $a_{kj}=\beta a_{ij}$,
and then adding $1-\alpha$ times the $i$-th row  to the $k$-th yields a row with
$a_{ij}$ in the $j$-th spot and $a_{k\ell}+(1-\alpha)\beta a_{ij}$ in the $\ell$-th,
which $a_{ij}$ still doesn't divide. Then we apply the previous operation to reduce
$N(A)$.
\ssk

Since this cannot continue indefinitely [$N(A)\in \bbz^+$], 
eventually $N(A)=|a_{ij}|$ {\it does} divide every 
entry of $A$. By swapping rows and columns,
we may assume that $N(A)=|a_{11}|$, and then by row and column 
operations we can zero out every other entry in the first row and column. 
Striking out this row and column, we have a minor matrix $B$ satisfying
$N(A)|N(B)$. Note that then this will remain true under
any subsequent row or column operation on $B$. By induction, there are row and column operations for $B$
(which we interpret as operations on $A$ not using the first row or column)
putting $B$ into Smith normal form; essentially, we just continually
use the process above on smaller and smaller matrices. Since
$N(A)|N(B)$ at the start, this remains true throughout the row and
column operations, so each diagonal entry divides the ones that come
later. All other entries are eventually zeroed out.

\msk

After we have put our matrices representing the boundary maps $\del_n$ 
into Smith normal form, this provides us with 
bases $\{u_i^n\},\{w_j^{n-1}\}$ for $C_n(X)$ and $C_{n-1}(X)$
so that $\del_nu_i^n = b_{i,n}w_i^{n-1}$ for $i\leq k_n$ and 
$\del_nu_i^n=0$ for $i>k_n$. In order to make these bases ``compatible'',
as we desire,
we need to use the fact that $\del_n\circ \del_{n+1}=0$.
We may assume that $b_{i,n}\neq 0$ for all $i\leq k_n$ (otherwise we just shift $k_n$).

\ssk

The point is that $\del_{n+1}u_i^{n+1}=b_{i,n+1}w_i^{n}$ implies that
$0=\del_n\del_{n+1}u_i^{n+1}=b_{i,n+1}\del_nw_i^{n}$, so $\del_nw_i^{n}=0$
for every $i\leq k_n$ (since $b_{i,n+1}\neq 0$). Also, $\del_n$ is injective
on the span of $u_1^n,\ldots ,u_{k_n}^n$, since their images, $b_{i,n}w_i^n$,
are linearly independent (as non-zero multiples of basis elements). This also means 
that they span a subspace complementary to $Z_n(X)$. We therefore wish to choose 
$\{u_i^n : 1\leq i\leq k_n\}$ as our basis for $U_n$
and $\{w_j^n : 1\leq j \leq k_{n+1}\}$ as our basis for $W_n$, and {\it show}
that this can be extended to a basis for $C_n(X)$ by choosing vectors lying in 
$Z_n(X)$; the added vectors will be a basis for $V_n$. Once we do this, we know that
in these bases our boundary maps will have the form we desire, since the added
vectors $v_k$ map to $0$ under $\del_n$, as do the $w_j^n$ we've kept,  and
$\del_nu_i=b_{i,n}w_i^{n-1}$. For notational convenience in what follows, we will denote
the vectors $u_i,w_j$ that we have elected {\it not} to keep for our basis
by $u_i^\prime,w_j^\prime$.

\vfill
\eject

To finish building our basis for $C_n(X)$ we essentially need to show that the span $W_n$ of the 
$w_j$'s form a direct summand of $Z_n(X)=\ker(\del_n)$, 
that is, the $w_j$ form the subset of some basis for $Z_n(X)$. 
To show that $W_n$ is a summand, we show
that $Q_n=Z_n(X)/W_n$ is a free abelian group; choosing a basis $\{v_k+W_n\}$ for $Q_n$,
it then follows that $\{v_k\}\cup\{w_j\}$ is a basis for $Z_n(X)$; given
$z\in Z_n(X)$, $z+W_n$ can be expressed as a combination of the $v_k+W_n$; $z$ minus
that combination therefore lies in $W_n$, so is a combination of the $w_j$. That shows
that they span. Writing $0$ as a linear combination and then projecting to 
$Q_n$ shows that the coefficients of the $v_k$ are $0$ (since the $v_k+W_n$
are linearly independent in $Q_n$), and so the coeficients of 
the $w_j$ are zero (since the $w_j$
are linearly independent in $W_n$), proving linear independence.

\msk

And to show that $Q_n=Z_n(X)/W_n$ is a free abelian group, since it is finitely generated,
it suffices to show that it contains no torsion elements. That is, if $z\in Z_n(X)$ and
$cz\in W_n$ for some $c\neq 0$, then $z\in W_n$. But this is immediate, really;
expressing $z=\sum c_iw_i+\sum c_i^\prime w_i^\prime$ (which is unique, since the
$w_i,w_i^\prime$ form a basis for $C_n(X)$), then $cz=\sum cc_iw_i+\sum cc_i^\prime w_i^\prime\in W_n$
implies that the $cc_i^\prime=0$ 
(since this expression is still unique and the $w_i$ form a basis for $W_n$),
so the $c_i^\prime=0$ and $z=\sum c_iw_i\in W_n$, as desired.

\msk

The fact that
the $u_i$ and $Z_n(X)$ (hence the $u_i$ and the basis $\{v_k,w_j\}$ for $Z_n(X)$) span $C_n(X)$
follows from the fact that the $u_i^\prime$ all lie in $Z_n(X)$. This implies that
$C_n(X)\cong$span$\{u_i\}\oplus$span$\{v_k\}\oplus$span$\{w_j\}$, finishing our proof.

\vfill
\end





Therefore the $w_j$ are (uniquely) $\bbz$-linear combinations of the
$u_i^\prime$; since the $w_j,w_j^\prime$ form a basis for $C_n(X)$,
the $u_i^\prime$ can also be (uniquely) expressed as linear combinations of these.
Expressing this in matrix form $w_j=\sum e_{ji}u_i^\prime$, $u_i^\prime=\sum f_{ij}W_j$,
the matrices $E=(e_{ji}),F=(f_{ij})$ satisfy $EF=I$. This implies that the matrix $E$
can be row-reduced (over $\bbz$) 



This also means 
that the $u_i^\prime$ form a basis for $Z_n(X)$. [If a linear
combination of the $u_i,u_i^\prime$ is sent to $0$, then the coefficients of the $u_i$
are zero, so the vector is really a linear combination of the
$u_i^\prime$, so these vectors span $Z_n(X)$.] 




