<Chapter><Heading> Functors</Heading>

<Table Align="|l|" >

<Row>
<Item>
<Index>HomToIntegers </Index>
<C> HomToIntegers(X)
</C>
<P/>

Inputs either a <M>ZG</M>-resolution <M>X=R</M>, 
or an equivariant chain map <M>X = (F:R
\longrightarrow 
S)</M>. 
It returns the cochain complex or cochain map obtained by applying 
<M>HomZG( _ , Z)</M> where <M>Z</M> is the 
trivial module of integers (characteristic 0).
</Item>
</Row>

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

Inputs a <M>ZG</M>-resolution <M>R</M> and 
returns the cochain complex obtained by applying 
<M>HomZG( _ , Z_p)</M> where <M>Z_p</M> is the trivial module of 
integers mod <M>p</M>. 
(At present this functor does not handle equivariant chain maps.)
</Item>
</Row>

<Row>
<Item>
<Index> HomToIntegralModule </Index>
<C> HomToIntegralModule(R,f)
</C>
<P/>

Inputs a <M>ZG</M>-resolution <M>R</M> and a 
group homomorphism <M>f:G \longrightarrow
GL_n(Z)</M>  
to the group of <M>n×n</M> invertible integer matrices. Here 
<M>Z</M> must have characteristic 0. 
It returns the cochain complex obtained by applying 
<M>HomZG( _ , A)</M> where <M>A</M> is the <M>ZG</M>-module <M>Z_n</M> 
with <M>G</M> action via <M>f</M>. 
(At present this function does not handle equivariant chain maps.)
</Item>
</Row>

<Row>
<Item>
<Index> HomToGModule </Index>
<C> HomToGModule(R,A)
</C>
<P/>

Inputs a <M>ZG</M>-resolution <M>R</M> and an abelian
G-outer group A.
It returns the G-cocomplex obtained by applying
<M>HomZG( _ , A)</M>. 
(At present this function does not handle equivariant chain maps.)
</Item>
</Row>

<Row>
<Item>
<Index>LowerCentralSeriesLieAlgebra</Index>
<C> LowerCentralSeriesLieAlgebra(G)
</C>
&nbsp;
<C>
LowerCentralSeriesLieAlgebra(f)
</C>
<P/>

Inputs a pcp group <M>G</M>. 
If each quotient <M>G_c/G_{c+1}</M> 
of the lower central series is free abelian or p-elementary abelian 
(for fixed prime p) then a Lie algebra  <M>L(G)</M> is returned. 
The abelian group underlying <M>L(G)</M> is the 
direct sum of the quotients <M>G_c/G_{c+1}</M> . 
The Lie bracket on <M>L(G)</M> is induced by the commutator in 
<M>G</M>. (Here <M>G_1=G</M>, <M>G_{c+1}=[G_c,G]</M> .)
<P/>


The function can also be applied to a group homomorphism <M>f: G
\longrightarrow
G'</M> . In this case the induced homomorphism of Lie algebras 
<M>L(f):L(G) \longrightarrow
L(G')</M> is returned.<P/>

If the quotients of the lower central series are not all free or p-elementary abelian then the function returns fail.<P/>

This function was written by Pablo Fernandez Ascariz
</Item>
</Row>
<Row>
<Item>
<Index> TensorWithIntegers </Index>
<C> TensorWithIntegers(X)
</C>
<P/>

Inputs either a <M>ZG</M>-resolution <M>X=R</M>, 
or an equivariant chain map <M>X = (F:R
\longrightarrow S)</M>. It returns the 
chain complex or chain map obtained by tensoring with the 
trivial module of integers (characteristic 0).
</Item>
</Row>

<Row>
<Item>
<Index> TensorWithIntegersModP</Index>
<C>
TensorWithIntegersModP(X,p)
</C>
<P/>

Inputs either a <M>ZG</M>-resolution <M>X=R</M>, or 
an equivariant chain map <M>X = (F:R
\longrightarrow
S)</M>, and a prime <M>p</M>. It returns the chain 
complex or chain map obtained by tensoring with the 
trivial module of integers modulo <M>p</M>.
</Item>
</Row>


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

Inputs a <M>ZG</M>-resolution <M>R</M> and returns the chain 
complex obtained by tensoring with the trivial module of 
rational numbers. 
</Item>
</Row>

</Table>
</Chapter>


