Features the multiple polynomial quadratic sieve (MPQS) algorithm for factoring large integers and a vectorized factoring function that returns the complete factorization of an integer. The MPQS is based off of the seminal work of Carl Pomerance (1984) <doi:10.1007/3-540-39757-4_17> along with the modification of multiple polynomials introduced by Peter Montgomery and J. Davis as outlined by Robert D. Silverman (1987) <doi:10.1090/S0025-5718-1987-0866119-8>. Utilizes the C library GMP (GNU Multiple Precision Arithmetic) and 'RcppThread' for factoring integers in parallel. For smaller integers, a simple Elliptic Curve algorithm is attempted followed by a constrained version of Pollard's rho algorithm. The Pollard's rho algorithm is the same algorithm used by the factorize function in the 'gmp' package.
Version: | 1.0.0 |
Depends: | gmp |
Imports: | Rcpp |
LinkingTo: | Rcpp, RcppThread |
Suggests: | testthat, numbers, RcppAlgos |
Published: | 2020-12-12 |
Author: | Joseph Wood [aut, cre], Free Software Foundation, Inc. [cph], Mike Tryczak [ctb] |
Maintainer: | Joseph Wood <jwood000 at gmail.com> |
BugReports: | https://github.com/jwood000/RcppBigIntAlgos/issues |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
URL: | https://github.com/jwood000/RcppBigIntAlgos, https://gmplib.org/, http://mathworld.wolfram.com/QuadraticSieve.html, http://micsymposium.org/mics_2011_proceedings/mics2011_submission_28.pdf, https://www.math.colostate.edu/~hulpke/lectures/m400c/quadsievex.pdf, https://blogs.msdn.microsoft.com/devdev/2006/06/19/factoring-large-numbers-with-quadratic-sieve/ |
NeedsCompilation: | yes |
SystemRequirements: | C++11, gmp (>= 4.2.3) |
Materials: | README NEWS |
In views: | NumericalMathematics |
CRAN checks: | RcppBigIntAlgos results |
Reference manual: | RcppBigIntAlgos.pdf |
Package source: | RcppBigIntAlgos_1.0.0.tar.gz |
Windows binaries: | r-devel: RcppBigIntAlgos_1.0.0.zip, r-release: RcppBigIntAlgos_1.0.0.zip, r-oldrel: RcppBigIntAlgos_1.0.0.zip |
macOS binaries: | r-release: RcppBigIntAlgos_1.0.0.tgz, r-oldrel: RcppBigIntAlgos_1.0.0.tgz |
Old sources: | RcppBigIntAlgos archive |
Please use the canonical form https://CRAN.R-project.org/package=RcppBigIntAlgos to link to this page.