#include #include namespace rstpm2 { // Complete Q matrix from a QR decomposition Rcpp::NumericMatrix qr_q(const Rcpp::NumericMatrix& X, double tol) { // Initialize member data and allocate heap memory int n=X.rows(), p=X.cols(), rank=0; Rcpp::NumericMatrix qr(X), y(n,n), q(n,n); int* pivot=(int*)R_alloc(p,sizeof(int)); double* tau=(double*)R_alloc(p,sizeof(double)); double* work=(double*)R_alloc(p*2,sizeof(double)); for(int i=0;i