Constructors for Lie Algebras#
The construction of a Lie algebra defined by structure constants is identical to that of a general structure constant algebra. Most constructors take two optional parameters: Check and Rep.
By default, the conditions for the algebra to be a Lie algebra are checked. If the user decides to omit this check, by setting the parameter Check to false, and the algebra is not actually Lie then functions in this section will fail or give incorrect answers.
The optional parameter Rep can be used to select the internal representation of the structure constants. The possible values for Rep are “Dense”, “Sparse” and “Partial”, with the default being “Dense”. In the dense format, the \(n^3\) structure constants are stored as \(n^2\) vectors of length \(n\). This is the best representation if most of the structure constants are non-zero. The sparse format, intended for use when most structure constants are zero, stores the positions and values of the non-zero structure constants. The partial format stores the vectors, but records for efficiency the positions of the non-zero structure constants.
- LieAlgebra<R, n | Q : parameters >: Rng, RngIntElt, SeqEnum -> AlgLie#
- LieAlgebra<M | Q : parameters >: ModTupRng, SeqEnum -> AlgLie#
Check: BoolElt Default: true Rep : MonStgElt Default: "Dense"
This function creates the Lie structure constant algebra \(L\) over the free module \(M = R^n\), with standard basis \(\{e_1, e_2, \ldots, e_n\}\), and structure constants \(a_{ij}^k\) being given by the sequence \(Q\). The sequence \(Q\) can be of any of the following three forms. Note that in all cases the actual ordering of the structure constants is the same: the only difference is that their partitioning into blocks varies.
- (i)
A sequence of \(n\) sequences of \(n\) sequences of length \(n\). The \(j\)-th element of the \(i\)-th sequence is the sequence \([ a_{ij}^1, \ldots, a_{ij}^n ]\), or the element \((a_{ij}^1, \ldots, a_{ij}^n)\) of \(M\), giving the coefficients of the product \(e_i * e_j\).
- (ii)
A sequence of \(n^2\) sequences of length \(n\), or \(n^2\) elements of \(M\). Here the coefficients of \(e_i * e_j\) are given by position \((i - 1)n + j\) of \(Q\).
- (iii)
A sequence of \(n^3\) elements of the ring \(R\). The sequence elements are the structure constants themselves, in the order \(a_{11}^1, a_{11}^2, \ldots, a_{11}^n, a_{12}^1, a_{12}^2, \ldots, a_{nn}^n\). So \(a_{ij}^k\) lies in position \((i - 1)n^2 + (j - 1)n + k\) of \(Q\).
- LieAlgebra<R, n | T : parameters >: Rng, RngIntElt, SeqEnum -> AlgLie#
Check: BoolElt Default: true Rep : MonStgElt Default: "Dense"
This function creates the Lie structure constant algebra \(L\) with standard basis \(\{e_1, e_2, \ldots, e_n\}\) over the ring \(R\). The sequence \(T\) contains quadruples \(< i, j, k, a_{ij}^k>\) giving the non-zero structure constants. All other structure constants are defined to be \(0\).
- LieAlgebra< t | T : parameters >: SeqEnum, SeqEnum -> AlgLie#
Check: BoolElt Default: true Rep : MonStgElt Default: "Dense"
This function creates the Lie structure constant algebra \(L\) over the integers, with standard basis \(\{e_1, e_2, \ldots, e_n\}\). The sequence \(T\) contains quadruples \(< i, j, k, a_{ij}^k>\) (where the \(a_{ij}^k\) are integers) giving the non-zero structure constants. All other structure constants are defined to be \(0\). The argument \(t\) is a sequence of length \(n\) consisting of nonnegative integers giving the moduli of the basis elements. Thus let \(t_i\) denote the \(i\)-th element of \(t\); then \(t_ie_i =0\). So if \(t_i=0\), then \(ke_i \neq 0\) for all integers \(k\).
- LieAlgebra(A): AlgAss -> AlgLie, Map#
Given an associative structure-constant algebra \(A\), create the Lie algebra \(L\) consisting of the elements in \(A\) with the induced Lie product \((x,y) \rightarrow x*y - y*x\). As a second value the map identifying the elements of \(L\) and \(A\) is returned.
- LieAlgebra(A): AlgMat -> AlgLie#
Given an associative matrix algebra \(A\), create a structure-constant Lie algebra \(L\) isomorphic to \(A\) with the induced Lie product \((x,y) \rightarrow x*y - y*x\).
- AbelianLieAlgebra(R, n): Rng, RngIntElt -> AlgLie#
Rep: MonStgElt Default: "Sparse"
Create the abelian Lie algebra of dimension \(n\) over the ring \(R\).
- Example: Lie Algebra Cons (ex-b11bef)#
We construct the Heisenberg Lie algebra, then a Lie algebra from an associative algebra, and finally a Lie algebra over the integers (also called a Lie ring).
> T:= [ <1,2,3,1>, <2,1,3,-1> ]; > LieAlgebra< Rationals(), 3 | T >; Lie Algebra of dimension 3 with base ring Rational Field > A:= Algebra( GF(27), GF(3) ); > LieAlgebra(A); Lie Algebra of dimension 3 with base ring GF(3) > T:= [ <1,2,2,2>, <2,1,2,2> ]; > t:= [0,4]; > K:= LieAlgebra< t | T : Rep:= "Dense" >; K; Lie Algebra of dimension 2 with base ring Integer Ring Column moduli: [0, 4] > LowerCentralSeries( K ); [ Lie Algebra of dimension 2 with base ring Integer Ring Column moduli: [0, 4], Lie Algebra of dimension 1 with base ring Integer Ring Column moduli: [2], Lie Algebra of dimension 0 with base ring Integer Ring ]
- ChangeBasis(L, B): AlgLie, {[AlgLieElt]} -> AlgLie#
- ChangeBasis(L, B): AlgLie, {[ModTupFldElt]} -> AlgLie#
- ChangeBasis(L, B): AlgLie, Mtrx -> AlgLie#
Rep: MonStgElt Default: "Dense"
Create a new Lie structure constant algebra \(L'\), isomorphic to \(L\), by recomputing the structure constants with respect to the basis \(B\). The basis \(B\) can be specified as a set or sequence of elements of \(L\), a set or sequence of vectors, or a matrix. The second returned value is the isomorphism from \(L\) to \(L'\).
As above, the optional parameter
Repcan be used to select the internal representation of the structure constants. Note that the default is dense representation, regardless of the representation used by \(L\).
- MatrixLieAlgebra(R, n): Rng, RngIntElt -> AlgMatLie#
Given a ring \(R\) and an integer \(n\), create the full Lie algebra of matrices of degree \(d\) over \(R\).
- MatrixLieAlgebra(A): AlgMat -> AlgMatLie#
Given an associative matrix algebra \(A\), create the matrix Lie algebra \(L\) consisting of the elements in \(A\) with the induced Lie product \((x,y) \rightarrow x*y - y*x\).
- Algebra(M): AlgMatLie -> AlgLie, Map#
- LieAlgebra(M): AlgMatLie -> AlgLie, Map#
Return a structure-constant Lie algebra isomorphic to the matrix Lie algebra \(M\).
- Example: Matrix Lie Algebra (ex-297c34)#
We construct the subalgebra of the matrix Lie algebra of \(2\times 2\) matrices, consisting of upper triangular matrices.
> L:= MatrixLieAlgebra( Rationals(), 2 ); > a:= L!Matrix( [[1,0],[0,0]] ); > b:= L!Matrix( [[0,0],[1,0]] ); > c:= L!Matrix( [[0,0],[0,1]] ); > K:= sub< L | [ a, b, c ] >; > Dimension(K); 3 > IsSolvable(K); true > IsNilpotent(K); false