Provides optimized functions and flexible combinatorial iterators implemented in C++ with 'Rcpp' for solving problems in combinatorics and computational mathematics. Utilizes parallel programming via 'RcppThread' for maximal performance. Also makes use of the RMatrix class from the 'RcppParallel' library. There are combination/permutation functions with constraint parameters that allow for generation of all results of a vector meeting specific criteria (e.g. generating integer partitions/compositions or finding all combinations such that the sum is between two bounds). Capable of generating specific combinations/permutations (e.g. retrieve only the nth lexicographical result) which sets up nicely for parallelization as well as random sampling. Gmp support permits exploration where the total number of results is large (e.g. comboSample(10000, 500, n = 4)). Additionally, there are several high performance number theoretic functions that are useful for problems common in computational mathematics. Some of these functions make use of the fast integer division library 'libdivide'. The primeSieve function is based on the segmented sieve of Eratosthenes implementation by Kim Walisch. It is also efficient for large numbers by using the cache friendly improvements originally developed by Tomás Oliveira. Finally, there is a prime counting function that implements Legendre's formula based on the work of Kim Walisch.
Version: | 2.4.1 |
Imports: | gmp, Rcpp, methods |
LinkingTo: | Rcpp, RcppThread |
Suggests: | testthat, numbers, microbenchmark, knitr |
Published: | 2020-03-24 |
Author: | Joseph Wood |
Maintainer: | Joseph Wood <jwood000 at gmail.com> |
BugReports: | https://github.com/jwood000/RcppAlgos/issues |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
URL: | https://github.com/jwood000/RcppAlgos, https://gmplib.org/, https://github.com/kimwalisch/primesieve, http://libdivide.com, https://github.com/kimwalisch/primecount, http://ridiculousfish.com/, http://sweet.ua.pt/tos/software/prime_sieve.html |
NeedsCompilation: | yes |
SystemRequirements: | C++11, gmp (>= 4.2.3) |
Materials: | README NEWS |
In views: | NumericalMathematics |
CRAN checks: | RcppAlgos results |
Reference manual: | RcppAlgos.pdf |
Vignettes: |
Constraints, Integer Partitions, and Compositions Combinatorial Sampling Combinatorial Iterators in RcppAlgos Computational Mathematics Overview Combination and Permutation Basics High Performance Benchmarks Attacking Problems Related to the Subset Sum Problem |
Package source: | RcppAlgos_2.4.1.tar.gz |
Windows binaries: | r-devel: RcppAlgos_2.4.1.zip, r-release: RcppAlgos_2.4.1.zip, r-oldrel: RcppAlgos_2.4.1.zip |
macOS binaries: | r-release: RcppAlgos_2.4.1.tgz, r-oldrel: RcppAlgos_2.4.1.tgz |
Old sources: | RcppAlgos archive |
Reverse depends: | SMAD |
Reverse imports: | STraTUS |
Reverse suggests: | RcppBigIntAlgos |
Please use the canonical form https://CRAN.R-project.org/package=RcppAlgos to link to this page.