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)
degreeImplicitEq computes the degree of the gcd of the maximal minors of the matrix representation of {f0,f1,f2,f3} in degree 'nu' after homogeneization wrt P, equivalently, the degree of determinant of the Z-complex associated to {f0,f1,f2,f3} in degree 'nu'. This is:
degreeImplicitEq({f0,f1,f2,f3}, nu,P) = degree(representationMatrix(teToricRationalMap({f0,f1,f2,f3},P),nu) that computes 'deg(det((Z(f0,f1,f2,f3))_nu))'
Given a list of polynomials {f0,f1,f2,f3}, it computes the degree of the gcd of the maximal minors of the right-most map of the strand of degree 'nu'.
Precisely, 'degreeImplicitEq' returns an integer which is the degree of H^{deg(f)}.G, where H is the implicit equation, deg(f) is the degree of f={f0,f1,f2,f3}, and G is an extra factor that may appear.
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 : degreeImplicitEq (l,2,P)
o9 = 0
|
i10 : S = QQ[s,t];
|
i11 : f0 = s^2+s^3*t;
|
i12 : f1 = s^3*t^6+1;
|
i13 : f2 = s*t^2+2*s^3*t^5;
|
i14 : f3 = s^2+s^3*t^6;
|
i15 : degreeImplicitEq ( {f0,f1,f2,f3} ,2, polynomialsToPolytope {f0,f1,f2,f3})
o15 = 17
|