29 #include <o2scl/err_hnd.h>
30 #include <o2scl/permutation.h>
31 #include <o2scl/cblas.h>
32 #include <o2scl/householder.h>
33 #include <o2scl/givens.h>
37 #define O2SCL_IX(V,i) V[i]
38 #define O2SCL_IX2(M,i,j) M(i,j)
40 #include <o2scl/qr_base.h>
49 #define O2SCL_IX(V,i) V[i]
50 #define O2SCL_IX2(M,i,j) M[i][j]
52 #include <o2scl/qr_base.h>
59 #if defined (O2SCL_COND_FLAG) || defined (DOXYGEN)
61 #if defined (O2SCL_ARMA) || defined (DOXYGEN)
68 void QR_decomp_unpack<arma::mat,arma::mat,arma::mat>
69 (
const size_t M,
const size_t N, arma::mat &A, arma::mat &Q,
75 #if defined (O2SCL_EIGEN) || defined (DOXYGEN)
76 #include <eigen3/Eigen/Dense>
82 void QR_decomp_unpack<Eigen::MatrixXd,Eigen::MatrixXd,Eigen::MatrixXd>
83 (
const size_t M,
const size_t N, Eigen::MatrixXd &A,
84 Eigen::MatrixXd &Q, Eigen::MatrixXd &R);
90 #include <o2scl/qr_special.h>