  
  [1X4 [33X[0;0YGroups and homomorphisms[133X[101X
  
  
  [1X4.1 [33X[0;0YFunctions for groups[133X[101X
  
  [1X4.1-1 Comm[101X
  
  [29X[2XComm[102X( [3XL[103X ) [32X operation
  
  [33X[0;0YThis  method is in the process of being transferred from package [5XResClasses[105X:
  for now you should [10XLoadPackage("resclasses")[110X in order to use it. It provides
  a method for [10XComm[110X when the argument is a list (enclosed in square brackets),
  and calls the function [10XLeftNormedComm[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XComm( [ (1,2), (2,3) ] );[127X[104X
    [4X[28X(1,2,3)[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X4.1-2 IsCommuting[101X
  
  [29X[2XIsCommuting[102X( [3Xa[103X, [3Xb[103X ) [32X operation
  
  [33X[0;0YThis   function  is  in  the  process  of  being  transferred  from  package
  [5XResClasses[105X: for now you should [10XLoadPackage("resclasses")[110X in order to use it.
  It tests whether two elements in a group commute.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD12 := DihedralGroup( 12 );  SetName( D12, "D12" ); [127X[104X
    [4X[28X<pc group of size 12 with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27Xa := D12.1;;  b := D12.2;;  [127X[104X
    [4X[25Xgap>[125X [27XIsCommuting( a, b );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X4.1-3 ListOfPowers[101X
  
  [29X[2XListOfPowers[102X( [3Xg[103X, [3Xexp[103X ) [32X operation
  
  [33X[0;0YThis  function is in the process of being transferred from package [5XRCWA[105X: for
  now you should [10XLoadPackage("rcwa")[110X in order to use it.[133X
  
  [33X[0;0YThe  operation  [10XListOfPowers(g,exp)[110X  returns  the  list [22X[g,g^2,...,g^exp][122X of
  powers of the element [22Xg[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XListOfPowers( D12.2, 6 );[127X[104X
    [4X[28X[ f2, f3, f2*f3, f3^2, f2*f3^2, <identity> of ... ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X4.1-4 GeneratorsAndInverses[101X
  
  [29X[2XGeneratorsAndInverses[102X( [3XG[103X ) [32X operation
  
  [33X[0;0YThis  function is in the process of being transferred from package [5XRCWA[105X: for
  now you should [10XLoadPackage("rcwa")[110X in order to use it.[133X
  
  [33X[0;0YThis operation returns a list containing the generators of [22XG[122X followed by the
  inverses of these generators.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XGeneratorsAndInverses( D12 );[127X[104X
    [4X[28X[ f1, f2, f3, f1, f2*f3^2, f3^2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X4.1-5 UpperFittingSeries[101X
  
  [29X[2XUpperFittingSeries[102X( [3XG[103X ) [32X attribute
  [29X[2XLowerFittingSeries[102X( [3XG[103X ) [32X attribute
  [29X[2XFittingLength[102X( [3XG[103X ) [32X attribute
  
  [33X[0;0YThese three functions have been transferred from package [5XResClasses[105X.[133X
  
  [33X[0;0YThe  upper  and  lower  Fitting  series and the Fitting length of a solvable
  group are described here: [7Xhttps://en.wikipedia.org/wiki/Fitting_length[107X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XUpperFittingSeries( D12 );[127X[104X
    [4X[28X[ Group([  ]), Group([ f3, f2*f3 ]), Group([ f3, f2*f3, f1 ]) ][128X[104X
    [4X[25Xgap>[125X [27XLowerFittingSeries( D12 );[127X[104X
    [4X[28X[ D12, Group([ f3 ]), Group([  ]) ][128X[104X
    [4X[25Xgap>[125X [27XFittingLength( D12 );[127X[104X
    [4X[28X2[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X4.2 [33X[0;0YFunctions for group homomorphisms[133X[101X
  
  [1X4.2-1 EpimorphismByGenerators[101X
  
  [29X[2XEpimorphismByGenerators[102X( [3XG[103X, [3XH[103X ) [32X attribute
  
  [33X[0;0YThis  function is in the process of being transferred from package [5XRCWA[105X: for
  now  you  should  [10XLoadPackage("rcwa")[110X  in  order  to  use  it.  It  maps the
  generators  of  [22XG[122X  to those of [22XH[122X. It is not checked that this map is a group
  homomorphism![133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XG := Group((1,2,3,4),(3,4));;[127X[104X
    [4X[25Xgap>[125X [27XH := Group((6,7),(7,8));;    [127X[104X
    [4X[25Xgap>[125X [27Xe1 := EpimorphismByGenerators(G,H);[127X[104X
    [4X[28X[ (1,2,3,4), (3,4) ] -> [ (6,7), (7,8) ][128X[104X
    [4X[25Xgap>[125X [27X## note that this is just an abbreviation for: [127X[104X
    [4X[25Xgap>[125X [27Xe2 := GroupHomomorphismByImages( G, H, [127X[104X
    [4X[25X>[125X [27X             GeneratorsOfGroup(G), GeneratorsOfGroup(H) );;[127X[104X
    [4X[25Xgap>[125X [27Xe1 = e2; [127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27X## but the following is nonsense: [127X[104X
    [4X[25Xgap>[125X [27Xe0 := EpimorphismByGenerators( Group((1,2,3)), Group((8,9)) );[127X[104X
    [4X[28X[ (1,2,3) ] -> [ (8,9) ][128X[104X
    [4X[25Xgap>[125X [27XIsGroupHomomorphism(e0);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
