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} /// |