The integer nu needs to be a good degree for the first parameter {f0,f1,f2,f3} that can be verified by doing isGoodDegree(polinomialList,nu,P).
isGoodDegree verifies if the approximation complex Z associated to the homogeneous polynomials (wrt P) given is acyclic in degree nu.
Given a list of polynomials {f0,f1,f2,f3}, the method homoneizes the polynomials wrt P. Now, the approximation complex of cycles Z is bigraded. This funtion verifies if the strand of degree 'nu' of Z is acyclic.
Precisely, it computes the Euler characteristic of the nu-strand of the Z-complex, by computing the alternate sum of (-1)^i * hilbertFunction(nu+i*d,Z_i).
Note: the polynomials must be the inhomogeneous polynomials defining the affine parametrization.
i1 : needsPackage "Polyhedra"
o1 = Polyhedra
o1 : Package
|
i2 : S = QQ[s,t];
|
i3 : f0 = s^2+s^3*t;
|
i4 : f1 = s^3*t^6+1;
|
i5 : f2 = s*t^2+2*s^3*t^5;
|
i6 : f3 = s^2+s^3*t^6;
|
i7 : l = {f0,f1,f2,f3};
|
i8 : P = convexHull(matrix{{0,0,1},{0,1,0}});
|
i9 : isGoodDegree (l,2,P)
o9 = false
|