<Chapter><Heading>Approximating the Schur multiplier</Heading>

The algorithm in <Cite Key="MR2678952"/> approximates the Schur multiplier of
an invariantly finitely L-presented group by the quotients in its
Dwyer-filtration. This is implemented in the &lpres;-package and the
following methods are available:

<Section><Heading>Methods</Heading>

<ManSection><Oper Name="GeneratingSetOfMultiplier" Arg="lpgroup"/>
<Description>
uses Tietze transformations for computing an equivalent set of
relators for <A>lpgroup</A> so that a generating set for its Schur
multiplier can be read off easily.
</Description>
</ManSection>

<ManSection><Oper Name="FiniteRankSchurMultiplier" Arg="lpgroup c"/>
<Description>
computes a finitely generated quotient of the Schur multiplier of
<A>lpgroup</A>. The method computes the image of the Schur multiplier
of <A>lpgroup</A> in the Schur multiplier of its class-<A>c</A>
quotient.
</Description>
</ManSection>

<ManSection><Oper Name="EndomorphismsOfFRSchurMultiplier" Arg="lpgroup c"/>
<Description>
computes a list of endomorphisms of the `FiniteRankSchurMultiplier' of
<A>lpgroup</A>. These are the endomorphisms of the invariant
L-presentation induced to `FiniteRankSchurMultiplier'.
</Description>
</ManSection>

<ManSection><Oper Name="EpimorphismCoveringGroups" Arg="lpgroup d c"/>
<Description>
computes an epimorphism of the covering group of the class-<A>d</A>
quotient onto the covering group of the class-<A>c</A> quotient.
</Description>
</ManSection>

<ManSection><Oper Name="EpimorphismFiniteRankSchurMultiplier" Arg="lpgroup d c"/>
<Description>
computes an epimorphism of the <M>d</M>-th `FiniteRankSchurMultiplier'
of the invariant <A>lpgroup</A> onto the <M>c</M>-th
`FiniteRankSchurMultiplier'.  Its restricts the epimorphism
`EpimorphismCoveringGroups' to the corresponding finite rank
multipliers.
</Description>
</ManSection>

<ManSection><Func Name="ImageInFiniteRankSchurMultiplier" Arg="lpgroup c elm"/>
<Description>
computes the image of the free group element <A>elm</A> in the
<A>c</A>-th `FiniteRankSchurMultiplier'. Note that <A>elm</A> must be
a relator contained in the Schur multiplier of <A>lpgroup</A>;
otherwise, the function fails in computing the image.<P/>

The following example tackels the Schur multiplier of the Grigorchuk 
group.
<Example><![CDATA[
gap> G := ExamplesOfLPresentations( 1 );;
gap> gens := GeneratingSetOfMultiplier( G );
rec( FixedGens := [ b^-2*c^-2*d^-2*b*c*d*b*c*d ],
  IteratedGens := [ d^-1*a^-1*d^-1*a*d*a^-1*d*a,
      d^-1*a^-1*c^-1*a^-1*c^-1*a^-1*d^-1*a*c*a*c*a*d*a^-1*c^-1*a^-1*c^-1*a^
        -1*d*a*c*a*c*a ],
  BasisGens := [ a^2, b*c*d, b^-2*d^-2*b*c*d*b*c*d, b^-2*c^-2*b*c*d*b*c*d ],
  Endomorphisms := [ [ a, b, c, d ] -> [ a^-1*c*a, d, b, c ] ] )
gap> H := FiniteRankSchurMultiplier( G, 5 );
Pcp-group with orders [ 2, 2, 2 ] 
gap> GeneratorsOfGroup( H );
[ g15, g17, g16 ]
gap> EndomorphismsOfFRSchurMultiplier( G, 5 );
[ [ g15, g16, g17 ] -> [ g15, id, g16 ] ]
gap> Kernel( last[1] );
Pcp-group with orders [ 2 ]
gap> GeneratorsOfGroup( last );
[ g16 ]
gap> EpimorphismFiniteRankSchurMultipliers( G, 5, 2 );
[ g15, g16, g17 ] -> [ g10, id, g13 ]
gap> Range( last ) = FiniteRankSchurMultiplier( G, 2 );
true
gap> Kernel( EpimorphismFiniteRankSchurMultipliers( G, 5, 2 ) );
Pcp-group with orders [ 2 ]
gap> GeneratorsOfGroup( last );
[ g16 ]
gap> Kernel( EpimorphismFiniteRankSchurMultipliers( G, 5, 2 ) ) =
</A> Kernel( EndomorphismsOfFRSchurMultiplier( G, 5 )[1] );
true
gap> ImageInFiniteRankSchurMultiplier( G, 5, gens.FixedGens[1] );
g15
gap> ImageInFiniteRankSchurMultiplier(G,5,Image(gens.Endomorphisms[1],
</A> gens.IteratedGens[1] ) );
g16
gap> ImageInFiniteRankSchurMultiplier(G,5,gens.IteratedGens[1] );
g17
]]></Example>
</Description>
</ManSection>

</Section>

</Chapter>
