Current implementations of -adic numbers usually rely on so called zealous algorithms, which compute with truncated -adic expansions at a precision that can be specified by the user. In combination with Newton-Hensel type lifting techniques, zealous algorithms can be made very efficient from an asymptotic point of view.
In the similar context of formal power series, another so called lazy technique is also frequently implemented. In this context, a power series is essentially a stream of coefficients, with an effective promise to obtain the next coefficient at every stage. This technique makes it easier to solve implicit equations and also removes the burden of determining appropriate precisions from the user. Unfortunately, naive lazy algorithms are not competitive from the asymptotic complexity point of view. For this reason, a new relaxed approach was proposed by van der Hoeven in the 90’s, which combines the advantages of the lazy approach with the asymptotic efficiency of the zealous approach.
In this paper, we show how to adapt the lazy and relaxed approaches to the context of -adic numbers. We report on our implementation in the C++ library algebramix of Mathemagix, and show significant speedups in the resolution of -adic functional equations when compared to the classical Newton iteration.
Les implantations actuelles des nombres -adiques reposent essentiellement sur des techniques dites zélées, où la précision de calcul doit être fixée à l’avance par l’utilisateur. Cette approche est très efficace du point de vue de la complexité asymptotique et elle est largement utilisée, par exemple dans des algorithmes de remontée de type Newton–Hensel.
Dans le contexte similaire des séries formelles, il existe des techniques alternatives, appelées paresseuses, qui ont l’avantage d’être plus naturelles : une série formelle y est représentée comme une suite de coefficients munie d’une méthode pour calculer le coefficient suivant et ce, à tout ordre. Cette approche facilite grandement la résolution d’équations implicites et retire tout soucis de choix de la précision des calculs à l’utilisateur. Pendant longtemps cette approche paresseuse était pénalisée par son manque d’efficacité. Les premières variantes rapides ont été développées dans les années 90 par van der Hoeven, et portent désormais la terminologie d’algorithmes détendus : ceux-ci combinent le confort de l’approche paresseuse avec l’efficacité des méthodes zélées.
Dans ce papier, nous montrons comment adapter l’algorithmique détendue des séries au cas des nombres -adiques. Nos implantations sont disponibles dans la bibliothèque C++ algebramix de Mathemagix. Comparés à une itération de Newton classique, nous obtenons des gains de performances significatifs pour la résolution de certaines équations fonctionnelles -adiques.
Mots-clés : $p$-adic numbers, power series, algorithms
@article{JTNB_2011__23_3_541_0, author = {Berthomieu, J\'er\'emy and van der Hoeven, Joris and Lecerf, Gr\'egoire}, title = {Relaxed algorithms for $p$-adic numbers}, journal = {Journal de th\'eorie des nombres de Bordeaux}, pages = {541--577}, publisher = {Soci\'et\'e Arithm\'etique de Bordeaux}, volume = {23}, number = {3}, year = {2011}, doi = {10.5802/jtnb.777}, zbl = {1247.11152}, mrnumber = {2861075}, language = {en}, url = {http://www.numdam.org/articles/10.5802/jtnb.777/} }
TY - JOUR AU - Berthomieu, Jérémy AU - van der Hoeven, Joris AU - Lecerf, Grégoire TI - Relaxed algorithms for $p$-adic numbers JO - Journal de théorie des nombres de Bordeaux PY - 2011 SP - 541 EP - 577 VL - 23 IS - 3 PB - Société Arithmétique de Bordeaux UR - http://www.numdam.org/articles/10.5802/jtnb.777/ DO - 10.5802/jtnb.777 LA - en ID - JTNB_2011__23_3_541_0 ER -
%0 Journal Article %A Berthomieu, Jérémy %A van der Hoeven, Joris %A Lecerf, Grégoire %T Relaxed algorithms for $p$-adic numbers %J Journal de théorie des nombres de Bordeaux %D 2011 %P 541-577 %V 23 %N 3 %I Société Arithmétique de Bordeaux %U http://www.numdam.org/articles/10.5802/jtnb.777/ %R 10.5802/jtnb.777 %G en %F JTNB_2011__23_3_541_0
Berthomieu, Jérémy; van der Hoeven, Joris; Lecerf, Grégoire. Relaxed algorithms for $p$-adic numbers. Journal de théorie des nombres de Bordeaux, Volume 23 (2011) no. 3, pp. 541-577. doi : 10.5802/jtnb.777. http://www.numdam.org/articles/10.5802/jtnb.777/
[Ber00] D. Bernstein, Removing redundancy in high precision Newton iteration. Available from http://cr.yp.to/fastnewton.html, 2000.
[BK78] R. P. Brent and H. T. Kung, Fast algorithms for manipulating formal power series. Journal of the ACM 25 (1978), 581–595. | MR | Zbl
[Bre76] R. P. Brent, The complexity of multiprecision arithmetic. In R. S. Anderssen and R. P. Brent, editors, Complexity of computational problem solving, 126–165. University of Queensland Press, Brisbane, 1976.
[CC90] D. V. Chudnovsky and G. V. Chudnovsky, Computer algebra in the service of mathematical physics and number theory (Computers in mathematics, Stanford, Ca, 1986). In Lect. Notes in Pure and Applied Math. 125, 109–232. Dekker, New-York, 1990. | MR | Zbl
[CK91] D. G. Cantor and E. Kaltofen, On fast multiplication of polynomials over arbitrary algebras. Acta Informatica 28 (1991), 693–701. | MR | Zbl
[DL08] C. Durvye and G. Lecerf, A concise proof of the Kronecker polynomial system solver from scratch. Expositiones Mathematicae 26(2) (2008), 101 – 139. | MR | Zbl
[DS04] S. De Smedt, -adic arithmetic. The Mathematica Journal 9(2) (2004), 349–357.
[FS56] A. Fröhlich and J. C. Shepherdson, Effective procedures in field theory. Philos. Trans. Roy. Soc. London. Ser. A. 248 (1956), 407–432. | MR | Zbl
[Für07] M. Fürer, Faster integer multiplication. In Proceedings of the Thirty-Ninth ACM Symposium on Theory of Computing (STOC 2007), 57–66, San Diego, California, 2007. | MR | Zbl
[G+91] T. Granlund et al, GMP, the GNU multiple precision arithmetic library. Available from http://www.swox.com/gmp, 1991.
[Gat84] J. von zur Gathen, Hensel and Newton methods in valuation rings. Math. Comp., 42(166) (1984), 637–661. | MR | Zbl
[GG03] J. von zur Gathen and J. Gerhard, Modern computer algebra. Cambridge University Press, Cambridge, second edition, 2003. | MR | Zbl
[H+02] J. van der Hoeven et al, Mathemagix. Available from http://www.mathemagix.org, 2002.
[HH09] W. B. Hart and D. Harvey, FLINT 1.5.1: Fast library for number theory. Available from http://www.flintlib.org, 2009.
[Hoe97] J. van der Hoeven, Lazy multiplication of formal power series. In W. W. Küchlin, editor, Proceedings of the 1997 International Symposium on Symbolic and Algebraic Computation (ISSAC 1997), 17–20, Maui, Hawaii, July 1997. | Zbl
[Hoe99] J. van der Hoeven, Fast evaluation of holonomic functions. Theoretical Computer Science, 210 (1999), 199–215. | MR | Zbl
[Hoe01] J. van der Hoeven, Fast evaluation of holonomic functions near and in singularities. J. Symbolic Comput. 31 (2001), 717–743. | MR | Zbl
[Hoe02] J. van der Hoeven, Relax, but don’t be too lazy. J. Symbolic Comput. 34(6) (2002), 479–542. | MR | Zbl
[Hoe07a] J. van der Hoeven, Efficient accelero-summation of holonomic functions. J. Symbolic Comput. 42(4) (2007), 389–428. | MR | Zbl
[Hoe07b] J. van der Hoeven, New algorithms for relaxed multiplication. J. Symbolic Comput., 42(8) (2007), 792–802. | MR | Zbl
[Hoe09] J. van der Hoeven, Relaxed resolution of implicit equations. Technical report, HAL, 2009. | HAL
[Hoe10] J. van der Hoeven, Newton’s method and FFT trading. J. Symbolic Comput. 45(8) (2010), 857–878. | MR | Zbl
[Kat07] S. Katok, -adic analysis compared with real. Student Mathematical Library 37. American Mathematical Society, Providence, RI, 2007. | MR | Zbl
[Kob84] N. Koblitz, -adic numbers, -adic analysis, and zeta-functions. Graduate Texts in Mathematics 58. Springer-Verlag, New York, second edition, 1984. | MR | Zbl
[Lan02] S. Lang, Algebra. Graduate Texts in Mathematics 211. Springer-Verlag, third edition, 2002. | MR | Zbl
[PAR08] The PARI Group, Bordeaux, PARI/GP, version 2.3.5, 2008. Available from http://pari.math.u-bordeaux.fr/.
[S+09] W. A. Stein et al, Sage Mathematics Software (Version 4.2.1). The Sage Development Team, 2009. Available from http://www.sagemath.org.
[SS71] A. Schönhage and V. Strassen, Schnelle Multiplikation grosser Zahlen. Computing 7 (1971), 281–292. | MR | Zbl
[Wan84] P. S. Wang, Implementation of a -adic package for polynomial factorization and other related operations. In EUROSAM 84 (Cambridge, 1984), Lecture Notes in Comput. Sci. 174, 86–99. Springer, Berlin, 1984. | MR | Zbl
Cited by Sources: