given a representation of a solvable algebra, find a basis for the representation space in which the representation matrices are upper triangular matrices - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : LieAlgebras : DifferentialGeometry/LieAlgebras/SolvableRepresentation

LieAlgebras[SolvableRepresentation] - given a representation of a solvable algebra, find a basis for the representation space in which the representation matrices are upper triangular matrices

Calling Sequences

     SolvableRepresentation( ρ, options)

     SolvableRepresentation(Alg, options)

    

Parameters

     ρ       - a representation of a solvable Lie algebra 𝔤 on a vector space V

     alg     - a string or name, the name of a initialized solvable Lie algebra

     options     -  the keyword argument output = O, where O is a list  with members  "NewBasis", ChangeOfBasisMatrix", "TransformedMatrices",  "Partition"; the keyword argument fieldextension = I

 

Description

Examples

Description

• 

Let rho: 𝔤  glVbe a representation of a solvable Lie algebra 𝔤 on a vector space V. A corollary of Lie's fundamental theorem for solvable Lie algebras (see RepresentationEigenvector) implies that there always exists a basis (possibly complex) for V such that the matrix representation of ρxis upper triangular for all x 𝔤.

• 

The program SolvableRepresentation(rho) uses the program RepresentationEigenvector to construction such a basis. In the case when the RepresentationEigenvector program returns a complex eigenvector (with associated complex eigenvalue a + bI), the matrix representation will not be upper triangular but will contain the matrix abba on the diagonal (similar to the real Jordan form of a matrix).

• 

For the second calling sequence, the program SolvableRepresentation is applied to the adjoint representation of the algebra Alg.

• 

The output is a 4-element sequence. The 1st element is a new basis ℬ forV in which the representation is upper triangular, the 2nd element is the change of basis matrix, the 3rd element is the representation in the new basis. The 4th element P gives the partition defining the size of the diagonal block matrices. If  P = 1.. n1, n1+1 .. n2, n2+1 .. n3, ... , then the subspaces  ℬ1, ..., n1,  ℬ1, ..., n2, ℬ1, ..., n3 are ρinvariant subspaces. If, for example, P = 1.. 1, 2.. 2 , 3.. 3, then all the eigenvectors calculated by RepresentationEigenvector are real. If C = 1..1, 2..3 then the vectors ℬ2 and 3 are the real and imaginary parts of a complex eigenvector. The precise form of the output can be specified by the user with the keyword argument output = O, where O is a list with members "NewBasis", ChangeOfBasisMatrix", "TransformedMatrices", "Partition".

• 

With the option fieldextension = I, a complex basis will be returned (if needed) which puts the representation into upper triangular form.

Examples

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

 

Example 1.

We define a 5-dimensional representation of a 3-dimensional solvable Lie algebra.

L := _DG([["LieAlgebra", alg1, [3]], [[[1, 2, 2], 1], [[2, 3, 2], 1]]]);

L:=e1,e2=e2,e2,e3=e2

(2.1)

DGsetup(L):

alg1 > 

DGsetup([x1, x2, x3, x4, x5], V1):

V1 > 

M := map(Matrix, [[[8, 8, 0, 0, 0], [- 1, 5, 6, 0, 0], [0, - 2, 2, 4, 0], [0, 0, - 3, - 1, 2], [0, 0, 0, - 4, - 4]], [[8, 16, 0, 0, 0], [- 1, 4, 12, 0, 0], [0, - 2, 0, 8, 0], [0, 0, - 3, - 4, 4], [0, 0, 0, - 4, - 8]], [[- 4, - 8, 0, 0, 0], [1, - 1, - 6, 0, 0], [0, 2, 2, - 4, 0], [0, 0, 3, 5, - 2], [0, 0, 0, 4, 8]]]):

V1 > 

rho1 := Representation(alg1, V1, M);

ρ1:=e1,8800015600022400031200044,e2,816000141200020800034400048,e3,4800011600022400035200048

(2.2)

 

We find a new basis for the representation space in which the matrices are all upper triangular.

alg1 > 

B1, P1, newrho, Part1 := SolvableRepresentation(rho1);

B1,P1,newrho,Part1:=D_x112D_x2+14D_x318D_x4+116D_x5,D_x114D_x3+14D_x4316D_x5,D_x116D_x2+148D_x5,D_x1116D_x5,D_x1,111111201600141400018140001163161481160,e1,45310035310002960001200000,e2,0810320002200001260000200000,e3,05310015310002960003200004,1..1,2..2,3..3,4..4,5..5

(2.3)

 

To verify this result we use the ChangeRepresentationBasis command to change basis in the representation space.

V1 > 

ChangeRepresentationBasis(rho1, B1, V1);

e1,45310035310002960001200000,e2,0810320002200001260000200000,e3,05310015310002960003200004

