+ M2 Macaulay2, version 1.15
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases,
PrimaryDecomposition, ReesAlgebra, TangentCone, Truncations
i1 :
load "UnirationalPointedCurves.m2"
i2 : 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 : 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 <
i12 : C'=kernel phi;
o12 : Ideal of R
i13 : (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 : 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 : (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 : isOrdDoublePointsPn(C',D)
o23 = true
i24 : time betti Ext^1(D,R^{-4})
0 1
o24 = total: 4 9
-1: 3 .
0: 1 9
o24 : BettiTally
i25 :