Sono nuovo di zecca per Rcpp. Sto cercando di utilizzare il pacchetto R RcppEigen per ottenere il determinante di una matrice. Il seguente codice è salvato in un file e io uso sourceCpp per usarlo. Non c'è errore di compilazione quando uso sourceCpp. Quando si utilizza getDeterminant(A)
in R, A
è una matrice. Si lamenta sempre del seguente errore.come ottenere il determinante di una matrice usando RcppEigen
"Error: could not find function "getDeterminant""
Tuttavia, il getEigenValues
funziona bene.
Apprezzo molto se qualcuno è felice di aiutarmi con questo. Grazie mille!
#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();
}
vedo! Grazie mille! ! :) – Crystal