**CoReLG** (Computing with Real Lie Groups) is a **GAP** package for computing with (semi-)simple real Lie algebras. Various capabilities of the package have to do with the action of the adjoint group of a real Lie algebra (such as the nilpotent orbits, and non-conjugate Cartan subalgebras). CoReLG is also the acronym of the EU funded Marie Curie project carried out by the first author of the package at the University of Trento.

The simple real Lie algebras have been classified, and this classification is the main theoretical tool that we use, as it determines the objects that we work with. In Section 1.1 we give a brief account of this classification. We refer to the standard works in the literature (e.g., [Kna02]) for an in-depth discussion. The algorithms of this package are described in [DG13] and [DFG13].

We remark that the package still is under development, and its functionality is continuously extended. The package **SLA**, [Gra12], is required.

Let \(\mathfrak{g}^c\) denote a complex simple Lie algebra. Then there are two types of simple real Lie algebras associated to \(\mathfrak{g}^c\): the *realification* of \(\mathfrak{g}^c\) (this means that \(\mathfrak{g}^c\) is viewed as an algebra over \(\mathbb{R}\), of dimension \(2\dim \mathfrak{g}^c\)), and the *real forms* \(\mathfrak{g}\) of \(\mathfrak{g}^c\) (this means that \(\mathfrak{g}\otimes_\mathbb{R}\mathbb{C}\) is isomorphic to \(\mathfrak{g}^c\)). It is straightforward to construct the realification of \(\mathfrak{g}^c\); so in the rest of this section we concentrate on the real forms of \(\mathfrak{g}^c\).

A Lie algebra is said to be *compact* if its Killing form is negative definite. The complex Lie algebra \(\mathfrak{g}^c\) has a unique (up to isomorphism) compact real form \(\mathfrak{u}\). In the sequel we fix the compact form \(\mathfrak{u}\). Then \(\mathfrak{g}^c = \mathfrak{u} + \imath \mathfrak{u}\), where \(\imath\) is the complex unit; so we get an antilinear map \(\tau : \mathfrak{g}^c\to \mathfrak{g}^c\) by \(\tau(x+ \imath y) = x- \imath y\), where \(x,y\in \mathfrak{u}\). This is called the *conjugation* of \(\mathfrak{g}^c\) with respect to \(\mathfrak{u}\).

Now let \(\theta\) be an automorphism of \(\mathfrak{g}^c\) of order 2, commuting with \(\tau\). Then \(\theta\) stabilises \(\mathfrak{u}\), so the latter is the direct sum of the \(\pm 1\)-eigenspaces of \(\theta\), say \(\mathfrak{u} = \mathfrak{u}_1 \oplus \mathfrak{u}_{-1}\). Set \(\mathfrak{k} = \mathfrak{u}_1\) and \(\mathfrak{p} = i\mathfrak{u}_{-1}\). Then \(\mathfrak{g} =\mathfrak{g}(\theta)= \mathfrak{k} \oplus \mathfrak{p}\) is a real form of \(\mathfrak{g}^c\). Regarding this construction we remark the following:

\(\mathfrak{g} = \mathfrak{k}\oplus \mathfrak{p}\) is called a

*Cartan decomposition*. It is unique up to inner automorphisms of \(\mathfrak{g}\).The map \(\theta\) is a

*Cartan involution*; it is the identity on \(\mathfrak{k}\) and acts as multiplication by \(-1\) on \(\mathfrak{p}\))\(\mathfrak{k}\) is compact, and it is a maximal compact subalgebra of \(\mathfrak{g}\).

Two real forms are isomorphic if and only if the corresponding Cartan involutions are conjugate in the automorphism group of \(\mathfrak{g}^c\).

The automorphism \(\theta\) is described by two pieces of data: a list of signs \((s_1,\ldots,s_r)\) of length equal to the rank \(r\) of \(\mathfrak{g}\), and a permutation \(\pi\) of \(1,\ldots, r\), leaving the list of signs invariant. Let \(\alpha_1,\ldots, \alpha_r\) denote the simple roots of \(\mathfrak{g}^c\) with corresponding canonical generators \(x_i, y_i, h_i\). Then \(\theta(x_i) = s_i x_{\pi(i)}\), \(\theta(y_i) = s_i y_{\pi(i)}\), \(\theta(h_i) = h_{\pi(i)}\).

