Weyl Group Calculations

(code and examples by William J. Cook)

for

On a symmetry of the category of integrable modules
by William J. Cook and Christopher Sadowski

Note:
This page is an html export of the Maple worksheet "LieAlgebraExamples.mw". The worksheet was created in a Windows Vista version of Maple 12. However, the source code found in "LieAlgebra.maple" should work in older versions of Maple. In order to excute the worksheet, you must download the text file "LieAlgebra.maple" (this file contains the Maple code for the routines used in the examples worksheet). Please make sure "LieAlgebra.maple" is located in the same directory as the worksheet "LieAlgebraExamples.mw".


In order to determine the action of H. Li's Delta-operators on the set of equivalence classes of integrable modules, we need to find highest weight vectors for modules under "new" (Delta-operator modified) actions. In order to do this, we need to locate a weight beta such that beta + mu is not a weight for mu equal to most of the simple roots as well as the negative highest long root.

It is established in the corresponding paper that our "new" highest weight can be obtained from our "old" highest weight by applying a certain element of the Weyl group. In particular, let L(k,lambda) be the vertex operator algebra associated with the affine Lie algebra \hat{g} where g is a finite dimensional simple Lie algebra and k is a positive integer (the level). We show in the paper that there is an element, call it w, of the Weyl group of g such that the w(lambda) weight space contains the "new" highest weight vector (for L(k,lambda) with the Delta-operator modified action). It is interesting to note that w does not depend on the level k (of the module L(k,lambda)), so in some sense the action seems to be more closely related to the affine Lie algebra module structure than the vertex operator algebra structure.

The main purpose of this worksheet is to verify claims about the action of certain Weyl group elements for the type E_6 and E_7 cases.

These Maple routines were originally used to discover formulas for the Weyl group elements. Looking at several low rank cases allowed us to conjecture general formulas in all cases except for type E_7. To find an element for the E_7 case, we had to write a small C-program and use a slightly more thoughtful search through E_7's (rather large) Weyl group.

Note:
This Maple worksheet is adapted from Maple code written by the first author for the paper: "On the constructive inverse problem in differential Galois theory" by W. Cook, C. Mitschi and M. F. Singer, Comm. Algebra, 33 (2005), 3639-3665. The original worksheet can be found at: https://www.math.ncsu.edu/~singer/papers/minuscule/

Initialize and Load the Maple Code 

> # Clear Memory
restart;
 

> # Import Maple Code
read "LieAlgebra.maple";
 

Routine Examples 

 

These are some examples of how to use the routines imported
from the file "LieAlgebra.maple".
 

 

> CartanMatrix('A',4);
 

(2.1)
 

> DynkinDiagram('A',4);
 

Plot_2d
 

 

The simple roots and fundamental weights are given in terms 

of an appropriate Euclidean space. The dot product computes 

the standard symmetric invariant bilinear form (long roots have 

square length 2). 

 

> alpha := SimpleRoots('A',2):
seq(alpha[i],i=1..2);
 

[`*`(`^`(2, `/`(1, 2))), 0], [`+`(`-`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2)))))), `+`(`*`(`/`(1, 2), `*`(`^`(6, `/`(1, 2)))))] (2.2)
 

> myDot(alpha[1],alpha[1]);
 

2 (2.3)
 

 

The fundamental weights are returned in a list of coordinate  

vectors (coordinates with respect to the Euclidean space basis). 

 

> lambda := FundamentalWeights('A',2):
seq(lambda[i],i=1..2);
 

[`+`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2))))), `+`(`*`(`/`(1, 6), `*`(`^`(6, `/`(1, 2)))))], [0, `+`(`*`(`/`(1, 3), `*`(`^`(6, `/`(1, 2)))))] (2.4)
 

 

The highest long root is given in coordinates with respect to 

the basis of fundamental weights. 

 

> HighestLongRoot('A',2);
theta := 1*lambda[1]+1*lambda[2];
 

 

[1, 1]
[`+`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2))))), `+`(`*`(`/`(1, 2), `*`(`^`(6, `/`(1, 2)))))] (2.5)
 

 

We know that the highest long root for A_2 = sl_3 is 

the sum of the two simple roots. 

 

> theta = alpha[1]+alpha[2];
 

[`+`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2))))), `+`(`*`(`/`(1, 2), `*`(`^`(6, `/`(1, 2)))))] = [`+`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2))))), `+`(`*`(`/`(1, 2), `*`(`^`(6, `/`(1, 2)))))] (2.6)
 

 

FindWeights will determine the set of weights for the representation 

with highest weight:  

  lambda = [c_1,c_2,...,c_m] = c_1 lambda_1 + ... c_m lambda_m 

This procedure returns a set of weights given in coordinates with  

respect to the basis of fundamental weights. 

 

Here are the weights for A_2's adjoint module (whose highest weight 

is 1*lambda_1 + 1*lambda_2). 

 

> FindWeights('A',2,[1,1]);
 

{[-2, 1], [-1, -1], [-1, 2], [0, 0], [1, -2], [1, 1], [2, -1]} (2.7)
 

 

