Fordham
    University

Finding a linear space yielding the genus 9 balanced K3 carpet

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