# 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.
