LieGroup - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


GroupActions[LieGroup] - create a module defining a Lie group

Calling Sequences

     LieGroup(M,  G)

     LieGroup(T,  G)

     LieGroup(T,  vars)

     LieGroup(Alg, G)

Parameters

     M         - a square matrix defining an r-parameter matrix group

   G         - a name or string, the name of the manifold for the Lie group being created

     T         - a transformation

     vars      - the list of the r parameters appearing in the transformation T

     Alg       - a name or string, the name of a solvable Lie algebra

 

Description

Examples

Description

• 

Let G be a Lie group with multiplication * and identity e. In the DifferentialGeometry package a Lie group is represented by a module with exports Frame, Identity, LeftMultiplication, RightMultiplication, and Inverse. The Frame export returns the name given to the underlying manifold used to define coordinates on the Lie group. The export Identity gives the coordinate list for the identity point e. LeftMultiplication and RightMultiplication are procedures which accept the coordinates of a point a as arguments and return the transformations from G to G defining left multiplication xa*x and right multiplication xx*a. Inverse returns the transformation from G to G defined by xx1.

• 

The first calling sequence computes the above Lie group module for a matrix group, that is, an r-parameter set of matrices containing the identity and closed under matrix multiplication and matrix inversion. The parameters appearing in the matrix M must match the coordinates used to define the Lie group G.

• 

The second calling sequence computes the Lie group module for a given r-parameter transformation group, defined by the transformation T. The parameters appearing in the transformation T must match the coordinates used to define the Lie group G.

• 

In the third calling sequence the transformation in taken to be the transformation defining either the left  (xa*x)  or right ( xx*a) multiplication for the Lie group G. The coordinates of the generic point a G are specified by the list vars.

• 

The fourth calling sequence implements Lie's second and third theorems and constructs a global Lie group G for any solvable Lie algebra Alg.

• 

The command LieGroup is part of the DifferentialGeometry:-GroupActions package.  It can be used in the form LieGroup(...) only after executing the commands with(DifferentialGeometry) and with(GroupActions), but can always be used by executing DifferentialGeometry:-GroupActions:-LieGroup(...).

Examples

withDifferentialGeometry:withGroupActions:withLieAlgebras:

 

Example 1.

We create a Lie group module G1 for the matrix group of upper triangular matrices.

XMatrixx,y,0,z

 

Since the group parameters in the matrix X are x, y, z, we use these for the coordinates on the Lie group.

DGsetupx,y,z,G1

frame name: G1

(2.1)
G1 > 

LG1LieGroupX,G1

LG1:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.2)

 

Evaluate the exports for the LG1 module:

G1 > 

LG1:-Frame

G1

(2.3)
G1 > 

LG1Identity

x=1,y=0,z=1

(2.4)
G1 > 

muLLG1:-LeftMultiplicationa,b,c

muL:=x=ax,y=ay+bz,z=cz

(2.5)
G1 > 

muRLG1:-RightMultiplicationa,b,c

muR:=x=ax,y=bx+cy,z=cz

(2.6)
G1 > 

muInvLG1:-Inverse

muInv:=x=1x,y=yxz,z=1z

(2.7)

 

Let us check the results for μL , μR , and μInv by calculating matrix products and inverses.

G1 > 

AMatrixa,b,0,c

 

The entries of L give the formulas for the transformation μL :

G1 > 

LA·X

 

The entries of R give the formulas for the transformation μR :

G1 > 

RX·A

 

The entries of Y give the formulas for the transformation μInv :

G1 > 

Y1X

 

We can also verify that the exports for LG1 are correct with the ApplyTransformation command.

G1 > 

ApplyTransformationmuL,ApplyTransformationmuInv,a,b,c

1,0,1

(2.8)

 

The output of the LieGroup command can be passed to the InvariantVectorsAndForms program to compute the left and right invariant vector fields and forms on the Lie group G1.

G1 > 

InvariantVectorsAndFormsLG1

xD_x,xD_y,D_yy+D_zz,dxx,dyxydzxz,dzz,D_xx+D_yy,zD_y,zD_z,dxx,ydxxz+dyz,dzz

(2.9)

 

Example 2.

The second calling sequence for LieGroup is similar in concept to the first calling sequence except that the Lie group is now determined from a group of transformations on a manifold instead of a matrix group. In this example, we consider a 5 parameter group of affine transformations in the plane.

G1 > 

DGsetupx,y,M

frame name: M

(2.10)
M > 

T2TransformationM,M,x=ax+by+c,y=dy+e

T2:=x=ax+by+c,y=dy+e

(2.11)

 

M > 

DGsetupa,b,c,d,e,G2

frame name: G2

(2.12)
M > 

LG2LieGroupT2,G2

LG2:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.13)
M > 

LG2:-LeftMultiplicationα,β,γ,δ,ε

a=aα,b=bα+dβ,c=cα+eβ+γ,d=δd,e=eδ+ϵ

(2.14)

 

The group parameters are a, b, c, d, e.

M > 

DGsetupa,b,c,d,e,G2

frame name: G2

(2.15)

 

M > 

LG2LieGroupT2,G2

LG2:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.16)
M > 

LG2:-LeftMultiplicationα,β,γ,δ,ε

a=aα,b=bα+dβ,c=cα+eβ+γ,d=δd,e=eδ+ϵ

(2.17)

 

Example 3.

