4
$\begingroup$

Suppose I have a group $G$ with a finite presentation, and I know that $G$ is polycyclic. So I input the group into GAP via generators and relators. Now I want to find a presentation of an infinite index subgroup; I can do this by hand (usually), by doing a Reidemeister-Schreier rewriting, and then simplifying the presentation as best I can. GAP will, in general, not attempt to find presentations of infinite index subgroups. But if I tell GAP the group is polycyclic, are there various algorithms out there such that GAP can in fact give me a finite presentation for this infinite index subgroup?

If that is too much, can GAP do it for certain "nice" subgroups (the commutator, etc.)?

  • 1
    If you can convert the presentation to a polycyclic presentation, there are lots of fairly efficient algorithms (efficient as linear algebra over Z). The polycyclic package has lots of information. If the group is actually nilpotent, then there are better algorithms and they can handle a wider variety of inputs. If you mention a more specific group, I can mention more specific techniques, but in general you just want to use the data type of PcpGroup rather than FpGroup.2011-01-20
  • 0
    Hi Jack - Can we start with something easy, say the Klein bottle group ? Supposing all I know is the presentation and that the group is polycyclic, how can I get GAP to give presentations of, for example, the commutator subgroup?2011-01-20
  • 1
    Just FWIW: I asked but have yet to hear back on how to automatically convert such a group to a polycyclic presentation. If you can find a polycyclic generating sequence, then you can ask gap for the relative orders and power and conjugate words, and set up the group as a PcpGroup. Once it is a PcpGroup, your question is easy: **DisplayPcpGroup( DerivedSubgroup( G ) );** will display a polycyclic presentation with trivial relations omitted, and **Display(ImagesSource(IsomorphismFpGroup(DerivedSubgroup(G))));** will display all the relations.2011-01-20
  • 0
    IsomorphismPcpGroup is probably not suitable for you, as it assumes that you are giving it a polycyclic presentation, with omitted polycyclic relations being trivial. In particular, it will abelianize your Klein bottle group.2011-01-20
  • 0
    OK, thanks Jack. So I still need to do a little work in converting to a polycylic presentation. Does DisplayPcpGroup return a presentation? I would like to be able to run Tietze transformations on it.2011-01-21
  • 0
    The presentation would be accessed as **PresentationFpGroup(ImagesSource(IsomorphismFpGroup(DerivedSubgroup(G))));**2011-01-21
  • 0
    You may want to write to Bettina Eick and Max Horn at TU Braunschweig about polycyclic quotient algorithms. These take a finitely presented group and an integer n, and writes down a polycyclic presentation for G mod the n'th term of the derived series of G, assuming that quotient is polycyclic. The timing is quite variable, but for the Klein bottle group her 2001 code is instantaneous. Max Horn is currently working on a more advanced version for a type of recursively presented groups. As far as I understand, there is no public version of the code.2011-01-24
  • 0
    @Jack Schmidt: Can you be more explicit about what source code from Bettina Eick's page you were using? All I could find in GAP is the the function CallPCQA, which returns a record containing the polycyclic presentation of the quotient, but I have to retype the presentation into GAP.2011-03-13
  • 0
    @Steve: Bettina Eick has not released the source code. CallPCQA is probably Eddie Lo's old (1990-1995ish) pcqa. Like all pcqa known to me it has some problems, but more recent pcqa are usually better. Bettina indicated Max Horn would be happy to test his new code on any presentations you wanted to send him.2011-03-14

1 Answers 1

3

To do what you want, you need a tool that takes a finitely presented group, and, given the information that this group is polycyclic, determines a polycyclic presentation for this group. In general, this is a computationally very difficult problem, although in certain special cases it may be much simpler.

The best approach that I know to this problem in general is to apply a polycyclic quotient algorithm, such as the one described in the paper "A Polycyclic Quotient Algorithm" by Eddie Lo (J. Symbolic Computation (1998) 25, 61–97). He implemented this in C and GAP3, which makes it a tad difficult to use on modern day computers.

The idea then is to take your finite presentation, and compute a maximal PC quotient of it. Since you know your group is polycyclic, this will definitely terminate, but it might take a looong time and a lot of memory (and loong could easily mean more than your life time if things are bad... :/).

But once you have a pc presentation, you can usually work quite effectively with it, with the help of the polycyclic package, as Jack Schmidt already pointed out.

Anyway, if you still want to try to find a pc presentation for a specific group, I implemented a pc quotient algorithm in GAP 4 last year, which can perhaps solve your problem. It's not yet been published, though I hope to get this finally done sometime soon. In the meantime, feel free to get in touch with my privately and perhaps I can help you in concrete cases.