// // Overloaded function for dispatching to // * netlib-compatible LAPACK backend (the default), and // * float value-type. // inline std::ptrdiff_t orgqr( const fortran_int_t m, const fortran_int_t n, const fortran_int_t k, float* a, const fortran_int_t lda, const float* tau, float* work, const fortran_int_t lwork ) { fortran_int_t info(0); LAPACK_SORGQR( &m, &n, &k, a, &lda, tau, work, &lwork, &info ); return info; }
/** * * Generates an M-by-N real matrix Q with orthonormal columns, * which is defined as the first N columns of a product of K elementary * reflectors of order M * Q = H(1) H(2) . . . H(k) * * \warning * \todo * \date 2005 * \author CEA/DRT/DTSI/SARC * \author Q.C. PHAM * **/ inline void orgqr(int const m, int const n, int const k, float* a, int const lda, float* tau, float* work, int const lwork, int& info) { LAPACK_SORGQR (&m, &n, &k, a, &lda, tau, work, &lwork, &info); }