  
  [1X2 [33X[0;0YFunctionality[133X[101X
  
  [33X[0;0YThis chapter lists all functions contained in the [5XIdent512[105X package.[133X
  
  
  [1X2.1 [33X[0;0YFunctions for building a search tree[133X[101X
  
  [33X[0;0YThis  section  describes all functions and variables connected to building a
  search tree to identify groups via implemented invariants.[133X
  
  [1X2.1-1 Pack[101X
  
  [33X[1;0Y[29X[2XPack[102X( [3Xlist[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YAn interger encoding the content of [3Xlist[103X.[133X
  
  [33X[0;0YEncodes the content of the provided [3Xlist[103X into an intger.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPack([1,2,3]);[127X[104X
    [4X[28X123[128X[104X
    [4X[25Xgap>[125X [27XPack([606, 109, 1405]);[127X[104X
    [4X[28X63095[128X[104X
    [4X[25Xgap>[125X [27XPack([[1,2,3], [606, 1405]]);[127X[104X
    [4X[28X19765[128X[104X
  [4X[32X[104X
  
  [1X2.1-2 BuildCoc[101X
  
  [33X[1;0Y[29X[2XBuildCoc[102X( [3XG[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of lists containing the conjugacy classes of [3XG[103X.[133X
  
  [33X[0;0YComputes  the  conjugacy  classes of the group [3XG[103X and clusters them such that
  each  clusters  contains  all  classes  of  a  certain  length  and  certain
  representative order (meaning the order of any represantative).[133X
  
  [1X2.1-3 ClusterList[101X
  
  [33X[1;0Y[29X[2XClusterList[102X( [3Xtree[103X[, [3X...[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of all clusters of groups in a given serach tree (the leafs
            of the tree).[133X
  
  [33X[0;0YWhen initializing the only required argument is [3Xtree[103X. The information stored
  for each cluster includs the size of the cluster, the path through the tree,
  a  lists  of  descriptions  for performed [10XEvalFpCoc[110X-tests and the ids of the
  groups.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtree := rec( fp := [ 63049, 75721, 4310 ], next := [ rec( fp := [ 337 ], next := [ [ 3, 8 ] ] ),[127X[104X
    [4X[25X>[125X [27X                [ 4 ], rec( fp := [ 32173 ], next := [ [ 5, 6, 7 ] ] ) ] );;[127X[104X
    [4X[25Xgap>[125X [27XClusterList(tree);[127X[104X
    [4X[28X[ rec( descl := [  ], ids := [ 3, 8 ], path := [ 63049, 337 ], size := 2 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 4 ], path := [ 75721 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 5, 6, 7 ], path := [ 4310, 32173 ], size := 3 ) ][128X[104X
  [4X[32X[104X
  
  [1X2.1-4 PerformTestOnGroup[101X
  
  [33X[1;0Y[29X[2XPerformTestOnGroup[102X( [3XG[103X, [3Xtest[103X[, [3Xopt[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe value returned by [3Xtest[103X, if desried encoded as an integer.[133X
  
  [33X[0;0YPerforms [3Xtest[103X on the group [3XG[103X. The following tests are implemented:[133X
  
  [30X    [33X[0;6Y[3X"Parent"[103X: Identifies the parent of [3XG[103X via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"Center"[103X:  Calculates the rank and abelian invariants of the center of
        [3XG[103X.[133X
  
  [30X    [33X[0;6Y[3X"AbelInv"[103X:  Computes  the order of each term of the derived series and
        the abelian invariants of the derived factors of [3XG[103X.[133X
  
  [30X    [33X[0;6Y[3X"Weights"[103X: Calculates the [10XLGWeights[110X of a special pcgs of [3XG[103X.[133X
  
  [30X    [33X[0;6Y[3X"PCSId"[103X:  Identifies the proper subgroups of the p-central series of [3XG[103X
        via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"ElmOrds"[103X: Collects the orders of all elements of [3XG[103X.[133X
  
  [30X    [33X[0;6Y[3X"CocList"[103X:  Collects  the  number  of conjugacy classes of a [3XG[103X of same
        length and same representative order (the order of a representative).[133X
  
  [30X    [33X[0;6Y[3X"SpSubId"[103X: Computes the Frattini subgroup, the upper and lower central
        series of [3XG[103X and identifies all terms if possible via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"MaxSubId"[103X:  Computes  all  maximal subgroups of [3XG[103X and identifies them
        via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"SubId"[103X: Collects all sizes and isormorphism types of conjugacyclasses
        of proper subgoups via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"MaxFactId"[103X:  Calculates  all  minimal  non-trivial subgroups of G and
        identifies their quotient with [3XG[103X via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"CentQuot"[103X:  Calculates the central quotients of [3XG[103X and identifies them
        via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"FactId"[103X: Identifies all proper factors of [3XG[103X via [10XIdGroup[110X.[133X
  
  [30X    [33X[0;6Y[3X"OutId"[103X:  Tries  to identifies the groups of outer automorphisms of [3XG[103X,
        either via [10XIdGroup[110X or via invariants.[133X
  
  [30X    [33X[0;6Y[3X"LattEqv"[103X:  Calculates  all conjugacy classes of proper subgoups of [3XG[103X,
        stores  their size, identifies the the isomorphism types of each class
        and determines the isomorphism types and conjugacy classes in [3XG[103X of its
        maximal subgroups and minimal supergroups.[133X
  
  [33X[0;0YThis  function  accepts  a  record  [3Xopt[103X  of  options with the single content
  [3Xopt.pack[103X,  a boolean that determines if [10XPack[110X should be applied to the result
  of a test. The default value of pack is [9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := SmallGroup(512, 1405);;[127X[104X
    [4X[25Xgap>[125X [27XPerformTestOnGroup(G, "ElmOrds");[127X[104X
    [4X[28X85416[128X[104X
    [4X[25Xgap>[125X [27XPerformTestOnGroup(G, "ElmOrds", rec(pack := false));[127X[104X
    [4X[28X[ [ 1, 1 ], [ 2, 7 ], [ 4, 24 ], [ 8, 288 ], [ 16, 64 ], [ 32, 128 ] ][128X[104X
  [4X[32X[104X
  
  [1X2.1-5 PerformTestOnClusterList[101X
  
  [33X[1;0Y[29X[2XPerformTestOnClusterList[102X( [3XCL[103X, [3Xtest[103X[, [3Xopt[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YEither  a  list  of pairs each containg the path of the respective
            cluster  and  the  subbrunch resulting from [3Xtest[103X or just a list of
            subbranches.[133X
  
  [33X[0;0YPerforms  a  test  on  the  groups of clusters in the list [3XCL[103X. The tests are
  performed  by [10XPerformTestOnGroup[110X. [3XCL[103X could either be a cluster list produced
  by  [10XClusterList[110X or be a list of lists containing ids. In the former case the
  output  is  a list of pairs containg the path of a cluster and the subbrunch
  resulting  from  the  test. In the latter case only a list of subbranches is
  returned.  This  function accepts a record [3Xopt[103X of options with the following
  content:[133X
  
  [30X    [33X[0;6Y[3Xpack[103X: A boolean that is handed to [10XPerformTestOnGroup[110X.[133X
  
  [30X    [33X[0;6Y[3Xign1cl[103X:  A  boolean  that  determines  if clusters of size 1 should be
        ignored.[133X
  
  [30X    [33X[0;6Y[3Xorder[103X: An integer giving the order of the groups with ids in [3XCL[103X.[133X
  
  [30X    [33X[0;6Y[3Xverbose[103X: An boolean that determines if a progress should be printed.[133X
  
  [33X[0;0YThe default value is [3Xpack[103X:=[9Xtrue[109X, [3Xign1cl[103X:=[9Xtrue[109X, [3Xorder[103X:=512, [3Xverbose[103X:=[9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XCL:=[[1..5],[6..10]];;[127X[104X
    [4X[25Xgap>[125X [27XPerformTestOnClusterList(CL,"ElmOrds",rec(verbose:=false));[127X[104X
    [4X[28X[ rec( fp := [ 88570, 4310, 63049, 75721 ],next := [ [ 1 ], [ 2, 5 ], [ 3 ], [ 4 ] ] ),[128X[104X
    [4X[28X  rec( fp := [ 4310, 63049 ], next := [ [ 6, 7, 9, 10 ], [ 8 ] ] ) ][128X[104X
  [4X[32X[104X
  
  [1X2.1-6 AddClusterTestResults[101X
  
  [33X[1;0Y[29X[2XAddClusterTestResults[102X( [3Xtree[103X, [3XTR[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA search tree (implemented as a record).[133X
  
  [33X[0;0YExtends  [3Xtree[103X  by  the  test  results  stored  in  [3XTR[103X,  a list of pairs each
  containing  the  path  in [3Xtree[103X and a branch (a tree of depth one), extending
  the corresponding cluster.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtree:=BuildSearchTree([3,4,5,6,7,8], 512, ["ElmOrds"]);;[127X[104X
    [4X[25Xgap>[125X [27XCL := ClusterList(tree);[127X[104X
    [4X[28X[ rec( descl := [  ], ids := [ 3, 8 ], path := [ 63049 ], size := 2 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 4 ], path := [ 75721 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 5, 6, 7 ], path := [ 4310 ], size := 3 ) ][128X[104X
    [4X[25Xgap>[125X [27XTR:=PerformTestOnClusterList(CL,"MaxSubId",rec(verbose:=false));[127X[104X
    [4X[28X[ [ [ 63049 ], rec( fp := [ 62603 ], next := [ [ 3, 8 ] ] ) ],[128X[104X
    [4X[28X  [ [ 4310 ], rec( fp := [ 11744, 86646 ], next := [ [ 5 ], [ 6, 7 ] ] ) ] ][128X[104X
    [4X[25Xgap>[125X [27XAddClusterTestResults(tree,TR);;[127X[104X
    [4X[25Xgap>[125X [27XClusterList(tree);[127X[104X
    [4X[28X[ rec( descl := [  ], ids := [ 3, 8 ], path := [ 63049, 62603 ], size := 2 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 4 ], path := [ 75721 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 5 ], path := [ 4310, 11744 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 6, 7 ], path := [ 4310, 86646 ], size := 2 ) ][128X[104X
  [4X[32X[104X
  
  [1X2.1-7 BuildSearchTree[101X
  
  [33X[1;0Y[29X[2XBuildSearchTree[102X( [3XN[103X, [3Xorder[103X, [3Xtests[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA search tree (implemented as a record).[133X
  
  [33X[0;0YBuilds  a  search  tree for the groups with ids in [3XN[103X or, if [3XN[103X is an integer,
  the  first  [3XN[103X  groups of size [3Xorder[103X, using the tests from the list [3Xtests[103X and
  [10XPerformTestOnClusterList[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XBuildSearchTree(10, 512, ["MaxSubId", "CentQuot"]);[127X[104X
    [4X[28Xrec( fp := [ 25611, 76646, 62603, 89031, 11744, 86646, 63803, 78015 ],[128X[104X
    [4X[28X    next := [ [ 1 ], [ 2 ], rec( fp := [ 63542, 75796 ], next := [ [ 3 ], [ 8 ] ] ), [ 4 ], [ 5 ],[128X[104X
    [4X[28X     rec( fp := [ 30861, 61235 ], next := [ [ 6 ], [ 7 ] ] ), [ 9 ], [ 10 ] ] )[128X[104X
    [4X[25Xgap>[125X [27XBuildSearchTree([1,2,3,5,7,11], 512, ["ElmOrds", "CocList"]);[127X[104X
    [4X[28Xrec( fp := [ 88570, 4310, 63049, 94635 ],[128X[104X
    [4X[28X    next := [ [ 1 ], rec( fp := [ 96561, 32173 ], next := [ [ 2 ], [ 5, 7 ] ] ), [ 3 ], [ 11 ] ] )[128X[104X
  [4X[32X[104X
  
  [1X2.1-8 FindParametersForCocTest[101X
  
  [33X[1;0Y[29X[2XFindParametersForCocTest[102X( [3Xcoc[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA  pair  made of a list of return values from [10XEvalFpCoc[110X and a list
            describing the test performed by [10XEvalFpCoc[110X.[133X
  
  [33X[0;0YDoes  a  parameter  search such that evaluating [10XEvalFpCoc[110X on the clusters of
  conjugacy classes in [3Xcoc[103X results into at least 2 different values.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xcoc:=List([3, 8],id->BuildCoc(SmallGroup(512, id)));;[127X[104X
    [4X[25Xgap>[125X [27XFindParametersForCocTest(coc);[127X[104X
    [4X[28X[ [ 1363, 46760 ], [ 3, 2, 4 ] ][128X[104X
  [4X[32X[104X
  
  [1X2.1-9 DeEncodeDesc[101X
  
  [33X[1;0Y[29X[2XDeEncodeDesc[102X( [3Xdesc[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YAn interger or a list of integers[133X
  
  [33X[0;0YDe-  or  encodes  the  description  for  [10XEvalFPCoc[110X,  depending if an integer
  (decodes  to  a  list)  or  a  list  of  integers (encodes to an integer) is
  provided.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDeEncodeDesc([3,2,4]);[127X[104X
    [4X[28X302004[128X[104X
    [4X[25Xgap>[125X [27XDeEncodeDesc(302004);[127X[104X
    [4X[28X[3, 2, 4][128X[104X
  [4X[32X[104X
  
  [1X2.1-10 AlterCocAccordingToFp[101X
  
  [33X[1;0Y[29X[2XAlterCocAccordingToFp[102X( [3Xcoc[103X, [3Xdesc[103X, [3Xfp[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of lists containing the conjugacy classes[133X
  
  [33X[0;0YAlters [3Xcoc[103X according the result [3Xfp[103X from [10XEvalFPCoc[110X evaluated with [3Xdesc[103X.[133X
  
  [1X2.1-11 CocSplitRoutine[101X
  
  [33X[1;0Y[29X[2XCocSplitRoutine[102X( [3XIds[103X, [3Xorder[103X, [3Xdesclist[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA serach tree (implemented as a record) of depth one.[133X
  
  [33X[0;0YBuilds  a  search  tree of depth one to distinguish the groups of [3Xorder[103X with
  ids  in  [3XIds[103X  based  on  the  returned  values of [10XEvalFpCoc[110X. Past tests with
  [10XEvalFpCoc[110X  which  altered  the  clusters  of  conjugacy  classes returned by
  [10XBuildCoc[110X can be recreated via the list [3Xdesclist[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XCocSplitRoutine([5,6,7], 512, []);[127X[104X
    [4X[28Xrec( desc := [104003], fp := [ 1214, 16 ],[128X[104X
    [4X[28X     next := [ [ 5 ], rec( desc := [40204005], fp := [ 20792, 46881 ], next := [ [ 6 ], [ 7 ] ] ) ] )[128X[104X
  [4X[32X[104X
  
  [1X2.1-12 PerformCocTestOnClusterList[101X
  
  [33X[1;0Y[29X[2XPerformCocTestOnClusterList[102X( [3XCL[103X[, [3Xopt[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA  list  of pairs each containg the path of the respective cluster
            and the subbrunch resulting from [10XCocSplitRoutine[110X.[133X
  
  [33X[0;0YTries  to split the clusters in the list [3XCL[103X via [10XCocSplitRoutine[110X. [3XCL[103X needs to
  be  a  cluster  list produced by [10XClusterList[110X. This function accepts a record
  [3Xopt[103X of options with the following content:[133X
  
  [30X    [33X[0;6Y[3Xpack[103X:  A  boolean  that  determines  if  [10XPack[110X should be applied to the
        result.[133X
  
  [30X    [33X[0;6Y[3Xorder[103X: An integer giving the order of the groups with ids in [3XCL[103X.[133X
  
  [30X    [33X[0;6Y[3Xverbose[103X: An boolean that determines if a progress should be printed.[133X
  
  [33X[0;0YThe default value is [3Xpack[103X:=[9Xtrue[109X, [3Xorder[103X:=512, [3Xverbose[103X:=[9Xtrue[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtree:=PerformTestOnClusterList([[3,8,5,6,7]],"CocList",rec(verbose:=false));;[127X[104X
    [4X[25Xgap>[125X [27XCL:=ClusterList(tree);[127X[104X
    [4X[28X[ rec( descl := [  ], ids := [ 3, 8 ], path := [ 337 ], size := 2 ),[128X[104X
    [4X[28X  rec( descl := [  ], ids := [ 5, 6, 7 ], path := [ 32173 ], size := 3 ) ][128X[104X
    [4X[25Xgap>[125X [27XTR:=PerformCocTestOnClusterList(CL,rec(verbose:=false));;[127X[104X
    [4X[25Xgap>[125X [27XAddClusterTestResults(tree, TR);;[127X[104X
    [4X[25Xgap>[125X [27XClusterList(tree);[127X[104X
    [4X[28X[ rec( descl := [ [ 302004 ] ], ids := [ 3 ], path := [ 337, 1363 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [ [ 302004 ] ], ids := [ 8 ], path := [ 337, 46760 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [ [ 104003 ] ], ids := [ 5 ], path := [ 32173, 1214 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [ [ 104003 ], [ 40204005 ] ], ids := [ 6 ], path := [ 32173, 16, 20792 ], size := 1 ),[128X[104X
    [4X[28X  rec( descl := [ [ 104003 ], [ 40204005 ] ], ids := [ 7 ], path := [ 32173, 16, 46881 ], size := 1 ) ][128X[104X
  [4X[32X[104X
  
  
  [1X2.2 [33X[0;0YIdentifying groups via a serach tree[133X[101X
  
  [33X[0;0YThis  section  briefly  describes  the function and variable in this package
  used to identify a arbitrary group of order 512.[133X
  
  [1X2.2-1 ID_GROUP_512_TREE[101X
  
  [33X[1;0Y[29X[2XID_GROUP_512_TREE[102X [32X global variable[133X
  
  [33X[0;0YThe  serach tree of groups of order 512 that can determine the vast majority
  of  groups  via  the  packed  invariants  [3X"MaxSubId"[103X, [3X"CentQuot"[103X, [3X"ElmOrds"[103X,
  [3X"CocList"[103X from [10XPerformTestOnGroup[110X and the results from [10XCocSplitRoutine[110X.[133X
  
  [1X2.2-2 IdGroup512[101X
  
  [33X[1;0Y[29X[2XIdGroup512[102X( [3XG[103X[, [3Xopt[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe id of the group of order 512 in [10XSmallGroup[110X isomorphic to [3XG[103X.[133X
  
  [33X[0;0YIdentifies  the  group [3XG[103X of order 512. This function accepts a record [3Xopt[103X of
  options with the following content:[133X
  
  [30X    [33X[0;6Y[3Xpack[103X: A boolean that is handed to [10XPerformTestOnGroup[110X.[133X
  
  [30X    [33X[0;6Y[3Xtests[103X:   A   list   of  strings,  that  determines  which  tests  from
        [10XPerformTestOnGroup[110X are used to distinguish groups with [3Xtree[103X.[133X
  
  [30X    [33X[0;6Y[3Xtree[103X:  A serachtree that was build using the invariants resulting from
        [3Xtests[103X.[133X
  
  [30X    [33X[0;6Y[3Xanupq[103X:  A boolean that determines if the [3XIsPqIsomorphicPGroup[103X from the
        [5XAnupq[105X-Package  should  be used to distinguish remaining candidates for
        the[133X
  
  [33X[0;0Yidentity  of  [3XG[103X  if  necessary.  The  default  value  is [3Xtests[103X:=[[3X"MaxSubId"[103X,
  [3X"CentQuot"[103X, [3X"ElmOrds"[103X, [3X"CocList"[103X], [3Xpack[103X:= [9Xtrue[109X, [3Xanupq[103X:=[9Xtrue[109X. tree is unbound
  and [10XID_GROUP_512_TREE[110X is used by default.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := Image(IsomorphismPermGroup(SmallGroup(512, 1984)));;[127X[104X
    [4X[25Xgap>[125X [27XIdGroup512(G);[127X[104X
    [4X[28X1984[128X[104X
    [4X[25Xgap>[125X [27XH := Image(IsomorphismPermGroup(SmallGroup(512, 449)));;[127X[104X
    [4X[25Xgap>[125X [27XIdGroup512(H, rec(anupq := false));[127X[104X
    [4X[28X[449, 450][128X[104X
    [4X[25Xgap>[125X [27XIdGroup512(H, rec(anupq := true));[127X[104X
    [4X[28X449[128X[104X
  [4X[32X[104X
  
  
  [1X2.3 [33X[0;0YFunctions to determine siblings and twins[133X[101X
  
  [33X[0;0YThis section describes all functions to calculate[133X
  
  [30X    [33X[0;6Ysubgroup-equivalent   groups,   i.e.  groups  with  isomorphic  proper
        subgroups,[133X
  
  [30X    [33X[0;6Yfactor-equivalent groups, i.e. groups with isomorphic proper factors,[133X
  
  [30X    [33X[0;6Ysiblings,  i.e.  groups  that  are subgroup- and factor equivalent and
        where  the  bijection  of  subgroups  preservs  conjugacy and maps the
        Frattini subgroups, lower and upper central series onto the respective
        counterparts,[133X
  
  [30X    [33X[0;6Ytwins, siblings that are also Brauer Pairs.[133X
  
  [33X[0;0YIt  also  provides  functions to load precalculated lists of such groups and
  functions  to  calculate  invariants  of  these  sets of groups and a way to
  export latex-tables-rows with these informations[133X
  
  [1X2.3-1 SplitBinsByTest[101X
  
  [33X[1;0Y[29X[2XSplitBinsByTest[102X( [3XBins[103X, [3Xorder[103X, [3Xtest[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of sublists of the provided lists in [3XBins[103X.[133X
  
  [33X[0;0YTakes  a list of bins with ids of groups of size [3Xorder[103X and performs [3Xtest[103X via
  [10XPerformTestOnGroup[110X  on  them.  Depending  on the outcome a bin is split into
  smaller bins according to the test result.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSplitBinsByTest([[1..10]], 512, "MaxSubId");[127X[104X
    [4X[28X[ [ 1 ], [ 2 ], [ 3, 8 ], [ 4 ], [ 5 ], [ 6, 7 ], [ 9 ], [ 10 ] ][128X[104X
  [4X[32X[104X
  
  [1X2.3-2 CalculateSiblings[101X
  
  [33X[1;0Y[29X[2XCalculateSiblings[102X( [3Xorder[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of lists of ids of groups of size [3Xorder[103X that are siblings.[133X
  
  [33X[0;0YPerforms  all  necessary  tests on all groups of size [3Xorder[103X to determine all
  sets of Siblings.[133X
  
  [1X2.3-3 SiblingsIds[101X
  
  [33X[1;0Y[29X[2XSiblingsIds[102X( [3Xorder[103X[, [3Xindices[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of lists of ids of groups of size [3Xorder[103X that are siblings.[133X
  
  [33X[0;0YLoads and returns a list of ids of siblings of size [3Xorder[103X if available. If a
  list [3Xindices[103X is given only the respective entries are returned.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSiblingsIds(128);[127X[104X
    [4X[28X[ [ 1317, 1322 ], [ 1327, 1329 ], [ 1597, 1598 ] ][128X[104X
    [4X[25Xgap>[125X [27XSiblingsIds(256, [1..3]);[127X[104X
    [4X[28X[ [ 227, 228 ], [ 258, 260, 261 ], [ 845, 846 ] ][128X[104X
  [4X[32X[104X
  
  [1X2.3-4 Siblings[101X
  
  [33X[1;0Y[29X[2XSiblings[102X( [3Xorder[103X[, [3Xindices[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of groups of size [3Xorder[103X that are siblings.[133X
  
  [33X[0;0YLoads  and  returns a list of ids of siblings of size [3Xorder[103X if available. If
  [3Xindices[103X are given only the respective entries are returned.[133X
  
  [1X2.3-5 DetermineBrauerPairs[101X
  
  [33X[1;0Y[29X[2XDetermineBrauerPairs[102X( [3XBins[103X, [3Xorder[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of sublists of the provided lists in [3XBins[103X.[133X
  
  [33X[0;0YDetermines  the  Brauer  pairs among the bins of ids of groups of size [3Xorder[103X
  listet in [3XBins[103X.[133X
  
  [1X2.3-6 TwinsIds[101X
  
  [33X[1;0Y[29X[2XTwinsIds[102X( [3Xorder[103X[, [3Xindices[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of lists of ids of groups of size [3Xorder[103X that are twins.[133X
  
  [33X[0;0YLoads  and  returns  a list of ids of twins of size [3Xorder[103X if available. If a
  list [3Xindices[103X is given only the respective entries are returned.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XTwinsIds(256);[127X[104X
    [4X[28X[ [ 1734, 1735 ], [ 1736, 1737 ], [ 1739, 1740 ], [ 1741, 1742 ], [ 3678, 3679 ], [ 4154, 4157 ], [ 4155, 4158 ], [ 4156, 4159 ] ][128X[104X
    [4X[25Xgap>[125X [27XTwinsIds(256, [1..3]);[127X[104X
    [4X[28X[ [ 1734, 1735 ], [ 1736, 1737 ], [ 1739, 1740 ] ][128X[104X
  [4X[32X[104X
  
  [1X2.3-7 Twins[101X
  
  [33X[1;0Y[29X[2XTwins[102X( [3Xorder[103X[, [3Xindices[103X] ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of groups of size [3Xorder[103X that are twins.[133X
  
  [33X[0;0YLoads  and  returns  a  list  of twins of size [3Xorder[103X if available. If a list
  [3Xindices[103X is given only the respective entries are returned.[133X
  
  [1X2.3-8 SplitExactOutEqv[101X
  
  [33X[1;0Y[29X[2XSplitExactOutEqv[102X( [3XBin[103X, [3Xorder[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YSublists  of  the  provided  [3XBin[103X containing the outer-automorphism
            equivalent groups among them.[133X
  
  [33X[0;0YSplits  list  of  ids  of  groups  of  size  [3Xorder[103X  in  [3XBin[103X,  if their outer
  automorphism  groups are isomorphic, via [10XIsPqIsomorphicPGroup[110X from the [5XAnupq[105X
  package.[133X
  
  [1X2.3-9 BinsOfOutEqGroups[101X
  
  [33X[1;0Y[29X[2XBinsOfOutEqGroups[102X( [3XBins[103X, [3Xorder[103X, [3Xexact[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of sublists of the provided lists in [3XBins[103X.[133X
  
  [33X[0;0YTakes  a  list  of bins with ids of groups of size [3Xorder[103X and evaluates which
  are  outer-  automorphism  equivalent. If [3Xexact[103X = [9Xtrue[109X, sets of groups which
  could  not  be  ruled  out to be equivalent are testet via [10XSplitExactOutEqv[110X.
  Otherwise these sets are simply included.[133X
  
  [1X2.3-10 LoadSuperTwins[101X
  
  [33X[1;0Y[29X[2XLoadSuperTwins[102X( [3Xorder[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA  list  of  lists  of  ids of twins of size [3Xorder[103X that are outer-
            automorphism equivalent.[133X
  
  [33X[0;0YLoads and returns a list of ids of twins of size [3Xorder[103X if available.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadSuperTwins(512);[127X[104X
    [4X[28X[ [ 28340, 28341 ], [ 1364, 1368 ], [ 1365, 1369 ], [ 1366, 1370 ], [ 1367, 1371 ], [ 1682, 1683 ],[128X[104X
    [4X[28X [ 1680, 1681 ], [ 1746, 1747 ], [ 1748, 1749 ], [ 1750, 1751 ], [ 1752, 1753 ], [ 53283, 53285 ],[128X[104X
    [4X[28X [ 43261, 43262 ], [ 28426, 28427 ], [ 29033, 29034 ], [ 29035, 29036 ], [ 30917, 30923 ],[128X[104X
    [4X[28X [ 30981, 30983 ], [ 32666, 32667 ], [ 53282, 53284 ], [ 139350, 139355 ], [ 53396, 53398 ],[128X[104X
    [4X[28X [ 53382, 53384 ], [ 42518, 42519 ], [ 42482, 42483 ], [ 42520, 42521 ], [ 43208, 43209 ],[128X[104X
    [4X[28X [ 45383, 45384 ], [ 53306, 53307 ], [ 53383, 53385 ], [ 53397, 53399 ], [ 53484, 53485 ],[128X[104X
    [4X[28X [ 253429, 253432 ], [ 253447, 253450 ] ][128X[104X
  [4X[32X[104X
  
  [1X2.3-11 TableOfGroupInvariants[101X
  
  [33X[1;0Y[29X[2XTableOfGroupInvariants[102X( [3Xbins[103X, [3Xorder[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of records[133X
  
  [33X[0;0YCalculates  a  number  of  invariants  and characteristics for the groups of
  order  [3Xorder[103X  with ids in lists of [3Xbins[103X. If the invariants are equal for all
  ids of a bin, a record listing everything is added to the returned list. The
  invariants/characteristics are:[133X
  
  [30X    [33X[0;6Ythe rank of the group[133X
  
  [30X    [33X[0;6Ythe p-class of the group[133X
  
  [30X    [33X[0;6Ythe information if the groups are isoclinic[133X
  
  [30X    [33X[0;6Ythe size of the group of automorphisms[133X
  
  [30X    [33X[0;6Ythe information if the groups are outer-automorphism-equivalent[133X
  
  [30X    [33X[0;6Ythe information if the groups form a modular isomorphic pair (MIP)[133X
  
  [33X[0;0YThe  entries [3Xisoclinic[103X and [3XMIP[103X are not deteremind in this function but could
  be added to the entries of a table via [10XDetermineMIP[110X and [10XDetermineIsoclinic[110X.[133X
  
  [1X2.3-12 DetermineMIP[101X
  
  [33X[1;0Y[29X[2XDetermineMIP[102X( [3Xtab[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of records[133X
  
  [33X[0;0YDetermines  if  the  sets  of  groups  represented by the records in [3Xtab[103X are
  modular  isomorphic  pairs  using  the  [5XModIsom[105X package. This information is
  added to each record and the updated list is returned.[133X
  
  [1X2.3-13 DetermineIsoclinic[101X
  
  [33X[1;0Y[29X[2XDetermineIsoclinic[102X( [3Xtab[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of records[133X
  
  [33X[0;0YDetermines  if  the  sets  of  groups  represented by the records in [3Xtab[103X are
  isoclinic  using  the [5XXMod[105X package. This information is added to each record
  and the updated list is returned.[133X
  
  [1X2.3-14 MergeTablesOfInvariants[101X
  
  [33X[1;0Y[29X[2XMergeTablesOfInvariants[102X( [3Xtab1[103X, [3Xtab2[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA list of records[133X
  
  [33X[0;0YMerges  the  tables  [3Xtab1[103X and [3Xtab2[103X into one table. If a record entry of only
  one  is  empty  the  non-empty  entry  is  used.  This  enables the parallel
  computation of isoclinism and MIPs.[133X
  
  [1X2.3-15 PrintTableToFile[101X
  
  [33X[1;0Y[29X[2XPrintTableToFile[102X( [3Xtab[103X, [3Xfilename[103X ) [32X function[133X
  
  [33X[0;0YExports  the  content  of the table [3Xtab[103X into [3Xfilename[103X table.txt as rows of a
  latex table.[133X
  
