On 6 December 2012 at 12:33, Douglas Bates wrote:
| // [[Rcpp::depends(RcppEigen)]]
| #include <RcppEigen.h>
| 
| typedef Eigen::MatrixXd                 Mat;
| typedef Eigen::Map<Mat>                MMat;
| typedef Eigen::HouseholderQR<Mat>        QR;
| typedef Eigen::VectorXd                 Vec;
| typedef Eigen::Map<Vec>                MVec;
| 
| // [[Rcpp::export]]
| 
| Rcpp::List wtls(const MMat X, const MVec y, const MVec sqrtwts) {
|     return Rcpp::List::create(Rcpp::Named("betahat") =
|                             
QR(sqrtwts.asDiagonal()*X).solve(sqrtwts.asDiagonal()*y));
| }

That is a thing of beauty.  Nicely done, Doug!

Dirk

-- 
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com  
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to