Overview
p-adic numbers
The modules padic, padic_poly, padic_mat, qadic and padic_radix compute in the field \mathbf{Q}_p of p-adic numbers and its unramified extensions \mathbf{Q}_q. Standard introductions to p-adic numbers are [Gou1997] and [Rob2000]; [Car2017] surveys the computational models.
In this section#
Overviewp-adic arithmetic in FLINTThe modules for p-adic numbers, their precision models and representations, and which algorithm each function uses for inversion, square roots, the exponential and logarithm, Teichmüller lifts, the Frobenius map, norms and traces.AlgorithmPrecision and representation of p-adic numbersHow FLINT represents a p-adic number as p^v u modulo p^N, the difference between absolute and relative precision, how much precision each arithmetic operation preserves, and the two precision models used by padic/qadic and by padic_radix.AlgorithmHensel lifting of inverses, square roots and Teichmüller liftsNewton iteration in Z_p and Z_q with the precision sequence N, ⌈N/2⌉, ..., 1, applied to inverses, inverse square roots (with the final step producing the square root) and Teichmüller lifts, including the modifications needed for p = 2.AlgorithmThe p-adic exponential and logarithmConvergence and truncation bounds for the p-adic exponential and logarithm series, their evaluation by rectangular splitting with deferred denominators, the balanced (bit-burst) method with binary splitting, and the Satoh–Skjernaa–Taguchi reduction of the logarithm, as implemented in padic, qadic and padic_radix.AlgorithmArithmetic in unramified extensionsHow qadic represents the unramified extension Q_q = Q_p[X]/(f) and computes products with reduction modulo a sparse defining polynomial, inverses, powers, traces by Newton's identities, norms by resultants or as exp(Tr(log x)), and square roots including the Artin–Schreier step for p = 2.AlgorithmFrobenius automorphism and Teichmüller lifts in unramified extensionsHow qadic computes the Frobenius automorphism of Q_q by Newton lifting the image of the generator and evaluating by rectangular splitting, and how Teichmüller lifts are computed, with the relations between the two.
References#
- [Gou1997] F. Q. Gouvêa. p-adic Numbers: An Introduction. Universitext, Springer, second edition, 1997. https://doi.org/10.1007/978-3-642-59058-0
- [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
- [Car2017] X. Caruso. Computations with p-adic numbers. Les cours du CIRM 5 (2017), Journées Nationales de Calcul Formel. https://arxiv.org/abs/1701.06794
Cite this page
The FLINT team, “p-adic numbers,” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/algorithms/p-adic/index.html (generated 2026-10-20).
@misc{flint-doc-algorithms-p-adic-index,
author = {{The FLINT team}},
title = {{p-adic numbers}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/algorithms/p-adic/index.html},
note = {Generated 2026-10-20}
}