# # file: tori-skryabin.gap # # purpose: Perform computations with the toral elements of the Skryabin algebra # described in the text # "On simple 15-dimensional Lie algebras in characteristic 2". # # created: Pasha Zusmanovich Mar 18 2021 # Read ("skryabin.gap"); # defines the Skryabin algebra L and its 2-envelope L2 # over GF(2) Read ("tori.gap"); Read ("meataxe.gap"); # v - element of a vector space # B - basis of this vector space # names - names for elemenmts of the basis # print a string expressing v as a linear combination of B as names print_elem := function (v, B, names) local coef, i, list, toadd; coef := Coefficients (B, v); list := []; for i in [1 .. Length(B)] do if (IsZero (coef[i])) then continue; elif (IsOne (coef[i])) then toadd := names[i]; else toadd := Concatenation (String (coef[i]), names[i]); fi; Add (list, toadd); od; Print (JoinStringsWithSeparator (list, " + ")); end; # get toral elements in the 2-envelope of the Skryabin algebra over GF(2) toral_elem := ToralElements (L2); # for each toral element, prints: # toral element; the dimension of its centralizer; # whether the centralizer is simple or not, and if simple, the dimension of # its derivation algebra, its absolute toral rank, and the basis num_simples := 0; num_atr2 := 0; num_atr3 := 0; for t in toral_elem do print_elem (t, bas, basis_names); Print ("\n"); A := Intersection (L, LieCentralizer (L2, Subspace (L2, [t]))); Print (Dimension (A), " "); if (MeataxeIsCentralSimple (A)) then num_simples := num_simples + 1; D := Derivations (Basis (A)); tt := AbelianSubalgebrasMaxDim (D, ToralElements (D), false); atr := Length (tt[1]); if (atr = 2) then num_atr2 := num_atr2 + 1; elif (atr = 3) then num_atr3 := num_atr3 + 1; fi; Print ("simple ", Dimension (D), " ", atr, "\n"); for b in (CanonicalBasis (A)) do print_elem (b, bas, basis_names); Print ("\n"); od; else Print ("not simple\n"); fi; Print ("===============================================================\n"); od; # find all 4-dimensional tori in the 2-envelope of the Skryabin algebra over # GF(2) tori := AbelianSubalgebrasMaxDim (L2, toral_elem, true); # check whether each 4-dimensional torus is a Cartan subalgebra, # and whether the decomposotion with respect to it is thin CheckTori (L, L2, toral_elem, tori); # eof