.. _SectGrpLieRepn:

.. _representations:

Representations
===============

This section describes basic functionality for Lie algebra representations: see
Chapter :ref:`ChapLieReps` for more functions for highest weight
representations and decompositions.

.. magma:function:: StandardRepresentation(G)
   :input_types: GrpLie
   :output_types: Map
   :label: StandardRepresentation_GrpLie

   The standard (projective) representation of the semisimple group of Lie type
   :math:`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
   :cite:`CohenMurrayTaylor`.

.. magma:function:: AdjointRepresentation(G)
   :input_types: GrpLie
   :output_types: Map, AlgLie
   :label: AdjointRepresentation_GrpLie

   The adjoint (projective) representation of the group of Lie type :math:`G` over
   an extension of its base ring, i.e. the representation given by the action of
   :math:`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 :cite:`CohenMurrayTaylor`.

.. magma:function:: LieAlgebra(G)
   :input_types: GrpLie
   :output_types: AlgLie, Map
   :label: LieAlgebra_GrpLie

   The Lie algebra of the group of Lie type :math:`G`, together with the adjoint
   representation. If this is a projective representation rather than a linear
   representation, a warning is given.

.. magma:function:: HighestWeightRepresentation(G, v)
   :input_types: GrpLie, .
   :output_types: Map
   :label: HighestWeightRepresentation_GrpLie

   The highest weight (projective) representation with highest weight :math:`v` of
   the group of Lie type :math:`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 :cite:`CohenMurrayTaylor`.

.. magma:example:: Example: Standard Representation
   :label: StandardRepresentation

   .. code-block:: magma

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

.. magma:function:: ContravariantForm($\rho$)
   :input_types: Map[GrpLie,GrpMat]
   :output_types: AlgMatElt
   :label: ContravariantForm_Map_GrpLie_GrpMat

   A contravariant form for the image of the matrix representation :math:`\rho` of
   a group of Lie type.

.. magma:function:: GeneralisedRowReduction($\rho$)
   :input_types: Map
   :output_types: Map
   :label: GeneralisedRowReduction_Map

.. magma:function:: RowReductionHomomorphism($\rho$)
   :input_types: Map
   :output_types: Map
   :label: RowReductionHomomorphism_Map

.. magma:function:: Inverse($\rho$)
   :input_types: Map
   :output_types: Map
   :label: Inverse_Map

   Given a projective matrix representation
   :math:`\rho:G\to {\operatorname{GL}}_m(k)`, return its inverse.
