Roots, Coroots and Weights

The roots are stored as an indexed set

{@ α1, ..., αN, αN + 1, ..., α2N @},

where α1, ..., αN are the positive roots in an order compatible with height; and αN + 1, ..., α2N are the corresponding negative roots (i.e. αi + N= - αi). The simple roots are α1, ..., αn where n is the rank.

Many of these functions have an optional argument Basis which may take one of the following values

1.
"Standard": the standard basis for the (co)root space. This is the default.
2.
"Root": the basis of simple (co)roots.
3.
"Weight": the basis of fundamental (co)weights (see Subsection Weights below).

Contents

Accessing Roots and Coroots

RootSpace(G) : GrpLie -> Lat
CorootSpace(G) : GrpLie -> Lat
The lattice containing the (co)roots of the group of Lie type G.
SimpleRoots(G) : GrpLie -> Mtrx
SimpleCoroots(G) : GrpLie -> Mtrx
The simple (co)roots of the group of Lie type G as the rows of a matrix.
NumberOfPositiveRoots(G) : GrpLie -> RngIntElt
NumPosRoots(G) : GrpLie -> RngIntElt
The number of positive roots of the group of Lie type G.
Roots(G) : GrpLie -> (@@)
Coroots(G) : GrpLie -> (@@)
    Basis: MonStgElt                    Default: "Standard"
An indexed set containing the (co)rootsof the group of Lie type G.
PositiveRoots(G) : GrpLie -> (@@)
PositiveCoroots(G) : GrpLie -> (@@)
    Basis: MonStgElt                    Default: "Standard"
An indexed set containing the positive (co)rootsof the group of Lie type G.
Root(G, r) : GrpLie, RngIntElt -> (@@)
Coroot(G, r) : GrpLie, RngIntElt -> (@@)
    Basis: MonStgElt                    Default: "Standard"
The rth (co)root of the group of Lie type G.
RootPosition(G, v) : GrpLie, . -> (@@)
CorootPosition(G, v) : GrpLie, . -> (@@)
    Basis: MonStgElt                    Default: "Standard"
If v is a (co)root of the group of Lie type G, this returns its position; otherwise it returns 0.

Example GrpLie_RootsCoroots (H110E13)

> G := GroupOfLieType("A3", 25 : Isogeny := 2);
> Roots(G);
{@
    (1 0 0),
    (0 1 0),
    (1 0 2),
    (1 1 0),
    (1 1 2),
    (2 1 2),
    (-1  0  0),
    (0 -1  0),
    (-1  0 -2),
    (-1 -1  0),
    (-1 -1 -2),
    (-2 -1 -2)
@}
> PositiveCoroots(G);
{@
    (2 -1 -1),
    (-1  2  0),
    (0 -1  1),
    (1  1 -1),
    (-1  1  1),
    (1 0 0)
@}
> #Roots(G) eq 2*NumPosRoots(G);
true
> Coroot(G, 4);
(1  1 -1)
> Coroot(G, 4 : Basis := "Root");
(1 1 0)
> CorootPosition(G, [1,1,-1]);
4
> CorootPosition(G, [1,1,0] : Basis := "Root");
4
HighestRoot(G) : GrpLie -> LatElt
HighestLongRoot(G) : GrpLie -> LatElt
    Basis: MonStgElt                    Default: "Standard"
The unique (long) root of greatest height in the root datum of the group of Lie type G.
HighestShortRoot(G) : GrpLie -> LatElt
    Basis: MonStgElt                    Default: "Standard"
The unique short root of greatest heightin the root datum of the group of Lie type G.

Example GrpLie_HeighestRoots (H110E14)

> G := GroupOfLieType("G2", RealField());
> HighestRoot(G);
(3 2)
> HighestLongRoot(G);
(3 2)
> HighestShortRoot(G);
(2 1)

Reflections

The reflections in the Weyl group have representatives in the group of Lie type.

Reflections(G) : GrpLie -> GrpLieElt
The sequence of representatives of reflections in the group of Lie type G.
Reflection(G, r) : GrpLie, RngIntElt -> GrpLieElt
The representative of the reflections in the rth root in the group of Lie type G.

Example GrpLie_Reflections (H110E15)

> G := GroupOfLieType("A2", Rationals());
> Reflections(G);
[ n1 , n2 , n1 n2 n1  ]

Operations and Properties for Root and Coroot Indices

RootHeight(G, r) : GrpLie, RngIntElt -> RngIntElt
CorootHeight(G, r) : GrpLie, RngIntElt -> RngIntElt
The height of the rth (co)root of the group of Lie type G, i.e. the sum of the coefficients of αr (resp. αrstar) with respect to the simple (co)roots.
RootNorms(G) : GrpLie -> [RngIntElt]
CorootNorms(G) : GrpLie -> [RngIntElt]
The sequence of squares of the lengthsof the (co)roots of the group of Lie type G.
RootNorm(G, r) : GrpLie, RngIntElt -> RngIntElt
CorootNorm(G, r) : GrpLie, RngIntElt -> RngIntElt
The square of the length of the rth (co)root of the group of Lie type G.
IsLongRoot(G, r) : GrpLie, RngIntElt -> BoolElt
Returns true if, and only if, the rth root of the group of Lie type G is long, i.e. the rth coroot is short.
IsShortRoot(G, r) : GrpLie, RngIntElt -> BoolElt
Returns true if, and only if, the rth root of the group of Lie type G is short, i.e. the rth coroot is long.
AdditiveOrder(G) : GrpLie -> SeqEnum
An additive orderon the positive roots of the group of Lie type G, i.e. a sequence containing the numbers 1, ..., N in some order so that αr + αst implies t is between r and s. This is computed using the techniques of Papi [Pap94].

Example GrpLie_AdditiveOrder (H110E16)

> G := GroupOfLieType("A5", GF(3));
> a := AdditiveOrder(G);
> Position(a, 2);
6
> Position(a, 3);
10

Weights

WeightLattice(G) : GrpLie -> Lat
CoweightLattice(G) : GrpLie -> Lat
The (co)weight latticeof the group of Lie type G.
FundamentalWeights(G) : GrpLie -> Mtrx
FundamentalCoweights(G) : GrpLie -> Mtrx
    Basis: MonStgElt                    Default: "Standard"
The fundamental (co)weightsof the group of Lie type G as the rows of a matrix.
DominantWeight(G, v) : GrpLie, . -> ModTupFldElt, GrpFPCoxElt
    Basis: MonStgElt                    Default: "Standard"
The unique dominant weight in the same W-orbit as v, where W is the Weyl group of G and v is a weight given as a vector or a sequence representing a vector. The second value returned is a Weyl group element taking v to the dominant weight.
V2.28, 13 July 2023