We give a commented session of the Macaulay2 calculations used in Section 4.3 to find a linear space whose intersection with the symplectic Grassmannian is the genus 9 balanced K3 carpet.
In Representation Theory, Section 17.1, Fulton and Harris remark that the weights of the irreducible representation \(V_9\) lie on the vertices and midpoints of the faces of a cube in the basis given by \(L_1,L_2,L_3\). (Note that in contrast, the LieAlgebraRepresentations package generally works in the basis given by the fundamental dominant weights \(\omega_i\).)
We create this list of points and check that a cleverly chosen projection yields a set containing nine equally spaced points.
Macaulay2, version 1.25.11
Type "help" to see useful commands
i1 : cube = {{1,1,1},{1,1,-1},{1,-1,1},{1,-1,-1}, {-1,1,1},{-1,1,-1},{-1,-1,1},{-1,-1,-1}};
i2 : octahedron = {{1,0,0},{0,1,0},{0,0,1},{-1,0,0},{0,-1,0},{0,0,-1}};
i3 : V9weights = join(cube,octahedron);
i4 : dot = (v,w) -> sum apply(#v, i -> (v_i)*(w_i));
i5 : apply(V9weights, v -> dot(v,{3,2,1}))
o5 = {6, 4, 2, 0, 0, -2, -4, -6, 3, 2, 1, -3, -2, -1}
o5 : List
i6 : sort oo
o6 = {-6, -4, -3, -2, -2, -1, 0, 0, 1, 2, 2, 3, 4, 6}
o6 : List
We wish to choose hyperplanes that will make this multiset match the weights of the \(\mathbb{G}_m\) action on the K3 carpet. Our basis of \(V_9\) is as follows.
\[
\mathscr{B} = \{ e_{123}, e_{234},e_{134}-e_{235},-e_{124}-e_{236},
-e_{135},e_{125}-e_{136}, e_{126}, e_{156}, e_{146}-e_{256},
-e_{145}-e_{356}, -e_{246}, e_{245}-e_{346},e_{345},e_{456}\}.
\]
Here we write \(e_{i_{1}i_{2}i_{3}}\) for the wedge product \(e_{i_1} \wedge e_{i_2} \wedge e_{i_3}\).
We compute the weights of the \(\mathfrak{sp}(6)\) action on this basis, in the basis of fundamental dominant weights \(\omega_i\).
i7 : -- Match this to my coordinates
needsPackage("LieAlgebraRepresentations");
i8 : sp6=simpleLieAlgebra("C",3);
i9 : Std = standardRepresentation(sp6);
i10 : Stdwts = representationWeights(Std)
o10 = {{1, 0, 0}, {-1, 1, 0}, {0, -1, 1}, {-1, 0, 0}, {1, -1, 0}, {0, 1, -1}}
o10 : List
i11 : myBasisFirstSubscripts = {{1, 2, 3}, {2, 3, 4}, {1, 3, 4}, {1, 2, 4}, {1, 3, 5}, {1, 2, 5}, {1, 2, 6}, {1, 5, 6}, {1, 4, 6}, {1, 4, 5}, {2, 4, 6}, {2, 4, 5}, {3, 4, 5}, {4, 5, 6}};
i12 : myBasisWtsD = apply(myBasisFirstSubscripts, s -> sum apply(s, i -> Stdwts_(i-1)))
o12 = {{0, 0, 1}, {-2, 0, 1}, {0, -1, 1}, {-1, 1, 0}, {2, -2, 1}, {1, 0, 0}, {0, 2, -1}, {2, 0, -1}, {0, 1, -1}, {1, -1, 0}, {-2, 2, -1}, {-1, 0, 0}, {0, -2, 1}, {0, 0, -1}}
o12 : List
We want to write these weights in the basis \(L_1,L_2,L_3\) instead. Fulton and Harris give the change of basis formula \(\omega_i=L_1+\cdots+L_i\). We compute the weights of our basis of \(V_9\) in the \(L_i\) basis and then their projections onto the line through \((3,2,1)\).
i13 : DtoL = v -> {v_0+v_1+v_2,v_1+v_2,v_2}
o13 = DtoL
o13 : FunctionClosure
i14 : myBasisWtsL = apply(myBasisWtsD, v -> DtoL v)
o14 = {{1, 1, 1}, {-1, 1, 1}, {0, 0, 1}, {0, 1, 0}, {1, -1, 1}, {1, 0, 0}, {1, 1, -1}, {1, -1, -1}, {0, 0, -1}, {0, -1, 0}, {-1, 1, -1}, {-1, 0, 0}, {-1, -1, 1}, {-1, -1, -1}}
o14 : List
i15 : set(myBasisWtsL)===set(V9weights)
o15 = true
i16 : apply(myBasisWtsL, v -> dot(v,{3,2,1}))
o16 = {6, 0, 1, 2, 2, 3, 4, 0, -1, -2, -2, -3, -4, -6}
o16 : List
We need to kill the weights that map to \(\pm 6\), and
choose one-dimensional subspaces of the weights that map to \(\pm 2\), which
have dimension two each. This implies that we should set \(z_0 = z_{13}=0\) and introduce one hyperplane supported on \(z_3\) and \(z_4\), and another hyperplane supported on \(z_9\) and \(z_{10}\). We also reorder the coordinates so that the weights will appear in increasing order. These considerations lead us to search for a homomorphism of the following form.
\[
\begin{array}{lcrclcr}
z_0 &\mapsto& 0 & \qquad & z_7 &\mapsto& c_7a_4\\
z_1 &\mapsto& c_1a_5 && z_8 &\mapsto & c_8a_3\\
z_2 &\mapsto& c_2 a_6 && z_9 &\mapsto & c_9a_2\\
z_3 &\mapsto& c_3 a_7 && z_{10} &\mapsto & c_{10}a_2\\
z_4 &\mapsto& c_4a_7 && z_{11} &\mapsto & c_{11}a_1\\
z_5 &\mapsto& c_5a_8 && z_{12} &\mapsto & c_{12} a_0\\
z_6 &\mapsto& c_6 a_9 && z_{13} &\mapsto & 0
\end{array}
\]
Next, we obtain the equations for the balanced K3 carpet of genus 9 using the package K3Carpets by Eisenbud and Schreyer. We map these to a ring with variables \(a_0,\ldots,a_9.\)
i17 : loadPackage("K3Carpets");
i18 : X44 = carpet(4,4,Characteristic=>0);
o18 : Ideal of QQ[x ..x , y ..y ]
0 4 0 4
i19 : S = QQ[a_0..a_9];
i20 : f = map(S,ring(X44),gens S);
o20 : RingMap S <-- QQ[x ..x , y ..y ]
0 4 0 4
i21 : X44a = flatten entries gens f(X44);
i22 : print toString X44a
{a_1^2-a_0*a_2, a_1*a_2-a_0*a_3, a_2^2-a_1*a_3, a_1*a_3-a_0*a_4, a_2*a_3-a_1*a_4, a_3^2-a_2*a_4, a_2*a_5-2*a_1*a_6+a_0*a_7, a_3*a_5-2*a_2*a_6+a_1*a_7, a_4*a_5-2*a_3*a_6+a_2*a_7, a_2*a_6-2*a_1*a_7+a_0*a_8, a_3*a_6-2*a_2*a_7+a_1*a_8, a_4*a_6-2*a_3*a_7+a_2*a_8, a_2*a_7-2*a_1*a_8+a_0*a_9, a_3*a_7-2*a_2*a_8+a_1*a_9, a_4*a_7-2*a_3*a_8+a_2*a_9, a_6^2-a_5*a_7, a_6*a_7-a_5*a_8, a_7^2-a_6*a_8, a_6*a_8-a_5*a_9, a_7*a_8-a_6*a_9, a_8^2-a_7*a_9}
We check that the balanced K3 carpet of genus 9 has a \(\mathbb{G}_m\) action with weights \(-4,-3,-2,-1,0,0,1,2,3,4\). To do this, we map to a new polynomial ring whose coefficient ring is the fraction field with variable \(t\).
i23 : CT = frac(QQ[t,Degrees=>{0}]);
i24 : T = CT[b_0..b_9];
i25 : fST = map(T,S,gens T);
o25 : RingMap T <-- S
i26 : X44b = ideal apply(X44a, i -> fST(i));
o26 : Ideal of T
i27 : f = map(T,T,diagonalMatrix({t^-4,t^-3,t^-2,t^-1,1,1,t,t^2,t^3,t^4}));
o27 : RingMap T <-- T
i28 : f(X44b)==X44b
o28 = true
Next, we study the image of the equations of the symplectic
Grassmannian \(\operatorname{SpGr}(3,6)\) under a homomorphism of the
form described above.
i29 : R=QQ[z_0..z_13];
i30 : CS = QQ[c_0..c_13,Degrees=>apply(14, i -> 0)];
i31 : S=CS[a_0..a_9];
i32 : cvec = {c_0, c_1, c_2, c_3, c_4, c_5, c_6, c_7, c_8, c_9, c_10, c_11, c_12, c_13};
i33 : avec = {0,a_5,a_6,a_7,a_7,a_8,a_9,a_4,a_3,a_2,a_2,a_1,a_0,0};
i34 : f = map(S,R,apply(#cvec, i -> cvec_i*avec_i))
o34 = map (S, R, {0, c a , c a , c a , c a , c a , c a , c a , c a , c a , c a , c a , c a , 0})
1 5 2 6 3 7 4 7 5 8 6 9 7 4 8 3 9 2 10 2 11 1 12 0
o34 : RingMap S <-- R
i35 : I1 = {-z_5^2+z_4*z_6-z_0*z_7, z_3*z_5-z_2*z_6-z_0*z_8, -z_3*z_4+z_2*z_5-z_0*z_9, -z_3^2+z_1*z_6-z_0*z_10, z_2*z_3-z_1*z_5-z_0*z_11, -z_2^2+z_1*z_4-z_0*z_12};
i36 : I2 = {-z_11^2+z_10*z_12-z_1*z_13, z_9*z_11-z_8*z_12-z_2*z_13, -z_9*z_10+z_8*z_11-z_3*z_13, -z_9^2+z_7*z_12-z_4*z_13, z_8*z_9-z_7*z_11-z_5*z_13, -z_8^2+z_7*z_10-z_6*z_13};
i37 : I3 = {z_1*z_7+z_2*z_8+z_3*z_9-z_0*z_13, z_1*z_8+z_2*z_10+z_3*z_11, z_1*z_9+z_2*z_11+z_3*z_12, z_2*z_7+z_4*z_8+z_5*z_9, z_2*z_8+z_4*z_10+z_5*z_11-z_0*z_13, z_2*z_9+z_4*z_11+z_5*z_12, z_3*z_7+z_5*z_8+z_6*z_9, z_3*z_8+z_5*z_10+z_6*z_11, z_3*z_9+z_5*z_11+z_6*z_12-z_0*z_13};
i38 : L1 = flatten {I1,I2,I3};
i39 : for i in L1 do print toString(f(i)) << endl
-c_5^2*a_8^2+c_4*c_6*a_7*a_9
c_3*c_5*a_7*a_8-c_2*c_6*a_6*a_9
-c_3*c_4*a_7^2+c_2*c_5*a_6*a_8
-c_3^2*a_7^2+c_1*c_6*a_5*a_9
c_2*c_3*a_6*a_7-c_1*c_5*a_5*a_8
-c_2^2*a_6^2+c_1*c_4*a_5*a_7
-c_11^2*a_1^2+c_10*c_12*a_0*a_2
c_9*c_11*a_1*a_2-c_8*c_12*a_0*a_3
-c_9*c_10*a_2^2+c_8*c_11*a_1*a_3
-c_9^2*a_2^2+c_7*c_12*a_0*a_4
c_8*c_9*a_2*a_3-c_7*c_11*a_1*a_4
-c_8^2*a_3^2+c_7*c_10*a_2*a_4
c_1*c_7*a_4*a_5+c_2*c_8*a_3*a_6+c_3*c_9*a_2*a_7
c_1*c_8*a_3*a_5+c_2*c_10*a_2*a_6+c_3*c_11*a_1*a_7
c_1*c_9*a_2*a_5+c_2*c_11*a_1*a_6+c_3*c_12*a_0*a_7
c_2*c_7*a_4*a_6+c_4*c_8*a_3*a_7+c_5*c_9*a_2*a_8
c_2*c_8*a_3*a_6+c_4*c_10*a_2*a_7+c_5*c_11*a_1*a_8
c_2*c_9*a_2*a_6+c_4*c_11*a_1*a_7+c_5*c_12*a_0*a_8
c_3*c_7*a_4*a_7+c_5*c_8*a_3*a_8+c_6*c_9*a_2*a_9
c_3*c_8*a_3*a_7+c_5*c_10*a_2*a_8+c_6*c_11*a_1*a_9
c_3*c_9*a_2*a_7+c_5*c_11*a_1*a_8+c_6*c_12*a_0*a_9
We compare the images of these quadrics it to the quadrics defining the balanced K3 carpet of genus 9. With a little work, we can rewrite the K3 carpet equations so that the monomial supports match.
i40 : X44a = {a_1^2-a_0*a_2, a_1*a_2-a_0*a_3, a_2^2-a_1*a_3, a_1*a_3-a_0*a_4, a_2*a_3-a_1*a_4, a_3^2-a_2*a_4, a_2*a_5-2*a_1*a_6+a_0*a_7, a_3*a_5-2*a_2*a_6+a_1*a_7, a_4*a_5-2*a_3*a_6+a_2*a_7, a_2*a_6-2*a_1*a_7+a_0*a_8, a_3*a_6-2*a_2*a_7+a_1*a_8, a_4*a_6-2*a_3*a_7+a_2*a_8, a_2*a_7-2*a_1*a_8+a_0*a_9, a_3*a_7-2*a_2*a_8+a_1*a_9, a_4*a_7-2*a_3*a_8+a_2*a_9, a_6^2-a_5*a_7, a_6*a_7-a_5*a_8, a_7^2-a_6*a_8, a_6*a_8-a_5*a_9, a_7*a_8-a_6*a_9, a_8^2-a_7*a_9};
i41 : L2= {X44a_20, X44a_19, X44a_17, X44a_17+X44a_18, X44a_16, X44a_15, X44a_0, X44a_1, X44a_2, X44a_2+X44a_3, X44a_4, X44a_5, X44a_8, X44a_7, X44a_6, X44a_11, X44a_10, X44a_9, X44a_14, X44a_13, X44a_12};
i42 : ideal(X44a)==ideal(L2)
o42 = true
i43 : all(#L1, i -> monomials(f(L1)_i)==monomials(L2_i))
o43 = true
i44 : for i from 0 to 20 do (print concatenate(toString(L1_i)," & ",toString(f(L1_i))," & ",toString(L2_i))<< endl)
-z_5^2+z_4*z_6-z_0*z_7 & -c_5^2*a_8^2+c_4*c_6*a_7*a_9 & a_8^2-a_7*a_9
z_3*z_5-z_2*z_6-z_0*z_8 & c_3*c_5*a_7*a_8-c_2*c_6*a_6*a_9 & a_7*a_8-a_6*a_9
-z_3*z_4+z_2*z_5-z_0*z_9 & -c_3*c_4*a_7^2+c_2*c_5*a_6*a_8 & a_7^2-a_6*a_8
-z_3^2+z_1*z_6-z_0*z_10 & -c_3^2*a_7^2+c_1*c_6*a_5*a_9 & a_7^2-a_5*a_9
z_2*z_3-z_1*z_5-z_0*z_11 & c_2*c_3*a_6*a_7-c_1*c_5*a_5*a_8 & a_6*a_7-a_5*a_8
-z_2^2+z_1*z_4-z_0*z_12 & -c_2^2*a_6^2+c_1*c_4*a_5*a_7 & a_6^2-a_5*a_7
-z_11^2+z_10*z_12-z_1*z_13 & -c_11^2*a_1^2+c_10*c_12*a_0*a_2 & a_1^2-a_0*a_2
z_9*z_11-z_8*z_12-z_2*z_13 & c_9*c_11*a_1*a_2-c_8*c_12*a_0*a_3 & a_1*a_2-a_0*a_3
-z_9*z_10+z_8*z_11-z_3*z_13 & -c_9*c_10*a_2^2+c_8*c_11*a_1*a_3 & a_2^2-a_1*a_3
-z_9^2+z_7*z_12-z_4*z_13 & -c_9^2*a_2^2+c_7*c_12*a_0*a_4 & a_2^2-a_0*a_4
z_8*z_9-z_7*z_11-z_5*z_13 & c_8*c_9*a_2*a_3-c_7*c_11*a_1*a_4 & a_2*a_3-a_1*a_4
-z_8^2+z_7*z_10-z_6*z_13 & -c_8^2*a_3^2+c_7*c_10*a_2*a_4 & a_3^2-a_2*a_4
z_1*z_7+z_2*z_8+z_3*z_9-z_0*z_13 & c_1*c_7*a_4*a_5+c_2*c_8*a_3*a_6+c_3*c_9*a_2*a_7 & a_4*a_5-2*a_3*a_6+a_2*a_7
z_1*z_8+z_2*z_10+z_3*z_11 & c_1*c_8*a_3*a_5+c_2*c_10*a_2*a_6+c_3*c_11*a_1*a_7 & a_3*a_5-2*a_2*a_6+a_1*a_7
z_1*z_9+z_2*z_11+z_3*z_12 & c_1*c_9*a_2*a_5+c_2*c_11*a_1*a_6+c_3*c_12*a_0*a_7 & a_2*a_5-2*a_1*a_6+a_0*a_7
z_2*z_7+z_4*z_8+z_5*z_9 & c_2*c_7*a_4*a_6+c_4*c_8*a_3*a_7+c_5*c_9*a_2*a_8 & a_4*a_6-2*a_3*a_7+a_2*a_8
z_2*z_8+z_4*z_10+z_5*z_11-z_0*z_13 & c_2*c_8*a_3*a_6+c_4*c_10*a_2*a_7+c_5*c_11*a_1*a_8 & a_3*a_6-2*a_2*a_7+a_1*a_8
z_2*z_9+z_4*z_11+z_5*z_12 & c_2*c_9*a_2*a_6+c_4*c_11*a_1*a_7+c_5*c_12*a_0*a_8 & a_2*a_6-2*a_1*a_7+a_0*a_8
z_3*z_7+z_5*z_8+z_6*z_9 & c_3*c_7*a_4*a_7+c_5*c_8*a_3*a_8+c_6*c_9*a_2*a_9 & a_4*a_7-2*a_3*a_8+a_2*a_9
z_3*z_8+z_5*z_10+z_6*z_11 & c_3*c_8*a_3*a_7+c_5*c_10*a_2*a_8+c_6*c_11*a_1*a_9 & a_3*a_7-2*a_2*a_8+a_1*a_9
z_3*z_9+z_5*z_11+z_6*z_12-z_0*z_13 & c_3*c_9*a_2*a_7+c_5*c_11*a_1*a_8+c_6*c_12*a_0*a_9 & a_2*a_7-2*a_1*a_8+a_0*a_9
We write equations in the variables \(c_i\) that ensure each pair of quadrics are scalar multiples of each other.
i45 : cEquations = (F,G) -> (
S:=coefficientRing(ring(F));
mList:=flatten entries monomials(F);
R1:=apply(mList, i -> coefficient(i,F));
R2:=apply(mList, i -> coefficient(i,G));
M := matrix {R1,R2};
apply(#mList-1, i -> lift(det(M_{0,i+1}),S))
);
i46 : cEq = flatten apply(#L1, i -> cEquations(f(L1_i),L2_i));
i47 : print toString cEq
{c_5^2-c_4*c_6, -c_3*c_5+c_2*c_6, c_3*c_4-c_2*c_5, c_3^2-c_1*c_6, -c_2*c_3+c_1*c_5, c_2^2-c_1*c_4, c_11^2-c_10*c_12, -c_9*c_11+c_8*c_12, c_9*c_10-c_8*c_11, c_9^2-c_7*c_12, -c_8*c_9+c_7*c_11, c_8^2-c_7*c_10, -2*c_1*c_7-c_2*c_8, c_1*c_7-c_3*c_9, -2*c_1*c_8-c_2*c_10, c_1*c_8-c_3*c_11, -2*c_1*c_9-c_2*c_11, c_1*c_9-c_3*c_12, -2*c_2*c_7-c_4*c_8, c_2*c_7-c_5*c_9, -2*c_2*c_8-c_4*c_10, c_2*c_8-c_5*c_11, -2*c_2*c_9-c_4*c_11, c_2*c_9-c_5*c_12, -2*c_3*c_7-c_5*c_8, c_3*c_7-c_6*c_9, -2*c_3*c_8-c_5*c_10, c_3*c_8-c_6*c_11, -2*c_3*c_9-c_5*c_11, c_3*c_9-c_6*c_12}
We use the ideal \(I\) generated by these equations to define an affine variety \(\Gamma\), and
study it.
i48 : R=QQ[c_1..c_12,d_1..d_12]
o48 = R
o48 : PolynomialRing
i49 : I = ideal {c_5^2-c_4*c_6, -c_3*c_5+c_2*c_6, c_3*c_4-c_2*c_5, c_3^2-c_1*c_6, -c_2*c_3+c_1*c_5, c_2^2-c_1*c_4, c_11^2-c_10*c_12, -c_9*c_11+c_8*c_12, c_9*c_10-c_8*c_11, c_9^2-c_7*c_12, -c_8*c_9+c_7*c_11, c_8^2-c_7*c_10, -2*c_1*c_7-c_2*c_8, c_1*c_7-c_3*c_9, -2*c_1*c_8-c_2*c_10, c_1*c_8-c_3*c_11, -2*c_1*c_9-c_2*c_11, c_1*c_9-c_3*c_12, -2*c_2*c_7-c_4*c_8, c_2*c_7-c_5*c_9, -2*c_2*c_8-c_4*c_10, c_2*c_8-c_5*c_11, -2*c_2*c_9-c_4*c_11, c_2*c_9-c_5*c_12, -2*c_3*c_7-c_5*c_8, c_3*c_7-c_6*c_9, -2*c_3*c_8-c_5*c_10, c_3*c_8-c_6*c_11, -2*c_3*c_9-c_5*c_11, c_3*c_9-c_6*c_12,c_1*d_1-1,c_2*d_2-1,c_3*d_3-1,c_4*d_4-1,c_5*d_5-1,c_6*d_6-1,c_7*d_7-1,c_8*d_8-1,c_9*d_9-1,c_10*d_10-1,c_11*d_11-1,c_12*d_12-1};
o49 : Ideal of R
i50 : dim I
o50 = 4
i51 : radI = radical I;
o51 : Ideal of R
i52 : radI==I
o52 = true
i53 : pdI = primaryDecomposition(I);
i54 : #pdI
o54 = 1
We intersect \(\Gamma\) with some hyperplanes to obtain a point on \(\Gamma\).
i55 : J = I + ideal {c_1-1,c_2-1,c_11-1,c_12-1};
o55 : Ideal of R
i56 : dim J
o56 = 0
i57 : print toString sort flatten entries mingens J
{d_12-1, d_11-1, d_2-1, d_1-1, c_12-1, c_11-1, c_10-1, 2*c_9+1, 2*c_8+1, 4*c_7-1, 4*c_6-1, 2*c_5+1, c_4-1, 2*c_3+1, c_2-1, c_1-1, c_10*d_10-1, c_9*d_9-1, c_8*d_8-1, c_7*d_7-1, c_6*d_6-1, c_5*d_5-1, c_4*d_4-1, c_3*d_3-1, 2*c_9*c_10+1, 2*c_5*c_10+1, c_4*c_10-1, 4*c_9^2-1, 4*c_8*c_9-1, 4*c_5*c_9-1, 4*c_3*c_9-1, c_8^2-c_7*c_10, c_5*c_8+2*c_6*c_9, 2*c_4*c_8+1, 4*c_3*c_8-1, c_3*c_7-c_6*c_9, c_5^2-c_4*c_6, 4*c_3*c_5-1, 2*c_3*c_4+1, 4*c_3^2-1}
Since the first 16 equations are linear, we can easily solve for the values of \(c_1,\ldots,c_{12}\). We obtain the values \(1, 1, -1/2, 1, -1/2, 1/4, 1/4, -1/2, -1/2, 1, 1, 1\).
Finally, we check that we have constructed a homomorphism with the desired properties.
i58 : -- Check the homomorphism
R = QQ[z_0..z_13];
i59 : I1 = {-z_5^2+z_4*z_6-z_0*z_7, z_3*z_5-z_2*z_6-z_0*z_8, -z_3*z_4+z_2*z_5-z_0*z_9, -z_3^2+z_1*z_6-z_0*z_10, z_2*z_3-z_1*z_5-z_0*z_11, -z_2^2+z_1*z_4-z_0*z_12};
i60 : I2 = {-z_11^2+z_10*z_12-z_1*z_13, z_9*z_11-z_8*z_12-z_2*z_13, -z_9*z_10+z_8*z_11-z_3*z_13, -z_9^2+z_7*z_12-z_4*z_13, z_8*z_9-z_7*z_11-z_5*z_13, -z_8^2+z_7*z_10-z_6*z_13};
i61 : I3 = {z_1*z_7+z_2*z_8+z_3*z_9-z_0*z_13, z_1*z_8+z_2*z_10+z_3*z_11, z_1*z_9+z_2*z_11+z_3*z_12, z_2*z_7+z_4*z_8+z_5*z_9, z_2*z_8+z_4*z_10+z_5*z_11-z_0*z_13, z_2*z_9+z_4*z_11+z_5*z_12, z_3*z_7+z_5*z_8+z_6*z_9, z_3*z_8+z_5*z_10+z_6*z_11, z_3*z_9+z_5*z_11+z_6*z_12-z_0*z_13};
i62 : I = ideal flatten {I1,I2,I3};
o62 : Ideal of R
i63 : S = QQ[a_0..a_9];
i64 : X44a = {a_1^2-a_0*a_2, a_1*a_2-a_0*a_3, a_2^2-a_1*a_3, a_1*a_3-a_0*a_4, a_2*a_3-a_1*a_4, a_3^2-a_2*a_4, a_2*a_5-2*a_1*a_6+a_0*a_7, a_3*a_5-2*a_2*a_6+a_1*a_7, a_4*a_5-2*a_3*a_6+a_2*a_7, a_2*a_6-2*a_1*a_7+a_0*a_8, a_3*a_6-2*a_2*a_7+a_1*a_8, a_4*a_6-2*a_3*a_7+a_2*a_8, a_2*a_7-2*a_1*a_8+a_0*a_9, a_3*a_7-2*a_2*a_8+a_1*a_9, a_4*a_7-2*a_3*a_8+a_2*a_9, a_6^2-a_5*a_7, a_6*a_7-a_5*a_8, a_7^2-a_6*a_8, a_6*a_8-a_5*a_9, a_7*a_8-a_6*a_9, a_8^2-a_7*a_9};
i65 : J = ideal X44a;
o65 : Ideal of S
i66 : cvec = {0,1, 1, -1/2, 1, -1/2, 1/4, 1/4, -1/2, -1/2, 1, 1, 1,0};
i67 : avec = {0,a_5,a_6,a_7,a_7,a_8,a_9,a_4,a_3,a_2,a_2,a_1,a_0,0};
i68 : psi = map(S,R,apply(#cvec, i -> cvec_i*avec_i));
o68 : RingMap S <-- R
i69 : psi(I)==J
o69 = true