Learn R Programming

RcppLbfgsBlaze (version 0.1.0)

RcppLbfgsBlaze-package: RcppLbfgsBlaze - Rcpp interface to the L-BFGS algorithm with Blaze

Description

RcppLbfgsBlaze constructs a simple interface to the L-BFGS algorithm based on Blaze for R and Rcpp.

Arguments

Using <strong>RcppLbfgsBlaze</strong>

The simplest way to get started is to create a skeleton of a package using RcppLbfgsBlaze.

The important steps are

  1. Include the RcppBlaze.h and lbfgs.h header files.

  2. Import Rcpp. LinkingTo Rcpp, RcppBlaze and RcppLbfgsBlaze by adding these lines to the DESCRIPTION file:

    
      Imports: Rcpp (>= 1.0.0)
      LinkingTo: Rcpp, RcppBlaze (>= 1.0.0), RcppLbfgsBlaze
    
  3. Link against the BLAS and LAPACK libraries, by adding following two lines in the Makevars and Makevars.win files:

    
      PKG_CXXFLAGS=$(SHLIB_OPENMP_CXXFLAGS)
      PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) $(SHLIB_OPENMP_CXXFLAGS)
    

Author

For RcppLbfgsBlaze: Ching-Chuan Chen Maintainer: Ching-Chuan Chen <zw12356@gmail.com>

Details

This package provides an implementation of the L-BFGS algorithm based on Blaze for R and Rcpp. The L-BFGS algorithm is a popular optimization algorithm for unconstrained optimization problems. Blaze is a high-performance C++ math library for dense and sparse arithmetic. The package provides a simple interface to the L-BFGS algorithm and allows users to optimize their objective functions with Blaze vectors and matrices in R and Rcpp.

References

  1. Blaze project: https://bitbucket.org/blaze-lib/blaze.

  2. LBFGS-blaze: https://github.com/ChingChuan-Chen/LBFGS-blaze

  3. LBFGS-Lite: https://github.com/ZJU-FAST-Lab/LBFGS-Lite

  4. liblbfgs: https://github.com/chokkan/liblbfgs

See Also