Jestem nowy dla Rcpp. Próbuję użyć pakietu R RpppEigen, aby uzyskać wyznacznik macierzy. Poniższy kod jest zapisany w pliku i używam sourceCpp, aby go użyć. Nie ma błędu kompilacji podczas korzystania z sourceCpp. Podczas korzystania z getDeterminant(A)
w R, A
jest macierz. Zawsze narzeka na następujący błąd.jak uzyskać wyznacznik macierzy za pomocą RcppEigen
"Error: could not find function "getDeterminant""
Jednak getEigenValues
działa dobrze.
Bardzo doceniam, jeśli ktoś z przyjemnością mi w tym pomoże. Wielkie dzięki!
#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();
}
widzę! Dziękuję bardzo! ! :) – Crystal