Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
 Top of Book   Previous Chapter   Next Chapter 

6 Useful properties and functions
 6.1 Semisimple group algebras of finite groups
  6.1-1 IsSemisimpleZeroCharacteristicGroupAlgebra

  6.1-2 IsSemisimpleRationalGroupAlgebra

  6.1-3 IsSemisimpleANFGroupAlgebra

  6.1-4 IsSemisimpleFiniteGroupAlgebra
 6.2 Operations with group rings elements
  6.2-1 Centralizer

  6.2-2 OnPoints

  6.2-3 AverageSum
 6.3 Cyclotomic classes
  6.3-1 CyclotomicClasses

  6.3-2 IsCyclotomicClass
 6.4 Other commands
  6.4-1 InfoWedderga

  6.4-2 WEDDERGABuildManual

  6.4-3 WEDDERGABuildManualHTML

6 Useful properties and functions

6.1 Semisimple group algebras of finite groups

6.1-1 IsSemisimpleZeroCharacteristicGroupAlgebra
> IsSemisimpleZeroCharacteristicGroupAlgebra( KG )( property )

The input must be a group ring.

Returns true if the input KG is a semisimple group algebra (7.2) over a field of characteristic zero (that is if G is finite), and false otherwise.


gap> CG:=GroupRing( GaussianRationals, DihedralGroup(16) );;
gap> IsSemisimpleZeroCharacteristicGroupAlgebra( CG );
true
gap> FG:=GroupRing( GF(2), SymmetricGroup(3) );;                    
gap> IsSemisimpleZeroCharacteristicGroupAlgebra( FG );
false
gap> f := FreeGroup("a");
<free group on the generators [ a ]>
gap> Qf:=GroupRing(Rationals,f);
<algebra-with-one over Rationals, with 2 generators>
gap> IsSemisimpleZeroCharacteristicGroupAlgebra(Qf);
false

6.1-2 IsSemisimpleRationalGroupAlgebra
> IsSemisimpleRationalGroupAlgebra( KG )( property )

The input must be a group ring.

Returns true if KG is a semisimple rational group algebra (7.2) and false otherwise.


gap> QG:=GroupRing( Rationals, SymmetricGroup(4) );;       
gap> IsSemisimpleRationalGroupAlgebra( QG );       
true
gap> CG:=GroupRing( GaussianRationals, DihedralGroup(16) );;               
gap> IsSemisimpleRationalGroupAlgebra( CG );                              
false
gap> FG:=GroupRing( GF(2), SymmetricGroup(3) );;
gap> IsSemisimpleRationalGroupAlgebra( FG );
false

6.1-3 IsSemisimpleANFGroupAlgebra
> IsSemisimpleANFGroupAlgebra( KG )( property )

The input must be a group ring.

Returns true if KG is the group algebra of a finite group over a subfield of a cyclotomic extension of the rationals and false otherwise.


gap> IsSemisimpleANFGroupAlgebra( GroupRing( NF(5,[4]) , CyclicGroup(28) ) );
true
gap> IsSemisimpleANFGroupAlgebra( GroupRing( GF(11) , CyclicGroup(28) ) );
false

6.1-4 IsSemisimpleFiniteGroupAlgebra
> IsSemisimpleFiniteGroupAlgebra( KG )( property )

The input must be a group ring.

Returns true if KG is a semisimple finite group algebra (7.2), that is a group algebra of a finite group G over a field K of order coprime to the order of G, and false otherwisse.


gap> FG:=GroupRing( GF(5), SymmetricGroup(3) );;
gap> IsSemisimpleFiniteGroupAlgebra( FG );
true
gap> KG:=GroupRing( GF(2), SymmetricGroup(3) );; 
gap> IsSemisimpleFiniteGroupAlgebra( KG ); 
false
gap> QG:=GroupRing( Rationals, SymmetricGroup(4) );;
gap> IsSemisimpleFiniteGroupAlgebra( QG );
false

6.2 Operations with group rings elements

6.2-1 Centralizer
> Centralizer( G, x )( operation )

Returns: A subgroup of a group G.

The input should be formed by a finite group G and an element x of a group ring FH whose underlying group H contains G as a subgroup.

Returns the centralizer of x in G.

This operation adds a new method to the operation that already exists in GAP.


gap> D16 := DihedralGroup(16);
<pc group of size 16 with 4 generators>
gap> QD16 := GroupRing( Rationals, D16 );
<algebra-with-one over Rationals, with 4 generators>
gap> a:=QD16.1;b:=QD16.2;
(1)*f1
(1)*f2
gap> e := PrimitiveCentralIdempotentsByStrongSP( QD16)[3];;
gap> Centralizer( D16, a);
Group([ f1, f4 ])
gap> Centralizer( D16, b);
Group([ f2 ])
gap> Centralizer( D16, a+b);
Group([ f4 ])
gap> Centralizer( D16, e);
Group([ f1, f2 ])

