<Chapter><Heading> Functors</Heading>

<Section><Heading> &nbsp;</Heading>

<ManSection>

<Func Name="ExtendScalars" Arg="R,G,EltsG"/>
<Description>
<P/>

Inputs  a <M>ZH</M>-resolution <M>R</M>,
a group <M>G</M> containing <M>H</M> as a subgroup, and a list <M>EltsG</M>
of elements of <M>G</M>. It returns the free <M>ZG</M>-resolution
 <M>(R  \otimes_{ZH} ZG)</M>. The returned resolution <M>S</M> has S!.elts:=EltsG. This is a resolution of the <M>ZG</M>-module
<M>(Z \otimes_{ZH} ZG)</M>. (Here <M>\otimes_{ZH}</M> means tensor over <M>ZH</M>.)
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="HomToIntegers" Arg="X"/>
<Description>
<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).
<P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>6</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="HomToIntegersModP" Arg="R"/>
<Description>
<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.)
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="HomToIntegralModule" Arg="R,f"/>
<Description>
<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.)
<P/><B>Examples:</B> <URL><Link>../tutorial/chap6.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="TensorWithIntegralModule" Arg="R,f"/>
<Description>
<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 chain complex obtained by tensoring over <M>ZG</M>  
with  the <M>ZG</M>-module <M>A=Z^n</M>
with <M>G</M> action via <M>f</M>.
(At present this function does not handle equivariant chain maps.)
<P/><B>Examples:</B> <URL><Link>../tutorial/chap6.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="HomToGModule" Arg="R,A"/>
<Description>
<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.)
<P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap6.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCrossedMods.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGouter.html</Link><LinkText>4</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="InduceScalars" Arg="R,hom"/>
<Description>
<P/>

Inputs  a <M>ZQ</M>-resolution <M>R</M> and a surjective group homomorphism
<M>hom:G\rightarrow Q</M>.
 It returns the unduced non-free  <M>ZG</M>-resolution.
 
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="LowerCentralSeriesLieAlgebra" Arg="G"/>

<Func Name="LowerCentralSeriesLieAlgebra" Arg="f"/>
<Description>
<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
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLie.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>
<ManSection>

<Func Name="TensorWithIntegers" Arg="X"/>
<Description>
<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).
<P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap3.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap6.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArithmetic.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutAspherical.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutParallel.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPerformance.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCocycles.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPoincareSeries.html</Link><LinkText>12</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>13</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>14</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPolytopes.html</Link><LinkText>15</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoxeter.html</Link><LinkText>16</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRosenbergerMonster.html</Link><LinkText>17</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutDavisComplex.html</Link><LinkText>18</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutDefinitions.html</Link><LinkText>19</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>20</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>21</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>22</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutFunctorial.html</Link><LinkText>23</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.html</Link><LinkText>24</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>25</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>26</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="FilteredTensorWithIntegers" Arg="R"/>
<Description>
<P/>

Inputs  a <M>ZG</M>-resolution <M>R</M> for which "filteredDimension" lies in NamesOfComponents(R). (Such a resolution can be produced using TwisterTensorProduct(), ResolutionNormalSubgroups() or FreeGResolution().) 
It returns the
filtered chain complex  obtained by tensoring with the
trivial module of integers (characteristic 0).
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="TensorWithTwistedIntegers" Arg="X,rho"/>
<Description>
<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 also inputs a function <M>rho\colon G\rightarrow \mathbb Z</M> where the action of <M>g \in G</M> on <M>\mathbb Z</M> is such that <M>g.1 = rho(g)</M>. It returns the
chain complex or chain map obtained by tensoring with the
(twisted) module of integers (characteristic 0).
<P/><B>Examples:</B> <URL><Link>../tutorial/chap3.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>4</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="TensorWithIntegersModP" Arg="X,p"/>
<Description>
 <P/>

Inputs either a <M>ZG</M>-resolution <M>X=R</M>, or a characteristics 0 chain complex, or 
an equivariant chain map <M>X = (F:R
\longrightarrow
S)</M>, or a chain map between characteristic 0 chain complexes, together with
 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>.
<P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArithmetic.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPerformance.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPoincareSeries.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutDefinitions.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>8</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="TensorWithTwistedIntegersModP" Arg="X,p,rho"/>
<Description>
<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 also inputs a function <M>rho\colon G\rightarrow \mathbb Z</M> where the action of <M>g \in G</M> on <M>\mathbb Z</M> is such that <M>g.1 = rho(g)</M>. It returns the chain
complex or chain map obtained by tensoring with the
trivial module of integers modulo <M>p</M>.
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="TensorWithRationals" Arg="R"/>
<Description>
<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. 
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

</Section>
</Chapter>

