FUNCTION: LieTools/gSetup
USAGE: gSetup(Gtype,rnk) 
SYNOPSIS: gSetup(Gtype,rnk) initializes a Maple session with the 
  essential data corresponding to a simple Lie algebra.
  The following global variables are initialized with values appropriate 
  to the a simple Lie algebra of type G and rank r (assuming a corresponding
  data file has already been created):
     Gtype: the Cartan type ('A','B','C','D','E','F', or 'G') of g.
       rnk: the rank of g.
      dimg: the dimension g.
      nrts: the number of roots
     nprts: the number of positive roots
        CM: the Cartan matrix
       ICM: the inverse of the Cartan matrix
        HM: the Hilbert matrix
        EE: a (nrts+1)x(rnk)-dimensional table whose entry EE[i,j] is the component of
            the i-th root with respect to the j-th simple root (i may be any integer
            between -nprts and +nprts).  
       rho: the half sum of the positives roots expressed in terms of
            a basis of simple roots.
     hswgt: the highest root expressed in terms of a basis of simple roots
         C: a 3-dimensional array corresponding to the structure constants of g.
         B: the Killing form of g, expressed in terms of our Cartan Weyl basis
        BI: the inverse Killing form of g.
      BICC: A tensor used to speed up the calculation of the 2nd order Casimir on 
            polynomials in S(g).
  SerreGen: a table whose i-th entry is the admissible sequence of simple
            root indices corresponding to the Cartan-Weyl basis vector g[i] of g.
  levelset: a table whose n-th entry is a listing of the roots whose components with
            respect to a basis of simple roots. 
  Gswgtset: the set of the weights expressed in terms of a basis of simple roots
EXAMPLE: 
> LieTools[gSetup](G,2);
Setting up Gtype = G   rnk = 2
> Gtype; rnk; dimg; nrts; 

                                  G


                                  2


                                  14


                                  12

> print(CM); print(ICM); print(HM);

                              [ 2    -1]
                              [        ]
                              [-3     2]


                               [2    1]
                               [      ]
                               [3    2]


                              [ 2    -3]
                              [        ]
                              [-3     6]

> prts := seq([seq(EE[i,j],j=1..rnk)],i=1..nprts);

        prts := [1, 0], [0, 1], [1, 1], [2, 1], [3, 1], [3, 2]

> rho; hswgt; 

                                [5, 3]


                                hswgt


> for i from 1 to nprts do printf("%a %s %a\n",g[LieTools[E2G](i)],` <-> `, SerreGen[i]); od:
g[1]  <->  [1]
g[2]  <->  [2]
g[3]  <->  [2, 1]
g[4]  <->  [2, 1, 1]
g[5]  <->  [2, 1, 1, 1]
g[6]  <->  [2, 1, 1, 1, 2]


SEE ALSO: 
