Documentation

Atlas.EllipticCurves.code.NewtonPolygon

Coerces a finitely-supported exponent vector m : Fin 2 →₀ ℕ into a real-valued function Fin 2 → ℝ, used to place exponents in ℝ² for the Newton polygon.

Instances For
    def NewtonPolygon.newtonSupport {k : Type u_1} [CommSemiring k] (f : MvPolynomial (Fin 2) k) :
    Set (Fin 2)

    The Newton support of a bivariate polynomial f: the image of its monomial exponents in ℝ² (cf. Definition 1.1 of "Elliptic Curves").

    Instances For
      def NewtonPolygon.newtonPolygon {k : Type u_1} [CommSemiring k] (f : MvPolynomial (Fin 2) k) :
      Set (Fin 2)

      The Newton polygon Δ(f) of a bivariate polynomial f: the convex hull in ℝ² of the exponents (i, j) with aᵢⱼ ≠ 0 (Definition 1.1).

      Instances For

        The topological interior Δ°(f) of the Newton polygon of f (Definition 1.1).

        Instances For

          The topological boundary ∂Δ(f) of the Newton polygon of f (Definition 1.1).

          Instances For
            noncomputable def NewtonPolygon.edgeRestriction {k : Type u_1} [CommSemiring k] (f : MvPolynomial (Fin 2) k) (γ : Set (Fin 2)) :

            The edge restriction f_γ of a polynomial f to a subset γ ⊆ ℝ²: the sum of the monomials of f whose exponents lie on γ (Definition 1.1).

            Instances For

              The integer lattice ℤ² ⊆ ℝ² viewed as a subset of Fin 2 → ℝ.

              Instances For

                The set of integer lattice points lying strictly inside the Newton polygon of f, i.e. Δ°(f) ∩ ℤ², appearing on the right-hand side of Baker's theorem.

                Instances For

                  The standard inner product on Fin 2 → ℝ, used to define supporting hyperplanes for edges of the Newton polygon.

                  Instances For
                    def NewtonPolygon.boundaryEdges {k : Type u_1} [CommSemiring k] (f : MvPolynomial (Fin 2) k) :
                    Set (Set (Fin 2))

                    The collection of boundary edges of the Newton polygon of f: faces cut out by a supporting hyperplane with nonzero normal vector that contain at least two points.

                    Instances For
                      noncomputable def NewtonPolygon.edgeRestrictionAlgClosure {k : Type u_1} [Field k] (f : MvPolynomial (Fin 2) k) (γ : Set (Fin 2)) :

                      The edge restriction f_γ viewed over the algebraic closure of k, used to test nondegeneracy in the algebraically closed setting.

                      Instances For
                        def NewtonPolygon.IsNondegenerateWrtEdge {k : Type u_1} [Field k] (f : MvPolynomial (Fin 2) k) (γ : Set (Fin 2)) :

                        A polynomial f is nondegenerate with respect to an edge γ if the polynomials f_γ, x · ∂f_γ/∂x, and y · ∂f_γ/∂y have no common zero in (k̄ˣ)² (Definition 1.3).

                        Instances For

                          f is nondegenerate with respect to Δ(f) if it is nondegenerate with respect to every boundary edge and is not divisible by x or y (Definition 1.3).

                          Instances For
                            noncomputable def NewtonPolygon.liftExponent (m : Fin 2 →₀ ) (d : ) :

                            Lift an exponent m ∈ ℕ² to a homogenizing exponent in ℕ³, padding the third component with d − (m₀ + m₁) so the resulting monomial has total degree d.

                            Instances For
                              noncomputable def NewtonPolygon.homogenize {k : Type u_1} [Field k] (f : MvPolynomial (Fin 2) k) :

                              Homogenize a bivariate polynomial f to a trivariate polynomial f* of the same total degree by inserting an auxiliary variable in the third coordinate.

                              Instances For

                                A point p ∈ k̄³ is a singular point of a homogeneous polynomial F if it lies on the variety {F = 0} and all partial derivatives of F vanish at p.

                                Instances For

                                  A point p ∈ k̄³ is a "coordinate point" if all but one of its coordinates vanish, i.e. it is one of the three points (1:0:0), (0:1:0), (0:0:1).

                                  Instances For

                                    A homogenized polynomial f* has no singularities outside the three coordinate points; this is the smoothness condition appearing in Proposition 1.5.

                                    Instances For
                                      class FunctionField.GenusData (k : Type u_1) [Field k] :
                                      Type u_1

                                      A bundle of data witnessing the existence of a "genus" function on bivariate polynomials over k, packaging invariance under nonzero scaling, the arithmetic genus upper bound, and the equality case for smooth curves.

                                      Instances
                                        noncomputable def FunctionField.genusDataExists (k : Type u_1) [Field k] :

                                        Existence of a GenusData instance on every field; the construction is deferred.

                                        Instances For
                                          @[implicit_reducible]
                                          noncomputable instance instGenusData (k : Type u_1) [Field k] :

                                          Canonical GenusData instance on any field, supplied by genusDataExists.

                                          noncomputable def FunctionField.genus (k : Type u_1) [Field k] (f : MvPolynomial (Fin 2) k) :

                                          The genus g(F) of the function field of f, extracted from the chosen GenusData structure on k.

                                          Instances For

                                            Baker's Theorem (Theorem 1.2): if f ∈ k[x, y] is irreducible over , then the genus of its function field is at most the number of interior lattice points of the Newton polygon Δ(f).

                                            Proposition 1.5: for an irreducible nondegenerate f whose homogenization has no singularities outside the three coordinate points, the genus equals the number of interior lattice points of Δ(f).