GAP (Wedderga) - Chapter 6: Useful properties and functions

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

[MathJax on]

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.1-5 IsTwistingTrivial
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 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