LieAlgebra Lessons - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : Lessons and Tutorials : LieAlgebras : DifferentialGeometry/LessonsAndTutorials/LieAlgebras/LieAlgebraHomomorphisms

LieAlgebra Lessons

 

Lesson 4: Lie Algebra Homomorphisms

 

 

Overview

Define a Lie algebra homomorphism

Calculate the kernel and image of a Lie algebra homomorphism

Lie algebra derivations and automorphisms

Apply a Lie algebra homomorphism to a vector, differential form or tensor

Overview

 

In this lesson, you will learn to do the following:

– 

Define a Lie algebra homomorphism between two Lie algebras.

– 

Convert a derivation on a Lie algebra to a Lie algebra isomorphism.

– 

Calculate the kernel and image of a Lie algebra homomorphism.

– 

Calculate the inverse image of a subalgebra under a Lie algebra homomorphism.

– 

Apply a Lie algebra homomorphism to a vector, differential form or tensor defined on a Lie algebra.

 

Define a Lie algebra homomorphism

 

Homomorphisms between Lie algebras are defined using the Transformation command.  To define some Lie algebra homomorphisms, we first initialize Lie algebras Alg1, Alg2, and Alg3 of dimension 3, 5, and 4.

with(DifferentialGeometry): with(LieAlgebras):

 

Define the structure equations for the Lie algebras Alg1, Alg2, Alg3.

L1 := _DG([["LieAlgebra", Alg1, [3]], [[[1, 3, 1], 2], [[2, 3, 1], 2], [[2, 3, 2], 1]]]);

L1e1,e3=2e1,e2,e3=2e1+e2

(2.1)

L2 := _DG([["LieAlgebra", Alg2, [5]], [[[1, 3, 1], -1], [[1, 3, 2], -1], [[1, 4, 1], 1], [[2, 3, 1], 1], [[2, 3, 2], 1], [[2, 4, 1], 1], [[2, 4, 2], 2], [[3, 4, 1], 1], [[3, 4, 3], 1], [[3, 4, 5], -3], [[4, 5, 5], 2]]]);

L2e1,e3=e1e2,e1,e4=e1,e2,e3=e1+e2,e2,e4=e1+2e2,e3,e4=e1+e33e5,e4,e5=2e5

(2.2)

L3 := _DG([["LieAlgebra", Alg3, [4]], [[[1, 2, 2], 1], [[1, 2, 3], -1], [[1, 2, 4], -2], [[1, 3, 2], 1], [[1, 3, 3], -1], [[1, 3, 4], -2], [[2, 3, 1], -1], [[2, 3, 2], 2], [[2, 3, 3], -2], [[2, 3, 4], 1], [[2, 4, 4], 2], [[3, 4, 4], 2]]]);

L3e1,e2=e2e32e4,e1,e3=e2e32e4,e2,e3=e1+2e22e3+e4,e2,e4=2e4,e3,e4=2e4

(2.3)

 

Initialize the Lie algebras Alg1, Alg2, Alg3.

DGsetup(L1):

Alg1 > 

DGsetup(L2, [f], [omega]):

Alg2 > 

DGsetup(L3, [g], [sigma]):

 

Define a 5x3 matrix A and use this matrix to define a linear transformation from Alg1 to Alg2.

Alg3 > 

A := Matrix([[1, 0, 0], [1, 1, 0], [0, 0, 1], [0, 0, 1], [0, 0, 0]]);

A100110001001000

(2.4)
Alg3 > 

phi := Transformation(Alg1, Alg2, A);

φe1,f1+f2,e2,f2,e3,f3+f4

(2.5)

 

The output indicates that e1 is mapped to f1 + f2, e2 is mapped to f2 and so on....

Verify that phi is a Lie algebra homomorphism with the Query command.

Alg2 > 

Query(phi, "Homomorphism");

true

(2.6)

 

Define a 4x5 matrix A and use this matrix to define a linear transformation from Alg2 to Alg3.  In this example, the matrix B contains 2 parameters {a, b} and we shall determine the values of {a, b} for which the matrix B determines a Lie algebra homomorphism.

Alg2 > 

B := Matrix([[-1, 1, 0, 0, 0], [1, -1, 1, 0, 0], [-1, 1, -1, 1, a], [1, -1, 1, -1, b]]);

B11000111001111a1111b

(2.7)
Alg2 > 

psi0 := Transformation(Alg2, Alg3, B);

ψ0f1,g1+g2g3+g4,f2,g1g2+g3g4,f3,g2g3+g4,f4,g3g4,f5,ag3+bg4

(2.8)

 

Again we use the Query command, but this time we include the parameters in the calling sequence.  The Query command returns true to indicate that there are parameter values for which psi0 is a Lie algebra homomorphism, the list of constraints that {a, b} must satisfy for psi0 to be a homomorphism, the solutions to these constraints obtained by the Maple solve program, and the result of back-substituting the solutions into psi0.

