next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MatFac15 :: verifyAllAssertionsOfThePaper

verifyAllAssertionsOfThePaper -- print commands to verfy the assertions of the paper

Synopsis

Description

Prints the commands needed to verify the assertions made in the paper Matrix Factorizations and families of curves of genus 15. Now (perhaps with copy and paste), you could run them.
i1 : verifyAllAssertionsOfThePaper()

///

      --------------------------------------------
      -- Proposition 3.1                        --
      --------------------------------------------
      cands=allCandidates(0) -- a pre-computed list
      time cands1=allCandidates(15) -- needs about 26 minutes
      cands1== cands
      #cands
      select(cands,b->degree b == 11)
      select(cands,b->degree b == 13)
      ACMTables=apply(select(cands,b-> codim b==pdim b),b->(codim b,degree b,b))
      #ACMTables==2*6
      ----------------------------------------------------------------
      -- Families and their tangent computation                     --
      ----------------------------------------------------------------
      kk=ZZ/10007
      S=kk[x_0..x_4]
      ----------------------------------------------------------------
      -- Thm 4.1 and part of Prop 5.1 and Cor 5.2                   --
      ----------------------------------------------------------------
      N=constructEx1(S);
      betti (fN= res N)
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,11,10)
      isSmoothCurve sub(E,random(S^1,S^{5:-1}))
      (M0,M1) = matrixFactorizationFromModule(N);
      M=coker M0;
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      time isSmoothCurve C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      X=ideal SX;
      codim ideal jacobian X == 5
      NX=N**SX;
      N'=coker transpose fN.dd_3**S^{ -4};
      betti N'
      betti res NX
      N'X=N'**SX;
      betti res N'X
      tangentKernelDimension(N,M0)==3
      time betti Ext^1(M,NX)  -- used 53.4604 seconds
      --        0   1
      --total: 32 159
      --    0: 32 159
      42==32+10 -- => 42 dimensional tangent space
      time betti truncate(0, Ext^1(N,N)) -- used 11.6519 seconds 
      betti truncate(3,E)
      42+5^2-1-(11-1)==56
      39==42-3 -- 39-dimensional family
      ----------------------------------------------------------------
      -- Thm 4.3 and part of Prop 5.1 and Cor 5.2                   --
      ----------------------------------------------------------------
      N=constructEx2(S);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,11,10)
      (M0,M1) = matrixFactorizationFromModule(N);
      M=coker M0;
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      time isSmoothCurve C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==6
      42==32+10
      time betti Ext^1(NX,NX)      -- used 31.1409 seconds
      --         0   1
      -- total: 32 115
      --     0: 32 113
      --     1:  .   2       
      36==42-6 -- 36-dimensional family
      ----------------------------------------------------------------
      -- Prop 4.4 and part of Prop 5.1 and Cor 5.2                  --
      ----------------------------------------------------------------
      N=constructEx3(S);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,11,10)
      (M0,M1) = matrixFactorizationFromModule(N);
      M=coker M0;
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      isSmoothCurve C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==3
      42==32+10
      time betti tuncate(0,Ext^1(NX,NX))  -- used 45.6245 seconds
      -- => 32+10=42 dimensional 
      39==42-3 -- 39-dimensional family
      ----------------------------------------------------------------
      -- Remark 4.5                                                 --
      ----------------------------------------------------------------
      time tally apply(10,i->betti res constructEx3(S))  -- used 3.42376 seconds  
      ---------------------------------------------------------------
      -- Thm 4.6 and part of Prop 5.1 and Cor 5.2                  --
      ---------------------------------------------------------------
      N=constructEx4(S);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,14,11)
      (M0,M1) = matrixFactorizationFromModule(N);
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      betti res C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      (codim C,degree C,genus C)==(3,16,15)
      isSmoothCurve C
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==0
      time betti truncate(0,Ext^1(NX,NX)) -- used 188.208 seconds
      --         0   1
      -- total: 32 101
      --     0: 32 101
      42==42-0 --=> dominat family
      ----------------------------------------------------------------
      -- Thm 4.7 and part of Prop 5.1 and Cor 5.2                  --
      ----------------------------------------------------------------
      N=constructEx5(S);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,14,15)
      (M0,M1) = matrixFactorizationFromModule(N);
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      isSmoothCurve C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==6
      time betti truncate(0,Ext^1(NX,NX)) -- used 81.1106 seconds
      --
      --        0   1
      --total: 37 127
      --    0: 37 124
      --    1:  .   3
      --
      -- => 47 dimensional generically reduced family
      41==47-6 -- => gives a divisor in M_15
       ----------------------------------------------------------------
      -- Thm 4.8 and part of Prop 4.1 and Cor 4.2                  --
      ----------------------------------------------------------------
      N=constructEx5(S,14);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,14,15)
      (M0,M1) = matrixFactorizationFromModule(N);
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      isSmoothCurve C
      betti res C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==4
      time betti truncate(0,Ext^1(NX,NX))  -- used 204.82 seconds
      --        0   1
      --total: 36 120
      --    0: 36 120
      46==36+10
      -- => 46 dimensional generically reduced family
      42==46-4 -- => dominant family
      ----------------------------------------------------------------
      -- Thm 4.9 and part of Prop 5.1 and Cor 5.2                   --
      ----------------------------------------------------------------
      N=constructEx6(S);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,14,15)
      (M0,M1) = matrixFactorizationFromModule(N);
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      isSmoothCurve C
      betti res C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==7
      time betti truncate(0,Ext^1(NX,NX))  -- used 91.4395 seconds
      --        0   1
      --total: 36 122
      --    0: 36 119
      --    1:  .   3
      46==36+10 
      -- => 46 dimensional generically reduced family
      39==46-7
      ----------------------------------------------------------------
      -- Thm 4.10 and part of Prop 5.1 and Cor 5.2                   --
      ----------------------------------------------------------------
      N=constructEx6(S,14);
      betti res N
      E=annihilator N; betti res E
      (codim E, degree E, genus E)==(3,14,14)
      (M0,M1) = matrixFactorizationFromModule(N);
      betti M0, betti M1
      C=curveFromMatrixFactorization(M0,M1);
      (codim C,degree C,genus C)==(3,16,15)
      isSmoothCurve C
      betti res C
      omegaC=Ext^2(C,S^{ -5});
      betti res omegaC -- => O_C(1) in W^4_{16}(C) is a smooth point.
      SX = ring M0;
      NX=N**SX;
      betti res NX
      tangentKernelDimension(N,M0)==3
      time betti truncate(0,Ext^1(NX,NX))    -- used 70.8162 seconds
      --         0   1
      -- total: 35 115
      --     0: 35 115     
      45==35+10 
      -- => 45 dimensional generically reduced family
      42==45-3 -- => a dominant family
      ---------------------------------------------------------
      -- The proof of Prop. 5.1 and Cor. 5.2 in now complete --
      ---------------------------------------------------------
      
      -----------------------------------------------------------------
      -- Section 5: all MCM approximations are without free summands --                     
      -----------------------------------------------------------------
      Ns={ constructEx1(S), constructEx2(S), constructEx3(S), constructEx4(S), constructEx5(S), constructEx5(S,14), constructEx6(S), constructEx6(S,14)};
      Es= apply(Ns,N->annihilator N);
      tally apply(Es,E->betti res E)
      Xs= apply(Es,E->ideal(gens E*random(source gens E,S^{ -3})));
      NXs=apply(8,i->(SX=S/(Xs_i);Ns_i**SX));      
      time phis=apply(NXs,N->MCMapproximation N);  -- used 17.8561 seconds
      apply(phis,phi->betti source phi)
      apply(phis,phi->betti target phi)
      apply(phis,phi->prune coker phi) -- => no free summnands needed in the MCM approximation
      
      hom0s=apply(phis, phi-> Hom0(source phi, target phi));
      apply(hom0s,h-> betti h)
      morphs=apply(8,i->homomorphism0(source phis_i, target phis_i,hom0s_i_{0}));
      Ps=apply(morphs, m-> ker m);
      apply(Ps,P->betti res(P,LengthLimit=>2))
      Ps=apply(phis,phi->ker phi);
      fast={0,2,4,6,7}
      time apply(8,i->(betti res source phis_i, betti res target phis_i))  -- used 27.6224 seconds
      time apply(fast,i-> betti res prune Ps_i)
      ----------------------------------------------------------------
      -- Remark 5.4                                                 --
      ----------------------------------------------------------------
      cases={ {(4,1)}, {(4,0)}, {(3,1),(1,0)}, {(3,0),(1,0)}, {(2,0),(2,0)}, {(2,0),(1,0),(1,0)}, {(1,0),(1,0),(1,0),(1,0)} }
      time Ns=apply(cases,c->constructEx5(S,c));  -- used 20.0278 seconds
      time Es=apply(Ns,N->(E = annihilator N; (degree E,genus E,betti res E)))     -- used 0.738067 seconds
      time M01s=apply(Ns,N->matrixFactorizationFromModule(N));      -- used 5.36683 seconds
      time Cs=apply(M01s,c->curveFromMatrixFactorization(c));      -- used 29.8472 seconds
      time apply(Cs,C->((codim C,degree C,genus C)==(3,16,15)))      -- used 0.331878 seconds
      time tally apply(Cs,C->(omegaC=Ext^2(C,S^{ -5});(betti res C, betti res omegaC ))) -- used 0.437617 seconds
      time tally apply(Cs,C->isSmoothCurve C) -- used 39.9205 seconds
      time ts=apply(7,i->tangentKernelDimension(Ns_i,M01s_i_0)) -- used 17.9886 seconds, 
      ts=={10, 6, 8, 6, 7, 6, 6}
      time fs=apply(7,i->(NX=Ns_i**ring M01s_i_0;extPres=gens truncate(0,Ext^1(NX,NX));
              #select(degrees target extPres,d->d=={0}))) -- used 560.471 seconds
      fs=={39, 37, 37, 36, 36, 35, 34}
      apply(7,i->(fs_i+10-ts_i))=={39, 41, 39, 40, 39, 39, 38}
      
      time Ns=apply(cases,c->constructEx6(S,c));  -- -- used 18.2754 seconds
      time Es=apply(Ns,N->(E = annihilator N; (degree E,genus E,betti res E)))  -- used 0.909422 seconds   
      time M01s=apply(Ns,N->matrixFactorizationFromModule(N));   -- used 5.10335 seconds 
      time Cs=apply(M01s,c->curveFromMatrixFactorization(c));      -- used 19.2328 seconds
      time apply(Cs,C->((codim C,degree C,genus C)==(3,16,15)))       -- used 0.112117 second
      time tally apply(Cs,C->(omegaC=Ext^2(C,S^{ -5});(betti res C, betti res omegaC )))   -- used 0.644183 seconds
      time tally apply(Cs,C->isSmoothCurve C)  -- used 41.7314 seconds
      time ts=apply(7,i->tangentKernelDimension(Ns_i,M01s_i_0)) --- used 17.0099 seconds
      ts=={9, 7, 9, 7, 7, 7, 7}
      time fs=apply(7,i->(NX=Ns_i**ring M01s_i_0;extPres=gens truncate(0,Ext^1(NX,NX));
              #select(degrees target extPres,d->d=={0}))) -- used 582.124 seconds
      fs=={38, 36, 36, 35, 35, 34, 33}
      apply(7,i->(fs_i+10-ts_i))=={39, 39, 37, 38, 38, 37, 36}
///