next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MatFacCurvesP4 :: verifyAssertionsOfThePaper

verifyAssertionsOfThePaper -- print commands to verify the assertions of the paper

Synopsis

Description

The function prints all the commands which are useful to check the assertions made in the paper.

If the input is 0, all the commands are printed. Otherwise, depending on the input n between 1 and 8, the function prints the commands concerning particular assertions in the paper, as listed below:

0: all the assertions

1: Proposition 2.1

2: Theorem 3.1, Remark 3.4, Corollary 3.5

3: Example 4.1

4: Proposition 4.2

5: Proposition 4.4

6: Theorem 5.1, Section 5.2

7: Table 5.2

8: Theorem 5.2

Every entry above is a hyperlink which leads to a file showing the execution on Macaulay2 of the corresponding commands, which can be used to preview the results of the computations and see what the output should look like.

Warning: the code altogether might require some time to run. For instance, on our machine it amounted to a little more than 5 hours

i1 : verifyAssertionsOfThePaper(0)

///
------------------------------------------------------------------
-- Proposition 2.1                                              --
-- Expected Betti tables of a general curve of genus 12 and     --
-- degree 14                                                    --
------------------------------------------------------------------
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4]; -- homogeneous coordinate ring of P4
-- We construct a curve C of genus 12 and degree 14 using
-- Algorithm 4.6 
time IC=randomCurveGenus12Degree14InP4(S); -- takes 13 sec
-- C is smooth of the right genus and degree
(codim IC, genus IC, degree IC) == (3, 12, 14)
isSmoothCurve(IC)
-- C and its section module have expected Betti table
betti res IC
omegaC=Ext^2(IC,S^{ -5}); -- canonical module of C
fomega=res omegaC;
sM=S^{ -5}**coker transpose fomega.dd_3;
betti res sM
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
betti res prune(sM**(S/X))
///