(2.4)

 

Example 2.

We define a 6-dimensional representation of a 3-dimensional solvable Lie algebra.

alg1 > 

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

L2:=e1,e3=e2+3e1,e2,e3=e1+3e2

(2.5)
alg1 > 

DGsetup(L2):

Alg2 > 

DGsetup([x1, x2, x3, x4, x5, x6], V2):

V2 > 

M := map(Matrix, [[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [- 3, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, - 3, 0, 1, 0, 0], [0, 0, - 2*3, 0, 2, 0]], [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [- 1, - 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, - 1, 0, - 3, 0, 0], [0, 0, - 2, 0, - 2*3, 0]], [[2*3, - 2, 0, 0, 0, 0], [1, 2*3, 0, - 1, 0, 0], [0, 0, 3, 0, - 1, 0], [0, 2, 0, 2*3, 0, 0], [0, 0, 1, 0, 3, 0], [0, 0, 0, 0, 0, 0]]]):

V2 > 

rho2 := Representation(Alg2, V2, M);

ρ2:=e1,000000000000310000000000030100006020,e2,000000000000130000000000010300002060,e3,620000160100003010020600001030000000

(2.6)

 

In this example some of the eigenvectors found by the RepresentationEigenvector program are complex and it is not possible to find a real basis in which the representation is upper triangular.

Alg2 > 

Query(rho2, "Representation");

true

(2.7)
Alg2 > 

B2, P2, newrho, Part2 := SolvableRepresentation(rho2);

B2,P2,newrho,Part2:=D_x6,D_x3,D_x5,D_x1+D_x4,D_x1D_x4,D_x2,000110000001010000000110001000100000,e1,062000000331000113000000000000000000,e2,026000000113000331000000000000000000,e3,000000031000013000000600000062000026,1..1,2..3,4..4,5..6

(2.8)
V2 > 

ChangeRepresentationBasis(rho2, B2, V2);

e1,062000000331000113000000000000000000,e2,026000000113000331000000000000000000,e3,000000031000013000000600000062000026

(2.9)

 

To obtain an upper triangular representation with respect to a complex basis, use the optional argument fieldextension = I.

Alg2 > 

B3 := SolvableRepresentation(rho2, fieldextension = I, output = ["NewBasis"]);

B3:=D_x6,D_x3ID_x5,D_x3+ID_x5,D_x1ID_x2D_x4,D_x1+D_x4,D_x1+ID_x2D_x4

(2.10)
V2 > 

ChangeRepresentationBasis(rho2, B3, V2);

e1,062I6+2I0000003I32+12I000003212I3+I000000000000000000,e2,02+6I26I0000001+3I1232I0000012+32I13I000000000000000000,e3,00000003+I0000003I0000006+2I000000600000062I

(2.11)

 

Example 3.

If the name of an algebra is passed to the program SolvableRepresentation, then the assumed representation is the adjoint representation of the algebra (or current frame).

Alg2 > 

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

L3:=e1,e2=e1+e5,e1,e3=e1e5,e1,e4=2e1+e2+e3,e2,e3=e1+e5,e2,e4=e3,e2,e5=e1e5,e3,e4=e3e5,e3,e5=e1+e5,e4,e5=e2e32e5

(2.12)
V2 > 

DGsetup(L3):

 

The adjoint representation of this algebra is not upper triangular.

Alg3 > 

Adjoint();

0112000010000100000001100,1010100000000100000010101,1100100000000100000011011,2000010001111010000000102,0110000010000100000001120

(2.13)
Alg3 > 

B := SolvableRepresentation(Alg3, output =["NewBasis"]);

B:=e2+e3+e5,e1e5,e1,e2,e4

(2.14)
Alg3 > 

L4 := LieAlgebraData(B, Alg4);

L4:=e1,e5=e1,e2,e5=2e2,e3,e4=e2,e3,e5=e1+e2+e3,e4,e5=e1e2+e3+e4

(2.15)
Alg3 > 

DGsetup(L4):

 

Now in this new basis the adjoint representation is upper triangular.

Alg4 > 

Adjoint();

0000100000000000000000000,0000000002000000000000000,0000100011000010000000000,0000100101000010000100000,1011002110001100001000000

(2.16)

 

Example 4.

An example with complex eigenvalues.

Alg4 > 

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

L:=e1,e2=5e15e23e32e5,e1,e3=e1+e2e3+2e5,e1,e4=4e13e23e3e4e5,e1,e5=4e1+5e2+3e3e4+e5,e2,e3=2e1+2e2+2e5,e2,e4=e2e4,e2,e5=4e1+4e2+3e3+e5,e3,e4=e1e2e5,e3,e5=e1+2e2+e3e4,e4,e5=3e1+3e2+3e3

