+ M2 --no-readline --print-width 98 Macaulay 2, version 1.2 with packages: Elimination, IntegralClosure, LLLBases, PrimaryDecomposition, ReesAlgebra, SchurRings, TangentCone i1 : R=QQ[a..i]; i2 : comphp = (m,J) -> (R:=ring(J); N:= numgens ring(J); s:=apply(N,i->0); L:= flatten entries basis(m,R/J); for i from 0 to #L-1 do s = s + sum(exponents(L_i)); return s ); i3 : subhp = (m,I) -> ( N:= numgens ring(I); totdeg:= ((m+N-1)!*m / (m!*N!)); st:=comphp(m,I); apply(N, k -> totdeg - st_k)); i4 : L = {{a*h^2, d*f^3, a*f^2, d*g, c*d, a*g, g*h^2, c*h^2, b*h, a*e, h*i, b*f, e*h, f*i, c*f, e*f, b^2, b*i, b*g, i^2, b*c, b*e, c*i, c*g, e*i, e*g, c^2, c*e, e^2}, {b^3, e*h, b*h, b^2*c, a*b^2, c*e, a*e, e*g, b*g, f^2, f*h, d*f, c*f, a*f, f*g, d*h, d^2, c*h, g*h, c*d, a*d, d*g, c^2, a*c, a^2, c*g, a*g}, {b^5*i^2, c^5*f, c^3*e^2, b^2*e, c^2*e*f, b*e^2, a*c, b*f, a*i^2, a*e, e^3, c*f^2, a*f, e^2*f, b*h, b*d, c*h, b*g, c*d, f^3, c*g, a*d, e^2*h, a*g, d*e, h*i, e*g, d*i, f*h, d*f, f*g, h^2, d*h, d^2, g*h, d*g}, {h^2, a*f, c*f, c^2, e*i, b*f, a*d, e*g, d*f, c*d, b^2, a*i, h*i, c*i, b*d, a*g, g*h, d^2, b*i, c*g, d*i, b*g, i^2, d*g}, {c^4, a*b*f, b^2*f*h, a^2*f, a*c, a*f*h, c*h, a*i, c*e, c*d, b*e, b*d, a*e, a*d, c*g, b*g, i^2, a*g, h*i, e*i, h^2, e*h, d*h, e^2, d*e, d^2, g*h, e*g, d*g}, {b*f, b*e, a*d, c^2, c*f, c*e, e^2, d*h^2, d*g, e*h, a*c, b*g, a*f, a*e, b*i, c*h^2, f*h^2, c*g, e*g, c*i, e*i, a^2, g*h, h*i, a*g, a*i, i^2}, {d^3, c*d^2, c^2, b*g*h, b*e, d*e, c*e, b*f, d*f, c*f, i^2, e^2, a*g, f*i, e*f, a*d, a*c, d*h, c*h, f^2, a*i, a*e, h*i, e*h, a*f, f*h, h^2}, {b*d, c*e, c*f, b^2, a*d, c*g, b*e, b*f, e^2, d*h, b*i, e*f, a*e, d*g^2, b*g, a*f, e*g, a*i, i^2, a*g, e*h, f*h, h*i, g*h, h^2}, {b^3*e^3, b^4, c*f*h^2, b^3*c, c^3, e^2*f, d*h^2, c^2*f, a*b^2, e*f^2, c*f^2, b*f, a*e, a*c, f^3, d*e, b*d, h*i, c*d, a*f, e*i, e*g, b*i, a^2, c*i, b*g, c*g, d*f, a*d, f*i, a*i, a*g, d^2, d*i, d*g, i^2}}; i5 : #L o5 = 9 i6 : ssmb = (m,L) -> ( Z = apply(#L, i -> (1/1)*subhp(m,ideal(L_i))); bary = apply(9,i -> sum(Z_0)/9); Z = transpose matrix Z; v = (Z^-1) * matrix(transpose {bary}); bool= apply(9, i -> v_0_i >=0); if bool == apply(9, i -> true) then return true else false ); i7 : apply(63, m -> ssmb(m+2,L)) o7 = {false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, --------------------------------------------------------------------------------------------- true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, --------------------------------------------------------------------------------------------- true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, --------------------------------------------------------------------------------------------- true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, --------------------------------------------------------------------------------------------- true, true, true} o7 : List i8 : quit Process M2 finished