Let H be a subgroup of finite index in the finitely presented group G. It frequently happens that it is desirable to construct a set of defining relations for H from those of G. In principle, such a presentation can be obtained either on a set of Schreier generators for H using the Reidemeister-Schreier rewriting technique or on the given generators of H.
If the user wishes only to determine the structure of the derived
quotient group of H, then the function AbelianQuotientInvariants,
described above, should be used. In this
case there is no need to first construct a presentation for H using the
Rewrite function described below, since AbelianQuotientInvariants
employs a special form of the Reidemeister-Schreier rewriting process which
abelianizes each relator as soon as it is constructed. Thus
AbelianQuotientInvariants may be applied to subgroups H of much larger
index in G than may be the function Rewrite.
Rewriting
Rewrite(G, H : parameters) : GrpFP, GrpFP -> GrpFP
Given a finitely presented group G and a subgroup H having finite index in G, construct a presentation for H by rewriting the presentation given for G.
Simplify: BoolElt Default: trueIf this Boolean-valued parameter is given the value true, then the resulting presentation for H will be simplified (default). The function Rewrite returns a finitely presented group that is isomorphic to H. If simplification is requested (Simplify := true) then the simplification procedures are invoked (see next section). These procedures perform a sequence of Tietze transformations which typically result in a considerable simplification of the presentation produced by the rewriting process. Alternatively, the user can set Simplify := false and then perform the simplification directly if desired. (See next section). If simplification is not requested as part of Rewrite, a small amount of simplification is performed on the presentation before it is returned.
Iterations: RngIntElt Default: 0Perform at most n iterations (default: no limit) of the main elimination loop. Usually, one generator is eliminated for each iteration of the loop.
SearchLimit: RngIntElt Default: 1500Only look for substrings of relators of length less than or equal to the limit specified when looking for Tietze transformations. If this bound is exceeded, then the number of times the limit was enforced will be printed.
Given a subgroup H of the finitely presented group G, return a set containing the Schreier generators for H.
> G<x, y> := Group< x, y | x^2, y^3, (x*y)^12, (x*y)^6*(x*y^-1)^6 >; > print G;Finitely presented group G on 2 generators Relations x^2 = Id(G) y^3 = Id(G) (x * y)^12 = Id(G) x * y * x * y * x * y * x * y * x * y * x * y * x * y^-1 * x * y^-1 * x * y^-1 * x * y^-1 * x * y^-1 * x * y^-1 = Id(G)
> K := sub< G | x, y*x*y^-1, y*x*y^-1*x*y^-1*x*y >; > print K; > print Index(G, K); 3
Finitely presented group K on 3 generators Generators as words in group G K.1 = x K.2 = y * x * y^-1 K.3 = y * x * y^-1 * x * y^-1 * x * y
> T := Rewrite(G, K); > print T;
Finitely presented group T on 3 generators Generators as words in group G T.1 = x T.2 = y * x * y^-1 * x * y * x^-1 * y^-1 T.3 = y * x^-1 * y^-1 * x * y * x * y^-1
Relations T.1^2 = Id(T) T.2^2 = Id(T) T.3^2 = Id(T) T.1 * T.2 * T.1^-1 * T.3 * T.2 * T.1^-1 * T.2^-1 * T.1 * T.3^-1 * T.2^-1 = Id(T) T.1 * T.2^-1 * T.3^-1 * T.2 * T.3 * T.1^-1 * T.2 * T.3 * T.2^-1 * T.3^-1 = Id(T) (T.1 * T.2^-1 * T.3^-1 * T.2^-1 * T.3^-1)^2 = Id(T) (T.1 * T.2^-1 * T.3^-1)^4 = Id(T)
> print AbelianQuotientInvariants(T); [ 2, 2, 2 ]
> Q2 := pQuotient(T, 2, 30); > print FactoredOrder(Q2); 2^22