<Chapter><Heading> Words in free <M>ZG</M>-modules </Heading>

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

<ManSection>

<Func Name="AddFreeWords" Arg="v,w"/>
<Description>
<P/>

Inputs two words <M>v,w</M> in a free <M>ZG</M>-module and 
returns their sum <M>v+w</M>. If the characteristic of <M>Z</M> is 
greater than <M>0</M> then the next function might be more efficient.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="AddFreeWordsModP" Arg="v,w,p"/>
<Description>
<P/>

Inputs two words <M>v,w</M> in a free <M>ZG</M>-module and 
the characteristic <M>p</M> of <M>Z</M>. 
It returns the sum <M>v+w</M>. If <M>p=0</M> 
the previous function might be fractionally quicker.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="AlgebraicReduction" Arg="w"/>

<Func Name="AlgebraicReduction" Arg="w,p"/>
<Description>
<P/>

Inputs a word <M>w</M> in a free <M>ZG</M>-module 
and returns a reduced version of the word in which all pairs of 
mutually inverse letters have been cancelled. The reduction is 
performed in a free abelian group unless the characteristic <M>p</M> of <M>Z</M> is entered.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="MultiplyWord" Arg="n,w"/>
<Description>
<P/>

Inputs a word <M>w</M> and integer <M>n</M>. It returns the scalar 
multiple <M>n\cdot w</M>.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="Negate" Arg="[i,j]"/>
<Description>
<P/>

Inputs a pair <M>[i,j]</M> of integers and returns <M>[-i,j]</M>.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="NegateWord" Arg="w"/>
<Description>
<P/>

Inputs a word <M>w</M> in a free <M>ZG</M>-module and 
returns the negated word <M>-w</M>.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="PrintZGword" Arg="w,elts"/>
<Description>
<P/>

Inputs a word <M>w</M> in a free <M>ZG</M>-module and a 
(possibly partial but sufficient) listing elts of the elements of 
<M>G</M>. The function prints the word <M>w</M> to the screen in 
the form
<P/>
<M>r_1E_1 + \ldots + r_nE_n</M>
<P/>
where <M>r_i</M> are elements in the group ring <M>ZG</M>, and <M>E_i</M>
denotes the <M>i</M>-th free generator of the module. 
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutPeriodic.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>







































































































</ManSection>

<ManSection>

<Func Name="TietzeReduction" Arg="S,w"/>
<Description>
<P/>

Inputs a set <M>S</M> of words in a free <M>ZG</M>-module, and a word 
<M>w</M> in the module. The function returns a word <M>w'</M> such 
that {<M>S,w'</M>} generates the same abelian group as {<M>S,w</M>}. 
The word <M>w'</M> is possibly shorter (and certainly no longer) than 
<M>w</M>. This function needs to be improved!
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

<ManSection>

<Func Name="ResolutionBoundaryOfWord" Arg="R,n,w"/>
<Description>
<P/>
Inputs a resolution <M>R</M>, a positive integer <M>n</M> and a list <M>w</M> representing a word in the free module <M>R_n</M>. It returns the image of <M>w</M> under the <M>n</M>-th boundary homomorphism.
<P/><B>Examples:</B> 
</Description>







































































































</ManSection>

</Section>
</Chapter>

