% test file for the Lie package

% 1. n-dimensional Lie algebras with dimL1=1
% n=6

array lienstrucin(6,6,6)$



lienstrucin(1,2,2):=lienstrucin(1,2,6):=lienstrucin(1,5,2):=-1$


lienstrucin(1,5,6):=lienstrucin(2,5,3):=lienstrucin(2,5,5):=-1$


lienstrucin(1,2,3):=lienstrucin(1,2,5):=lienstrucin(1,5,3):=1$


lienstrucin(1,5,5):=lienstrucin(2,5,2):=lienstrucin(2,5,6):=1$



liendimcom1(6);


{lie_algebra(2),commutative(4)}


% transformation matrix

lientrans;


[0  -1  1   0  1   -1]
[                    ]
[0  1   0   0  0   0 ]
[                    ]
[1  1   -1  0  -1  1 ]
[                    ]
[0  0   0   1  0   0 ]
[                    ]
[0  0   -1  0  0   1 ]
[                    ]
[0  0   0   0  0   1 ]



clear lienstrucin$



% n=8

array lienstrucin(8,8,8)$



lienstrucin(1,2,2):=lienstrucin(1,5,2):=lienstrucin(2,4,3):=1$


lienstrucin(2,4,5):=lienstrucin(4,5,2):=1$


lienstrucin(1,2,3):=lienstrucin(1,2,5):=lienstrucin(1,5,3):=-1$


lienstrucin(1,5,5):=lienstrucin(2,4,2):=lienstrucin(4,5,3):=-1$


lienstrucin(4,5,5):=-1$


lienstrucin(1,2,6):=lienstrucin(1,5,6):=lienstrucin(4,5,6):=5$


lienstrucin(2,4,6):=-5$



liendimcom1(8);


{heisenberg(3),commutative(5)}


% same with verbose output

on tr_lie$



liendimcom1(8);


Your Lie algebra is the direct sum of the Lie algebra H(3)

and the 5-dimensional commutative Lie algebra, where

H(3) is 3-dimensional and there exists a basis

{X(1),...,X(3)} in H(3) with:

[X(2),X(3)]=[X(2*i),X(2*i+1)]=...=[X(2),X(3)]=X(1)

The transformation into this form is:

X(1):=5*y(6) - y(5) - y(3) + y(2)

X(2):=y(1)

X(3):=y(2)

X(4):=y(4) - y(1)

X(5):=y(5) - y(2)

X(6):=y(6)

X(7):=y(7)

X(8):=y(8)

{heisenberg(3),commutative(5)}


clear lienstrucin$



off tr_lie$



% 2. 4-dimensional Lie algebras

% Korteweg-de Vries Equation: u_t+u_{xxx}+uu_x=0
% symmetry algebra spanned by four vector fields:
% v_1=d_x, v_2=d_t, v_3=td_x+d_u, v_4=xd_x+3td_t-2ud_u

array liestrin(4,4,4)$



liestrin(1,4,1):=liestrin(2,3,1):=1$


liestrin(2,4,2):=3$


liestrin(3,4,3):=-2$



lieclass(4);


{liealg(4),comtab(16),5}


clear liestrin$




% dimL1=3, dimL2=3

array liestrin(4,4,4)$



liestrin(1,2,1):=-6$

liestrin(1,2,3):=-2$

liestrin(1,2,4):=6$


liestrin(1,3,1):=-1$

liestrin(1,3,2):=1$

liestrin(1,3,4):=1$


liestrin(2,3,1):=-3$

liestrin(2,3,4):=2$


liestrin(2,4,1):=6$

liestrin(2,4,3):=2$

liestrin(2,4,4):=-6$


liestrin(3,4,1):=1$

liestrin(3,4,2):=-1$

liestrin(3,4,4):=-1$



lieclass(4);


{liealg(4),comtab(21)}


% same with verbose output

on tr_lie$



lieclass(4);


[W,X]=Y, [W,Y]=-X, [X,Y]=W

{liealg(4),comtab(21)}


% transformation matrix

liemat;


[    3          0      1     -3    ]
[                                  ]
[   - 3                       2    ]
[---------      0      0  ---------]
[ sqrt(2)                  sqrt(2) ]
[                                  ]
[   - 1         1             1    ]
[---------  ---------  0  ---------]
[ sqrt(2)    sqrt(2)       sqrt(2) ]
[                                  ]
[   -2          0      0      2    ]



clear liestrin$



off tr_lie$




end$

Tested on x86_64-pc-windows CSL
Time (counter 1): 94 ms

End of Lisp run after 0.11+0.04 seconds
real 0.31
user 0.03
sys 0.06
