GAP 
Main BranchesDownloads Installation Overview Data Libraries Packages Documentation Contacts FAQ GAP 3 

SitemapNavigation Tree

Frequently Asked QuestionsGeneral Obtaining GAP Installation Hardware/OS Usage Complaints Computing with GAP Programming GAP 7. Computing with GAP7.2: How do I represent my group in GAP?If you can write down permutations or matrix generators, you can use them directly. (Note, however, that GAP will internally compute a faithful permutation representation to work with matrix groups anyhow. However, see below for an example that you should be aware of this, because it can be dangerous.) A group given by a finite presentation can be input as a quotient of a free group. If larger calculations are to be done, it is worthwhile (if it is possible) to either convert it to a PC group (using for example SolvableQuotient  Note that even if the presentation is polycyclic, GAP will not use methods for polycyclic groups, unless the group is also represented as a PC group) or to a permutation group. For groups given by structural information, the construction can be much harder. There are a few general product constructions (direct and semidirect product for example). The Issac 2000 tutorial gives some examples of constructing groups. Here then is the example to which the first paragraph referred: A user had sent the following program run, asking for help: gap> g := GL(3,27); GL(3,27) gap> h := SylowSubgroup(g,2); <group of 3x3 matrices in characteristic 3> gap> Size(h); 32 gap> n := Normalizer(g,h); <group of 3x3 matrices in characteristic 3> gap> Size(n); 5408 gap> l := List(Irr(n), i> i[1]);; exceeded the permitted memory ... brk> quit; Frank Lübeck explained what happened: First you can get the number characters of given degree much easier, using that the group n is solvable, its order being divisible by only two primes. gap> IsSolvable(n); true gap> CharacterDegrees(n); [ [ 1, 1352 ], [ 2, 1014 ] ] gap> h1 := IsomorphismPermGroup(n); <action isomorphism> gap> NrMovedPoints(Image(h1)); 19682 So the user was asking to compute the 2366 irreducible characters of a permutation group of order 5408 of degree 19682 and this would have had to be done by the Dixon/Schneider method using the 2366 conjugacy classes of that group! In such a case one can either try to find a much smaller permutation representation of that group or work with a pc group presentation: gap> h2 := SmallerDegreePermutationRepresentation(Image(h1));; gap> NrMovedPoints(Image(h2)); 130 gap> Size(Image(h2)); 5408 gap> hpc := IsomorphismPcGroup(n);; gap> Image(hpc); Group([ f6, f4*f5*f6, f4, f7, f3, f2^7*f3*f7, f1^7*f4*f5*f6 ]) gap> Size(last); 5408 Results of computations in these image groups can then be translated back into the group n, using the function PreImage. 

The GAP Group Last updated: Thu Jun 14 14:56:33 2012 