  
  [1X50 [33X[0;0YGroup Libraries[133X[101X
  
  [33X[0;0YWhen you start [5XGAP[105X, it already knows several groups. Currently [5XGAP[105X initially
  knows the following groups:[133X
  
  [30X    [33X[0;6Ysome   basic  groups,  such  as  cyclic  groups  or  symmetric  groups
        (see [14X50.1[114X),[133X
  
  [30X    [33X[0;6YClassical matrix groups (see [14X50.2[114X),[133X
  
  [30X    [33X[0;6Ythe  transitive  permutation  groups of degree at most 30, provided by
        the [5XTransGrp[105X package (see [14X'transgrp: Transitive Permutation Groups'[114X),[133X
  
  [30X    [33X[0;6Ya  library  of  groups of small order (see [14X'smallgrp: The Small Groups
        Library'[114X),[133X
  
  [30X    [33X[0;6Ythe  finite  perfect  groups of size at most [22X10^6[122X (excluding 11 sizes)
        (see [14X50.6[114X).[133X
  
  [30X    [33X[0;6Ythe  primitive  permutation  groups  of degree [22X< 4096[122X, provided by the
        [5XPrimGrp[105X package (see [14X'primgrp: Primitive Permutation Groups'[114X),[133X
  
  [30X    [33X[0;6Ythe  irreducible  solvable subgroups of [22XGL(n,p)[122X for [22Xn>1[122X and [22Xp^n < 256[122X,
        provided  by  the  [5XPrimGrp[105X package (see [14X'primgrp: Irreducible Solvable
        Matrix Groups'[114X),[133X
  
  [30X    [33X[0;6Ythe  irreducible maximal finite integral matrix groups of dimension at
        most 31 (see [14X50.7[114X),[133X
  
  [30X    [33X[0;6Ythe crystallographic groups of dimension at most 4[133X
  
  [33X[0;0YThere  is  usually no relation between the groups in the different libraries
  and a group may occur in different libraries in different incarnations.[133X
  
  [33X[0;0YNote  that  a system administrator may choose to install all, or only a few,
  or  even none of the libraries. So some of the libraries mentioned below may
  not be available on your installation.[133X
  
  [33X[0;0Y[5XGAP[105X  might  use  data libraries that are available to speed up calculations,
  for  example  in  using  a  classification  to determine that groups must be
  isomorphic,  based  on  agreement  of  properties;  or  to determine maximal
  subgroups  or subgroup maximality. This will be indicated by an info message
  of  level  2  in the info class [10XInfoPerformance[110X. If the calculation is to be
  independent  of  such  data library use, for example if it is used to verify
  the data library, functions can be called with the option [10XNoPrecomputedData[110X,
  to  turn  these  features  off.  Doing  so  might cause significantly longer
  calculations, or even failure of certain calculations.[133X
  
  
  [1X50.1 [33X[0;0YBasic Groups[133X[101X
  
  [33X[0;0YThere  are  several  infinite  families  of groups which are parametrized by
  numbers.  [5XGAP[105X  provides  various  functions  to  construct these groups. The
  functions  always  permit  (but  do  not  require)  one to indicate a filter
  (see [14X13.2[114X),  for  example  [2XIsPermGroup[102X  ([14X43.1-1[114X),  [2XIsMatrixGroup[102X ([14X44.1-1[114X) or
  [2XIsPcGroup[102X ([14X46.3-1[114X), in which the group shall be constructed. There always is
  a  default  filter  corresponding  to a [21Xnatural[121X way to describe the group in
  question.  Note  that  not  every  group can be constructed in every filter,
  there  may  be  theoretical  restrictions ([2XIsPcGroup[102X ([14X46.3-1[114X) only works for
  solvable groups) or methods may be available only for a few filters.[133X
  
  [33X[0;0YCertain  filters may admit additional hints. For example, groups constructed
  in  [2XIsMatrixGroup[102X  ([14X44.1-1[114X) may be constructed over a specified field, which
  can  be  given as second argument of the function that constructs the group;
  The default field is [2XRationals[102X ([14X17.1-1[114X).[133X
  
  [1X50.1-1 TrivialGroup[101X
  
  [33X[1;0Y[29X[2XTrivialGroup[102X( [[3Xfilter[103X] ) [32X function[133X
  
  [33X[0;0Yconstructs  a  trivial  group in the category given by the filter [3Xfilter[103X. If
  [3Xfilter[103X  is not given it defaults to [2XIsPcGroup[102X ([14X46.3-1[114X). For more information
  on possible values of [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XTrivialGroup();[127X[104X
    [4X[28X<pc group of size 1 with 0 generators>[128X[104X
    [4X[25Xgap>[125X [27XTrivialGroup( IsPermGroup );[127X[104X
    [4X[28XGroup(())[128X[104X
  [4X[32X[104X
  
  [1X50.1-2 CyclicGroup[101X
  
  [33X[1;0Y[29X[2XCyclicGroup[102X( [[3Xfilt[103X, ][3Xn[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the  cyclic  group of size [3Xn[103X in the category given by the filter
  [3Xfilt[103X.  If  [3Xfilt[103X  is  not  given  it defaults to [2XIsPcGroup[102X ([14X46.3-1[114X), unless [3Xn[103X
  equals  [2Xinfinity[102X  ([14X18.2-1[114X),  in which case the default filter is switched to
  [2XIsFpGroup[102X  ([14X47.1-2[114X).  For  more  information  on possible values of [3Xfilt[103X see
  section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XCyclicGroup(12);[127X[104X
    [4X[28X<pc group of size 12 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XCyclicGroup(infinity);[127X[104X
    [4X[28X<free group on the generators [ a ]>[128X[104X
    [4X[25Xgap>[125X [27XCyclicGroup(IsPermGroup,12);[127X[104X
    [4X[28XGroup([ (1,2,3,4,5,6,7,8,9,10,11,12) ])[128X[104X
    [4X[25Xgap>[125X [27Xmatgrp1:= CyclicGroup( IsMatrixGroup, 12 );[127X[104X
    [4X[28X<matrix group of size 12 with 1 generators>[128X[104X
    [4X[25Xgap>[125X [27XFieldOfMatrixGroup( matgrp1 );[127X[104X
    [4X[28XRationals[128X[104X
    [4X[25Xgap>[125X [27Xmatgrp2:= CyclicGroup( IsMatrixGroup, GF(2), 12 );[127X[104X
    [4X[28X<matrix group of size 12 with 1 generators>[128X[104X
    [4X[25Xgap>[125X [27XFieldOfMatrixGroup( matgrp2 );[127X[104X
    [4X[28XGF(2)[128X[104X
  [4X[32X[104X
  
  [1X50.1-3 AbelianGroup[101X
  
  [33X[1;0Y[29X[2XAbelianGroup[102X( [[3Xfilt[103X, ][3Xints[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  an  abelian group in the category given by the filter [3Xfilt[103X which
  is  of isomorphism type [22XC_{[3Xints[103X[1]} × C_{[3Xints[103X[2]} × ... × C_{[3Xints[103X[n]}[122X, where
  [3Xints[103X  must  be a list of non-negative integers or [2Xinfinity[102X ([14X18.2-1[114X); for the
  latter  value  or  0,  [22XC_{[3Xints[103X[i]}[122X  is  taken  as  an infinite cyclic group,
  otherwise  as  a  cyclic  group  of  order  [3Xints[103X[i]. If [3Xfilt[103X is not given it
  defaults  to  [2XIsPcGroup[102X  ([14X46.3-1[114X),  unless any 0 or [10Xinfinity[110X is contained in
  [3Xints[103X,  in  which  the  default filter is switched to [2XIsFpGroup[102X ([14X47.1-2[114X). The
  generators  of  the  group  returned  are  the elements corresponding to the
  factors  [22XC_{[3Xints[103X[i]}[122X and hence the integers in [3Xints[103X. For more information on
  possible values of [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAbelianGroup([1,2,3]);[127X[104X
    [4X[28X<pc group of size 6 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XG:=AbelianGroup([0,3]);[127X[104X
    [4X[28X<fp group of size infinity on the generators [ f1, f2 ]>[128X[104X
    [4X[25Xgap>[125X [27XAbelianInvariants(G);[127X[104X
    [4X[28X[ 0, 3 ][128X[104X
  [4X[32X[104X
  
  [1X50.1-4 ElementaryAbelianGroup[101X
  
  [33X[1;0Y[29X[2XElementaryAbelianGroup[102X( [[3Xfilt[103X, ][3Xn[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the  elementary abelian group of size [3Xn[103X in the category given by
  the filter [3Xfilt[103X. If [3Xfilt[103X is not given it defaults to [2XIsPcGroup[102X ([14X46.3-1[114X). For
  more information on possible values of [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XElementaryAbelianGroup(8192);[127X[104X
    [4X[28X<pc group of size 8192 with 13 generators>[128X[104X
  [4X[32X[104X
  
  [1X50.1-5 FreeAbelianGroup[101X
  
  [33X[1;0Y[29X[2XFreeAbelianGroup[102X( [[3Xfilt[103X, ][3Xrank[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the  free  abelian  group of rank [3Xn[103X in the category given by the
  filter  [3Xfilt[103X.  If  [3Xfilt[103X  is not given it defaults to [2XIsFpGroup[102X ([14X47.1-2[114X). For
  more information on possible values of [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XFreeAbelianGroup(4);[127X[104X
    [4X[28X<fp group of size infinity on the generators [ f1, f2, f3, f4 ]>[128X[104X
  [4X[32X[104X
  
  [1X50.1-6 DihedralGroup[101X
  
  [33X[1;0Y[29X[2XDihedralGroup[102X( [[3Xfilt[103X, ][3Xn[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the dihedral group of size [3Xn[103X in the category given by the filter
  [3Xfilt[103X.  If  [3Xfilt[103X  is  not  given  it defaults to [2XIsPcGroup[102X ([14X46.3-1[114X), unless [3Xn[103X
  equals  [2Xinfinity[102X  ([14X18.2-1[114X),  in which case the default filter is switched to
  [2XIsFpGroup[102X  ([14X47.1-2[114X).  For  more  information  on possible values of [3Xfilt[103X see
  section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDihedralGroup(8);[127X[104X
    [4X[28X<pc group of size 8 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XDihedralGroup( IsPermGroup, 8 );[127X[104X
    [4X[28XGroup([ (1,2,3,4), (2,4) ])[128X[104X
    [4X[25Xgap>[125X [27XDihedralGroup(infinity);[127X[104X
    [4X[28X<fp group of size infinity on the generators [ r, s ]>[128X[104X
  [4X[32X[104X
  
  [1X50.1-7 IsDihedralGroup[101X
  
  [33X[1;0Y[29X[2XIsDihedralGroup[102X( [3XG[103X ) [32X property[133X
  [33X[1;0Y[29X[2XDihedralGenerators[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0Y[2XIsDihedralGroup[102X indicates whether the group [3XG[103X is a dihedral group. If it is,
  methods may set the attribute [2XDihedralGenerators[102X to [[3Xt[103X,[3Xs[103X], where [3Xt[103X and [3Xs[103X are
  two elements such that [3XG[103X = [22X⟨ t, s | t^2 = s^n = 1, s^t = s^-1 ⟩[122X.[133X
  
  [1X50.1-8 DicyclicGroup[101X
  
  [33X[1;0Y[29X[2XDicyclicGroup[102X( [[3Xfilt[103X[, [3Xfield[103X, ]][3Xn[103X ) [32X function[133X
  [33X[1;0Y[29X[2XQuaternionGroup[102X( [[3Xfilt[103X[, [3Xfield[103X, ]][3Xn[103X ) [32X function[133X
  
  [33X[0;0Y[2XDicyclicGroup[102X  constructs the dicyclic group of size [3Xn[103X in the category given
  by  the  filter  [3Xfilt[103X.  Here,  [3Xn[103X  must  be  a  multiple  of  4.  The synonym
  [2XQuaternionGroup[102X  for  [2XDicyclicGroup[102X  is provided for backward compatibility,
  but  will  print a warning if [3Xn[103X is not a power of [22X2[122X. If [3Xfilt[103X is not given it
  defaults  to  [2XIsPcGroup[102X ([14X46.3-1[114X). For more information on possible values of
  [3Xfilt[103X  see  section  ([14X50.1[114X).  Methods  are also available for permutation and
  matrix   groups   (of  minimal  degree  and  minimal  dimension  in  coprime
  characteristic).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDicyclicGroup(24);[127X[104X
    [4X[28X<pc group of size 24 with 4 generators>[128X[104X
    [4X[25Xgap>[125X [27Xg:=QuaternionGroup(IsMatrixGroup,CF(16),32);[127X[104X
    [4X[28XGroup([ [ [ 0, 1 ], [ -1, 0 ] ], [ [ E(16), 0 ], [ 0, -E(16)^7 ] ] ])[128X[104X
  [4X[32X[104X
  
  [1X50.1-9 IsGeneralisedQuaternionGroup[101X
  
  [33X[1;0Y[29X[2XIsGeneralisedQuaternionGroup[102X( [3XG[103X ) [32X property[133X
  [33X[1;0Y[29X[2XIsQuaternionGroup[102X( [3XG[103X ) [32X property[133X
  [33X[1;0Y[29X[2XGeneralisedQuaternionGenerators[102X( [3XG[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XQuaternionGenerators[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0Y[2XIsGeneralisedQuaternionGroup[102X  indicates whether the group [3XG[103X is a generalized
  quaternion  group of size [22XN = 2^(k+1)[122X, [22Xk >= 2[122X. If it is, methods may set the
  attribute  [2XGeneralisedQuaternionGenerators[102X  to  [[3Xt[103X,[3Xs[103X], where [3Xt[103X and [3Xs[103X are two
  elements  such that [3XG[103X = [22X⟨ t, s | s^(2^k) = 1, t^2 = s^(2^k-1), s^t = s^-1 ⟩[122X.
  [2XIsQuaternionGroup[102X   and  [2XQuaternionGenerators[102X  are  provided  for  backwards
  compatibility with existing code.[133X
  
  [1X50.1-10 ExtraspecialGroup[101X
  
  [33X[1;0Y[29X[2XExtraspecialGroup[102X( [[3Xfilt[103X, ][3Xorder[103X, [3Xexp[103X ) [32X function[133X
  
  [33X[0;0YLet  [3Xorder[103X  be  of  the  form [22Xp^{2n+1}[122X, for a prime integer [22Xp[122X and a positive
  integer  [22Xn[122X.  [2XExtraspecialGroup[102X returns the extraspecial group of order [3Xorder[103X
  that is determined by [3Xexp[103X, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [22Xp[122X  is  odd  then  admissible values of [3Xexp[103X are the exponent of the group
  (either  [22Xp[122X  or  [22Xp^2[122X) or one of [10X'+'[110X, [10X"+"[110X, [10X'-'[110X, [10X"-"[110X. For [22Xp = 2[122X, only the above
  plus or minus signs are admissible.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsPcGroup[102X ([14X46.3-1[114X). For more information
  on possible values of [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XExtraspecialGroup( 27, 3 );[127X[104X
    [4X[28X<pc group of size 27 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XExtraspecialGroup( 27, '+' );[127X[104X
    [4X[28X<pc group of size 27 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XExtraspecialGroup( 8, "-" );[127X[104X
    [4X[28X<pc group of size 8 with 3 generators>[128X[104X
  [4X[32X[104X
  
  
  [1X50.1-11 [33X[0;0YAlternatingGroup[133X[101X
  
  [33X[1;0Y[29X[2XAlternatingGroup[102X( [[3Xfilt[103X, ][3Xdeg[103X ) [32X function[133X
  [33X[1;0Y[29X[2XAlternatingGroup[102X( [[3Xfilt[103X, ][3Xdom[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the alternating group of degree [3Xdeg[103X in the category given by the
  filter  [3Xfilt[103X.  If [3Xfilt[103X is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X). For
  more  information  on  possible  values  of  [3Xfilt[103X see section ([14X50.1[114X). In the
  second  version, the function constructs the alternating group on the points
  given in the set [3Xdom[103X which must be a set of positive integers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAlternatingGroup(5);[127X[104X
    [4X[28XAlt( [ 1 .. 5 ] )[128X[104X
  [4X[32X[104X
  
  
  [1X50.1-12 [33X[0;0YSymmetricGroup[133X[101X
  
  [33X[1;0Y[29X[2XSymmetricGroup[102X( [[3Xfilt[103X, ][3Xdeg[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSymmetricGroup[102X( [[3Xfilt[103X, ][3Xdom[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the  symmetric  group of degree [3Xdeg[103X in the category given by the
  filter  [3Xfilt[103X.  If [3Xfilt[103X is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X). For
  more  information  on  possible  values  of  [3Xfilt[103X see section ([14X50.1[114X). In the
  second  version,  the  function constructs the symmetric group on the points
  given in the set [3Xdom[103X which must be a set of positive integers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSymmetricGroup(10);[127X[104X
    [4X[28XSym( [ 1 .. 10 ] )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  permutation  groups  provide  special treatment of symmetric and
  alternating groups, see [14X43.4[114X.[133X
  
  [1X50.1-13 MathieuGroup[101X
  
  [33X[1;0Y[29X[2XMathieuGroup[102X( [[3Xfilt[103X, ][3Xdegree[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  the  Mathieu group of degree [3Xdegree[103X in the category given by the
  filter [3Xfilt[103X, where [3Xdegree[103X must be in the set [22X{ 9, 10, 11, 12, 21, 22, 23, 24
  }[122X.  If  [3Xfilt[103X  is  not  given  it  defaults to [2XIsPermGroup[102X ([14X43.1-1[114X). For more
  information on possible values of [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XMathieuGroup( 11 );[127X[104X
    [4X[28XGroup([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ])[128X[104X
  [4X[32X[104X
  
  [1X50.1-14 SuzukiGroup[101X
  
  [33X[1;0Y[29X[2XSuzukiGroup[102X( [[3Xfilt[103X, ][3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSz[102X( [[3Xfilt[103X, ][3Xq[103X ) [32X function[133X
  
  [33X[0;0YConstructs  a  group  isomorphic  to the Suzuki group Sz( [3Xq[103X ) over the field
  with [3Xq[103X elements, where [3Xq[103X is a non-square power of [22X2[122X.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group is the Suzuki group itself. For more information on possible values of
  [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSuzukiGroup( 32 );[127X[104X
    [4X[28XSz(32)[128X[104X
  [4X[32X[104X
  
  [1X50.1-15 ReeGroup[101X
  
  [33X[1;0Y[29X[2XReeGroup[102X( [[3Xfilt[103X, ][3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XRee[102X( [[3Xfilt[103X, ][3Xq[103X ) [32X function[133X
  
  [33X[0;0YConstructs  a  group isomorphic to the Ree group [22X^2G_2(q)[122X where [22Xq = 3^{1+2m}[122X
  for [22Xm[122X a non-negative integer.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is  not  given  it  defaults  to  [2XIsMatrixGroup[102X  ([14X44.1-1[114X)  and the
  generating  matrices  are  based  on [KLM01].  (No  particular  choice  of a
  generating  set  is  guaranteed.) For more information on possible values of
  [3Xfilt[103X see section ([14X50.1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XReeGroup( 27 );[127X[104X
    [4X[28XRee(27)[128X[104X
  [4X[32X[104X
  
  
  [1X50.2 [33X[0;0YClassical Groups[133X[101X
  
  [33X[0;0YThe following functions return classical groups.[133X
  
  [33X[0;0YFor  the  linear, symplectic, and unitary groups (the latter in dimension at
  least  [22X3[122X),  the generators are taken from [Tay87]. For the unitary groups in
  dimension  [22X2[122X,  the  isomorphism  of  SU[22X(2,q)[122X  and  SL[22X(2,q)[122X  is used, see for
  example [Hup67].[133X
  
  [33X[0;0YThe  generators  of  the  general  and  special  orthogonal groups are taken
  from [IE94]  and  [KL90],  except  that  the generators of the groups in odd
  dimension  in  even  characteristic are constructed via the isomorphism to a
  symplectic group, see for example [Car72].[133X
  
  [33X[0;0YThe generators of the groups [22XΩ^ϵ(d, q)[122X are taken from [RT98], except that in
  odd  dimension and even characteristic, the generators of SO[22X(d, q)[122X are taken
  for [22XΩ(d, q)[122X. Note that the generators claimed in [RT98, Section 4.5 and 4.6]
  do  not  describe  orthogonal  groups,  one  would  have  to transpose these
  matrices  in  order  to  get  groups  that  respect  the required forms. The
  matrices  from [RT98] generate groups of the right isomorphism types but not
  orthogonal  groups,  except  in  the  case [22X(d,q) = (5,2)[122X, where the matrices
  from [RT98] generate the simple group [22XS_4(2)'[122X and not the group [22XS_4(2)[122X.[133X
  
  [33X[0;0YThe generators for the semilinear groups are constructed from the generators
  of  the  corresponding  linear  groups  plus  one  additional generator that
  describes the action of the group of field automorphisms; for prime integers
  [22Xp[122X  and positive integers [22Xf[122X, this yields the matrix groups [22XGamma[122XL[22X(d, p^f)[122X and
  [22XSigma[122XL[22X(d,  p^f)[122X  as  groups  of  [22Xd  f  ×  df[122X  matrices over the field with [22Xp[122X
  elements.[133X
  
  [33X[0;0YFor  symplectic  and  orthogonal  matrix  groups  returned  by the functions
  described  below,  the invariant bilinear form is stored as the value of the
  attribute   [2XInvariantBilinearForm[102X   ([14X44.5-1[114X).   Analogously,  the  invariant
  sesquilinear  form defining the unitary groups is stored as the value of the
  attribute  [2XInvariantSesquilinearForm[102X  ([14X44.5-3[114X)). The defining quadratic form
  of   orthogonal   groups   is   stored   as   the  value  of  the  attribute
  [2XInvariantQuadraticForm[102X ([14X44.5-5[114X).[133X
  
  [33X[0;0YNote  that  due  to  the different sources for the generators, the invariant
  forms  for  the  groups [22XΩ(e,d,q)[122X are in general different from the forms for
  SO[22X(e,d,q)[122X and GO[22X(e,d,q)[122X.[133X
  
  
  [1X50.2-1 [33X[0;0YGeneralLinearGroup[133X[101X
  
  [33X[1;0Y[29X[2XGeneralLinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3XR[103X ) [32X function[133X
  [33X[1;0Y[29X[2XGL[102X( [[3Xfilt[103X, ][3Xd[103X, [3XR[103X ) [32X function[133X
  [33X[1;0Y[29X[2XGeneralLinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XGL[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0YThe first two forms construct a group isomorphic to the general linear group
  GL( [3Xd[103X, [3XR[103X ) of all [22X[3Xd[103X × [3Xd[103X[122X matrices that are invertible over the ring [3XR[103X, in the
  category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YThe  third  and  the fourth form construct the general linear group over the
  finite field with [3Xq[103X elements.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group  is  the  general linear group as a matrix group in its natural action
  (see also [2XIsNaturalGL[102X ([14X44.4-2[114X), [2XIsNaturalGLnZ[102X ([14X44.6-4[114X)).[133X
  
  [33X[0;0YCurrently  supported  rings [3XR[103X are finite fields, the ring [2XIntegers[102X ([14X14[114X), and
  residue class rings [10XIntegers mod [3Xm[103X[10X[110X, see [14X14.5[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGL(4,3);[127X[104X
    [4X[28XGL(4,3)[128X[104X
    [4X[25Xgap>[125X [27XGL(2,Integers);[127X[104X
    [4X[28XGL(2,Integers)[128X[104X
    [4X[25Xgap>[125X [27XGL(3,Integers mod 12);[127X[104X
    [4X[28XGL(3,Z/12Z)[128X[104X
  [4X[32X[104X
  
  [33X[0;0YUsing  the  [2XOnLines[102X  ([14X41.2-12[114X)  operation  it  is  possible  to  obtain  the
  corresponding projective groups in a permutation action:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:=GL(4,3);;Size(g);[127X[104X
    [4X[28X24261120[128X[104X
    [4X[25Xgap>[125X [27Xpgl:=Action(g,Orbit(g,Z(3)^0*[1,0,0,0],OnLines),OnLines);;[127X[104X
    [4X[25Xgap>[125X [27XSize(pgl);[127X[104X
    [4X[28X12130560[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf  you  are  interested only in the projective group as a permutation group
  and not in the correspondence between its moved points and the points in the
  projective space, you can also use [2XPGL[102X ([14X50.2-11[114X).[133X
  
  
  [1X50.2-2 [33X[0;0YSpecialLinearGroup[133X[101X
  
  [33X[1;0Y[29X[2XSpecialLinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3XR[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSL[102X( [[3Xfilt[103X, ][3Xd[103X, [3XR[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSpecialLinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSL[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0YThe first two forms construct a group isomorphic to the special linear group
  SL(  [3Xd[103X, [3XR[103X ) of all those [22X[3Xd[103X × [3Xd[103X[122X matrices over the ring [3XR[103X whose determinant is
  the identity of [3XR[103X, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YThe  third  and  the fourth form construct the special linear group over the
  finite field with [3Xq[103X elements.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group  is  the  special linear group as a matrix group in its natural action
  (see also [2XIsNaturalSL[102X ([14X44.4-4[114X), [2XIsNaturalSLnZ[102X ([14X44.6-5[114X)).[133X
  
  [33X[0;0YCurrently  supported  rings [3XR[103X are finite fields, the ring [2XIntegers[102X ([14X14[114X), and
  residue class rings [10XIntegers mod [3Xm[103X[10X[110X, see [14X14.5[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSpecialLinearGroup(2,2);[127X[104X
    [4X[28XSL(2,2)[128X[104X
    [4X[25Xgap>[125X [27XSL(3,Integers);[127X[104X
    [4X[28XSL(3,Integers)[128X[104X
    [4X[25Xgap>[125X [27XSL(4,Integers mod 4);[127X[104X
    [4X[28XSL(4,Z/4Z)[128X[104X
  [4X[32X[104X
  
  [1X50.2-3 GeneralUnitaryGroup[101X
  
  [33X[1;0Y[29X[2XGeneralUnitaryGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XGU[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  a  group  isomorphic  to the general unitary group GU( [3Xd[103X, [3Xq[103X ) of
  those  [22X[3Xd[103X  × [3Xd[103X[122X matrices over the field with [22X[3Xq[103X^2[122X elements that respect a fixed
  nondegenerate sesquilinear form, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group is the general unitary group itself.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGeneralUnitaryGroup( 3, 5 );[127X[104X
    [4X[28XGU(3,5)[128X[104X
  [4X[32X[104X
  
  [1X50.2-4 SpecialUnitaryGroup[101X
  
  [33X[1;0Y[29X[2XSpecialUnitaryGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSU[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs a group isomorphic to the special unitary group GU([3Xd[103X, [3Xq[103X) of those
  [22X[3Xd[103X  ×  [3Xd[103X[122X  matrices  over the field with [22X[3Xq[103X^2[122X elements whose determinant is the
  identity  of  the  field and that respect a fixed nondegenerate sesquilinear
  form, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group is the special unitary group itself.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSpecialUnitaryGroup( 3, 5 );[127X[104X
    [4X[28XSU(3,5)[128X[104X
  [4X[32X[104X
  
  
  [1X50.2-5 [33X[0;0YSymplecticGroup[133X[101X
  
  [33X[1;0Y[29X[2XSymplecticGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSymplecticGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xring[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSp[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSp[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xring[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSP[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSP[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xring[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  a group isomorphic to the symplectic group Sp( [3Xd[103X, [3Xq[103X ) of those [22X[3Xd[103X
  ×  [3Xd[103X[122X  matrices  over  the field with [3Xq[103X elements (respectively the ring [3Xring[103X)
  that respect a fixed nondegenerate symplectic form, in the category given by
  the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group is the symplectic group itself.[133X
  
  [33X[0;0YAt the moment finite fields or residue class rings [10XIntegers mod [3Xq[103X[10X[110X, with [3Xq[103X an
  odd prime power are supported.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSymplecticGroup( 4, 2 );[127X[104X
    [4X[28XSp(4,2)[128X[104X
    [4X[25Xgap>[125X [27Xg:=SymplecticGroup(6,Integers mod 9);[127X[104X
    [4X[28XSp(6,Z/9Z)[128X[104X
    [4X[25Xgap>[125X [27XSize(g);[127X[104X
    [4X[28X95928796265538862080[128X[104X
  [4X[32X[104X
  
  [1X50.2-6 GeneralOrthogonalGroup[101X
  
  [33X[1;0Y[29X[2XGeneralOrthogonalGroup[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XGO[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  a group isomorphic to the general orthogonal group GO( [3Xe[103X, [3Xd[103X, [3Xq[103X )
  of  those  [22X[3Xd[103X  ×  [3Xd[103X[122X  matrices  over  the field with [3Xq[103X elements that respect a
  non-singular  quadratic form (see [2XInvariantQuadraticForm[102X ([14X44.5-5[114X)) specified
  by [3Xe[103X, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YThe  value  of  [3Xe[103X must be [22X0[122X for odd [3Xd[103X (and can optionally be omitted in this
  case),  respectively  one  of  [22X1[122X  or  [22X-1[122X for even [3Xd[103X. If [3Xfilt[103X is not given it
  defaults  to  [2XIsMatrixGroup[102X  ([14X44.1-1[114X), and the returned group is the general
  orthogonal group itself.[133X
  
  [33X[0;0YNote  that  in [KL90],  GO  is  defined  as the stabilizer [22X∆(V, F, κ)[122X of the
  quadratic form, up to scalars, whereas our GO is called [22XI(V, F, κ)[122X there.[133X
  
  [1X50.2-7 SpecialOrthogonalGroup[101X
  
  [33X[1;0Y[29X[2XSpecialOrthogonalGroup[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSO[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Y[2XSpecialOrthogonalGroup[102X  returns a group isomorphic to the special orthogonal
  group  SO(  [3Xe[103X,  [3Xd[103X,  [3Xq[103X  ), which is the subgroup of all those matrices in the
  general  orthogonal  group  (see [2XGeneralOrthogonalGroup[102X  ([14X50.2-6[114X)) that have
  determinant one, in the category given by the filter [3Xfilt[103X. (The index of SO(
  [3Xe[103X,  [3Xd[103X,  [3Xq[103X  )  in  GO(  [3Xe[103X, [3Xd[103X, [3Xq[103X ) is [22X2[122X if [3Xq[103X is odd, and [22X1[122X if [3Xq[103X is even.) Also
  interesting  is  the  group  Omega(  [3Xe[103X, [3Xd[103X, [3Xq[103X ), see [2XOmega[102X ([14X50.2-8[114X), which is
  always of index [22X2[122X in SO( [3Xe[103X, [3Xd[103X, [3Xq[103X ).[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group is the special orthogonal group itself.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGeneralOrthogonalGroup( 3, 7 );[127X[104X
    [4X[28XGO(0,3,7)[128X[104X
    [4X[25Xgap>[125X [27XGeneralOrthogonalGroup( -1, 4, 3 );[127X[104X
    [4X[28XGO(-1,4,3)[128X[104X
    [4X[25Xgap>[125X [27XSpecialOrthogonalGroup( 1, 4, 4 );[127X[104X
    [4X[28XGO(+1,4,4)[128X[104X
  [4X[32X[104X
  
  [1X50.2-8 Omega[101X
  
  [33X[1;0Y[29X[2XOmega[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X operation[133X
  
  [33X[0;0Yconstructs  a  group  isomorphic  to  the  group [22XΩ[122X( [3Xe[103X, [3Xd[103X, [3Xq[103X ) of those [22X[3Xd[103X × [3Xd[103X[122X
  matrices  over  the  field  with  [3Xq[103X  elements  that  respect  a non-singular
  quadratic  form  (see [2XInvariantQuadraticForm[102X  ([14X44.5-5[114X))  specified by [3Xe[103X, and
  that have square spinor norm in odd characteristic or Dickson invariant [22X0[122X in
  even characteristic, respectively, in the category given by the filter [3Xfilt[103X.
  For  odd  [3Xq[103X,  this  group  has always index two in the corresponding special
  orthogonal  group,  which will be conjugate in [22XGL(d,q)[122X to the group returned
  by  SO(  [3Xe[103X,  [3Xd[103X,  [3Xq[103X  ),  see  [2XSpecialOrthogonalGroup[102X  ([14X50.2-7[114X), but may fix a
  different form (see [14X50.2[114X).[133X
  
  [33X[0;0YThe  value  of  [3Xe[103X must be [22X0[122X for odd [3Xd[103X (and can optionally be omitted in this
  case),  respectively  one  of  [22X1[122X  or  [22X-1[122X for even [3Xd[103X. If [3Xfilt[103X is not given it
  defaults  to  [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned group is the group [22XΩ[122X(
  [3Xe[103X, [3Xd[103X, [3Xq[103X ) itself.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= Omega( 3, 5 );  StructureDescription( g );[127X[104X
    [4X[28XOmega(0,3,5)[128X[104X
    [4X[28X"A5"[128X[104X
    [4X[25Xgap>[125X [27Xg:= Omega( 1, 4, 4 );  StructureDescription( g );[127X[104X
    [4X[28XOmega(+1,4,4)[128X[104X
    [4X[28X"A5 x A5"[128X[104X
    [4X[25Xgap>[125X [27Xg:= Omega( -1, 4, 3 );  StructureDescription( g );[127X[104X
    [4X[28XOmega(-1,4,3)[128X[104X
    [4X[28X"A6"[128X[104X
  [4X[32X[104X
  
  [1X50.2-9 GeneralSemilinearGroup[101X
  
  [33X[1;0Y[29X[2XGeneralSemilinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XGammaL[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Y[2XGeneralSemilinearGroup[102X  returns a group isomorphic to the general semilinear
  group [22XΓ[122XL( [3Xd[103X, [3Xq[103X ) of semilinear mappings of the vector space [10XGF( [110X[3Xq[103X[10X )^[110X[3Xd[103X.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group  consists of matrices of dimension [3Xd[103X [22Xf[122X over the field with [22Xp[122X elements,
  where [3Xq[103X [22X= p^f[122X, for a prime integer [22Xp[122X.[133X
  
  [1X50.2-10 SpecialSemilinearGroup[101X
  
  [33X[1;0Y[29X[2XSpecialSemilinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XSigmaL[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Y[2XSpecialSemilinearGroup[102X  returns a group isomorphic to the special semilinear
  group  [22XΣ[122XL( [3Xd[103X, [3Xq[103X ) of those semilinear mappings of the vector space [10XGF( [110X[3Xq[103X[10X )^[110X[3Xd[103X
  (see [2XGeneralSemilinearGroup[102X ([14X50.2-9[114X)) whose linear part has determinant one.[133X
  
  [33X[0;0YIf [3Xfilt[103X is not given it defaults to [2XIsMatrixGroup[102X ([14X44.1-1[114X), and the returned
  group  consists of matrices of dimension [3Xd[103X [22Xf[122X over the field with [22Xp[122X elements,
  where [3Xq[103X [22X= p^f[122X, for a prime integer [22Xp[122X.[133X
  
  [1X50.2-11 ProjectiveGeneralLinearGroup[101X
  
  [33X[1;0Y[29X[2XProjectiveGeneralLinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPGL[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs a group isomorphic to the projective general linear group PGL( [3Xd[103X,
  [3Xq[103X  )  of  those  [22X[3Xd[103X  ×  [3Xd[103X[122X matrices over the field with [3Xq[103X elements, modulo the
  centre, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X), and the returned
  group is the action on lines of the underlying vector space.[133X
  
  [1X50.2-12 ProjectiveSpecialLinearGroup[101X
  
  [33X[1;0Y[29X[2XProjectiveSpecialLinearGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPSL[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs a group isomorphic to the projective special linear group PSL( [3Xd[103X,
  [3Xq[103X ) of those [22X[3Xd[103X × [3Xd[103X[122X matrices over the field with [3Xq[103X elements whose determinant
  is  the  identity  of the field, modulo the centre, in the category given by
  the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X), and the returned
  group is the action on lines of the underlying vector space.[133X
  
  [1X50.2-13 ProjectiveGeneralUnitaryGroup[101X
  
  [33X[1;0Y[29X[2XProjectiveGeneralUnitaryGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPGU[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  a  group isomorphic to the projective general unitary group PGU(
  [3Xd[103X, [3Xq[103X ) of those [22X[3Xd[103X × [3Xd[103X[122X matrices over the field with [22X[3Xq[103X^2[122X elements that respect
  a  fixed nondegenerate sesquilinear form, modulo the centre, in the category
  given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X), and the returned
  group is the action on lines of the underlying vector space.[133X
  
  [1X50.2-14 ProjectiveSpecialUnitaryGroup[101X
  
  [33X[1;0Y[29X[2XProjectiveSpecialUnitaryGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPSU[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs  a  group isomorphic to the projective special unitary group PSU(
  [3Xd[103X, [3Xq[103X ) of those [22X[3Xd[103X × [3Xd[103X[122X matrices over the field with [22X[3Xq[103X^2[122X elements that respect
  a  fixed  nondegenerate sesquilinear form and have determinant 1, modulo the
  centre, in the category given by the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X), and the returned
  group is the action on lines of the underlying vector space.[133X
  
  [1X50.2-15 ProjectiveSymplecticGroup[101X
  
  [33X[1;0Y[29X[2XProjectiveSymplecticGroup[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPSP[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPSp[102X( [[3Xfilt[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs a group isomorphic to the projective symplectic group PSp([3Xd[103X,[3Xq[103X) of
  those  [22X[3Xd[103X  ×  [3Xd[103X[122X  matrices over the field with [3Xq[103X elements that respect a fixed
  nondegenerate  symplectic  form, modulo the centre, in the category given by
  the filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X), and the returned
  group is the action on lines of the underlying vector space.[133X
  
  [1X50.2-16 ProjectiveOmega[101X
  
  [33X[1;0Y[29X[2XProjectiveOmega[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPOmega[102X( [[3Xfilt[103X, ][[3Xe[103X, ][3Xd[103X, [3Xq[103X ) [32X function[133X
  
  [33X[0;0Yconstructs a group isomorphic to the projective group P[22XΩ[122X( [3Xe[103X, [3Xd[103X, [3Xq[103X ) of [22XΩ[122X( [3Xe[103X,
  [3Xd[103X, [3Xq[103X ), modulo the centre (see [2XOmega[102X ([14X50.2-8[114X)), in the category given by the
  filter [3Xfilt[103X.[133X
  
  [33X[0;0YIf  [3Xfilt[103X  is not given it defaults to [2XIsPermGroup[102X ([14X43.1-1[114X), and the returned
  group is the action on lines of the underlying vector space.[133X
  
  
  [1X50.3 [33X[0;0YConjugacy Classes in Classical Groups[133X[101X
  
  [33X[0;0YFor  general  and  special  linear  groups  (see [2XGeneralLinearGroup[102X ([14X50.2-1[114X)
  and [2XSpecialLinearGroup[102X  ([14X50.2-2[114X))  [5XGAP[105X  has  an efficient method to generate
  representatives  of  the  conjugacy  classes.  This uses results from linear
  algebra  on  normal  forms of matrices. If you know how to do this for other
  types of classical groups, please, tell us.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg := SL(4,9);[127X[104X
    [4X[28XSL(4,9)[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses(g);[127X[104X
    [4X[28X861[128X[104X
    [4X[25Xgap>[125X [27Xcl := ConjugacyClasses(g);;[127X[104X
    [4X[25Xgap>[125X [27XLength(cl);[127X[104X
    [4X[28X861[128X[104X
  [4X[32X[104X
  
  [1X50.3-1 NrConjugacyClassesGL[101X
  
  [33X[1;0Y[29X[2XNrConjugacyClassesGL[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesGU[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesSL[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesSU[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesPGL[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesPGU[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesPSL[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesPSU[102X( [3Xn[103X, [3Xq[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesSLIsogeneous[102X( [3Xn[103X, [3Xq[103X, [3Xf[103X ) [32X function[133X
  [33X[1;0Y[29X[2XNrConjugacyClassesSUIsogeneous[102X( [3Xn[103X, [3Xq[103X, [3Xf[103X ) [32X function[133X
  
  [33X[0;0YThe  first of these functions compute for given positive integer [3Xn[103X and prime
  power  [3Xq[103X the number of conjugacy classes in the classical groups GL( [3Xn[103X, [3Xq[103X ),
  GU(  [3Xn[103X,  [3Xq[103X ), SL( [3Xn[103X, [3Xq[103X ), SU( [3Xn[103X, [3Xq[103X ), PGL( [3Xn[103X, [3Xq[103X ), PGU( [3Xn[103X, [3Xq[103X ), PSL( [3Xn[103X, [3Xq[103X ),
  PSL(  [3Xn[103X,  [3Xq[103X  ),  respectively.  (See  also  [2XConjugacyClasses[102X  ([14X39.10-2[114X)  and
  Section [14X50.2[114X.)[133X
  
  [33X[0;0YFor  each divisor [3Xf[103X of [3Xn[103X there is a group of Lie type with the same order as
  SL(  [3Xn[103X,  [3Xq[103X ), such that its derived subgroup modulo its center is isomorphic
  to  PSL(  [3Xn[103X,  [3Xq[103X  ).  The  various  such groups with fixed [3Xn[103X and [3Xq[103X are called
  [13Xisogeneous[113X.  (Depending on congruence conditions on [3Xq[103X and [3Xn[103X several of these
  groups      may      actually      be      isomorphic.)     The     function
  [2XNrConjugacyClassesSLIsogeneous[102X  computes  the number of conjugacy classes in
  this  group. The extreme cases [3Xf[103X [22X= 1[122X and [3Xf[103X [22X= n[122X lead to the groups SL( [3Xn[103X, [3Xq[103X )
  and PGL( [3Xn[103X, [3Xq[103X ), respectively.[133X
  
  [33X[0;0YThe  function  [2XNrConjugacyClassesSUIsogeneous[102X  is  the analogous one for the
  corresponding unitary groups.[133X
  
  [33X[0;0YThe formulae for the number of conjugacy classes are taken from [Mac81].[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClassesGL(24,27);[127X[104X
    [4X[28X22528399544939174406067288580609952[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClassesPSU(19,17);[127X[104X
    [4X[28X15052300411163848367708[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses(SL(16,16));[127X[104X
    [4X[28X1229782938228219920[128X[104X
  [4X[32X[104X
  
  
  [1X50.4 [33X[0;0YConstructors for Basic Groups[133X[101X
  
  [33X[0;0YAll functions described in the previous sections call constructor operations
  to do the work. The names of the constructors are obtained from the names of
  the functions by appending [10X"Cons"[110X, so for example [2XCyclicGroup[102X ([14X50.1-2[114X) calls
  the constructor[133X
  
  [33X[0;0Y[10XCyclicGroupCons( [3Xcat[103X[10X, [3Xn[103X[10X )[110X[133X
  
  [33X[0;0YThe  first  argument  [3Xcat[103X  for  each  method of this constructor must be the
  category  for  which  the  method  is  installed. For example the method for
  constructing   a   cyclic   permutation   group   is  installed  as  follows
  (see [2XInstallMethod[102X ([14X78.3-1[114X) for the meaning of the arguments.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28XInstallMethod( CyclicGroupCons,[128X[104X
    [4X[28X    "regular perm group",[128X[104X
    [4X[28X    true,[128X[104X
    [4X[28X    [ IsPermGroup and IsRegularProp and IsFinite, IsInt and IsPosRat ], 0,[128X[104X
    [4X[28X    function( filter, n )[128X[104X
    [4X[28X[128X[104X
    [4X[28X    ...[128X[104X
    [4X[28X[128X[104X
    [4X[28X    end );[128X[104X
  [4X[32X[104X
  
  
  [1X50.5 [33X[0;0YSelection Functions[133X[101X
  
  [33X[0;0Y[10XAll[3XLibrary[103X[10XGroups( [3Xfun1[103X[10X, [3Xval1[103X[10X, ... )[110X[133X
  
  [33X[0;0YFor  a  number  of the group libraries two [13Xselection functions[113X are provided.
  Each  [10XAll[3XLibrary[103X[10XGroups[110X  selection  function permits one to select [13Xall[113X groups
  from the library [3XLibrary[103X that have a given set of properties. Currently, the
  library  selection  functions  provided,  of  this  type, are [2XAllSmallGroups[102X
  ([14Xsmallgrp:     AllSmallGroups[114X),    [2XAllIrreducibleSolvableGroups[102X    ([14Xprimgrp:
  AllIrreducibleSolvableGroups[114X),         [2XAllTransitiveGroups[102X        ([14Xtransgrp:
  AllTransitiveGroups[114X),  and [2XAllPrimitiveGroups[102X ([14Xprimgrp: AllPrimitiveGroups[114X).
  Corresponding  to  each  of  these  there is a [10XOne[3XLibrary[103X[10XGroup[110X function (see
  below) which returns at most one group.[133X
  
  [33X[0;0YThese functions take an arbitrary number of pairs (but at least one pair) of
  arguments.  The  first  argument  in  such  a pair is a function that can be
  applied  to  the  groups in the library, and the second argument is either a
  single  value  that  this  function  must return in order to have this group
  included  in  the  selection,  or  a  list  of such values. For the function
  [2XAllSmallGroups[102X  ([14Xsmallgrp:  AllSmallGroups[114X)  the first such function must be
  [2XSize[102X  ([14X30.4-6[114X),  and,  unlike  the  other  library  selection  functions, it
  supports   an   alternative   syntax   where   [2XSize[102X   ([14X30.4-6[114X)   is  omitted
  (see [2XAllSmallGroups[102X      ([14Xsmallgrp:      AllSmallGroups[114X)).     Also,     see
  [2XAllIrreducibleSolvableGroups[102X  ([14Xprimgrp:  AllIrreducibleSolvableGroups[114X),  for
  details pertaining to this function.[133X
  
  [33X[0;0YFor  an  example,  let us consider the selection function for the library of
  transitive  groups (also see [14X'transgrp: Transitive Permutation Groups'[114X). The
  command[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAllTransitiveGroups(NrMovedPoints,[10..15],[127X[104X
    [4X[25X>[125X [27X                       Size,         [1..100],[127X[104X
    [4X[25X>[125X [27X                       IsAbelian,    false    );[127X[104X
  [4X[32X[104X
  
  [33X[0;0Yreturns  a  list  of all transitive groups with degree between 10 and 15 and
  size less than 100 that are not abelian.[133X
  
  [33X[0;0YThus  [10XAllTransitiveGroups[110X  behaves  as  if  it was implemented by a function
  similar  to  the  one defined below, where [10XTransitiveGroupsList[110X is a list of
  all  transitive  groups.  (Note  that  in the definition below we assume for
  simplicity  that  [10XAllTransitiveGroups[110X  accepts exactly 4 arguments. It is of
  course  obvious  how  to  change  this definition so that the function would
  accept a variable number of arguments.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28XAllTransitiveGroups := function( fun1, val1, fun2, val2 )[128X[104X
    [4X[28Xlocal    groups, g, i;[128X[104X
    [4X[28X  groups := [];[128X[104X
    [4X[28X  for i  in [ 1 .. Length( TransitiveGroupsList ) ] do[128X[104X
    [4X[28X    g := TransitiveGroupsList[i];[128X[104X
    [4X[28X    if      fun1(g) = val1  or IsList(val1) and fun1(g) in val1[128X[104X
    [4X[28X        and fun2(g) = val2  or IsList(val2) and fun2(g) in val2[128X[104X
    [4X[28X     then[128X[104X
    [4X[28X      Add( groups, g );[128X[104X
    [4X[28X    fi;[128X[104X
    [4X[28X  od;[128X[104X
    [4X[28X  return groups;[128X[104X
    [4X[28Xend;[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  the real selection functions are considerably more difficult, to
  improve  the  efficiency.  Most  important, each recognizes a certain set of
  properties  which  are precomputed for the library without having to compute
  them  anew  for  each  group. This will substantially speed up the selection
  process. In the description of each library we will list the properties that
  are stored for this library.[133X
  
  [33X[0;0Y[10XOne[3XLibrary[103X[10XGroup( [3Xfun1[103X[10X, [3Xval1[103X[10X, ... )[110X[133X
  
  [33X[0;0YFor  each  [10XAll[3XLibrary[103X[10XGroups[110X  function  (see  above) there is a corresponding
  function  [10XOne[3XLibrary[103X[10XGroup[110X  on  exactly  the  same arguments, i.e., there are
  [2XOneSmallGroup[102X    ([14Xsmallgrp:    OneSmallGroup[114X),   [2XOneIrreducibleSolvableGroup[102X
  ([14Xprimgrp:    OneIrreducibleSolvableGroup[114X),   [2XOneTransitiveGroup[102X   ([14Xtransgrp:
  OneTransitiveGroup[114X),  and  [2XOnePrimitiveGroup[102X  ([14Xprimgrp:  OnePrimitiveGroup[114X).
  Each  function  simply  returns  [13Xone[113X  group  in  the  library  that  has the
  prescribed  properties,  instead  of  [13Xall[113X such groups. It returns [9Xfail[109X if no
  such group exists in the library.[133X
  
  
  [1X50.6 [33X[0;0YFinite Perfect Groups[133X[101X
  
  [33X[0;0YThe [5XGAP[105X library of finite perfect groups provides, up to isomorphism, a list
  of all perfect groups whose sizes are less than [22X10^6[122X excluding the following
  sizes:[133X
  
  [30X    [33X[0;6YFor  [22Xn  =  61440[122X,  122880,  172032, 245760, 344064, 491520, 688128, or
        983040,  the  perfect  groups  of  size  [22Xn[122X  have  not  completely been
        determined  yet.  The  library  neither  provides  the number of these
        groups nor the groups themselves.[133X
  
  [30X    [33X[0;6YFor [22Xn = 86016[122X, 368640, or 737280, the library does not yet contain the
        perfect groups of size [22Xn[122X, it only provides their numbers which are 52,
        46, and 54, respectively.[133X
  
  [33X[0;0YExcept for these eleven sizes, the list of altogether 1097 perfect groups in
  the  library  is complete. It relies on results of Derek F. Holt and Wilhelm
  Plesken  which  are published in their book [21XPerfect Groups[121X [HP89]. Moreover,
  they have supplied us with files with presentations of 488 of the groups. In
  terms  of  these,  the remaining 607 nontrivial groups in the library can be
  described  as  276  direct products, 107 central products, and 224 subdirect
  products. They are computed automatically by suitable [5XGAP[105X functions whenever
  they  are needed. Two additional groups omitted from the book [21XPerfect Groups[121X
  have also been included.[133X
  
  [33X[0;0YWe  are  grateful  to Derek Holt and Wilhelm Plesken for making their groups
  available  to  the  [5XGAP[105X  community by contributing their files. It should be
  noted  that their book contains a lot of further information for many of the
  library  groups.  So  we  would  like to recommend it to any [5XGAP[105X user who is
  interested in the groups.[133X
  
  [33X[0;0YThe library has been brought into [5XGAP[105X format by Volkmar Felsch.[133X
  
  [33X[0;0YAs  all  groups are stored by presentations, a permutation representation is
  obtained  by  coset enumeration. Note that some of the library groups do not
  have  a faithful permutation representation of small degree. Computations in
  these groups may be rather time consuming.[133X
  
  [1X50.6-1 SizesPerfectGroups[101X
  
  [33X[1;0Y[29X[2XSizesPerfectGroups[102X(  ) [32X function[133X
  
  [33X[0;0YThis  is  the  ordered list of all numbers up to [22X10^6[122X that occur as sizes of
  perfect groups. One can iterate over the perfect groups library with:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor n in SizesPerfectGroups() do[127X[104X
    [4X[25X>[125X [27X     for k in [1..NrPerfectLibraryGroups(n)] do[127X[104X
    [4X[25X>[125X [27X       pg := PerfectGroup(n,k);[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
  [4X[32X[104X
  
  
  [1X50.6-2 [33X[0;0YPerfectGroup[133X[101X
  
  [33X[1;0Y[29X[2XPerfectGroup[102X( [[3Xfilt[103X, ][3Xsize[103X[, [3Xn[103X] ) [32X function[133X
  [33X[1;0Y[29X[2XPerfectGroup[102X( [[3Xfilt[103X, ][3Xsizenumberpair[103X ) [32X function[133X
  
  [33X[0;0Yreturns  a  group  which is isomorphic to the library group specified by the
  size  number  [10X[  [3Xsize[103X[10X,  [3Xn[103X[10X  ][110X  or  by  the two separate arguments [3Xsize[103X and [3Xn[103X,
  assuming  a  default  value of [22X[3Xn[103X = 1[122X. The optional argument [3Xfilt[103X defines the
  filter  in  which  the  group  is  returned.  Possible  filters  so  far are
  [2XIsPermGroup[102X ([14X43.1-1[114X) and [2XIsSubgroupFpGroup[102X ([14X47.1-1[114X). In the latter case, the
  generators  and  relators  used  coincide  with  those  given in [HP89]. The
  default filter is [2XIsSubgroupFpGroup[102X ([14X47.1-1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := PerfectGroup(IsPermGroup,6048,1);[127X[104X
    [4X[28XU3(3)[128X[104X
    [4X[25Xgap>[125X [27XG:=PerfectGroup(IsPermGroup,823080,2);[127X[104X
    [4X[28XA5 2^1 19^2 C 19^1[128X[104X
    [4X[25Xgap>[125X [27XNrMovedPoints(G);[127X[104X
    [4X[28X6859[128X[104X
  [4X[32X[104X
  
  [1X50.6-3 PerfectIdentification[101X
  
  [33X[1;0Y[29X[2XPerfectIdentification[102X( [3XG[103X ) [32X attribute[133X
  
  [33X[0;0YThis  attribute  is  set  for  all  groups  obtained from the perfect groups
  library  and  has  the  value  [10X[[3Xsize[103X[10X,[3Xnr[103X[10X][110X if the group is obtained with these
  parameters from the library.[133X
  
  [1X50.6-4 NumberPerfectGroups[101X
  
  [33X[1;0Y[29X[2XNumberPerfectGroups[102X( [3Xsize[103X ) [32X function[133X
  
  [33X[0;0Yreturns  the  number  of non-isomorphic perfect groups of size [3Xsize[103X for each
  positive  integer  [3Xsize[103X  up to [22X10^6[122X except for the eight sizes listed at the
  beginning  of  this section for which the number is not yet known. For these
  values as well as for any argument out of range it returns [9Xfail[109X.[133X
  
  [1X50.6-5 NumberPerfectLibraryGroups[101X
  
  [33X[1;0Y[29X[2XNumberPerfectLibraryGroups[102X( [3Xsize[103X ) [32X function[133X
  
  [33X[0;0Yreturns the number of perfect groups of size [3Xsize[103X which are available in the
  library of finite perfect groups. (The purpose of the function is to provide
  a simple way to formulate a loop over all library groups of a given size.)[133X
  
  [1X50.6-6 SizeNumbersPerfectGroups[101X
  
  [33X[1;0Y[29X[2XSizeNumbersPerfectGroups[102X( [3Xfactor1[103X, [3Xfactor2[103X, [3X...[103X ) [32X function[133X
  
  [33X[0;0Y[2XSizeNumbersPerfectGroups[102X returns a list of pairs, each entry consisting of a
  group  order and the number of those groups in the library of perfect groups
  that  contain  the  specified  factors  [3Xfactor1[103X,  [3Xfactor2[103X,  ...  among their
  composition factors.[133X
  
  [33X[0;0YEach  argument  must  either  be the name of a nonabelian simple group or an
  integer  which  stands  for  the  product of the sizes of one or more cyclic
  factors. (In fact, the function replaces all integers among the arguments by
  their product.)[133X
  
  [33X[0;0YThe following text strings are accepted as simple group names.[133X
  
  [30X    [33X[0;6Y[10XA[3Xn[103X[10X[110X  or  [10XA([3Xn[103X[10X)[110X for the alternating groups [22XA_[3Xn[103X[122X, [22X5 ≤ n ≤ 9[122X, for example [10XA5[110X
        or [10XA(6)[110X.[133X
  
  [30X    [33X[0;6Y[10XL[3Xn[103X[10X([3Xq[103X[10X)[110X  or [10XL([3Xn[103X[10X,[3Xq[103X[10X)[110X for PSL[22X(n,q)[122X, where [22Xn ∈ { 2, 3 }[122X and [22Xq[122X a prime power,
        ranging[133X
  
        [30X    [33X[0;12Yfor [22Xn = 2[122X from 4 to 125[133X
  
        [30X    [33X[0;12Yfor [22Xn = 3[122X from 2 to 5[133X
  
  [30X    [33X[0;6Y[10XU[3Xn[103X[10X([3Xq[103X[10X)[110X  or [10XU([3Xn[103X[10X,[3Xq[103X[10X)[110X for PSU[22X(n,q)[122X, where [22Xn ∈ { 3, 4 }[122X and [22Xq[122X a prime power,
        ranging[133X
  
        [30X    [33X[0;12Yfor [22Xn = 3[122X from 3 to 5[133X
  
        [30X    [33X[0;12Yfor [22Xn = 4[122X from 2 to 2[133X
  
  [30X    [33X[0;6Y[10XSp4(4)[110X or [10XS(4,4)[110X for the symplectic group Sp[22X(4,4)[122X,[133X
  
  [30X    [33X[0;6Y[10XSz(8)[110X for the Suzuki group Sz[22X(8)[122X,[133X
  
  [30X    [33X[0;6Y[10XM[3Xn[103X[10X[110X or [10XM([3Xn[103X[10X)[110X for the Mathieu groups [22XM_11[122X, [22XM_12[122X, and [22XM_22[122X, and[133X
  
  [30X    [33X[0;6Y[10XJ[3Xn[103X[10X[110X or [10XJ([3Xn[103X[10X)[110X for the Janko groups [22XJ_1[122X and [22XJ_2[122X.[133X
  
  [33X[0;0YNote  that,  for most of the groups, the preceding list offers two different
  names  in order to be consistent with the notation used in [HP89] as well as
  with  the notation used in the [2XDisplayCompositionSeries[102X ([14X39.17-6[114X) command of
  [5XGAP[105X.  However, as the names are compared as text strings, you are restricted
  to the above choice. Even expressions like [10XL2(2^5)[110X are not accepted.[133X
  
  [33X[0;0YAs  the use of the term PSU[22X(n,q)[122X is not unique in the literature, we mention
  that  in  this library it denotes the factor group of SU[22X(n,q)[122X by its centre,
  where  SU[22X(n,q)[122X  is  the  group of all [22Xn × n[122X unitary matrices with entries in
  [22XGF(q^2)[122X and determinant 1.[133X
  
  [33X[0;0YThe  purpose  of the function is to provide a simple way to formulate a loop
  over all library groups which contain certain composition factors.[133X
  
  
  [1X50.6-7 [33X[0;0YDisplayInformationPerfectGroups[133X[101X
  
  [33X[1;0Y[29X[2XDisplayInformationPerfectGroups[102X( [3Xsize[103X[, [3Xn[103X] ) [32X function[133X
  [33X[1;0Y[29X[2XDisplayInformationPerfectGroups[102X( [3Xsizenumberpair[103X ) [32X function[133X
  
  [33X[0;0Y[2XDisplayInformationPerfectGroups[102X  displays  some invariants of the [3Xn[103X-th group
  of order [3Xsize[103X from the perfect groups library.[133X
  
  [33X[0;0YIf  no  value  of [3Xn[103X has been specified, the invariants will be displayed for
  all groups of size [3Xsize[103X available in the library.[133X
  
  [33X[0;0YAlternatively,  also  a  list  of  length  two  may  be  entered as the only
  argument, with entries [3Xsize[103X and [3Xn[103X.[133X
  
  [33X[0;0YThe information provided for [22XG[122X includes the following items:[133X
  
  [30X    [33X[0;6Ya  headline  containing  the  size number [10X[ [3Xsize[103X[10X, [3Xn[103X[10X ][110X of [22XG[122X in the form
        [10X[3Xsize[103X[10X.[3Xn[103X[10X[110X  (the  suffix [10X.[3Xn[103X[10X[110X will be suppressed if, up to isomorphism, [22XG[122X is
        the only perfect group of order [3Xsize[103X),[133X
  
  [30X    [33X[0;6Ya  message if [22XG[122X is simple or quasisimple, i.e., if the factor group of
        [22XG[122X by its centre is simple,[133X
  
  [30X    [33X[0;6Ythe  [21Xdescription[121X  of  the  structure  of  [22XG[122X as it is given by Holt and
        Plesken in [HP89] (see below),[133X
  
  [30X    [33X[0;6Ythe size of the centre of [22XG[122X (suppressed, if [22XG[122X is simple),[133X
  
  [30X    [33X[0;6Ythe prime decomposition of the size of [22XG[122X,[133X
  
  [30X    [33X[0;6Yorbit  sizes  for  a faithful permutation representation of [22XG[122X which is
        provided by the library (see below),[133X
  
  [30X    [33X[0;6Ya  reference  to  each occurrence of [22XG[122X in the tables of section 5.3 of
        [HP89].  Each  of  these  references consists of a class number and an
        internal  number [22X(i,j)[122X under which [22XG[122X is listed in that class. For some
        groups,  there  is more than one reference because these groups belong
        to more than one of the classes in the book.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDisplayInformationPerfectGroups( 30720, 3 );[127X[104X
    [4X[28X#I Perfect group 30720:  A5 ( 2^4 E N 2^1 E 2^4 ) A[128X[104X
    [4X[28X#I   size = 2^11*3*5  orbit size = 240[128X[104X
    [4X[28X#I   Holt-Plesken class 1 (9,3)[128X[104X
    [4X[25Xgap>[125X [27XDisplayInformationPerfectGroups( 30720, 6 );[127X[104X
    [4X[28X#I Perfect group 30720:  A5 ( 2^4 x 2^4 ) C N 2^1[128X[104X
    [4X[28X#I   centre = 2  size = 2^11*3*5  orbit size = 384[128X[104X
    [4X[28X#I   Holt-Plesken class 1 (9,6)[128X[104X
    [4X[25Xgap>[125X [27XDisplayInformationPerfectGroups( Factorial( 8 ) / 2 );[127X[104X
    [4X[28X#I Perfect group 20160.1:  A5 x L3(2) 2^1[128X[104X
    [4X[28X#I   centre = 2  size = 2^6*3^2*5*7  orbit sizes = 5 + 16[128X[104X
    [4X[28X#I   Holt-Plesken class 31 (1,1) (occurs also in class 32)[128X[104X
    [4X[28X#I Perfect group 20160.2:  A5 2^1 x L3(2)[128X[104X
    [4X[28X#I   centre = 2  size = 2^6*3^2*5*7  orbit sizes = 7 + 24[128X[104X
    [4X[28X#I   Holt-Plesken class 31 (1,2) (occurs also in class 32)[128X[104X
    [4X[28X#I Perfect group 20160.3:  ( A5 x L3(2) ) 2^1[128X[104X
    [4X[28X#I   centre = 2  size = 2^6*3^2*5*7  orbit size = 192[128X[104X
    [4X[28X#I   Holt-Plesken class 31 (1,3)[128X[104X
    [4X[28X#I Perfect group 20160.4:  simple group  A8[128X[104X
    [4X[28X#I   size = 2^6*3^2*5*7  orbit size = 8[128X[104X
    [4X[28X#I   Holt-Plesken class 26 (0,1)[128X[104X
    [4X[28X#I Perfect group 20160.5:  simple group  L3(4)[128X[104X
    [4X[28X#I   size = 2^6*3^2*5*7  orbit size = 21[128X[104X
    [4X[28X#I   Holt-Plesken class 27 (0,1)[128X[104X
  [4X[32X[104X
  
  
  [1X50.6-8 [33X[0;0YMore about the Perfect Groups Library[133X[101X
  
  [33X[0;0YFor  any  library  group  [22XG[122X,  the  library  files  do  not  only  provide  a
  presentation,  but,  in  addition, a list of one or more subgroups [22XS_1, ...,
  S_r[122X  of  [22XG[122X  such that there is a faithful permutation representation of [22XG[122X of
  degree  [22X∑_{i  =  1}^r [G:S_i][122X on the set [22X{ S_i g ∣ 1 ≤ i ≤ r, g ∈ G }[122X of the
  cosets  of  the  [22XS_i[122X. This allows one to construct the groups as permutation
  groups.  The function [2XDisplayInformationPerfectGroups[102X ([14X50.6-7[114X) displays only
  the available degree. The message[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28Xorbit size = 8[128X[104X
  [4X[32X[104X
  
  [33X[0;0Yin  the above example means that the available permutation representation is
  transitive and of degree 8, whereas the message[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28Xorbit sizes = 5 + 16[128X[104X
  [4X[32X[104X
  
  [33X[0;0Ymeans  that  a  nontransitive  permutation representation is available which
  acts on two orbits of size 5 and 16 respectively.[133X
  
  [33X[0;0YThe   notation   used  in  the  [21Xdescription[121X  of  a  group  is  explained  in
  section 5.1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              