'u kullanarak matrisin determinantını nasıl elde ederim Rcpp için yeni bir markayım. Bir matrisin determinantını elde etmek için R paketi RcppEigen'i kullanmaya çalışıyorum. Aşağıdaki kod bir dosyaya kaydedilir ve kullanmak için sourceCpp kullanıyorum. SourceCpp kullandığımda derleme hatası yok. R'de getDeterminant(A)
kullanıldığında, A
bir matristir. Her zaman aşağıdaki hatayı şikayet ediyor.RcppEigen
Ancak, getEigenValues
iyi çalışır.
Bu konuda bana yardımcı olmaktan mutluluk duyanlar için çok teşekkür ederim. Çok teşekkürler!
#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();
}
! Çok teşekkür ederim! ! :) – Crystal