  
  [1X6 Useful properties and functions[0X
  
  
  [1X6.1 Semisimple group algebras of finite groups[0X
  
  [1X6.1-1 IsSemisimpleZeroCharacteristicGroupAlgebra[0m
  
  [2X> IsSemisimpleZeroCharacteristicGroupAlgebra( [0X[3XKG[0X[2X ) _________________[0Xproperty
  
  The input must be a group ring.
  
  Returns  [9Xtrue[0m  if  the  input  [3XKG[0m is a [13Xsemisimple group algebra[0m ([14X7.2[0m) over a
  field of characteristic zero (that is if G is finite), and [9Xfalse[0m otherwise.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> CG:=GroupRing( GaussianRationals, DihedralGroup(16) );;[0X
    [4Xgap> IsSemisimpleZeroCharacteristicGroupAlgebra( CG );[0X
    [4Xtrue[0X
    [4Xgap> FG:=GroupRing( GF(2), SymmetricGroup(3) );;                    [0X
    [4Xgap> IsSemisimpleZeroCharacteristicGroupAlgebra( FG );[0X
    [4Xfalse[0X
    [4Xgap> f := FreeGroup("a");[0X
    [4X<free group on the generators [ a ]>[0X
    [4Xgap> Qf:=GroupRing(Rationals,f);[0X
    [4X<algebra-with-one over Rationals, with 2 generators>[0X
    [4Xgap> IsSemisimpleZeroCharacteristicGroupAlgebra(Qf);[0X
    [4Xfalse[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.1-2 IsSemisimpleRationalGroupAlgebra[0m
  
  [2X> IsSemisimpleRationalGroupAlgebra( [0X[3XKG[0X[2X ) ___________________________[0Xproperty
  
  The input must be a group ring.
  
  Returns  [9Xtrue[0m  if  [3XKG[0m is a [13Xsemisimple rational group algebra[0m ([14X7.2[0m) and [9Xfalse[0m
  otherwise.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> QG:=GroupRing( Rationals, SymmetricGroup(4) );;       [0X
    [4Xgap> IsSemisimpleRationalGroupAlgebra( QG );       [0X
    [4Xtrue[0X
    [4Xgap> CG:=GroupRing( GaussianRationals, DihedralGroup(16) );;               [0X
    [4Xgap> IsSemisimpleRationalGroupAlgebra( CG );                              [0X
    [4Xfalse[0X
    [4Xgap> FG:=GroupRing( GF(2), SymmetricGroup(3) );;[0X
    [4Xgap> IsSemisimpleRationalGroupAlgebra( FG );[0X
    [4Xfalse[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.1-3 IsSemisimpleANFGroupAlgebra[0m
  
  [2X> IsSemisimpleANFGroupAlgebra( [0X[3XKG[0X[2X ) ________________________________[0Xproperty
  
  The input must be a group ring.
  
  Returns [9Xtrue[0m if [3XKG[0m is the group algebra of a finite group over a subfield of
  a cyclotomic extension of the rationals and [9Xfalse[0m otherwise.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> IsSemisimpleANFGroupAlgebra( GroupRing( NF(5,[4]) , CyclicGroup(28) ) );[0X
    [4Xtrue[0X
    [4Xgap> IsSemisimpleANFGroupAlgebra( GroupRing( GF(11) , CyclicGroup(28) ) );[0X
    [4Xfalse[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.1-4 IsSemisimpleFiniteGroupAlgebra[0m
  
  [2X> IsSemisimpleFiniteGroupAlgebra( [0X[3XKG[0X[2X ) _____________________________[0Xproperty
  
  The input must be a group ring.
  
  Returns  [9Xtrue[0m  if  [3XKG[0m  is a [13Xsemisimple finite group algebra[0m ([14X7.2[0m), that is a
  group  algebra  of  a  finite group G over a field K of order coprime to the
  order of G, and [9Xfalse[0m otherwisse.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> FG:=GroupRing( GF(5), SymmetricGroup(3) );;[0X
    [4Xgap> IsSemisimpleFiniteGroupAlgebra( FG );[0X
    [4Xtrue[0X
    [4Xgap> KG:=GroupRing( GF(2), SymmetricGroup(3) );; [0X
    [4Xgap> IsSemisimpleFiniteGroupAlgebra( KG ); [0X
    [4Xfalse[0X
    [4Xgap> QG:=GroupRing( Rationals, SymmetricGroup(4) );;[0X
    [4Xgap> IsSemisimpleFiniteGroupAlgebra( QG );[0X
    [4Xfalse[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  
  [1X6.2 Operations with group rings elements[0X
  
  [1X6.2-1 Centralizer[0m
  
  [2X> Centralizer( [0X[3XG, x[0X[2X ) _____________________________________________[0Xoperation
  [6XReturns:[0X  A subgroup of a group [3XG[0m.
  
  The  input  should be formed by a finite group [3XG[0m and an element [3Xx[0m of a group
  ring FH whose underlying group H contains [3XG[0m as a subgroup.
  
  Returns the centralizer of [3Xx[0m in [3XG[0m.
  
  This  operation  adds  a  new method to the operation that already exists in
  [5XGAP[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> D16 := DihedralGroup(16);[0X
    [4X<pc group of size 16 with 4 generators>[0X
    [4Xgap> QD16 := GroupRing( Rationals, D16 );[0X
    [4X<algebra-with-one over Rationals, with 4 generators>[0X
    [4Xgap> a:=QD16.1;b:=QD16.2;[0X
    [4X(1)*f1[0X
    [4X(1)*f2[0X
    [4Xgap> e := PrimitiveCentralIdempotentsByStrongSP( QD16)[3];;[0X
    [4Xgap> Centralizer( D16, a);[0X
    [4XGroup([ f1, f4 ])[0X
    [4Xgap> Centralizer( D16, b);[0X
    [4XGroup([ f2 ])[0X
    [4Xgap> Centralizer( D16, a+b);[0X
    [4XGroup([ f4 ])[0X
    [4Xgap> Centralizer( D16, e);[0X
    [4XGroup([ f1, f2 ])[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.2-2 OnPoints[0m
  
  [2X> OnPoints( [0X[3Xx, g[0X[2X ) ________________________________________________[0Xoperation
  [2X> \^( [0X[3Xx, g[0X[2X ) ______________________________________________________[0Xoperation
  [6XReturns:[0X  An element of a group ring.
  
  The input should be formed by an element [3Xx[0m of a group ring FG and an element
  [3Xg[0m in the underlying group G of FG.
  
  Returns  the  conjugate  x^g = g^-1 x g of [3Xx[0m by [3Xg[0m. Usage of [10Xx^g[0m produces the
  same output.
  
  This  operation  adds  a  new method to the operation that already exists in
  [5XGAP[0m.
  
  The  following example is a continuation of the example from the description
  of [2XCentralizer[0m ([14X6.2-1[0m).
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> List(D16,x->a^x=a);[0X
    [4X[ true, true, false, false, true, false, false, true, false, false, false,[0X
    [4X  false, false, false, false, false ][0X
    [4Xgap> List(D16,x->e^x=e);[0X
    [4X[ true, true, true, true, true, true, true, true, true, true, true, true,[0X
    [4X  true, true, true, true ][0X
    [4Xgap> ForAll(D16,x->a^x=a);[0X
    [4Xfalse[0X
    [4Xgap> ForAll(D16,x->e^x=e);[0X
    [4Xtrue[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.2-3 AverageSum[0m
  
  [2X> AverageSum( [0X[3XRG, X[0X[2X ) _____________________________________________[0Xoperation
  [6XReturns:[0X  An element of a group ring.
  
  The  input  must be composed of a group ring [3XRG[0m and a finite subset [3XX[0m of the
  underlying  group  G  of  [3XRG[0m.  The  order  of  [3XX[0m  must  be invertible in the
  coefficient ring R of [3XRG[0m.
  
  Returns  the  element  of  the group ring [3XRG[0m that is equal to the sum of all
  elements of [3XX[0m divided by the order of [3XX[0m.
  
  If  [3XX[0m  is  a  subgroup  of G then the output is an idempotent of RG which is
  central if and only if [3XX[0m is normal in G.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> G:=DihedralGroup(16);;               [0X
    [4Xgap> QG:=GroupRing( Rationals, G );;[0X
    [4Xgap> FG:=GroupRing( GF(5), G );;[0X
    [4Xgap> e:=AverageSum( QG, DerivedSubgroup(G) );[0X
    [4X(1/4)*<identity> of ...+(1/4)*f3+(1/4)*f4+(1/4)*f3*f4[0X
    [4Xgap> f:=AverageSum( FG, DerivedSubgroup(G) ); [0X
    [4X(Z(5)^2)*<identity> of ...+(Z(5)^2)*f3+(Z(5)^2)*f4+(Z(5)^2)*f3*f4[0X
    [4Xgap> G=Centralizer(G,e);[0X
    [4Xtrue[0X
    [4Xgap> H:=Subgroup(G,[G.1]);[0X
    [4XGroup([ f1 ])[0X
    [4Xgap> e:=AverageSum( QG, H );[0X
    [4X(1/2)*<identity> of ...+(1/2)*f1[0X
    [4Xgap> G=Centralizer(G,e);[0X
    [4Xfalse[0X
    [4Xgap> IsNormal(G,H);[0X
    [4Xfalse[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  
  [1X6.3 Cyclotomic classes[0X
  
  [1X6.3-1 CyclotomicClasses[0m
  
  [2X> CyclotomicClasses( [0X[3Xq, n[0X[2X ) _______________________________________[0Xoperation
  [6XReturns:[0X  A partition of [ 0 .. n ].
  
  The input should be formed by two relatively prime positive integers.
  
  Returns the list [3Xq[0m-[13Xcyclotomic classes [0m ([14X7.17[0m) modulo [3Xn[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> CyclotomicClasses( 2, 21 );[0X
    [4X[ [ 0 ], [ 1, 2, 4, 8, 16, 11 ], [ 3, 6, 12 ], [ 5, 10, 20, 19, 17, 13 ],[0X
    [4X  [ 7, 14 ], [ 9, 18, 15 ] ][0X
    [4Xgap> CyclotomicClasses( 10, 21 );[0X
    [4X[ [ 0 ], [ 1, 10, 16, 13, 4, 19 ], [ 2, 20, 11, 5, 8, 17 ],[0X
    [4X  [ 3, 9, 6, 18, 12, 15 ], [ 7 ], [ 14 ] ][0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.3-2 IsCyclotomicClass[0m
  
  [2X> IsCyclotomicClass( [0X[3Xq, n, C[0X[2X ) ____________________________________[0Xoperation
  
  The input should be formed by two relatively prime positive integers [3Xq[0m and [3Xn[0m
  and a sublist [3XC[0m of [ 0 .. n ].
  
  Returns  [9Xtrue[0m  if  [3XC[0m  is  a  [3Xq[0m-[13Xcyclotomic  class[0m  ([14X7.17[0m)  modulo [3Xn[0m and [9Xfalse[0m
  otherwise.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> IsCyclotomicClass( 2, 7, [1,2,4] );[0X
    [4Xtrue[0X
    [4Xgap> IsCyclotomicClass( 2, 21, [1,2,4] );[0X
    [4Xfalse[0X
    [4Xgap> IsCyclotomicClass( 2, 21, [3,6,12] );[0X
    [4Xtrue[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  
  [1X6.4 Other commands[0X
  
  [1X6.4-1 InfoWedderga[0m
  
  [2X> InfoWedderga____________________________________________________[0Xinfo class
  
  [10XInfoWedderga[0m  is  a  special  Info  class  for [5XWedderga[0m algorithms. It has 3
  levels: 0, 1 (default) and 2. To change the info level to [10Xk[0m, use the command
  [10XSetInfoLevel(InfoWedderga, k)[0m.
  
  In  the  example  below  we use this mechanism to see more details about the
  Wedderburn components each time when we call [10XWedderburnDecomposition[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> SetInfoLevel(InfoWedderga, 2);   [0X
    [4Xgap> WedderburnDecomposition( GroupRing( CF(5), DihedralGroup( 16 ) ) );[0X
    [4X#I  Info version : [ [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ],[0X
    [4X  [ 2, CF(5) ], [ 1, NF(40,[ 1, 31 ]), 8, [ 2, 7, 0 ] ] ][0X
    [4X[ CF(5), CF(5), CF(5), CF(5), ( CF(5)^[ 2, 2 ] ), [0X
    [4X  <crossed product with center NF(40,[ 1, 31 ]) over AsField( NF(40,[0X
    [4X    [ 1, 31 ]), CF(40) ) of a group of size 2> ][0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [1X6.4-2 WEDDERGABuildManual[0m
  
  [2X> WEDDERGABuildManual( [0X[3X[0X[2X ) __________________________________________[0Xfunction
  
  This  function  is  used  to build the manual in the following formats: DVI,
  PDF,  PS,  HTML  and text for online help. We recommend that the user should
  have  a  recent  and  fairly  complete  TeX  distribution. Since [5XWedderga[0m is
  distributed  together  with  its manual, it is not necessary for the user to
  use  this  function.  Normally  it  is intended to be used by the developers
  only.  This  is  the  only  function of [5XWedderga[0m which requires a UNIX/Linux
  environment.
  
  [1X6.4-3 WEDDERGABuildManualHTML[0m
  
  [2X> WEDDERGABuildManualHTML( [0X[3X[0X[2X ) ______________________________________[0Xfunction
  
  This  fuction is used to build the manual only in HTML format. This does not
  depend  on  the availability of the TeX installation and works under Windows
  and  MacOS  as well. Since [5XWedderga[0m is distributed together with its manual,
  it  is  not  necessary  for  the  user  to use this function. Normally it is
  intended to be used by the developers only.
  
