Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.Frobenius.Zeta

The zeta function of an elliptic curve over a finite field #

Let W be an elliptic curve over a finite field F with q elements, π its q-power Frobenius endomorphism and a_q = q + 1 - #W(F) its Frobenius trace. The zeta function of W is the formal power series

Z(W/F, T) = exp (∑_{n ≥ 1} Nₙ Tⁿ / n) ∈ ℚ⟦T⟧,

where Nₙ = #W(𝔽_{qⁿ}) counts the points over an extension of degree n, the point at infinity included. Here Nₙ is taken to be deg (1 - π ^ n), which is the number of points of W fixed by π ^ n over a separable closure, and the number of points over any extension of F of degree n (coeff_finrank_logOf_zetaFunction). The definition therefore depends on no chosen field with q ^ n elements.

The zeta function is rational (Silverman V.2.4):

Z(W/F, T) = (1 - a_q T + q T²) / ((1 - T) (1 - q T)).

The traces tₙ = q ^ n + 1 - Nₙ of the powers of Frobenius satisfy t₀ = 2, t₁ = a_q and tₙ₊₂ = a_q tₙ₊₁ - q tₙ (WeierstrassCurve.frobeniusPowTrace_add_two), and an exponential of power sums ∑ (1 + qⁿ - tₙ) Tⁿ / n with such a sequence t is this rational function (PowerSeries.subst_exp_mul_one_sub_X_mul_one_sub_C_mul_X). No roots of T² - a_q T + q are introduced.

The closed form is an element zetaRatFunc of the rational function field ℚ(T), whose Laurent expansion is Z(W/F, T). The functional equation Z(W/F, 1 / (q T)) = Z(W/F, T) is an identity in ℚ(T), for the substitution T ↦ 1 / (q T) is the linear fractional transformation of ℚ(T) with coefficient matrix !![0, 1; q, 0] but is not an operation on power series.

The Hasse bound a_q² ≤ 4q then gives the Riemann hypothesis for W: every complex zero of the numerator 1 - a_q T + q T² has absolute value q^{-1/2}.

Main definitions #

Main results #

References #

noncomputable def WeierstrassCurve.zetaRatFunc {F : Type u_1} [Field F] [Finite F] (W : WeierstrassCurve F) :

The zeta function as a rational function: the element (1 - a_q T + q T²) / ((1 - T) (1 - q T)) of ℚ(T), where q is the number of elements of F and a_q the Frobenius trace of W.

For an elliptic curve its Laurent expansion is the zeta function Z(W/F, T) (coe_zetaRatFunc). Like the Frobenius trace, the formula is defined at every Weierstrass model, but only at an elliptic one is it a zeta function.

Instances For
    @[simp]

    The rational function zetaRatFunc is invariant under the substitution T ↦ 1 / (q T), where q is the number of elements of F. This substitution is the linear fractional transformation with coefficient matrix !![0, 1; q, 0].

    The identity is algebraic and holds at every Weierstrass model. For an elliptic curve, where zetaRatFunc is the zeta function (coe_zetaRatFunc), it is the functional equation of the zeta function (Silverman V.2.4): Z(W/F, 1 / (q T)) = Z(W/F, T) in ℚ(T).

    noncomputable def WeierstrassCurve.zetaFunction {F : Type u_1} [Field F] [Finite F] (W : WeierstrassCurve F) [W.IsElliptic] :

    The zeta function of an elliptic curve W over a finite field F with q elements: Z(W/F, T) = exp (∑_{n ≥ 1} Nₙ Tⁿ / n), where Nₙ = deg (1 - π ^ n) for the q-power Frobenius endomorphism π.

    Nₙ is the number of points of W, the point at infinity included, over an extension of F of degree n (coeff_finrank_logOf_zetaFunction). The zeta function is the rational function (1 - a_q T + q T²) / ((1 - T) (1 - q T)) (zetaFunction_eq_mul_inv).

    Instances For
      @[simp]

      The zeta function has constant coefficient 1.

      @[simp]

      The logarithm of the zeta function is ∑_{n ≥ 1} deg (1 - π ^ n) Tⁿ / n.

      The zeta function counts points over finite extensions: for a finite extension E/F of degree n, the nth coefficient of the logarithm of Z(W/F, T) is #W(E) / n, where the count includes the point at infinity.

      Rationality of the zeta function (Silverman V.2.4), without inverses: Z(W/F, T) (1 - T) (1 - q T) = 1 - a_q T + q T², where q is the number of elements of F and a_q the Frobenius trace of W.

      Rationality of the zeta function (Silverman V.2.4): Z(W/F, T) = (1 - a_q T + q T²) / ((1 - T) (1 - q T)), where q is the number of elements of F and a_q the Frobenius trace of W.

      @[simp]

      The zeta function is the Laurent expansion of zetaRatFunc: the rational function (1 - a_q T + q T²) / ((1 - T) (1 - q T)) in ℚ(T) expands to Z(W/F, T) in ℚ⸨T⸩. Since the expansion map ℚ(T) → ℚ⸨T⸩ is injective, zetaRatFunc is the only rational function with this expansion.

      The Riemann hypothesis for an elliptic curve over a finite field (Silverman V.2.4): every complex zero z of the numerator 1 - a_q T + q T² of the zeta function has |z| = q^{-1/2}, where q is the number of elements of F and a_q the Frobenius trace of W.