(2.17)
Alg4 > 

DGsetup(L):

Alg5 > 

B1, C1 := SolvableRepresentation(Alg5, output = ["NewBasis", "Partition"]);

B1,C1:=e1e2e3,e1e4e5,e2e4,e1,e2,1..1,2..3,4..5

(2.18)
Alg5 > 

L2 := LieAlgebraData(B1, Alg6);

L2:=e1,e4=4e1,e1,e5=3e1,e2,e4=2e3,e2,e5=e2,e3,e4=e2+2e3,e3,e5=e3,e4,e5=3e1+2e22e3

(2.19)

 

In this new basis the adjoint representation is upper triangular except for a 2x2 "complex" block on the diagonal for ad(e4).

Alg5 > 

Adjoint(L2);

0004300000000000000000000,0000000001000200000000000,0000000010000210000000000,4000300102022020000000000,3003001020001200000000000

(2.20)

 

We rerun this example with the option fieldextension = I

Alg5 > 

B3 := SolvableRepresentation(Alg5, fieldextension = I, output = ["NewBasis"]);

B3:=e1e2e3,e11+Ie2+Ie4e5,e11Ie2Ie4e5,e1,e2

(2.21)
Alg5 > 

L3 := LieAlgebraData(B3, Alg7);

L3:=e1,e4=4e1,e1,e5=3e1,e2,e4=1+Ie2,e2,e5=e2,e3,e4=1Ie3,e3,e5=e3,e4,e5=3e1+e2+e3

(2.22)
Alg5 > 

Adjoint(L3);

0004300000000000000000000,000000001+I1000000000000000,00000000000001I10000000000,4000301I001001+I010000000000,3003001010001100000000000

(2.23)

 

Example 5.

Let rho:𝔤  V be a representation of a nilpotent Lie algebra 𝔤 on a vector space V. The representation is called a nilrepresentation if each matrix A=ρx is nilpotent, that is  Ak=0 for some k.  Engel's theorem (see, for example, Fulton and Harris, page 125 or Varadarajan, page 189) asserts that if rho is a nilrepresentation, then there is a basis for V for which all the representation matrices are strictly upper triangular.

Alg5 > 

L5 := _DG([["LieAlgebra", Alg5, [6]], [[[1, 2, 2], 1], [[1, 2, 3], 1], [[1, 2, 4], - 1], [[1, 2, 5], 1], [[1, 3, 3], - 1/2], [[1, 3, 5], 1/2], [[1, 3, 6], - 1/2], [[1, 4, 2], 1], [[1, 4, 3], 1], [[1, 4, 4], - 1], [[1, 4, 5], 1], [[1, 5, 3], 1/2], [[1, 5, 5], - 1/2], [[1, 5, 6], 1/2], [[1, 6, 3], 1], [[1, 6, 5], - 1], [[1, 6, 6], 1], [[2, 3, 3], - 1/2], [[2, 3, 5], - 1/2], [[2, 3, 6], - 1/2], [[2, 4, 5], - 1], [[2, 6, 3], 1/2], [[2, 6, 5], 1/2], [[2, 6, 6], 1/2], [[3, 4, 5], 1], [[4, 6, 5], 1]]]);

L5:=e1,e2=e2+e3e4+e5,e1,e3=12e3+12e512e6,e1,e4=e2+e3e4+e5,e1,e5=12e312e5+12e6,e1,e6=e3e5+e6,e2,e3=12e312e512e6,e2,e4=e5,e2,e6=12e3+12e5+12e6,e3,e4=e5,e4,e6=e5

(2.24)
Alg5 > 

DGsetup(L5):

Alg5 > 

DGsetup([x1, x2, x3, x4], V5):

V5 > 

M5 := map(Matrix, [[[- 5, - 9, 10, - 4], [- 4, - 7, 8, - 3], [- 5, - 9, 10, - 4], [3, 5, - 6, 2]], [[- 8, - 12, 14, - 6], [- 5, - 8, 9, - 4], [- 9, - 14, 16, - 7], [0, 0, 0, 0]], [[- 1, - 2, 2, - 1], [0, 0, 0, 0], [0, 0, 0, 0], [1, 2, - 2, 1]], [[- 5, -8, 9, - 4], [0, 0, 0, 0], [- 5, - 8, 9, - 4], [- 5, - 8, 9, - 4]], [[- 1, - 2, 2, - 1], [0, 0, 0, 0], [- 1, - 2, 2, - 1], [- 1, - 2, 2, - 1]], [[- 2, - 4, 4, - 2], [- 2, - 4, 4, - 2], [- 3, - 6, 6, - 3], [0, 0, 0, 0]]]):

V5 > 

rho := Representation(Alg5, V5, M5);

ρ:=e1,5910447835910435