# Newton Polygons

- [Introduction](introduction.md)

- [Newton Polygons](newton.md)

  - [Creation of Newton Polygons](newton.md#creation-of-newton-polygons)

    - [`NewtonPolygon(f): RngMPolElt → NwtnPgon`](newton.md#function-newtonpolygon-rngmpolelt)

    - [`NewtonPolygon(f): RngUPolElt → NwtnPgon`](newton.md#function-newtonpolygon-rngupolelt)

    - [`NewtonPolygon(f, p): RngUPolElt, RngOrdIdl → NwtnPgon`](newton.md#function-newtonpolygon-rngupolelt-rngordidl)

    - [`NewtonPolygon(f, p): RngUPolElt, RngFunOrdIdl → NwtnPgon`](newton.md#function-newtonpolygon-rngupolelt-rngfunordidl)

    - [`NewtonPolygon(f, p): RngUPolElt, RngIntElt → NwtnPgon`](newton.md#function-newtonpolygon-rngupolelt-rngintelt)

    - [`NewtonPolygon(f, p): RngUPolElt, PlcFunElt → NwtnPgon`](newton.md#function-newtonpolygon-rngupolelt-plcfunelt)

    - [`NewtonPolygon(C): Crv → NwtnPgon`](newton.md#function-newtonpolygon-crv)

    - [`NewtonPolygon(V): SeqEnum → NwtnPgon`](newton.md#function-newtonpolygon-seqenum)

    - [`NewtonPolygon(V): SetEnum → NwtnPgon`](newton.md#function-newtonpolygon-setenum)

    - [`DefiningPoints(N): NwtnPgon → SeqEnum`](newton.md#function-definingpoints-nwtnpgon)

    - [`Example: Create Ex`](newton.md#example-ex-4f67e3)

  - [Vertices and Faces of Polygons](newton.md#vertices-and-faces-of-polygons)

    - [`Faces(N): NwtnPgon → SeqEnum`](newton.md#function-faces-nwtnpgon)

    - [`InnerFaces(N): NwtnPgon → SeqEnum`](newton.md#function-innerfaces-nwtnpgon)

    - [`LowerFaces(N): NwtnPgon → SeqEnum`](newton.md#function-lowerfaces-nwtnpgon)

    - [`OuterFaces(N): NwtnPgon → SeqEnum`](newton.md#function-outerfaces-nwtnpgon)

    - [`AllFaces(N): NwtnPgon → SeqEnum`](newton.md#function-allfaces-nwtnpgon)

    - [`Example: Faces Ex`](newton.md#example-ex-a15e3f)

    - [`Vertices(N): NwtnPgon → SeqEnum`](newton.md#function-vertices-nwtnpgon)

    - [`InnerVertices(N): NwtnPgon → SeqEnum`](newton.md#function-innervertices-nwtnpgon)

    - [`LowerVertices(N): NwtnPgon → SeqEnum`](newton.md#function-lowervertices-nwtnpgon)

    - [`OuterVertices(N): NwtnPgon → SeqEnum`](newton.md#function-outervertices-nwtnpgon)

    - [`AllVertices(N): NwtnPgon → SeqEnum`](newton.md#function-allvertices-nwtnpgon)

    - [`Example: Vertices Ex`](newton.md#example-ex-534640)

    - [`EndVertices(F): NwtnPgonFace → SeqEnum`](newton.md#function-endvertices-nwtnpgonface)

    - [`FacesContaining(N,p): NwtnPgon, Tup → SeqEnum`](newton.md#function-facescontaining-nwtnpgon-tup)

    - [`Example: Sp Vertices Ex`](newton.md#example-ex-8ed2f7)

    - [`GradientVector(F): NwtnPgonFace → Tup`](newton.md#function-gradientvector-nwtnpgonface)

    - [`GradientVectors(N): NwtnPgon → [ Tup ]`](newton.md#function-gradientvectors-nwtnpgon)

    - [`Weight(F): NwtnPgonFace → RngIntElt`](newton.md#function-weight-nwtnpgonface)

    - [`Slopes(N): NwtnPgon → SeqEnum`](newton.md#function-slopes-nwtnpgon)

    - [`InnerSlopes(N): NwtnPgon → SeqEnum`](newton.md#function-innerslopes-nwtnpgon)

    - [`LowerSlopes(N): NwtnPgon → SeqEnum`](newton.md#function-lowerslopes-nwtnpgon)

    - [`AllSlopes(N): NwtnPgon → SeqEnum`](newton.md#function-allslopes-nwtnpgon)

    - [`Example: Grad Ex`](newton.md#example-ex-260949)

  - [Tests for Points and Faces](newton.md#tests-for-points-and-faces)

    - [`IsFace(N, F): NwtnPgon, Tup → BoolElt`](newton.md#function-isface-nwtnpgon-tup)

    - [`IsVertex(N, p): NwtnPgon, Tup → BoolElt`](newton.md#function-isvertex-nwtnpgon-tup)

    - [`IsInterior(N,p): NwtnPgon, Tup → BoolElt`](newton.md#function-isinterior-nwtnpgon-tup)

    - [`IsBoundary(N, p): NwtnPgon, Tup → BoolElt`](newton.md#function-isboundary-nwtnpgon-tup)

    - [`IsPoint(N,p): NwtnPgon, Tup → BoolElt`](newton.md#function-ispoint-nwtnpgon-tup)

- [Polynomials Associated with Newton Polygons](newton-polynomials.md)

  - [`HasPolynomial(N): NwtnPgon → BoolElt`](newton-polynomials.md#function-haspolynomial-nwtnpgon)

  - [`Polynomial(N): NwtnPgon → RngElt`](newton-polynomials.md#function-polynomial-nwtnpgon)

  - [`ParentRing(N): NwtnPgon → Rng`](newton-polynomials.md#function-parentring-nwtnpgon)

  - [`IsNewtonPolygonOf(N, f): NwtnPgon, RngElt → BoolElt`](newton-polynomials.md#function-isnewtonpolygonof-nwtnpgon-rngelt)

  - [`FaceFunction(F): NwtnPgonFace → RngElt`](newton-polynomials.md#function-facefunction-nwtnpgonface)

  - [`IsDegenerate(F): NwtnPgonFace → BoolElt`](newton-polynomials.md#function-isdegenerate-nwtnpgonface)

  - [`IsDegenerate(N): NwtnPgon → BoolElt`](newton-polynomials.md#function-isdegenerate-nwtnpgon)

  - [`IsNondegenerate(F): NwtnPgonFace → BoolElt`](newton-polynomials.md#function-isnondegenerate-nwtnpgonface)

  - [`IsNondegenerate(N): NwtnPgon → BoolElt`](newton-polynomials.md#function-isnondegenerate-nwtnpgon)

- [Finding Valuations of Roots of Polynomials from Newton Polygons](val.md)

  - [`ValuationsOfRoots(f): RngUPolElt → [ < RngIntElt, RngIntElt > ]`](val.md#function-valuationsofroots-rngupolelt)

  - [`ValuationsOfRoots(f, p): RngUPolElt, RngIntElt → [ < RngIntElt, RngIntElt > ]`](val.md#function-valuationsofroots-rngupolelt-rngintelt)

  - [`ValuationsOfRoots(f, p): RngUPolElt, RngOrdIdl → [ < RngIntElt, RngIntElt > ]`](val.md#function-valuationsofroots-rngupolelt-rngordidl)

  - [`ValuationsOfRoots(f, p): RngUPolElt, PlcFunElt → [ < RngIntElt, RngIntElt > ]`](val.md#function-valuationsofroots-rngupolelt-plcfunelt)

- [Using Newton Polygons to Find Roots of Polynomials over Series Rings](poly-ops.md)

  - [`SetVerbose("Newton", v): MonStgElt, RngIntElt`](poly-ops.md#function-setverbose-monstgelt-rngintelt)

  - [Operations not associated with Duval’s Algorithm](poly-ops.md#operations-not-associated-with-duval-s-algorithm)

    - [`PuiseuxExpansion(f, n): RngUPolElt, RngIntElt → SeqEnum[RngSerPuisElt]`](poly-ops.md#function-newton-puiseuxexpansion)

    - [`ExpandToPrecision(f, c, n): RngUPolElt, RngSerElt, RngIntElt → RngSerElt`](poly-ops.md#function-expandtoprecision-rngupolelt-rngserelt-rngintelt)

    - [`ImplicitFunction(f, d, n): RngUPolElt, RngIntElt, RngIntElt → RngSerElt`](poly-ops.md#function-implicitfunction-rngupolelt-rngintelt-rngintelt)

    - [`Example: Poly Ops Ex`](poly-ops.md#example-ex-d1b398)

    - [`IsPartialRoot(f, c): RngUPolElt, RngSerElt → BoolElt`](poly-ops.md#function-ispartialroot-rngupolelt-rngserelt)

    - [`IsUniquePartialRoot(f, c): RngUPolElt, RngSerElt → BoolElt`](poly-ops.md#function-isuniquepartialroot-rngupolelt-rngserelt)

    - [`Example: Pol Is`](poly-ops.md#example-ex-5113cd)

    - [`PuiseuxExponents(p): RngSerElt → SeqEnum`](poly-ops.md#function-puiseuxexponents-rngserelt)

    - [`PuiseuxExponentsCommon(p, q): RngSerElt, RngSerElt → SeqEnum`](poly-ops.md#function-puiseuxexponentscommon-rngserelt-rngserelt)

    - [`Example: exps`](poly-ops.md#example-ex-cc0585)

  - [Operations associated with Duval’s algorithm](poly-ops.md#operations-associated-with-duval-s-algorithm)

    - [`DuvalPuiseuxExpansion(f, n): RngUPolElt, RngIntElt → SeqEnum`](poly-ops.md#function-duvalpuiseuxexpansion-rngupolelt-rngintelt)

    - [`ParametrizationToPuiseux(T): Tup → SeqEnum`](poly-ops.md#function-parametrizationtopuiseux-tup)

    - [`PuiseuxToParametrization(S): RngSerElt → Tup`](poly-ops.md#function-puiseuxtoparametrization-rngserelt)

    - [`Example: Duval Ex`](poly-ops.md#example-ex-2dca42)

  - [Roots of Polynomials](poly-ops.md#roots-of-polynomials)

    - [`Roots(f): RngUPolElt → [<RngSerElt, RngIntElt>]`](poly-ops.md#function-roots-rngupolelt)

    - [`Roots(f, n): RngUPolElt, RngIntElt → [<RngSerElt, RngIntElt>]`](poly-ops.md#function-roots-rngupolelt-rngintelt)

    - [`HasRoot(f): RngUPolElt → BoolElt, RngSerElt`](poly-ops.md#function-hasroot-rngupolelt)

    - [`Example: Roots Ex`](poly-ops.md#example-ex-0c4847)