///
------------------------------------------------------------------
-- Theorem 3.1, Remark 3.4, Corollary 3.5                       --
-- For each pair (g,d), we construct a matrix factorization of  --
-- the given shape giving rise to monads and smooth curves as   --
-- claimed in Theorem 3.1                                       --
-- For (g,d)=(12,14) or (13,15) we show that a general matrix   --
-- factorization has a component with kernel of the expected    --
-- dimension, giving thus rise to monads parameterized by a     --
-- rational variety. We show that the general monad produces a  --
-- smooth curve of the right genus and degree, providing hence  --
-- a proof of Remark 3.4 and Corollary 3.5                      --
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4]; -- homogeneous coordinate ring of P4
--
---------- (g,d) = (12,14) ---------------------------------------
-- We construct a matrix factorization starting from a nodal
-- curve, as explained in Corollary 3.5
time singC=singularCurveInP4(S,12,14); -- takes 4 sec
-- We check that the curve is singular in P4:
isSmoothCurve(singC) == false
-- time codim(singularLocus(singC)) == 4 -- takes about 90 sec
omegaSingC=Ext^2(singC,S^{ -5}); -- canonical module of C
fomegaSing=res omegaSingC;
sM=S^{ -5}**coker transpose fomegaSing.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the cubic
-- threefold X of the correct shape: ker phi = image psi 
prune ((ker psi) / (image phi)) == 0
-- and phi is the presentation of a MCM module over S
betti res (coker psi ** S)
betti psi
-- We check that the dimension of the kernel of the last row
-- of the Betti table of psi is 5, i.e., the expected one
betti syz((psi_{2..16})^{15,16},DegreeLimit=>2)
-- We construct the curve C
monadShape=betti map(S^{2:-1},S^{2:-1,2:-2},0);
IC=idealFromMatFac(psi, monadShape);
-- We check that C is a smooth curve of genus 12 and degree 14
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 12, 14)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{ -5}); -- canonical module of C
fomega=res omegaC;
sM=S^{ -5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{-3}));
betti res (sM**(S/Y)) -- non-minimal resolution
betti res prune (sM**(S/Y)) -- expected resolution
--
---------- (g,d) = (13,15) ---------------------------------------
-- We construct a matrix factorization starting from a nodal
-- curve, as explained in Corollary 3.5
time singC=singularCurveInP4(S,13,15); -- takes 3 sec
-- We check that the curve is singular in P4:
isSmoothCurve(singC) == false
-- time codim(singularLocus(singC)) == 4 -- takes about 379 sec
omegaSingC=Ext^2(singC,S^{ -5}); -- canonical module of C
fomegaSing=res omegaSingC;
sM=S^{ -5}**coker transpose fomegaSing.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the cubic
-- threefold X of the correct shape: ker phi = image psi 
prune ((ker psi) / (image phi)) == 0
-- and phi is the presentation of a MCM module over S
betti res (coker psi ** S)
betti psi
-- We check that the dimension of the kernel of the last row
-- of the Betti table of psi is 3, i.e., the expected one
betti syz((psi_{3..20})^{18,19,20},DegreeLimit=>2)
-- We construct the curve C
monadShape=betti map(S^{3:-1},S^{3:-1,2:-2},0);
IC=idealFromMatFac(psi, monadShape);
-- We check that C is a smooth curve of genus 13 and degree 15
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 13, 15)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{1:-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{ -5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{1:-3}));
betti res (sM**(S/Y)) -- non-minimal resolution
betti res prune (sM**(S/Y)) -- expected resolution
--
---------- (g,d) = (16,17) ---------------------------------------
-- We construct a matrix factorization starting from a curve on
-- the Alexander surface Y, as explained in Section 5.2
time alexC=first curveOnAlexanderSurface(S,16,17); -- takes 23 sec
omegaAlexC=Ext^2(alexC,S^{1:-5}); -- canonical module of C
fomegaAlex=res omegaAlexC;
sM=S^{1:-5}**coker transpose fomegaAlex.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the 
-- quartic threefold X of the correct shape: ker phi = image psi 
time prune ((ker psi) / (image phi)) == 0 -- takes 31 sec
-- and phi is the presentation of a MCM module  
betti res (coker psi ** S)
-- We construct the curve C
monadShape=betti map(S^{4:-2},S^{3:-2,1:-1},0);
time IC=idealFromMatFac(psi, monadShape); -- takes 434 sec
-- We check that C is a smooth curve of genus 13 and degree 15
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 16, 17)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{1:-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{-4}));
betti res (sM**(S/Y)) -- expected resolution
--
---------- (g,d) = (17,18) ---------------------------------------
-- We construct a matrix factorization starting from a curve on
-- the Alexander surface Y, as explained in Section 5.2
time alexC=first curveOnAlexanderSurface(S,17,18); -- takes 25 sec
omegaAlexC=Ext^2(alexC,S^{-5}); -- canonical module of C
fomegaAlex=res omegaAlexC;
sM=S^{1:-5}**coker transpose fomegaAlex.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the 
-- quartic threefold X of the correct shape: ker phi = image psi 
time prune ((ker psi) / (image phi)) == 0 -- takes 148 sec
-- and phi is the presentation of a MCM module  
betti res (coker psi ** S)
-- We construct the curve C
monadShape=betti map(S^{5:-2},S^{3:-2,2:-1},0);
time IC=idealFromMatFac(psi, monadShape); -- takes 1134 sec
-- We check that C is a smooth curve of genus 13 and degree 15
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 17, 18)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{-4}));
betti res (sM**(S/Y)) -- expected resolution
--
---------- (g,d) = (18,19) ---------------------------------------
-- We construct a matrix factorization starting from a curve on
-- the Alexander surface Y, as explained in Section 5.2
time alexC=first curveOnAlexanderSurface(S,18,19); -- takes 23 sec
omegaAlexC=Ext^2(alexC,S^{-5}); -- canonical module of C
fomegaAlex=res omegaAlexC;
sM=S^{1:-5}**coker transpose fomegaAlex.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the 
-- quartic threefold X of the correct shape: ker phi = image psi 
time prune ((ker psi) / (image phi)) == 0 -- takes 437 sec
-- and phi is the presentation of a MCM module  
betti res (coker psi ** S)
-- We construct the curve C
monadShape=betti map(S^{6:-2},S^{3:-2,3:-1},0);
time IC=idealFromMatFac(psi, monadShape); -- takes 2227 sec
-- We check that C is a smooth curve of genus 13 and degree 15
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 18, 19)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{-4}));
betti res (sM**(S/Y)) -- expected resolution
--
---------- (g,d) = (19,20) ---------------------------------------
-- We construct a matrix factorization starting from a curve on
-- the Alexander surface Y, as explained in Section 5.2
time alexC=first curveOnAlexanderSurface(S,19,20); -- takes 22 sec
omegaAlexC=Ext^2(alexC,S^{-5}); -- canonical module of C
fomegaAlex=res omegaAlexC;
sM=S^{1:-5}**coker transpose fomegaAlex.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the 
-- quartic threefold X of the correct shape: ker phi = image psi 
time prune ((ker psi) / (image phi)) == 0 -- takes 1125 sec
-- and phi is the presentation of a MCM module  
betti res (coker psi ** S)
-- We construct the curve C
monadShape=betti map(S^{7:-2},S^{3:-2,4:-1},0);
time IC=idealFromMatFac(psi, monadShape); -- takes 4721 sec
-- We check that C is a smooth curve of genus 13 and degree 15
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 19, 20)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{-4}));
betti res (sM**(S/Y)) -- expected resolution
--
---------- (g,d) = (20,20) ---------------------------------------
-- We construct a matrix factorization starting from a curve on
-- the Alexander surface Y, as explained in Section 5.2
time alexC=first curveOnAlexanderSurface(S,20,20); -- takes 22 sec
omegaAlexC=Ext^2(alexC,S^{-5}); -- canonical module of C
fomegaAlex=res omegaAlexC;
sM=S^{1:-5}**coker transpose fomegaAlex.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
X=ideal ring phi;
codim X, degree X
-- We cheack that (phi,psi) is a matrix factorization on the 
-- quartic threefold X of the correct shape: ker phi = image psi 
time prune ((ker psi) / (image phi)) == 0 -- takes 7 sec
-- and phi is the presentation of a MCM module  
betti res (coker psi ** S)
-- We construct the curve C
monadShape=betti map(S^{6:-2},S^{4:-2},0);
time IC=idealFromMatFac(psi, monadShape); -- takes 3522 sec
-- We check that C is a smooth curve of genus 13 and degree 15
-- of maximal rank. We check also that the Betti table of its
-- section module is as expected over S and over the ring of
-- a general supporting cubic threefold
(codim IC, genus IC, degree IC) == (3, 20, 20)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
betti res sM
gIE=gens IC;     
Y=ideal(gIE * random(source gIE,S^{-4}));
betti res (sM**(S/Y)) -- expected resolution
///


