> < ^ From:

^ Subject:

<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[3] [ 8, 8, 2, 4, 2, 2, 2 ], M[4] + 2 M[7] [ 8, 8, 2, 0, 2, 0, 0 ], 2 M[5] [ 8, 8, 2, 4, 2, 4, 1 ], M[5] + M[6] + M[7] [ 8, 8, 5, 4, 5, 4, 4 ], M[5] + 4 M[7] [ 8, 8, 2, 8, 2, 6, 8 ], 2 M[6] + 2 M[7] [ 8, 8, 5, 8, 5, 8, 5 ], M[6] + 5 M[7] [ 8, 8, 8, 8, 8, 8, 8 ], 8 M[7]

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]