This chapter documents additional functions available for computation of weights and characters.
‣ Weight ( elt ) | ( operation ) |
Returns: a list of integers
The weight of the given element elt is calculated and returned.
gap> V:= WeylModule(3,[3,3],"A",2); V[ 3, 3 ] gap> m:= MaximalVectors(V); [ 1*v0, y1*v0, y2*v0, y1^(2)*y2*v0, -1*y1*y2^(2)*v0+y2*y3*v0, y1*y2*y3*v0+y1^(2)*y2^(2)*v0 ] gap> Weight(m[2]); [ 1, 4 ] gap> List(m,Weight); [ [ 3, 3 ], [ 1, 4 ], [ 4, 1 ], [ 0, 3 ], [ 3, 0 ], [ 1, 1 ] ]
NOTE. The above trick of applying the Weight
function across an entire list lst of vectors, with the command List(lst, Weight)
, is very useful in many situations. This capability is built in to the List
function in GAP.
We have already seen the function Character
(2.3-2), that computes the (formal) character of a given Weyl module, quotient, submodule, or subquotient. We now consider some additional functions for computing characters.
‣ DecomposeCharacter ( ch, p, typ, rk ) | ( operation ) |
Returns: a list (of simple highest weights and their multiplicities)
If ch is a given character (of some module) then this function computes the multiplicities of the simple characters in ch, thus obtaining the decomposition numbers of the module. Here it is necessary to specify the characteristic p and root system (of type typ and rank rk) for the simple characters. For instance, this can be used to decompose tensor products.
gap> V:= WeylModule(2,[2,0],"A",2); V[ 2, 0 ] gap> ch:= ProductCharacter(Character(V),Character(V)); [ [ 4, 0 ], 1, [ 2, 1 ], 2, [ 3, -1 ], 2, [ 0, 2 ], 3, [ 1, 0 ], 4, [ 2, -2 ], 3, [ -2, 3 ], 2, [ -1, 1 ], 4, [ 0, -1 ], 4, [ 1, -3 ], 2, [ -4, 4 ], 1, [ -3, 2 ], 2, [ -2, 0 ], 3, [ -1, -2 ], 2, [ 0, -4 ], 1 ] gap> DecomposeCharacter(ch,2,"A",2); [ [ 4, 0 ], 1, [ 2, 1 ], 2, [ 0, 2 ], 3, [ 1, 0 ], 2 ]
‣ DifferenceCharacter ( ch1, ch2 ) | ( operation ) |
Returns: a list (a character)
If ch1 and ch2 are given characters, this function returns their formal difference character. It is used in the definition of the DecomposeCharacter
function.
gap> DifferenceCharacter(Character(V),Character(V)); [ ]
The empty list here implements the zero character.
‣ ProductCharacter ( ch1, ch2 ) | ( operation ) |
Returns: a list (a character)
Returns the product character of its inputs ch1 and ch2. If ch1 and ch2 are characters of modules then the output of this function is the character of the tensor product of the modules.
gap> V:= WeylModule(2,[2,0],"A",2); V[ 2, 0 ] gap> ch:= ProductCharacter(Character(V),Character(V)); [ [ 4, 0 ], 1, [ 2, 1 ], 2, [ 3, -1 ], 2, [ 0, 2 ], 3, [ 1, 0 ], 4, [ 2, -2 ], 3, [ -2, 3 ], 2, [ -1, 1 ], 4, [ 0, -1 ], 4, [ 1, -3 ], 2, [ -4, 4 ], 1, [ -3, 2 ], 2, [ -2, 0 ], 3, [ -1, -2 ], 2, [ 0, -4 ], 1 ]
By applying the function DecomposeCharacter
(3.2-1) we can decompose tensor products in positive characteristic.
‣ SimpleCharacter ( p, wt, typ, rk ) | ( operation ) |
Returns: a list (a character)
Computes the simple character of highest weight wt in characteristic p. The arguments typ and rk specify the type and rank of the underlying root system. The function uses Steinberg's tensor product theorem.
gap> SimpleCharacter(2,[2,0],"A",2); [ [ 2, 0 ], 1, [ -2, 2 ], 1, [ 0, -2 ], 1 ]
Another way to compute the same result is to compute the Character
of the output of SimpleQuotient(V)
, where V
is the WeylModule in the same characteristic and root system with the same highest weight.
gap> V:= WeylModule(2,[2,0],"A",2); V[ 2, 0 ] gap> Character(SimpleQuotient(V)); [ [ 2, 0 ], 1, [ -2, 2 ], 1, [ 0, -2 ], 1 ]
generated by GAPDoc2HTML