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.11: How do I use GAP to "identify" a given group?One of the most frequent requests that comes up is for to "identify" a given group. While some functionality for this exists, the problem is basically what "identify" means, or what a user expects from identification:
gap> g:=Group((1,2,3),(2,3,4));; gap> StructureDescription(g); "A4" Group Librariescontains extensive libraries of "small" groups and many of these libraries allow identificatuion of a group therein. The associated library group then often comes with a name that might be appropriate.Small GroupsThe small groups library contains  amongst others  all groups of order up to 1000, except 512. For such a group IdGroup returns a list such that the group is isomorphic to SmallGroup().gap> g:=Group((1,2,3),(2,3,4));; gap> IdGroup(g); [ 12, 3 ] gap> SmallGroup(12,3); <pc group of size 12 with 3 generators> Transitive GroupsThe transitive groups library contains transitive subgroups of S_{n} of degree at most 31 up to S_{n} conjugacy. For such a group of degree n, TransitiveIdentification returns a number , such that the group is conjugate in S_{n} to TransitiveGroup().gap> g:=Group((1,2,3),(2,3,4));; gap> TransitiveIdentification(g); 4 gap> TransitiveGroup(NrMovedPoints(g),4); A4 Primitive GroupsThe primitive groups library contains primitive subgroups of S_{n} (i.e. the group is transitive and affords no nontrivial Ginvariant partition of the points) of degree at most 1000 up to S_{n} conjugacy. For such a group of degree n, PrimitiveIdentification returns a number , such that the group is conjugate in S_{n} to PrimitiveGroup().gap> g:=Group((1,2,3),(2,3,4));; gap> IsPrimitive(g,[1..4]); true gap> PrimitiveIdentification(g); 1 gap> PrimitiveGroup(NrMovedPoints(g),1); A(4) Simple groups and Composition SeriesThe one class of groups for which it is unambiguous, and comparatively easy to assign names to is finite simple groups (assuming the classification of finite simple groups). A consequence of the classification is that the order of a simple group determines its isomorphism type, with the exception of two infinite series (which can be distinguished easily otherwise). In GAP, this is achieved by the command IsomorphismTypeInfoFiniteSimpleGroup: For a finite simple group, it returns a record, containing information about the groups structure, as well as some name.gap> g:=SL(3,5); SL(3,5) gap> IsomorphismTypeInfoFiniteSimpleGroup(g/Centre(g)); rec( name := "A(2,5) = L(3,5) ", series := "L", parameter := [ 3, 5 ] )Clearly, this can be applied to the composition series of a finite group, identifying the isomorphism types of all composition factors. (Of course, this information does not identify the isomorphism type of the group, and  in particular for solvable groups  can be rather uninformative.) The command DisplayCompositionSeries will print information about the composition factors of a finite group. gap> DisplayCompositionSeries(SymmetricGroup(4)); G (4 gens, size 24)  Z(2) S (3 gens, size 12)  Z(3) S (2 gens, size 4)  Z(2) S (1 gens, size 2)  Z(2) 1 (0 gens, size 1) gap> DisplayCompositionSeries(SymmetricGroup(5)); G (2 gens, size 120)  Z(2) S (3 gens, size 60)  A(5) ~ A(1,4) = L(2,4) ~ B(1,4) = O(3,4) ~ C(1,4) = S(2,4) ~ 2A(1,4) = U(2,4) ~ A(1,5) = L(2,5) ~ B(1,5) = O(3,5) ~ C(1,5) = S(2,5) ~ 2A(1,5) = U(2,5) 1 (0 gens, size 1) gap> DisplayCompositionSeries(GU(6,2)); G (size 82771476480)  Z(3) S (4 gens, size 27590492160)  2A(5,2) = U(6,2) S (1 gens, size 3)  Z(3) 1 (size 1) 

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