我想计算表格的函数:
$m_{jl}(x) = x + \gamma[j]*zeta[j,l] + sum_{k \neq j} zeta[j,k]$
使用Rcpp
。我的问题是关于sum_{k \neq j} zeta[j,k]$
..我希望能够做一些事情zeta[j,-j]
。可能吗?我尝试了zeta(j,-)-zeta(j,j)
,但Rcpp
不喜欢zeta(j,-)
。
答案 0 :(得分:2)
你可以使用糖功能:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double myFun(NumericMatrix x) {
return sum(x)-sum(diag(x));
}
R:
A <- matrix(1:9,3)
sum(A)-sum(diag(A))
#[1] 26
myFun(A)
#[1] 26
我怀疑使用RcppEigen可以更快。