Alg3 > 

Q := Query(psi0, {a, b}, "Homomorphism");

Qtrue,0,a,3b3,2a,3a,3b+3,2a,3a,a,b=1,a=0,f1,g1+g2g3+g4,f2,g1g2+g3g4,f3,g2g3+g4,f4,g3g4,f5,g4

(2.9)
Alg3 > 

psi := Q[4][1];

ψf1,g1+g2g3+g4,f2,g1g2+g3g4,f3,g2g3+g4,f4,g3g4,f5,g4

(2.10)

 

Calculate the kernel and image of a Lie algebra homomorphism

 

The kernel and image of a Lie algebra homomorphism can be computed with the command HomomorphismSubalgebras.  We continue with the homomorphisms defined in the previous paragraph.  Here are the 3 Lie algebras we defined and the 2 homomorphisms phi and psi.

Alg3 > 

MultiplicationTable(Alg1, "LieTable");

`|`e1e2e3---------------e1`|`002e1e2`|`002e1+e2e3`|`2e12e1e20

(3.1)
Alg1 > 

MultiplicationTable(Alg2, "LieTable");

`|`f1f2f3f4f5-----------------------f1`|`00f1f2f10f2`|`00f1+f2f1+2f20f3`|`f1+f2f1f20f1+f33f50f4`|`f1f12f2f1f3+3f502f5f5`|`0002f50

(3.2)
Alg2 > 

MultiplicationTable(Alg3, "LieTable");

`|`g1g2g3g4-------------------g1`|`0g2g32g4g2g32g40g2`|`g2+g3+2g40g1+2g22g3+g42g4g3`|`g2+g3+2g4g12g2+2g3g402g4g4`|`02g42g40

(3.3)
Alg3 > 

phi;

e1,f1+f2,e2,f2,e3,f3+f4

(3.4)
Alg2 > 

psi;

f1,g1+g2g3+g4,f2,g1g2+g3g4,f3,g2g3+g4,f4,g3g4,f5,g4

(3.5)

 

Example 1.  Calculate the kernel of the transformation psi.

Alg3 > 

HomomorphismSubalgebras(psi, "Kernel");

f1+f2

(3.6)

 

Example 2.  Calculate the composition tau of the homomorphisms phi and psi.  Calculate the image of tau.

Alg2 > 

tau := ComposeTransformations(psi, phi);

τe1,0g1,e2,g1g2+g3g4,e3,g2

(3.7)
Alg3 > 

HomomorphismSubalgebras(tau, "Image");

g1+g3g4,g2

(3.8)

 

Example 3.  Calculate the inverse-image of the subalgebra [g3, g4] in Alg2 with respect to the homomorphism psi.

Alg3 > 

U := [g3, g4];

Ug3,g4

(3.9)
Alg3 > 

V :=HomomorphismSubalgebras(psi, U, "InverseImage");

Vf1+f2,f5,f4

(3.10)

 

We can 'clean-up' this basis slightly with the CanonicalBasis command from the Tools package.

Alg2 > 

Tools:-CanonicalBasis(V, [f1, f2, f3, f4, f5]);

f1+f2,f4,f5

(3.11)

 

Lie algebra derivations and automorphisms

 

A matrix A is a derivation for g if the associated linear transformation mapping g to g satisfies A([x, y]) = [A(x), y] + [x, A(y)] for all x, y in g.  The command Derivations will compute all the derivations for a given Lie algebra.  The matrix exponential (LinearAlgebra:-MatrixExponential) of any derivation of a Lie algebra g defines an automorphism of g.

 

In this paragraph, we shall initialize a 4 dimensional Lie algebra Alg1 from the DifferentialGeometry Library, calculate the derivations of this Lie algebra, and exponentiate a derivation to obtain a Lie algebra automorphism phi: Alg1 -> Alg1.  We use the command Query to check that phi is an homomorphism and the HomomorphismSubalgebras command to show that the kernel of phi is trivial.  These two calculations show that phi is an automorphism.

Alg2 > 

with(DifferentialGeometry): with(LieAlgebras): with(Library):

 

Retrieve a Lie algebra from the DifferentialGeometry Library and initialize it with the DGsetup command.

Alg2 > 

L := Retrieve("Winternitz", 1, [5, 24], Alg1);

Le1,e5=2e1,e2,e3=e1,e2,e5=e2+e3,e3,e5=e3,e4,e5=ee1+2e4

(4.1)
Alg2 > 

DGsetup(L);

Lie algebra: Alg1

(4.2)
Alg1 > 

Der := Derivations("Full");

Der2000001000001000002000000,0100000000000010000000000,0000000000010000000000000,0010000001000010000000000,0001000000000000000000000,0000100000000000000000000,0000000000000000000100000

