Auto-derivative 在 rcpparmadillo 中发挥作用?

Auto-derivative functions in rcpparmadillio?

我想用Rcpp计算函数f的导数。我刚刚在中找到了一些资源 https://cran.r-project.org/web/packages/StanHeaders/vignettes/stanmath.html,它使用 stan headers 和 rcppEigen。由于我所有的程序都是由 rcpparmadillio 编码的,我想知道如何通过 rcpparmadillio 和 stan header(可能是其他 AD 包)访问 auto-derivative 函数。

 #include <RcppArmadillo.h>

// [[Rcpp::plugins("cpp11")]]
// [[Rcpp::depends(RcppArmadillo)]]
#include <RcppArmadilloExtensions/sample.h>
using namespace Rcpp;
using namespace arma;
using namespace std;


/* function */
// [[Rcpp::export]]
doule f(arma::rowvec x){
 arma::mat yy=x.t()*x;
 double res=arma::sun(x);
 rerutn(res);
}

(当前非常新)tsetsad package does this for the context of ETS ("smoothing") time series models, relying on facilities of package TMB. This is then used by package tsets which itself uses RcppArmadillo

所有这些都是相当新的,我自己还没有机会四处闲逛 -- 但它提供了一个非常令人兴奋的 工作 演示。