RcppBigIntAlgos: Factor Big Integers with the Parallel Quadratic Sieve

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.1
Depends: gmp
Imports: Rcpp
LinkingTo: Rcpp, RcppThread
Suggests: testthat, numbers, RcppAlgos
Published: 2021-01-08
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

Documentation:

Reference manual: RcppBigIntAlgos.pdf

Downloads:

Package source: RcppBigIntAlgos_1.0.1.tar.gz
Windows binaries: r-devel: RcppBigIntAlgos_1.0.1.zip, r-release: RcppBigIntAlgos_1.0.1.zip, r-oldrel: RcppBigIntAlgos_1.0.1.zip
macOS binaries: r-release (arm64): RcppBigIntAlgos_1.0.1.tgz, r-oldrel (arm64): RcppBigIntAlgos_1.0.1.tgz, r-release (x86_64): RcppBigIntAlgos_1.0.1.tgz, r-oldrel (x86_64): RcppBigIntAlgos_1.0.1.tgz
Old sources: RcppBigIntAlgos archive

Reverse dependencies:

Reverse suggests: RcppAlgos

Linking:

Please use the canonical form https://CRAN.R-project.org/package=RcppBigIntAlgos to link to this page.