If the left or right multiplication for a Lie group is known, then the third calling sequence can be used to create the corresponding Lie group module. We take, as a simple example, the left multiplication map constructed in Example 1. Then the procedure LieGroup will compute the corresponding right multiplication.

G2 > 

DGsetupx,y,z,G3

frame name: G3

(2.18)
G3 > 

T3TransformationG3,G3,x=ax,y=ay+bz,z=cz

T3:=x=ax,y=ay+bz,z=cz

(2.19)
G3 > 

LG3LLieGroupT3,a,b,c

LG3L:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.20)
G3 > 

S3LG3L:-RightMultiplicationa,b,c

S3:=x=ax,y=bx+cy,z=cz

(2.21)

 

The default assumption is that the transformation given as the first argument to LieGroup is the left multiplication map.The keyword argument multiplication = "right" can be used to indicate that the first argument is the right multiplication. Then the procedure LieGroup will compute the corresponding left multiplication.

G3 > 

LG3RLieGroupS3,a,b,c,multiplication=right

LG3R:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.22)
G5 > 

LG3R:-RightMultiplicationa,b,c

x=ax,y=bx+cy,z=cz

(2.23)
G3 > 

LG3R:-LeftMultiplicationa,b,c

x=ax,y=ay+bz,z=cz

(2.24)

 

Example 4.

We use the fourth calling sequence to calculate the Lie group for a given abstract solvable Lie algebra. Retrieve an abstract Lie algebra from the DifferentialGeometry library and initialize it.

 

G2 > 

LALibrary:-RetrieveWinternitz,1,4,8,alg

LA:=e2,e3=e1,e2,e4=e2,e3,e4=e3

(2.25)
G2 > 

DGsetupLA

Lie algebra: alg

(2.26)

 

G2 > 

DGsetupx1,x2,x3,x4,G4

frame name: G4

(2.27)
G4 > 

LG4LieGroupalg,G4

LG4:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.28)
G4 > 

LG4:-LeftMultiplicationy1,y2,y3,y4

x1=y1ⅇy4x3x4y2ⅇy4x3y2y4ⅇy4x3y2y2y3x4x2ⅇy4y3x4x2ⅇy4y3y4y4x2x3+x1,x2=y2+x2ⅇy4,x3=y3+x3ⅇy4,x4=x4+y4

(2.29)

 

We use coordinates x1, x2, x3 , x4 for the Lie group G4.

G2 > 

DGsetupx1,x2,x3,x4,G4

frame name: G4

(2.30)
G4 > 

LG4LieGroupalg,G4

LG4:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.31)

 

The structure equations for the right invariant vector fields on G4 coincide with the structure equations for the Lie algebra we started with.

G4 > 

Γ4InvariantVectorsAndFormsLG43

Γ4:=D_x1,x3x4+x3D_x1+D_x2,x2x4D_x1+D_x3,x2x3D_x1+x2D_x2x3D_x3+D_x4

(2.32)
G4 > 

LieAlgebraDataΓ4

e2,e3=e1,e2,e4=e2,e3,e4=e3

(2.33)

 

 

Example 5.

We calculate the Lie group module for the special linear groupSL(2,ℝ , defined here as the group of fractional linear transformations on the real line.

G4 > 

DGsetupx,M5

frame name: M5

(2.34)
M5 > 

T5TransformationM5,M5,x=ax+bcx+d

T5:=x=ax+bcx+d

(2.35)

 

The group parameters are subject to the constraint ad  bc = 1. We solve for d and re-write the group action T5  in terms of 3 group parameters a, b, c.

M5 > 

T5evalT5,d=1+bca

T5:=x=ax+bcx+bc+1a

(2.36)
M5 > 

DGsetupa,b,c,G5

frame name: G5

(2.37)

 

Note that for this group the values a =1, b=0, c =0 and a= 1, b  =  0 ,c =0 both determine the identity transformation. A choice of identity point can be imposed with the keyword argument

identity .

G5 > 

LG5LieGroupT5,G5,identity=a=1,b=0,c=0

LG5:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.38)
G5 > 

LG5RightMultiplicationr,s,t

a=ar+bt,b=ars+bst+br,c=acr+bct+ta

(2.39)

 

Example 6.

In this example, we calculate the Lie group multiplication for the Euclidean group of motions in the plane. Here is the standard matrix representation of this group.

G1 > 

XMatrixcosθ,sinθ,a,sinθ,cosθ,b,0,0,1

 

The group parameters are [θ, a, b]  so we use these as coordinates for the Lie group G6.

G5 > 

DGsetupθ,a,b,G6

frame name: G6

(2.40)

 

In this example, the entries of the matrix X are not simple rational functions of group parameter θ. Therefore some simplification of the defining equations for the left and right multiplication may be required in order for the LieGroup procedure to succeed. This can be done with the DifferentialGeometry Preferences command. The combine command will apply the addition formulas for sine and cosine which will simplify the defining equations for the left and right multiplications. The multiplication rules for the Euclidean Lie group can then be determined.

G6 > 

Preferencessimplification,xsimplifycombinex

procs...end proc

(2.41)
G6 > 

G6LieGroupX,G6

G6:=moduleexportFrame,Identity,LeftMultiplication,RightMultiplication,Inverse;end module

(2.42)
G6 > 

G6LeftMultiplicationφ,c,d

θ=φ+θ,a=cosφa+sinφb+c,b=sinφa+cosφb+d

(2.43)

See Also

DifferentialGeometry

GroupActions

MatrixGroup

ApplyTransformation

InvariantVectorsAndForms