https://github.com/cran/GAS
Tip revision: e588e3a10bf22cb7dff4a49a848baac63d743c3f authored by Leopoldo Catania on 04 February 2022, 09:30:12 UTC
version 0.3.4
version 0.3.4
Tip revision: e588e3a
SafeFun.cpp
#include <RcppArmadillo.h>
#include "Utils.h"
using namespace Rcpp;
using namespace arma;
double lgammafn_safe(double dX){
dX = InfRemover(dX, 1e50);
double dOut = Rf_lgammafn(dX);
return dOut;
}
arma::mat chol_safe(arma::mat mX){
arma::vec vEigval = eig_sym( mX );
double dMinEigen = min(vEigval);
if(dMinEigen<1e-15){
mX.diag() = mX.diag() + abs3(dMinEigen) + 1e-10;
}
return chol(mX) ;
}