Я новичок в Rcpp. Я пытаюсь использовать R-пакет RcppEigen для получения определителя матрицы. Следующий код сохраняется в файле, и я использую sourceCpp для его использования. Ошибка компиляции при использовании sourceCpp. При использовании getDeterminant(A)
в R, A
является матрицей. Он всегда жалуется на следующую ошибку.Как получить определитель матрицы с помощью RcppEigen
"Error: could not find function "getDeterminant""
Однако getEigenValues
хорошо работает.
Я ценю много, если кто-то рад помочь мне с этим. Спасибо большое!
#include <RcppEigen.h>
// [[Rcpp::depends(RcppEigen)]]
using Eigen::Map; // 'maps' rather than copies
using Eigen::MatrixXd; // variable size matrix, double precision
using Eigen::VectorXd; // variable size vector, double precision
using Eigen::SelfAdjointEigenSolver; // one of the eigenvalue solvers
using Eigen::MatrixXi;
using Eigen::MatrixBase;
// [[Rcpp::export]]
VectorXd getEigenValues(Map<MatrixXd> M) {
SelfAdjointEigenSolver<MatrixXd> es(M);
return es.eigenvalues();
}
// [[Rcpp:export]]
double getDeterminant(Map<MatrixXd> AA){
return AA.determinant();
}
Я вижу! Спасибо огромное! ! :) – Crystal