Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

6 Useful properties and functions
 6.1 Semisimple group algebras of finite groups
 6.2 Operations with group rings elements
 6.3 Cyclotomic classes
 6.4 Other commands

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 (9.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 (9.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 (9.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 otherwise.


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.1-5 IsTwistingTrivial
‣ IsTwistingTrivial( G, H, K )( property )

The input must be a group and a strong Shoda pair of the group.

Returns true if the simple algebra ℚGe(G,H,K) has a trivial twisting (9.15), and false otherwise.


gap> G:=DihedralGroup(8);;
gap> H:=StrongShodaPairs(G)[5][1];
Group([ f1*f2, f3, f3 ])
gap> K:=StrongShodaPairs(G)[5][2]; 
Group([ f1*f2 ])
gap> IsTwistingTrivial(G,H,K);
true

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 (9.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 (9.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> ]

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind

generated by GAPDoc2HTML