<Chapter><Heading> Miscellaneous</Heading>

<Table Align="|l|" >

<Row>
<Item>
<Index> BigStepLCS </Index>
<C>
BigStepLCS(G,n)
</C>
<P/>

Inputs a group <M>G</M> and a positive integer <M>n</M>. 
It returns a subseries <M>G=L_1</M>&tgt;<M>L_2</M>&tgt;<M> \ldots L_k=1</M> of the lower central series of 
<M>G</M> such that <M>L_i/L_{i+1}</M> has order greater than <M>n</M>.
</Item>
</Row>


<Row>
<Item>
<Index> Classify </Index>
<C>
Classify(L,Inv)
</C>
<P/>

Inputs a list of objects <M>L</M> and a function <M>Inv</M> which
computes an invariant of each object. It returns a list of lists which classifies the objects of <M>L</M> according to the invariant..
</Item>
</Row>

<Row>
<Item>
<Index> RefineClassification </Index>
<C>
RefineClassification(C,Inv)
</C>
<P/>

Inputs a list <M>C:=Classify(L,OldInv)</M> and returns a refined classification according to the invariant <M>Inv</M>.
</Item>
</Row>




<Row>
<Item>
<Index> Compose(f,g)</Index>
<C>
Compose(f,g)
</C>
<P/>

Inputs two <M>FpG</M>-module homomorphisms <M>
f:M \longrightarrow N</M> and <M>g:L \longrightarrow M</M>
with <M>Source(f)=Target(g)</M> . 
It returns the composite homomorphism <M>fg:L \longrightarrow N</M> .
<P/>
This also applies to group homomorphisms <M>f,g</M>.
</Item>
</Row>
<Row>
<Item>
<Index> HAPcopyright</Index>
<C>
HAPcopyright()
</C>
<P/>

This function provides details of HAP'S GNU public copyright licence.
</Item>
</Row>
<Row>
<Item>
<Index> IsLieAlgebraHomomorphism</Index>
<C>
IsLieAlgebraHomomorphism(f)
</C>
<P/>

Inputs an object <M>f</M> and returns true if <M>f</M>
is a homomorphism <M>f:A \longrightarrow B</M>
of Lie algebras (preserving the Lie bracket).
</Item>
</Row>

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

Inputs a group <M>G</M> and returns "true" if  both the 
first and second integral homology of <M>G</M> is trivial. 
Otherwise, it returns "false". 
</Item>
</Row>

<Row>
<Item>
<Index>MakeHAPManual</Index>
<C>MakeHAPManual()</C>
<P/>
This function creates the manual for HAP from an XML file.
</Item>
</Row>

<Row>
<Item>
<Index> PermToMatrixGroup </Index>
<C>
PermToMatrixGroup(G,n)
</C>
<P/>

Inputs a permutation group <M>G</M> and its degree <M>n</M>. 
Returns a bijective homomorphism <M>f:G \longrightarrow M</M> where 
<M>M</M> is a group of permutation matrices.
</Item>
</Row>
<Row>
<Item>
<Index> SolutionsMatDestructive</Index>
<C>
SolutionsMatDestructive(M,B)
</C>
<P/>

Inputs an <M>m×n</M> matrix <M>M</M> and a <M>k×n</M> matrix 
<M>B</M> over a field. It returns a k×m matrix <M>S</M> satisfying 
<M>SM=B</M>.
<P/>
The function will leave matrix <M>M</M> unchanged but 
will probably change matrix <M>B</M>.
<P/>
(This is  a trivial rewrite of the standard GAP function 
<M>SolutionMatDestructive(</M>&tlt;<M>mat</M>&tgt;,&tlt;<M>vec</M>&tgt;) .) 
</Item>
</Row>


<Row>
<Item>
<Index> TestHap</Index>
<C> 
TestHap()
</C>
<P/>

This runs a representative sample of HAP functions and checks to see that they produce the correct output.  
</Item>
</Row>

</Table>
</Chapter>


