Idempotents
Computing idempotents from character table
A list of group algebra elements.
The input FG should be a semisimple group algebra.

Returns the list of primitive central idempotents of FG using the character table of G ().

gap> QS3 := GroupRing( Rationals, SymmetricGroup(3) );; gap> PrimitiveCentralIdempotentsByCharacterTable( QS3 ); [ (1/6)*()+(-1/6)*(2,3)+(-1/6)*(1,2)+(1/6)*(1,2,3)+(1/6)*(1,3,2)+(-1/6)*(1,3), (2/3)*()+(-1/3)*(1,2,3)+(-1/3)*(1,3,2), (1/6)*()+(1/6)*(2,3)+(1/6)*(1,2)+(1/ 6)*(1,2,3)+(1/6)*(1,3,2)+(1/6)*(1,3) ] gap> QG:=GroupRing( Rationals , SmallGroup(24,3) ); <algebra-with-one over Rationals, with 4 generators> gap> FG:=GroupRing( CF(3) , SmallGroup(24,3) ); <algebra-with-one over CF(3), with 4 generators> gap> pciQG := PrimitiveCentralIdempotentsByCharacterTable(QG);; gap> pciFG := PrimitiveCentralIdempotentsByCharacterTable(FG);; gap> Length(pciQG); 5 gap> Length(pciFG); 7
Testing lists of idempotents for completeness
The input should be formed by a unital ring R and a list list of elements of R.

Returns true if the list list is a complete list of orthogonal idempotents of R. That is, the output is true provided the following conditions are satisfied:

\cdot
The sum of the elements of list is the identity of R,

\cdot
e^2=e
, for every e in list and

\cdot
e*f=0
, if e and f are elements in different positions of list.

No claim is made on the idempotents being central or primitive.

Note that the if a non-zero element t of R appears in two different positions of list then the output is false, and that the list list must not contain zeroes.

gap> QS5 := GroupRing( Rationals, SymmetricGroup(5) );; gap> idemp := PrimitiveCentralIdempotentsByCharacterTable( QS5 );; gap> IsCompleteSetOfOrthogonalIdempotents( QS5, idemp ); true gap> IsCompleteSetOfOrthogonalIdempotents( QS5, [ One( QS5 ) ] ); true gap> IsCompleteSetOfOrthogonalIdempotents( QS5, [ One( QS5 ), One( QS5 ) ] ); false
Idempotents from Shoda pairs
A list of group algebra elements.
The input FG should be a semisimple group algebra of a finite group G whose coefficient field F is either a finite field or the field &QQ; of rationals.

If F = &QQ; then the output is the list of primitive central idempotents of the group algebra FG realizable by strong Shoda pairs () of G.

If F is a finite field then the output is the list of primitive central idempotents of FG realizable by strong Shoda pairs (K,H) of G and q-cyclotomic classes modulo the index of H in K ().

If the list of primitive central idempotents given by the output is not complete (i.e. if the group G is not strongly monomial ()) then a warning is displayed.

gap> QG:=GroupRing( Rationals, AlternatingGroup(4) );; gap> PrimitiveCentralIdempotentsByStrongSP( QG ); [ (1/12)*()+(1/12)*(2,3,4)+(1/12)*(2,4,3)+(1/12)*(1,2)(3,4)+(1/12)*(1,2,3)+(1/ 12)*(1,2,4)+(1/12)*(1,3,2)+(1/12)*(1,3,4)+(1/12)*(1,3)(2,4)+(1/12)* (1,4,2)+(1/12)*(1,4,3)+(1/12)*(1,4)(2,3), (1/6)*()+(-1/12)*(2,3,4)+(-1/12)*(2,4,3)+(1/6)*(1,2)(3,4)+(-1/12)*(1,2,3)+( -1/12)*(1,2,4)+(-1/12)*(1,3,2)+(-1/12)*(1,3,4)+(1/6)*(1,3)(2,4)+(-1/12)* (1,4,2)+(-1/12)*(1,4,3)+(1/6)*(1,4)(2,3), (3/4)*()+(-1/4)*(1,2)(3,4)+(-1/4)*(1,3)(2,4)+(-1/4)*(1,4)(2,3) ] gap> QG := GroupRing( Rationals, SmallGroup(24,3) );; gap> PrimitiveCentralIdempotentsByStrongSP( QG );; Wedderga: Warning!!! The output is a NON-COMPLETE list of prim. central idemp.s of the input! gap> FG := GroupRing( GF(2), Group((1,2,3)) );; gap> PrimitiveCentralIdempotentsByStrongSP( FG ); [ (Z(2)^0)*()+(Z(2)^0)*(1,2,3)+(Z(2)^0)*(1,3,2), (Z(2)^0)*(1,2,3)+(Z(2)^0)*(1,3,2) ] gap> FG := GroupRing( GF(5), SmallGroup(24,3) );; gap> PrimitiveCentralIdempotentsByStrongSP( FG );; Wedderga: Warning!!! The output is a NON-COMPLETE list of prim. central idemp.s of the input!
A list of group algebra elements.
The input should be a rational group algebra of a finite group G.

Returns a list containing all the primitive central idempotents e of the rational group algebra QG such that \chi(e)\ne 0 for some irreducible monomial character \chi of G.