(4.3)

 

The set of derivations form a vector space (and, in fact, a Lie algebra) so we can take linear combinations of the matrices in Der and still obtain a derivation.

Alg1 > 

a := Der[2] + t*Der[3] + s*Der[4];

a01s000000s0t001+s0000000000

(4.4)
Alg1 > 

Query(Alg1, a, "Derivation");

true

(4.5)
Alg1 > 

A := LinearAlgebra:-MatrixExponential(a);

A11+ts2s016s2t+12s20100s0t1012ts1+s0001000001

(4.6)
Alg1 > 

tau := Transformation(Alg1, Alg1, A);

τe1,e1,e2,1+ts2e1+e2+te3,e3,se1+e3,e4,e4,e5,16s2t+12s2e1+se2+12ts1+se3+e5

(4.7)
Alg1 > 

Query(tau, "Homomorphism");

true

(4.8)
Alg1 > 

HomomorphismSubalgebras(tau, "Kernel");

(4.9)

 

Apply a Lie algebra homomorphism to a vector, differential form or tensor

 

ApplyHomomorphism(Phi, T) will apply a Lie algebra homomorphism Phi to a vector, form, or tensor T and return an object of the same type.  The precise evaluation rules for ApplyHomomorphism depend upon the specific properties of T and whether or not Phi is invertible.  See the ApplyHomomorphism help page for details.  Here are a few examples.

 

Example 1.  We begin with the Lie algebra isomorphism tau constructed in the previous section.  However, to better illustrate the effects of the ApplyHomomorphism command, let us relabel the basis vectors for the range algebra.

 

Define and initialize the domain algebra for the Lie algebra isomorphism tau.

Alg1 > 

L_domain := Retrieve("Winternitz", 1, [5, 24], Alg1);

L_domaine1,e5=2e1,e2,e3=e1,e2,e5=e2+e3,e3,e5=e3,e4,e5=ee1+2e4

(5.1)
Alg1 > 

DGsetup(L_domain);

Lie algebra: Alg1

(5.2)

 

Define and initialize the range algebra for the Lie algebra isomorphism tau.

Alg1 > 

L_range := Retrieve("Winternitz", 1, [5, 24], Alg2);

L_rangee1,e5=2e1,e2,e3=e1,e2,e5=e2+e3,e3,e5=e3,e4,e5=ee1+2e4

(5.3)
Alg1 > 

DGsetup(L_range, [f], [omega]);

Lie algebra: Alg2

(5.4)

 

Define the matrix A representing a transformation from Alg1 to Alg2.

Alg2 > 

A := Matrix([[1, 1 + 1/2*t*s, s, 0, 1/6*s^2*t + 1/2*s^2], [0, 1, 0, 0, s], [0, t, 1, 0, 1/2*t*s - 1 + s], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]]);

A11+ts2s016s2t+12s20100s0t1012ts1+s0001000001

(5.5)
Alg2 > 

tau := Transformation(Alg1, Alg2, A);

τe1,f1,e2,1+ts2f1+f2+tf3,e3,sf1+f3,e4,f4,e5,16s2t+12s2f1+sf2+12ts1+sf3+f5

(5.6)

 

Apply tau to a vector in Alg1.  The result is a vector in Alg2.

Alg2 > 

ApplyHomomorphism(tau, e2);

1+ts2f1+f2+tf3

(5.7)

 

Apply tau to a 1-form in Alg2.  The result is a 1-form in Alg1 -- in this case, tau acts via the Pullback command.

Alg2 > 

ApplyHomomorphism(tau, omega3);

tθ2+θ3+12ts1+sθ5

(5.8)

 

Apply tau to a 2-form in Alg2.  The result is a 2-form in Alg1 -- in this case, tau acts via the Pullback command.

Alg1 > 

ApplyHomomorphism(tau, omega3 &wedge omega4);

tθ2`^`θ4+θ3`^`θ4+12ts+1sθ4`^`θ5

(5.9)

 

Apply tau to a type (1, 1) tensor in Alg1.  The result is a 1-1 tensor in Alg2 -- in this case, tau acts via the PushPullTensor command.

Alg1 > 

ApplyHomomorphism(tau, e2 &t theta5);

1+ts2f1ω5+f2ω5+tf3ω5

(5.10)

 

Apply tau to a type (2, 0) tensor in Alg2.  The result is a 1-1 tensor in Alg1 -- in this case, tau acts via the PushPullTensor command.

Alg2 > 

ApplyHomomorphism(tau, f2 &t f3);

2+tsse1e12+1+ts2e1e3se2e1+e2e3+tse3e1te3e3

(5.11)

We emphasize that these last two calculations require the preliminary computation of the inverse of tau and would not be possible if tau were not invertible.

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam