34 #ifndef EIGEN_QR_LAPACKE_H 35 #define EIGEN_QR_LAPACKE_H 43 #define EIGEN_LAPACKE_QR_NOPIV(EIGTYPE, LAPACKE_TYPE, LAPACKE_PREFIX) \ 44 template<typename MatrixQR, typename HCoeffs> \ 45 struct householder_qr_inplace_blocked<MatrixQR, HCoeffs, EIGTYPE, true> \ 47 static void run(MatrixQR& mat, HCoeffs& hCoeffs, Index = 32, \ 48 typename MatrixQR::Scalar* = 0) \ 50 lapack_int m = (lapack_int) mat.rows(); \ 51 lapack_int n = (lapack_int) mat.cols(); \ 52 lapack_int lda = (lapack_int) mat.outerStride(); \ 53 lapack_int matrix_order = (MatrixQR::IsRowMajor) ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \ 54 LAPACKE_##LAPACKE_PREFIX##geqrf( matrix_order, m, n, (LAPACKE_TYPE*)mat.data(), lda, (LAPACKE_TYPE*)hCoeffs.data()); \ 55 hCoeffs.adjointInPlace(); \ 68 #endif // EIGEN_QR_LAPACKE_H #define lapack_complex_float
std::complex< float > scomplex
std::complex< double > dcomplex
#define EIGEN_LAPACKE_QR_NOPIV(EIGTYPE, LAPACKE_TYPE, LAPACKE_PREFIX)
#define lapack_complex_double