Constructing Representations

Contents

Lie Algebras

The functions described in this section are applicable only to almost reductive structure constant Lie algebras.

If L has of large dimension, the step that calculates the information needed to compute preimages for these representations can be quite time consuming. So if there is no requirement for preimages, this step may be skipped by setting the optional argument ComputePreImage to false.

TrivialRepresentation(L) : AlgLie -> Map
The one-dimensional trivial representation of the Lie algebra L over its base ring.
AdjointRepresentation(L) : AlgLie -> Map
    ComputePreImage: BoolElt            Default: true
The adjoint representation of the Lie algebra L acting on itself.
StandardRepresentation(L) : AlgLie -> Map
    ComputePreImage: BoolElt            Default: true
The standard representation of the semisimple Lie algebra L over its base ring. This is the smallest dimensional faithful representation of G (with a few small exceptions). The Killing form of L must be nondegenerate.

Example LieReps_StandardRepresentation (H111E2)

> R := RootDatum("A2");
> #CoisogenyGroup(R);
3
> L := LieAlgebra(R, GF(2));
> h := StandardRepresentation(L);
> h(L.1);
[0 0 1]
[0 0 0]
[0 0 0]
> L := LieAlgebra(R, GF(3));
> h := StandardRepresentation(L);
>> h := StandardRepresentation(L);
                              ^
Runtime error in 'StandardRepresentation': Cannot compute the standard
representation in characteristic  3
The coisogeny group of a simply connected root datum always has order one, so we can compute the standard representation in this case.
> R := RootDatum("A2" : Isogeny:="SC");
> L := LieAlgebra(R, GF(3));
> h := StandardRepresentation(L);
HighestWeightRepresentation(L, w) : AlgLie, [ ] -> UserProgram
The representation of the Lie algebra L with highest weight w (given either as a vector or as a sequence representing a vector). The result is a function, which for an element of L gives the corresponding matrix. The algorithm used is described in [dG01].

Example LieReps_HighestWeight (H111E3)

> L:= LieAlgebra("G2", RationalField());
> WeylDimension(RootDatum(L), [1,0]);
7
> rho:= HighestWeightRepresentation(L, [1,0]);
> e, f, h := ChevalleyBasis(L);
> rho(e[1]+f[1]);
[ 0  1  0  0  0  0  0]
[ 1  0  0  0  0  0  0]
[ 0  0  0 -2  0  0  0]
[ 0  0 -1  0 -1  0  0]
[ 0  0  0 -2  0  0  0]
[ 0  0  0  0  0  0  1]
[ 0  0  0  0  0  1  0]
> Codomain(rho);
Full Matrix Lie Algebra of degree 7 over Rational Field
> N := sub<Codomain(rho) | [ rho(x) : x in e ]>;
> Dimension(N);
6
> IsSolvable(N);
true
HighestWeightModule(L, w) : AlgLie, SeqEnum -> ModTupAlg
Given a semisimple Lie algebra L corresponding to a root datum of rank r and a sequence w of non-negative integers of length r, this returns the irreducible L-module with highest weight w. The object returned is a left module over L. The algorithm used is described in [dG01].
TensorProduct(Q) : SeqEnum -> ModAlg, Map
Given a sequence Q of left-modules over a Lie algebra, this function returns the module M that is the tensor product of the elements of Q. It also returns a map φ from the Cartesian product P of the modules in Q to M as the second return value. If t is a tuple whose i-th component is an element from the i-th module in Q then φ maps t to the element of M that corresponds to the tensor product of the elements of t.
SymmetricPower(V, n) : ModAlg, RngIntElt -> ModAlg, Map
Given a left-module V over a Lie algebra, and an integer n≥2, this function returns the module M that is the n-th symmetric power of V. It also returns a map f from the n-fold Cartesian product of V to M. This map is multilinear and symmetric, i.e., if two of its arguments are interchanged then the image remains the same. Furthermore, f has the universal property, i.e., any multilinear symmetric map from the n-fold Cartesian product into a vector space W can be written as the composition of f with a map from M into W.

ExteriorPower(V, n) : ModAlg, RngIntElt -> ModAlg, Map
Given a left-module V over a Lie algebra, and an integer 2≤n ≤dim(V), this function returns the module M that is the n-th exterior power of V. It also returns a map f from the n-fold Cartesian product of V to M. This map is multilinear and antisymmetric, i.e., if two of its arguments are interchanged then the image is multiplied by -1. Furthermore, f has the universal property, i.e., any multilinear antisymmetric map from the n-fold Cartesian product into a vector space W can be written as the composition of f with a map from M into W.

