Header-Only C++ Mathematical Optimization Library for 'Armadillo'

'Ensmallen' is a templated C++ mathematical optimization library (by the 'MLPACK' team) that provides a simple set of abstractions for writing an objective function to optimize. Provided within are various standard and cutting-edge optimizers that include full-batch gradient descent techniques, small-batch techniques, gradient-free optimizers, and constrained optimization. The 'RcppEnsmallen' package includes the header files from the 'Ensmallen' library and pairs the appropriate header files from 'armadillo' through the 'RcppArmadillo' package. Therefore, users do not need to install 'Ensmallen' nor 'Armadillo' to use 'RcppEnsmallen'. Note that 'Ensmallen' is licensed under 3-Clause BSD, 'Armadillo' starting from 7.800.0 is licensed under Apache License 2, 'RcppArmadillo' (the 'Rcpp' bindings/bridge to 'Armadillo') is licensed under the GNU GPL version 2 or later. Thus, 'RcppEnsmallen' is also licensed under similar terms. Note that 'Ensmallen' requires a compiler that supports 'C++11' and 'Armadillo' 6.500 or later.


Build Status License CRAN Downloads

Overview

Ensmallen is a C++ header-only mathematical optimization library written by developers behind MLPACK that provides a simple set of abstractions for writing an objective function to optimize. Provided within are various standard and cutting-edge optimizers that include full-batch gradient descent techniques, small-batch techniques, gradient-free optimizers, and constrained optimization.

The RcppEnsmallen package includes the header files from the Ensmallen library and pairs the appropriate header files from Armadillo through the RcppArmadillo package. Therefore, users do not need to install Ensmallen nor Armadillo to use RcppEnsmallen.

Status

The package is under active development with releases to CRAN about once a month.

Authors

James Balamuta and Dirk Eddelbuettel

License

GPL (>= 2)

News

RcppEnsmallen 0.1.14.1.1

  • Upgraded to ensmallen release 1.14.1 "Difficult Crimp" (2019-03-09)
    • Fixes for SPSA (#87).
    • Optimized CNE and DE (#90). Changed initial population generation in CNE to be a normal distribution about the given starting point, which should accelerate convergence.
    • Add DE optimizer (#77).
    • Fix for Cholesky decomposition in CMAES (#83).

RcppEnsmallen 0.1.13.0.1

  • Upgraded to ensmallen release 1.13.0 "Coronavirus Invasion" (2019-01-14)
    • Enhance options for AugLagrangian optimizer (#66).
    • Add SPSA optimizer (#69).
    • Fix list of contributors.
    • Make sure all files end with newlines.
  • Reordered SPSA parameters to quiet initialization error surfaced with -Wreorder.

RcppEnsmallen 0.1.12.0.1

  • Upgraded to ensmallen release 1.12.0 "New Year's Party" (2018-12-30)
    • Add link to ensmallen PDF to README.md.
    • Minor documentation fixes. Remove too-verbose documentation from source for each optimizer (#61).
    • Add FTML optimizer (#48).
    • Add SWATS optimizer (#42).
    • Add Padam optimizer (#46).
    • Add Eve optimizer (#45).
    • Add ResetPolicy() to SGD-like optimizers (#60).
  • Updated citation information

RcppEnsmallen 0.1.11.1.1

  • Upgraded to ensmallen release 1.11.1 "Jet Lag" (2018-11-28)
    • Minor documentation fixes.
    • Add WNGrad optimizer.
    • Fix header name in documentation samples.
  • Added citation information

RcppEnsmallen 0.1.10.0.1

New

  • Support for compiling via R the mathematical optimizers in the C++ ensmallen library.
  • Includes ensmallen release 1.10.0 "Corporate Catabolism" (2018-10-19)

Special Thanks

  • The crux of this package has largely been developed by Ensmallen development team that consists of Conrad Sanderson, Ryan Curtin, and the MLPACK developers

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("RcppEnsmallen")

0.1.14.1.1 by James Joseph Balamuta, a month ago


https://github.com/coatless/rcppensmallen, https://github.com/mlpack/ensmallen, http://ensmallen.org/


Report a bug at https://github.com/coatless/rcppensmallen/issues


Browse source code at https://github.com/cran/RcppEnsmallen


Authors: James Joseph Balamuta [aut, cre, cph] , Dirk Eddelbuettel [aut, cph]


Documentation:   PDF Manual  


GPL (>= 2) license


Imports Rcpp

Linking to Rcpp, RcppArmadillo

System requirements: C++11


See at CRAN