> < ^ Date: Sat, 17 Jun 2000 04:58:29 +0200 (CEST)
< ^ From: Davide L. Ferrario <ferrario@matapp.unimib.it >
> ^ Subject: Reidemeister

Dear Gap-Forum,

I would be very glad if I could get help on these topics:

I am trying to write a program to compute the Reidemeister number R(f) of
a group endomorphism f:G --> G (that is, the number of the orbits in G
under the G-action given by

```g . x = g x f(g^(-1))
```

for all g,x in G), where G is not necessarily finite (but it is finitiely
presented). The problem is equivalent to the enumeration of some double
cosets in GxG. The number R(f) can be infinite, if G is infinite (and this
is often the case, because G is usually the fundamental group of a
manifold).

1. Is there a way to use the function DoubleCosets in a smart way (that
is, check first that R(f) is finite)? I argue that a good starting point
should be to consider polycyclic groups: How can I get more details on the
(undocumented) function DoubleCosetsPcGroup? In any case, I found out that
DirectProduct() does not seem to work for PcGroups (or maybe I am doing
something wrong).

2. When using Bettina Eick's and Werner Nickel's Polycyclic share package
(I have an algorithm that is supposed to work for polycyclic groups) I
couldn't figure out how to use the function PreImagesRepresentative(hom,g)
that is documented in the manual. Here is an example of what happens:

```==============================================================================
gap> RequirePackage("polycyclic");
true
gap> ftl:= FromTheLeftCollector(2);
<<from the left collector with 2 generators>>
gap> SetRelativeOrder(ftl, 1 ,2);
gap> SetConjugate(ftl,2,1,[2,-1]);
gap> UpdatePolycyclicCollector(ftl);
gap> IsConfluent(ftl);
true
gap> G:=PcpGroupByCollector(ftl);
Pcp-group with orders [ 2, 0 ]
gap> gens:=GeneratorsOfGroup(G);
[ g1, g2 ]
gap> H:=RefinedDerivedSeries(G)[2];
Pcp-group with orders [ 0 ]
gap> Gbar:=G/H;
Pcp-group with orders [ 2, 2 ]
gap> p:=NaturalHomomorphism(G,H);
[ g1, g2 ] -> [ g1, g2 ]
gap> gensbar:=GeneratorsOfGroup(Gbar);
[ g1, g2 ]
gap> gg1:=PreImagesRepresentative(p,gensbar[1]);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error no 1st choice method found for `PreImagesRepresentative' on 2 arguments \
at
Error( no_method_found );
<function>( <arguments> ) called from read-eval-loop
Entering break read-eval-print loop, you can 'quit;' to quit to outer loop,
brk>
============================================================================
```

Am I doing something wrong?

3. Assume H is a fully invariant subgroup of G. What is the best way to
define the restricted endomorphism f_H:H --> H and the endomorphism
induced on the quotient F:G/H --> G/H ?

4. In general, do you have hints on how to deal with actions of infinite
groups on infinite sets or groups? In case G is free, do you know how to
compute in a finite number of steps if two elements are in the same
Reidemeister orbit or not?

Thank you very much for the help,

Davide L. Ferrario

```+----------------------------------+
|   Davide Luigi Ferrario          |
|   Dipartimento di Matematica     |
|   del Politecnico di Milano      |
|   Piazza Leonardo da Vinci, 32   |
|   20133 Milano                   |
|   Italy                          |
|   ferrario@matapp.unimib.it      |
|   ferrario@mate.polimi.it        |
|   fax: ++39 02 2399 4568         |
+----------------------------------+
```