Let \(\mathfrak{g}\) be a real form of the complex Lie algebra \(\mathfrak{g}^c\), with Cartan decomposition \(\mathfrak{g} = \mathfrak{k}\oplus \mathfrak{p}\). A Cartan subalgebra \(\mathfrak{h}\) of \(\mathfrak{g}\) is *standard* (with respect to this Cartan decomposition) if \(\mathfrak{h} = (\mathfrak{h}\cap \mathfrak{k})\oplus (\mathfrak{h}\cap\mathfrak{p})\), or, equivalently, when \(\mathfrak{h}\) is stable under the Cartan involution \(\theta\).

It is a fact that every Cartan subalgebra of \(\mathfrak{g}\) is conjugate by an inner automorphism to a standard one ([Kna02], Proposition 6.59). Moreover, there is a finite number of non-conjugate (by inner automorphisms) Cartan subalgebras of \(\mathfrak{g}\) ([Kna02], Proposition 6.64). A standard Cartan subalgebra \(\mathfrak{h}\) is said to be *maximally compact* if the dimension of \(\mathfrak{h}\cap \mathfrak{k}\) is maximal (among all standard Cartan subalgebras). It is called *maximally non-compact* if the dimension of \(\mathfrak{h}\cap \mathfrak{p}\) is maximal. We have that all maximally compact Cartan subalgebras are conjugate via the inner automorphism group. The same holds for all maximally non-compact Cartan subalgebras ([Kna02], Proposition 6.61).

A subspace of \(\mathfrak{p}\) is said to be a *Cartan subspace* if it consists of commuting elements. If \(\mathfrak{h}\) is a maximally non-compact standard Cartan subalgebra, then \(\mathfrak{c} = \mathfrak{h}\cap \mathfrak{p}\) is a Cartan subspace. The other Cartan subalgebras (i.e., representatives of the conjugacy classes of the Cartan subalgebras under the inner automorphism group) can be constructed such that their intersection with \(\mathfrak{p}\) is contained in \(\mathfrak{c}\).

Every standard Cartan subalgebra \(\mathfrak{h}\) of \(\mathfrak{g}\) yields a corresponding root system \(\Phi\) of \(\mathfrak{g}^c\). Let \(\alpha\in\Phi\), then a short argument shows that \(\alpha\circ\theta\) (where \(\alpha\circ\theta (h) = \alpha(\theta(h))\) for \(h\in \mathfrak{h}\)) is also a root (i.e., lies in \(\Phi\)). This way we get an automorphism of order 2 of the root system \(\Phi\).

Now let \(\mathfrak{h}\) be a maximally compact standard Cartan subalgebra of \(\mathfrak{g}\), with root system \(\Phi\). Then it can be shown that there is a basis of simple roots \(\Delta\subset\Phi\) which is \(\theta\)-stable. Write \(\Delta = \{\alpha_1,\ldots,\alpha_r\}\), and let \(x_i,y_i,h_i\) be a corresponding set of canonical generators. Then there is a sequence of signs \((s_1,\ldots,s_r)\) and a permutation \(\pi\) of \(1,\ldots,r\) such that \(\theta(x_i) = s_i x_{\pi(i)}\). Now we encode this information in the Dynkin diagram of \(\Phi\). If \(s_i=-1\) then we paint the node corresponding to \(\alpha_i\) black. Also, if \(\pi(i)=j \neq i\) then the nodes corresponding to \(\alpha_i\), \(\alpha_j\) are connected by an arrow. The resulting diagram is called a *Vogan diagram* of \(\mathfrak{g}\). It determines the real form \(\mathfrak{g}\) up to isomorphism. The signs \(s_i\) are not uniquely determined. However, it is possible to make a ``canonical'' choice for the signs so that the Vogan diagram is uniquely determined.

Now let \(\mathfrak{h}\) be a maximally non-compact standard Cartan subalgebra of \(\mathfrak{g}\), with root system \(\Phi\). Then, in general, there is no basis of simple roots which is stable under \(\theta\). However we can still define a diagram, in the following way. Let \(\mathfrak{c} = \mathfrak{h}\cap \mathfrak{p}\) be the Cartan subspace contained in \(\mathfrak{h}\). Let \(\Phi_c = \{ \alpha\in \Phi \mid \alpha\circ\theta = \alpha\} = \{ \alpha\in \Phi \mid \alpha(\mathfrak{c}) = 0\}\) be the set of *compact roots *. Then there is a choice of positive roots \(\Phi^+\) such that \(\alpha\circ\theta \in \Phi^-\) for all *non-compact* positive roots \(\alpha\in \Phi^+\). Let \(\Delta\) denote the basis of simple roots corresponding to \(\Phi^+\). A theorem due to Satake says that there is a bijection \(\tau : \Delta\to \Delta\) such that \(\tau(\alpha) = \alpha\) if \(\alpha\in \Phi_c\), and for non-compact \(\alpha\in\Delta\) we have \(\alpha\circ\theta = -\tau(\alpha) - \sum_{\gamma\in\Delta_c} c_{\alpha,\gamma} \gamma\), where \(\Delta_c = \Delta \cap \Phi_c\) and the \(c_{\alpha,\gamma}\) are non-negative integers. Now we take the Dynkin diagram corresponding to \(\Delta\), where the nodes corresponding to the compact roots are painted black, and the nodes corresponding to a pair \(\alpha,\tau(\alpha)\), if they are unequal, are joined by arrows. The resulting diagram is called the *Satake diagram* of \(\mathfrak{g}\). It determines the real form \(\mathfrak{g}\) up to isomorphism.