Example LieReps_LieModules (H111E4)

> L:= LieAlgebra("G2", Rationals());
> V1:= HighestWeightModule(L, [1,0]);
> V2:= HighestWeightModule(L, [0,1]);
> T,f:= TensorProduct([V1,V2]);
> HighestWeightsAndVectors(T);
[
    (1 1),
    (2 0),
    (1 0)
]
[
    [
        T: (1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
    ],
    [
        T: (0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 -3 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
    ],
    [
        T: (0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0
            0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -3 0 0 0 0 0 0 0 0 0 0
            0 0 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
    ]
]
> DecomposeTensorProduct(RootDatum(L), [1,0], [0,1]);
[
    (1 1),
    (2 0),
    (1 0)
]
[ 1, 1, 1 ]
> f(<V1.2,V2.3>);
T: (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
So we see that the tensor product T decomposes as a direct sum of three submodules. This information can also be computed by using DecomposeTensorProduct. However, in the former case, the corresponding highest-weight vectors are also given.
> E,h:= ExteriorPower(V1, 3);
> h(<V1.1,V1.3,V1.4>);
E: (0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
> h(<V1.1,V1.4,V1.3>);
E: (0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
> DecomposeExteriorPower( RootDatum(L), 3, [1,0] );
[
    (2 0),
    (1 0),
    (0 0)
]
[ 1, 1, 1 ]
> HighestWeightsAndVectors(E);
[
    (2 0),
    (1 0),
    (0 0)
]
[
    [
        E: (1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        0)
    ],
    [
        E: (0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        0)
    ],
    [
        E: (0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 2 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
        0)
    ]
]

Groups of Lie Type

TrivialRepresentation(G) : GrpLie -> Map
The one-dimensional trivial representation of the group of Lie type G over its base ring.
StandardRepresentation(G) : GrpLie -> Map
The standard (projective) representation of the semisimple group of Lie type G over an extension its base ring. In other words, the smallest dimension highest-weight representation. For the classical groups, this is the natural representation. If this is a projective representation rather than a linear representation, a warning is given. This is constructed from the corresponding Lie algebra representation, using the algorithm in [CMT04].
AdjointRepresentation(G) : GrpLie -> Map, AlgLie
The adjoint (projective) representation of the group of Lie type G over an extension of its base ring, ie. the representation given by the action of G on its Lie algebra. The Lie algebra itself is the second returned value. This is constructed from the corresponding Lie algebra representation, using the algorithm in [CMT04].
LieAlgebra(G) : GrpLie -> AlgLie, Map
The Lie algebra of the group of Lie type G, together with the adjoint representation. If this is a projective representation rather than a linear representation, a warning is given.
HighestWeightRepresentation(G, v) : GrpLie, . -> Map
The highest weight (projective) representation with highest weight v of the group of Lie type G over an extension of its base ring. If this is a projective representation rather than a linear representation, a warning is given. This is constructed from the corresponding Lie algebra representation, using the algorithm in [CMT04].

Example LieReps_StandardRepresentation (H111E5)

> G := GroupOfLieType("A2", Rationals() : Isogeny := "SC");
> rho := StandardRepresentation(G);
> rho(elt< G | 1 >);
[ 0 -1  0]
[ 1  0  0]
[ 0  0  1]
> rho(elt<G | <2,1/2> >);
[  1   0   0]
[  0   1   0]
[  0 1/2   1]
> rho(elt< G | VectorSpace(Rationals(),2)![3,5] >);
[  3   0   0]
[  0 5/3   0]
[  0   0 1/5]
>
> G := GroupOfLieType("A2", Rationals());
> Invariants(CoisogenyGroup(G));
[ 3 ]
> rho := StandardRepresentation(G);
Warning: Projective representation
> BaseRing(Codomain(rho));
Algebraically closed field with no variables
> rho(elt< G | VectorSpace(Rationals(),2)![3,1] >);
[r1  0  0]
[ 0 r2  0]
[ 0  0 r2]
> rho(elt< G | VectorSpace(Rationals(),2)![3,1] >)^3;
[  9   0   0]
[  0 1/3   0]
[  0   0 1/3]
V2.28, 13 July 2023