///
------------------------------------------------------------------
-- Example 4.1                                                  --
-- List of candidate Betti tables giving rise to matrix         --
-- factorizations of shape 15  2                                --
--                          2 15                                --
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4];
beta=betti map(S^{15:0,2:-1,0:-2},S^{2:-1,15:-2,0:-3},0)
d=3;
-- The following method produces the list of all tables lying in 
-- the Boij-Soederberg cone giving rise to a matrix             
-- factorization of the desired shape, assuming that no         
-- cancellation occurs. To speed up computations, the functions
-- looks for tables with projective dimension at most 4.                                        
-- The function automatically takes care of the transposed      
-- shape, as well as of the shape of the syzygy map and its     
-- transposed.
-- 
-- 
time bCands=candidateTables(beta,d); -- takes 2 sec
-- If we look for Betti tables of modules of projective         
-- dimension at 5, i.e., modules with the irrelevant ideal
-- associated, we can run    
time bCandsIrr=candidateTablesWithIrrelevantIdealAssociated(beta,d); -- takes 28 sec
--
-- It is reasonable to assume that all the cancellations which  
-- are possible will occur. As a general philosophy, matrix     
-- factorizations with the maximum number of cancellations      
-- are expected to be easier to construct. We remark that some  
-- of the cancellations cannot occur because of the Shamash     
-- construction.                                        
-- Therefore, we can filter the previous list by asking that    
-- the arising matrix factorization has the fixed shape 15  2   
--                                                       2 15,  
-- supposing that all the cancellations which are possible do   
-- occur.           
--                                              
possibleShapes=listOfPossibleMatFac(beta,d);
bCandsMaxCan=select(bCands,B->(
arMatFac:=arisingMatFac(B,d);
any(possibleShapes,s->s==arMatFac)));
#bCandsMaxCan
--
-- We get a list of 13 candidate Betti tables for which no      
-- cancellation is tolerated. We cannot find the Betti table of 
-- the section module of a general curve of genus 12 and degree 
-- 14 as, in that specific case, we had one cancellation.       
--
-- In the same line of thought, we can look for candidate Betti 
-- tables whose induced non-minimal matrix factorization has    
-- shape  1                                                     
--       15 2                                                   
--        2 16           
--                                      
beta'=betti map(S^{1:1,15:0,2:-1,0:-2},S^{2:-1,16:-2,0:-3},0)
time bCands'=candidateTables(beta',d); -- takes 9 sec
--
-- and filter them according to the expected minimal matrix     
-- factorization they may give rise to, which has to coincide   
-- with 15  2                                                   
--       2 15
--                                                      
bCandsMaxCan'=select(bCands',B->(
arMatFac:=arisingMatFac(B,d);
any(possibleShapes,s->s==arMatFac)));
--
-- Among them, we find the Betti table of the section module    
-- of a general curve of genus 12 and degree 14              
--   
bCandsMaxCan'_9
--
-- Another possibility is to use the shape  .  1                
--                                         16  2                
--                                          2 15 
--              
beta''=betti map(S^{0:1,16:0,2:-1,0:-2},S^{1:-0,2:-1,15:-2},0)
time bCands''=candidateTables(beta'',d); -- takes 10 sec
bCandsMaxCan''=select(bCands'',B->(
arMatFac:=arisingMatFac(B,d);
any(possibleShapes,s->s==arMatFac)));
--
-- Among them, we find the Betti table exhibited in Example 4.1
--
bCandsMaxCan''_2
///


