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(); \ 59 EIGEN_LAPACKE_QR_NOPIV(
double,
double, d)
60 EIGEN_LAPACKE_QR_NOPIV(
float,
float, s)
61 EIGEN_LAPACKE_QR_NOPIV(dcomplex, lapack_complex_double, z)
62 EIGEN_LAPACKE_QR_NOPIV(scomplex, lapack_complex_float, c)
68 #endif // EIGEN_QR_LAPACKE_H Namespace containing all symbols from the Eigen library.
Definition: Core:141
Definition: Eigen_Colamd.h:50