LieAlgebra Lessons
Lesson 7: Matrix Lie Algebras
|
Overview
|
|
The set of all nxn matrices with real entries define a Lie algebra with Lie bracket given by the matrix commutator [a, b] = ab - ba This Lie algebra is called the general linear Lie algebra and is customarily denoted by gl(n). Its dimension is n^2. In this lesson we will use the MatrixAlgebras command to create the general Lie algebra and some of its well-known and important subalgebras. You will learn to do the following.
–
|
Calculate the structure equations for the general Lie algebra gl(n) for small values of n.
|
–
|
Calculate the structure equations for the Lie algebra of all upper triangular matrices.
|
–
|
Calculate the structure equations for the Lie algebra of all strictly upper triangular matrices.
|
–
|
Calculate sl(3), the special linear Lie algebra, as a subalgebra of gl(3).
|
–
|
Calculate the orthogonal Lie algebras so(4,0) and so(3,1) as subalgebras of gl(4).
|
–
|
Calculate the Euclidean Lie algebra e(3) as a subalgebra of gl(4)
|
–
|
Calculate the exceptional Lie algebra g2 as a subalgebra of gl(7)
|
We shall initialize each of these Lie algebras and calculate some simple properties. Further computation of matrix algebras can be found in the DifferentialGeometry Tutorial ClassicalMatrixAlgebras.
|
|
The general linear Lie algebra and the Lie algebras of upper triangular and strictly upper triangular matrices
|
|
>
|
with(DifferentialGeometry): with(LieAlgebras):
|
Example 1. We begin by using the MatrixAlgebras command to create the 4 dimensional Lie algebra gl(2) of all 2x2 matrices.
>
|
L, V, Omega := MatrixAlgebras("Full",2, gl2);
|
| (2.1) |
The command returns a sequence of 3 objects. The first object L is the Lie algebra data structure for gl(2). As always, the structure equations for the Lie algebra data structure are displayed, using the generic labels e1, e2, e3, e4 for the vectors in the Lie algebra. The next output element V gives the labels that we shall use to denote the vectors in gl2 upon initialization with the command DGsetup. Here eij denotes the elementary matrix with a 1 in the i-th row and the j-th column. The last output element gives the labels that with be used for the 1-forms on the Lie algebra.
| (2.2) |
gl2 >
|
MultiplicationTable("LieTable");
|
| (2.3) |
We emphasize that the MatrixAlgebras program simply contains the general formulas for the bracket of the elementary matrices eij and ehk and does not calculate explicitly with matrices.
As a simple calculation we calculate the center of the Lie algebra gl2 -- as expected it contains just the identity matrix.
| (2.4) |
Example 2. Here is the 10 dimensional Lie algebra of 4x4 upper triangular matrices.
gl2 >
|
L, V, Omega := MatrixAlgebras("Upper",4, T4);
|
| (2.5) |
gl2 >
|
DGsetup(L, V, Omega);
|
| (2.6) |
To display the multiplication table we need to increase the rtablesize parameter (see interface)
T4 >
|
interface(rtablesize = 13);
|
| (2.7) |
T4 >
|
MultiplicationTable("LieTable");
|
| (2.8) |
| (2.9) |
Note that the first term in the derived series (the derived algebra) consists of the 6 strictly upper triangular matrices. The fact that the last term in the derived series T4 is empty implies that the Lie algebra of 4x4 upper triangular matrices is solvable.
| (2.10) |
Example 3. Here is the 10 dimensional Lie algebra of 5x5 strictly upper triangular matrices. This is a nilpotent Lie algebra.
T4 >
|
L, V, Omega := MatrixAlgebras("StrictlyUpper",5, U5);
|
| (2.11) |
T4 >
|
DGsetup(L, V, Omega);
|
| (2.12) |
To display the multiplication table we need to increase the rtablesize parameter (see interface)
U5 >
|
MultiplicationTable("LieTable");
|
| (2.13) |
The Lie algebras of upper triangular matrices are all nilpotent.
| (2.14) |
We illustrate the fact that the upper series (Series) of a nilpotent Lie algebra g always stablizes at g.
| (2.15) |
|
|
The special linear Lie algebra sl(3)
|
|
The special linear Lie algebra sl(n) is defined as the subalgebra of gl(n) consisting of trace-free matrices. To calculate the elements of sl(n) with the MatrixAlgebras command we shall use the following observation.
Define a 3 dimensional space M with coordinates [x, y, z] and on M define a general linear vector field X . This is easily done with the a DifferentialGeometry extension of Maple's convert command.
U5 >
|
DGsetup([x, y, z], M);
|
| (3.1) |
M >
|
A:= Matrix([[a1, b1, c1], [a2 ,b2,c3], [a3, b3, c3]]);
|
| (3.2) |
M >
|
X := convert(A, DGvector);
|
| (3.3) |
Now define the standard volume form on M and calculate the Lie derivative of this volume form with respect to X.
M >
|
nu := evalDG(dx &w dy &w dz);
|
| (3.4) |
M >
|
LieDerivative(X, nu);
|
| (3.5) |
We see that nu is invariant with respect to X precisely when the matrix A is trace-free. In general sl(n) can be defined the subalgebra of gl(n) for which the
associated linear vector fields preserve the standard volume form. This is the approach taken by the MatrixAlgebras program. Here are the steps in detail.
Step 1. Define and initialize the ambient matrix algebra gl(3)
M >
|
L1 := MatrixAlgebras("Full", 3, gl3);
|
| (3.6) |
Step 2. Calculate sl(3) as a subalgebra of gl(3) -- note that each element of sl3_subalg is a trace-free matrix.
gl3 >
|
sl3_subalg := MatrixAlgebras("Subalgebra",gl3,[nu]);
|
| (3.7) |
Step 3. Calculate the structure equations for sl(3) and initialize the result.
gl3 >
|
L2 := LieAlgebraData(sl3_subalg, sl3);
|
| (3.8) |
| (3.9) |
sl3 >
|
MultiplicationTable("LieTable");
|
| (3.10) |
The Lie algebra sl(3) is semisimple:
sl3 >
|
Query("Semisimple");
|
| (3.11) |
|
|
The orthogonal Lie algebras so(4,0) and so(3,1)
|
|
Let g be an inner product on the vector space R^n with signature (p,q), p + q= n. The Lie algebra so(p,q) is the subalgebra of gl(n) consisting of nxn matrices a such that g(ax,y) + g(x,ay) =0(*) . In the case where g(x, y) = transpose(x)*y this condition implies that a is skew-symmetric, that is,
so(n) = sn(n,0) = {a in gl(n) such that transpose(a) + a =0} (**)
It we re-interprete the inner product g as a symmetric,rank 2 covariant tensor, then (*) becomes
LieDerivative(Z, g) =0 (***)
where, just as in the previous example, Z is the linear vector field corresponding to the matrix a.
We start by illustrating this last point.
sl3 >
|
with(DifferentialGeometry): with(LieAlgebras):
|
sl3 >
|
DGsetup([w, x, y, z], M);
|
| (4.1) |
M >
|
g := evalDG(dw &t dw + dx &t dx + dy &t dy + dz &t dz);
|
| (4.2) |
M >
|
A := Matrix([[a1, b1, c1, d1], [a2, b2, c2, d2], [a3, b3, c3, d3], [a4, b4, c4, d4]]);
|
| (4.3) |
Construct the linear vector field on M defined by the matrix A.
M >
|
Z := convert(A, DGvector);
|
| (4.4) |
M >
|
h := LieDerivative(Z, g);
|
| (4.5) |
Set h to zero, solve the resulting equations for the parameters of the matrix A and back substitute into A
M >
|
Eq := Tools:-DGinfo(h, "CoefficientSet");
|
| (4.6) |
M >
|
subs(solve(Eq, convert(A, set)), A);
|
| (4.7) |
These calculations illustrate the equivalence of conditions (**) and (***) for n = 4.
We are now ready to repeat the 3 steps using in the previous paragraph.
Step 1. Define and initialize the ambient matrix algebra gl(4)
M >
|
L1 := MatrixAlgebras("Full", 4, gl4):
|
Step 2. Calculate so(4) as a subalgebra of gl(4) which preserves the metric g. Note that each element of so4_subalg is a skew-symmetric matrix.
gl4 >
|
so4_subalg := MatrixAlgebras("Subalgebra",gl4,[g]);
|
| (4.8) |
Step 3. Calculate the structure equations for so4 and initialize the result.
gl4 >
|
L2 := LieAlgebraData(so4_subalg, so4);
|
| (4.9) |
| (4.10) |
so4 >
|
MultiplicationTable("LieTable");
|
| (4.11) |
Here are the calculations for so31.
so4 >
|
h := evalDG(-dw &t dw + dx &t dx + dy &t dy + dz &t dz);
|
| (4.12) |
Step 2. Calculate so(4) as a subalgebra of gl(4) which preserves the metric g. Note that each element of so4_subalg is a skew-symmetric matrix.
M >
|
so31_subalg := MatrixAlgebras("Subalgebra",gl4,[h]);
|
| (4.13) |
Step 3. Calculate the structure equations for so31 and initialize the result.
gl4 >
|
L3 := LieAlgebraData(so31_subalg, so31);
|
| (4.14) |
| (4.15) |
so31 >
|
MultiplicationTable("LieTable");
|
| (4.16) |
Both Lie algebras so4 and so31 are semi-simple. The algebra so4 is decomposable while so31 is indecomposable.
| (4.17) |
so4 >
|
Query("Semisimple"), Query("Indecomposable");
|
| (4.18) |
| (4.19) |
so31 >
|
Query("Semisimple"), Query("Indecomposable");
|
| (4.20) |
|
|
The Euclidean Lie algebra e(3)
|
|
The Euclidean algebra consists of the 3 translations and 3 infinitesimal rotations.
so31 >
|
with(DifferentialGeometry): with(LieAlgebras):
|
so31 >
|
DGsetup([x, y, z, w], M);
|
| (5.1) |
M >
|
Gamma := evalDG([D_x, D_y, D_z, x*D_y - y*D_x, x*D_z - z*D_x, y*D_z - z*D_y]);
|
| (5.2) |
Here are the structure equations.
M >
|
L := LieAlgebraData(Gamma);
|
| (5.3) |
We will now use the MatrixAlgebras program to realize this Lie algebra as a subalgebra of gl4. To this end we shall generate the usual skew-symmetric matrices for so3 as 4x4 matrices by finding the subalgebra of gl4 which fixes both the standard metric on M and the vector D_x4.
M >
|
g := evalDG(dx &t dx + dy &t dy + dz &t dz + dw &t dw);
|
| (5.4) |
| (5.5) |
Calculate the structure equations for gl4 and initialize the result.
M >
|
L1 := MatrixAlgebras("Full", 4, gl4):
|
| (5.6) |
Find the matrix algebra so3 as the subalgebra of gl4.
gl4 >
|
rotations:= MatrixAlgebras("Subalgebra",gl4, [g,V]);
|
| (5.7) |
Add in the matrices e14, e24,e34 as representatives for the translations.
gl4 >
|
euc3_subalg:= [e14, e24, e34, op(rotations)];
|
| (5.8) |
Calculate the structure equations for the 6 dim Lie algebra defined by the matrices euc3_subalg.
gl4 >
|
L3 := LieAlgebraData(euc3_subalg, euc3);
|
| (5.9) |
The structure equations L and L3 are identical.
|
|
The exceptional Lie algebra g2
|
|
We follow the description of g2 as found in the text: Spinors and Calibrations by F. Resse Harvey, p113-118, namely, g2 is the subalgebra of gl(7,R)
which fixes a certain 3-form.
gl4 >
|
with(DifferentialGeometry): with(LieAlgebras):
|
Step 1. Define and initialize the ambient matrix algebra gl(7).
gl4 >
|
DGsetup(MatrixAlgebras("Full", 7, gl7));
|
| (6.1) |
Step 2. Calculate g2 as the subalgebra of gl(7) as the subalgebra which preserves a 3-form phi, define on a 7 dimensional vector space E7.
gl7 >
|
DGsetup([x1, x2, x3, x4, x5, x6, x7],E7):
|
E7 >
|
phi := evalDG(dx1 &w dx2 &w dx3 -dx1 &w dx5 &w dx6 + dx4 &w dx2 &w dx6 + dx4 &w dx5 &w dx3 + dx1 &w dx4 &w dx7 - dx2 &w dx5 &w dx7 + dx3 &w dx6 &w dx7);
|
| (6.2) |
E7 >
|
g2_subalg := MatrixAlgebras("Subalgebra", gl7, [phi]);
|
| (6.3) |
Calculate the structure equations for this Lie algebra and initialize the result.
gl7 >
|
L := LieAlgebraData(g2_subalg, g2);
|
| (6.4) |
| (6.5) |
We check that g2 is semisimple.
g2 >
|
Query("Semisimple");
|
| (6.6) |
|
�Ian M. Anderson 2006
|