///
------------------------------------------------------------------
-- Proposition 4.2                                              --
-- A general curve of genus 10 and degree 13 has expected Betti --
-- table, and the matrix factorization it induces on a general  --
-- supporting cubic threefold leads to a smooth curve of genus  --
-- 12 and degree 14                                             --
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4];
-- We construct IE according to the first part of Algorithm 4.6
IE=randomCurveGenus10Degree13InP4(S);
-- We check that IE is a smooth curve of genus 10 and degree 13
-- with the expected Betti table
(codim IE, genus IE, degree IE) == (3,10,13)
isSmoothCurve(IE)
betti res IE
-- We compute a matrix factorization on a supporting cubic      
-- threefold we construct a curve via the correspondence in the 
-- paper
(phi,psi)=matrixFactorizationFromModule(IE);
betti psi
monadShape=betti map(S^{2:-1},S^{2:-1,2:-2},0);
IC=idealFromMatFac(psi,monadShape);
-- The curve we produced is smooth of the right genus and       
-- codimension                                                  
(codim IC, genus IC, degree IC) == (3,12,14)
isSmoothCurve(IC)
betti res IC
///


///
------------------------------------------------------------------
-- Proposition 4.4                                              --
-- A general matrix factorization of shape 15  2                --
--                                          2 15                --
-- and a general choice of the quotient q yield a smooth curve  --
-- of genus 10 and degree 13                                    -- 
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4];
time IC=randomCurveGenus12Degree14InP4(S); -- takes 11 sec
omegaC=Ext^2(IC,S^{-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
(psi,phi)=matrixFactorizationFromModule(sM);
-- We choose a quotient q as in Proposition 4.4
SX=ring phi;                 
A1=((psi_{0,1}))^{0..14};
A2=syz transpose A1;
q=transpose(A2*random(source A2, SX^{4:0}));
q*A1==0
-- q is a generally chosen quotient. We verify that the complex in
-- Proposition 4.4 is a locally free resolution:
incl=id_(source A1)||map(source q,source A1,0);
alpha=inducedMap(target(q++id_(S^{2:-1})),coker phi,(q++id_(S^{2:-1}))*psi);
beta=inducedMap(coker phi,source A1,incl);
prune(ker(alpha)/image(beta)) == 0
-- exactness in F is verified
prune ker(beta) == 0
-- exactness in O_X^2(-4) is verified too.
-- We compute the ideal of the resulting curve with respect to SX
-- and the ideal on S
hom=Hom(coker ((q++id_(S^{2:-1}))*psi_{2..16}),SX);
f=homomorphism hom_{0};
ICX = ann coker f;
pr=map(SX,S);
IC=preimage(pr,ICX);
-- We check that IC is a smooth curve of genus 10 and degree 13
betti res IC
(codim IC, genus IC, degree IC)==(3,10,13)
isSmoothCurve(IC)
///


///
------------------------------------------------------------------
-- Theorem 5.1, Section 5.2                                     --
-- Using auxiliary curves Z to construct curves C               --
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4];
H={13,4,4,4,4,4,4,4,4,4,4}; -- the hyperplane class on Y
(Y,pts)=alexanderSurface(S);
-- we assume here that (g,d)=(16,17)
Z={31,10,10,10,10,10,10,9,9,9,9}
time IZ=properTransformAlexander(S,Z,pts); -- takes 25 sec
N=auxiliarLineBundle(Y,IZ);
betti res N -- the expected Betti table
(phi,psi)=matrixFactorizationFromModule(N);
betti dual psi
monadShape=betti map(S^{4:-2},S^{3:-2,1:-1},0)
time IC=idealFromMatFac(dual psi, monadShape); -- takes 358 sec
-- We check that C has all the desired properties
(codim IC, genus IC, degree IC) == (3, 16, 17)
isSmoothCurve(IC)
betti res IC -- expected Betti table
omegaC=Ext^2(IC,S^{-5}); -- canonical module of C
fomega=res omegaC;
sM=S^{1:-5}**coker transpose fomega.dd_3;
betti res sM
gIC=gens IC;
betti res (sM**(S/(ideal(gIC * random(source gIC,S^{-4}))))) -- expected resolution
-- We check whether Y intersection X = C U Z
X=ideal ring psi;
YpX=Y+X;
CiZ=intersect(IZ,IC);
saturate YpX == CiZ -- true
///


///
------------------------------------------------------------------
-- Table 5.2                                                    --
-- The linear systems reported in Table 5.2 yield curve of the  --
-- desired genus and degree on the Alexander surface            --
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4];
-- We construct the Alexander surface Y
time (Y,pts)=alexanderSurface(S); -- takes 9 sec
-- For every linear system listed in Table 5.2, we compute the
-- proper transform on Y
(g,d)=(16,17)
L=linSysAlexander(g,d)
time IC=properTransformAlexander(S,L,pts); -- takes 17 sec
(codim IC, genus IC, degree IC) == (3,g,d)
isSmoothCurve(IC)
betti res IC
--
(g,d)=(17,18)
L=linSysAlexander(g,d)
time IC=properTransformAlexander(S,L,pts); -- takes 19 sec
(codim IC, genus IC, degree IC) == (3,g,d)
isSmoothCurve(IC)
betti res IC
--
(g,d)=(18,19)
L=linSysAlexander(g,d)
time IC=properTransformAlexander(S,L,pts); -- takes 13 sec
(codim IC, genus IC, degree IC) == (3,g,d)
isSmoothCurve(IC)
betti res IC
--
(g,d)=(19,20)
L=linSysAlexander(g,d)
time IC=properTransformAlexander(S,L,pts); -- takes 15 sec
(codim IC, genus IC, degree IC) == (3,g,d)
isSmoothCurve(IC)
betti res IC
--
(g,d)=(20,20)
L=linSysAlexander(g,d)
time IC=properTransformAlexander(S,L,pts); -- takes 15 sec
(codim IC, genus IC, degree IC) == (3,g,d)
isSmoothCurve(IC)
betti res IC
///


