RcppLbfgsBlaze-package {RcppLbfgsBlaze}R Documentation

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.

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.

Using RcppLbfgsBlaze

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(s)

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

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

Useful links:


[Package RcppLbfgsBlaze version 0.1.0 Index]