Frobenius automorphism and Teichmüller lifts in unramified extensions
- Cost
- modulo : multiplications modulo , then multiplications in and scalar operations at each of precisions; applying to an element: multiplications in . Teichmüller lift: multiplications in at each precision.
The extension of degree , , is Galois with cyclic Galois group of order , and reduction modulo identifies it with the Galois group of [Rob2000, Ch. 3]. The generator corresponding to the Frobenius of is the Frobenius automorphism of ; it is the basic tool of -adic point counting algorithms such as Kedlaya's [Ked2001] and of the canonical lift methods of Satoh, Skjernaa and Taguchi [SST2003]. The representation of is described in Arithmetic in unramified extensions.
The Frobenius automorphism#
Since fixes , it is determined by the image of the generator: for with , .
Proposition 1. is the unique root of with .
Proof. is a root of since is an automorphism, and it reduces to . The reduction is irreducible over the finite field , hence separable, so and Hensel's lemma (Lemma 1 of Hensel lifting of inverses, square roots and Teichmüller lifts) gives uniqueness.
_qadic_frobenius_a computes modulo by Newton's method. It computes modulo by binary powering, inverts modulo , and then, along the precision sequence of The precision sequence, applies
where approximates ; by Lemma 1 of Hensel lifting of inverses, square roots and Teichmüller lifts the precision of and of doubles in each step. The polynomials and are compositions: polynomials of degree and with coefficients in evaluated at an element of .
Input: with , an element of , a modulus .
Output: .
- Let and compute modulo .
- For : set , reducing modulo .
This is the Paterson–Stockmeyer scheme [PS1973]: about multiplications in and scalar multiplications of elements by integers. FLINT uses it for and Horner's rule for shorter .
_qadic_frobenius then applies to an element by evaluating with the same algorithm. Two special cases avoid the lifting: an element of (length 1) is fixed, and for the image is computed by binary powering modulo . qadic_frobenius reduces modulo , so that negative give the inverse automorphisms, and applies the map to the unit part, the valuation being unchanged.
qadic_frobenius recomputes on every call. A caller that applies the same power of to many elements can call _qadic_frobenius_a once and evaluate the elements at its result.
Teichmüller lifts#
The Teichmüller lift of a unit is the unique -th root of unity congruent to modulo . The map is multiplicative, the roots of unity of order prime to in are exactly the Teichmüller lifts, and
because both sides are -th roots of unity congruent to modulo . _qadic_teichmuller computes as the root of congruent to , by the iteration of Teichmüller lifts, the inverse of being lifted alongside. Each step computes by binary powering with exponent , which takes about squarings in , so the cost is multiplications at precision , against for one application of . For an element of the lift is computed in by _padic_teichmuller, where the exponent is .
Use in FLINT#
_qadic_frobenius_acomputes modulo for ._qadic_frobeniusandqadic_frobeniusapply to an element._qadic_teichmullerandqadic_teichmullercompute Teichmüller lifts;_padic_teichmullerandpadic_teichmullerdo the same in .qadic_traceandqadic_normdo not use the Frobenius map; they use Newton's identities, resultants and logarithms (Trace).
Referenced from#
References#
- [Rob2000] A. M. Robert. A Course in p-adic Analysis. Graduate Texts in Mathematics 198, Springer, 2000. https://doi.org/10.1007/978-1-4757-3254-2
- [Ked2001] K. S. Kedlaya. Counting points on hyperelliptic curves using Monsky–Washnitzer cohomology. Journal of the Ramanujan Mathematical Society 16 (2001), 323–338.
- [SST2003] T. Satoh, B. Skjernaa and Y. Taguchi. Fast computation of canonical lifts of elliptic curves and its application to point counting. Finite Fields and Their Applications 9 (2003), 89–101. https://doi.org/10.1016/S1071-5797(02)00013-8
- [PS1973] M. S. Paterson and L. J. Stockmeyer, "On the number of nonscalar multiplications necessary to evaluate polynomials", SIAM J. Comput (1973)
The FLINT team, “Frobenius automorphism and Teichmüller lifts in unramified extensions,” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/algorithms/p-adic/frobenius.html (generated 2026-11-02).
@misc{flint-doc-algorithms-p-adic-frobenius,
author = {{The FLINT team}},
title = {{Frobenius automorphism and Teichmüller lifts in unramified extensions}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/algorithms/p-adic/frobenius.html},
note = {Generated 2026-11-02}
}