  
  [1X4 [33X[0;0YThe modular isomorphism problem[133X[101X
  
  [33X[0;0YApplications of the methods in this package include the study of the modular
  isomorphism problem for the groups of small order from the SmallGroupLibrary
  -  first  for  groups  of order dividing [22X2^8[122X, [22X3^6[122X and [22X2^9[122X [Eic08] [EK11] and
  later  also [22X3^7[122X and [22X5^6[122X [MM22]. This section contains the functions used for
  this  purpose  as well as an overview of how the Modular Isomorphism Problem
  can  be  studied  for  any set of groups using on one hand group-theoretical
  invariants and on the other hand the canonical form of nilpotent algebras.[133X
  
  
  [1X4.1 [33X[0;0YComputing bins and checking bins[133X[101X
  
  [33X[0;0YA set of groups which share all the group-theoretical invariants implemented
  in  the  package  is  called  [13Xbin[113X.  To determine such bins the main function
  available is:[133X
  
  [1X4.1-1 BinsByGT[101X
  
  [33X[1;0Y[29X[2XBinsByGT[102X( [3Xp[103X, [3Xn[103X[, [3XL[103X][, [3Xfalse[103X] ) [32X function[133X
  
  [33X[0;0YIf  the function is called as [10XBinsByGT(p, n)[110X, then it returns a partition of
  the list [10X[1..NumberSmallGroups(p^n)][110X into sublists so that the groups in the
  corresponding  lists  share  all  the group-theoretical invariants, i.e. the
  modular  group algebras of two groups [10XSmallGroup(p^n, i)[110X and [10XSmallGroup(p^n,
  j)[110X  over  the  field  [22Xℙ_p[122X  cannot  be isomorphic if [22Xi[122X and [22Xj[122X are in different
  lists.[133X
  
  [33X[0;0YIf  the  function  is  called as [10XBinsByGT(p, n, L)[110X, then [22XL[122X must be a list of
  groups  of  order [22Xp^n[122X and the function will return a partition of the groups
  of  [22XL[122X which share all the group-theoretical invariants. Alternatively, [22XL[122X can
  be a list of group IDs of groups of order [22Xp^n[122X.[133X
  
  [33X[0;0YIf  the function is called as [10XBinsByGT(p, n, L, false)[110X then [22XL[122X must be a list
  of  groups  of  order  [22Xp^n[122X  and  [9Xfalse[109X  deactivates  the  calculation of the
  dimensions of the second cohomology groups. This can be switched off because
  for  some types of groups [5XGAP[105X cannot apply the needed functions, and because
  computing  the  second  cohomology  groups  is  arguably  the hardest of the
  invariants to test manually.[133X
  
  [33X[0;0YSeveral  variations  of  [2XBinsByGT[102X  are available. The first two apply to the
  case when a list of groups is being studied instead of group IDs.[133X
  
  [1X4.1-2 MIPSplitGroupsByGroupTheoreticalInvariants[101X
  
  [33X[1;0Y[29X[2XMIPSplitGroupsByGroupTheoreticalInvariants[102X( [3XL[103X ) [32X function[133X
  
  [33X[0;0Ydoes  the  same  as [10XBinsByGT(p,n,L)[110X but computes the numbers [22Xp[122X and [22Xn[122X itself.
  The input variable must be a list of groups of the same order. Similarly[133X
  
  [1X4.1-3 MIPSplitGroupsByGroupTheoreticalInvariantsNoCohomology[101X
  
  [33X[1;0Y[29X[2XMIPSplitGroupsByGroupTheoreticalInvariantsNoCohomology[102X( [3XL[103X ) [32X function[133X
  
  [33X[0;0Ycomputes [10XBinsByGT(p, n, L, false)[110X.[133X
  
  [33X[0;0YMoreover,  all  the  three  functions described before have variations where
  only  those  group-theoretical  invariants are computed that are known to be
  [22Xℙ[122X-invariants  over  any field [22Xℙ[122X of characteristic [22Xp[122X. The input and output of
  these functions is exactly as for the three previous functions.[133X
  
  [1X4.1-4 BinsByGTAllFields[101X
  
  [33X[1;0Y[29X[2XBinsByGTAllFields[102X( [3Xp[103X, [3Xn[103X[, [3XL[103X][, [3Xfalse[103X] ) [32X function[133X
  [33X[1;0Y[29X[2XMIPSplitGroupsByGroupTheoreticalInvariantsAllFields[102X( [3XL[103X ) [32X function[133X
  [33X[1;0Y[29X[2XMIPSplitGroupsByGroupTheoreticalInvariantsAllFieldsNoCohomology[102X( [3XL[103X ) [32X function[133X
  
  [33X[0;0YThe  group-theoretical  invariants used by the function [2XBinsByGT[102X ([14X4.1-1[114X) and
  its  variations  are  described  below.  Moreover,  [5XGAP[105X  prints more or less
  information on the progress inside these functions, if [10XInfoModIsom[110X is set to
  [22X1[122X  or  [22X0[122X,  respectively.  Examples  of the use of the functions are included
  below.[133X
  
  [33X[0;0YThe  main  function  to  apply the algorithm computing the canonical form of
  nilpotent algebras in the context of the Modular Isomorphism Problem is:[133X
  
  [1X4.1-5 MIPSplitGroupsByAlgebras[101X
  
  [33X[1;0Y[29X[2XMIPSplitGroupsByAlgebras[102X( [[3Xp[103X, [3Xn[103X, ][3Xbin[103X[, [3Xf[103X] ) [32X function[133X
  
  [33X[0;0YIf  [10XMIPSplitGroupsByAlgebras(p,  n, bin, [f])[110X is called then the algebras of
  groups  of  order  [22Xp^n[122X  with  group  IDs  contained  in [3Xbin[103X are studied. The
  underlying field is of order [22Xp^f[122X or, if [22Xf[122X is not given, of order [22Xp[122X.[133X
  
  [33X[0;0YIf  the  function  is  called as [10XMIPSplitGroupsByAlgebras(bin, [f])[110X then [3Xbin[103X
  must  be  a  list  of  groups of the same prime power order and the function
  studies  the  group  algebras  of  the groups in [3Xbin[103X over the field with [22Xp^f[122X
  elements or, if no [22Xf[122X is given, of order [22Xp[122X.[133X
  
  [33X[0;0YMore  precisely,  in  the first case when [3Xbin[103X is a list of integers, for [22Xi ∈
  bin[122X  let  [22XG_i[122X  denote  [10XSmallGroup(p^n,  i)[110X. In the second case [22XG_i[122X just runs
  through the groups contained in [3Xbin[103X. Denote by [22XA_i[122X the augmentation ideal of
  [22Xℙ  G_i[122X where [22Xℙ[122X is the field of order [22Xp^f[122X or simply [22Xp[122X, if [22Xf[122X is not given. The
  function  computes  and  compares  the canonical forms of the algebras [22XA_i /
  A_i^j[122X for every [22Xi ∈ bin[122X and increasing natural number [22Xj[122X.[133X
  
  [33X[0;0YAt  each  level  [22Xj[122X it splits the current bins into sub-bins according to the
  different canonical forms of [22XA_i/A_i^j[122X. Bins of length 1 are then discarded.[133X
  
  [33X[0;0YThe  function  returns  if  no  further  bins  are  available  and  provides
  information at which level the splitting of the bins took place.[133X
  
  [33X[0;0YFor more involved calculations one can use the function[133X
  
  [1X4.1-6 MIPBinSplit[101X
  
  [33X[1;0Y[29X[2XMIPBinSplit[102X( [3Xp[103X, [3Xn[103X, [3Xmax[103X, [3Xstart[103X, [3Xstep[103X, [3XL[103X[, [3Xf[103X] ) [32X function[133X
  
  [33X[0;0YGiven  a  list [22XL[122X of small group library IDs or a list of groups of order [22Xp^n[122X
  this  function  checks  isomorphism of the associated modular group algebras
  using canonical forms for the quotients of the augmentation ideals [22XA[122X of [22Xℙ G[122X.
  Here  [22Xℙ[122X  is  either  [22Xℙ_p[122X  or  [22Xℙ_p^f[122X,  if [22Xf[122X is given. The parameter [3Xmax[103X is an
  integer or [9Xfalse[109X that determines the maximal quotients [22XA/A^max[122X to be checked
  (if  [9Xfalse[109X  is  given  as  input,  then  the  quotients  are  enlarged until
  non-isomorphic quotients are found or eventually the full augmentation ideal
  will  be  checked).  The parameter [3Xstart[103X specifies which quotients [22XA/A^start[122X
  are  precomputed. The parameter [3Xstep[103X determines in which steps the quotients
  are  enlarged  if  necessary  during  the isomorphism check. The output is a
  record containing three entries: [10Xbins[110X contains all the groups, for which the
  non-  isomorphism  of  the  associated  modular  group algebras could not be
  determined;  [10Xsplits[110X  contains all the groups, for which the associated group
  algebras  were determined to be non-isomorphic (and the first non-isomorphic
  quotient);   [10Xtime[110X   contains   the   time   used  for  the  computation  (in
  milliseconds).[133X
  
  [33X[0;0YFor big algebras all of these functions can use a lot of time and memory. To
  have  a  better  idea  on  the  progress  of the calculations one should set
  [10XInfoModIsom[110X to 1.[133X
  
  [33X[0;0YWe first show how to study a fixed order:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xbins := BinsByGT(2,6);[127X[104X
    [4X[28X[ [ 156, 158, 160 ], [ 155, 157 ], [ 173, 176 ], [ 179, 180 ], [ 20, 22 ] ][128X[104X
    [4X[25Xgap>[125X [27XList(bins, bin -> MIPSplitGroupsByAlgebras(2, 6, bin));[127X[104X
    [4X[28X[ rec( bins := [  ], splits := [ [ 7, [ 156, 158, 160 ] ] ], time := 2195 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 7, [ 155, 157 ] ] ], time := 1505 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 7, [ 173, 176 ] ] ], time := 3294 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 7, [ 179, 180 ] ] ], time := 3233 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 4, [ 20, 22 ] ] ], time := 160 ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  shows  that  the Modular Isomorphism Problem has a positive answer for
  groups  of  order  [22X64[122X  for  the  field  [22Xℙ_2[122X.  The result means e.g. that the
  smallest  quotients  (of Loewy layers) such that the augmentation ideals [22XA_1[122X
  and [22XA_2[122X of the group algebras over [22Xℙ_2[122X of the groups [10XSmallGroup(64, 156)[110X and
  [10XSmallGroup(64,  158)[110X  are  not isomorphic are [22XA_1/A_1^8[122X and [22XA_2/A_2^8[122X. These
  are   [22XA_1/A_1^5[122X   and  [22XA_2/A_2^5[122X  for  the  groups  [10XSmallGroup(64,  20)[110X  and
  [10XSmallGroup(64, 22)[110X.[133X
  
  [33X[0;0YThe  following  shows  that  the  problem also has a positive answer for the
  group  algebras  of groups of order [22X64[122X over the field [22Xℙ_4[122X. Note that for the
  groups  [10XSmallGroup(64, 20)[110X and [10XSmallGroup(64, 22)[110X one has to consider deeper
  quotients in this case.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xbins := BinsByGTAllFields(2,6);[127X[104X
    [4X[28X[ [ 156, 158, 160 ], [ 155, 157 ], [ 173, 176 ], [ 179, 180 ], [ 104, 105 ], [128X[104X
    [4X[28X  [ 13, 14 ], [ 20, 22 ], [ 18, 19 ] ][128X[104X
    [4X[25Xgap>[125X [27XList(bins, bin -> MIPSplitGroupsByAlgebras(2, 6, bin, 2));[127X[104X
    [4X[28X[ rec( bins := [  ], splits := [ [ 7, [ 156, 158, 160 ] ] ], time := 34833 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 7, [ 155, 157 ] ] ], time := 22479 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 7, [ 173, 176 ] ] ], time := 9806 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 7, [ 179, 180 ] ] ], time := 7819 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 4, [ 104, 105 ] ] ], time := 2226 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 6, [ 13, 14 ] ] ], time := 707 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 6, [ 20, 22 ] ] ], time := 3917 ), [128X[104X
    [4X[28X  rec( bins := [  ], splits := [ [ 6, [ 18, 19 ] ] ], time := 2891 ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  other  functions can be used to study the problem for groups not coming
  from the library. The following groups are studied in [GM24].[133X
  
  [4X[32X[104X
    [4XR := SmallGroup(64, 19);[104X
    [4XQ := SmallGroup(64, 18);[104X
    [4X[104X
    [4XDR := DirectProduct(R,Q);[104X
    [4XGDR := GeneratorsOfGroup(DR);[104X
    [4Xz1 := GDR[3];[104X
    [4Xz2 := GDR[9];[104X
    [4XN := Group(z1*z2^(-1));[104X
    [4XG := DR/N;[104X
    [4X[104X
    [4XDR := DirectProduct(Q,Q);[104X
    [4XGDR := GeneratorsOfGroup(DR);[104X
    [4Xz1 := GDR[3];[104X
    [4Xz2 := GDR[9];[104X
    [4XN := Group(z1*z2^(-1));[104X
    [4XH := DR/N;[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XMIPSplitGroupsByGroupTheoreticalInvariantsAllFields([G,H]);[127X[104X
    [4X[28X[ [ Group([ f1, f2, f7, f3, f4, f10, f5, f6, f7, f8, f9, f10 ]), [128X[104X
    [4X[28X      Group([ f1, f2, f7, f3, f4, f10, f5, f6, f7, f8, f9, f10 ]) ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X# the groups can not be split over all fields by group-theoretical invariants[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XMIPSplitGroupsByAlgebras([G,H]);[127X[104X
    [4X[28Xrec( bins := [  ], [128X[104X
    [4X[28X  splits := [128X[104X
    [4X[28X    [ [128X[104X
    [4X[28X      [ 4, [128X[104X
    [4X[28X          [ Group([ f1, f2, f7, f3, f4, f10, f5, f6, f7, f8, f9, f10 ]), [128X[104X
    [4X[28X              Group([ f1, f2, f7, f3, f4, f10, f5, f6, f7, f8, f9, f10 ]) ] ] [128X[104X
    [4X[28X     ], time := 44473 )[128X[104X
    [4X[28X     [128X[104X
    [4X[28X# over the field of 2 elements it is enough to consider[128X[104X
    [4X[28X# the 5-th power of the augmentation ideal[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe program does not finish in a very reasonable time, if we run it over the
  field  [22Xℙ_4[122X,  but we can still check that it is not enough to factor out only
  the  5th  power of the augmentation ideal in this case. One option is to use
  info level to do this and the other to use [2XMIPBinSplit[102X:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel(InfoModIsom, 1);[127X[104X
    [4X[25Xgap>[125X [27XMIPSplitGroupsByAlgebras([G,H], 2);[127X[104X
    [4X[28X#I  Refine bin[128X[104X
    [4X[28X#I    Weights yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I    Layer 1 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 2 of dim 15 aut group has order 2961100800 * 2^0[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 16 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 2 of dim 15 aut group has order 2961100800 * 2^0[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 16 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 2 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 3 of dim 39 aut group has order 2937600 * 2^88[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 29 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 3 of dim 39 aut group has order 2937600 * 2^88[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 29 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 3 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 4 of dim 81 aut group has order 2937600 * 2^240[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 51 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 4 of dim 81 aut group has order 2937600 * 2^240[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 51 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 4 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 5 of dim 145 aut group has order 7200 * 2^496[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 73 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 5 of dim 145 aut group has order 7200 * 2^496[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 73 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 5 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 6 of dim 231 aut group has order 7200 * 2^800[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 95 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X^CError, user interrupt in[128X[104X
    [4X[28X  AddRowVector( u, GetEntryTable( T, i, j ), v[i] * w[j] [128X[104X
    [4X[28X ); at /home/leo/gap-4.10.1/pkg/modisom-2.5.3/gap/tables/tables.gi:87 called from [128X[104X
    [4X[28XMultByTable( Q, new[Q.wds[i][1]], new[Q.wds[i][2]] [128X[104X
    [4X[28X ) at /home/leo/gap-4.10.1/pkg/modisom-2.5.3/gap/autiso/induc.gi:135 called from[128X[104X
    [4X[28XInduceAutoToQuot( Q, G.agAutos[i] [128X[104X
    [4X[28X ) at /home/leo/gap-4.10.1/pkg/modisom-2.5.3/gap/autiso/induc.gi:151 called from[128X[104X
    [4X[28XInduceAutosToQuot( G, Q [128X[104X
    [4X[28X ); at /home/leo/gap-4.10.1/pkg/modisom-2.5.3/gap/autiso/autiso.gi:57 called from[128X[104X
    [4X[28XExtendCanoForm( tabs[i], j [128X[104X
    [4X[28X ); at /home/leo/gap-4.10.1/pkg/modisom-2.5.3/gap/grpalg/chkbins.gi:117 called from[128X[104X
    [4X[28XMIPBinSplit( p, n, false, start, step, list, f [128X[104X
    [4X[28X ) at /home/leo/gap-4.10.1/pkg/modisom-2.5.3/gap/grpalg/chkbins.gi:177 called from[128X[104X
    [4X[28X...  at *stdin*:39[128X[104X
    [4X[28Xyou can 'return;'[128X[104X
    [4X[26Xbrk>[126X [27Xquit;   # this was not progressing for several hours[127X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSize(G) = Size(H);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XSize(G) = 2^10;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XMIPBinSplit(2, 10, 4, 4, 1, [G,H], 2);[127X[104X
    [4X[28X#I  Refine bin[128X[104X
    [4X[28X#I    Weights yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I    Layer 1 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 2 of dim 15 aut group has order 2961100800 * 2^0[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 16 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 2 of dim 15 aut group has order 2961100800 * 2^0[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 16 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 2 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 3 of dim 39 aut group has order 2937600 * 2^88[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 29 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 3 of dim 39 aut group has order 2937600 * 2^88[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 29 and dim(U) = 5[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 3 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28X#I  layer 4 of dim 81 aut group has order 2937600 * 2^240[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 51 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I  layer 4 of dim 81 aut group has order 2937600 * 2^240[128X[104X
    [4X[28X#I     cover is determined [128X[104X
    [4X[28X#I     dim(M) = 51 and dim(U) = 9[128X[104X
    [4X[28X#I     extended autos [128X[104X
    [4X[28X#I     computed stabilizer[128X[104X
    [4X[28X#I     got quotient [128X[104X
    [4X[28X#I     induced autos [128X[104X
    [4X[28X#I    Layer 4 yields bins [ [ 1, 2 ] ][128X[104X
    [4X[28Xrec( [128X[104X
    [4X[28X  bins := [128X[104X
    [4X[28X    [ [128X[104X
    [4X[28X      [ Group([ f1, f2, f7, f3, f4, f10, f5, f6, f7, f8, f9, f10 ]), [128X[104X
    [4X[28X          Group([ f1, f2, f7, f3, f4, f10, f5, f6, f7, f8, f9, f10 ]) ] ], [128X[104X
    [4X[28X  splits := [  ], time := 9469981 )[128X[104X
  [4X[32X[104X
  
  
  [1X4.2 [33X[0;0YKernel size[133X[101X
  
  [33X[0;0YAn  idea  to  study  the  Modular  Isomorphism  Problem is to define maps on
  certain  quotients  of  the  augmentation  ideal  [22XA[122X  and count the number of
  elements which map to [22X0[122X under this map. The map most typically used for this
  is  a  [22Xp[122X-power  map [22XA^n/A^n+m → A^n ⋅ p^ℓ/A^n ⋅ p^ℓ + m[122X. This can be done in
  the package using the function[133X
  
  [1X4.2-1 KernelSizePowerMap[101X
  
  [33X[1;0Y[29X[2XKernelSizePowerMap[102X( [3XT[103X, [3Xn[103X, [3Xm[103X, [3Xl[103X[, [3Xf[103X] ) [32X function[133X
  
  [33X[0;0Ywhere  [22XT[122X  is  a table as returned by [2XModIsomTable[102X ([14X2.3-2[114X) and [22Xn, m, l[122X are as
  just  described  and the calculation is performed over the field [22Xℙ_p^f[122X. If [22Xf[122X
  is  not  given,  then  it  is  set to [22X1[122X. We can check for instance the first
  calculation in [HS06](Section 4.1).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG := SmallGroup(64, 20);[127X[104X
    [4X[28X<pc group of size 64 with 6 generators>[128X[104X
    [4X[25Xgap>[125X [27XH := SmallGroup(64, 22);[127X[104X
    [4X[28X<pc group of size 64 with 6 generators>[128X[104X
    [4X[25Xgap>[125X [27XTG := ModIsomTable(G, 5);;[127X[104X
    [4X[25Xgap>[125X [27XTH := ModIsomTable(H, 5);;[127X[104X
    [4X[25Xgap>[125X [27XKernelSizePowerMap(TG, 1, 1, 2);[127X[104X
    [4X[28X3[128X[104X
    [4X[25Xgap>[125X [27XKernelSizePowerMap(TH, 1, 1, 2);[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  shows  that  the  group  algebras  over  [22Xℙ_2[122X  are not isomorphic. This
  argument does not, however, work over [22Xℙ_4[122X:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XTG := ModIsomTable(G, 5, 2);;[127X[104X
    [4X[25Xgap>[125X [27XTH := ModIsomTable(H, 5, 2);;[127X[104X
    [4X[25Xgap>[125X [27XKernelSizePowerMap(TG, 1, 1, 2);[127X[104X
    [4X[28X7[128X[104X
    [4X[25Xgap>[125X [27XKernelSizePowerMap(TH, 1, 1, 2);[127X[104X
    [4X[28X7[128X[104X
  [4X[32X[104X
  
  
  [1X4.3 [33X[0;0YThe group theoretical invariants[133X[101X
  
  [33X[0;0YWe  document  here  which  group-theoretical invariants are used in [2XBinsByGT[102X
  ([14X4.1-1[114X) and similar functions.[133X
  
  [1X4.3-1 GroupInfo[101X
  
  [33X[1;0Y[29X[2XGroupInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YThis is an auxiliary function used in other group-theoretical invariants. If
  [10XIdGroup[110X  is  available  in  [5XGAP[105X  for  the  order of [22XG[122X it returns [10XIdGroup(G)[110X.
  Otherwise it returns [10X[Size(G), AbelianInvariants(G)][110X.[133X
  
  [33X[0;0YWe now describe the invariants in the order they appear in [2XBinsByGT[102X ([14X4.1-1[114X).
  First  the  isomorphism  types  of [22XG/G'[122X and [22XZ(G)[122X, the abelianization and the
  center  of  [22XG[122X are used. These are very classical invariants [San85](Theorems
  6.12,  6.7).  We  next list the other functions which are applied, which are
  all small functions written for the package:[133X
  
  [1X4.3-2 CenterDerivedInfo[101X
  
  [33X[1;0Y[29X[2XCenterDerivedInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Ycalculates  the  isomorphism  types  of  [22XZ(G)  ∩  G'[122X  and  [22XZ(G)/  Z(G)  ∩ G'[122X
  [San85](Theorem 6.11).[133X
  
  [1X4.3-3 SandlingInfo[101X
  
  [33X[1;0Y[29X[2XSandlingInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Ycalculates several invariants coming from the small groups algebra which was
  first  used to study the Modular Isomorphism Problem in [San89]. Namely, for
  [22Xγ_i(G)[122X  the  [22Xi[122X-th  term  of  the  lower  central  series of [22XG[122X it returns the
  [2XGroupInfo[102X  ([14X4.3-1[114X)  for  [22XG/γ_2(G)^pγ_3(G)[122X  [San89], the [2XGroupInfo[102X ([14X4.3-1[114X) of
  [22XG/γ_2(G)^pγ_4(G)[122X,  if  [22XG[122X  is  [22X2[122X-generated  (mentioned  in [Bag99], proved in
  [MM22]), if the derived subgroup of [22XG[122X is elementary abelian and the Jennings
  series  of  [22XG[122X  has  length  at most [22X2p[122X, it returns [2XGroupInfo[102X ([14X4.3-1[114X) for the
  Frattini  subgroup of [22XG[122X [HS06](p.16) and if [22Xp[122X is odd and the group satisfies
  the  criteria  of  [BG24](Theorem  B)  it  returns  the [2XGroupInfo[102X ([14X4.3-1[114X) of
  [22XG/γ_2(G)^pγ_4(G)[122X. The output is the [2XGroupInfo[102X ([14X4.3-1[114X) of [22XG[122X, if [22XG[122X is abelian.
  This   function   is  not  applied  in  [2XBinsByGTAllFields[102X  ([14X4.1-4[114X)  and  its
  variations.[133X
  
  [1X4.3-4 JenningsInfo[101X
  
  [33X[1;0Y[29X[2XJenningsInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YDenoting  by  [22XD_i(G)[122X  the  [22Xi[122X-th member of the Jennings series, this function
  returns  [2XGroupInfo[102X  ([14X4.3-1[114X)  for  the  different  quotients [22XD_i(G)/D_i+1(G)[122X,
  [22XD_i(G)/D_i+2(G)[122X, [22XD_i(G)D_2i+1(G)[122X for meaningful values of [22Xi[122X (results [Jen41]
  [PS72]   [RS83])   and   if   [22Xp[122X  is  odd  also  for  [22XG/D_4(G)[122X  [Her07].  For
  [2XBinsByGTAllFields[102X   ([14X4.1-4[114X)   and   its   variations   only   the  quotients
  [22XD_i(G)/D_i+1(G)[122X are computed (by the function [10XJenningsInfoAllFields[110X).[133X
  
  [1X4.3-5 JenningsDerivedInfo[101X
  
  [33X[1;0Y[29X[2XJenningsDerivedInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Ycomputes [22XD_i(G')/D_i+1(G')[122X for all [22Xi[122X [San85](Lemma 6.26).[133X
  
  [1X4.3-6 BaginskiInfo[101X
  
  [33X[1;0Y[29X[2XBaginskiInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YFor  [22XN  = C_G(G'/Φ(G'))[122X, where [22XΦ(G)[122X denotes the Frattini subgroup, if [22XG/N[122X is
  cyclic,  it  returns  the  [2XGroupInfo[102X ([14X4.3-1[114X) for [22XN/Φ(G')[122X and [22XG/Φ(N)[122X [Bag99].
  This   function   is  not  applied  in  [2XBinsByGTAllFields[102X  ([14X4.1-4[114X)  and  its
  variations.[133X
  
  [1X4.3-7 BaginskiCarantiInfo[101X
  
  [33X[1;0Y[29X[2XBaginskiCarantiInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Yreturns  the  nilpotency  class  of  [22XG/Φ(G')[122X  [BC88](Proposition  2.1). This
  function is not applied in [2XBinsByGTAllFields[102X ([14X4.1-4[114X) and its variations.[133X
  
  [1X4.3-8 NilpotencyClassInfo[101X
  
  [33X[1;0Y[29X[2XNilpotencyClassInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Yreturns  the nilpotency class of [22XG[122X, when the exponent of [22XG[122X is [22Xp[122X or the class
  equals 2 or the derived subgroup is cyclic [BK07].[133X
  
  [1X4.3-9 Theorem41MS22[101X
  
  [33X[1;0Y[29X[2XTheorem41MS22[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YIf [22Xp[122X is odd, [22XG[122X is [22X2[122X-generated, the nilpotency class of [22XG[122X is [22X3[122X and [22Xγ_3(G)[122X has
  exponent   [22Xp[122X,  it  returns  the  isomorphism  types  of  [22Xγ_2(G)[122X  and  [22Xγ_3(G)[122X
  [MS22](Theorem  4.1).  This  function  is  not  applied in [2XBinsByGTAllFields[102X
  ([14X4.1-4[114X) and its variations.[133X
  
  [1X4.3-10 CyclicDerivedInfo[101X
  
  [33X[1;0Y[29X[2XCyclicDerivedInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YIf  [22XG'[122X is cyclic this returns several invariants contained in [GdS23] [Gd24]
  and   [MS25b](Proposition   2.5).   Namely,  if  [22Xp[122X  is  odd,  the  quotients
  [22XD_i(C_G(G'))/D_i+1(C_G(G'))[122X   for  all  [22Xi[122X,  the  exponent  of  [22XC_G(G')[122X,  the
  isomorphism  type  of [22XC_G(G')/G'[122X and the [2XGroupInfo[102X ([14X4.3-1[114X) for [22XG/R_1(γ_3(G))[122X
  and  [22XG/R_3(C_G(G'))[122X.  Here [22XR_i(G)[122X denotes the subgroup of [22XG[122X generated by the
  [22Xp^i[122X-th  powers  in [22XG[122X. If [22XG[122X is additionally [22X2[122X-generated, it also computes the
  [2XGroupInfo[102X  ([14X4.3-1[114X) for [22XC_G(G')[122X and the type invariants of [22XG[122X (cf. [GdS23] for
  the  definition).  For  any [22Xp[122X, if [22XG[122X is [22X2[122X-generated, it returns the [2XGroupInfo[102X
  ([14X4.3-1[114X) of [22XG/(G')^p[122X. If [22XG[122X is abelian, the return is the [2XGroupInfo[102X ([14X4.3-1[114X) of
  [22XG[122X.   For   [2XBinsByGTAllFields[102X   ([14X4.1-4[114X)  and  its  variations,  the  function
  [10XCyclicDerivedInfoAllFields[110X  is  used  which  does  not compute the [2XGroupInfo[102X
  ([14X4.3-1[114X) for [22XG/R_1(γ_3(G))[122X and [22XG/R_3(C_G(G'))[122X.[133X
  
  [1X4.3-11 MaximalAbelianDirectFactor[101X
  
  [33X[1;0Y[29X[2XMaximalAbelianDirectFactor[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Ycomputes   the   maximal   abelian   direct   factor   of   [22XG[122X   [Gar24].  In
  [2XBinsByGTAllFields[102X     ([14X4.1-4[114X)    and    its    variations    the    function
  [10XMaximalElementaryAbelianDirectFactor[110X  is  used  instead,  which computes the
  maximal elementary abelian direct factor [MSS23].[133X
  
  [33X[0;0YThe  following  three  functions  serve to compute some of the sections of [22XG[122X
  which  are  canonical following Lemma 3.6 in [Gar24]. The starting canonical
  group is the derived subgroup.[133X
  
  [1X4.3-12 SuccessorsN[101X
  
  [33X[1;0Y[29X[2XSuccessorsN[102X( [3XG[103X, [3XL[103X, [3XN[103X ) [32X function[133X
  
  [33X[0;0YGiven  a  finite  [22Xp[122X-group  [22XG[122X,  two subgroups [22XN[122X and [22XL[122X of [22XG[122X, with [22XN[122X normal, it
  returns a list with three entries corresponding to the subgroups obtained by
  applying  the  operations  preserving  the  property  of being canonical, as
  described  in  [Gar24](Lemma  3.6),  where [22Xt=1[122X in the notation of the lemma.
  Namely,  [22XΩ(G:N)[122X, [22X℧(L)N[122X and [22XΩ(Z(G))N[122X. Each entry of the output is a list with
  two  elements,  the first being a string [21XOmega[121X, [21XAgemo[121X or [21XOmegaCenter[121X and the
  second the corresponding subgroup of [22XG[122X.[133X
  
  [33X[0;0YIf  applying  one of the three operations does not change the subgroup [22XN[122X, no
  entry is added to the list, as there is no successor to [22XN[122X in this way.[133X
  
  [1X4.3-13 CanonicalNormalSubgroups[101X
  
  [33X[1;0Y[29X[2XCanonicalNormalSubgroups[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YComputes  a  list of the subgroups of [22XG[122X obtained by iteratively applying the
  function  [2XSuccessorsN[102X ([14X4.3-12[114X), where always [22XL=G[122X and starting from [22XN=G'[122X, the
  derived  subgroup  of  [22XG[122X. An entry of the output is a list with two entries,
  the  first  a  list  of  strings and the second a subgroup of [22XG[122X. The strings
  describe  in  which  order  the operations in [2XSuccessorsN[102X ([14X4.3-12[114X) have been
  applied  to  [22XG'[122X  to  obtain  the subgroup contained in the second entry. The
  first  entry  being  the  empty  list  means  the derived subgroup of [22XG[122X. The
  maximum length of a list of strings is [22X3 log_p exp(G/G')[122X.[133X
  
  [1X4.3-14 NormalSubgroupsInfo[101X
  
  [33X[1;0Y[29X[2XNormalSubgroupsInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YReturns  a  list  with  one  entry  for  each of the subgroups obtained with
  [10XCanonicalNormalSubgroups(G)[110X,  and  in  each  entry  stores  the information,
  relative to the corresponding subgroup, that is determined by the group ring
  according  to [Gar24](Lemma 3.2). Namely, each entry of the output is a list
  with  four  elements,  the first being a list of strings which describes the
  subgroup  to  which the other entries correspond. The strings are to be read
  the  same  way  as  in  the output of [2XCanonicalNormalSubgroups[102X ([14X4.3-13[114X) (the
  leftmost  string  is  the  first  applied  operation).  Denoting  by  [22XS[122X  the
  corresponding  subgroup,  the  second  entry  describes  the  sizes  of  the
  subgroups  in  the  Jennings  series  of  [22XS[122X,  the  third  gives  the abelian
  invariants  of  [22XZ(G)  ∩  S[122X  and  [22XZ(G)S/S[122X,  and the fourth entry contains the
  abelian invariants of [22XG/SG'[122X and [22XSG'/G'[122X.[133X
  
  [1X4.3-15 IsCoveredByTheory[101X
  
  [33X[1;0Y[29X[2XIsCoveredByTheory[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Ydetermines,  whether  [22XG[122X  belongs  to  certain  classes for which the Modular
  Isomorphism Problem has been solved positively. It does not check if a group
  contains  a  cyclic  subgroup  of  index [22Xp^2[122X, cf. [BK07], as this takes some
  time,  but  this can be done by the function [10XHasCyclicSubgroupIOfIndexP2[110X. It
  does also not check if a group belongs to a certain family of 3-subgroups of
  maximal  class  (cf.  [BK19]  and  [MS25b])  or  certain  2-groups which are
  2-generated  and  are dihedral modulo center [MS25a]. What it does check is,
  if  [22XG[122X is abelian [Des56], [22XG[122X is a [22X2[122X-group of maximal class [Bag92], [22Xp[122X is odd,
  [22X|G|  ≤  p^p+1[122X,  [22XG[122X  has  a maximal abelian subgroup and [22XG[122X is of maximal class
  [BC88], [22X[G:Z(G)] = p^2[122X [Dre89], [22XD_3(G) = 1[122X [PS72] or [22Xp[122X is odd and [22XD_4(G) = 1[122X
  [Her07],  [22Xγ_2(G)^pγ_3(G)  =  1[122X  [San89]  or the more generalisation which is
  Theorem  B  in  [BG24],  [22Xp[122X  is odd and [22X[G:Z(G)]=p^3[122X [BG24], [22XG[122X has nilpotency
  class  2  and  is  2-generated  [Bd21],  [22XG[122X  is  elementary abelian-by-cyclic
  [Bag99],  [22Xp[122X is odd, [22XG'[122X is elementary abelian, the nilpotency class of [22XG[122X is [22X3[122X
  and  either  [22XC_G(G')[122X  is  a maximal subgroup of [22XG[122X and abelian [MS22](Theorem
  3.3) or [22XG[122X is [22X3[122X-generated and a certain condition holds on the commutator map
  modulo  the  second  center  of  [22XG[122X  [MS22](Theorem 3.5), [22XG[122X is a [22X2[122X-group with
  cyclic  center  and  dihedral  central  quotient  [MSS23], [22XG[122X is a [22X2[122X-group of
  nilpotency  class  [22X2[122X  with  cyclic center [GM24], [22Xp[122X is odd, [22XG'[122X is cyclic and
  [22XR_2(G/G')[122X   is   cyclic   [Gd24](Proposition  3.7),  [22XG[122X  is  [22X2[122X-generated  and
  [22XC_G(G'/Φ(G'))[122X  is  abelian  and has index [22Xp[122X in [22XG[122X [BZ25](Proposition 8), [22XG[122X is
  [22Xd[122X-generated,  the  Jennings  series  of  [22XG[122X  has  length [22Xn+1[122X and the defining
  relations  of  [22XG[122X  are  contained  in  [22XD_n(F)[122X  for  [22XF[122X a free pro-[22Xp[122X group in [22Xd[122X
  generators  [Röh90](Theorem 3.1.2) (using dimensions of subsequent quotients
  of  the Jennings series of free pro-[22Xp[122X groups computed in [MRT16](Proposition
  3.4)), [22XG[122X is metacyclic [San96].[133X
  
  [33X[0;0YFor  [2XBinsByGTAllFields[102X  ([14X4.1-4[114X)  and  its  variations  the  function used is
  [10XIsCoveredByTheoryAllFields[110X  and  it  only  checks,  if  [22XG[122X is abelian, [22XG[122X is a
  [22X2[122X-group  of maximal class, [22X[G:Z(G)] = p^2[122X, [22XG[122X is a [22X2[122X-group with cyclic center
  and  dihedral  central  quotient, [22XG[122X has nilpotency class [22X2[122X and cyclic center
  and  satisfies  the  additional  hypotheses  of  [GM24](Theorem  1.3), [22XG[122X has
  nilpotency  class  at  most  2 and is 2-generated [MS25b](Theorem 3.9), [22XG[122X is
  metacyclic [MS25b](Theorem 3.6).[133X
  
  [1X4.3-16 DimensionTwoCohomology[101X
  
  [33X[1;0Y[29X[2XDimensionTwoCohomology[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0Ycomputes the dimensions of the second cohomology group [22XH^2(FG, F)[122X and of the
  second Hochschild cohomology group [22XHH^2(FG) = H^2(FG, FG)[122X.[133X
  
  [1X4.3-17 ConjugacyClassInfo[101X
  
  [33X[1;0Y[29X[2XConjugacyClassInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YComputes  the number of conjugacy classes which are [22Xp^i[122X-th powers, for all [22Xi[122X
  (Kuelshammer)  and  the  number  of conjugacy classes of [22Xp^i[122X-th powers which
  come  from  conjugacy  classes  of the same order (Parmenter-Polcino Milies)
  [HS06](Section  2.2)  and  the  dimension of the first Hochschild cohomology
  group  which  equals  the number [22X∑_g^G log_p(C_G(g)/Φ(C_G(g)))[122X where the sum
  runs  over  all  the  conjugacy  classes  of [22XG[122X, aka the Roggenkamp parameter
  [HS06](Section 2.6).[133X
  
  [33X[0;0YThe  return  contains  first  the Roggenkamp parameter, then the Kuelshammer
  invariants (starting from [22Xi = 0[122X) and then the invariant of Parmenter-Polcino
  Milies.[133X
  
  [1X4.3-18 SubgroupsInfo[101X
  
  [33X[1;0Y[29X[2XSubgroupsInfo[102X( [3XG[103X ) [32X function[133X
  
  [33X[0;0YComputes  the  number  of  conjugacy  classes  of maximal elementary abelian
  subgroups  of  rank  1,2,... The return is a list of integers which contains
  this  number  for  all  ranks  until  the maximal possible. This is based on
  results of Quillen [HS06](Section 2.5).[133X
  
