Before listing the functions of Sophus we present a sample calculation to show the reader what Sophus is able to compute. We list the isomorphism types of the 7-dimensional nilpotent Lie algebras over \(\mathbb F_2\).
There is just one nilpotent Lie algebra with dimension 1 and dimension 2. We also set L3 to be a list containing the abelian Lie algebra with dimension 3.
gap> L1 := [ AbelianLieAlgebra( GF(2), 1 ) ];; gap> L2 := [ AbelianLieAlgebra( GF(2), 2 ) ];; gap> L3 := [ AbelianLieAlgebra( GF(2), 3 ) ];;
Any 3-dimensional non-abelian nilpotent Lie algebra is an immediate descendant of a 2-dimensional Lie algebra. So we compute the step-1 descendants of L1[1] and append them to L3.
gap> Append( L3, Descendants( L2[1], 1 )); gap> L3; [ <Lie algebra of dimension 3 over GF(2)>, <Lie algebra of dimension 3 over GF(2)> ]
Now we compute the list of 4-dimensional Lie algebras. First we set L4 to contain the 4-dimensional abelian Lie algebra. Then we compute the step-1 descendants of the 3-dimensional algebras and append these descendants to L4.
gap> L4 := [ AbelianLieAlgebra( GF(2), 4 ) ];; gap> for i in L3 do Append( L4, Descendants( i, 1 )); od; gap> L4; [ <Lie algebra of dimension 4 over GF(2)>, <Lie algebra of dimension 4 over GF(2)>, <Lie algebra of dimension 4 over GF(2)> ]
We continue this way up to dimension~7.
gap> L5 := [ AbelianLieAlgebra( GF(2), 5 ) ];; gap> for i in L3 do Append( L5, Descendants( i, 2 )); od; gap> for i in L4 do Append( L5, Descendants( i, 1 )); od; gap> L6 := [ AbelianLieAlgebra( GF(2), 6 ) ];; gap> for i in L3 do Append( L6, Descendants( i, 3 )); od; gap> for i in L4 do Append( L6, Descendants( i, 2 )); od; gap> for i in L5 do Append( L6, Descendants( i, 1 )); od; gap> L7 := [ AbelianLieAlgebra( GF(2), 6 ) ];; gap> for i in L4 do Append( L7, Descendants( i, 3 )); od; gap> for i in L5 do Append( L7, Descendants( i, 2 )); od; gap> for i in L6 do Append( L7, Descendants( i, 1 )); od; gap> Length( L7 ); 202
This computation shows that there are 202 pairwise non-isomorphic nilpotent Lie algebras over \(\mathbb F_2\).
Let us compute the automorphism group of a nilpotent Lie algebra from our list. We compute this automorphism group in the hybrid format used by Sophus, then we compute this group as a standard GAP object.
gap> AutomorphismGroupOfNilpotentLieAlgebra( L7[100] ); rec( agAutos := [ Aut: [ v.1, v.1+v.2, v.3, v.4, v.5, v.5+v.6, v.7 ], Aut: [ v.1, v.2+v.3, v.3, v.4, v.5, v.6, v.7 ], Aut: [ v.1+v.3, v.2, v.3, v.4+v.5, v.5, v.6+v.7, v.7 ], Aut: [ v.1+v.4, v.2, v.3+v.5, v.4+v.6, v.5+v.7, v.6+v.7, v.7 ], Aut: [ v.1, v.2+v.4, v.3, v.4+v.5, v.5, v.6+v.7, v.7 ], Aut: [ v.1+v.5, v.2, v.3, v.4+v.7, v.5, v.6, v.7 ], Aut: [ v.1, v.2+v.5, v.3, v.4, v.5, v.6, v.7 ], Aut: [ v.1+v.6, v.2, v.3, v.4+v.7, v.5, v.6, v.7 ], Aut: [ v.1, v.2+v.6, v.3, v.4+v.7, v.5, v.6, v.7 ], Aut: [ v.1+v.7, v.2, v.3, v.4, v.5, v.6, v.7 ], Aut: [ v.1, v.2+v.7, v.3, v.4, v.5, v.6, v.7 ], Aut: [ v.1, v.2, v.3+v.7, v.4, v.5, v.6, v.7 ] ], agOrder := [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], field := GF(2), glAutos := [ ], glOper := [ ], glOrder := 1, liealg := <Lie algebra of dimension 7 over GF(2)>, one := Aut: [ v.1, v.2, v.3, v.4, v.5, v.6, v.7 ], prime := 2, size := 4096 ) gap> gap> AutomorphismGroup( L7[100] ); <group with 12 generators>
Finally let us check that two Lie algebras from our list are not isomorphic.
gap> AreIsomorphicNilpotentLieAlgebras( L7[100], L7[100] ); true gap> AreIsomorphicNilpotentLieAlgebras( L7[100], L7[101] ); false
generated by GAPDoc2HTML