The homogeneous space \(X_{10}\) is the adjoint variety of \(G_2\). We use an algorithm due to Lichtenstein to compute its equations.
The main theorem in Lichtenstein's 1982 paper says that the equations we seek are obtained by setting \( \operatorname{Cas}(f) = kf\), where \(f\) is a degree 2 tensor, \( \operatorname{Cas}\) is the Casimir operator, and \(k =\langle 2 \lambda + 2 \rho, 2 \lambda\rangle\).
For \( \mathfrak{g}_2\), the adjoint representation has highest weight \( \omega_2\), or \((0,1)\) in the basis \(\{\omega_1,\omega_2\}\). Thus \( \langle 2 \lambda + 2 \rho, 2 \lambda\rangle = \langle 2 (0,1) + 2 (1,1), 2 (0,1)\rangle\). In the Macaualay2 session below, we compute this value to be 20.
Macaulay2, version 1.26.05
Type "help" to see useful commands
i1 : needsPackage("LieAlgebraRepresentations");
i2 : g2 = simpleLieAlgebra("G",2);
i3 : V01 = irreducibleLieAlgebraModule(g2,{0,1});
i4 : killingForm(g2,2*{0,1}+2*{1,1},2*{0,1})
o4 = 20
o4 : QQ
Next we construct the Casimir operator on the tensor square of the adjoint representation.
i5 : rhoV01 = adjointRepresentation(g2);
i6 : rhoT2V01 = rhoV01**rhoV01;
i7 : Cas = casimirOperator(rhoT2V01);
196 196
o7 : Matrix QQ <-- QQ
i8 : Cas==transpose Cas
o8 = false
We compute the ideal of equations of the form \(
\operatorname{Cas}(f) = kf\).
i9 : Id = matrix apply(numrows Cas, i -> apply(numrows Cas, j -> if i==j then 1 else 0/1));
196 196
o9 : Matrix QQ <-- QQ
i10 : LAB = rhoV01#"Basis";
i11 : S= ring(first(LAB#"BasisElements"))
o11 = G2ring
o11 : PolynomialRing
i12 : B2 = flatten apply(14, i -> apply(14, j -> S_i*S_j));
i13 : I = ideal((Cas-20*Id)*(transpose matrix {B2}));
o13 : Ideal of G2ring
i14 : L = flatten entries mingens I;
i15 : print toString(L)<<endl
{Y_4^2+Y_3*Y_5-Y_1*Y_6, Y_3*Y_4+Y_2*Y_5+2*H_1*Y_6-H_2*Y_6, Y_1*Y_4-H_1*Y_5+H_2*Y_5+X_2*Y_6, H_1*Y_4+X_1*Y_5+X_3*Y_6, Y_3^2-Y_2*Y_4+X_1*Y_6, Y_1*Y_3-H_2*Y_4-X_1*Y_5-2*X_3*Y_6, H_1*Y_3-X_1*Y_4-X_4*Y_6, Y_1*Y_2-H_2*Y_3+X_1*Y_4+2*X_4*Y_6, H_1*Y_2-X_1*Y_3-X_5*Y_6, Y_1^2+X_2*Y_4-X_3*Y_5, X_1*Y_1+X_3*Y_3+X_4*Y_4, H_2*Y_1+X_2*Y_3+2*X_3*Y_4-X_4*Y_5, H_1*Y_1+X_3*Y_4-X_4*Y_5, X_4^2+X_3*X_5-X_1*X_6, X_3*X_4+X_2*X_5+2*H_1*X_6-H_2*X_6, X_1*X_4-H_1*X_5+H_2*X_5+X_6*Y_2, H_1*X_4+X_5*Y_1+X_6*Y_3, X_3^2-X_2*X_4+X_6*Y_1, X_1*X_3-H_2*X_4-X_5*Y_1-2*X_6*Y_3, H_1*X_3-X_4*Y_1-X_6*Y_4, X_1*X_2-H_2*X_3+X_4*Y_1+2*X_6*Y_4, H_1*X_2-X_3*Y_1-X_6*Y_5, X_1^2+X_4*Y_2-X_5*Y_3, H_2*X_1+X_3*Y_2+2*X_4*Y_3-X_5*Y_4, H_1*X_1+X_4*Y_3-X_5*Y_4, H_2^2+X_2*Y_2+3*X_3*Y_3+3*X_4*Y_4+X_5*Y_5+4*X_6*Y_6, H_1*H_2+X_3*Y_3+2*X_4*Y_4+X_5*Y_5+2*X_6*Y_6, H_1^2+X_4*Y_4+X_5*Y_5+X_6*Y_6}
Next, we test that these equations are invariant under some elements of \(G_2\), and that they vanish on the orbit of the highest weight vector.
We load a useful function and change the coefficient ring.
i16 : eval = (p,f) -> (
R:=ring(f);
CR:=coefficientRing(R);
lift(substitute(f, apply(numgens R, i -> R_i=>p_i)),CR)
);
i17 : L = rhoV01#"RepresentationMatrices";
i18 : R=frac(QQ[c,t,Degrees=>{0,0}]);
i19 : S = R[H_1,H_2,X_1,X_2,X_3,X_4,X_5,X_6,Y_1,Y_2,Y_3,Y_4,Y_5,Y_6];
i20 : G2AdjVar = ideal {Y_4^2+Y_3*Y_5-Y_1*Y_6,
Y_3*Y_4+Y_2*Y_5+2*H_1*Y_6-H_2*Y_6,
Y_1*Y_4-H_1*Y_5+H_2*Y_5+X_2*Y_6,
H_1*Y_4+X_1*Y_5+X_3*Y_6,
Y_3^2-Y_2*Y_4+X_1*Y_6,
Y_1*Y_3-H_2*Y_4-X_1*Y_5-2*X_3*Y_6,
H_1*Y_3-X_1*Y_4-X_4*Y_6,
Y_1*Y_2-H_2*Y_3+X_1*Y_4+2*X_4*Y_6,
H_1*Y_2-X_1*Y_3-X_5*Y_6,
Y_1^2+X_2*Y_4-X_3*Y_5,
X_1*Y_1+X_3*Y_3+X_4*Y_4,
H_2*Y_1+X_2*Y_3+2*X_3*Y_4-X_4*Y_5,
H_1*Y_1+X_3*Y_4-X_4*Y_5,
X_4^2+X_3*X_5-X_1*X_6,
X_3*X_4+X_2*X_5+2*H_1*X_6-H_2*X_6,
X_1*X_4-H_1*X_5+H_2*X_5+X_6*Y_2,
H_1*X_4+X_5*Y_1+X_6*Y_3,
X_3^2-X_2*X_4+X_6*Y_1,
X_1*X_3-H_2*X_4-X_5*Y_1-2*X_6*Y_3,
H_1*X_3-X_4*Y_1-X_6*Y_4,
X_1*X_2-H_2*X_3+X_4*Y_1+2*X_6*Y_4,
H_1*X_2-X_3*Y_1-X_6*Y_5,
X_1^2+X_4*Y_2-X_5*Y_3,
H_2*X_1+X_3*Y_2+2*X_4*Y_3-X_5*Y_4,
H_1*X_1+X_4*Y_3-X_5*Y_4,
H_2^2+X_2*Y_2+3*X_3*Y_3+3*X_4*Y_4+X_5*Y_5+4*X_6*Y_6,
H_1*H_2+X_3*Y_3+2*X_4*Y_4+X_5*Y_5+2*X_6*Y_6,
H_1^2+X_4*Y_4+X_5*Y_5+X_6*Y_6};
o20 : Ideal of S
We construct some elements of
\(G_2\). See TestInvarianceGenus10.htm
for more discussion.
i21 : G2elementsa = apply(2, i -> diagonalMatrix(apply(14, j ->t^(lift((L_i)_(j,j),ZZ)))));
i22 : truncatedMatrixExponential = (n,M) -> sum apply(n, i -> M^i/(i!));
i23 : G2elementsb = apply(toList(2..13), i -> truncatedMatrixExponential(4,c*(L_i)));
i24 : G2elements = join(G2elementsa,G2elementsb);
We check that the ideal of the \(G_2\) adjoint variety is invariant
under the actions of these elements.
i25 : G2elementmaps = apply(G2elements, g -> map(S,S,transpose g));
i26 : all(G2elementmaps, F -> F(G2AdjVar)==G2AdjVar)
o26 = true
The highest weight vector in the adjoint representation is \(X_6\). We
check that the quadrics we computed vanish on this point, and on its
orbit under the elements of \(G_2\) we computed.
i27 : p = apply(14, i -> if i==7 then 1 else 0);
i28 : all(flatten entries gens G2AdjVar, f -> eval(p,f)==0)
o28 = true
i29 : gps = apply(G2elements, g -> flatten entries(g*(transpose matrix {p})));
i30 : all(gps, x -> all(flatten entries gens G2AdjVar, f -> eval(x,f)==0))
o30 = true
Some of the elements of \(G_2\) used above fix the point \(p\). For an
additional test, we construct a random element of \(G_2\) and test
that our quadrics vanish at the image of the point under this element.
i31 : c = {-6, 5, -1, -9, 9, 4, -7, 8, 10, -4, 6, -5, -10, -8};
i32 : G2elementsa = apply(2, i -> diagonalMatrix(apply(14, j ->(c_i)^(lift((L_i)_(j,j),ZZ)))));
i33 : G2elementsb = apply(toList(2..13), i -> truncatedMatrixExponential(4,c_i*(L_i)));
i34 : G2elements = join(G2elementsa,G2elementsb);
i35 : g = product G2elements
o35 = | -60647 47088 -102555 133294 -532649 686846 341125 238302 -12678 -5630 -1057 -2710 577 -145 |
| -87720 67325 -146547 188068 -750207 966051 480892 338981 -17469 -7629 -438 -2988 613 -155 |
| -360036 1258956/5 -547488 2939832/5 -12099492/5 3271176 8490816/5 4955256/5 -28872 -124992/5 53388/5 3060 -4284/5 1044/5 |
| -7510325/36 3890525/27 -2821075/9 71255425/216 -97683125/72 132105925/72 68849975/72 60359675/108 -177725/12 -2855725/216 639475/72 290675/72 -223675/216 1525/6 |
| 1281140 -1728495/2 5636200/3 -3752735/2 23338255/3 -63934235/6 -16864960/3 -6265255/2 57155 223520/3 -408365/6 -118825/3 19385/2 -4785/2 |
| -8841468 5812536 -12624942 11870922 -49642290 68943060 36885048 19540026 -155130 -459336 581820 390474 -93522 23142 |
| -226371672/5 136743984/5 -296436024/5 217838376/5 -189976104 1403677512/5 794603952/5 330623208/5 15174864/5 -7456536/5 4738176 19236528/5 -4492368/5 1114992/5 |
| -55985430 40294385 -87674280 100634695 -407638275 538541715 275067305 176245935 -6772770 -3995345 1492725 27285 -44245 9715 |
| -65365/18 2250 -175625/36 70705/18 -33515/2 432955/18 120025/9 226175/36 5045/36 -1175/9 2155/6 835/3 -590/9 65/4 |
| 1967976/25 -1251072/25 2714472/25 -2326752/25 9902088/25 -14107608/25 -7711632/25 -3691224/25 -38232/25 90504/25 -152928/25 -114696/25 1080 -6696/25 |
| 62556/5 -41592/5 18066 -17424 363378/5 -502332/5 -53448 -143886/5 1746/5 696 -3636/5 -2316/5 558/5 -138/5 |
| 11765/6 -4003/3 2900 -8846/3 73235/6 -100015/6 -8760 -29593/6 619/6 120 -275/3 -295/6 73/6 -3 |
| -11125/36 23395/108 -33925/72 13775/27 -150665/72 101375/36 315025/216 187345/216 -635/24 -2275/108 725/72 55/18 -185/216 5/24 |
| 6 -48/5 21 -248/5 924/5 -210 -91 -504/5 48/5 2 3 18/5 -4/5 1/5 |
14 14
o35 : Matrix QQ <-- QQ
i36 : gp =flatten entries(g*(transpose matrix {p}))
4955256 60359675 6265255 330623208 226175 3691224 143886 29593 187345 504
o36 = {238302, 338981, -------, --------, - -------, 19540026, ---------, 176245935, ------, - -------, - ------, - -----, ------, - ---}
5 108 2 5 36 25 5 6 216 5
o36 : List
i37 : all(flatten entries gens G2AdjVar, f -> eval(gp,f)==0)
o37 = true