FundamentalToEuclidean changes from fundamental weight coordinates 

to Euclidean space coordinates. 

 

> a*lambda[1]+b*lambda[2] = FundamentalToEuclidean('A',2,[a,b]);
 

`+`(`*`(a, `*`([`+`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2))))), `+`(`*`(`/`(1, 6), `*`(`^`(6, `/`(1, 2)))))])), `*`(b, `*`([0, `+`(`*`(`/`(1, 3), `*`(`^`(6, `/`(1, 2)))))]))) = `+`([0, 0], `*`(a, `*`([`+... (2.8)
 

 

FindWeightsEuclidean converts the output of FindWeights to the 

coordinates with respect to the Euclidean space basis. 

 

> FindWeightsEuclidean('A',2,[1,1]);
 

{[0, 0], [`*`(`^`(2, `/`(1, 2))), 0], [`+`(`-`(`*`(`^`(2, `/`(1, 2))))), 0], [`+`(`-`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2)))))), `+`(`-`(`*`(`/`(1, 2), `*`(`^`(6, `/`(1, 2))))))], [`+`(`-`(`*`(`/`(1, 2...
{[0, 0], [`*`(`^`(2, `/`(1, 2))), 0], [`+`(`-`(`*`(`^`(2, `/`(1, 2))))), 0], [`+`(`-`(`*`(`/`(1, 2), `*`(`^`(2, `/`(1, 2)))))), `+`(`-`(`*`(`/`(1, 2), `*`(`^`(6, `/`(1, 2))))))], [`+`(`-`(`*`(`/`(1, 2...
(2.9)
 

 

PlotWeights will plot the weights of a highest weight representation 

for simple Lie algebras of ranks 1, 2, and 3. 

 

Example: Type A_1 = sl_2, the 6 dimensional highest weight module 

             (with highest weight lambda = 5*lambda_1). 

 

> PlotWeights('A',1,[5]);
 

Plot_2d
 

 

PlotWeights has two extra options: showing labels and showing lines connecting 

the weights to the origin. The syntax is:  

[>  PlotWeights(lie_type, lie_rank, show_labels, show_lines); 

 

Example: Type A_2 = sl_3, the adjoint module. The corresponding labels are 

             the coordinates of the weights with respect to the fundamental weight 

             basis. 

 

> PlotWeights('A',2,[1,1],true);
 

Plot_2d
 

 

Example: Type A_3, highest weight 1*lambda_1+1*lambda_3 

             (no labels, but with lines connecting weights to the origin). 

 

> PlotWeights('A',3,[1,0,1],false,true);
 

Plot
 

 

Let sigma_i be the simple reflection associated with the simple root alpha_i. 

We know that the Weyl group is generated by these simple reflections. 

The WeylReflect, WeylEl, WeylReflectSet, and WeylReflectList functions 

apply Weyl group elements to coordinate vectors (or sets or lists of coordinate 

vectors). All coordinates are with respect to the fundamental weight basis. 

 

Example: For the algebra A_2, the simple reflection sigma_1 associated  

with alpha_1 reflects 1*lambda_1+1*lambda_2 to -1*lambda_1+2*lambda_2 

 

> WeylReflect('A',2,1,[1,1]);
 

[-1, 2] (2.10)
 

 

Example: Again for A_2, w = sigma_2 composed with sigma_1 

is an element of the Weyl group. We will represent this element 

by the list [2, 1]. This Weyl group element applied to the weight 

1*lambda_1+1*lambda_2 is... 

 

> w := [2,1];
'w = sigma[2]*sigma[1]';
mu := [1,1];
'mu = 1*lambda[1]+1*lambda[2]';
'w(mu)' = WeylEl('A',2,w,mu);
 

 

 

 

 

[2, 1]
w = `*`(sigma[2], `*`(sigma[1]))
[1, 1]
mu = `+`(lambda[1], lambda[2])
w(mu) = [1, -2] (2.11)
 

 

Example: Apply the simple reflection sigma_1 to the set or list of weights 

 

> WeylReflectSet('A',2,1,{[-1,2],[2,-1],[1,1]});
 

{[-2, 1], [-1, 2], [1, 1]} (2.12)
 

> WeylReflectList('A',2,1,[[-1,2],[2,-1],[1,1]]);
 

[[1, 1], [-2, 1], [-1, 2]] (2.13)
 

 

Determine where the new highest weight is located when we use 

the module action associated with Delta(H^(1),x) and "old" highest
weight 1*lambda[1]+1*lambda[2].
 

 

> NewHighestWeight('A',2,[1,1],1);
 

[-2, 1] (2.14)
 

 

If H^(j) is not a minuscule co-weight, our theorem does not apply 

and we are no longer gauranteed to find the "new" highest weight. 

 

If we try running this routine on the G_2 module with highest weight 

lambda_2, the routine returns a warning that the "new" highest weight 

it found is not unique...thus signaling a problem.  

 

Note: G_2 has no minuscule co-weights, so our results do not apply here. 

 

> NewHighestWeight('G',2,[0,1],1);
 

 

Warning, Answer is not unique!
[-3, 1] (2.15)
 

 

weylGroup finds all of the elements of the Weyl group where for example: 

[1,2,1] represents sigma_1 sigma_2 sigma_1 and [ ] represents the identity. 

 

Example: the Weyl group of A_2. 

 

> weylGroup('A',2);
 

[[], [1], [2], [1, 2], [2, 1], [1, 2, 1]] (2.16)
 

 

The extra argument "true" makes the function print out status reports 

(which is helpful for very large examples). 

 

> weylGroup('A',5,true):
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Found 1 elements of length 0 totalling 1 elements found so far.
Found 5 elements of length 1 totalling 6 elements found so far.
Found 14 elements of length 2 totalling 20 elements found so far.
Found 29 elements of length 3 totalling 49 elements found so far.
Found 49 elements of length 4 totalling 98 elements found so far.
Found 71 elements of length 5 totalling 169 elements found so far.
Found 90 elements of length 6 totalling 259 elements found so far.
Found 101 elements of length 7 totalling 360 elements found so far.
Found 101 elements of length 8 totalling 461 elements found so far.
Found 90 elements of length 9 totalling 551 elements found so far.
Found 71 elements of length 10 totalling 622 elements found so far.
Found 49 elements of length 11 totalling 671 elements found so far.
Found 29 elements of length 12 totalling 700 elements found so far.
Found 14 elements of length 13 totalling 714 elements found so far.
Found 5 elements of length 14 totalling 719 elements found so far.
Found 1 elements of length 15 totalling 720 elements found so far. (2.17)
 

 

weylGroupSearch (blindly) searches through the Weyl group in order to 

find an element which sends our "old" highest weight to our "new" highest  

weight. This routine helped in conjecturing the general formula for the Weyl 

group element associated with each type and Delta-action. 

 

This routine returns the goal Weyl group element along with the Weyl group 

(which is computed as a side effect). 

 

Again, an extra argument of "true", will make the routine print out status reports. 

 

You may notice that the Weyl group elements found by this routine look "different" 

from the ones in the paper. This is due to the fact that a Weyl group element can 

be represented in many different ways (i.e. identity = sigma_1 sigma_1 so that, for  

example, [] = [1,1] = [1,2,2,1] = [1,2,2,1,2,2]). The representations given in the paper  

were chosen to look "nice", whereas the routine finds a presentation of minimal length. 

 

Note: This routine works well for ranks < 6. For larger ranks, the Weyl groups 

get quite large and the routine may be unpractical.  

 

> weylGroupSearch('A',1,1,true);
 

 

 

 

 

New highest weights found...beginning search
Found 1 elements of length 0 totalling 1 elements found so far.
Found goal Weyl group element... [1]
Found 1 elements of length 1 totalling 2 elements found so far.
[1], [[], [1]] (2.18)
 

> weylGroupSearch('A',2,1,true);
 

 

 

 

 

 

 

New highest weights found...beginning search
Found 1 elements of length 0 totalling 1 elements found so far.
Found 2 elements of length 1 totalling 3 elements found so far.
Found goal Weyl group element... [1, 2]
Found 2 elements of length 2 totalling 5 elements found so far.
Found 1 elements of length 3 totalling 6 elements found so far.
[1, 2], [[], [1], [2], [1, 2], [2, 1], [1, 2, 1]] (2.19)
 

> weylGroupSearch('A',3,1)[1];
 

[1, 2, 3] (2.20)
 

> weylGroupSearch('A',4,1)[1];
 

[1, 2, 3, 4] (2.21)
 

> weylGroupSearch('A',5,1,true)[1];
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

New highest weights found...beginning search
Found 1 elements of length 0 totalling 1 elements found so far.
Found 5 elements of length 1 totalling 6 elements found so far.
Found 14 elements of length 2 totalling 20 elements found so far.
Found 29 elements of length 3 totalling 49 elements found so far.
Found 49 elements of length 4 totalling 98 elements found so far.
Found goal Weyl group element... [1, 2, 3, 4, 5]
Found 71 elements of length 5 totalling 169 elements found so far.
Found 90 elements of length 6 totalling 259 elements found so far.
Found 101 elements of length 7 totalling 360 elements found so far.
Found 101 elements of length 8 totalling 461 elements found so far.
Found 90 elements of length 9 totalling 551 elements found so far.
Found 71 elements of length 10 totalling 622 elements found so far.
Found 49 elements of length 11 totalling 671 elements found so far.
Found 29 elements of length 12 totalling 700 elements found so far.
Found 14 elements of length 13 totalling 714 elements found so far.
Found 5 elements of length 14 totalling 719 elements found so far.
Found 1 elements of length 15 totalling 720 elements found so far.
[1, 2, 3, 4, 5] (2.22)
 

 

DeltaWeylEl returns the Weyl group element "sigma_{lie_type}^{(coweight)}"  

(as defined in the paper). 

 

> wSearch := weylGroupSearch('A',4,2)[1];
 

[2, 3, 4, 1, 2, 3] (2.23)
 

> wPaper := DeltaWeylEl('A',4,2);
 

[1, 2, 3, 4, 1, 2, 3, 4] (2.24)
 

 

Are these really the same element of the Weyl group? 

Let's check their actions on the fundamental weights. 

 

> fundWgts := [seq([seq(0,j=1..(i-1)),1,seq(0,k=(i+1)..4)],i=1..4)]:
 

> for i from 1 to 4 do
 

>   X:=WeylEl('A',4,wSearch,fundWgts[i]);
 

>   Y:=WeylEl('A',4,wPaper, fundWgts[i]);
 

>   ok := true;
 

>   for j from 1 to 4 do
 

>      if X[j]=Y[j] then
 

>         # ok so far
 

>      else
 

>         ok := false;
 

>      end if:
 

>   end do:
 

>   print(cat("wPaper(lambda_",i,") = ",convert(X,string), " and ",
 

>             "wSearch(lambda_",i,") = ",convert(Y,string), " Match? ", ok));
 

>   end do:
 

>
 

 

 

 

wPaper(lambda_1) = [0, -1, 1, 0] and wSearch(lambda_1) = [0, -1, 1, 0] Match? true
wPaper(lambda_2) = [0, -1, 0, 1] and wSearch(lambda_2) = [0, -1, 0, 1] Match? true
wPaper(lambda_3) = [0, -1, 0, 0] and wSearch(lambda_3) = [0, -1, 0, 0] Match? true
wPaper(lambda_4) = [1, -1, 0, 0] and wSearch(lambda_4) = [1, -1, 0, 0] Match? true (2.25)
 

 

This shows that wPaper and wSearch are actually the same element. 

 

Verifying Calculations 

 

We need to verify that the actions of: 

sigma_{E6}^{(1)},  sigma_{E6}^{(6)}, and  sigma_{E7}^{(7)}   

match the actions claimed in the paper. 

 

In addition, we give verifications for all rank 5 cases and type D6  

cases as well (since type D's behavior is different for even and  

odd ranks).  

 

A5 

> # A5 co-weight H^{(1)}
verifyCalculations('A',5,1);
DeltaWeylElAction('A',5,1);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(A5)^(1) = [1, 2, 3, 4, 5]
lambda_1^(1) = [-1, 1, 0, 0, 0] and w(lambda_1) = [-1, 1, 0, 0, 0] Match? true
lambda_2^(1) = [-1, 0, 1, 0, 0] and w(lambda_2) = [-1, 0, 1, 0, 0] Match? true
lambda_3^(1) = [-1, 0, 0, 1, 0] and w(lambda_3) = [-1, 0, 0, 1, 0] Match? true
lambda_4^(1) = [-1, 0, 0, 0, 1] and w(lambda_4) = [-1, 0, 0, 0, 1] Match? true
lambda_5^(1) = [-1, 0, 0, 0, 0] and w(lambda_5) = [-1, 0, 0, 0, 0] Match? true
Everything matches? true
true
w = sigma_(A5)^(1) = [1, 2, 3, 4, 5]
w(alpha_1) = alpha_2
w(alpha_2) = alpha_3
w(alpha_3) = alpha_4
w(alpha_4) = alpha_5
w(alpha_5) = alpha_0
w(alpha_0) = w(-theta) = alpha_1 (3.1.1)
 

> # A5 co-weight H^{(2)}
verifyCalculations('A',5,2);
DeltaWeylElAction('A',5,2);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(A5)^(2) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
lambda_1^(2) = [0, -1, 1, 0, 0] and w(lambda_1) = [0, -1, 1, 0, 0] Match? true
lambda_2^(2) = [0, -1, 0, 1, 0] and w(lambda_2) = [0, -1, 0, 1, 0] Match? true
lambda_3^(2) = [0, -1, 0, 0, 1] and w(lambda_3) = [0, -1, 0, 0, 1] Match? true
lambda_4^(2) = [0, -1, 0, 0, 0] and w(lambda_4) = [0, -1, 0, 0, 0] Match? true
lambda_5^(2) = [1, -1, 0, 0, 0] and w(lambda_5) = [1, -1, 0, 0, 0] Match? true
Everything matches? true
true
w = sigma_(A5)^(2) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
w(alpha_1) = alpha_3
w(alpha_2) = alpha_4
w(alpha_3) = alpha_5
w(alpha_4) = alpha_0
w(alpha_5) = alpha_1
w(alpha_0) = w(-theta) = alpha_2 (3.1.2)
 

> # A5 co-weight H^{(3)}
verifyCalculations('A',5,3);
DeltaWeylElAction('A',5,3);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(A5)^(3) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
lambda_1^(3) = [0, 0, -1, 1, 0] and w(lambda_1) = [0, 0, -1, 1, 0] Match? true
lambda_2^(3) = [0, 0, -1, 0, 1] and w(lambda_2) = [0, 0, -1, 0, 1] Match? true
lambda_3^(3) = [0, 0, -1, 0, 0] and w(lambda_3) = [0, 0, -1, 0, 0] Match? true
lambda_4^(3) = [1, 0, -1, 0, 0] and w(lambda_4) = [1, 0, -1, 0, 0] Match? true
lambda_5^(3) = [0, 1, -1, 0, 0] and w(lambda_5) = [0, 1, -1, 0, 0] Match? true
Everything matches? true
true
w = sigma_(A5)^(3) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
w(alpha_1) = alpha_4
w(alpha_2) = alpha_5
w(alpha_3) = alpha_0
w(alpha_4) = alpha_1
w(alpha_5) = alpha_2
w(alpha_0) = w(-theta) = alpha_3 (3.1.3)
 

> # A5 co-weight H^{(4)}
verifyCalculations('A',5,4);
DeltaWeylElAction('A',5,4);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(A5)^(4) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
lambda_1^(4) = [0, 0, 0, -1, 1] and w(lambda_1) = [0, 0, 0, -1, 1] Match? true
lambda_2^(4) = [0, 0, 0, -1, 0] and w(lambda_2) = [0, 0, 0, -1, 0] Match? true
lambda_3^(4) = [1, 0, 0, -1, 0] and w(lambda_3) = [1, 0, 0, -1, 0] Match? true
lambda_4^(4) = [0, 1, 0, -1, 0] and w(lambda_4) = [0, 1, 0, -1, 0] Match? true
lambda_5^(4) = [0, 0, 1, -1, 0] and w(lambda_5) = [0, 0, 1, -1, 0] Match? true
Everything matches? true
true
w = sigma_(A5)^(4) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
w(alpha_1) = alpha_5
w(alpha_2) = alpha_0
w(alpha_3) = alpha_1
w(alpha_4) = alpha_2
w(alpha_5) = alpha_3
w(alpha_0) = w(-theta) = alpha_4 (3.1.4)
 

> # A5 co-weight H^{(5)}
verifyCalculations('A',5,5);
DeltaWeylElAction('A',5,5);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(A5)^(5) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
lambda_1^(5) = [0, 0, 0, 0, -1] and w(lambda_1) = [0, 0, 0, 0, -1] Match? true
lambda_2^(5) = [1, 0, 0, 0, -1] and w(lambda_2) = [1, 0, 0, 0, -1] Match? true
lambda_3^(5) = [0, 1, 0, 0, -1] and w(lambda_3) = [0, 1, 0, 0, -1] Match? true
lambda_4^(5) = [0, 0, 1, 0, -1] and w(lambda_4) = [0, 0, 1, 0, -1] Match? true
lambda_5^(5) = [0, 0, 0, 1, -1] and w(lambda_5) = [0, 0, 0, 1, -1] Match? true
Everything matches? true
true
w = sigma_(A5)^(5) = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
w(alpha_1) = alpha_0
w(alpha_2) = alpha_1
w(alpha_3) = alpha_2
w(alpha_4) = alpha_3
w(alpha_5) = alpha_4
w(alpha_0) = w(-theta) = alpha_5 (3.1.5)
 

B5 

> # B5 co-weight H^{(1)}
verifyCalculations('B',5,1);
DeltaWeylElAction('B',5,1);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(B5)^(1) = [1, 2, 3, 4, 5, 4, 3, 2, 1]
lambda_1^(1) = [-1, 0, 0, 0, 0] and w(lambda_1) = [-1, 0, 0, 0, 0] Match? true
lambda_2^(1) = [-2, 1, 0, 0, 0] and w(lambda_2) = [-2, 1, 0, 0, 0] Match? true
lambda_3^(1) = [-2, 0, 1, 0, 0] and w(lambda_3) = [-2, 0, 1, 0, 0] Match? true
lambda_4^(1) = [-2, 0, 0, 1, 0] and w(lambda_4) = [-2, 0, 0, 1, 0] Match? true
lambda_5^(1) = [-1, 0, 0, 0, 1] and w(lambda_5) = [-1, 0, 0, 0, 1] Match? true
Everything matches? true
true
w = sigma_(B5)^(1) = [1, 2, 3, 4, 5, 4, 3, 2, 1]
w(alpha_1) = alpha_0
w(alpha_2) = alpha_2
w(alpha_3) = alpha_3
w(alpha_4) = alpha_4
w(alpha_5) = alpha_5
w(alpha_0) = w(-theta) = alpha_1 (3.2.1)
 

 

C5 

> # C5 co-weight H^{(5)}
verifyCalculations('C',5,5);
DeltaWeylElAction('C',5,5);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(C5)^(5) = [5, 4, 3, 2, 1, 5, 4, 3, 2, 5, 4, 3, 5, 4, 5]
lambda_1^(5) = [0, 0, 0, 1, -1] and w(lambda_1) = [0, 0, 0, 1, -1] Match? true
lambda_2^(5) = [0, 0, 1, 0, -1] and w(lambda_2) = [0, 0, 1, 0, -1] Match? true
lambda_3^(5) = [0, 1, 0, 0, -1] and w(lambda_3) = [0, 1, 0, 0, -1] Match? true
lambda_4^(5) = [1, 0, 0, 0, -1] and w(lambda_4) = [1, 0, 0, 0, -1] Match? true
lambda_5^(5) = [0, 0, 0, 0, -1] and w(lambda_5) = [0, 0, 0, 0, -1] Match? true
Everything matches? true
true
w = sigma_(C5)^(5) = [5, 4, 3, 2, 1, 5, 4, 3, 2, 5, 4, 3, 5, 4, 5]
w(alpha_1) = alpha_4
w(alpha_2) = alpha_3
w(alpha_3) = alpha_2
w(alpha_4) = alpha_1
w(alpha_5) = alpha_0
w(alpha_0) = w(-theta) = alpha_5 (3.3.1)
 

D5 and D6 

> # D5 co-weight H^{(1)}
verifyCalculations('D',5,1);
DeltaWeylElAction('D',5,1);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(D5)^(1) = [1, 2, 3, 4, 5, 3, 2, 1]
lambda_1^(1) = [-1, 0, 0, 0, 0] and w(lambda_1) = [-1, 0, 0, 0, 0] Match? true
lambda_2^(1) = [-2, 1, 0, 0, 0] and w(lambda_2) = [-2, 1, 0, 0, 0] Match? true
lambda_3^(1) = [-2, 0, 1, 0, 0] and w(lambda_3) = [-2, 0, 1, 0, 0] Match? true
lambda_4^(1) = [-1, 0, 0, 0, 1] and w(lambda_4) = [-1, 0, 0, 0, 1] Match? true
lambda_5^(1) = [-1, 0, 0, 1, 0] and w(lambda_5) = [-1, 0, 0, 1, 0] Match? true
Everything matches? true
true
w = sigma_(D5)^(1) = [1, 2, 3, 4, 5, 3, 2, 1]
w(alpha_1) = alpha_0
w(alpha_2) = alpha_2
w(alpha_3) = alpha_3
w(alpha_4) = alpha_5
w(alpha_5) = alpha_4
w(alpha_0) = w(-theta) = alpha_1 (3.4.1)
 

> # D5 co-weight H^{(4)}
verifyCalculations('D',5,4);
DeltaWeylElAction('D',5,4);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(D5)^(4) = [4, 3, 2, 1, 5, 3, 2, 4, 3, 5]
lambda_1^(4) = [0, 0, 0, -1, 1] and w(lambda_1) = [0, 0, 0, -1, 1] Match? true
lambda_2^(4) = [0, 0, 1, -2, 0] and w(lambda_2) = [0, 0, 1, -2, 0] Match? true
lambda_3^(4) = [0, 1, 0, -2, 0] and w(lambda_3) = [0, 1, 0, -2, 0] Match? true
lambda_4^(4) = [1, 0, 0, -1, 0] and w(lambda_4) = [1, 0, 0, -1, 0] Match? true
lambda_5^(4) = [0, 0, 0, -1, 0] and w(lambda_5) = [0, 0, 0, -1, 0] Match? true
Everything matches? true
true
w = sigma_(D5)^(4) = [4, 3, 2, 1, 5, 3, 2, 4, 3, 5]
w(alpha_1) = alpha_5
w(alpha_2) = alpha_3
w(alpha_3) = alpha_2
w(alpha_4) = alpha_1
w(alpha_5) = alpha_0
w(alpha_0) = w(-theta) = alpha_4 (3.4.2)
 

> # D5 co-weight H^{(5)}
verifyCalculations('D',5,5);
DeltaWeylElAction('D',5,5);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(D5)^(5) = [5, 3, 2, 1, 4, 3, 2, 5, 3, 4]
lambda_1^(5) = [0, 0, 0, 1, -1] and w(lambda_1) = [0, 0, 0, 1, -1] Match? true
lambda_2^(5) = [0, 0, 1, 0, -2] and w(lambda_2) = [0, 0, 1, 0, -2] Match? true
lambda_3^(5) = [0, 1, 0, 0, -2] and w(lambda_3) = [0, 1, 0, 0, -2] Match? true
lambda_4^(5) = [0, 0, 0, 0, -1] and w(lambda_4) = [0, 0, 0, 0, -1] Match? true
lambda_5^(5) = [1, 0, 0, 0, -1] and w(lambda_5) = [1, 0, 0, 0, -1] Match? true
Everything matches? true
true
w = sigma_(D5)^(5) = [5, 3, 2, 1, 4, 3, 2, 5, 3, 4]
w(alpha_1) = alpha_4
w(alpha_2) = alpha_3
w(alpha_3) = alpha_2
w(alpha_4) = alpha_0
w(alpha_5) = alpha_1
w(alpha_0) = w(-theta) = alpha_5 (3.4.3)
 

> # D6 co-weight H^{(1)}
verifyCalculations('D',6,1);
DeltaWeylElAction('D',6,1);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(D6)^(1) = [1, 2, 3, 4, 5, 6, 4, 3, 2, 1]
lambda_1^(1) = [-1, 0, 0, 0, 0, 0] and w(lambda_1) = [-1, 0, 0, 0, 0, 0] Match? true
lambda_2^(1) = [-2, 1, 0, 0, 0, 0] and w(lambda_2) = [-2, 1, 0, 0, 0, 0] Match? true
lambda_3^(1) = [-2, 0, 1, 0, 0, 0] and w(lambda_3) = [-2, 0, 1, 0, 0, 0] Match? true
lambda_4^(1) = [-2, 0, 0, 1, 0, 0] and w(lambda_4) = [-2, 0, 0, 1, 0, 0] Match? true
lambda_5^(1) = [-1, 0, 0, 0, 0, 1] and w(lambda_5) = [-1, 0, 0, 0, 0, 1] Match? true
lambda_6^(1) = [-1, 0, 0, 0, 1, 0] and w(lambda_6) = [-1, 0, 0, 0, 1, 0] Match? true
Everything matches? true
true
w = sigma_(D6)^(1) = [1, 2, 3, 4, 5, 6, 4, 3, 2, 1]
w(alpha_1) = alpha_0
w(alpha_2) = alpha_2
w(alpha_3) = alpha_3
w(alpha_4) = alpha_4
w(alpha_5) = alpha_6
w(alpha_6) = alpha_5
w(alpha_0) = w(-theta) = alpha_1 (3.4.4)
 

> # D6 co-weight H^{(5)}
verifyCalculations('D',6,5);
DeltaWeylElAction('D',6,5);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(D6)^(5) = [5, 4, 3, 2, 1, 6, 4, 3, 2, 5, 4, 3, 6, 4, 5]
lambda_1^(5) = [0, 0, 0, 0, -1, 1] and w(lambda_1) = [0, 0, 0, 0, -1, 1] Match? true
lambda_2^(5) = [0, 0, 0, 1, -2, 0] and w(lambda_2) = [0, 0, 0, 1, -2, 0] Match? true
lambda_3^(5) = [0, 0, 1, 0, -2, 0] and w(lambda_3) = [0, 0, 1, 0, -2, 0] Match? true
lambda_4^(5) = [0, 1, 0, 0, -2, 0] and w(lambda_4) = [0, 1, 0, 0, -2, 0] Match? true
lambda_5^(5) = [0, 0, 0, 0, -1, 0] and w(lambda_5) = [0, 0, 0, 0, -1, 0] Match? true
lambda_6^(5) = [1, 0, 0, 0, -1, 0] and w(lambda_6) = [1, 0, 0, 0, -1, 0] Match? true
Everything matches? true
true
w = sigma_(D6)^(5) = [5, 4, 3, 2, 1, 6, 4, 3, 2, 5, 4, 3, 6, 4, 5]
w(alpha_1) = alpha_6
w(alpha_2) = alpha_4
w(alpha_3) = alpha_3
w(alpha_4) = alpha_2
w(alpha_5) = alpha_0
w(alpha_6) = alpha_1
w(alpha_0) = w(-theta) = alpha_5 (3.4.5)
 

> # D6 co-weight H^{(6)}
verifyCalculations('D',6,6);
DeltaWeylElAction('D',6,6);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(D6)^(6) = [6, 4, 3, 2, 1, 5, 4, 3, 2, 6, 4, 3, 5, 4, 6]
lambda_1^(6) = [0, 0, 0, 0, 1, -1] and w(lambda_1) = [0, 0, 0, 0, 1, -1] Match? true
lambda_2^(6) = [0, 0, 0, 1, 0, -2] and w(lambda_2) = [0, 0, 0, 1, 0, -2] Match? true
lambda_3^(6) = [0, 0, 1, 0, 0, -2] and w(lambda_3) = [0, 0, 1, 0, 0, -2] Match? true
lambda_4^(6) = [0, 1, 0, 0, 0, -2] and w(lambda_4) = [0, 1, 0, 0, 0, -2] Match? true
lambda_5^(6) = [1, 0, 0, 0, 0, -1] and w(lambda_5) = [1, 0, 0, 0, 0, -1] Match? true
lambda_6^(6) = [0, 0, 0, 0, 0, -1] and w(lambda_6) = [0, 0, 0, 0, 0, -1] Match? true
Everything matches? true
true
w = sigma_(D6)^(6) = [6, 4, 3, 2, 1, 5, 4, 3, 2, 6, 4, 3, 5, 4, 6]
w(alpha_1) = alpha_5
w(alpha_2) = alpha_4
w(alpha_3) = alpha_3
w(alpha_4) = alpha_2
w(alpha_5) = alpha_1
w(alpha_6) = alpha_0
w(alpha_0) = w(-theta) = alpha_6 (3.4.6)
 

E6 and E7 

 

We need to verify our calculations for type E_6 with co-weights H^(1) and H^(6) 

as well as type E_7 with co-weight H^(7). 

 

Note: E_8, F_2, and G_2 have no minuscule co-weights, so there is nothing to check. 

 

> # E6 co-weight H^{(1)}
verifyCalculations('E',6,1);
DeltaWeylElAction('E',6,1);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(E6)^(1) = [1, 3, 4, 2, 5, 4, 3, 1, 6, 5, 4, 2, 3, 4, 5, 6]
lambda_1^(1) = [-1, 0, 0, 0, 0, 1] and w(lambda_1) = [-1, 0, 0, 0, 0, 1] Match? true
lambda_2^(1) = [-2, 0, 1, 0, 0, 0] and w(lambda_2) = [-2, 0, 1, 0, 0, 0] Match? true
lambda_3^(1) = [-2, 0, 0, 0, 1, 0] and w(lambda_3) = [-2, 0, 0, 0, 1, 0] Match? true
lambda_4^(1) = [-3, 0, 0, 1, 0, 0] and w(lambda_4) = [-3, 0, 0, 1, 0, 0] Match? true
lambda_5^(1) = [-2, 1, 0, 0, 0, 0] and w(lambda_5) = [-2, 1, 0, 0, 0, 0] Match? true
lambda_6^(1) = [-1, 0, 0, 0, 0, 0] and w(lambda_6) = [-1, 0, 0, 0, 0, 0] Match? true
Everything matches? true
true
w = sigma_(E6)^(1) = [1, 3, 4, 2, 5, 4, 3, 1, 6, 5, 4, 2, 3, 4, 5, 6]
w(alpha_1) = alpha_6
w(alpha_2) = alpha_3
w(alpha_3) = alpha_5
w(alpha_4) = alpha_4
w(alpha_5) = alpha_2
w(alpha_6) = alpha_0
w(alpha_0) = w(-theta) = alpha_1 (3.5.1)
 

> # E6 co-weight H^{(6)}
verifyCalculations('E',6,6);
DeltaWeylElAction('D',6,6);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(E6)^(6) = [6, 5, 4, 2, 3, 4, 5, 6, 1, 3, 4, 2, 5, 4, 3, 1]
lambda_1^(6) = [0, 0, 0, 0, 0, -1] and w(lambda_1) = [0, 0, 0, 0, 0, -1] Match? true
lambda_2^(6) = [0, 0, 0, 0, 1, -2] and w(lambda_2) = [0, 0, 0, 0, 1, -2] Match? true
lambda_3^(6) = [0, 1, 0, 0, 0, -2] and w(lambda_3) = [0, 1, 0, 0, 0, -2] Match? true
lambda_4^(6) = [0, 0, 0, 1, 0, -3] and w(lambda_4) = [0, 0, 0, 1, 0, -3] Match? true
lambda_5^(6) = [0, 0, 1, 0, 0, -2] and w(lambda_5) = [0, 0, 1, 0, 0, -2] Match? true
lambda_6^(6) = [1, 0, 0, 0, 0, -1] and w(lambda_6) = [1, 0, 0, 0, 0, -1] Match? true
Everything matches? true
true
w = sigma_(D6)^(6) = [6, 4, 3, 2, 1, 5, 4, 3, 2, 6, 4, 3, 5, 4, 6]
w(alpha_1) = alpha_5
w(alpha_2) = alpha_4
w(alpha_3) = alpha_3
w(alpha_4) = alpha_2
w(alpha_5) = alpha_1
w(alpha_6) = alpha_0
w(alpha_0) = w(-theta) = alpha_6 (3.5.2)
 

> # E7 co-weight H^{(7)}
#
# Warning: Verifying the E_7 case may take several minutes.
#
verifyCalculations('E',7,7);
DeltaWeylElAction('E',7,7);
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = sigma_(E7)^(7) = [7, 6, 5, 4, 3, 2, 4, 5, 6, 7, 1, 3, 4, 5, 6, 2, 4, 5, 3, 4, 1, 3, 2, 4, 5, 6, 7]
lambda_1^(7) = [0, 0, 0, 0, 0, 1, -2] and w(lambda_1) = [0, 0, 0, 0, 0, 1, -2] Match? true
lambda_2^(7) = [0, 1, 0, 0, 0, 0, -2] and w(lambda_2) = [0, 1, 0, 0, 0, 0, -2] Match? true
lambda_3^(7) = [0, 0, 0, 0, 1, 0, -3] and w(lambda_3) = [0, 0, 0, 0, 1, 0, -3] Match? true
lambda_4^(7) = [0, 0, 0, 1, 0, 0, -4] and w(lambda_4) = [0, 0, 0, 1, 0, 0, -4] Match? true
lambda_5^(7) = [0, 0, 1, 0, 0, 0, -3] and w(lambda_5) = [0, 0, 1, 0, 0, 0, -3] Match? true
lambda_6^(7) = [1, 0, 0, 0, 0, 0, -2] and w(lambda_6) = [1, 0, 0, 0, 0, 0, -2] Match? true
lambda_7^(7) = [0, 0, 0, 0, 0, 0, -1] and w(lambda_7) = [0, 0, 0, 0, 0, 0, -1] Match? true
Everything matches? true
true
w = sigma_(E7)^(7) = [7, 6, 5, 4, 3, 2, 4, 5, 6, 7, 1, 3, 4, 5, 6, 2, 4, 5, 3, 4, 1, 3, 2, 4, 5, 6, 7]
w(alpha_1) = alpha_6
w(alpha_2) = alpha_2
w(alpha_3) = alpha_5
w(alpha_4) = alpha_4
w(alpha_5) = alpha_3
w(alpha_6) = alpha_1
w(alpha_7) = alpha_0
w(alpha_0) = w(-theta) = alpha_7 (3.5.3)