  
  [1X3 [33X[0;0YThe Small Class Number Library[133X[101X
  
  
  [1X3.1 [33X[0;0YFunctions[133X[101X
  
  [1X3.1-1 SmallClassNrGroup[101X
  
  [33X[1;0Y[29X[2XSmallClassNrGroup[102X( [3Xk[103X, [3Xi[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Ythe [3Xi[103X-th finite group of class number [3Xk[103X in the library.[133X
  
  [33X[0;0YAlternatively,  the  pair  [10X[ [3Xk[103X[10X, [3Xi[103X[10X ][110X can be given as a single argument [3Xid[103X. If
  the group is solvable, it is given as a PcGroup whose Pcgs is a SpecialPcgs.
  If  the  group  is  not solvable, it will be given as a permutation group of
  minimal permutation degree and with a minimal generating set.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := SmallClassNrGroup( 6, 4 );[127X[104X
    [4X[28X<pc group of size 18 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses( G );[127X[104X
    [4X[28X6[128X[104X
    [4X[25Xgap>[125X [27XIsDihedralGroup( G );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X3.1-2 SmallClassNrGroupsAvailable[101X
  
  [33X[1;0Y[29X[2XSmallClassNrGroupsAvailable[102X( [3Xk[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X  if  the finite groups of class number [3Xk[103X are available in the
            library, and [9Xfalse[109X otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSmallClassNrGroupsAvailable( 14 );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XSmallClassNrGroupsAvailable( 15 );[127X[104X
    [4X[28Xfalse[128X[104X
  [4X[32X[104X
  
  [1X3.1-3 AllSmallClassNrGroups[101X
  
  [33X[1;0Y[29X[2XAllSmallClassNrGroups[102X( [3Xarg[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Yall finite groups with certain properties as specified by [3Xarg[103X.[133X
  
  [33X[0;0YThe  arguments  must  come in pairs consisting of a function and a value (or
  list   of   possible  values).  At  least  one  of  the  functions  must  be
  [9XNrConjugacyClasses[109X.    Missing    functions    will    be   interpreted   as
  [9XNrConjugacyClasses[109X, missing values as [9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XL1 := AllSmallClassNrGroups( [3..5], IsNilpotent );[127X[104X
    [4X[28X[ <pc group of size 3 with 1 generator>,[128X[104X
    [4X[28X  <pc group of size 4 with 2 generators>,[128X[104X
    [4X[28X  <pc group of size 4 with 2 generators>,[128X[104X
    [4X[28X  <pc group of size 5 with 1 generator>,[128X[104X
    [4X[28X  <pc group of size 8 with 3 generators>,[128X[104X
    [4X[28X  <pc group of size 8 with 3 generators> ][128X[104X
    [4X[25Xgap>[125X [27XList( L1, NrConjugacyClasses );[127X[104X
    [4X[28X[ 3, 4, 4, 5, 5, 5 ][128X[104X
    [4X[25Xgap>[125X [27XL2 := AllSmallClassNrGroups( IsSolvable, true, NrConjugacyClasses, 6 );[127X[104X
    [4X[28X[ <pc group of size 6 with 2 generators>,[128X[104X
    [4X[28X  <pc group of size 12 with 3 generators>,[128X[104X
    [4X[28X  <pc group of size 12 with 3 generators>,[128X[104X
    [4X[28X  <pc group of size 18 with 3 generators>,[128X[104X
    [4X[28X  <pc group of size 18 with 3 generators>,[128X[104X
    [4X[28X  <pc group of size 36 with 4 generators>,[128X[104X
    [4X[28X  <pc group of size 72 with 5 generators> ][128X[104X
    [4X[25Xgap>[125X [27XForAll( L2, G -> IsSolvable( G ) and NrConjugacyClasses( G ) = 6 );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X3.1-4 OneSmallClassNrGroup[101X
  
  [33X[1;0Y[29X[2XOneSmallClassNrGroup[102X( [3Xarg[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Yone finite group with certain properties as specified by [3Xarg[103X.[133X
  
  [33X[0;0YThe  arguments  must  come in pairs consisting of a function and a value (or
  list   of   possible  values).  At  least  one  of  the  functions  must  be
  [10XNrConjugacyClasses[110X.    Missing    functions    will    be   interpreted   as
  [10XNrConjugacyClasses[110X, missing values as [9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XH := OneSmallClassNrGroup( 6, IsAbelian );[127X[104X
    [4X[28X<pc group of size 6 with 2 generators>[128X[104X
    [4X[25Xgap>[125X [27XIsCyclic( H );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XK := OneSmallClassNrGroup( 10, IsSolvable, true, IsNilpotent, false );[127X[104X
    [4X[28X<pc group of size 28 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses( K ) = 10 and IsSolvable( K ) and not IsNilpotent( K );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X3.1-5 NrSmallClassNrGroups[101X
  
  [33X[1;0Y[29X[2XNrSmallClassNrGroups[102X( [3Xarg[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Ythe  number  of finite groups with certain properties as specified
            by [3Xarg[103X.[133X
  
  [33X[0;0YThe  arguments  must  come in pairs consisting of a function and a value (or
  list   of   possible  values).  At  least  one  of  the  functions  must  be
  [10XNrConjugacyClasses[110X.    Missing    functions    will    be   interpreted   as
  [10XNrConjugacyClasses[110X, missing values as [9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XNrSmallClassNrGroups( 14 );[127X[104X
    [4X[28X93[128X[104X
    [4X[25Xgap>[125X [27XNrSmallClassNrGroups( [3..5], IsNilpotentGroup );[127X[104X
    [4X[28X6[128X[104X
    [4X[25Xgap>[125X [27XNrSmallClassNrGroups( IsSolvable, true, NrConjugacyClasses, 6 );[127X[104X
    [4X[28X7[128X[104X
  [4X[32X[104X
  
  [1X3.1-6 IteratorSmallClassNrGroups[101X
  
  [33X[1;0Y[29X[2XIteratorSmallClassNrGroups[102X( [3Xarg[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Yan  iterator  that iterates over the finite groups with properties
            as  specified  by [3Xarg[103X. The arguments must come in pairs consisting
            of  a  function and a value (or list of possible values). At least
            one of the functions must be [10XNrConjugacyClasses[110X. Missing functions
            will be interpreted as [10XNrConjugacyClasses[110X, missing values as [9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xiter := IteratorSmallClassNrGroups( IsSolvable, false, 11 );[127X[104X
    [4X[28X<iterator>[128X[104X
    [4X[25Xgap>[125X [27Xfor G in iter do Print( Size( G ), "\n" ); od;[127X[104X
    [4X[28X336[128X[104X
    [4X[28X720[128X[104X
    [4X[28X720[128X[104X
    [4X[28X1344[128X[104X
    [4X[28X1344[128X[104X
    [4X[28X1512[128X[104X
    [4X[28X2448[128X[104X
    [4X[28X29120[128X[104X
  [4X[32X[104X
  
  [1X3.1-7 IdClassNr[101X
  
  [33X[1;0Y[29X[2XIdClassNr[102X( [3XG[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ythe  [5XSmallClassNr[105X  ID  of  [3XG[103X,  i.e. a pair [10X[ [3Xk[103X[10X, [3Xi[103X[10X ][110X such that [3XG[103X is
            isomorphic to [10XSmallClassNrGroup( [3Xk[103X[10X, [3Xi[103X[10X )[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIdClassNr( AlternatingGroup( 5 ) );[127X[104X
    [4X[28X[ 5, 8 ][128X[104X
    [4X[25Xgap>[125X [27XA := SmallClassNrGroup( 5, 8 );[127X[104X
    [4X[28XGroup([ (1,2,3), (1,4,5) ])[128X[104X
    [4X[25Xgap>[125X [27XIsAlternatingGroup( A );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
