######################################################## ## u4_vibron.g by L.Fortunato and W.A.de Graaf (2011) ######################################################## ## This is a GAP4 script - ## needs SLA package and the files rootsys.g by W.A.de Graaf ## ## It comes as auxiliary material to the paper "Angular momentum non conserving ## symmetries in bosonic models" L.Fortunato, W.A. de Graaf, J.Phys.A : Math. Theor. 44, 145206 (2011) ## ## u(4) Lie algebra is implemented following the definitions in ch.5 of the book ## "Symmetry methods in molecules and nuclei" by A.Frank and P.van Isacker, ## SyG Editores, Mexico (2005) ## ## Note: set the right path in the first line of code. ######################################################## Read("../Myprogs/rootsys.g"); T:=EmptySCTable(16,0,"antisymmetric");SetEntrySCTable(T,1,10,[1/Sqrt(3), 10]); SetEntrySCTable(T,1,11,[1/Sqrt(3), 11]); SetEntrySCTable(T,1,12,[1/Sqrt(3), 12]); SetEntrySCTable(T,1,13,[-(1/Sqrt(3)), 13]); SetEntrySCTable(T,1,14,[-(1/Sqrt(3)), 14]); SetEntrySCTable(T,1,15,[-(1/Sqrt(3)), 15]); SetEntrySCTable(T,2,3,[1/Sqrt(2), 2]); SetEntrySCTable(T,2,4,[1/Sqrt(2), 3]); SetEntrySCTable(T,2,6,[1, 5]); SetEntrySCTable(T,2,7,[Sqrt(3/2), 6]); SetEntrySCTable(T,2,8,[Sqrt(3/2), 7]); SetEntrySCTable(T,2,9,[1, 8]); SetEntrySCTable(T,2,11,[1/Sqrt(2), 10]); SetEntrySCTable(T,2,12,[1/Sqrt(2), 11]); SetEntrySCTable(T,2,14,[1/Sqrt(2), 13]); SetEntrySCTable(T,2,15,[1/Sqrt(2), 14]); SetEntrySCTable(T,3,4,[1/Sqrt(2), 4]); SetEntrySCTable(T,3,5,[-Sqrt(2), 5]); SetEntrySCTable(T,3,6,[-(1/Sqrt(2)), 6]); SetEntrySCTable(T,3,8,[1/Sqrt(2), 8]); SetEntrySCTable(T,3,9,[Sqrt(2), 9]); SetEntrySCTable(T,3,10,[-(1/Sqrt(2)), 10]); SetEntrySCTable(T,3,12,[1/Sqrt(2), 12]); SetEntrySCTable(T,3,13,[-(1/Sqrt(2)), 13]); SetEntrySCTable(T,3,15,[1/Sqrt(2), 15]); SetEntrySCTable(T,4,5,[-1, 6]); SetEntrySCTable(T,4,6,[-Sqrt(3/2), 7]); SetEntrySCTable(T,4,7,[-Sqrt(3/2), 8]); SetEntrySCTable(T,4,8,[-1, 9]); SetEntrySCTable(T,4,10,[-(1/Sqrt(2)), 11]); SetEntrySCTable(T,4,11,[-(1/Sqrt(2)), 12]); SetEntrySCTable(T,4,13,[-(1/Sqrt(2)), 14]); SetEntrySCTable(T,4,14,[-(1/Sqrt(2)), 15]); SetEntrySCTable(T,5,8,[-1, 2]); SetEntrySCTable(T,5,9,[-Sqrt(2), 3]); SetEntrySCTable(T,5,12,[1, 10]); SetEntrySCTable(T,5,15,[-1, 13]); SetEntrySCTable(T,6,7,[Sqrt(3/2), 2]); SetEntrySCTable(T,6,8,[1/Sqrt(2), 3]); SetEntrySCTable(T,6,9,[-1, 4]); SetEntrySCTable(T,6,11,[-(1/Sqrt(2)), 10]); SetEntrySCTable(T,6,12,[1/Sqrt(2), 11]); SetEntrySCTable(T,6,14,[1/Sqrt(2), 13]); SetEntrySCTable(T,6,15,[-(1/Sqrt(2)), 14]); SetEntrySCTable(T,7,8,[Sqrt(3/2), 4]); SetEntrySCTable(T,7,10,[1/Sqrt(6), 10]); SetEntrySCTable(T,7,11,[-Sqrt(2/3), 11]); SetEntrySCTable(T,7,12,[1/Sqrt(6), 12]); SetEntrySCTable(T,7,13,[-(1/Sqrt(6)), 13]); SetEntrySCTable(T,7,14,[Sqrt(2/3), 14]); SetEntrySCTable(T,7,15,[-(1/Sqrt(6)), 15]); SetEntrySCTable(T,8,10,[1/Sqrt(2), 11]); SetEntrySCTable(T,8,11,[-(1/Sqrt(2)), 12]); SetEntrySCTable(T,8,13,[-(1/Sqrt(2)), 14]); SetEntrySCTable(T,8,14,[1/Sqrt(2), 15]); SetEntrySCTable(T,9,10,[1, 12]); SetEntrySCTable(T,9,13,[-1, 15]); SetEntrySCTable(T,10,13,[1, 5]); SetEntrySCTable(T,10,14,[-(1/Sqrt(2)), 2, 1/Sqrt(2), 6]); SetEntrySCTable(T,10,15,[1/Sqrt(3), 1, -(1/Sqrt(2)), 3, 1/Sqrt(6), 7, -1, 16]); SetEntrySCTable(T,10,16,[1, 10]); SetEntrySCTable(T,11,13,[1/Sqrt(2), 2, 1/Sqrt(2), 6]); SetEntrySCTable(T,11,14,[-(1/Sqrt(3)), 1, Sqrt(2/3), 7, 1, 16]); SetEntrySCTable(T,11,15,[-(1/Sqrt(2)), 4, 1/Sqrt(2), 8]); SetEntrySCTable(T,11,16,[1, 11]); SetEntrySCTable(T,12,13,[1/Sqrt(3), 1, 1/Sqrt(2), 3, 1/Sqrt(6), 7, -1, 16]); SetEntrySCTable(T,12,14,[1/Sqrt(2), 4, 1/Sqrt(2), 8]); SetEntrySCTable(T,12,15,[1, 9]); SetEntrySCTable(T,12,16,[1, 12]); SetEntrySCTable(T,13,16,[-1, 13]); SetEntrySCTable(T,14,16,[-1, 14]); SetEntrySCTable(T,15,16,[-1, 15]); Print("\n"); F:=DefaultField(Sqrt(2),Sqrt(3)); Print("F=",F,"\n"); L:=AlgebraByStructureConstants(F,T); Print("L=",L,"\n\n"); Print("Jacobi-> ",TestJacobi(T),"\n" ); B:=Basis(L); Print("B=",B,"\n\n"); g:=KillingMatrix(Basis(L)); Print(g,"\n"); Print("det=",Determinant(g),"\n"); LM:=LeviMalcevDecomposition(L); Print("Levi-Malcev Decomposition:",LM,"\n"); bs:=BasisVectors(Basis(LM[1])); br:=BasisVectors(Basis(LM[2])); Print("LM[2] -Basis of radical subalg of dim ",Dimension(LM[2]),": ",br, "\n"); Ro:=rootsystem(LM[1]); Print("Ro=",Ro,"\n"); sst:=CartanType(CartanMatrix(Ro)); Print("LM[1] -Basis of semisim subalg of dim ",Dimension(LM[1]),": ",bs, " of type ",sst,"\n" ); C:=CartanSubalgebra(LM[1]);