https://github.com/cran/GAS
Tip revision: a8fe17c38002b26ca09b18984573c71a54efede6 authored by Leopoldo Catania on 12 June 2017, 21:08:21 UTC
version 0.2.1
version 0.2.1
Tip revision: a8fe17c
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) ;
}