Any sequence of Tietze transformations applied to a presentation, starting
from some presentation P1 and ending up with some presentation P2,
defines an isomorphism, j say, between the groups defined by P1
and P2, respectively. Sometimes it is desirable to know the images of the
(old) generators of P1 or the preimages of the (new) generators of P2
under j. The GAP Tietze transformation functions are able to trace
these images. This is not automatically done because the involved words may
grow to tremendous length, but it will be done if you explicitly request
for it by calling the function TzInitGeneratorImages.
TzInitGeneratorImages( P ) F
expects P to be a presentation. It defines the current generators to
be the ``old generators'' of P and initializes the (pre)image tracing.
See TzImagesOldGens and TzPreImagesNewGens for details.
You can reinitialize the tracing of the generator images at any later
state by just calling the function TzInitGeneratorImages again.
Note: A subsequent call of the function DecodeTree will imply that the
images and preimages are deleted and reinitialized after decoding the
tree.
Moreover, if you introduce a new generator by calling the function
AddGenerator described in section Changing Presentations, this
new generator cannot be traced in the old generators. Therefore
AddGenerator will terminate the tracing of the generator images and
preimages and delete the respective lists whenever it is called.
OldGeneratorsOfPresentation( P ) F
assumes that P is a presentation for which the generator images and preimages are being traced under Tietze transformations. It returns the list of old generators of P.
TzImagesOldGens( P ) F
assumes that P is a presentation for which the generator images
and preimages are being traced under Tietze transformations. It
returns a list l of words in the (current) generators
GeneratorsOfPresentation(P) of P such that the i-th word
l[i] represents the i-th old generator
OldGeneratorsOfPresentation(P)[i] of P.
TzPreImagesNewGens( P ) F
assumes that P is a presentation for which the generator images
and preimages are being traced under Tietze transformations. It
returns a list l of words in the old generators
OldGeneratorsOfPresentation(P) of P such that the i-th word
l[i] represents the i-th (current) generator
GeneratorsOfPresentation(P)[i] of P.
TzPrintGeneratorImages( P ) F
assumes that P is a presentation for which the generator images and preimages are being traced under Tietze transformations. It displays the preimages of the current generators as Tietze words in the old generators, and the images of the old generators as Tietze words in the current generators.
gap> G := PerfectGroup( IsSubgroupFpGroup, 960, 1 ); A5 2^4 gap> P := PresentationFpGroup( G ); <presentation with 6 gens and 21 rels of total length 84> gap> TzInitGeneratorImages( P ); gap> TzGo( P ); #I there are 3 generators and 11 relators of total length 96 #I there are 3 generators and 10 relators of total length 81 gap> TzPrintGeneratorImages( P ); #I preimages of current generators as Tietze words in the old ones: #I 1. [ 1 ] #I 2. [ 2 ] #I 3. [ 4 ] #I images of old generators as Tietze words in the current ones: #I 1. [ 1 ] #I 2. [ 2 ] #I 3. [ 1, -2, 1, 3, 1, 2, 1 ] #I 4. [ 3 ] #I 5. [ -2, 1, 3, 1, 2 ] #I 6. [ 1, 3, 1 ] gap> gens := GeneratorsOfPresentation( P ); [ a, b, t ] gap> oldgens := OldGeneratorsOfPresentation( P ); [ a, b, s, t, u, v ] gap> TzImagesOldGens( P ); [ a, b, a*b^-1*a*t*a*b*a, t, b^-1*a*t*a*b, a*t*a ] gap> for i in [ 1 .. Length( oldgens ) ] do > Print( oldgens[i], " = ", TzImagesOldGens( P )[i], "\n" ); > od; a = a b = b s = a*b^-1*a*t*a*b*a t = t u = b^-1*a*t*a*b v = a*t*a
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual