  
  [1X6 [33X[0;0YUseful properties and functions[133X[101X
  
  
  [1X6.1 [33X[0;0YSemisimple group algebras of finite groups[133X[101X
  
  [1X6.1-1 IsSemisimpleZeroCharacteristicGroupAlgebra[101X
  
  [29X[2XIsSemisimpleZeroCharacteristicGroupAlgebra[102X( [3XKG[103X ) [32X property
  
  [33X[0;0YThe input must be a group ring.[133X
  
  [33X[0;0YReturns  [9Xtrue[109X  if  the  input  [3XKG[103X is a [13Xsemisimple group algebra[113X ([14X9.2[114X) over a
  field of characteristic zero (that is if [22XG[122X is finite), and [9Xfalse[109X otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCG:=GroupRing( GaussianRationals, DihedralGroup(16) );;[127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleZeroCharacteristicGroupAlgebra( CG );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XFG:=GroupRing( GF(2), SymmetricGroup(3) );;                    [127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleZeroCharacteristicGroupAlgebra( FG );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27Xf := FreeGroup("a");[127X[104X
    [4X[28X<free group on the generators [ a ]>[128X[104X
    [4X[25Xgap>[125X [27XQf:=GroupRing(Rationals,f);[127X[104X
    [4X[28X<algebra-with-one over Rationals, with 2 generators>[128X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleZeroCharacteristicGroupAlgebra(Qf);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.1-2 IsSemisimpleRationalGroupAlgebra[101X
  
  [29X[2XIsSemisimpleRationalGroupAlgebra[102X( [3XKG[103X ) [32X property
  
  [33X[0;0YThe input must be a group ring.[133X
  
  [33X[0;0YReturns  [9Xtrue[109X  if  [3XKG[103X is a [13Xsemisimple rational group algebra[113X ([14X9.2[114X) and [9Xfalse[109X
  otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XQG:=GroupRing( Rationals, SymmetricGroup(4) );;       [127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleRationalGroupAlgebra( QG );       [127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XCG:=GroupRing( GaussianRationals, DihedralGroup(16) );;               [127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleRationalGroupAlgebra( CG );                              [127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XFG:=GroupRing( GF(2), SymmetricGroup(3) );;[127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleRationalGroupAlgebra( FG );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.1-3 IsSemisimpleANFGroupAlgebra[101X
  
  [29X[2XIsSemisimpleANFGroupAlgebra[102X( [3XKG[103X ) [32X property
  
  [33X[0;0YThe input must be a group ring.[133X
  
  [33X[0;0YReturns [9Xtrue[109X if [3XKG[103X is the group algebra of a finite group over a subfield of
  a cyclotomic extension of the rationals and [9Xfalse[109X otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleANFGroupAlgebra( GroupRing( NF(5,[4]) , CyclicGroup(28) ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleANFGroupAlgebra( GroupRing( GF(11) , CyclicGroup(28) ) );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.1-4 IsSemisimpleFiniteGroupAlgebra[101X
  
  [29X[2XIsSemisimpleFiniteGroupAlgebra[102X( [3XKG[103X ) [32X property
  
  [33X[0;0YThe input must be a group ring.[133X
  
  [33X[0;0YReturns  [9Xtrue[109X  if  [3XKG[103X  is a [13Xsemisimple finite group algebra[113X ([14X9.2[114X), that is a
  group  algebra  of  a  finite group [22XG[122X over a field [22XK[122X of order coprime to the
  order of [22XG[122X, and [9Xfalse[109X otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XFG:=GroupRing( GF(5), SymmetricGroup(3) );;[127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleFiniteGroupAlgebra( FG );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XKG:=GroupRing( GF(2), SymmetricGroup(3) );; [127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleFiniteGroupAlgebra( KG ); [127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XQG:=GroupRing( Rationals, SymmetricGroup(4) );;[127X[104X
    [4X[25Xgap>[125X [27XIsSemisimpleFiniteGroupAlgebra( QG );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.1-5 IsTwistingTrivial[101X
  
  [29X[2XIsTwistingTrivial[102X( [3XG[103X, [3XH[103X, [3XK[103X ) [32X property
  
  [33X[0;0YThe input must be a group and a strong Shoda pair of the group.[133X
  
  [33X[0;0YReturns [9Xtrue[109X if the simple algebra [22XℚGe(G,H,K)[122X has a [13Xtrivial twisting[113X ([14X9.15[114X),
  and [9Xfalse[109X otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XG:=DihedralGroup(8);;[127X[104X
    [4X[25Xgap>[125X [27XH:=StrongShodaPairs(G)[5][1];[127X[104X
    [4X[28XGroup([ f1*f2, f3, f3 ])[128X[104X
    [4X[25Xgap>[125X [27XK:=StrongShodaPairs(G)[5][2]; [127X[104X
    [4X[28XGroup([ f1*f2 ])[128X[104X
    [4X[25Xgap>[125X [27XIsTwistingTrivial(G,H,K);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.2 [33X[0;0YOperations with group rings elements[133X[101X
  
  [1X6.2-1 Centralizer[101X
  
  [29X[2XCentralizer[102X( [3XG[103X, [3Xx[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10YA subgroup of a group [3XG[103X.[133X
  
  [33X[0;0YThe  input  should be formed by a finite group [3XG[103X and an element [3Xx[103X of a group
  ring [22XFH[122X whose underlying group [22XH[122X contains [3XG[103X as a subgroup.[133X
  
  [33X[0;0YReturns the centralizer of [3Xx[103X in [3XG[103X.[133X
  
  [33X[0;0YThis  operation  adds  a  new method to the operation that already exists in
  [5XGAP[105X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD16 := DihedralGroup(16);[127X[104X
    [4X[28X<pc group of size 16 with 4 generators>[128X[104X
    [4X[25Xgap>[125X [27XQD16 := GroupRing( Rationals, D16 );[127X[104X
    [4X[28X<algebra-with-one over Rationals, with 4 generators>[128X[104X
    [4X[25Xgap>[125X [27Xa:=QD16.1;b:=QD16.2;[127X[104X
    [4X[28X(1)*f1[128X[104X
    [4X[28X(1)*f2[128X[104X
    [4X[25Xgap>[125X [27Xe := PrimitiveCentralIdempotentsByStrongSP( QD16)[3];;[127X[104X
    [4X[25Xgap>[125X [27XCentralizer( D16, a);[127X[104X
    [4X[28XGroup([ f1, f4 ])[128X[104X
    [4X[25Xgap>[125X [27XCentralizer( D16, b);[127X[104X
    [4X[28XGroup([ f2 ])[128X[104X
    [4X[25Xgap>[125X [27XCentralizer( D16, a+b);[127X[104X
    [4X[28XGroup([ f4 ])[128X[104X
    [4X[25Xgap>[125X [27XCentralizer( D16, e);[127X[104X
    [4X[28XGroup([ f1, f2 ])[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.2-2 OnPoints[101X
  
  [29X[2XOnPoints[102X( [3Xx[103X, [3Xg[103X ) [32X operation
  [29X[2X\^[102X( [3Xx[103X, [3Xg[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10YAn element of a group ring.[133X
  
  [33X[0;0YThe input should be formed by an element [3Xx[103X of a group ring [22XFG[122X and an element
  [3Xg[103X in the underlying group [22XG[122X of [22XFG[122X.[133X
  
  [33X[0;0YReturns  the  conjugate  [22Xx^g = g^-1 x g[122X of [3Xx[103X by [3Xg[103X. Usage of [10Xx^g[110X produces the
  same output.[133X
  
  [33X[0;0YThis  operation  adds  a  new method to the operation that already exists in
  [5XGAP[105X.[133X
  
  [33X[0;0YThe  following example is a continuation of the example from the description
  of [2XCentralizer[102X ([14X6.2-1[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XList(D16,x->a^x=a);[127X[104X
    [4X[28X[ true, true, false, false, true, false, false, true, false, false, false,[128X[104X
    [4X[28X  false, false, false, false, false ][128X[104X
    [4X[25Xgap>[125X [27XList(D16,x->e^x=e);[127X[104X
    [4X[28X[ true, true, true, true, true, true, true, true, true, true, true, true,[128X[104X
    [4X[28X  true, true, true, true ][128X[104X
    [4X[25Xgap>[125X [27XForAll(D16,x->a^x=a);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XForAll(D16,x->e^x=e);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.2-3 AverageSum[101X
  
  [29X[2XAverageSum[102X( [3XRG[103X, [3XX[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10YAn element of a group ring.[133X
  
  [33X[0;0YThe  input  must be composed of a group ring [3XRG[103X and a finite subset [3XX[103X of the
  underlying  group  [22XG[122X  of  [3XRG[103X.  The  order  of  [3XX[103X  must  be invertible in the
  coefficient ring [22XR[122X of [3XRG[103X.[133X
  
  [33X[0;0YReturns  the  element  of  the group ring [3XRG[103X that is equal to the sum of all
  elements of [3XX[103X divided by the order of [3XX[103X.[133X
  
  [33X[0;0YIf  [3XX[103X  is  a  subgroup  of [22XG[122X then the output is an idempotent of [22XRG[122X which is
  central if and only if [3XX[103X is normal in [22XG[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XG:=DihedralGroup(16);;               [127X[104X
    [4X[25Xgap>[125X [27XQG:=GroupRing( Rationals, G );;[127X[104X
    [4X[25Xgap>[125X [27XFG:=GroupRing( GF(5), G );;[127X[104X
    [4X[25Xgap>[125X [27Xe:=AverageSum( QG, DerivedSubgroup(G) );[127X[104X
    [4X[28X(1/4)*<identity> of ...+(1/4)*f3+(1/4)*f4+(1/4)*f3*f4[128X[104X
    [4X[25Xgap>[125X [27Xf:=AverageSum( FG, DerivedSubgroup(G) ); [127X[104X
    [4X[28X(Z(5)^2)*<identity> of ...+(Z(5)^2)*f3+(Z(5)^2)*f4+(Z(5)^2)*f3*f4[128X[104X
    [4X[25Xgap>[125X [27XG=Centralizer(G,e);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XH:=Subgroup(G,[G.1]);[127X[104X
    [4X[28XGroup([ f1 ])[128X[104X
    [4X[25Xgap>[125X [27Xe:=AverageSum( QG, H );[127X[104X
    [4X[28X(1/2)*<identity> of ...+(1/2)*f1[128X[104X
    [4X[25Xgap>[125X [27XG=Centralizer(G,e);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XIsNormal(G,H);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.3 [33X[0;0YCyclotomic classes[133X[101X
  
  [1X6.3-1 CyclotomicClasses[101X
  
  [29X[2XCyclotomicClasses[102X( [3Xq[103X, [3Xn[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10YA partition of [22X[ 0 .. n ][122X.[133X
  
  [33X[0;0YThe input should be formed by two relatively prime positive integers.[133X
  
  [33X[0;0YReturns the list [3Xq[103X-[13Xcyclotomic classes [113X ([14X9.17[114X) modulo [3Xn[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCyclotomicClasses( 2, 21 );[127X[104X
    [4X[28X[ [ 0 ], [ 1, 2, 4, 8, 16, 11 ], [ 3, 6, 12 ], [ 5, 10, 20, 19, 17, 13 ],[128X[104X
    [4X[28X  [ 7, 14 ], [ 9, 18, 15 ] ][128X[104X
    [4X[25Xgap>[125X [27XCyclotomicClasses( 10, 21 );[127X[104X
    [4X[28X[ [ 0 ], [ 1, 10, 16, 13, 4, 19 ], [ 2, 20, 11, 5, 8, 17 ],[128X[104X
    [4X[28X  [ 3, 9, 6, 18, 12, 15 ], [ 7 ], [ 14 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X6.3-2 IsCyclotomicClass[101X
  
  [29X[2XIsCyclotomicClass[102X( [3Xq[103X, [3Xn[103X, [3XC[103X ) [32X operation
  
  [33X[0;0YThe input should be formed by two relatively prime positive integers [3Xq[103X and [3Xn[103X
  and a sublist [3XC[103X of [22X[ 0 .. n ][122X.[133X
  
  [33X[0;0YReturns  [9Xtrue[109X  if  [3XC[103X  is  a  [3Xq[103X-[13Xcyclotomic  class[113X  ([14X9.17[114X)  modulo [3Xn[103X and [9Xfalse[109X
  otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XIsCyclotomicClass( 2, 7, [1,2,4] );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsCyclotomicClass( 2, 21, [1,2,4] );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XIsCyclotomicClass( 2, 21, [3,6,12] );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.4 [33X[0;0YOther commands[133X[101X
  
  [1X6.4-1 InfoWedderga[101X
  
  [29X[2XInfoWedderga[102X[32X info class
  
  [33X[0;0Y[10XInfoWedderga[110X  is  a  special  Info  class  for [5XWedderga[105X algorithms. It has 3
  levels: 0, 1 (default) and 2. To change the info level to [10Xk[110X, use the command
  [10XSetInfoLevel(InfoWedderga, k)[110X.[133X
  
  [33X[0;0YIn  the  example  below  we use this mechanism to see more details about the
  Wedderburn components each time when we call [10XWedderburnDecomposition[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel(InfoWedderga, 2);   [127X[104X
    [4X[25Xgap>[125X [27XWedderburnDecomposition( GroupRing( CF(5), DihedralGroup( 16 ) ) );[127X[104X
    [4X[28X#I  Info version : [ [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ],[128X[104X
    [4X[28X  [ 2, CF(5) ], [ 1, NF(40,[ 1, 31 ]), 8, [ 2, 7, 0 ] ] ][128X[104X
    [4X[28X[ CF(5), CF(5), CF(5), CF(5), ( CF(5)^[ 2, 2 ] ), [128X[104X
    [4X[28X  <crossed product with center NF(40,[ 1, 31 ]) over AsField( NF(40,[128X[104X
    [4X[28X    [ 1, 31 ]), CF(40) ) of a group of size 2> ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