By \(G^c\), \(G\) we denote the adjoint groups of \(\mathfrak{g}^c\) and \(\mathfrak{g}\) respectively. The nilpotent \(G^c\)-orbits in \(\mathfrak{g}^c\) have been classified by so-called weighted Dynkin diagrams. A nilpotent \(G^c\)-orbit in \(\mathfrak{g}^c\) may have no intersection with the real form \(\mathfrak{g}\). On the other hand, when it does have an intersection, then this may split into several \(G\)-orbits.

Let \(e\) be an element of a nilpotent \(G\)-orbit in \(\mathfrak{g}\). By the Jacobson-Morozov theorem, \(e\) lies in an \(\mathfrak{sl}_2\)-triple \((e,h,f)\); here this means that \([h,e]=2e\), \([h,f]=-2f\), and \([e,f]=h\). The triple is called a *real Cayley triple* if \(\theta(e) = -f\), \(\theta(f)=-e\) and \(\theta(h) = -h\), where \(\theta\) is the Cartan involution of \(\mathfrak{g}\). Every nilpotent orbit has a representative lying in a real Cayley triple.

To define a Lie algebra by a multiplication table over the reals, it usually suffices to take a subfield of the real field as base field. However, the algorithms contained in this package very often need a Chevalley basis of the Lie algebra at hand, which is defined only over the complex field. Computations with such a Chevalley basis take place behind the scenes, and the result is again defined over the reals. However, the computations would not be possible if the Lie algebra is just defined over (a subfield of) the reals. For this reason, we require that the base field contains the imaginary unit `E(4)`.

Furthermore, in many algorithms it is necessary to take square roots of elements of the base field. So the ideal base field would contain the imaginary unit, as well as being closed under taking square roots. However, such a field is difficult to construct and to work with on a computer. For this reason we have provided the field `SqrtField` containing the square roots of all rational numbers. Mathematically, this is the field \(\mathbb{Q}^{\sqrt{}}(\imath)\) with \(\mathbb{Q}^{\sqrt{}}=\mathbb{Q}(\{\sqrt{p}\mid p\textrm{ a prime}\})\) and \(\imath=\sqrt{-1}\in\mathbb{C}\). Clearly, \(\mathbb{Q}^{\sqrt{}}(\imath)\) is an infinite extension of the rationals \(\mathbb{Q}\), and every \(f\) in \(\mathbb{Q}^{\sqrt{}}(\imath)\) can be uniquely written as \(f=\sum_{j=1}^m r_i \sqrt{k_j}\) for Gaussian rationals \(r_i\in\mathbb{Q}(\imath)\) and pairwise distinct squarefree positive integers \(k_1,\ldots,k_m\). Thus, \(f\) can be described efficiently by its coefficient vector \([[r_1,k_1],\ldots,[r_j,k_j]]\). We comment on our implementation of \(\mathbb{Q}^{\sqrt{}}(\imath)\) in Chapter 2.

Although it is possible to try most functions of the package using the base field `CF(4)`, for example, it is likely that many computations will result in an error, because of the lack of square roots in that field. Many more computations are possible over `SqrtField`, but also in that case, of course, a computation may result in an error because we cannot construct a particular square root. Also, computations over `SqrtField` tend to be significantly slower than over, say, `CF(4)`; see the next example. But that is a price we have to pay (at least, in order to be able to do some computations).

gap> L:=RealFormById("E",8,2); <Lie algebra of dimension 248 over SqrtField> gap> allCSA := CartanSubalgebrasOfRealForm(L);;time; 67224 gap> L:=RealFormById("E",8,2,CF(4)); <Lie algebra of dimension 248 over GaussianRationals> gap> allCSA := CartanSubalgebrasOfRealForm(L);;time; 7301 # We remark that both computations are exactly the same; # the difference in timing is caused by the fact that # arithmetic over SqrtField is slower.

generated by GAPDoc2HTML