///
------------------------------------------------------------------
-- Theorem 5.2                                                      --
-- We compute h^1(N), where N is the normal sheaf of a curve C  --
-- with respect to a general supporting threefold of minimal    --
-- degree, and we check that it is zero for the general C       --
------------------------------------------------------------------
--
p=32009; -- a prime number
Fp=ZZ/p; -- a prime field
S=Fp[x_0..x_4];
-- (g,d)=(12,14)
IC=randomCurveGenus12Degree14InP4(S);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 13 sec
-- (g,d)=(13,15)
IC=curveGenus13Degree15InP4(S);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 161 sec
-- (g,d)=(16,17)
(g,d)=(16,17);
IC=first curveOnAlexanderSurface(S,g,d);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 1089 sec 
-- (g,d)=(17,18)
(g,d)=(17,18);
IC=first curveOnAlexanderSurface(S,g,d);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 1239 sec
-- (g,d)=(18,19)
(g,d)=(18,19);
IC=first curveOnAlexanderSurface(S,g,d);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 435 sec
-- (g,d)=(19,20)
(g,d)=(19,20);
IC=first curveOnAlexanderSurface(S,g,d);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 362 sec
-- (g,d)=(20,20)
(g,d)=(20,20);
IC=first curveOnAlexanderSurface(S,g,d);
gIC=gens IC;     
X=ideal(gIC * random(source gIC,S^{-min(degrees source gIC)}));
time h1NormalBundle(IC,X) == 0 -- takes 242 sec
///


o1 = (, , , , , , , )

o1 : Sequence

Ways to use verifyAssertionsOfThePaper :