+ M2 --no-readline --print-width 98
Macaulay2, version 1.15
--loading configuration for package "FourTiTwo" from file /home/ubuntuasus/.Macaulay2/init-FourTiTwo.m2
--loading configuration for package "Topcom" from file /home/ubuntuasus/.Macaulay2/init-Topcom.m2
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases,
               PrimaryDecomposition, ReesAlgebra, TangentCone, Truncations

i1 : 
     ---------------------------------------------
     -- Theorem 3.8: Unirationality of M_{13,3}
     ---------------------------------------------
     load "UnirationalPointedCurves.m2"

i2 : -- We start from a general canonical curve of genus 10.
     p=32009;

i3 : Fp=ZZ/p;

i4 : S=Fp[y_0..y_9];

i5 : needsPackage("RandomCanonicalCurves");

i6 : C=(random canonicalCurve)(10,S); 

o6 : Ideal of S

i7 : (genus C==10,degree C==18, codim C==8)

o7 = (true, true, true)

o7 : Sequence

i8 : -- We pick 6 points on C, and compute the Serre dual model which embeds C in P^3.
     pts=intersect for i from 1 to 6 list randomKRationalPoint(C);

o8 : Ideal of S

i9 : R=Fp[x_0..x_3];

i10 : SC=S/C;

i11 : phi=map(SC,R,((gens pts)_{0..3}));

o11 : RingMap SC <--- R

i12 : C'=kernel phi;

o12 : Ideal of R

i13 : -- We check that C' is a smooth genus 10 degree 12 curve in P^3.
      (codim C'==2,degree C'==12, genus C'==10)

o13 = (true, true, true)

o13 : Sequence

i14 : isSmoothPn(C')

o14 = true

i15 : betti res C'

             0 1 2 3
o15 = total: 1 6 9 4
          0: 1 . . .
          1: . . . .
          2: . . . .
          3: . . . .
          4: . 5 . .
          5: . 1 9 4

o15 : BettiTally

i16 : -- It lies on 5 quintic hypersurfaces, so
      -- we can impose the choice of up to 3 general points and perform liasion.
      ptsP3=intersect apply(3,i->ideal random(R^1,R^{3:-1}));

o16 : Ideal of R

i17 : C'pts=intersect(ptsP3,C');

o17 : Ideal of R

i18 : CI=ideal((gens C'pts)_{0,1});

o18 : Ideal of R

i19 : D=saturate(CI:C');

o19 : Ideal of R

i20 : -- D is a smooth curve of genus 13 and degree 13 containing the points.
      (codim D==2, genus D==13, degree D==13)

o20 = (true, true, true)

o20 : Sequence

i21 : isSmoothPn(D)

o21 = true

i22 : isSubset(D,ptsP3)

o22 = true

i23 : -- We verify that C' and D intersect only in ordinary double points.
      isOrdDoublePointsPn(C',D)

o23 = true

i24 : -- We check that the our genus 13 curve lies on the component
      -- of W^3_{13,13} dominating M_13.
      time betti Ext^1(D,R^{-4})
     -- used 0.0583426 seconds

             0 1
o24 = total: 4 9
         -1: 3 .
          0: 1 9

o24 : BettiTally

i25 : -- No linear relation among the generators of Gamma_*(omega_D).