7

RcppArmadillo を通じてarmadillo ( http://arma.sourceforge.net/docs.html#spsolve )の SparseLU ソルバーを使用しようとしています。

#define ARMA_USE_SUPERLU
// [Rcpp::depends(RcppArmadillo)]
#include <RcppArmadillo.h>

// [[Rcpp::export]]
arma::vec sp_solver(arma::sp_mat K, arma::vec x) {
  arma::superlu_opts opts;
  opts.symmetric = true;
  arma::vec res;
  arma::spsolve(res, K, x, "superlu", opts);
  return res;
}

/*** R
library(Matrix)
K <- sparseMatrix(i = c(1, 2, 1), j = c(1, 2, 2), x = c(1, 1, 0.5), symmetric = TRUE)
x <- runif(2)
sp_solver(K, x)
*/

エラーが発生しますundefined reference to 'superlu_free'。ライブラリへのリンクがいくつか欠けていると思います。この問題を解決する方法はありますか?


私はWindows 10を使用しています。

4

1 に答える 1