How to check in GAP whether two nilpotent Lie algebras are isomorphic

322 Views Asked by At

Let L1 and L2 be two nilpotent Lie algebras. How can I check that two nilpotent Lie algebras are isomorphic in GAP? For example, GAP has IsNilpotentLieAlgebra to check whether a Lie algebra is nilpotent. Is there a similar function named like AreIsomorphicLieAlgebras to check whether L1 and L2 are isomorphic or not?

First I present two nilpotent Lie algebras as follows:

SCTL:=EmptySCTable(6,0,"antisymmetric");;
SetEntrySCTable( SCTL,1,2,[1,3]);
SetEntrySCTable( SCTL,1,3,[1,4]);
SetEntrySCTable( SCTL,1,4,[1,5]);;
SetEntrySCTable( SCTL,2,3,[1,5]);;
H:=LieAlgebraByStructureConstants(Rationals,SCTL);

and

SCTL:=EmptySCTable(6,0,"antisymmetric");;
SetEntrySCTable( SCTL,1,2,[1,3]);
SetEntrySCTable( SCTL,1,3,[1,4]);
SetEntrySCTable( SCTL,1,4,[1,5]);;
S:=LieAlgebraByStructureConstants(Rationals,SCTL);

but trying to call IsomorphismLieAlgebras(H, S); I get an following error

Error, Variable: 'IsomorphismLieAlgebras' must have a value

Now I know answer of this question for nilpotent Lie algebras of dimension at most 6 by using LieAlgDB package.

I don't know about nilpotent Lie algebras of dimension 7 or 8.

I have two Lie algebras of domension 8. See L : [x1, x2] = [x3, x4] = x6, [x1, x5] = [x2, x3] = x7, [x1, x7] = [x2, x4] = [x4, x5] = [x6, x3] = x8, and K : [x1, x2] = [x3, x4] = x6, [x1, x5] = [x2, x3] = x7, [x1, x7] = [x6, x3] = [x2, x4] = x8. Are L and L1 isomporphic?

1

There are 1 best solutions below

3
On

The two Lie algebras in question are not isomorphic. This can be verified using LieAlgebraIdentification from the LieAlgDB package. This function works for solvable Lie algebras of dimension 2,3, or 4, and for nilpotent Lie algebras of dimension 5 or 6 (see its documentation here).

gap> SCTL:=EmptySCTable(6,0,"antisymmetric");;
gap> SetEntrySCTable( SCTL,1,2,[1,3]);
gap> SetEntrySCTable( SCTL,1,3,[1,4]);
gap> SetEntrySCTable( SCTL,1,4,[1,5]);;
gap> SetEntrySCTable( SCTL,2,3,[1,5]);;
gap> H:=LieAlgebraByStructureConstants(Rationals,SCTL);
<Lie algebra of dimension 6 over Rationals>
gap> SCTL:=EmptySCTable(6,0,"antisymmetric");;
gap> SetEntrySCTable( SCTL,1,2,[1,3]);
gap> SetEntrySCTable( SCTL,1,3,[1,4]);
gap> SetEntrySCTable( SCTL,1,4,[1,5]);;
gap> S:=LieAlgebraByStructureConstants(Rationals,SCTL);
<Lie algebra of dimension 6 over Rationals>
gap> LoadPackage("LieAlgDB");
─────────────────────────────────────────────────────────────────────────────
Loading  LieAlgDB 2.2 (A library of Lie algebras)
by Serena Cicalò ([email protected]),
   Willem de Graaf (http://www.science.unitn.it/~degraaf), and
   Csaba Schneider (http://www.mat.ufmg.br/~csaba/).
Homepage: https://gap-packages.github.io/liealgdb/
─────────────────────────────────────────────────────────────────────────────
true
gap> LieAlgebraIdentification(H);
rec( isomorphism := CanonicalBasis( <Lie algebra of dimension 
    6 over Rationals> ) -> [ v.1, v.2, v.3, v.4, v.5, v.6 ], 
  name := "N6_6( Rationals )", parameters := [  ] )
gap> LieAlgebraIdentification(S);
rec( isomorphism := CanonicalBasis( <Lie algebra of dimension 
    6 over Rationals> ) -> [ v.1, v.2, v.3, v.4, v.5, v.6 ], 
  name := "N6_7( Rationals )", parameters := [  ] )

The name component in the output is different for H and S.