================================================================================================================= ================================================================================================================= ====== FUNCTIONS FOR COMPUTING THE NON-WLP LOCUS OF AN IDEAL GENERATED BY POWERS OF LINEAR FORMS IN P^2 ====== ================================================================================================================= B=ZZ/37[a,b,c] == working in this characteristic seems to be fastest ; note 18=-1/2 12=-1/3 13=1/3 F=frac B R=F[x,y,z] l=a*x+b*y+c*z nonWLPlocus = (I,l)->( M=quotient I; t=map(B,M); L=matrix{{l_M}}; f = map(M^1, M^{-1}, L); out={}; locus={}; i=1; while (not (basis(i,M) == 0)) do( mat= inducedMap(image super basis(i,target f), image super basis(i,source f), f); mindim = min(# flatten entries super basis(i,target f), # flatten entries super basis(i,source f)); locus = append(locus, ass t minors (mindim ,mat)); i=i+1; ); use R; return locus ) == version2 using Smith Normal Form nonWLPlocus2 = (I,l)->( M=quotient I; t=map(B,M); L=matrix{{l_M}}; f = map(M^1, M^{-1}, L); out={}; locus={}; i=1; while (not (basis(i,M) == 0)) do( mat= inducedMap(image super basis(i,target f), image super basis(i,source f), f); newmat = map(M^(numrows mat),M^(numcols mat),mat); mindim = min(# flatten entries super basis(i,target f), # flatten entries super basis(i,source f)); print(i,rank newmat,mindim); i=i+1; ); use R; return locus ) == input: I an ideal of R=k[x,y,z,a,b,c] from above, l a linera form; here we'll use the generic l=a*x+b*y+c*z == output: a list of lists; the i-th list is the set of ass primes of the Fitting Ideal of the matrix mult_by_l:(R/I)_i->(R/I)_{i+1} WLPsequence = (I,l)->( M=quotient I; t=map(B,M); L=matrix{{l_M}}; f = map(M^1, M^{-1}, L); out={}; locus={}; i=1; while (not (basis(i,M) == 0)) do( mat= inducedMap(image super basis(i,target f), image super basis(i,source f), f); locus = append(locus, mat); i=i+1; ); use R; return locus ) ========================================================================================================================================= ==4 points general position for i from 2 to 5 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i); print nonWLPlocus(I,l); print null; ) == yields {{ideal (c, b, a)}, {ideal (b - c, a), ideal (b, a - c), ideal (c, a - b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a - c), ideal(b - c), ideal(c)}, {ideal (b - c, a), ideal (b, a - c), ideal (c, a - b), ideal (c, b, a)}} ======================================================================================================================================== == 4 points, 3 on a line for i from 2 to 5 do ( I= ideal(x^i,y^i,z^i,(x+y)^i); print nonWLPlocus(I,l); print null; ) == yields {{ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a - b), ideal(a), ideal(b), ideal(c)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a - b), ideal(a), ideal(b), ideal(c), ideal (c, b), ideal (b, a), ideal (c, a), ideal (c, a - b), ideal (c, b, a)}, {ideal(c), ideal (c, b), ideal (c, a - b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a - b), ideal(a), ideal(b), ideal(c), ideal (c, a - b), ideal (b, a), ideal (c, b), ideal (c, a), ideal (c, b, a)}, {ideal(a - b), ideal(a), ideal(b), ideal(c), ideal (b, a), ideal (c, b), ideal (c, a), ideal (c, a - b), ideal (c, b, a)}, {ideal(c), ideal (c, b), ideal (c, a - b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a - b), ideal(a), ideal(b), ideal(c), ideal (c, a - b), ideal (b, a), ideal (c, a), ideal (c, b), ideal (c, b, a)}, {ideal(a - b), ideal(a), ideal(b), ideal(c)}, {ideal(c), ideal (c, a - b), ideal (c, b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b), ideal (c, a - b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}} == and now only the minimal associated primes {{monomialIdeal (a, b, c)}, {ideal(c)}} {{monomialIdeal (a, b, c)}, {ideal (c, b, a)}, {ideal(c), ideal(a - b), ideal(a), ideal(b)}, {ideal(c)}, {ideal (c, b, a)}} {{monomialIdeal (a, b, c)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal(a - b), ideal(a), ideal(b)}, {ideal(c)}, {ideal(c)}, {ideal (c, b, a)}} {{monomialIdeal (a, b, c)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal(a - b), ideal(a), ideal(b)}, {ideal(c), ideal(a - b), ideal(a), ideal(b)}, {ideal(c)}, {ideal(c)}, {ideal (c, b, a)}, {ideal (c, b, a)}} ================== 5pts general position for i from 2 to 3 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(x+2*y+3*z)^i); print nonWLPlocus(I,l); print null; ) == {{ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (b - 13c, a), ideal (b - c, a), ideal (b + 18c, a), ideal (b, a + 12c), ideal (b, a + c), ideal (b, a - c), ideal (c, a - 2b), ideal (c, a + 18b), ideal (c, a - b), ideal (b + 12c, a + 12c), ideal (b - 13c, a - 13c), ideal (b - 13c, a - c), ideal (b - 2c, a - c), ideal (b - c, a + 18c), ideal (b - c, a + 12c)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a + 18b), ideal(a - 2b + c), ideal(b - 13c), ideal(b - c), ideal(c), ideal(a + 12c), ideal(a - c)}, {ideal (c, b, a)}, {ideal (c, b, a)}} =============================================== 5 pts : 3 on a line, 2 general for i from 2 to 3 do ( I= ideal(x^i,y^i,z^i,(x+y)^i,(x+2*y+3*z)^i); print nonWLPlocus(I,l); print null; ) == {{ideal (c, b, a)}, {ideal (c, a + 18b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (b - 13c, a), ideal (b + 12c, a), ideal (b, a - 12c), ideal (b, a + 12c), ideal (c, a + 18b), ideal (b + 12c, a + 12c), ideal (b - 13c, a - 13c), ideal (c, b, a)}, {ideal (c, a + 18b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a + 18b), ideal(a - b - 12c), ideal(b - 13c), ideal(c), ideal(a + 12c)}, {ideal (c, a + 18b), ideal (c, b, a)}, {ideal (c, a + 18b)}} ============================================================================================== 5pts: 4 on a line for i from 2 to 6 do ( I= ideal(x^i,y^i,z^i,(x+y)^i,(x-y)^i); print nonWLPlocus(I,l); print null; ) {{ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a + b), ideal(a - b), ideal(c)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a + b), ideal(a - b), ideal(c), ideal (c, b), ideal (b, a), ideal (c, a - b), ideal (c, a + b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, a - b), ideal (c, a + b), ideal (c, b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a + b), ideal(a - b), ideal(c), ideal (c, b), ideal (b, a), ideal (c, a - b), ideal (c, a + b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, a - b), ideal (c, a + b), ideal (c, b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, a - b), ideal (c, a + b), ideal (c, b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} ===================================================================================================== 5 pts: two triples for i from 2 to 5 do ( I= ideal(x^i,y^i,z^i,(x+y)^i,(x+z)^i); print nonWLPlocus(I,l); print null; ) == {{ideal (c, b, a)}, {ideal (c, b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(b), ideal(c), ideal (b - c, a - c), ideal (b + c, a), ideal (c, b, a)}, {ideal (c, b), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a - b - c), ideal(c), ideal(a - c)}, {ideal (c, b), ideal (c, b, a)}, {ideal (c, b), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a - b - c), ideal(c), ideal(a - c), ideal (b, a), ideal (c, a), ideal (b, a - c), ideal (c, a - b), ideal (c, b), ideal (c, b, a)}, {ideal(b), ideal(c), ideal (c, b), ideal (b - c, a - c), ideal (b + c, a), ideal (c, b, a)}, {ideal (c, b), ideal (c, b, a)}, {ideal (c, b), ideal (c, b, a)}} ============================================================================================================ == 6pts gen pos; no conic for i from 2 to 4 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(x+2*y+3*z)^i,(x+3*y+4*z)^i); print nonWLPlocus(I,l); print null; ) === {{ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (b - c, a + 12c), ideal (b - c, a), ideal (b - 13c, a), ideal (b, a - c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (b, a - c), ideal (b, a + 9c), ideal (b, a + 12c), ideal (b, a + 2c), ideal (b, a + c), ideal (c, a - 2b), ideal (c, a - 3b), ideal (c, a + 12b), ideal (c, a + b), ideal (c, a - b), ideal (c, a + 18b), ideal (b - 13c, a + 8c), ideal (b - 13c, a - 13c), ideal (b - 13c, a + 9c), ideal (b - 13c, a - c), ideal (b - 13c, a), ideal (b - c, a + 12c), ideal (b - c, a + 18c), ideal (b - c, a + 9c), ideal (b - c, a), ideal (b + 18c, a + 18c), ideal (b + 18c, a + 9c), ideal (b + 18c, a), ideal (b - 3c, a - c), ideal (b - 10c, a + 18c), ideal (b - 10c, a + 12c), ideal (b - 10c, a - 10c), ideal (b - 10c, a - 5c), ideal (b - 10c, a - c), ideal (b - 10c, a), ideal (b + 12c, a + 12c), ideal (b + 14c, a + 7c), ideal (b + 4c, a + 9c), ideal (b - 8c, a - 15c), ideal (b - 9c, a + 12c), ideal (b + 9c, a + 9c), ideal (b - 2c, a - c)}, {ideal (c, b, a)}} ================================================================================================================ MR CONIC for i from 2 to 4 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(2*x+3*y+z)^i,(-6*x+2*y+z)^i); print nonWLPlocus(I,l); print null; ) == {{ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (b - 2c, a - 2c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (b, a - 2c), ideal (b, a - 15c), ideal (b, a + 6c), ideal (b, a - 8c), ideal (b, a - c), ideal (b, a + 18c), ideal (c, a + 18b), ideal (c, a - 13b), ideal (c, a - 8b), ideal (c, a + 7b), ideal (c, a - b), ideal (c, a + 3b), ideal (b - 2c, a - 2c), ideal (b - 2c, a + 11c), ideal (b - 2c, a - c), ideal (b - 2c, a + 17c), ideal (b - 2c, a), ideal (b + 11c, a - c), ideal (b + 16c, a - 11c), ideal (b + 6c, a + 6c), ideal (b + c, a), ideal (b + 17c, a - c), ideal (b - 3c, a - 3c), ideal (b - 3c, a + 6c), ideal (b - 3c, a + 13c), ideal (b - 3c, a - c), ideal (b - 3c, a + 9c), ideal (b - 3c, a), ideal (b + 18c, a + 18c), ideal (b - 12c, a - c), ideal (b - 12c, a), ideal (b + 7c, a + 17c), ideal (b + 9c, a + 6c), ideal (b + 15c, a - 2c), ideal (b - c, a + 6c), ideal (b - c, a - 13c), ideal (b - c, a + 3c), ideal (b - c, a - 2c), ideal (b - c, a + 14c), ideal (b - c, a), ideal (b - 17c, a), ideal (b + 13c, a + 6c), ideal (b + 13c, a - 2c)}, {ideal (c, b, a)}} ================================================================================================================== 6pts 5 on a line for i from 2 to 6 do ( I= ideal(x^i,y^i,z^i,(x+y)^i,(x+2*y)^i,(x-y)^i); print nonWLPlocus(I,l); print null; ) === {{ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a + b), ideal(a - b), ideal(a + 18b), ideal(c)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a + b), ideal(a - b), ideal(a + 18b), ideal(c), ideal (c, b), ideal (b, a), ideal (c, a + 18b), ideal (c, a - b), ideal (c, a + b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, a + 18b), ideal (c, a - b), ideal (c, a + b), ideal (c, b), ideal (c, a), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal(c), ideal (c, b, a)}, {ideal (c, b, a)}} ======================================================================================================================== 6pts 4 on a line; 2 general for i from 2 to 4 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(x+2*y)^i,(x-y)^i); print nonWLPlocus(I,l); print null; ) === {{ideal (c, b, a)}, {ideal (c, a - b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (c, a - b), ideal (c, b, a)}, {ideal (c, a - b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (c, a - b), ideal (b, a - c), ideal (b, a - 2c), ideal (b, a + 18c), ideal (b + 11c, a - 13c), ideal (b - 12c, a + 12c), ideal (b - 2c, a - c), ideal (b - 2c, a), ideal (b - c, a + 18c), ideal (b - c, a + c), ideal (b - c, a), ideal (b + c, a - c), ideal (b + c, a), ideal (c, b, a)}, {ideal (c, a - b), ideal (c, b, a)}, {ideal (c, a - b)}} =============================================================================================================================== 6pts 4 on a line, 3 on another line for i from 2 to 4 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(x+y)^i,(x-y)^i); print nonWLPlocus(I,l); print null; ) === {{ideal (c, b, a)}, {ideal (c, a - b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal (c, a - b), ideal (c, b, a)}, {ideal (c, a - b)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a - b), ideal(c), ideal (b, a - 2c), ideal (b, a - c), ideal (b - 2c, a), ideal (b - c, a + c), ideal (b - c, a), ideal (b + c, a - c), ideal (c, b, a)}, {ideal (c, a - b), ideal (c, b, a)}, {ideal (c, a - b)}} ================================================================================================================================== 6pts with 4 triples for i from 2 to 5 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(x+y)^i,(y+z)^i); print nonWLPlocus(I,l); print null; ) === {{ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, a - b), ideal (c, b), ideal (c, a), ideal (b - c, a - c), ideal (b - c, a), ideal (b, a), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(a - b), ideal(b - c), ideal(c), ideal (b - 2c, a - c), ideal (b, a - c), ideal (b, a + c), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a - b + c), ideal(b - c), ideal(c), ideal(a - c)}, {ideal (c, a - b), ideal (c, b), ideal (c, a), ideal (b - c, a - c), ideal (b - c, a), ideal (b, a), ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}} =================================================================================================================================== 6pts with 3 triples for i from 2 to 5 do ( I= ideal(x^i,y^i,z^i,(x+y+z)^i,(x+y)^i,(y+2*z)^i); print nonWLPlocus(I,l); print null; ) === {{ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (b - c, a), ideal (b, a), ideal (c, a), ideal (b + 18c, a + 18c), ideal (c, a - 2b), ideal (c, a - b), ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(c), ideal(a), ideal(a - b), ideal (c, a - 2b), ideal (b, a - 18c), ideal (b, a + c), ideal (b, a - c), ideal (b + 17c, a - c), ideal (b + 18c, a + 18c), ideal (b + 18c, a - c), ideal (b - c, a + 18c), ideal (b - c, a), ideal (c, b, a)}, {ideal (c, b, a)}} {{ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal (c, b, a)}, {ideal(a), ideal(b), ideal(a - b), ideal(a - 2b + c), ideal(a - b - 18c), ideal(b + 18c), ideal(b - c), ideal(c), ideal(a - c)}, {ideal (b - c, a), ideal (b, a), ideal (c, a), ideal (b + 18c, a + 18c), ideal (c, a - 2b), ideal (c, a - b), ideal (c, b, a)}, {ideal (c, b, a)}} ==================================================================================================================================== ==================================================================================================================================== ==================================================================================================================================== ====== FUNCTIONS FOR CHECKING WHETHER A SYZYGY BUNDLE IS SEMISTABLE (CAVEAT: THEY ARE PROBABILISTIC) ============================= ==================================================================================================================================== mydis = I-> ( c = mingens I; r = res coker c; print transpose c; print "Betti diagram for R/J"; print betti r; D=ker(c); L=ideal random(1,R); R1=R/L; print "Generic splitting type:"; Dgen = degrees (res dual dual (D**R1))_0; print Dgen; F=flatten Dgen; if (max(F)-min(F)) > 1 then print "POTENTIALLY NOT SEMISTABLE" use R ) dis = (l,m) ->(print l; print""; c = mingens ideal matrix {LinIdeal(l,m)}; r = res coker c; print transpose c; print "Betti diagram for R/J"; print betti r; D=ker(c); L=ideal random(1,R); R1=R/L; print "Generic splitting type:"; Dgen = degrees (res dual dual (D**R1))_0; print Dgen; F=flatten Dgen; if (max(F)-min(F)) > 1 then print "POTENTIALLY NOT SEMISTABLE") --dis displays the data: the linear forms, minimal ideal generators, --graded betti numbers and generic splitting type of the syzygy --bundle. HKS 5/13/09 SSNO=(F)->(F1=sort(F); flag=false; apply(#F1-1,i->if (F1#(i+1)-F1#i)>1 then flag=true); flag) --scan a list of degrees, return true if gap >1 exists. -- THIS IS USEFUL BECAUSE A RESULT OF BRENNER AND KAID STATES THAT GAPS>1 FOR SEMISTABLE BUNDLES => NO WLP dis2 = (l,m) ->(--print l; --print""; c = mingens ideal matrix {LinIdeal(l,m)}; r = res coker c; --print transpose c; --print "Betti diagram for R/J"; --print betti r; D=ker(c); L=ideal random(1,R); R1=R/L; --print "Generic splitting type:"; Dgen = degrees (res dual dual (D**R1))_0; --print Dgen; F=flatten Dgen; if SSNO(F) then (print "NOT SEMISTABLE"; print l; print""; print m; print transpose mingens ideal c; print "Betti diagram for R/J"; print betti r; print "Generic splitting type:"; print Dgen)) ================================================================================================================= ================================================================================================================= ================================================================================================================= ====== IN VIEW OF MIGLIORE, MIRO-ROIG, NAGEL PREPRINT, 2009 WE CHECK BEHAVIOR OF WLP FOR MONOMIAL IDEALS ====== ====== IN POSITIVE CARACTERISTIC ====== ====== THE CODE SHOULD WORK UP TO n=9, AFTER WHICH MACAULAY2 CRASHES ====== ================================================================================================================= --MIGLIORE caractersitic question ans={} for p from 2 to 100 do ( if (isPrime(p)) then ( B=ZZ/p[a,b,c]; F=frac B; R=F[x,y,z]; l=x+y+z; ans= ans | { for k from 2 to 6 list ( I=ideal(x^k,y^k,z^k); isWL(I,l) )}; ); ); ================================================================================================================= -- WLP in P^3 -- 9 cubics from points in general position S=ZZ/101[x,y,z,w] I=ideal apply(flatten for i to 8 list flatten entries (random(S^1,S^4)*(transpose vars S)),i->i^3) A=S/I L=(random(S^1,S^4)*(transpose vars S)) t=map(A,S); f = map(A^1, A^{-1}, t(L)) i=0; while (not (basis(i,A) == 0)) do( mat= inducedMap(image super basis(i,target f), image super basis(i,source f), f); newmat = map(A^(numrows mat),A^(numcols mat),mat); mindim = min(# flatten entries super basis(i,target f), # flatten entries super basis(i,source f)); print(i,rank newmat,mindim); i=i+1; ); --============================================================================================================== --my inverse system function inverseSystem =method() inverseSystem := (d,I) -> ( S := ring I; kern := ker contract (basis(d,S), gens I); t :={}; scan(numgens kern -1, i->if ((degree kern_i =={1})or (degree kern_i =={0})) then t=t|{(matrix{flatten entries kern_i}* transpose basis(d,S))_0_0} ); if ideal t == ideal 0 then return S else ideal t )