<Chapter><Heading> Generators and relators of groups</Heading>

<Table Align="|l|" >

<Row>
<Item>
<Index> CayleyGraphOfGroupDisplay</Index>
<C>CayleyGraphOfGroupDisplay(G,X) </C>
<C>CayleyGraphOfGroupDisplay(G,X,"mozilla") </C>
<P/>

Inputs a finite group <M>G</M> together with a subset <M>X</M> of 
<M>G</M>. It displays the corresponding Cayley graph  as a .gif file. 
It uses the Mozilla web browser as a default to view the diagram.  
An alternative browser can be set using a second argument.
<P/>
The argument <M>G</M> can also be a finite set of elements in a 
(possibly infinite) group containing <M>X</M>. The edges of the 
graph are coloured according to which element of <M>X</M> they are 
labelled by. The list <M>X</M> corresponds to the list of colours 
[blue, red, green, yellow, brown, black] in that order.
<P/>
This function requires Graphviz software.
</Item>
</Row>

<Row>
<Item>
<Index> IdentityAmongRelatorsDisplay</Index>
<C>IdentityAmongRelatorsDisplay(R,n) </C>
<C>IdentityAmongRelatorsDisplay(R,n,"mozilla") </C>

<P/>

Inputs a free <M>ZG</M>-resolution <M>R</M> and an integer <M>n</M>. 
It displays the boundary R!.boundary(3,n) as a tessellation of a sphere. It
 displays the tessellation  as a .gif file
and uses the Mozilla web browser as a default display mechanism.
An alternative browser can be set using a second argument.

(The resolution <M>R</M>
 should be reduced and, preferably, in dimension 1 it should correspond to a Cayley graph for <M>G</M>. )

<P/>This function uses GraphViz software.
</Item>
</Row>

<Row>
<Item>
<Index> IsAspherical</Index>
<C>IsAspherical(F,R) </C>
<P/>

Inputs a free group <M>F</M> and a set <M>R</M> of words in <M>F</M>. 
It performs a test on the 2-dimensional CW-space <M>K</M> associated 
to this presentation for the group <M>G=F/</M>&tlt;<M>R</M>&tgt;<M>^F</M>. 
<P/>
The function returns "true" if <M>K</M> has trivial second homotopy group. 
In this case it prints: Presentation is aspherical.
<P/>
Otherwise it returns "fail" and prints: Presentation is NOT piece-wise Euclidean non-positively curved. (In this case <M>K</M> may or may not 
have trivial second homotopy group. But it is NOT possible to impose a 
metric on K which restricts to a Euclidean metric on each 2-cell.)
<P/>
The function uses Polymake software. 
</Item>
</Row>

<Row>
<Item>
<Index> PresentationOfResolution</Index>
<C>PresentationOfResolution(R) </C>
<P/>

Inputs at least two terms of a reduced <M>ZG</M>-resolution <M>R</M> 
and returns a record <M>P</M> with components
<List>
<Item>
<M>P.freeGroup</M> is a free group <M>F</M>,
</Item>
<Item>
<M>P.relators</M> is a list <M>S</M> of words in <M>F</M>,
</Item>
<Item>
<M>P.gens</M> is a list of positive integers such that the <M>i</M>-th generator of the presentation corresponds to the group element R!.elts[P[i]] .
</Item>

</List>
where <M>G</M> is isomorphic to <M>F</M>
modulo the normal closure of <M>S</M>. 
This presentation for <M>G</M> corresponds to the 
2-skeleton of the classifying CW-space from which <M>R</M>
was constructed. The resolution <M>R</M> requires no contracting 
homotopy.
</Item>
</Row>


<Row>
<Item>
<Index> TorsionGeneratorsAbelianGroup</Index>
<C>TorsionGeneratorsAbelianGroup(G) </C>
<P/>

Inputs an abelian group <M>G</M> and returns a generating set 
<M>[x_1, \ldots ,x_n]</M> where no pair of generators 
have coprime orders.
</Item>
</Row>

</Table>
</Chapter>


