The functions described below, used in various parts of the CHEVIE\ package, sometimes duplicate or have similar functions to some functions in other packages (like the SPECHT package). It is hoped that a review of this area will be done in the future.
The combinatorial objects dealt with here are partitions, beta numbers and symbols. A partition in CHEVIE is a decreasing list of strictly positive integers p1 ≥ p2 ≥ ... pn>0, represented as a GAP list. A beta-number list is a list of strictly increasing positive integers, up to the shift equivalence relation. A shift is the equivalence relation which is the transitive closure of the elementary equivalence of [s1,...,sn] and [0,1+s1,...,1+sn]. It is clear that an equivalence class has exactly one member which does not contain 0: it is called the normalized beta-list. To a partition is associated the list of its beta-numbers, which is the list whose normalized representative is pn,pn-1+1,...,p1+n-1. Conversely, to each beta-list is associated a partition, the one associated by the above formula to its normalized representative.
A symbol is a tuple S=[S1,..,Sn] of beta lists, taken modulo the
equivalence relation generated by two elementary equivalences: the
simultaneous shift of all lists, and the cyclic permutation of the tuple
(in the particular case where n=2 it is thus an unordered pair of
lists). This time there is a unique normalized symbol where 0 is not in
the intersection of the Si. A basic invariant attached to symbols is
the shape List(S,Length)
; when n=2 one can assume that S1 has
at least the same length as S2 and the difference of cardinals
Length(S[1])-Length(S[2])
, called the defect, is then invariant by
shift. Another invariant by shift in general is the rank, defined as
Sum(S,Sum)-QuoInt((Sum(S,Length)-1)*(Sum(S,Length)-Length(S)+1),2*Length(S))
Partitions and pairs of partitions are parameters for characters of the Weyl groups of classical types, and tuples of partitions are parameters for characters of imprimitive complex reflection groups. Symbols with two lines are parameters for the unipotent characters of classical Chevalley groups, and more general symbols for the unipotent characters of Spetses associated to complex reflection groups. The rank of the symbol is the semi-simple rank of the corresponding Chevalley group or Spetses.
Symbols of rank n and defect 0 parameterize characters of the Weyl group of type Dn, and symbols of rank n and defect divisible by 4 parameterize unipotent characters of split orthogonal groups of dimension 2n. Symbols of rank n and defect congruent to 2 (mod 4) parameterize unipotent characters of non-split orthogonal groups of dimension 2n. Symbols of rank n and defect 1 parameterize characters of the Weyl group of type Bn, and finally symbols of rank n and odd defect parameterize unipotent characters of symplectic groups of dimension 2n or orthogonal groups of dimension 2n+1.
BetaSet( p )
Here p is a partition (a non-increasing list of positive integers).
BetaSet
the corresponding reduced list of Beta numbers (see the
introduction of the section for definitions).
gap> BetaSet([3,3,1]); [ 1, 4, 5 ]
This function does not require "chevie", it is part of the GAP library. However, as it is not documented elsewhere we document it here.
PartBeta( b )
Here b is a list of integers representing a list of beta-numbers.
PartBeta
returns the partition associated to the corresponding
normalized beta-list (see the introduction of the section for
definitions).
gap> PartBeta([0,4,5]); [ 3, 3 ]
This function requires the package "chevie" (see RequirePackage).
ShiftBeta( b, n )
Here b is a list of integers representing a list of beta-numbers.
ShiftBeta
returns the list shifted by n (see the introduction of the
section for definitions).
gap> ShiftBeta([4,5],3); [ 0, 1, 2, 7, 8 ]
This function requires the package "chevie" (see RequirePackage).
PartitionTupleToString( tuple )
converts the partition tuple tuple to a string where the partitions are separated by a dot.
gap> d:=PartitionTuples(3,2); [ [ [ 1, 1, 1 ], [ ] ], [ [ 1, 1 ], [ 1 ] ], [ [ 1 ], [ 1, 1 ] ], [ [ ], [ 1, 1, 1 ] ], [ [ 2, 1 ], [ ] ], [ [ 1 ], [ 2 ] ], [ [ 2 ], [ 1 ] ], [ [ ], [ 2, 1 ] ], [ [ 3 ], [ ] ], [ [ ], [ 3 ] ] ] gap> for i in d do > Print( PartitionTupleToString( i )," "); > od; Print("\n"); 111. 11.1 1.11 .111 21. 1.2 2.1 .21 3. .3
This function requires the package "chevie" (see RequirePackage).
Tableaux(tuple)
returns the list of standrad tableaux associated to the partition tuple
tuple, that is a filling of the associated young diagrams with the
numbers [1..Sum(tuple,Sum)]
such that the numbers increase across the
rows and down the columns.
gap> Tableaux([[2,1],[1]]); [ [ [ [ 2, 4 ], [ 3 ] ], [ [ 1 ] ] ], [ [ [ 1, 4 ], [ 3 ] ], [ [ 2 ] ] ], [ [ [ 1, 4 ], [ 2 ] ], [ [ 3 ] ] ], [ [ [ 2, 3 ], [ 4 ] ], [ [ 1 ] ] ], [ [ [ 1, 3 ], [ 4 ] ], [ [ 2 ] ] ], [ [ [ 1, 2 ], [ 4 ] ], [ [ 3 ] ] ], [ [ [ 1, 3 ], [ 2 ] ], [ [ 4 ] ] ], [ [ [ 1, 2 ], [ 3 ] ], [ [ 4 ] ] ] ]
This function requires the package "chevie" (see RequirePackage).
DefectSymbol( s )
Let s=[S,T]
be a symbol given as a pair of lists (see the
introduction to the section). DefectSymbol
returns the defect of s,
equal to Length(S)-Length(T)
.
gap> DefectSymbol([[1,2],[1,5,6]]); -1
This function requires the package "chevie" (see RequirePackage).
RankSymbol( s )
Let s=[S1,..,Sn] be a symbol given as a tuple of lists (see the
introduction to the section). RankSymbol
returns the rank of s.
gap> RankSymbol([[1,2],[1,5,6]]); 11
This function requires the package "chevie" (see RequirePackage).
Symbols( n, d )
Returns the list of all two-line symbols of defect d and rank n (see
the introduction for definitions). If d=0 the symbols with equal parts
are returned twice, so that Symbols(n, 0)
returns a set of parameters
for the characters of the Weyl group of type Dn.
gap> Symbols(2,1); [ [ [ 1, 2 ], [ 0 ] ], [ [ 0, 2 ], [ 1 ] ], [ [ 0, 1, 2 ], [ 1, 2 ] ], [ [ 2 ], [ ] ], [ [ 0, 1 ], [ 2 ] ] ] gap> Symbols(4,0); [ [ [ 1, 2 ], [ 1, 2 ] ], [ [ 1, 2 ], [ 1, 2 ] ], [ [ 0, 1, 3 ], [ 1, 2, 3 ] ], [ [ 0, 1, 2, 3 ], [ 1, 2, 3, 4 ] ], [ [ 1, 2 ], [ 0, 3 ] ], [ [ 0, 2 ], [ 1, 3 ] ], [ [ 0, 1, 2 ], [ 1, 2, 4 ] ], [ [ 2 ], [ 2 ] ], [ [ 2 ], [ 2 ] ], [ [ 0, 1 ], [ 2, 3 ] ], [ [ 1 ], [ 3 ] ], [ [ 0, 1 ], [ 1, 4 ] ], [ [ 0 ], [ 4 ] ] ]
This function requires the package "chevie" (see RequirePackage).
SymbolsDefect( e, r, def , inh)
Returns the list of symbols defined by Malle for Unipotent characters of
imprimitive Spetses. Returns e-symbols of rank r, defect def (equal
to 0 or 1) and content equal to inh modulo e. Thus the symbols for
unipotent characters of G(d,1,r)
are given by SymbolsDefect(d,r,0,1)
and those for unipotent characters of G(e,e,r)
by
SymbolsDefect(e,r,0,0)
.
gap> SymbolsDefect(3,2,0,1); [ [ [ 1, 2 ], [ 0 ], [ 0 ] ], [ [ 0, 2 ], [ 1 ], [ 0 ] ], [ [ 0, 2 ], [ 0 ], [ 1 ] ], [ [ 0, 1, 2 ], [ 1, 2 ], [ 0, 1 ] ], [ [ 0, 1 ], [ 1 ], [ 1 ] ], [ [ 0, 1, 2 ], [ 0, 1 ], [ 1, 2 ] ], [ [ 2 ], [ ], [ ] ], [ [ 0, 1 ], [ 2 ], [ 0 ] ], [ [ 0, 1 ], [ 0 ], [ 2 ] ], [ [ 1 ], [ 0, 1, 2 ], [ 0, 1, 2 ] ], [ [ ], [ 0, 2 ], [ 0, 1 ] ], [ [ ], [ 0, 1 ], [ 0, 2 ] ], [ [ 0 ], [ ], [ 0, 1, 2 ] ], [ [ 0 ], [ 0, 1, 2 ], [ ] ] ] gap> List(last,StringSymbol); [ "(12,0,0)", "(02,1,0)", "(02,0,1)", "(012,12,01)", "(01,1,1)", "(012,01,12)", "(2,,)", "(01,2,0)", "(01,0,2)", "(1,012,012)", "(,02,01)", "(,01,02)", "(0,,012)", "(0,012,)" ] gap> SymbolsDefect(3,3,0,0); [ [ [ 1 ], [ 1 ], [ 1 ] ], [ [ 0, 1 ], [ 1, 2 ], [ 0, 2 ] ], [ [ 0, 1 ], [ 0, 2 ], [ 1, 2 ] ], [ [ 0, 1, 2 ], [ 0, 1, 2 ], [ 1, 2, 3 ] ], [ [ 0 ], [ 1 ], [ 2 ] ], [ [ 0 ], [ 2 ], [ 1 ] ], [ [ 0, 1 ], [ 0, 1 ], [ 1, 3 ] ], [ [ 0 ], [ 0 ], [ 3 ] ], [ [ 0, 1, 2 ], [ ], [ ] ], [ [ 0, 1, 2 ], [ 0, 1, 2 ], [ ] ] ] gap> List(last,StringSymbol); [ "(1,1,1)", "(01,12,02)", "(01,02,12)", "(012,012,123)", "(0,1,2)", "(0,2,1)", "(01,01,13)", "(0,0,3)", "(012,,)", "(012,012,)" ]
This function requires the package "chevie" (see RequirePackage).
94.10 CycPolGenericDegreeSymbol
CycPolGenericDegreeSymbol( s )
Let s=[S1,..,Sn] be a symbol given as a tuple of lists (see the
introduction to the section). CycPolGenericDegreeSymbol
returns as a
CycPol
the generic degree of the unipotent character parameterized by
s.
gap> CycPolGenericDegreeSymbol([[1,2],[1,5,6]]); (1/2)q^13P5P6P7P8^2P9P10P11P14P16P18P20P22
This function requires the package "chevie" (see RequirePackage).
CycPolFakeDegreeSymbol( s )
Let s=[S1,..,Sn] be a symbol given as a tuple of lists (see the
introduction to the section). CycPolFakeDegreeSymbol
returns as a
CycPol
the fake degree of the unipotent character parameterized by
s.
gap> CycPolFakeDegreeSymbol([[1,5,6],[1,2]]); q^16P5P7P8P9P10P11P14P16P18P20P22
This function requires the package "chevie" (see RequirePackage).
94.12 LowestPowerGenericDegreeSymbol
LowestPowerGenericDegreeSymbol( s )
Let s=[S1,..,Sn]
be a symbol given as a pair of lists (see the
introduction to the section). LowestPowerGenericDegreeSymbol
returns
the valuation of the generic degree of the unipotent character
parameterized by s.
gap> LowestPowerGenericDegreeSymbol([[1,2],[1,5,6]]); 13
This function requires the package "chevie" (see RequirePackage).
94.13 HighestPowerGenericDegreeSymbol
HighestPowerGenericDegreeSymbol( s )
Let s=[S1,..,Sn]
be a symbol given as a pair of lists (see
the introduction to the section). HighestPowerGenericDegreeSymbol
returns the degree of the generic degree of the unipotent character
parameterized by s.
gap> HighestPowerGenericDegreeSymbol([[1,5,6],[1,2]]); 91
This function requires the package "chevie" (see RequirePackage).
Previous Up Next
Index
GAP 3.4.4