6.2-2 OnPoints
> OnPoints( x, g )( operation )
> \^( x, g )( operation )

Returns: An element of a group ring.

The input should be formed by an element x of a group ring FG and an element g in the underlying group G of FG.

Returns the conjugate x^g = g^-1 x g of x by g. Usage of x^g produces the same output.

This operation adds a new method to the operation that already exists in GAP.

The following example is a continuation of the example from the description of Centralizer (6.2-1).


gap> List(D16,x->a^x=a);
[ true, true, false, false, true, false, false, true, false, false, false,
  false, false, false, false, false ]
gap> List(D16,x->e^x=e);
[ true, true, true, true, true, true, true, true, true, true, true, true,
  true, true, true, true ]
gap> ForAll(D16,x->a^x=a);
false
gap> ForAll(D16,x->e^x=e);
true

6.2-3 AverageSum
> AverageSum( RG, X )( operation )

Returns: An element of a group ring.

The input must be composed of a group ring RG and a finite subset X of the underlying group G of RG. The order of X must be invertible in the coefficient ring R of RG.

Returns the element of the group ring RG that is equal to the sum of all elements of X divided by the order of X.

If X is a subgroup of G then the output is an idempotent of RG which is central if and only if X is normal in G.


gap> G:=DihedralGroup(16);;               
gap> QG:=GroupRing( Rationals, G );;
gap> FG:=GroupRing( GF(5), G );;
gap> e:=AverageSum( QG, DerivedSubgroup(G) );
(1/4)*<identity> of ...+(1/4)*f3+(1/4)*f4+(1/4)*f3*f4
gap> f:=AverageSum( FG, DerivedSubgroup(G) ); 
(Z(5)^2)*<identity> of ...+(Z(5)^2)*f3+(Z(5)^2)*f4+(Z(5)^2)*f3*f4
gap> G=Centralizer(G,e);
true
gap> H:=Subgroup(G,[G.1]);
Group([ f1 ])
gap> e:=AverageSum( QG, H );
(1/2)*<identity> of ...+(1/2)*f1
gap> G=Centralizer(G,e);
false
gap> IsNormal(G,H);
false

6.3 Cyclotomic classes

6.3-1 CyclotomicClasses
> CyclotomicClasses( q, n )( operation )

Returns: A partition of [ 0 .. n ].

The input should be formed by two relatively prime positive integers.

Returns the list q-cyclotomic classes (7.17) modulo n.


gap> CyclotomicClasses( 2, 21 );
[ [ 0 ], [ 1, 2, 4, 8, 16, 11 ], [ 3, 6, 12 ], [ 5, 10, 20, 19, 17, 13 ],
  [ 7, 14 ], [ 9, 18, 15 ] ]
gap> CyclotomicClasses( 10, 21 );
[ [ 0 ], [ 1, 10, 16, 13, 4, 19 ], [ 2, 20, 11, 5, 8, 17 ],
  [ 3, 9, 6, 18, 12, 15 ], [ 7 ], [ 14 ] ]

6.3-2 IsCyclotomicClass
> IsCyclotomicClass( q, n, C )( operation )

The input should be formed by two relatively prime positive integers q and n and a sublist C of [ 0 .. n ].

Returns true if C is a q-cyclotomic class (7.17) modulo n and false otherwise.


gap> IsCyclotomicClass( 2, 7, [1,2,4] );
true
gap> IsCyclotomicClass( 2, 21, [1,2,4] );
false
gap> IsCyclotomicClass( 2, 21, [3,6,12] );
true

6.4 Other commands

6.4-1 InfoWedderga
> InfoWedderga( info class )

InfoWedderga is a special Info class for Wedderga algorithms. It has 3 levels: 0, 1 (default) and 2. To change the info level to k, use the command SetInfoLevel(InfoWedderga, k).

In the example below we use this mechanism to see more details about the Wedderburn components each time when we call WedderburnDecomposition.


gap> SetInfoLevel(InfoWedderga, 2);   
gap> WedderburnDecomposition( GroupRing( CF(5), DihedralGroup( 16 ) ) );
#I  Info version : [ [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ],
  [ 2, CF(5) ], [ 1, NF(40,[ 1, 31 ]), 8, [ 2, 7, 0 ] ] ]
[ CF(5), CF(5), CF(5), CF(5), ( CF(5)^[ 2, 2 ] ), 
  <crossed product with center NF(40,[ 1, 31 ]) over AsField( NF(40,
    [ 1, 31 ]), CF(40) ) of a group of size 2> ]

6.4-2 WEDDERGABuildManual
> WEDDERGABuildManual( )( function )

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 Wedderga 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 Wedderga which requires a UNIX/Linux environment.

6.4-3 WEDDERGABuildManualHTML
> WEDDERGABuildManualHTML( )( function )

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 Wedderga 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.

 Top of Book   Previous Chapter   Next Chapter 
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML