|
A finitely presented Lie algebra is constructed as the quotient
of a free Lie algebra on a finite number of generators. Denote the set
of generators by X={x1, ..., xn}. Let F denote the base
ring. Then the free Lie algebra generated by the xi over the ring
F is denoted by LF(X). The free magma on X is the set of the
xi together with all bracketed expressions in the xi, e.g.,
((x1, x2), ((x1, x3), x2))). The free Lie algebra LF(X) is
spanned by M(X). However, the elements of this set are not linearly
independent. It is a nontrivial problem to describe a basis of the
free Lie algebra. One of several possibilities is the well-known
Hall basis. Currently Magma does not support calculations
involving bases of the free Lie algebra, as they are of little use
for our main problem: the construction of a basis and multiplication
table for a finitely-presented Lie algebra.
It is convenient to define an ordering on the elements of M(X).
First of all, each generator is assigned a degree. Usually, the degree
of all xi is taken to be one, but it is also possible to assign
different degrees. The degree of a bracket (a, b) is defined to be
the sum of the degrees of a and b. Let m, m' be two elements of
M(X). Then define m<m' if the degree of m is less than the degree
of m'. If their degrees are equal, then define m<m' if m=xi
and m'=(a', b'), for some a', b' in M(X). If both m and m'
are generators of the same degree, so that m=xi, m'=xj, then
define m<m' if i<j. Finally, if both m and m' are bracketed
expressions, that is, m=(a, b) and m'=(a', b'), then define m<m'
if a<a' or a=a' and b<b'.
In the free Lie algebra, the relations (a, b) = - (b, a), and (a, a)=0
hold. In Magma this is used to rewrite an arbitrary element as a
linear combination of elements of the form (a, b) with a<b. If
instead we were to work relative to a basis for LF(X), then
the use of the Jacobi identity when rewriting elements can lead to
rather large expressions. Thus, mathematically speaking, in Magma
rather than work in the free Lie algebra, we actually work in the
free nonassociative anticommutative algebra. However, as our main
interest lies in finitely-presented Lie algebras, this is usually
not a problem.
Given a ring F and a positive integer n, this function creates the
free n-generator Lie algebra over the ring F. The generators are
ordered, with the first generator being the biggest in the ordering, and
the last generator the smallest. The angle bracket notation can be used
to assign names to the generators.
The following statement creates the Magma object corresponding to the
free Lie algebra on three generators over the field GF(2).
> L<a,b,c>:= FreeLieAlgebra(GF(2), 3);
Rank(L) : AlgFPLie -> RngIntElt
The number of generators of the free Lie algebra L.
BaseRing(L) : AlgFPLie -> Rng
The coefficient ring of L.
Once a free Lie algebra has been created the user can construct a
bracketed expression (a, b), either by simply typing it literally
as (a,b), or by using the multiplication operator as in
a*b. Recall that Magma rewrites elements so they are in the
form (a, b) with a<b. On some occasions this can lead to the
introduction of a minus sign. Also, if an element contains a
subexpression of the form (a, a), it will be rewritten to 0.
We can multiply and add elements, and multiply them by scalars.
x + y : AlgFPLieElt, AlgFPLieElt -> AlgFPLieElt
x - y : AlgFPLieElt, AlgFPLieElt -> AlgFPLieElt
x * y : AlgFPLieElt, AlgFPLieElt -> AlgFPLieElt
Zero(L) : AlgFPLie -> AlgFPLieElt
The zero element of the free Lie algebra L.
> L<z,y,x> := FreeLieAlgebra(Rationals(), 3);
> x*y;
(x, y)
> (x, y);
(x, y)
> ((x*y)*z);
-(z, (x, y))
> ((x, y), z);
-(z, (x, y))
> ((x, y),(y, x));
0
> 2*((x, y), z) - ((x, z), (y, z)) + 1/2*(x, (x, (y, z)));
-((x, z), (y, z)) + 1/2*(x, (x, (y, z))) - 2*(z, (x, y))
Given a monomial element m of the free Lie algebra L,
return true if m is a generator and false otherwise.
If the result is true then the second return value is an integer i
such that m is L.i. If the result is false then a, b ∈L
are also returned such that m is a multiple of (a, b).
Note that in the latter case m is not equal to (a, b), but merely
equal to a scalar multiple of (a, b). See the example for a possible
method of retrieving the appropriate scalar.
> L<z,y,x>:= FreeLieAlgebra(Rationals(), 3);
> IsLeaf(x);
true 3
> m := 2*((x, y), z);
> m;
-2*(z, (x, y))
> il, a, b := IsLeaf(m);
> il, a, b;
false z
(x, y)
> m eq (a, b);
false
> m eq LeadingCoefficient(m)*(a,b);
true
LieAlgebra(R) : [ AlgFPLieElt ] -> AlgLie, SeqEnum, SeqEnum, Map
LieAlgebra(R) : { AlgFPLieElt } -> AlgLie, SeqEnum, SeqEnum, Map
Given a set or sequence R of elements of a free Lie algebra L, let
I be the ideal of L generated by the elements of R. It is assumed
that the quotient algebra Q = L/I is finite dimensional. This function
returns the structure constant Lie algebra K isomorphic to the quotient
Q. If the quotient Q is infinite dimensional then the program will
not terminate. (The question of determining whether the quotient is
finite dimensional is known to be undecidable.) The function can be
interrupted by pressing Ctrl-C. The elements of R are referred
to as relations.
This function works if the base ring is either a field or equal to the
ring of integers. In these two cases slightly different objects are returned.
If the base ring is a field then four values are returned:
- (a)
- A structure constant algebra K isomorphic to the quotient Q;
- (b)
- A sequence G comprising sequences of integers;
- (c)
- A sequence B of elements of the free Lie algebra L;
- (d)
- A map f : B x B -> L.
The sequence B maps to a basis of the quotient algebra, so it is a
basis of a complement of the ideal I in the free Lie algebra L.
The elements of B are in one-to-one correspondence with the basis
elements of K.
If all the relations of R are homogeneous (i.e., if they are linear
combinations of elements of the same degree), then Q is graded.
The sequence G contains information about the grading. It consists
of sequences of length two. The first element of each subsequence is
the degree of a homogeneous subspace H, while the second element
is the dimension of H. The basis elements of K are ordered with
respect to increasing degree. So from G it is straightforward to
read off the degree of each basis element. If the relations are not
homogeneous then the sequence G is empty.
Finally, f is a map that takes two elements from B as arguments,
and returns their product (in L) modulo the ideal I.
The algorithm used is described in [dG00], Para 7.4.
Secondly, in the case in which the base ring is the ring of integers,
four values are returned:
- (a)
- A structure constant algebra K isomorphic to the quotient Q;
- (b)
- A sequence G comprising sequences of integers;
- (c)
- A sequence B that is always empty;
- (d)
- A map f : K -> L.
Here the structure constant algebra is defined over the ring of integers,
so it may have torsion. The sequence G is nonempty only if the input
relations are homogeneous in which case it contains the dimensions of
the homogeneous components. The function f is a map
that takes an element u of K and returns an element of the free algebra
L that maps to u under the projection map (from the free algebra to the
quotient).
In this example we compute the subalgebra K of E 7 spanned by the
positive root spaces.
> L<x7,x6,x5,x4,x3,x2,x1>:= FreeLieAlgebra(RationalField(), 7);
> pp:= { [1,3], [3,4], [2,4], [4,5], [5,6], [6,7] };
> R:= [ ];
> g:= [ L.i : i in [1..7] ];
> for i in [1..7] do
> for j in [i+1..7] do
> if [i,j] in pp then
> a:= (g[i],(g[i],g[j]));
> Append( ~R, a );
> Append( ~R, (g[j],(g[j],g[i])) );
> else
> Append( ~R, (g[i],g[j]) );
> end if;
> end for;
> end for;
> R;
[
-(x6, x7), -(x7, (x5, x7)), (x5, (x5, x7)), -(x4, x7),
-(x3, x7), -(x2, x7), -(x1, x7), -(x5, x6), -(x6, (x4, x6)),
(x4, (x4, x6)), -(x3, x6), -(x2, x6), -(x1, x6), -(x5, (x4, x5)),
(x4, (x4, x5)), -(x3, x5), -(x2, x5), -(x1, x5), -(x4, (x3, x4)),
(x3, (x3, x4)), -(x2, x4), -(x1, x4), -(x3, (x2, x3)), (x2, (x2, x3)),
-(x1, x3), -(x2, (x1, x2)), (x1, (x1, x2))
]
> time K, G, B, f := LieAlgebra(R);
Time: 0.280
> K;
Lie Algebra of dimension 63 with base ring Rational Field
> #B;
63
> B[63];
(x7, (x5, (x4, (x3, (x2, (x1, (x6, (x4, (x3, (x2, (x5, (x4,
(x3, (x6, (x4, (x5, x7))))))))))))))))
In this example we construct a finitely presented Lie ring (i.e., Lie
algebra over the integers).
> L<y,x>:= FreeLieAlgebra( Integers(), 2 );
> R:= [ x*(x*(x*y))-2*x*y, 2*y*(x*(x*y)), 3*y*(y*(x*y))-x*(x*y),
> x*(y*(x*(y*(x*y)))) ];
> K,g,b,f:= LieAlgebra( R );
> K;
Lie Algebra of dimension 8 with base ring Integer Ring
Column moduli: [2, 2, 2, 8, 8, 8, 0, 0]
> f(K.4);
(y, (x, y))
> LowerCentralSeries( K );
[
Lie Algebra of dimension 8 with base ring Integer Ring
Column moduli: [2, 2, 2, 8, 8, 8, 0, 0],
Lie Algebra of dimension 6 with base ring Integer Ring
Column moduli: [2, 2, 2, 8, 8, 8],
Lie Algebra of dimension 6 with base ring Integer Ring
Column moduli: [2, 2, 2, 4, 8, 8],
Lie Algebra of dimension 6 with base ring Integer Ring
Column moduli: [2, 2, 2, 4, 4, 8],
Lie Algebra of dimension 6 with base ring Integer Ring
Column moduli: [2, 2, 2, 4, 4, 4],
Lie Algebra of dimension 5 with base ring Integer Ring
Column moduli: [2, 2, 2, 4, 4],
Lie Algebra of dimension 4 with base ring Integer Ring
Column moduli: [2, 2, 2, 4],
Lie Algebra of dimension 3 with base ring Integer Ring
Column moduli: [2, 2, 2],
Lie Algebra of dimension 2 with base ring Integer Ring
Column moduli: [2, 2],
Lie Algebra of dimension 1 with base ring Integer Ring
Column moduli: [2],
Lie Algebra of dimension 0 with base ring Integer Ring
]
quo<L | R> : AlgFPLie, { AlgFPLieElt } -> AlgLie, Map
This function is similar to the function LieAlgebra in that
it constructs a structure constant Lie algebra K isomorphic to the
quotient L/I, where I is the ideal of L generated by the elements
(relations) of the sequence R. In addition to K, an invertible map
from L to K is returned.
In this example we demonstrate the use of the quotient constructor
for finitely presented Lie algebras.
> L<x,y> := FreeLieAlgebra(Rationals(), 2);
> R := [ x*(x*y)-2*x, y*(y*x)-2*y ];
> K, phi := quo<L | R>;
> K;
Lie Algebra of dimension 3 with base ring Rational Field
> SemisimpleType(K);
A1
> [ b @@ phi : b in Basis(K) ];
[
y,
x,
(y, x)
]
> phi(x*y);
( 0 0 -1)
NilpotentQuotient(R, d) : { AlgFPLieElt, RngIntElt } -> AlgLie, SeqEnum, SeqEnum, UserProgram
Given a set or sequence R of elements of a free Lie algebra L, let
I be the ideal of L generated by the elements of R. Let d be a
positive integer or Infinity().
This function constructs the class d nilpotent
quotient of the Lie algebra L/I, a finite dimensional algebra. The
function returns the same values as LieAlgebra.
This function is similar to the function LieAlgebra except
that the quotient is constructed in the free nilpotent Lie algebra of
class d. All elements of degree strictly larger than d will
be added to the ideal, so the quotient will be finite-dimensional and
nilpotent of class at most d.
In this example, we compute a nilpotent quotient.
> L<y,x> := FreeLieAlgebra(Rationals(), 2);
> R := [(x, (x, (x, y))) - (y, (y, (x, y)))];
> time K, G, B, f := NilpotentQuotient(R, 10);
Time: 0.040
> K;
Lie Algebra of dimension 109 with base ring Rational Field
> #B;
109
> B[100];
(y, (x, (x, (y, (x, (y, (x, (x, (x, y)))))))))
> G;
[
[ 1, 2 ],
[ 2, 1 ],
[ 3, 2 ],
[ 4, 2 ],
[ 5, 4 ],
[ 6, 5 ],
[ 7, 10 ],
[ 8, 15 ],
[ 9, 26 ],
[ 10, 42 ]
]
> f(B[3], B[13]);
-(y, (x, (x, (x, (x, (y, (x, y))))))) + (x, (y, (x, (x, (x, (y, (x, y)))))))
hom<L -> M | Q> : AlgFPLie, TupMod, [ TupModElt ] -> Map
Given a free Lie algebra L of dimension n over R and either
a Lie algebra M over R or a module M over R,
construct the homomorphism from L to M specified by Q.
The sequence Q must have length Rank(L)
and be of the form [m1, ..., mn] (mi ∈M) indicating that
the i-th generator of L maps to mi.
Note that this is in general only a module homomorphism, and it is not checked
whether it is an algebra homomorphism.
We construct the Lie algebra of type A 1 as quotient of a free Lie algebra,
using homomorphisms between a free Lie algebra and a structure constant Lie algebra.
First, we construct the free Lie algebra and a structure constant Lie algebra of
type A 1. The elements of a Chevalley basis are obtained by a call to ChevalleyBasis.
> L<e,f> := FreeLieAlgebra(Rationals(), 2);
> M := LieAlgebra("A1", Rationals() : Isogeny := "SC");
> pos, neg, cart := ChevalleyBasis(M);
> pos, neg, cart;
[ (0 0 1) ]
[ (1 0 0) ]
[ (0 1 0) ]
Next, we construct a homomorphism from L to M that sends e to the
positive root element, and f to the negative root element. We construct
a map from M to L that sends the positive root to e, the negative
root to f, and the Cartan element to -(e, f).
> phi := hom<L -> M | [ pos[1], neg[1] ]>;
> phi(e), phi(f), phi(e*f);
(0 0 1) (1 0 0) ( 0 -1 0)
> imgs := [ L | f, (f,e), e];
> psi := map<M -> L | x :-> &+[ x[i]*imgs[i] : i in [1..3] ]>;
> psi(cart[1]);
-(f, e)
> psi(phi((e,(e,f))));
-2*e
> assert forall{b : b in Basis(M) | phi(psi(b)) eq b };
Finally, we create a sequence of relations showing that the maps phi
and psi are each others inverses for a small set of elements of L.
We then compute the quotient of the free Lie algebra with respect to these
relations.
> R := { x - psi(phi(x)) : x in {e, f, (e,f), (e,(e,f)), (f,(f,e))} };
> L2 := quo<L | R>;
> L2;
Lie Algebra of dimension 3 with base ring Rational Field
> SemisimpleType(L2);
A1
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|