The output is the list of all primitive central idempotents of QG if and only if G is monomial, otherwise a warning message is displayed.

gap> QG := GroupRing( Rationals, SymmetricGroup(4) ); <algebra-with-one over Rationals, with 2 generators> gap> pci:=PrimitiveCentralIdempotentsBySP( QG ); [ (1/24)*()+(1/24)*(3,4)+(1/24)*(2,3)+(1/24)*(2,3,4)+(1/24)*(2,4,3)+(1/24)* (2,4)+(1/24)*(1,2)+(1/24)*(1,2)(3,4)+(1/24)*(1,2,3)+(1/24)*(1,2,3,4)+(1/ 24)*(1,2,4,3)+(1/24)*(1,2,4)+(1/24)*(1,3,2)+(1/24)*(1,3,4,2)+(1/24)* (1,3)+(1/24)*(1,3,4)+(1/24)*(1,3)(2,4)+(1/24)*(1,3,2,4)+(1/24)*(1,4,3,2)+( 1/24)*(1,4,2)+(1/24)*(1,4,3)+(1/24)*(1,4)+(1/24)*(1,4,2,3)+(1/24)*(1,4) (2,3), (1/24)*()+(-1/24)*(3,4)+(-1/24)*(2,3)+(1/24)*(2,3,4)+(1/24)* (2,4,3)+(-1/24)*(2,4)+(-1/24)*(1,2)+(1/24)*(1,2)(3,4)+(1/24)*(1,2,3)+(-1/ 24)*(1,2,3,4)+(-1/24)*(1,2,4,3)+(1/24)*(1,2,4)+(1/24)*(1,3,2)+(-1/24)* (1,3,4,2)+(-1/24)*(1,3)+(1/24)*(1,3,4)+(1/24)*(1,3)(2,4)+(-1/24)* (1,3,2,4)+(-1/24)*(1,4,3,2)+(1/24)*(1,4,2)+(1/24)*(1,4,3)+(-1/24)*(1,4)+( -1/24)*(1,4,2,3)+(1/24)*(1,4)(2,3), (3/8)*()+(-1/8)*(3,4)+(-1/8)*(2,3)+( -1/8)*(2,4)+(-1/8)*(1,2)+(-1/8)*(1,2)(3,4)+(1/8)*(1,2,3,4)+(1/8)* (1,2,4,3)+(1/8)*(1,3,4,2)+(-1/8)*(1,3)+(-1/8)*(1,3)(2,4)+(1/8)*(1,3,2,4)+( 1/8)*(1,4,3,2)+(-1/8)*(1,4)+(1/8)*(1,4,2,3)+(-1/8)*(1,4)(2,3), (3/8)*()+(1/8)*(3,4)+(1/8)*(2,3)+(1/8)*(2,4)+(1/8)*(1,2)+(-1/8)*(1,2)(3,4)+( -1/8)*(1,2,3,4)+(-1/8)*(1,2,4,3)+(-1/8)*(1,3,4,2)+(1/8)*(1,3)+(-1/8)*(1,3) (2,4)+(-1/8)*(1,3,2,4)+(-1/8)*(1,4,3,2)+(1/8)*(1,4)+(-1/8)*(1,4,2,3)+(-1/ 8)*(1,4)(2,3), (1/6)*()+(-1/12)*(2,3,4)+(-1/12)*(2,4,3)+(1/6)*(1,2)(3,4)+( -1/12)*(1,2,3)+(-1/12)*(1,2,4)+(-1/12)*(1,3,2)+(-1/12)*(1,3,4)+(1/6)*(1,3) (2,4)+(-1/12)*(1,4,2)+(-1/12)*(1,4,3)+(1/6)*(1,4)(2,3) ] gap> IsCompleteSetOfPCIs(QG,pci); true gap> QS5 := GroupRing( Rationals, SymmetricGroup(5) );; gap> pci:=PrimitiveCentralIdempotentsBySP( QS5 );; Wedderga: Warning!! The output is a NON-COMPLETE list of prim. central idemp.s of the input! gap> IsCompleteSetOfPCIs( QS5 , pci ); false

The output of contains the output of , possibly properly.

gap> QG := GroupRing( Rationals, SmallGroup(48,28) );; gap> pci:=PrimitiveCentralIdempotentsBySP( QG );; Wedderga: Warning!! The output is a NON-COMPLETE list of prim. central idemp.s of the input! gap> Length(pci); 6 gap> spci:=PrimitiveCentralIdempotentsByStrongSP( QG );; Wedderga: Warning!!! The output is a NON-COMPLETE list of prim. central idemp.s of the input! gap> Length(spci); 5 gap> IsSubset(pci,spci); true gap> QG:=GroupRing(Rationals,SmallGroup(1000,86)); <algebra-with-one over Rationals, with 6 generators> gap> IsCompleteSetOfPCIs( QG , PrimitiveCentralIdempotentsBySP(QG) ); true gap> IsCompleteSetOfPCIs( QG , PrimitiveCentralIdempotentsByStrongSP(QG) ); Wedderga: Warning!!! The output is a NON-COMPLETE list of prim. central idemp.s of the input! false