Constructing Representations

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: Standard Representation of a Lie Algebra (ex-b368df)

Run in calculator (opens in a new tab)

> 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);

Run in calculator (opens in a new tab)

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: Highest Weight Representation of a Lie Algebra (ex-42d826)

Run in calculator (opens in a new tab)

> 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

Run in calculator (opens in a new tab)

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 \(\phi\) 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 \(\phi\) 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\geq 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\leq n \leq \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: Tensor Product of Lie Algebra Modules (ex-a477d3)

Run in calculator (opens in a new tab)

> 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)
    ]
]

Run in calculator (opens in a new tab)

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, i.e. 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: Standard Representation of a Group of Lie Type (ex-75d620)

Run in calculator (opens in a new tab)

> 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]

Run in calculator (opens in a new tab)