Fordham
    University

Computer calculations for "Some singular curves in Mukai's model of \(\overline{M}_7\)", Section 5

Code 5.2: Equations of the curve \( C_0\)

We start by computing the equations of the trivalent graph curve \(C_0\). For this, our code uses the algorithm of Bayer and Eisenbud in [4, Prop. 3.1].

Here is the file MukaiModelOfM7.m2.txt used in the session below.

Macaulay2, version 1.20
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, Isomorphism, LLLBases,
               MinimalPrimes, OnlineLookup, PrimaryDecomposition, ReesAlgebra, Saturation, TangentCone

i1 : load "../MukaiModelOfM7.m2";

i2 : M0 = matrix {{0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0}, {1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, {0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0}}

o2 = | 0 1 0 0 0 0 0 0 1 1 0 0 |
     | 1 0 1 0 0 0 0 0 0 0 1 0 |
     | 0 1 0 1 0 0 0 0 0 0 0 1 |
     | 0 0 1 0 1 0 0 0 0 1 0 0 |
     | 0 0 0 1 0 1 0 0 0 0 1 0 |
     | 0 0 0 0 1 0 1 0 0 0 0 1 |
     | 0 0 0 0 0 1 0 1 0 1 0 0 |
     | 0 0 0 0 0 0 1 0 1 0 1 0 |
     | 1 0 0 0 0 0 0 1 0 0 0 1 |
     | 1 0 0 1 0 0 1 0 0 0 0 0 |
     | 0 1 0 0 1 0 0 1 0 0 0 0 |
     | 0 0 1 0 0 1 0 0 1 0 0 0 |

              12        12
o2 : Matrix ZZ   <--- ZZ

i3 : -- Enter the basis of five cycles
     -- The columns (before transposing) are labelled by 01,08,09,12,110,23,211,34,39,45,410,56,511,67,69,78,710,811
     Z1G = transpose matrix {
     {1,0,-1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
     {0,0,0,1,-1,1,0,1,0,0,1,0,0,0,0,0,0,0},
     {0,0,0,0,0,1,-1,1,0,1,0,0,1,0,0,0,0,0},
     {0,0,0,0,0,0,0,1,-1,1,0,1,0,0,1,0,0,0},
     {0,0,0,0,0,0,0,0,0,1,-1,1,0,1,0,0,1,0},
     {0,0,0,0,0,0,0,0,0,0,0,1,-1,1,0,1,0,1},
     {0,-1,1,0,0,0,0,0,0,0,0,0,0,1,-1,1,0,0}
     };

              18        7
o3 : Matrix ZZ   <--- ZZ

i4 : I = BEGraphCurveIdealGivenZ1G(M0,Z1G)

                                                                                                                  
o4 = ideal (y y , y y , y y  - y y  + y y , y y , y y , y y  - y y  + y y  - y y , y y , y y  - y y  + y y  - y y 
             2 6   1 6   3 5    4 5    4 6   1 5   0 5   2 4    3 4    4 5    4 6   0 4   1 3    2 3    3 4    4 5
     --------------------------------------------------------------------------------------------------------------
                            2                                                                                 
     + y y , y y  - y y  + y  - y y  + y y  + y y , y y  - y y  + y y  - y y  + y y  - y y , y y y  - y y y  +
        4 6   0 3    2 3    3    4 5    3 6    4 6   0 2    1 2    2 3    3 4    4 5    4 6   3 4 6    4 5 6  
     --------------------------------------------------------------------------------------------------------------
        2   2          2      2 2        2
     y y , y y y  - y y y  - y y  + y y y )
      4 6   4 5 6    4 5 6    4 6    4 5 6

o4 : Ideal of QQ[y ..y ]
                  0   6

i5 : betti res I

            0  1  2  3  4 5
o5 = total: 1 10 16 16 10 1
         0: 1  .  .  .  . .
         1: . 10 16  .  . .
         2: .  .  . 16 10 .
         3: .  .  .  .  . 1

o5 : BettiTally
Next, to find the irreducible components, we compute a primary decomposition of this ideal.
i6 : primaryDecomposition(I)

o6 = {ideal (y , y , y , y , y ), ideal (y , y , y , y , y  - y ), ideal (y , y , y , y  - y , y  - y  + y ), ideal
              6   5   4   3   2           6   5   4   3   0    1           6   5   4   1    2   0    2    3        
     --------------------------------------------------------------------------------------------------------------
     (y , y , y , y , y ), ideal (y , y , y  - y , y  - y  + y , y ), ideal (y , y , y , y , y ), ideal (y , y  -
       6   5   3   2   0           6   5   2    3   1    3    4   0           6   4   3   1   0           6   3  
     --------------------------------------------------------------------------------------------------------------
     y , y  - y  + y , y , y ), ideal (y , y , y , y , y ), ideal (y , y , y , y , y  + y  + y ), ideal (y  - y ,
      4   2    4    5   1   0           5   4   3   2   1           5   4   2   1   0    3    6           5    6 
     --------------------------------------------------------------------------------------------------------------
     y , y , y , y ), ideal (y , y , y , y , y ), ideal (y  - y , y  - y  + y , y , y , y )}
      3   2   1   0           4   3   2   1   0           4    5   3    5    6   2   1   0

o6 : List
We can match each of these components to the vertices of the graph \(G_0\) using the description given in Bayer and Eisenbud's proof [4, Prop. 3.1]: the ideal of the component corresponding to a vertex \(v\) is generated by the set of cocycles whose supports do not contain edges incident to \(v\). We order the components to match the ordering of the vertices and check that this gives the graph \(G_0\).
i7 : L={ideal({y_5,y_4,y_3,y_2,y_1}),
     ideal({y_6,y_5,y_4,y_3,y_2}),
     ideal({y_6,y_5,y_4,y_3,y_0-y_1}),
     ideal({y_6,y_5,y_4,y_1-y_2,y_0-y_2+y_3}),
     ideal({y_6,y_5,y_2-y_3,y_1-y_3+y_4,y_0}),
     ideal({y_6,y_3-y_4,y_2-y_4+y_5,y_1,y_0}),
     ideal({y_4-y_5,y_3-y_5+y_6,y_2,y_1,y_0}),
     ideal({y_5-y_6,y_3,y_2,y_1,y_0}),
     ideal({y_4,y_3,y_2,y_1,y_0}),
     ideal({y_5,y_4,y_2,y_1,y_0+y_3+y_6}),
     ideal({y_6,y_5,y_3,y_2,y_0}),
     ideal({y_6,y_4,y_3,y_1,y_0})};

i8 : computedAdjacencyMatrix = matrix apply(#L, i -> apply(#L, j -> if i==j then 0 else dim(L_i + L_j)))

o8 = | 0 1 0 0 0 0 0 0 1 1 0 0 |
     | 1 0 1 0 0 0 0 0 0 0 1 0 |
     | 0 1 0 1 0 0 0 0 0 0 0 1 |
     | 0 0 1 0 1 0 0 0 0 1 0 0 |
     | 0 0 0 1 0 1 0 0 0 0 1 0 |
     | 0 0 0 0 1 0 1 0 0 0 0 1 |
     | 0 0 0 0 0 1 0 1 0 1 0 0 |
     | 0 0 0 0 0 0 1 0 1 0 1 0 |
     | 1 0 0 0 0 0 0 1 0 0 0 1 |
     | 1 0 0 1 0 0 1 0 0 0 0 0 |
     | 0 1 0 0 1 0 0 1 0 0 0 0 |
     | 0 0 1 0 0 1 0 0 1 0 0 0 |

              12        12
o8 : Matrix ZZ   <--- ZZ

i9 : computedAdjacencyMatrix==M0

o9 = true