Polynomials Associated with Newton Polygons

The polynomial used to define a polygon can be recovered, but more usefully so can those restrictions of that polynomial to parts of the polygon, the so-called face functions in particular.

Note that most of these functions will return an error if N was not defined in terms of a polynomial.

HasPolynomial(N) : NwtnPgon -> BoolElt
Return true if and only if the polygon N was defined as the Newton polygon of some polynomial.
Polynomial(N) : NwtnPgon -> RngElt
The polynomial used to define the polygon N.
ParentRing(N) : NwtnPgon -> Rng
The parent ring of the polynomial of the polygon N.
IsNewtonPolygonOf(N, f) : NwtnPgon, RngElt -> BoolElt
Return whether the newton polygon N is defined by the polynomial f.
FaceFunction(F) : NwtnPgonFace -> RngElt
If the polygon N is defined by a polynomial in two variables f this returns those monomial terms of f whose corresponding Newton points lie on the face F. On the other hand, if N is determined by a univariate polynomial over a series ring, this returns the univariate polynomial supported on the face F.
IsDegenerate(F) : NwtnPgonFace -> BoolElt
Return true if the face function along F is not squarefree.
IsDegenerate(N) : NwtnPgon -> BoolElt
Return true if a face function on some face of N is degenerate.
IsNondegenerate(F) : NwtnPgonFace -> BoolElt
Return false if the face function along F is not squarefree.
IsNondegenerate(N) : NwtnPgon -> BoolElt
Return false if a face function on some face of N is degenerate.
V2.28, 13 July 2023