Hostname: page-component-5d59c44645-klj7v Total loading time: 0 Render date: 2024-03-02T03:40:42.663Z Has data issue: false hasContentIssue false

Efficient implementation of the Hardy–Ramanujan–Rademacher formula

Published online by Cambridge University Press:  01 October 2012

Fredrik Johansson*
Affiliation:
Research Institute for Symbolic Computation, Johannes Kepler University, Altenberger Strasse 69, 4040 Linz, Austria (email: fredrik.johansson@risc.jku.at)

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

We describe how the Hardy–Ramanujan–Rademacher formula can be implemented to allow the partition function p(n) to be computed with softly optimal complexity O(n1/2+o(1)) and very little overhead. A new implementation based on these techniques achieves speedups in excess of a factor 500 over previously published software and has been used by the author to calculate p(1019), an exponent twice as large as in previously reported computations. We also investigate performance for multi-evaluation of p(n), where our implementation of the Hardy–Ramanujan–Rademacher formula becomes superior to power series methods on far denser sets of indices than previous implementations. As an application, we determine over 22 billion new congruences for the partition function, extending Weaver’s tabulation of 76 065 congruences. Supplementary materials are available with this article.

Type
Research Article
Copyright
Copyright © London Mathematical Society 2012

References

[1]Ankeny, N., ‘The least quadratic non residue’, Ann. of Math. (2) 55 (1952) no. 1, 6572.Google Scholar
[2]Apostol, T., Modular functions and Dirichlet series in number theory, 2nd edn (Springer, New York, 1997).Google Scholar
[3]Borwein, J. and Bailey, D., Mathematics by experiment: plausible reasoning in the 21st century (A K Peters, Wellesley, MA, 2003) 137.Google Scholar
[4]Borwein, J. and Borwein, P., Experimental and computational mathematics: selected writings (Perfectly Scientific Press, Portland, OR, 2010) 250.Google Scholar
[5]Brent, R. and Zimmermann, P., Modern computer arithmetic (Cambridge University Press, New York, 2011).Google Scholar
[6]Bruinier, J. and Ono, K., ‘Algebraic formulas for the coefficients of half-integral weight harmonic weak Maass forms’, Preprint, 2011, arXiv.org/abs/1104.1182.Google Scholar
[7]Calkin, N., Davis, J., James, K., Perez, E. and Swannack, C., ‘Computing the integer partition function’, Math. Comp. 76 (2007) no. 259, 16191638.Google Scholar
[8]Cipolla, M., ‘Un metodo per la risoluzione della congruenza di secondo grado’, Napoli Rend. 9 (1903) 153163.Google Scholar
[9]Crandall, R. and Pomerance, C., Prime numbers: a computational perspective (Springer, New York, 2005) 99103.Google Scholar
[10]Erdős, P., ‘Remarks on number theory. I’, Mat. Lapok 12 (1961) 1017.Google Scholar
[11]Fousse, A., Hanrot, G., Lefèvre, V., Pélissier, P. and Zimmermann, P., ‘MPFR: A multiple-precision binary floating-point library with correct rounding’, ACM Trans. Math. Software 33, no. 2, 2007, http://www.mpfr.org/.Google Scholar
[12] The GMP development team, ‘Computing billions of π digits using GMP’, http://gmplib.org/pi-with-gmp.html.Google Scholar
[13] The GMP development team, ‘GMP: the GNU multiple precision arithmetic library’, http://gmplib.org/.Google Scholar
[14]Hagis, P. Jr, ‘A root of unity occurring in partition theory’, Proc. Amer. Math. Soc 26 (1970) no. 4, 579582.Google Scholar
[15]Hardy, G. H. and Ramanujan, S., ‘Asymptotic formulae in combinatory analysis’, Proc. Lond. Math. Soc. 17 (1918) 75115.Google Scholar
[16]Hart, W., ‘Fast library for number theory: an introduction’, Mathematical software – ICMS 2010, Lecture Notes in Computer Science 6327, 88–91, http://www.flintlib.org.Google Scholar
[17]Hart, W., ‘A one line factoring algorithm’, J. Aust. Math. Soc. 92 (2012) 6169.Google Scholar
[18]Higham, N., Accuracy and stability of numerical algorithms, 2nd edn (SIAM, Philadelphia, 2002).Google Scholar
[19] Intel corporation, Pentium processor family developer’s manual. Volume 3: architecture and programming manual, 1995, http://www.intel.com/design/pentium/MANUALS/24143004.pdf.Google Scholar
[20]Knuth, D., ‘Notes on generalized Dedekind sums’, Acta Arith. 33 (1977) 297325.Google Scholar
[21]Knuth, D., Fascicle 3: generating all combinations and partitions, The Art of Computer Programming, vol. 4 (Addison-Wesley, 2005).Google Scholar
[22]Lehmer, D., ‘On the series for the partition function’, Trans. Amer. Math. Soc. 43 (1938) no. 2, 271295.Google Scholar
[23]Lehmer, D., ‘On a conjecture of Ramanujan’, J. Lond. Math. Soc. 11 (1936) 114118.Google Scholar
[24]Lehmer, D., ‘On the Hardy–Ramanujan series for the partition function’, J. Lond. Math. Soc. 3 (1937) 171176.Google Scholar
[25] The MPIR development team, ‘MPIR: multiple precision integers and rationals’, http://www.mpir.org.Google Scholar
[26]Odlyzko, A., ‘Asymptotic enumeration methods’, Handbook of combinatorics 2 (eds Graham, R., Grötschel, M. and Lovász, L.; Elsevier, The Netherlands, 1995) 10631229, http://www.dtc.umn.edu/∼odlyzko/doc/asymptotic.enum.pdf.Google Scholar
[27] OEIS Foundation Inc, ‘The on-line encyclopedia of integer sequences’, 2011, http://oeis.org/A000041.Google Scholar
[28]Ono, K., ‘The distribution of the partition function modulo m’, Ann. of Math. (2) 151 (2000) 293307.Google Scholar
[29] The Pari/GP development team, ‘Pari/GP, Bordeaux’, 2011, http://pari.math.u-bordeaux.fr/.Google Scholar
[30]Pollack, P., ‘The average least quadratic nonresidue modulo m and other variations on a theme of Erdős’, J. Number Theory 132 (2012) no. 6, 11851202.Google Scholar
[31]Rademacher, H., ‘On the partition function p(n)’, Proc. Lond. Math. Soc. 43 (1938) 241254.Google Scholar
[32]Rademacher, H. and Whiteman, A., ‘Theorems on Dedekind sums’, Amer. J. Math. 63 (1941) no. 2, 377407.Google Scholar
[33]Shanks, D., ‘Five number-theoretic algorithms’, Proceedings of the Second Manitoba Conference on Numerical Mathematics, 1972, 51–70.Google Scholar
[34]Stein, W. and The Sage development team, , ‘Sage: open source mathematics software’, http://www.sagemath.org.Google Scholar
[35] Sun Microsystems Inc, ‘FDLIBM version 5.3’, http://www.netlib.org/fdlibm/readme.Google Scholar
[36]Tonelli, A., ‘Bemerkung über die Auflösung quadratischer Congruenzen’, Göttinger Nachrichten (1891) 344346.Google Scholar
[37]Watkins, W. and Zeitlin, J., ‘The minimal polynomial of cos (2π/n)’, Amer. Math. Monthly 100 (1993) no. 5, 471474.Google Scholar
[38]Weaver, R., ‘New congruences for the partition function’, J. Ramanujan 5 (2001) 5363.Google Scholar
[39]Whiteman, A., ‘A sum connected with the series for the partition function’, Pacific J. Math. 6 (1956) no. 1, 159176.Google Scholar
[40] Wolfram Research Inc., ’Some notes on internal implementation’, Mathematica documentation center, 2011, http://reference.wolfram.com/mathematica/note/SomeNotesOnInternalImplementation.html .Google Scholar
[41]Zimmermann, P., The bit-burst algorithm, Slides presented at computing by the numbers: algorithms, precision, and complexity, Berlin, 2006, http://www.loria.fr/∼zimmerma/talks/arctan.pdf.Google Scholar