Shared modular-polynomial and Laurent-series helpers #
ModularCurve.W1.TS is the Laurent series j(u q^e) over an arbitrary field, including
positive characteristic. Its coefficients recover the parameters, and its substitution
lemmas describe rescaling and expansion of q. Over a ℚ-algebra, TS_eq_coeffEmb identifies
it with the coefficientwise image of the rational series.
ModularCurve.W1.phiAtSeed specializes the first variable of a modular polynomial.
The accompanying lemmas preserve monicity and degree and transport specialization
and roots along ring homomorphisms.
Further helpers identify the rational and arbitrary-field series, specialize modular equations, and count primitive slots, whose number is Dedekind's ψ function. These are shared by the minimal-polynomial and prime-level nonmembership proofs.
The twisted and expanded j-series obtained by applying qTwist u and then qExpand e.
Equations
- ModularCurve.W1.TS K e u = (ModularCurve.qExpand K e) ((ModularCurve.qTwist u) (ModularCurve.jqModC K))
Instances For
The polynomial in the second variable obtained by specializing the modular polynomial's first variable at the supplied seed.
Equations
- ModularCurve.W1.phiAtSeed data x = Polynomial.map (Polynomial.eval₂RingHom (Int.castRingHom R) x) data.Φ
Instances For
Series identities and roots of unity #
A chosen primitive Nth root of unity in the cyclotomic field, bundled as a unit.
Equations
Instances For
Specialization of modular equations #
Counting primitive slots #
Count residues b modulo d for which the triple (n / d, b, d) is primitive.
Equations
- ModularCurve.ModularPolynomialHelpers.slotAt n d = {b ∈ Finset.range d | ((n / d).gcd b).gcd d = 1}.card
Instances For
The total number of primitive coset slots, summed over divisors of the level.