Intel® oneAPI Math Kernel Library Developer Reference - C
Generates the real matrix Q of the RQ factorization formed by ?gerqf.
lapack_int LAPACKE_sorgrq (int matrix_layout, lapack_int m, lapack_int n, lapack_int k, float* a, lapack_int lda, const float* tau);
lapack_int LAPACKE_dorgrq (int matrix_layout, lapack_int m, lapack_int n, lapack_int k, double* a, lapack_int lda, const double* tau);
The routine generates an m-by-n real matrix with orthonormal rows, which is defined as the last m rows of a product of k elementary reflectors H(i) of order n: Q = H(1)* H(2)*...*H(k)as returned by the routines gerqf. Use this routine after a call to sgerqf/dgerqf.
Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
The number of rows of the matrix Q (m≥ 0).
The number of columns of the matrix Q (n≥ m).
The number of elementary reflectors whose product defines the matrix Q (m≥ k≥ 0).
Arrays: a(size max(1, lda*n) for column major layout and max(1, lda*m) for row major layout), tau.
On entry, the (m - k + i)-th row of a must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by sgerqf/dgerqf in the last k rows of its array argument a;
tau[i - 1] must contain the scalar factor of the elementary reflector H(i), as returned by sgerqf/dgerqf;
The size of tau must be at least max(1, k).
The leading dimension of a; at least max(1, m)for column major layout and max(1, n) for row major layout.
Overwritten by the last m rows of the n-by-n orthogonal matrix Q.
This function returns a value info.
If info=0, the execution is successful.
If info = -i, the i-th parameter had an illegal value.
The complex counterpart of this routine is ungrq.