> < ^ Date: Mon, 12 Apr 1993 12:17:46 +0200
> < ^ From: Jacob Hirbawi <hirbawi@commquest.com >
^ Subject: RE: maps of fin pres groups into symmetric groups

<gap-forum@samson.math.rwth-aachen.de>

Stephan Rosebrock <rosebro@math.uni-frankfurt.de> writes:

I don't have much experience in GAP, but I would be intersted in a
function that tests, if there is a homomorphism of a group, given as a
finite presentation, into a given symmetric or alternating group.

I don't have much experience myself but I would like to offer a few
suggestions since the problem of calculating Hom(G,H) for arbitrary
groups G,H is a fundementally important one. First since there is
always a trivial hom from any group to another; I will assume that the
search is for a nontrivial one or perhaps for a monic one; since Stephan
used "into a given ..." instead of "to a given ..." I will assume that
the latter case is the one of interest.

At any rate in the case of the symmetric group there is a systematic way to
find all hom's and a way to extract the monic ones. GAP does have functions
that reduce this problem to a simple combinatorial one : first calculate the
marks of your group using TableOfMarks; then to find all hom's from your group
to the symmetric of degree n you find all possible ways you can add the rows
of the table of marks so the first entry equals n; of this list in the monic
ones n only occurs as the first entry. This is in complete ananlogy of finding
all possible representations (faithful or not) of a given group into GL(n,C)
-- simply replace "table of marks" for "character table" and "degree" for
"dimension". In fact a generic program that takes in a matrix and finds all
possible combination of its rows have n as the first entry and then checks if
n does not occur as another entry will work for both. It would be nice if
someone can write such a program in GAP; in the meantime for low degrees
(or dimenions) calculations by HAND( v3.2 or above ;-) ) are not too difficult:

Here's an example with a group defined by the presentation :

```a := AbstractGenerator("a");
b := AbstractGenerator("b");
c := AbstractGenerator("c");
z := AbstractGenerator("z");
AbsGroup1 := Group(a,b,c,z);
AbsGroup1.relators := [a^2*z^-1,b^3*z^-1,c^3*z^-1,a*b*c*z^-1,z^2];
```

The table of marks and character tables are then :

Group1 := OperationCosetsFpGroup(g1,Subgroup(AbsGroup1,[IdWord]));
Marks1 := MatTom( TableOfMarks( Group1 ) );
Charachters1 := CharTable( Group1 ).irreducibles;

```Marks1;
[ [ 24,  0, 0, 0, 0, 0, 0 ],
[ 12, 12, 0, 0, 0, 0, 0 ],
[  8,  0, 2, 0, 0, 0, 0 ],
[  6,  6, 0, 2, 0, 0, 0 ],
[  4,  4, 1, 0, 1, 0, 0 ],
[  3,  3, 0, 3, 0, 3, 0 ],
[  1,  1, 1, 1, 1, 1, 1 ] ]
```

All hom's from the group to Symmetric(8) for example correspond to

```[  8,  0, 2, 0, 0, 0, 0 ],         M
[  8,  8, 2, 4, 2, 2, 2 ],         M + 2 M
[  8,  8, 2, 0, 2, 0, 0 ],         2 M
[  8,  8, 2, 4, 2, 4, 1 ],         M + M + M
[  8,  8, 5, 4, 5, 4, 4 ],         M + 4 M
[  8,  8, 2, 8, 2, 6, 8 ],         2 M + 2 M
[  8,  8, 5, 8, 5, 8, 5 ],         M + 5 M
[  8,  8, 8, 8, 8, 8, 8 ],         8 M
```

so there are 8 inequivalent hom's; only the first is monic.

```Chracters1;
[ [ 1, 1, 1, 1, 1, 1, 1 ],
[ 1, 1, E(3)^2, E(3), 1, E(3)^2, E(3) ],
[ 1, 1, E(3), E(3)^2, 1, E(3), E(3)^2 ],
[ 2, 0, 1, 1, -2, -1, -1 ],
[ 2, 0, E(3), E(3)^2, -2, -E(3), -E(3)^2 ],
[ 2, 0, E(3)^2, E(3), -2, -E(3)^2, -E(3) ],
[ 3, -1, 0, 0, 3, 0, 0 ] ]
```

(I was going to do a similar calculations with the character table of the
group for comparison but there are too many possibilities even for GL(3,C)
-- oh well, I should have picked a simpler group!)

Hope this helps.

Jacob Hirbawi
JcbHrb@CERF.net

> < [top]